- Make new space for application in XWiki
- Set up reusable Leaflet code from previous application iteration
- Have a detailed video call with mentor
- Create a PointClass for storing points
- Create a MapClass
- Code for MapSheet for correctly rendering the map from relevant map object data
- Study Solr search query API
- Make required changes to PointClass
- Fix exceptions in rendering the map
- Create a macro #handleMapQuery for processing the data from query
- Get the data in JSON from the #handleMapQuery macro and supply it to javascript
- Visualize data on the map using javascript
- Make a page CommonMacros to include common application macros
- Improve Leaflet jsx code
- Fit the map to point(s) bounds on load
- Submit the work done to mentors. Await mentors' review.
- Code for custom marker icon
- Get the first attachment on a page with PointClass object for marker icon (to be updated)
- Await mentors' review
- Await mentors' review
- Analyze changes suggested by Stephane
- Move all application's classes, templates and sheets to directly under Code space
- Change MapClass's properties defaultZoom (to integer) and query (to textarea)
- Make TemplateProvider for MapTemplate
- Add page title to popup information
- Add livetable for created maps on page Maps.WebHome
- Change MapSheet to neglect pages that are not map items
- Change Leaflet to ignore pages with no location data
- Study Solr Search Application
- Look into Main.SolrSearch and Main.SolrSearchMacros
- Edit solr search results to output JSON
- Extract macros from Main.SolrSearchMacros
- Edit search macros to work for maps
- Display map with search facets
- Make search form visible for default MapSheet
- Try fixing facet macros not working for MapSheet
- Use #displaySearchFacetValues macro as an alternative to $facetDisplayer
- Code to capture XWiki dom update for changes in facets
- Allow map updates for changes in search and facets
- Make search form and filter widget visible for default MapSheet view
- Custom config for solr search
- Merge pull request from @slauriere for museum maps
- Do not reload map for changes in filters (currently solr filters reload all page content asynchronously)
- Weekend
- Apply theme colors to map and map items (tiles not included)
- Fix icon offset of custom markers
- Thoroughly examine Main.SolrSearch for async jsx code
- Make the map query search asynchronous
- Examine why some museum filters have errors e.g. Germany
- Fix defective mapData json
- Change map item limit (in solr query) from 10 items to 50 items
- Add custom space for popups
- Make popups responsive for easy viewing on small devices
- Add filter controls
- Add support for search type
- Change search form to support both location and item type search
- Remove old search control
- Add list of map results
- Add link to the map item page for each result
- Allow moving to the map item location from search results
- Fix long titles problem in popups
- Holiday
- Analyze releasenotes application
- Prepare demos and tests
- Examine all POMs and create a new project structure
- Push the new structure and prepare for release
- Analyze code for data importer by Stephane
- Create a generalized data importer with itemLabel, lat, lon as basic fields
- Add support for custom fields by creating a class if required
- Create search control inside map
- Create an overlay panel over map for search and facets
- Move map search, search results and facets into the newly created panel
- Change search type selection layout
- Write required code in velocity, css and js
- Add fullscreen control
- Optimize jsx code
- Fix test module POMs
- Add UI tests
- Final term exams
- Make attachment whose name starts with "marker" as marker icon
- Do not reload map for changes in filters
- Fix facet macros not working for MapSheet (related forum post)
- Preserve map state after async requests reload the content
- Support for map states in URL
- Minor updates and fixes
- Fix facets for preserving map state
- Fix js errors for bad variable name
- Make leaflet controls load faster
- Dynamically updating URL with map state for each necessary action
- Fix facets not keeping the map state
- Update facets URL with map state
- Always show map item results
- Escape fullscreen mode with the escape key
- Add map scale
- Make map size (width and height) configurable
- Support for custom attribution
- Show current location error for insecure context
- Change current location label
- Other improvements and fixes
- Remove dedicated popup area
- Use improved leaflet default small popups for displaying point data
- Other minor fixes
- Shift search control to top left side corner of the map
- Add close button to map search and filter
- Change icon of current location control
- Prepare full application documentation for release
- Try to release the application
- Try fixing git error in release
- Try to release the application
- Fix git error (thanks to Thomas)
- Release again because of accidently releasing two versions
- Import the application on https://extensions.xwiki.org
- Announce the release on XWiki forum and dev mailing list
- Use image macro in documentation
- Add tooltips to leaflet controls
- Separate advanced map options
- Update tests to support new MapSheet
- Add new field in MapClass for custom location properties
- Code for processing custom location property of any class
- Remove doc extra from Maps.WebHome
- Preselect MapTemplate for pages in Maps space
- Remove demo data importer
- Allow options in map configuration for including and configuring facet fields
- Code for custom facet fields
- Use static list for MapClass properties which accept multiple values (customLocationProperties, facetFields)
- Create PathClass for path maps
- Code for processing paths
- Break
- Update leaflet version to 1.5.1
- Further code for path maps
- Code for processing source and destination to create paths
- Change PointClass to support separate latitude and longitude values
- Change all code the uses PointClass to follow the new structure
- Change all points and maps to use the new PointClass structure
- Try to implement LocationDescriptionClass to update PointClass using an event listener (dropped because event listener requires programming rights)
- Create Point Editor for creating points using addresses
- Set up preview map for Point Editor
- Set up location search form for Point Editor
- Click anywhere on the map preview to select a location
- Create a point using Point Editor
- Change PathClass to include an array of points rather than just source and destination
- Update code to support a path between a number of points
- Weekend
- Update map state for changes in search widget
- Fix go to path's location on map item results
- Ask which approach to user for the ShapeClass options property
- Create a macro for repeating setting popup data and common map item options
- Create ShapeClass
- Implement polyline shape type
- Go to location of shapes from map results
- Implement polygon, rectangle, circle and circle marker shape types
- Full screen for map previews
- Set up shape editor
- Change structure of PointClass to include popup option
- Use GeoJSON for shapes
- Change ShapeClass to support GeoJSON
- Update map data importer for new PointClass structure
- Set up GeoJSON shapes to be included as map items
- Common function for setting up map search in map previews
- Edit points directly on the page with a map preview based PointSheet
- Point Editor as PointSheet for editing and creating points
- Code for PointSheet
- Create PointTemplate and PointTemplateProvider
- Break
- Shape Editor as ShapeSheet
- Edit shapes directly with a preview
- Map controls as tools for creating shapes using Leaflet.Editable
- Support for creating shapes and saving them as GeoJSON
- Go to GeoJSON shape in map results
- Code optimization
- Break
- Support for editing shapes with ShapeSheet
- Code optimization
- Break
- Option to specify custom classes for Points
- Latitude and longitude of points from custom classes
- Save shape's GeoJSON after vertex changed (not just after commiting a shape)
- Process custom point class to create a map item
- Take latitude and longitude of custom classes using property names specified
- Create ShapeTemplateProvider
- Fix velocity error occuring when trying to load shape object with no data
- Set empty GeoJSON for ShapeSheet if there is no shape data
- Improve code for custom point classes
- Fix error in demo map points
- Change latitude and longitude of PointClass from string to double
- Write macro for getting a key value with multiple suffixes
- Make marker draggable when editing a point (PointSheet)
- Rename PointClass popupContent property to content
- Add includePopups option for maps
- Update edit and view modes of PointSheet
- Show map with a point when viewing a Point object (PointSheet)
- Show latitude and longitude fields when editing points
- Allow updating Point location according to custom filled latitude and longitude
- Rename template providers to include "TemplateProvider" suffix (MapTemplateProvider etc.)
- Update hints of shape and point template providers
- Use terminal pages by default for template providers except MapTemplateProvider
- Create PathSheet, PathTemplate for creating a PathTemplateProvider
- Fix tests failing after updating PointSheet to include latitude and longitude fields
- Update Maps.WebHome to include livetables of Point, Path and Shape objects
- Improve code of PointSheet and ShapeSheet
- Show map with shape when viewing a Shape object (ShapeSheet)
- Add style property to ShapeClass for applying styles to shapes using JSON
- Break
- Editable options for points
- Update tests to support options for points
- Update style property of shapes
- Add circle support in GeoJSON so that circle shapes can be processed
- Set up webjars for Leaflet.Editable and Path.Drag.js
- Fix error in parsing LeafletUtils jsx
- PointEditor: Place the marker at the searched location
- Fix errors and warnings in console
- Add indoor structures support
- Code for IndoorSheet
- Handle indoor structure as a map item
- Add leaflet-indoor.js as an attachment to LeafletUtils
- Fork and edit leaflet-indoor to support leaflet 1.5.1
- Add necessary options to leaflet-indoor.js so that it works with the application
- Change LeafletUtils code so it works well with the updated leaflet-indoor
- Deploy forked leaflet-indoor on webjars.org
- Move map rendering specific code from LeafletUtils to MapSheet
- Create a new jsx for leaflet libraries so they can be parsed in isolation
- Handle inconsistencies in the name of properties gotten from solr response (get full key name from a short key name to handle suffixes)
- Fix error occuring because of apostrophe in map data
- Fix errors in go to location of some map items
- Full code for map editor
- Easy creation of Points and Shapes using the map editor
- Create template and template provider for indoor structures
- Add support for point in indoor structure items
- Move MapDataImporter as a terminal page
- Hide all code pages
- Remove leaflet-indoor.js from LeafletUtils' attachments and add dependency for leaflet-indoor webjar
- JavaScript jsx code for a simple map with marker and popup
- Code for creating a new map
- Code for SimpleMapSheet to correctly edit, create and display the map
- Support for xwiki/2.1 syntax in popups
- JavaScript jsx code for the Map Editor
- Code for creating a new map with Map Editor
- Interactive and preview-based creation of map with Map Editor
- Implementation of current location leaflet control (only works for secure connections)
- Implementation of location search leaflet control
- Synchronized and updated styling for the added controls
- Transfer github repository to xwiki-contrib
- Create project design page on design.xwiki.org
- Add description and milestones on XWiki GSoC project page
- Standard and improved style for creation form of SimpleMapSheet
- Change textarea of popupData to ckeditor in Map Editor - ToDo: Ask community
- Add support for custom marker icon
- Create Map.Maps.WebHome for displaying all created maps
- Minor changes in velocity code for Map Editor
- Create a leaflet-commons module for common leaflet functions
- Change leaflet-map javascript code to support general functions
- Create class for and set up PathMap
- Analyze OSRM to get path between two points
- Get and display path between two points as steps (not smooth)
- Get polyline decode from @mapbox/polyline
- Use decoded polyline geometries from OSRM to generate paths
- Create reverseGeocode to convert latlng to place name using nominatim
- Use reverseGeocode as popup for PathMap source and destination
- Code for creating Path Maps with Map Editor
- jsx for the Path Maps Map Editor
- Combine multiple Map Editors on a single page
- Add distance and duration to routes of Path Map
- Report the progress to mentors
- Fix encoding issue in xml when formatting files using
mvn xar:format
(thanks to Evalica and Enygma for the fix) - Start planning for filterable list maps
- Template providers for creating new maps
- Improve and synchronize the style for leaflet controls
- Create class for filterable list map objects
- Start work on Map Editor for filterable list maps
- Improve filterable list map editor
- Create FilterableListMapSheet and FilterableListMapTemplate
- Handle multiple field forms in FL Map Editor with same name
- Display the data in FilterableListMapSheet for manipulating later