New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hierarchical layer selector #61

heikkiy opened this Issue Dec 14, 2017 · 1 comment


None yet
2 participants

heikkiy commented Dec 14, 2017


Proposed by: Marko Kauppi/Tampere

Technical assumptions

Combine the map layers and selected layers into one flyout. The flyout would have two tabs "All layers" and "Selected layers". The "All layers" tab can have hierarchical structure so that e.g. Geology main group or theme can have subgroups and its subgroups can also have subgroups. The depth of this grouping is 3 tiered so Geology -> Subgroup A -> Subsubgroup B -> concrete layers is the maximum depth.

The above description applies to anonymous user, logged in user and admin user. The admin user has control over the structure via certain admin-tools.


This new bundle will possibly use existing Oskari-functionality. The bundle will be loaded via appsetup. The old layer selector should work with the new hiearchical structure also.

Suggested implementation


Database will have to support tree like structure. The server side code will have to support this new structure.

Front end

New bundle for this new layer selector. Old layer selector should also work with this new backend/server.

User stories

Use case 1 - anonymous user

"Map Layers"

  • The anonymous user has only "map layers" -button visible in the left nav bar. The "selected layers" is a tab under that flyout
  • When a user checkmarks a layer or a group the number of layers is shown on the "selected layers" tab
    • If there are more than 10 layers under a group the user will get a prompt message with a warning
    • If the user checkmarks a layer from a group which has all of its layers selected before the checkmark on the group will be removed
  • By data provider tab will be removed
  • All old layers will be nested under existing main group before admin-user reorganizes them
  • A layer can belong to multiple main groups and/or subgroups
  • Old filtering functionality will be preserved ("newest" and "vector layers")

"Selected layers"

  • The selected layers functionality is not shown by default
  • When a user click anywhere on the layer the functionality will be shown
  • The icon in the left of the layer list item indicates whether or not the functionality is open
  • The hide/show -link is in the left corner of the layer list item
  • The old text links will be replaced by icons and the icons will have title attribute set
  • The new "zoom to layer" -functionality will fit the map to the layer´s bounds
  • Open legend graphic will call the existing legend graphic bundle

Use case 2 - logged in user

"Map Layers"

  • The logged in users map layers view matches the anonymous user´s view

"Selected layers"

  • The logged in users selected layers view matches the anonymous user´s view
  • In addition according to roles and activated bundles the user will be shown: "content editor", "own places" and info if the layer is publishable

Use case 3 - admin user

"Map Layers"

  • The map layers view matches the anonymous user´s view
  • In addition there are icons on the right side of the layer selector
  • Admin can change group name and change if the group is selectable
  • Admin can edit layer data as per the old layer editor
  • Admin can add a new maingroup, subgroup or layer
    • Deepest possible hierarchy is 3-tiered
  • Admin can rearrange the layers and groups
  • Admin is responsible of the performance of groups so that if there are lots of layers under one group the toggling of a group can affect client performance drastically

Does the item need to be divided into multiple independent proposals?



  • Old map layers / selected layers should work with this.
  • If there are lots of layers under one subgroup selecting the subgroup can have drastic impacts on the performance in the browser.


  • The new fancy hierarchical layer selector combining the old map layers and selected layers.

Additional documentation (pictures in finnish - sorry about that)


Other interested parties

  • Helsingin seudun ympäristöpalvelut -kuntayhtymä HSY - Helsinki Region Environmental Services Authority HSY
  • Suomen ympäristökeskus - Finnish Environment Institute
  • Museovirasto - National Board of Antiquities

This comment has been minimized.


ZakarFin commented Apr 6, 2018

Implementation for this feature is included in the 1.46.0

@ZakarFin ZakarFin closed this Apr 6, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment