Skip to content

Latest commit

 

History

History
431 lines (294 loc) · 16.5 KB

File metadata and controls

431 lines (294 loc) · 16.5 KB

ErfGeoviewer tests

F.01 - Core functionality

Description

This feature includes the implementation of Leaflet.js, which contains the following key features:

  • Zoom and drag controls
  • Support for keyboard
  • Support for touch devices
  • Modular architecture
  • Support for multiple layers
    • Base tile layer
    • Additional tile layers
    • GeoJSON features layer
    • Image overlays

Tests

  1. I can zoom the map in and out using the + and - buttons on the upperleft corner of the map.
  2. I can zoom the map in and out using the mousewheel
  3. I can pan the map.
  4. I can pan and zoom the map using a touch device such as a mobile phone or tablet.
  5. I can use the keyboard to zoom and pan the map.
  6. I can show the map full screen by clicking the Full screen button on the upperleft corner of the map
  7. I can show and hide the image overlay layer with the button on the upperright corner of the map
  8. Clicking anywhere on the map (not on a marker) closes any open panes
  9. When the map zooms to either a selected or all visible markers it should take any open panes into account for its viewport

F.02 - Markers

Geocoded objects from a result set that contain a point (that is, records that contain a longitude and latitude value) can be added to a map in the form of a marker.

Icons are taken from open source Maki icon set, and implemented using extensions to Leaflet provided by Mapbox.js, also open source.

Markers are styled according to the simplestyle specification, 1.1.0. This provides the means to modify a marker's size, symbol, color, text and description.

The markers support the following features:

Tests

  1. When I hover over a marker, I see the title of that marker.
  2. When I click on a marker, a detail screen appears.
  3. If two markers are close together on the map, they cluster together.
  4. The amount of markers in a cluster is indicated in the marker cluster itself.
  5. The color of the marker is the "primary color" by default.
  6. The color of the marker can be overriden from the detail screen.

F.03 - Polygons

Description

Geocoded objects from a result set that contain geometries such as polygons and lines can also be drawn on the map. These shapes have less interactivity than markers, but can be styled using the simplestyle specification, 1.1.0. This provides the means to modify a polygon's stroke (the color and thickness of the border) and its fill color.

Tests

  1. When I click on a polygon, I see the title in a tooltip.
  2. When I click on a polygon, a detail screen appears.
  3. Polygons do not cluster.
  4. The color of the polygon is the "primary color" by default.
  5. The color of the polygon can be overriden from the detail screen.

F.04 - Detail view

Description

The detail view appears after clicking a stored object on the map, such as a marker. The fields from that object are then shown.

The site implementing the ErfGeoviewer can customize this pane by altering the configuration file. By default, the following fields will be displayed if available:

  • Title
  • Image
  • Description
  • Link to external page

When the object is of type "kaart", additional controls are exposed to alter an overlaid image:

  • Rotate/scale
  • Distort
  • Transparency

Tests

  1. The title of the marker can be changed by typing in the Titel field
  2. The Stijl button enables me to change color and icon of the marker
  3. The Verwijderen button deletes the marker from the map
  4. The description of the marker can be changed by typing in the text field below the buttons
  5. When an image is overlaid, I can adjust the transparency with the Transparantie slider.
  6. When an image is overlaid, I can toggle between "rotate/scale" and "distort" mode with the Kaart manipuleren buttons
  7. The image of the marker should be visible. If the marker has no image, a placeholder image should be visible.
  8. The description of the marker should be visible
  9. The description of the external link can be changed by editing the field next to the Lees meer button
  10. Clicking the Lees meer button opens the associated link in a new browser tab (Reader mode)
  11. Clicking the archive icon in the lowerright corner opens a link to the Digitale Collectie for this marker in a new browser tab

F.05 - Legend with customizable icons

Desccription

A legend can be configured in mapmaker mode, and displayed in reader mode. It allows a user to show colored markers with an optional icon next to a editable label. If enabled, it appears in the lower left of the map in reader mode.

F.06 - Configuration interface

Description

A number of settings are available directly through the ErfGeoviewer interface.

  • Title of map
  • Toggle for search
  • Toggle for social share widget
  • Toggle legend
  • Toggle list view ("Mijn kaart")
  • Colors
  • Base map
  • Legend

Tests

Weergave

  1. Toggling the Titel checkbox switches title visibility
  2. Typing in the edit box beneath the Titel checkbox changes the title
  3. Toggling the Zoekfunctie checkbox switches the search feature in Reader mode
  4. Toggling the Sociale Media checkbox switches the social media buttons in Reader mode
  5. Toggling the Legenda checkbox switches the legend feature in Reader mode
  6. Toggling the Lijst checkbox switches the Mijn kaart feature in Reader mode

Kleuren

  1. Changing primary and secondary colors change the colors of the user interface

Kaarten

  1. Selecting any of the predefined tile sources changes the background tiles of the map

Legenda

  1. Clicking the Toevoegen button adds a legend item
  2. Clicking a legend item opens a popup
  3. The popup allows changing color, icon and label of the legend item
  4. Clicking next to the popup closes it and makes the change permanent
  5. Clicking on the blue cross while hovering above a legend item deletes it

F.07 - Configuration spec

Description

The following settings can be configured through a configuration file. A template for this file is stored in version control. A developer creating an instance of the ErfGeoviewer will create a per-site version of this file.

  • Primary and secondary colors
  • Control to open a new map
  • Control to create a new map
  • Enable/disable timeline slider
  • Default text for "Lees meer" in detail screen
  • Available colors for configuring the interface via forms
  • Mapbox settings (optional)
  • Array of base tiles
  • Connection settings to Digitale Collectie via de Zoek en Vind API
  • Fields to show on detail screen

Tests

  1. If I change the zoek_en_vind.requestedFacets array, the advance search corresponds to the facets I have selected.
  2. Facet labels replace the name of a field (dc:subject) with a user-friendly title (Subject).
  3. I can change the order in which fields are shown in the detail screen by altering the "fields" array.
  4. Labels are shown or hidden according to my "fields" configuration: if label is blank for a given field, no label is shown; if a valid string is entered, then the label appears above my field in the detail screen.
  5. The read more link in the detail screen uses the ui.moreInfo for its default value.
  6. If I set controls.newMap to false, then the menu item for creating a new map is hidden.
  7. If I set controls.openMap to false, then the menu item for opening an existing map is hidden.

F.08 - Embedding

Description

The "reader mode" provides a way to easily embed curated maps.

  • Loading JSON file
  • Recreation of map features (markers, polygons)
  • Reading configuration to enable/disable options such as the legend or map title

Tests

  1. I can load a stored map in "reader mode".

F.09 - Integration with Data Atlas

Description

  • Users can clone an existing map into their own Data Atlas account
  • This creates an exact copy, which can be modified to fit the user's requirements
  • This feature is handled by the Data Atlas, not by the ErfGeoviewer itself.
  • All maps contain a "clone" action which links to the Data Atlas.

Tests

This feature was determined to be out of scope.

F.10 - Timeline filter

Description

A slider will allow users to filter a layer based on a date range. The slider is made available by clicking a filter icon in the upperleft of the map.

Tests

  1. Clicking the filter button in the upperleft corner of the map toggles visibility of the timeline filter pane
  2. The timeline filter pane should display a bar chart of all available markers on the map, by year
  3. When clicking and dragging the mouse over a time period a selection should become visible
  4. After making a timeline selection, the markers on the map should be filtered by the selection and the map should zoom to all visible markers
  5. Dragging a time selection should keep the selection the same width and update the filter
  6. Dragging either end of the selection should update the filter
  7. Clicking on an empty area on the timeline filter should disable the filter and the map should zoom back out to all markers

Notes

A normalized date is required for this feature to function properly. Due to current limitations in the API, this feature has not been entirely implemented.

F.11 - Facets

Description

Users can reduce search results through one or more facets, which are configurable through the configuration file. By default, the exposed filters are type, collection and subject.

By clicking a facet, the results are narrowed. This selction can be reset by clicking the "reset" link.

Tests

  1. I can reduce search results by clicking on a facet
  2. The number of results in a facet is indicated
  3. I can remove a facet selection by clicking "reset
  4. Entering a from and/or to date reduces the search results based on date

F.12 - Search field

Description

Users can search by keyword. Pressing enter begins the search. This can also be initiated by clicking a search icon.

Results can be restricted to the map's current bounding box by selecting "zoek binnen kader".

Tests

  1. When the search pane is opened, the search box has keyboard input focus
  2. A search is started by either pressing enter in the search box or by clicking the search icon
  3. Entering a search term and starting a search shows the matching search results in a list
  4. Searching for multiple terms can be done by separating them with a space
  5. Searching for an empty search term returns all results available
  6. I can restrict a search by the map's current bounding box by selecting "zoek binnen kader"
  7. When a search does not produce any results there should be a message that there are no results found

Known issues

The API has some known issues with implementing a bounding box filter.

F.13 - Search results

Description

The results of the search are listed in a pane overlay before being plotted on a map. Only objects with associated spatial data are returned. These are shown in an alternative color on the map, and in the case of markers, are smaller than stored objects.

Tests

  1. The search results are shown in a list
  2. The search results are paginated by 30 items per page
  3. Each search result item should contain an image (or placeholder if no image is available), a title and two buttons (extra button for "kaart" image overlays)
  4. Hovering over a search result item should highlite the corresponding projection on the map.
  5. Pressing the Plus button adds the item to the map
  6. Pressing the Zoom button zooms the map to the coordinates of the item
  7. Pressing the Plus button on a "kaart" image overlay adds the item to the map as an overlaid image
  8. Clicking on the map closes the search pane overlay

F.14 - Map layers

Description

Markers and image overlays are placed in separate layer groups. Markers always appear above an overlaid image.

Tests

  1. When adding both a polygon and a point marker, the point marker should lie on top of the polygon
  2. When adding both an image overlay and a point marker, the point marker should lie on top of the image overlay
  3. When adding both a polygon marker and an image overlay, the polygon marker should lie on top of the image overlay

F.15 - Layouts

Description

The application will be designed using Marionette regions and underscore templates. This provides a flexible way to adjust the presentation of a map instance.

Tests

No tests required.

F.15 - Layouts

Description

Users can change the location of various flyouts (detail screen, menu) based on a "layout."�

Tests

This feature was not implemented.

F.16 - Filter markers

Description

Once markers are added to a map, then can later be searched through the "Mijn kaart" list view. This provides a way to quickly find one marker out of a larger, pre-selected dataset.

Tests

Mijn kaart

  1. Clicking on the number button in the top menu bar should open the Mijn kaart pane
  2. Opening the Mijn kaart pane should zoom the map in or out to the bounding box of all markers
  3. Typing in the Zoek edit box dynamically filters the list based on marker title
  4. A marker in the list can be selected by clicking the checkbox in front of it
  5. The selection total ("n geselecteerd") should reflect the total number of selected markers
  6. Clicking the Bewerken link pops up a dialog to edit the selected markers
  7. Clicking the Verwijderen link pops up a dialog to delete the selected markers

Bulk edit markers

  1. Changing the color and icon in the dialog should change the color and icon of all selected markers on the map
  2. Either clicking the Sluiten button or clicking next to the dialog should close the dialog

Bulk delete markers

  1. Clicking the Verwijderen button should delete all selected markers from the map
  2. Clicking any button or clicking next to the dialog should close the dialog

F.17 - Welcome screen

Description

Added 2 september 2015. Provides a quick overview of the application, with quick-links to start a new map or open an existing one.

Tests

  1. I see the welcome screen when my local storage is empty.
  2. I do not see the welcome screen after something has been saved in my session.
  3. Clicking the New map button creates a new empty map
  4. Clicking the Open map button shows the Open file dialog to open a JSON map file

F.18 - Drawing tools

Description

Markers that are not associated with a search result can be created using the drawing tools.

Tests

  1. Clicking the Draw a marker button on the upperleft corner of the map switches the mouse to marker placement mode
  2. Clicking on the map in marker placement mode places a marker on the clicked coordinates
  3. Clicking cancel next to the Draw a marker button cancels the marker placement mode
  4. Clicking a drawn marker shows the Detail pane of that marker which can be used to customize the marker

Notes

Other drawing tools to create elipses and polygons have been disabled to simplify the interface.

F.19 - Printing

Description

The map has a printer-friendly version.

Tests

This feature was not implemented.

F.20 - Long read view

Description

Markers are linked to one another in sequential order. From the reader view, one can click on a detail view, and click "next" or "previous" to move to the detail screen of another object.

Tests

  1. Clicking the Volgende button activates the next marker
  2. Clicking the Vorige button activates the previous marker

F.21 - Address navigation

Description

A user can search for a location on the map using an address such as "Pedro de Medinalaan 9, Amsterdam".

Tests

This feature was not implemented. The primariy reason was that the interface for searching through the Digtiale Collectie and one to search for an address could cause some confusion.

F.22 - Webrichtlijnen

Description

The ErfGeoviewer will make a best effort to comply with the Dutch Webrichtlijnen.

Tests

  1. The application should run in the most recent version of the following browsers: Desktop (Windows & Mac):

    • Chrome
    • Firefox
    • Internet Explorer
    • Safari

    Mobile (Android & iOS):

    • Android browser
    • Samsung Internet
    • Google Chrome
    • Safari
  2. A warning message should be displayed when the application is run in an unsupported (version of a) browser.

  3. User can navigate through menu items using the keyboard.