Skip to content

Add Story Map Tool#643

Open
ishaanjain5 wants to merge 9 commits into
unicef-drp:mainfrom
ishaanjain5:main
Open

Add Story Map Tool#643
ishaanjain5 wants to merge 9 commits into
unicef-drp:mainfrom
ishaanjain5:main

Conversation

@ishaanjain5
Copy link
Copy Markdown

@ishaanjain5 ishaanjain5 commented Apr 2, 2026

Proposed changes

Feature request details: #595

Add a new Story Map feature for dashboards, with both backend and frontend creation/playback support.

On the backend, dashboards can now store Story Map configuration, including whether the feature is enabled, the story page structure, and individual story pages linked to dashboard bookmarks. Story pages support title, description, thumbnail, ordering, visibility, and bookmark association. The dashboard serializer, API response, form handling, save flow, and duplication flow were updated so Story Map data is preserved correctly across all operations.

image

On the frontend, dashboard admins can now configure Story Map pages from a dedicated Story Map tab in the dashboard editor. They can enable the feature, add/edit story pages, attach thumbnails, write descriptions, and connect each page to a spatial bookmark. On the viewer side, dashboards show a Story Map toolbar control and left-panel story experience with page navigation, autoplay, bookmark-driven map state changes, and toggle behavior that returns the user to the normal layer/filter tabs when Story Map is turned off.
image

This PR is a new feature. It also includes a number of follow-up fixes to make the feature usable end-to-end, including admin tab visibility, runtime title rendering, autoplay behavior, control icon visibility, and toolbar toggle behavior.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Checklist

  • I have read the Contributing Guide
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added the necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in downstream modules

Further comments

Implementation notes:
Add a new DashboardStory model and related migrations.
Extend dashboard save/load logic to support stories, stories_structure, and story_map_enabled.
Add serializer/API support so Story Map data is available in dashboard payloads.
Add admin Story Map editing UI.
Add runtime Story Map panel and toolbar integration.
Add tests covering dashboard Story Map API behavior.

Known verification note:
The feature was tested iteratively in the local Docker environment while resolving several unrelated webpack/environment issues.

@ishaanjain5 ishaanjain5 closed this Apr 2, 2026
@ishaanjain5 ishaanjain5 reopened this Apr 2, 2026
@ishaanjain5 ishaanjain5 closed this Apr 2, 2026
@ishaanjain5 ishaanjain5 reopened this Apr 2, 2026
@ishaanjain5 ishaanjain5 marked this pull request as draft April 2, 2026 20:10
Directenv folder not needed
@meomancer
Copy link
Copy Markdown
Collaborator

Thank you so much @ishaanjain5
Looks good to me, but could you merge migrations file as 1 file? (just to prevent big number of migrations file)

Also @janbur
I think i need to help @ishaanjain5 to:

  1. Fix the python lint
  2. Create E2E tests

Should i handle it or maybe we can ask @ishaanjain5 to work on it?

@janbur
Copy link
Copy Markdown
Collaborator

janbur commented Apr 3, 2026

Great work @ishaanjain5 ! Let us know if you need support in fixing the Python lint or e2e.

@meomancer
Copy link
Copy Markdown
Collaborator

Hi @ishaanjain5
Could you pull the main branch?
There is conflict and also some updates

I have put some new e2e tests to test some navigation, to also test this PR

Fix the docstring issues and long line formatting.
Get rid of the second migrations file and combine it into one file.
@ishaanjain5 ishaanjain5 marked this pull request as ready for review April 3, 2026 12:49
@ishaanjain5 ishaanjain5 marked this pull request as draft April 3, 2026 12:50
@ishaanjain5 ishaanjain5 marked this pull request as ready for review April 3, 2026 12:51
@ishaanjain5
Copy link
Copy Markdown
Author

Thanks for the feedback @janbur @meomancer. I went back to try and fix some of the issues you spoke about. Could you try rerunning the check? Thank you!

@meomancer
Copy link
Copy Markdown
Collaborator

Hi @ishaanjain5
We have changed the github workflow
Could you pull the main branch? Should be no conflict

Thank you

@ishaanjain5
Copy link
Copy Markdown
Author

@meomancer I understand. I pulled the main branch.

Fix for the E2E test. This prevents the widget panel from loading/rendering when show map toolbar is disabled in the admin panel.
@ishaanjain5
Copy link
Copy Markdown
Author

@meomancer I edited the code to fix the test that was failing. Can you try rerunning the check? Thank you.

@ishaanjain5 ishaanjain5 mentioned this pull request Apr 18, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants