-
Notifications
You must be signed in to change notification settings - Fork 0
Developer documentation
Documentation for development up until March 2020 can be found on the GCRC Wiki on Github. The current page presents developer documentation that was produced between March 2020 and March 2021 by tanvirislamcu. For contributions to the Nunaliit source code, please refer to the Nunaliit Documentation for Developers.
An Atlascine front-end is a composed of JavaScript which is run by a Java program. The important folders to deal with when working with Atlascine are:
- docs
- htdocs
- src/css/custom.css
The docs folder houses all the configurations for a module. A module can be seen as a large feature for an atlas. We define the necessary configuratons in these files, which then injects into the JavaScript code via backend.
All configurations for a Multi Maps Module can be found in docs/module.multistories
.
Below is a table containing all the important files and their descriptions:
File Name | Description |
---|---|
canvas.json | Defines configurations used for the map |
display.json | Defines the name of the module |
models.json | Defines data that will flow throught the app |
utilities.json | Defines the utilties that we will use for the app |
widget.json | Defines the widgets that the app uses (these are the front-end components that gets rendered to the users) |
Data gets emitted into the application in the form of events via models. Using the model attributes listed below you can create static dependencies between the data sources and derive business logic accordingly.
- modelType - Models can be categorized into types
- modelId - Unique model identifier
- sourceModelId - A child model will list its parent model's id here to create a dependency
- selector - Is used to list primary data source
Has the following model relationship:
- sourceModelId - atlascine_cinemaps
- modelId - theme_map_filter
This file contains a ModelFilter
which uses an existing primary datasource to extract themes of the stories.
This data is used to create the the singleFilterSelectionWidget
widget from which a theme is selected.
Has the following model relationship:
- sourceModelId - couchdb
- modelId - theme
This file contains a TimeIntervalModel
which uses an existing primary datasource to prepare data that will be used to draw the donuts in the map.
The code in this file can be conceptualized of as a pipe that transforms the data and passes it along.
Has the following model relationship:
- sourceModelId - theme
- modelId - donut
This file contains a widget class called ThemeGroupTagLegendWidget
which is responsible for drawing the map legend.
This file also contains a SelectableDocumentFilter
called ThemeDonutFilterByGroupTag
responsible for filtering data retrieved from theme_index_transformrom.js
for the legend.
This file overrides the existing functionalities defined in TranscriptWidget
.
It contains the revamped transcript highlighting functionalities from the Single Map Module. It also contains logic that allows the automatic selection of the widget.
Before public release, processes are tested individually by the GCRC developers and then in a staging environment by lead project members in the Geomedia Lab. Releases are authorized jointly by the GCRC lead developer and Sébastien Caquard, Geomedia Lab director.
Atlascine is a story mapping research tool developed by the Geomedia Lab at Concordia University in collaboration with the GCRC at Carleton University using the open source web atlas framework Nunaliit.