Code Monkey home page Code Monkey logo

storymap-journal's Introduction

Note: Classic Esri Story Maps templates are in extended support on ArcGIS Online as of September 2021 and mature support on ArcGIS Enterprise 10.9.1. For the latest information on the transition from classic Esri Story Maps to ArcGIS StoryMaps, click here.

Story Map Journal

The Story Map Journal is ideal when you want to combine narrative text with maps and other embedded content. A Map Journal contains entries, or sections, that users simply scroll through. Each section in a Map Journal has an associated map, image, video or web page. Actions can also be defined in journal sections so that, for example, clicking a word automatically zooms the section’s map to a particular location.

App

View it live | Map Journal page on Esri Story Maps website | Download

This release is version 1.31.0, which corresponds to the June 2022 release of ArcGIS Online and the 11.0 release of Enterprise. If you want to be informed of new releases, we recommend you to watch this repository (see GitHub help). See the release page for release notes.

For more infomation about using and customizing Esri's Storytelling Apps follow the Story Maps Developers' Corner.

Help content

Introduction

A Map Journal application can be created from ArcGIS Online, from the Esri Story Maps website or from an ArcGIS Enterprise portal. The Journal's data are stored in a Web Application Item. This repository provides the application source code for developers who want to customize Map Journal.

For more information about Map Journal, including a gallery of examples and a step-by-step tutorial, please see the Map Journal page on the Esri Story Maps website.

Instructions

First create your Map Journal in ArcGIS using the step-by-step tutorial. Once your story is ready, you have to find its ID in ArcGIS. The ID is a 32 character string that you will find in your web browser's address bar when you are viewing your journal.

App ID

  1. Download the application
  2. Deploy the application on your webserver. See FAQ for details
  3. Edit index.html, find the configuration section on line 38 and paste in your application ID
  4. Navigate to index.html (e.g., http://127.0.0.1/MapJournal/index.html)

You can continue to use the builder in ArcGIS to modify your story.

See customize the look and feel section or developer guide if you want to modify the app.

If you are using ArcGIS Enterprise, please follow the instructions at the end of app/config.js to configure the application. Optionally you can also configure the application to use the ArcGIS API for JavaScript included in your Enterprise portal.

Feedback / support

We would love to hear from you!

When you contact us, don't hesitate to include a link to your application to make it easier for us to understand what you are working on.

FAQ

What should I check before publishing a Journal?

We recommend that you perform the following checks before sharing your Journal with your audience:

  • Check that all your Journal's content is shared with your audience (web maps, medias, ...). Typically you can use another computer than the one you have used to build your story to make sure everything is loading properly. Alternatively this article will show you how to configure your browser for an incognito session or you can just sign-out from ArcGIS and any service that you have used to host your Journal's resources.
  • Try the application on different browsers, screen resolutions and mobile devices. You can emulate mobile devices inside your desktop browser.

What are the supported browsers?

Map Journal is supported on Internet Explorer 11 and above, Chrome, Firefox, Safari, and the most recent tablet and smartphone devices. Map Journal authoring is supported on the same desktop browsers listed above and on the most recent tablet but not smartphone devices.

We actively test the application in all major browsers but if you experience difficulties especially with the builder, we recommend that you use Chrome.

Tips for your content

Link between sections

One popular request is to add the ability to navigate between a Journal's sections using links in the panel or through map features popup. As of September 2016, this ability is now available in the builder.

To add a link to another section in the narrative panel, highlight the text for which you want to create the link and use the Naviage to a section action in the toolbar. See this blog for more information.

You can also add this capability to map feature popups. This can, for example, allow the home section map to be the spatial index to your story. To do that you need to download the application and include a piece of code in app/custom-scripts.js. Modify that file as shown below. Follow the instructions to configure the web map and the layer that will receive the click event.

define(["dojo/topic"], function(topic) {
  /*
   * Custom Javascript to be executed while the application is initializing goes here
   */

  // The application is ready
  topic.subscribe("tpl-ready", function(){
    /*
     * Custom Javascript to be executed when the application is ready goes here
     */
  });

  /*
   * Set up a click handler on the feature of the map to navigate the story
   */

  //
  // *************************************
  // Configure the web map id and layer id
  // *************************************
  //
  // First find the web map id through the URL when you open the map in Map Viewer
  // To get the layer id, paste the web map id below and open the application,
  //   then open the developer console, all the layers ids will be listed,
  //   find the correct one and paste it below
  // After this setup, clicking the 3rd feature of your layer, will navigate to the third entry
  //
  var WEBMAP_ID = "0bb11c0469f042b3afaf8b0d76572822",
    LAYER_ID = "csv_7673_0";

  var clickHandlerIsSetup = false;

  topic.subscribe("story-loaded-map", function(result){
    if ( result.id == WEBMAP_ID && ! clickHandlerIsSetup ) {
      var map = app.maps[result.id].response.map,
        layer = map.getLayer(LAYER_ID);

      console.log(map.graphicsLayerIds);

      if ( layer ) {
        layer.on("mouse-over", function(e){
          map.setMapCursor("pointer");
          map.infoWindow.setContent("<b>"+e.graphic.attributes.name.split(",")[0]+"</b><br/><i>Click to zoom</i>");
          map.infoWindow.show(e.graphic.geometry);
        });

        layer.on("mouse-out", function(e){
          map.setMapCursor("default");
          map.infoWindow.hide();
        });

        layer.on("click", function(e){
          var index = e.graphic.attributes["__OBJECTID"];
          topic.publish("story-navigate-section", index);
        });
      }

      clickHandlerIsSetup = true;
    }
  });
});

Security

Can I keep my Journal private?

Yes, the regular ArcGIS security model applies. By default your Journal is private, you can share it through Map Journal builder or ArcGIS. When you share your Journal, it is your responsibility to make sure that all the resources of your Journal (web maps, images, videos) are accessible to your audience.

Who can edit my Journal?

A Journal can be edited by its owner (the named account that initially created the Journal), a member in the Administrator role (does not apply for public account), or a member with the administrative Content > Update privilege. You can also use a group with update capabilities to collaborate on a story map. See this FAQ for more information.

Can I use private web maps or layers?

Yes.

When the Journal is hosted in ArcGIS Online or ArcGIS Enterprise, users who don't have access to the Journal or a web map used in the Journal will be redirected to the ArcGIS sign-in page. It is not possible to display an authentication dialog in the Map Journal when the Journal is hosted in ArcGIS.

When the Journal is hosted on your web server, an authentication dialog will appear inside the application.

Note that for that authentication to work on some older browser (Internet Explorer 9) you need to install a proxy server on your web server to make sure the login credentials can be passed securely to ArcGIS Online. For more information, see the Using the proxy in the ArcGIS API for JavaScript documentation.

Because of that limitation, we recommend that you configure the application to use OAuth. OAuth 2.0 based authentication is available for ArcGIS Online users with developer or organizational accounts and ArcGIS Enterprise users. Follow the procedure to add an application and register an application to get an OAuth application ID. Once you have that application, open index.html, locate the configOptions section and fill the oAuthAppId property.

If you are using secured services but don't want users to have to authenticate, you can use a proxy to store the username/password to be used. See Working with Proxy Services, and add proxy rules to specify what services need to use the proxy by editing PROXY_RULES in app/config.js.

Deployment

Deploying a Map Journal requires use of ArcGIS Online or ArcGIS Enterprise. The Journal content must be created using the Map Journal builder and will live in a Web Application Item.

Can I use the template without ArcGIS Online or ArcGIS Enterprise?

This is not a supported use case at this time. Please let us know if you are interested in such a scenario.

Where is the data stored?

The Journal's data are stored in a Web Application Item in ArcGIS Online or an ArcGIS Enterprise portal. This includes the narrative content, reference to any media used (web maps, pictures, videos, web pages), and app-wide settings.

The images and videos that you include in your Journal using the builder are not copied into ArcGIS unless you upload them through the "Upload" option. You have to make sure that any external media and web maps you are using are, and will remain, accessible to your audience.

Can I deploy Map Journal using ArcGIS Enterprise?

Yes, Map Journal is included with Portal for ArcGIS 10.3 up to the current version of ArcGIS Enterprise.

If you are using Portal for ArcGIS 10.3 or later and want to update Map Journal, download the latest version. If you are using Portal 10.2.1 or 10.2.2, you can't deploy the latest version of Map Journal and have to deploy the following version Map Journal V1.0.2 - portal.

Then:

  • Find your Portal apps/MapJournal folder (depending on your installation and version of Portal, this is either C:\Program Files\ArcGIS\Portal\apps\MapSeries or C:\Program Files\ArcGIS\Portal\webapps\arcgis#home\webmap\templates\MapJournal).
  • Remove the content of that folder
  • Extract the archive so that index.html is located at MapJournal\index.html

If Map Journal was already included in your portal, you are done (Portal for ArcGIS 10.3+).

If Map Journal was not available in your portal:

  • Log into Portal for ArcGIS and open My Content > Add Item > Application > Web Mapping Application > Configurable. Configure the URL to https://portal.domain.com/arcgis/apps/MapJournal. More details in the following documentation publishing a new web application item.
  • Create a new group that will reference the template available in your Portal
  • Share the newly created item with that group
  • Open My Organization > Edit Settings > Map and set the Web App Templates to the newly created group. More details in the following documentation configuring the web application gallery
  • Now when you share a web map, the template should be an option

Note that the archive you downloaded is using the ArcGIS API for JavaScript hosted in ArcGIS Online. This can create some incompatibility with your ArcGIS Enterprise installation. If you run into issue, please see the next section to update it.

Also note that the web application gallery preview feature redirects to the StoryMaps website. The target page can be modified in app/config.js > HELP_URL_PORTAL.

Can the template be used offline?

Yes, by using ArcGIS Enterprise and configuring the template to use the ArcGIS API for Javascript included with the Enterprise portal.

To edit the ArcGIS API for JavaScript, edit index.html and locate pathJSAPI around line 69. The URL is //webadaptor.domain.com/arcgis/jsapi/jsapi where arcgis is the name of your Web Adaptor.

When deployed on an ArcGIS Enterprise portal, the application doesn't require any external services to function. But, by default, the template will still include the header social buttons (Twitter, Facebook), and Journal authors are able to import pictures and videos from online hosting services. These options can be disabled individually through the configuration file app/config.js.

Can I use the builder if I host the app on my own web server?

Yes, when the template is configured with an application ID, adding the URL parameter 'edit' will open the builder. You will be prompted for user authentication through the Identity Manager.

How do I deploy the application on a web server?

If you are not familiar with web servers, here are two solutions:

  • Use the web server that comes with your server Operating System. On Windows this is Internet Information Services (IIS); if you have a C:\inetpub\wwwroot folder on your computer, you should be able to access it's content using http://localhost
  • On Windows or Mac OS, use a simple web server like Mongoose (not recommended for production)

If you are experiencing some rendering issues like improper symbol appearing instead of icons, you will have extra configuration to perform. Some servers require the configuration of a new mime type to be able to serve Map Journal fonts correctly. See the following links for more information:

Can I use a single deployment of Map Journal for multiple stories?

Yes. If you have customized the application and deployed it on your server, you don't need to copy it multiple times, edit index.html and paste a different application ID for each story you want to publish.

Instead edit index.html, locate the configOptions section and fill the authorizedOwners property with the ArcGIS Online or ArcGIS Enterprise portal login of the owner(s) of the Journals you want to use. This makes it possible for the application to display any of the Journals created by the specified user(s) through an URL parameter.

Example of the same application displaying two stories:

Configuration

In addition to the configuration offered by the builder, the file app/config.js provides various additional settings. This is for example the place where you can override some settings like the list of Geocoder services to be used (changes override ArcGIS Online or your Organization default settings). See the documentation provided in that file for more details.

Customize the look and feel

Custom color theme

As Map Journal doesn't yet offer the ability to create a custom theme through the builder, customizing the various colors of the application requires changing the data of your app. See our blog post about customizing theme colors.

You could also download and configure colors through app/config.js. For example if you are using a Side Panel layout and have kept the default theme, open app/config.js, locate the LAYOUT property and edit the following line with the desired colors.

themes: [
  {name: "side-default-1", dotNav: "#777777", panel: "#FFFFFF", media: "#EEEEEE", text: "#000000", textLink: "#555", esriLogo: "black"},
  ...
  ]

Other customization

Most of the look and feel customization can be done using the regular Application Download and including the css/html overrides directly into index.html.

As the application Javascript and CSS are minified, we don't recommend that you directely edit those files (e.g. app-viewer-min.css, app-viewer-min.js, ...). In addition to being hard to edit, this will make application updates complex for you.

If you want to change the behavior of one functionality or want to add a new one, follow the developer guide below.

The easiest way to find the ID or path of a DOM element that you want to customize is to use your browser's developer tools -- read the documentation for Chrome, Safari, Firefox.

Here is a customization example that can achieved through the style tag already present for you in index.html (search for /* CUSTOM CSS RULES */):

Use an image as the background of the Side or Floating panel header

...
<body class="claro">
  <style>
    /* CUSTOM CSS RULES */
    .sectionPanel .header {
      background: url('http://www.esri.com/~/media/banner-map1.jpg');
    }

    .sectionPanel .appTitle {
      background: url('http://www.esri.com/~/media/banner-map1.jpg');
      background-position: 0 -50px;
    }
  </style>
...

Developer guide

This developer guide is intended for developers who want to modify the behavior or add new functionalities to the Map Journal application. It requires knowledge of HTML, Javascript and CSS languages. If you only need to customize the look and feel of your Journal, you should be able to do so using the customize section above.

Application life cycle

Map Journal fires events that allow customization with loose integration. This means that you don't need to understand the application internals to implement simple extensions.

To try those events, look in the file src/app/custom-scripts.js.

define(["dojo/topic"], function(topic) {
  /*
   * Custom Javascript to be executed while the application is initializing goes here
   */

  console.log("Map Journal is initializing");

  // The application is ready
  topic.subscribe("tpl-ready", function(){
    /*
     * Custom Javascript to be executed when the application is ready goes here
     */

    console.log("Map Journal is ready");
  });

  // When a section is being loaded (don't wait for the Main Stage media to be loaded)
  topic.subscribe("story-load-section", function(index){
    console.log("The section", index, "is being loaded");
  });

  // After a map is loaded (when the map starts to render)
  topic.subscribe("story-loaded-map", function(result){
    if ( result.index !== null )
      console.log("The map", result.id, "has been loaded from the section", result.index);
    else
      console.log("The map", result.id, "has been loaded from a Main Stage Action");
  });

  // When a main stage action that loads a new media or reconfigures the current media is performed
  // Note that this event is not fired for the "Locate an address or a place action"
  topic.subscribe("story-perform-action-media", function(media){
    console.log("A Main Stage action is performed:", media);
  });
});
...

Developer helpers

In addition to the events described above, the story data, configuration and useful helper functions can be accessed through the global variable app.

console.log("Section", app.data.getCurrentSectionIndex(), "/", app.data.getStoryLength());
console.log("Current map", app.map);
console.log("IDs of all the web maps used in the story", app.data.getWebmaps());
console.log("Current section's data", app.data.getCurrentSection());
console.log("All sections data", app.data.getStorySections());
console.log("Story layout configuration", app.data.getWebAppData().get().values.settings.layoutOptions);
console.log("Static ayout configuration values", app.data.getCurrentLayoutStaticConfig());

Some events are also available for you to navigate the Journal programmatically:

require(["dojo/topic"], function(topic) {
  // Navigate to a section
  topic.publish("story-navigate-section", 2);

  // Reload the content panel
  topic.publish("story-update-sections");

  // Update a specific section content panel
  topic.publish("story-update-section", 2);
});

Environment setup

Clone the repository or download a copy of the repository as a zip file.

To build a production version of the application from the source code, you first need to install Node.js.

Then initialize the environment by running the following commands in the MapJournal folder:

  • npm install
  • npm install –g grunt-cli

This will create a new node-modules folder in your project root with all the tools required to build the application. If you have trouble running the second command, see this documentation on how to install grunt-cli locally.

How to use the application from the source code

  • Make accessible the MapJournal folder on a web server. Use your favorite server or run one with grunt server; this will start a server on port 8080
  • If using an ArcGIS Enterprise portal, configure the DEFAULT_SHARING_URL property in app/config.js (close to the bottom of the file)
  • Use the URL parameter appid to specify the web item to be loaded, e.g.: http://localhost:8080/?appid=ABCD (configuring index.html > configOptions.appid is not supported in development mode)

How to build the application from the source code

  • Open a terminal and navigate to the MapJournal folder
  • Run the following command: grunt

The deploy folder now contains the built application that you can deploy to your web server.

Issues building the application

The build script performs code validation through JSHint. You can disable those validations by editing Gruntfile.js -- look for the following comments /* Comment out to disable code linting */.

Design

Map Journal relies on AMD and Dojo loader AMD for application structure.

The application is structured as follows:

Path Contains
Gruntfile.js Build configuration
src/ Main source code folder with index.html and the Eclipse project configuration
src/app/ Javascript and CSS source code
src/app/config.js App configuration file (loaded at execution time)
src/app/storymaps/common/ Modules common across storymaps templates (main module is Core.js)
src/app/storymaps/common/builder/ Builder modules (main module is Builder.js)
src/app/storymaps/common/mapcontrols/ Map UI components (Overview, Legend)
src/app/storymaps/common/ui/ UI components
src/app/storymaps/common/utils/ Utils, connector,...
src/app/storymaps/common/_resources Static resources
src/app/storymaps/tpl/ Map Journal modules (build configuration files in the root)
src/app/storymaps/tpl/builder/ Builder modules (main module is BuilderView.js)
src/app/storymaps/tpl/core/ Core modules (main module is MainView.js)
src/app/storymaps/tpl/ui/ UI components of the viewer grouped by target device
src/lib-app/ Dependencies (included in the final app)
src/lib-build/ Dependencies used by the build (not included in final app)
src/resources/ Static resources

The main dependencies are:

The application Javascript and CSS are minified into four files:

File
app/viewer-min.css Compressed CSS loaded when accessing the Map Journal as a viewer
app/viewer-min.js Compressed Javascript loaded when accessing the Map Journal as a viewer
app/builder-min.css Compressed CSS loaded when accessing the Map Journal as an author
app/builder-min.js Compressed Javascript loaded when accessing the Map Journal as an author

Depending on the URL parameters, index.html will load the corresponding files.

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue.

Contributing

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

Licensing

Copyright 2014-2020 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE.txt file.

Some open-source components of this project are licensed under other License terms. See the src/lib-app/ folder for respective licence files.

Library License
Bootstrap MIT
CKEditor LGPL
jQuery MIT
jQuery Colorbox MIT
iDangero.us swiper MIT
History.js BSD
jQuery UI MIT
FastClick MIT
Hammer.JS MIT
jQuery mousewheel MIT
jQuery UI Touch Punch MIT
Clipboard.js MIT

storymap-journal's People

Contributors

asizer avatar gavinr avatar oevans avatar ssylvia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

storymap-journal's Issues

Facebook/twitter links for pages in mobile view?

My app has the Facebook and Twitter links on each page of my journal, but they are not available in the mobile view. Is this a limitation, bug, or user error on my part? I have a request to be able to share individual pages as they each point to unique projects. I'd also like to have the links have my URL and not the AGOL map-- the main FB and Twitter link on the home page uses my URL but the individual pages do not. thanks.

Search for web maps within a group

Could you add the ability to search for a web map within a group? For organizations with many web maps, there is a need to narrow the search results more than just My Content or My Organization. My Favorites dont always contain the maps you want to use and it is tedious to go and "favorite" every map you want in one or more Map Journals that you create.

a016d3e1-c02a-436a-93aa-ac311312d1ef

question on hosting map-journal story map

I'm trying to follow the instructions mentioned in previous issues: https://github.com/Esri/map-journal-storytelling-template-js#instructions

After I place the files on a web-server directory and change the appid reference in index.html and load through a web browser the loading bars go in what appears to be an infinite loop (i am accessing through a web server).

Firebug (in firefox) reveals a "scriptError" with some of the following details:
src: dojoLoader
info: ["http://js.arcgis.com/3.1...monConfig.js?v=1.3.0.js", error ]

Additionally - though not sure how else to provide this feedback - regarding the comment about using this application without arcgis online or portal, that functionality would solve a couple implementation problems I have (policy related) and would generally be a helpful feature for any template.

Twitter Sharing & Long Links Enhancement

It would be nice if the Twitter social sharing used the short bit.ly links rather than the regular full length path to the project. In some cases, particularly if you self host the app, the link can take up much of your 140 character limit. I know people can change it themselves, but most would probably not go to the bother.

For example, here's mine now:
Cooperative Solar Driven by Cooperative Principles
http://www.nreca.coop/wp-content/plugins/nreca-interactive-maps/esri-solar-story-map/index.html #storymap

It would be nice if it were shortened to:
Cooperative Solar Driven by Cooperative Principles
http://bit.ly/11ogUxp

storymap

Custom event pub/subs

Is there a way to view all the custom event pub/subs for this template?

Nevermind, I was able to parse through a quick grep.

LoadingIndicator

Small issue, MainView.js line 18. "lib-build/css!storymaps/common/ui/loadingIndicator/loadingIndicator.css"

The filename begins with and uppercase L, but here it is being defined with a lowecase l. Causes issues depending on which server you are hosting it on in firefox.

Share button suggestion

A user suggested that we include some language that explains the responsive behavior in the Share dialog box. She was embedding a MJ in a blog post, was busy and moving quickly so just copied/pasted the code and didn't understand why her app wasn't showing up the way she had designed it.

I can imagine we add an explanatory sentence after "..code to embed the journal in a website."

mj share

Allow Map features/popup to navigate to specific section

This issue track that popular enhancement request. As of today that feature is not in the near future roadmap.

The V1.1 planned for September 23rd will allow to create links (in the panels) to navigate between sections. With that enhancement it will be possible for developers to customize Map Journal to add specific behavior to certain map to allow it's features to drive the Journal.

reposition 'Back' button

Would it be possible to reposition the 'Back' button so it appears at the upper right or upper left as opposed to the middle of the main stage? It tends to interfere with graphics or web pages that are displayed.

ba047c88-51aa-4d23-9197-1ba42759056e

Iframe embedding error

Attempted to embed an iframe from sphershare:

<iframe src="http://sphereshare.net/#!/e/3dfbc58cc63a4fb9ea7af7fcc13641e9" frameborder="0" allowtransparency="true"></iframe>

Using the web page embed. Following error was generated:
Embed code can only contain one <iframe>

Issue persisted after I switched to an <iframe /> format

Support for time-enabled web maps?

Will there be support for time-enabled web maps in the near future? One workaround would be to display a web page (instead of web map) and link to the time-aware map template but it would be nice to have native support for a time-enabled web map.

adding edit parameter to enable builder in downloaded template

"Can I use the builder with the downloadable?

Yes, when the template is configured with an application ID, adding the URL parameter 'edit' will open the builder. You will be prompted for user authentication through the Identity Manager"

Can you explain exactly where and how to add the URL parameter 'edit' - I have tried and failed :( Thank you!

story-loaded-section only fires when media.type is a webmap

I am trying to use the story-loaded-event to fire Google Analytics events so I can see how many times each section of my story was viewed. It appeared that the story-loaded-event would enable that capability but it only fires when the media.type is webmap. So any section that contains say a photo or video or web page, doesn't trigger the event.

Would it be possible to move the topic.subscribe for the story-loaded-section event outside of the webmap check in MainView.js so that the event is triggered for all types of content?

Add the concept of a count summary widget

I would like to have a Map Journal with a feature count in the side panel that is driven from a feature service. This is how the Summary Widget in the Operations Dashboard works - http://doc.arcgis.com/en/operations-dashboard/windows-desktop/author/summary-widget.htm.

The use case is list the current number of wildfires in a briefing. I don't want to have to manually update that info for each briefing. I'd like for that to be driven from the data.

See the attached screen shot for the concept.
mapjournalcount

navigation links as buttons instead of text?

I could have sworn I saw somewhere to add the ability of navigation explained here

[https://github.com/Esri/map-journal-storytelling-template-js#link-between-sections]

with buttons instead of just text, but I cannot seem find that code sample anywhere. Am I dreaming this or is this possible? Maybe it was on another story maps template, but regardless I'd like to have a buttons instead text is possible. Posted on Geonet too but so far no response. thanks for any leads

popup text color changes when using formatted HTML on side panel

I am finding this out the hard way...my popups appear to be blank but I've discovered the text is there but now white, so you cannot see it against the background of the popup window. It does not seem to matter where this HTML is (on what page)-- it affects the entire application, including the builder dialogs (I am using the downloaded template (using appid) & still configuring my app via AGOL builder)

I have a need to have formatted (with styles) in my side panel and this seems to have caused the issue.

Is this a bug? Besides taking out alll of my styles, is there any way to fix this and/or only have the changes I need per page and not the entire app?

Allow modification of all layers in a feature service

Hello,

Currently when modifying the web map content you are only able to enable or disable the top-level content in the map. When using a service that includes multiple layers they are not able to be toggled by this control. It would be very nice to be able to control the sub-layers in a service.

This problem also affects the "Map Presentation" tool, but I was unable to find the Git repo for that particular app to comment there as well.

Thanks,
~Stephen

Twitter link referencing old name of app- how to change?

I am looking at the 'share on twitter' links for my app and I notice that before the actual URL, which looks good, the name of my app is not correct. I cannot find where in the application the old name of my app is still referenced.

Example- the twitter link that is generated is here:
2016 CLRP test http://my.app.com/ #storymap

the name of my app is not "2016 CLRP Test"-- that was the name of my story map that I initially created on AGOL and have since renamed. I looked in the index, config files, etc and cannot find any reference to this ghost of a name. And my AGOL content does not have that name anymore either. I am using this map journal app that references my AGOL story map so I can still edit it online in the builder. everything seems cool except this weird thing.

Ideas? bug? help! I'd like to use these share links on my app but want the title to be obviously correct. thanks

Scroll Action Script

This is not an issue, but a question - I could not find a place to ask a question of the developer on GitHub, if this is better placed somewhere else please let me know.

My question relates to how you achieve the actions in the main map when the side bar scrolls to a point. We are trying to create a similar story map, but wanted a horizontal scroll bar, so are building from scratch. We have used waypoints.js [http://imakewebthings.com/jquery-waypoints/] to do this, but we are finding conflicts with other scripts. Could you share your technique?

Legend and mouse overs not displaying all text

Hello - The legend seems to have a fixed/max width that is cutting off the point description labels. Is there a way to expand or allow for wrap text features?

The same fixed width issue is happening with the navigation menu mouse over pop ups for each journal entry circle.

Thanks!

Errors using Map Journal in German Google Chrome with a German ArcGIS Online Organization.

My testing:
-German Windows 7 64 bit
-German language Google Chrome (latest version)
-German ArcGIS Online Organizational language settings

Share an Esri basemap saved as a web map as the Map Journal application and the cofiguration options are never displayed. The issue is not reproducible with German IE 10 or German Firefox.

configuremapjournalgermanchrome

Alternatively, a German distributor is able to create the Map Journal but then if he navigates away from it and tries to reload, he is unable to configure the application. Javascript console returns:
Uncaught syntaxerror: unexpected identifier. Which is the same error I am receiving. A video showing this problem is available here: http://screencast.com/t/xTZe6PvozR

Edit legend

When editing the legend to "open by default", it would be great if you could also choose which layers to include in the legend.
I just want the crime layer to display in the legend. The police zones are for background.

a1c1ff4d-4dd8-4a03-8389-3b412ac250a3

application does not run without lib-build

Trying to create a build, the application is not running without lib-build directory. Grunt will not work because of the changes that we have made to the structure of the code.

Responsive(mobile) view & main stage actions-possible?

I have a link on my side panel that is a main stage action to replace the map on the main stage with a PDF document describing the map/project. It looks good in the main view but when I test on an Ipad-sized view, the link on the side panel (which is now the 'learn more' content..would love to change that language but thats another story) does not go to the PDF but rather just back to the map. Is there any way for the responsive design to get to this content? Bug? limitation?

Alternatively, I have put the PDF in a iframe on the side panel-- that could work if I could get the 'fit to width' to be the default view and/or have the iframe code I enter be honored. I try and add standard iframe code I've used elsewhere defining width, height & scrolling, but the tags are ignored and it defaults to its own dimensions. ideas? thx

Allow map actions that reference the same map to occur without resetting the map extent

I want a map action that turns on/off layers in my current map. To do this, I set up a map action that references the same web map with a different content configuration. But when I execute that map action, it always resets my extent to the default full extent of the web map. So if I'm zoomed in somewhere, I can't just turn the layer off and remain where I'm at - I'm forced back out to the full extent.

Pins created by locate place/address main stage action do not disappear.

Location pins will stay on the map if the [ < BACK ] button is not clicked between activating main stage actions to locate an address or place.

2015-05-05 at 11 08 09 am
Steps to reproduce:

  1. Configure two or more main stage actions to locate an address or place.
  2. View the map journal in view or builder mode
  3. Click the text of one of the main stage actions. Map will navigate to the location and drop a pin on the map.
  4. Click the text of another main stage action (without clicking the BACK button at the top of the main stage). Map will navigate to the location and drop a pin and the first pin will still be visible.

2015-05-05 at 11 08 27 am

website does not load in mainstage

I tried adding a website in the main stage... http://www.allaboutbirds.org/guide/Eastern_Bluebird/id

Result... grey background
image

i took a look at the console and found this error message...

Mixed Content: The page at 'https://neod.maps.arcgis.com/apps/MapJournal/index.html?appid=c8999ff5930f486189a439bc0e951148' was loaded over HTTPS, but requested an insecure resource 'http://www.allaboutbirds.org/guide/Eastern_Bluebird/id'. This request has been blocked; the content must be served over HTTPS.

Thoughts on fixing this issue?

Scroll bar for side bar content

Just an issue I've noticed, is there any possibility of getting a scroll bar in the map journal side-content?

I have found its not clear to users that they can click in the side content and then use down arrows, but a scroll bar would be really helpful if there is extra content that is not right on the screen.

12-8-2014 1-31-28 pm

Choose what field is used to save popup state

Reported on GeoNet, Map Journal use the primary ID field of a layer (OBJECTID, OID, FID) to know what popup has to be open through Main Stage Actions (or section configuration) and in certain data workflow update those values can change and break the popup configuration.

It would be great for author to be able to choose what field is used or to document how to publish a Feature Service that declare another field as it's primary ID.

Map point section links

I've created a map with points in ArcGIS online, but I'm unable to link to different sections from that map. I see this in the Readme, but I'm not clear what this means:

ArcGIS Online Map Viewer doesn't allow to create those links from the editor but if those links are present in your layer attributes before you upload your data to ArcGIS Online, it will works.

What does "layer attributes" refer to?

I'm trying to duplicate the same section linking as seen here: http://storymaps.esri.com/stories/2014/bee-tour/

Thanks.

Web Server not workin

Hi !

I'm currently trying to install an ArcGis web server with WAMP Server.

I've done all the instructions specified on their github but I can't make this installation work.

I have add a <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script> to fix some issues I used to have.

When I try to load the index.html, the logo in the center keep turning and turning without load anything else...

I don't know what can I do to fix this, the google chrome development tool in the "network" session seems ok. All are "GET 200" but some are in "finished" status and I don't know chat that means ?

Can anybody help ?

Legend Disappears

In the Main Stage I have a map. The Legend is set to open by default. I have a State and a County Layer and have set the extents to have the counties display at a certain zoom. The legend works fine and adjusts appropriately when zoomed into the county level.

I have a Main Stage Action that zooms the map into the county level, but the legend disappears. Is there any way to get the legend to display? Zooming in and out once I click the Action still does not display the legend.

Also after I click on the Main Stage Action to zoom into the county level and then click the Back button (to zoom to the state level), the legend disappears from the State level and does not reappear until I click out of the section and back in (or on the section again).

examples no longer work :(

"Can I use a single deployment of Map Journal for multiple stories?

Yes. If you have customized the application and deployed it on your server, you don't need to copy it multiple times, edit index.html and paste a different application ID for each story you want to publish.

Instead edit index.html, locate the configOptions section and fill the authorizedOwners property with the ArcGIS Online or Portal for ArcGIS login of the owner(s) of the Journals you want to use. This make possible for the application to display any of the Journal created by the specified user(s) through an URL parameter.

Example of the same application displaying two stories:"

http://myserver.com/MapJournal/index.html?appid=c7ad1a55de0247a68454a76f251225a4
http://myserver.com/MapJournal/index.html?appid=c7ad1a55de0247a68454a76f251225a5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.