Skip to content
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

Layer UUIDs #308

Merged
merged 3 commits into from
Jan 19, 2023
Merged

Layer UUIDs #308

merged 3 commits into from
Jan 19, 2023

Conversation

tariqksoliman
Copy link
Member

Layers internally use a UUIDv4 instead of their Name as identifiers.

  • Existing configurations should remain backwards compatible (client will still use layer name and the id if its uuid is missing)
  • mmgisAPI:
    • Functions are backwards compatible with this change. They will try to deduce the uuid from the name and just grab the first match. If layer names are no longer going to be unique, switch to uuids for all related mmgisAPI functions.
  • Configure API:
    • /updateLayer and /removeLayer both use layerUUID now instead of layerName
    • /upsert automatically adds uuids to layer object if they are missing or are invalid uuidv4 uuids.

@tariqksoliman tariqksoliman self-assigned this Jan 19, 2023
@tariqksoliman tariqksoliman merged commit 2b53c85 into development Jan 19, 2023
@tariqksoliman tariqksoliman deleted the ts-306 branch January 19, 2023 02:27
@tariqksoliman tariqksoliman mentioned this pull request Jan 23, 2023
tariqksoliman added a commit that referenced this pull request Sep 6, 2023
* Make sure to remove time tab in time disabled

* IFrame examples

* #279 Time Improvements (#280)

* Configure global start end time, Partial local vector time filter

* #279 Time Improvements

* InfoTool checks for links in metadata and renders anchor tags

* Fix environment variable in sample.env for enabling websockets (#281)

* Fix environment variable in sample.env for enabling websockets

* Update docs

* Bug Fix: Don't drawing uncertainty ellipse if either axis is 0

* ts-282 Composite Time Tiles, Time Tiles with range (#283)

* Update Time Tile path structure

* #285 init-db (#286)

* #290 Upgrade config page jquery, fix i closing tag (#291)

* #292 Controlled Time Layers only make initial query, refactored to remove a conflicting setTimeout (#293)

* Fix crash when Time is completely disabled

* #296 Fix WMS url query (#297)

* #298 TimeUI Pan and Zoom and Improvements (#299)

* #298 Early TimeUI Pan Zoom

* #298 Pan, zoom, steps, modes, mostly done

* TimeUI Improvements and verifications

* #298 Fix Point Play bug

* #298 Final Touchups

* Make marker bearings projection-aware

* Update Docs, Add redundant stopGuests check

* Fix Invalid Date when using deep linked timestamps, improve mmgisAPI docs

* Fix typo

* #294 SameSite None env and login improvements (#302)

* #294 SameSite First pass

* #294 Fix session and use postgres as session store

* Use a default session db port

* #294 Regenerate session on login failure too

* Add feature to reconnect WebSocket from client to server (#295)

* Add materialize-css package

* Update WebSocket on client side

* Double reconnect attempt interval every time websocket reconnection attempt fails

* Update package-lock.json

* Move toast to be ~5 pixels from the right side

* Only show 'Successfully Connected' toast if websocket connection has previously failed

* Fix toast display time

* #304 Fix bug in latest too

* Layer UUIDs (#308)

* #306 UUIDs part 1

* #306 Layer UUIDs UI touchups, still missing Config API

* #306 Layer UUIDs for Config API

* #309 Controlled Raster for initial query only (#311)

* Fix function call order bug in addNewLayer function (#310)

* Account for non-uuid deep link names

* Fix toggleLayer bug (#260)

* Fix Node 18+ build (#312)

* #317 Fix time vectors not applying correctly (#319)

* Fix bug where initially on annotations features have no click events

* Add function to overwrite elements displayed in LegendTool (#320)

* Add function to overwrite elements displayed in LegendTool

* Add more checks to overwriteLegends function

* Add overwriteLegends to mmgisAPI

* #322 Add ROOT_PATH, Deprecate PUBLIC_URL (#323)

* #322 ROOT_PATH, doesn't work fully for /configure yet

* #322 ROOT_PATH for runtime subpaths

* #322 Remove PUBLIC_URL and fix ROOT_PATH css

* Update README.md

* Update README.md

* #324 Configurable Context Menu Actions (#325)

* #324 Coordinates Config Tab Raw Variables

* #324 Configurable context menu actions

* Add docker build workflow

* Make sure user input UUIDs through REST API are unique (#326)

* Make sure user input UUIDs through REST API are unique

* Fix overwriting existing UUID issue

* #327 Assorted UI Improvements (#328)

* #313 Expose as much as possible to the mmgisAPI (#330)

* #313 Add Formulae_

* #313 More F_ docs

* #313 Finish up F_ docs

* #313 mmgisAPI addLayer and removeLayer

* #313 Add logged_in endpoint and early Backend API docs

* #331 Websocket aware configure page (#332)

* #331 Websocket aware configure

* Remove console.log

* Update addLayer and removeLayer endpoints in REST API (#337)

* Working on updating REST API

* Do not update config if there are duplicate or bad UUIDs

* Update docs

* #303 Photosphere Targets and Target Pairing (#340)

* #303 Pairings attachments, photosphere targets not working yet

* #303 AzEl computed markers in Photosphere, deleted old docs

* Add back in swagger docs

* #303 Use originOFfset

* Refactor with the uuid upgrade, Update docs

* #341 Export working config, disable override (#342)

* Add xml2js and proj4 packages. (#343)

* add xml2js

* Fix DrawTool Upload Loading style

* Draw Edit properties

* #335 Feature Request: GetMissions (#345)

* #335 /configure/mission full param

* #335 touchup docs

* Fix typo

* #346 Deep Link additional encodeURI

* Fix missing uuids from configure

* WMS TILESIZE param, features without uncertainty properties won't draw in Map, github link of docs page

* Fix clearOnMapClick function for layers with no fill (#348)

* Fix angleUnit on image attachment

* Optional Info button for projects that need a link to project info #350

* Support existing az el properties for pairing attachments

* Fix bug in Photosphere where points with matching names get stuck

* Add dontFloor to mod function

* Updates to info and help buttons

- Hide info and help icons if a url is not configured
- Default the info button to be off in the configuration
- Change to info icon with a circle

* #352 [New Feature]: DrawTool - Feature Property Templates (#353)

* #352 Templating 1

* #352 Templating 2

* #352 Templating 3

* #352 Update Modal for templating

* #352 Migrate DrawTool Templating

* #352 Templating touchups

* #354 Add MAIN_MISSION ENV (#355)

* Do not append time parameters to wmts tile layers

* Fix configure layer cloning

* Remove typo ; in MAIN_MISSION env

* Remove outdated firefox-specific css fix

* Add blob to default-src csp

* #356 DrawTool Templating - Incrementer field (#357)

* #358 - DrawTool - Grouping editing should only update changed template fields (#359)

* #360 Expose all endpoints to longtermtokens (#362)

* #363 Support file_owner in webhook body. Include body for onFileDelete (#364)

* Fix layer uuids showing up in bottom-right coords

* Expose ToolController_

* #366 Don't copy uuid on layer clone (#367)

* #369 Refresh vector layers, also some WEBSOCKET_ROOT_PATH (#370)

* #368 Fix Websocket usage with ROOT_PATH (#373)

* #369 Refresh vector layers, also some WEBSOCKET_ROOT_PATH (#370) (#371)

* #368 Websockets use ROOT_PATH

* #368 Fix configure websocket

* Fix bad Configure/websockets json writing

* Fix time memory leak from improper cleanup of tooltips and slider

* chore(config): Inline import from same namespace (#375)

* #378 LegendTool as Popup (#379)

* #378 Separate legend tool

* #378 Legend formatting, reacts to layer toggles

* #380 DrawTool - Fix error saving templateless features (#381)

* Reset stroke styles too

* fix(imports): destructure modules (#384)

* chore(naming): use standardized name (#385)

* Add event listener for toggleSeparatedTool in MMGIS API (#388)

* Prioritize Map splitscreen size when resizing

* #372 calls to updateVectorLayer and appendLineString cause selected feature to be deselected when using info tool (#389)

* #372 Reselect feature on updateVectorLayer and appendLineString

* #372 Non-async updateVectorLayer, fix Pairings update

* Remove description transition

* Persist active feature on appendLineString

* #390 InfoTool - Clicks Intersect Polygons (#391)

* #387 DrawTool - Group Editing (#392)

* #387 DrawTool - Group edit files Part 1

* #387 DrawTool - Group edit files Part 2

* DrawTool / Group Editing - Let other users save changes to features

* Added an option to the LegendTool to automatically display on start

* LegendTool needs to have hasVars set to true for the last commit

* Added max-width to legend to prevent long text from filling screen

* Added a .nvmrc file with node version

* Added ellipsis and title for overflow legend text

* #386 Local Login Issue (#396)

* #386 Add setLoginToken to mmgisAPI

* #386 Fix variable path

* #386 SKIP_CLIENT_INITIAL_LOGIN env + mmgisAPI.initialLogin

* #383 Support raster option on gdal2tiles_3.5.2/gdal2customtiles (#397)

* #383 gdal2tiles_3.5.2_v2 for raster support

* #383 Cleanup gdal2tiles scripts and improve documentation

* #383 gdal2customtiles extentworld working, overview tiles not working

* #383 Fix gdal2customtiles rasters with different pixel scales

* gdal2customtiles - fix width calc, still slight offset

* gdal2customtiles raster - fix rounding issues

* Fix mmgisAPI featuresContained when a failed to load layer = null

* #399 Crashes if Layers are valid JSON but not valid GeoJSON (#400)

* #399 Add geojson validater to map

* #399 allow overloaded coordinates in geojson for extended geojson

* #401 Extend CSSO timeout check to main client (#402)

* #401 Main site timeout notification part 1

* #401 Main site timeout notification part 2

* #401 Main site timeout notification - warn at 20 min

* #403 rightClickMenuActions - Polygons and WKT (#404)

* #403 - Bugfixes and rightclick finds features

* #403 ContextMenu, Actions on features, WKT link populate

* #405 DrawTool - Template - Incrementer - Move to backend (#406)

* Mini fix to allow [] as empty geojson layer data

* Fix DrawTool Incrementer self collision bug

* Convert layer data [<FeatureCollection>] to geojson

* #407 Click intersects on Query and Draw layers (#408)

* #407 Include Query layers in click intersections

* #407 Support intersects on DrawTool layers too

* Allow the legend tool to be right justified on the screen

* #409 Added example config in description for LegendTool

* #410 Draw Tool - Time Integration (#411)

* ts-410 DrawTool - Temporal part 1

* #410 DrawlTool - Temporal Integration

* #410 Clearer DrawTool Template Date Start/End Icons

* #412 Add Configuration Option to set TimeUI Extent (#413)

* #414 IdentifierTool works again with human layer names (#415)

* #422 Removed event blocking popup functions (#423)

* Bump to 2.9.0

---------

Co-authored-by: ac-61 <[email protected]>
Co-authored-by: Joe Roberts <[email protected]>
Co-authored-by: Even Stensberg <[email protected]>
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.

1 participant