Confluence Retirement

Due to the feedback from stakeholders and our commitment to not adversely impact USGS science activities that Confluence supports, we are extending the migration deadline to January 2023.

In an effort to consolidate USGS hosted Wikis, myUSGS’ Confluence service is targeted for retirement. The official USGS Wiki and collaboration space is now SharePoint. Please migrate existing spaces and content to the SharePoint platform and remove it from Confluence at your earliest convenience. If you need any additional information or have any concerns about this change, please contact myusgs@usgs.gov. Thank you for your prompt attention to this matter.
Skip to end of metadata
Go to start of metadata

TNM Mashup Save Map User Stories
User Story Types :

Mashup - As noted in the TNM UC 2011 Mashathon , "A data mashup is something built using multiple data source and can be in any form: a map, a viewer, an application, a mobile tool - you name it. "

There are multiple scenarios that increase in complexity for the level of mashup support

TypePurposeViewer SupportChangesContext
LinkUser is working in one viewer and wants to save minor session changes to map contextOneMinorMap
MashupUser is working in one viewer and wants to save major session changes including adding multiple custom servicesOneMajorMap
InstanceUser is working in multiple viewer and wants to save major session changes including adding multiple custom services that can be opened in another viewerManyMajorMap
CatalogUser wants make the map context session results discoverable and re-usable for others in a catalog to find, re-use, and build uponManyMajorMap
ApplicationUser wants make the application context session results discoverable and re-usable for others in a catalog to find, re-use, and build upon (i.e. various tools setup in viewer can be made available for other viewers)ManyMajorApp

Map Link – is a map mashup where the session is saved in the URI, and a user can save the session as link, but is limited by the amount that can be saved in the URI/Link. Opening the link or file where file may be on the server or over http reference

TypeTitleEpic DescriptionLeadStatus
User Story Link1Save Mashup with no User-added Service

User - (TNM Viewer default capability) User zooms in to spot or goes to search box and searches on item, user wants to save bookmark link, copies it (which includes what zoom or searched on the user added in the URI), user opens it later, and the zoom, level)

NGPLive in TNM Viewer since Nov. 2009
User Story Link2Save Mashup with Single User-added ServiceGNIS – User searches gnis.usgs.gov for a point/feature, finds it, opens the detail page, and wants to see in a viewer, clicks on link ad-hoc generated with point x y and zoom scale, auto-opens TNM Viewer to that point.NGPLive in GNIS and TNM Viewer since 2010
User Story Link3Open a Google Maps URL in another viewerUser is in Google Maps, and has zoomed in to a specific location. User wants to copy the URL, paste into viewer search box, and go to same location and zoom. Given the proliferation of Google Maps URL, a user may want to go to same spot in another viewer easily to perform a download, webGIS, or other function that available in Google Maps without having to re-navigateNGPLive in TNM Viewer since late 2011 - not documented though, nor advertised. That needs to be next step

 

Save Mashup with Single User-added Service, open in same viewer

Viewer Map Mashup - is a map mashup where the session is saved in the URI, and works only in that viewer. NGP has gone live with this as of November 2009

TypeTitleEpic DescriptionLeadStatus
User Story Mashup1Open Mashup Instance with Single User-added Service (REST service)user in sciencebase, has a service, wants to preview it in TNM viewer, user clicks on a new "open in TNM Viewer" link on sciencebase detailed page which has an ad-hoc link and URI generation capability, and auto-opens the tnm viewer, zoomed to scale/spot with mrdata WMS turned on.NGPLive since 2011 in TNM Viewer and Sciencebase
User Story Mashup2Open Mashup Instance with Single User-added Service which (WMS)

User is in mrdata, wants to show a mrdata wms in tnm viewer, user clicks on a new "open in TNM Viewer" link on mrdata site (which was auto-generated by mrdata site generation capability) which tells the URI call to TNM what the WMS is, and auto-opens the tnm viewer, zoomed to scale/spot with mrdata WMS turned on

NGPLive since 2010 in TNM Viewer
User Story Mashup3CBI and CSI working out new direction for Biology and Core Science System Catalogsuser in nbii portal... same as mrdata Mashup2 user story, just in NBII Portal (legacy or new)CSASCANCELLED
User Story Mashup4Saved Mashup with Single User-added Service, and re-open for later

User - User zooms in to spot, goes to search box and pastes a working WMS call (or prefixes with wms:), hits search, and services is auto-added to the user-added content, user wants to save bookmark link, copies it (which includes what service the user added in the URI), user opens it later, and the zoom, level and single added service auto-opens

NGPLive since 2010 in TNM Viewer
User Story Mashup5Save Mashup with Single User-added Service and re-open in another application like data.govSimilar to Mashup1 but in data.govNoneTBD, this was deferred until was re-raised again in the CSS ET effort. Schedule is TBD.
User Story Mashup6Saved Mashup with Single User-added Service with projection error handlingUser - (USGS enhancement) Same as User Story 4, but user adds a WMS that only support geographic, TNM sees it doesnt support the primary projection, TNM server-side reprojects, and rest is the same.NGPLive since 2010 in TNM Viewer

Instance, context works in same viewer or any other viewer supporting same standard

Viewer Map Instance – is a mashup that is saved in a file and can be opened in that or other viewers. This where the team is trying to focus the CDI efforts.

TypeTitleEpic DescriptionLeadStatus
User Story Instance1Save Mashup Instance with multiple User-added Service

User - adds more than 1 URL, wants to save map (as JSON) and open in TNM Viewer or other JSON read viewers (Flex, ESRI JS API). Other viewers could read it, but those viewers would need to build for loop logic like TNM Viewer did to read it. They are already doing it on their own standard.

NGPLive in viewer.nationalmap.gov provided via separate hosted code since March 2012, but still in beta. No documentation yet - http://viewer.nationalmap.gov/help/4.0%20TNM%20Map%20Display.htm#section4.5
User Story Instance2 Save Mashup Instance with multiple User-added Service, and call API with context another serverUser - adds more than 1 URL, wants to save map and open in using TNM Viewer API, but host the config and home page on separate server and their own URL. See "User Stories" for User Story Instance2 below for moreNGPTBD - Status needs to be confirmed by NGTOC to verify can handle the Stories noted below
User Story Instance3Save Mashup Instance with multiple User-added ServiceUser - adds more than 1 URL, wants to save map as KMLNGP

Live in viewer.nationalmap.gov provided via separate hosted code.

These new output formats are experimental and provided as-is. We are releasing to allow users to test and comment. Further improvements and examples will be forthcoming.

User Story Instance4Save Mashup Instance with multiple User-added ServiceUser - adds more than 1 URL, wants to save map as MXD and open in ArcMapNGP

Please note, this story was and still is one of the 2009 original CDI goals!

This is one step closer as we are outputting in ESRI GeoServices JSON, but not yet in ArcMap MXD. The capability requires ArcGIS 10.1 and new ArcPy module that can take the ESRI GeoServices JSON and save as MXD, but the NGTOC team is still scheduling work for that.

From Marten Hogeweg at ESRI: This is the WMC opener I just mentioned for ArcGIS Desktop. https://github.com/Esri/geoportal-server/tree/master/components/desktop/WMCOpener
it is open source under Apache 2.0 license.

User Story Instance5Save Mashup Instance with multiple User-added Service in OGC ContextUser - adds more than 1 URL, wants to save map as OGC Beta of the OWS Context in JSONNGP/OGCSee FY13 SaveAs-OpenIn Scope and Plan for OGC Beta Test
User Story Instance6Save Mashup Instance with multiple User-added Service in ESRI GeoServices ContextUser - adds more than 1 URL, wants to save map as ESRI GeoServices JSON and possibly open in ESRI Flex, ArcGIS.com, etc.NGP/OGCSame status as KML

User Stories for User Story Instance2

In this Story, Rob Dollison wants to focus on the following story points:

2a. Oregon/NASA Test - Rob Dollison has a point of contact that wants to save a starting JSON, put on their server, make some simple modifications like add a few services, then they will call the TNM Viewer API from a htm page on their server with a JSON on their server and when a user calls their Viewer instance, the JSON is opened with security checked. Rob wants to investigate estimation not having an uploader pattern in this case, but instead have a background service that takes the url with ?p=http://www.othersite.gov/*.json, notices its external, handles calling the uploader function, validates its OK, makes the temp GUID JSON file, passes that the Viewer API and continues loading. It would do this for each session load where the file appears to be unchanged. He wants to avoid having the user manually upload the file when they make mods to test. He also was concerned that if we host files, are we backing them up if COOP happens. He wants to be able to have the person test this approach (i.e. from tnmbeta.cr.usgs.gov) before we go live with a service. Rob D can provide you the contact information, and it may make sense to continue to use Calvin Meyer as point person with the individual.

2a.1 - To be explicit the validation before uploading and making a temp file needs to check 4 things: Valid JSON, Valid JSON Schema, Security Injections, and finally UNC (file pathhandling).

2b. Kathy Isham/NHD - Has a point of contact who wants to do same as #1. We should discuss with her that point of contacts story.

2c. A user saves a session, and wants to re-open it from their machine, not an HTTP. This is a good example for an uploader or for putting in URL. Same type of situation: Rob wants to investigate estimation not JUST having an uploader pattern in this case, but instead have a background service that takes the FILE url ?p=file:\\\c\temp\etc*.json (file://ctempetc*.json/), notices its FILE, handles calling the uploader function, validates its OK, makes the temp GUID JSON file, passes that the Viewer API and continues loading.

For there "inline" pattern as I'll call them, Rob would just like the estimate at this point to determine if worth pushing for this now, or FY13 and continue with 2-step approach for now.

Cataloging Mashups

Catalog – place where a saved link or instance can be found, not just a single service or dataset as traditionally used for catalog. Discovering mashups, links, instances, app contexts in catalogs

TypeTitleEpic DescriptionLeadStatus
User Story Catalog1Discovering mashups, links, instances, app contexts in catalogsMaking contexts harvestable in catalogsCSS, Sciencebase, NGP, Dollison  Schedule: TBD – discussing at catalog strategy meetingsBristol - Implementing harvesting contexts and deciding on metadata requirements, but need to at least explore the impact, and potential data management approaches
User Story Catalog2Discovering mashups, links, instances, app contexts in catalogsOther Developers want to share/use Context standard that TNM as JSON, KML, and MXD is usingLead: None, Coordinate via ScienceBaseSchedule is TBD – not discussed; essentially this is taking the OGC OWS Context Profile concept, but using NGA Px3 initial standard, getting some working examples, then will consider how impacts standards. As far as we can tell

Application Mashups

Application Mashup - is a mashup that can save the links to various tools in various viewers. This is a bit beyond the current application integration environment given how the various APIs have different standards for interacting with functions and service calls.

TypeTitleEpic DescriptionLeadStatus
User Story App1Save Mashup Apps with multiple User-added Service and Functions (low priority)Users want to save Web Contexts to include the Functions WidgetsNoneno action, discussed at CDI Aug ’10 Schedule: Defer. Not recommending making Functions used in context easily to save and copy down. We do not believe technology direction is clear and ready to do it, but we recommend considering sharing/uploading function ZIPs/WARs, tagging as Product Readiness, and which APIs it supports

All Stories

  • - user searches a catalog such as sciencebase
  • - user finds a a dataset which has service-enabled layers
  • - user hits add layer to viewer "shopping cart" or context builder, and keep searching
    • in the background, it begins saving a context file logging each layer reference being added and order
  • - user keeps clicking "add layer to view cart" as he/she finds a few more
    • background, keeps adding to the cart/context
  • - user either is done for now, or want to preview what he/she has so far, so he/she hits preview or checks out
  • user has a choice of popular viewers to open the context in
    • since the context is can be saved as multiple standards (Px3 JSON, ESRI JSON, OGC OWS JSON, KML, etc.), 
  • user chooses a viewer and the viewer opens
    • as it opens, the layers chosen, with a default basemap and starting location and zoom level appear
  • user navigates around zooming in and changing location
  • user either goes back to catalog and goes to add a few more layers OR goes to another source and gets more layers
    • The viewer is now controlling the context, recognizes the new layers being added and adds to the list
  • user then is done viewing, and wants to save for later
    • the viewer uses the same save as function and does so
  • user in the viewer or the catalog can be asked to save as and register the context for public or community search for others to build on
    • the saved files then gets registered in the catalog
  • another user finds that context, and opens it in the same viewer or different viewer
    • user makes a copy and refines or contact context author, using catalog registration contact info, to collaborate on editing
  • or original user comes back to edit again
  • or other users save down the context as another flavor and opens in another viewer or heavy client to continue more work
  • No labels