This page describes the publication management API's for 3DM Publisher.
Please familiarize yourself with the basics first before continuing.
A Publication models a published workspace and related configurations.
Properties:
| Property | Required | Type | Description |
|---|---|---|---|
| id | * | number | Unique publication identifier. |
| name | * | number | Name of the publication. |
| user_mode | named (default) or guest | User mode of the publication.guest means only guests can open the publication.named means only named users can open the publication. |
|
| configuration | string | The publication configuration, serialized to a string. | |
| annotation_data | string | The workspace annotations, serialized to a string. | |
| logo_type | none or organisation (default) or publication | The type of logo.none means no logo.organisation means using the system-level organisation logopublication means using the image_url property. |
|
| logo_url | string | The publication logo URL. | |
| thumbnail_image | string | The publication thumbnail image. | |
| tags | string | The tags, serialized to a string. | |
| concurrent_use_min | number | The minimum number of concurrent users to keep in reserve | |
| concurrent_use_max | number | The maximum number of concurrent users to allow. | |
| created_by_user | User | The user that created the publication. | |
| workspace | Workspace | The workspace configuration. | |
| is_wms | number | Is this publication made available as a WMS service? | |
| is_wfs | number | Is this publication made available as a WFS service? | |
| is_wfst | number | Is this publication made available as a WFST service? | |
| publication_permission | PublicationPermission[] | The list of publication permissions. |
Properties ending on _image are Base64-encoded JPEG images on create, but will be URL's to the image cache on retrieval.
A Workspace models the state of a workspace with resources and views.
Properties:
| Property | Required | Type | Description |
|---|---|---|---|
| id | * | number | Unique identifier. |
| configuration | * | string | The workspace configuration, encoded as a string. Defines the workspace layout, views, resource states and settings. |
| workspace_resources | * | WorkspaceResource[] | The list of referenced resoruces in the workspace and their role. |
A WorkspaceResource models how a resource is used in the workspace.
Properties:
| Property | Required | Type | Description |
|---|---|---|---|
| id | * | number | Unique identifier. |
| resource | * | Resource | The resource. Defines a resource reference only (an object with only the id field set) |
| role | * | workspace or basemap or dem or lref | The role of the resource in the workspace. |
| order | * | number | The order of the resource. |
A PublicationPermission models one publication being shared with a usergroup or user.
Properties:
| Property | Required | Type | Description |
|---|---|---|---|
| id | * | number | Unique identifier for this group. |
| scope | * | user or usergroup | The scope of the permission.user means we share with a user. usergroup means we share with a usergroup. |
| user | User | The user the permission applies to. Defines a user reference only (an object with only the id field set) |
|
| usergroup | Usergroup | The usergroup the permission applies to. Defines a usergroup reference only (an object with only the id field set) |
This operation retrieves all publications.
Fields: Model: Publication
GET /api/3/publication
[ { "id": 50, "name": "Bla", "user_mode": "named", "description": "", "configuration": "{\"language\":\"browser\",\"invert_zoom_direction\":false,\"preferred_unit\":\"metre\",\"preferred_crs\":\"31370\",\"sidebar\":true,\"sidebar_resources\":true,\"sidebar_resources_footprint\":true,\"sidebar_create_and_verify\":true,\"sidebar_workspace\":true,\"sidebar_measure_advanced\":true,\"sidebar_measure_basic\":true,\"sidebar_measure_download\":true,\"sidebar_annotation\":true,\"sidebar_annotation_view\":true,\"sidebar_snapshot\":true,\"sidebar_sliceview\":true,\"sidebar_object_inspector\":true,\"sidebar_bookmarks\":true,\"sidebar_bookmarks_user\":true,\"sidebar_fly\":true,\"sidebar_reporting\":true,\"sidebar_movie_creation\":true,\"add_view\":true,\"search\":true,\"viewmode_3d\":true,\"viewmode_MM_spherical\":true,\"viewmode_MM_planar\":true,\"viewmode_oblique_planar\":true,\"viewmode_uas_planar\":true,\"viewmode_MM_photo\":true,\"settings\":true,\"settings_general\":true,\"settings_resource\":true,\"settings_referenceview\":true,\"settings_viewing\":true,\"settings_measuring\":true,\"settings_navigation\":true,\"settings_inspector\":true,\"link_item_label\":\"fdfds\",\"link_item_url\":\"jhkjh\",\"publication_name_hide\":false,\"view_action\":true,\"view_mode\":true,\"view_close\":true,\"about_message\":\"About message.\",\"about_force_ok\":false,\"about_show_on_startup\":false}", "logo_image": "https://website.org/logo.png", "logo_type": "publication", "thumbnail_image": "/api/3/imagecache/AiXoiBFkLf3PLWPleZbUappHd38%3D", "created_by_user": { "id": 0 }, "workspace": { "id": 3, "name": "Publication workspace", "configuration": "{\"resourceStates\":[{\"resourceReference\":{\"id\":98},\"imageLegend\":{\"visibility\":true,\"transparency\":0},\"photoLegend\":{\"visibility\":true,\"brightness\":0},\"meshLegend\":{\"visibility\":true,\"transparency\":0,\"clipDistance\":0,\"hideMesh\":true},\"pointCloudLegend\":{\"visibility\":true,\"color\":\"rgb\",\"intensityModulation\":false,\"distanceModulation\":false,\"colorMap\":\"basic\",\"colorFixed\":\"255.100.100.100\",\"hidePoints\":true,\"pointSize\":-1,\"brightness\":0,\"clipDistance\":0,\"rgbAboveIntensityEnabled\":false,\"rgbAboveIntensity\":0.1,\"transparency\":0,\"rampStyle\":\"view\",\"rampRangeOffset\":0,\"rampRangeSize\":1,\"globalMin\":0,\"globalMax\":1,\"eyedomeLighting\":false,\"tresholdEnabled\":false,\"tresholdZ\":0,\"tresholdColor\":\"255.0.0.160\",\"tresholdAboveMode\":1,\"tresholdBelowMode\":2,\"colorAboveZ\":false,\"colorAboveZValue\":0,\"colorAboveZFallback\":\"255.0.0.160\"},\"vectorLegend\":{\"clipDistance\":0,\"depthRendering\":true,\"modifierSets\":[],\"modifiers\":[]},\"globalLegend\":{\"visibility\":true},\"isRecordable\":false,\"isCollapsed\":true,\"attributeHideMap\":{}},{\"resourceReference\":{\"id\":49},\"imageLegend\":{\"visibility\":true,\"transparency\":0},\"photoLegend\":{\"visibility\":true,\"brightness\":0},\"meshLegend\":{\"visibility\":true,\"transparency\":0,\"clipDistance\":0,\"hideMesh\":true},\"pointCloudLegend\":{\"visibility\":true,\"color\":\"rgb\",\"intensityModulation\":false,\"distanceModulation\":false,\"colorMap\":\"basic\",\"colorFixed\":\"255.100.100.100\",\"hidePoints\":true,\"pointSize\":-1,\"brightness\":0,\"clipDistance\":0,\"rgbAboveIntensityEnabled\":false,\"rgbAboveIntensity\":0.1,\"transparency\":0,\"rampStyle\":\"view\",\"rampRangeOffset\":0,\"rampRangeSize\":1,\"globalMin\":0,\"globalMax\":1,\"eyedomeLighting\":false,\"tresholdEnabled\":false,\"tresholdZ\":0,\"tresholdColor\":\"255.0.0.160\",\"tresholdAboveMode\":1,\"tresholdBelowMode\":2,\"colorAboveZ\":false,\"colorAboveZValue\":0,\"colorAboveZFallback\":\"255.0.0.160\"},\"vectorLegend\":{\"clipDistance\":0,\"depthRendering\":true,\"modifierSets\":[],\"modifiers\":[]},\"globalLegend\":{\"visibility\":true},\"isRecordable\":false,\"isCollapsed\":true,\"attributeHideMap\":{}},{\"resourceReference\":{\"id\":203},\"imageLegend\":{\"visibility\":true,\"transparency\":0},\"photoLegend\":{\"visibility\":true,\"brightness\":0},\"meshLegend\":{\"visibility\":true,\"transparency\":0,\"clipDistance\":0,\"hideMesh\":true},\"pointCloudLegend\":{\"visibility\":true,\"color\":\"rgb\",\"intensityModulation\":false,\"distanceModulation\":false,\"colorMap\":\"basic\",\"colorFixed\":\"255.100.100.100\",\"hidePoints\":true,\"pointSize\":-1,\"brightness\":0,\"clipDistance\":0,\"rgbAboveIntensityEnabled\":false,\"rgbAboveIntensity\":0.1,\"transparency\":0,\"rampStyle\":\"view\",\"rampRangeOffset\":0,\"rampRangeSize\":1,\"globalMin\":0,\"globalMax\":1,\"eyedomeLighting\":false,\"tresholdEnabled\":false,\"tresholdZ\":0,\"tresholdColor\":\"255.0.0.160\",\"tresholdAboveMode\":1,\"tresholdBelowMode\":2,\"colorAboveZ\":false,\"colorAboveZValue\":0,\"colorAboveZFallback\":\"255.0.0.160\"},\"globalLegend\":{\"visibility\":true},\"isRecordable\":false,\"isCollapsed\":true,\"attributeHideMap\":{}},{\"resourceReference\":{\"id\":211},\"imageLegend\":{\"visibility\":true,\"transparency\":0},\"photoLegend\":{\"visibility\":true,\"brightness\":0},\"meshLegend\":{\"visibility\":true,\"transparency\":0,\"clipDistance\":0,\"hideMesh\":true},\"pointCloudLegend\":{\"visibility\":true,\"color\":\"rgb\",\"intensityModulation\":false,\"distanceModulation\":false,\"colorMap\":\"basic\",\"colorFixed\":\"255.100.100.100\",\"hidePoints\":true,\"pointSize\":0,\"brightness\":0,\"clipDistance\":0,\"rgbAboveIntensityEnabled\":false,\"rgbAboveIntensity\":0.1,\"transparency\":0,\"rampStyle\":\"view\",\"rampRangeOffset\":0,\"rampRangeSize\":1,\"globalMin\":0,\"globalMax\":1,\"eyedomeLighting\":false,\"tresholdEnabled\":false,\"tresholdZ\":0,\"tresholdColor\":\"255.0.0.160\",\"tresholdAboveMode\":1,\"tresholdBelowMode\":2,\"colorAboveZ\":false,\"colorAboveZValue\":0,\"colorAboveZFallback\":\"255.0.0.160\"},\"vectorLegend\":{\"clipDistance\":0,\"depthRendering\":false,\"modifierSets\":[{\"geometrySpatialType\":1,\"visibility\":true,\"modifiers\":[{\"parameterName\":\"Text.Visibility\",\"defaultValue\":null},{\"parameterName\":\"Outline.Visibility\",\"defaultValue\":\"1\"},{\"parameterName\":\"Outline.Color\",\"defaultValue\":\"255.0.255.0\"},{\"parameterName\":\"Outline.Transparency\",\"defaultValue\":\"1\"},{\"parameterName\":\"Outline.Width\",\"defaultValue\":\"2\"}]},{\"geometrySpatialType\":0,\"visibility\":true,\"modifiers\":[{\"parameterName\":\"Symbol.OutlineColor\",\"defaultValue\":null},{\"parameterName\":\"Symbol.FillColor\",\"defaultValue\":null}]},{\"geometrySpatialType\":2,\"visibility\":true,\"modifiers\":[]}],\"modifiers\":[]},\"globalLegend\":{\"visibility\":true},\"isRecordable\":false,\"isCollapsed\":false,\"attributeHideMap\":{}},{\"resourceReference\":{\"id\":187},\"imageLegend\":{\"visibility\":true,\"transparency\":0},\"photoLegend\":{\"visibility\":true,\"brightness\":0},\"meshLegend\":{\"visibility\":true,\"transparency\":0,\"clipDistance\":0,\"hideMesh\":true},\"pointCloudLegend\":{\"visibility\":true,\"color\":\"rgb\",\"intensityModulation\":false,\"distanceModulation\":false,\"colorMap\":\"basic\",\"colorFixed\":\"255.100.100.100\",\"hidePoints\":true,\"pointSize\":0,\"brightness\":0,\"clipDistance\":0,\"rgbAboveIntensityEnabled\":false,\"rgbAboveIntensity\":0.1,\"transparency\":0,\"rampStyle\":\"view\",\"rampRangeOffset\":0,\"rampRangeSize\":1,\"globalMin\":0,\"globalMax\":1,\"eyedomeLighting\":false,\"tresholdEnabled\":false,\"tresholdZ\":0,\"tresholdColor\":\"255.0.0.160\",\"tresholdAboveMode\":1,\"tresholdBelowMode\":2,\"colorAboveZ\":false,\"colorAboveZValue\":0,\"colorAboveZFallback\":\"255.0.0.160\"},\"globalLegend\":{\"visibility\":true},\"isRecordable\":false,\"isCollapsed\":false,\"attributeHideMap\":{}}],\"viewerStates\":[{\"viewerId\":\"basemap\",\"viewState\":{\"viewPosition\":{\"x\":318094.87750000006,\"y\":5090372.889,\"z\":5145.366},\"viewCRS\":\"32633\",\"viewPositionWGS\":{\"x\":12.653180715568809,\"y\":45.94282428182222,\"z\":5145.366}},\"renderMode\":\"2d\",\"photoId\":null,\"viewScale2D\":0.00011926504156616306,\"groundHeight\":77.7710438801478},{\"viewerId\":\"2\",\"viewState\":{\"viewPosition\":{\"x\":318071.7622217525,\"y\":5090317.785379125,\"z\":100.55279311522976},\"viewCRS\":\"32633\",\"viewPositionWGS\":{\"x\":12.652903673181171,\"y\":45.942322619297386,\"z\":100.55279311522976},\"viewPan\":8.800000032551281,\"viewTilt\":-30.599999954926087,\"viewFOV\":90,\"viewRoll\":-3.2654913936739974e-9},\"renderMode\":\"3d\",\"photoId\":\"[CameraName:planar1][ResourceId:16]51\",\"viewProjectionOffset\":{\"x\":5,\"y\":49,\"z\":0},\"viewPixelSize\":0.0010974266326920167,\"groundHeight\":77.7710438801478}],\"viewerLayout\":{\"name\":\"layout:top:horizontal\",\"list\":[{\"__type__\":\"List\",\"model\":{\"type\":\"vertical\",\"margin\":5,\"elements\":[{\"sizePercent\":30,\"content\":{\"__type__\":\"Viewer\",\"model\":{\"id\":\"basemap\",\"type\":\"2d\",\"reference\":true,\"external\":false,\"maximized\":false}}},{\"sizePercent\":70,\"content\":{\"__type__\":\"ViewerList\",\"model\":{\"direction\":\"right\",\"maxSize\":4,\"margin\":5,\"viewers\":[{\"id\":\"2\",\"reference\":false,\"external\":false,\"maximized\":false}]}}}]}}]},\"basemapResources\":[],\"mobileCoverageLegendDefaults\":{},\"backdropColor\":\"25.71.125\",\"displayMeshOnImage\":false,\"displayPointCloudOnImage\":false,\"displayVectorsOnReference\":true,\"displayPointCloudsOnReference\":true,\"clipPointCloudsOnReference\":false,\"displayImagesOnReference\":true,\"displayMeshesOnReference\":true,\"displayAnnotationsOnReference\":true,\"displayViewingDirectionLabel\":false,\"displayResourceType\":true,\"synchronizeViews\":true,\"synchronizeViewsFromReference\":false,\"synchronizeReferenceFromViews\":false,\"allowResourceVisibilityByView\":false,\"invertZoomDirection\":false,\"invertTiltDirection\":false,\"preventGroundIntersect\":false,\"allowOverzoom\":true,\"measureDisplayCRS\":\"3857\",\"measureDisplayUnit\":\"foot\",\"measureAutoSave\":false,\"measureAutoCopy\":false,\"stereoMode3D\":0,\"lockZ\":false,\"zoomMin\":0.5,\"zoomMax\":1,\"zoomMaxEnabled\":false,\"displayBasemapOn3D\":true,\"focusDistance3D\":20,\"drapeTerrainModel\":true,\"planarRotateNorth\":\"auto\",\"planarOpenNearby\":\"auto\",\"playFunctionMode\":1,\"playFunctionQuality\":0,\"playFunctionLoop\":true,\"enableMoveView\":true,\"enableViewMetadata\":true,\"enablePlayFunction\":true,\"enableViewBrightness\":true,\"enableNextPreviousImageBySequence\":true,\"enableNextPreviousImageByRelevance\":true,\"enableRotateInPhotoGroup\":true,\"enableRotateOblique\":true,\"enableMaximize\":true,\"enableDownload\":true,\"enableFocusToView\":true,\"enableVideoPlayer\":true,\"enableTilt3DViewNadir\":true,\"enableTilt3DViewOblique\":true,\"enableTilt3DViewZenith\":true,\"enableReport\":true,\"enableOpenResources\":false,\"viewActionLockRight\":[\"enableReport\"],\"showNearbyPhotos\":true,\"enableDisplayTimestamp\":true,\"enableDisplayPhotoID\":true,\"enableDisplayResourceName\":true,\"enableDisplayLRefDistance\":true,\"enableFloors\":false,\"floorsUseResourceGroupChildren\":false,\"isFloorsListingFromResources\":true,\"enableTimeline\":false,\"timelineUseResourceGroupChildren\":true,\"timelineMode\":\"workspace\",\"timelineGroupMode\":\"month\",\"timelineSpacingMode\":\"absolute\",\"timelinePresentation\":\"slider\",\"enableMultipleBasemaps\":true,\"quickSetting1\":\"displayBasemapOn3D\",\"quickSetting2\":\"displayPointCloudOnImage\",\"photoPointCloudTimeRange\":0,\"showNearbyPhotosInStreetlevelPhotoView\":true,\"showPixelDetectionAnnotations\":true,\"showPixelDetectionAnnotationTags\":true,\"imageSegmentationVisible\":true,\"groundHeight\":77.7710438801478,\"activeTime\":null,\"focusPosition\":{\"x\":12.652964820251372,\"y\":45.94266722980311,\"z\":77.7710438801478},\"focusCRS\":\"4326\",\"showFocusPosition\":true,\"showCenterIndicator\":false,\"showHoverPosition\":true,\"showSliceOnViews\":true,\"applySliceOnViews\":false,\"showMeasurementsOnSlice\":false,\"selectionVisible\":true,\"selectionColor\":\"255.255.0.0\",\"selectionFocus\":\"255.0.0.255\",\"searchAutofocus\":true,\"searchExactMatch\":true,\"searchIncludeMapping\":true,\"inspectorMode\":\"search\",\"inspectorResource\":null,\"inspectorAttribute\":null,\"sidebarMode\":2,\"sidebarPosition\":\"left\",\"sidebarPanel\":\"bookmark\",\"viewToolsPosition\":\"center\",\"quickSettingsPosition\":\"sidebar\",\"photoMaxSearchDistanceStreetlevelSpherical\":422,\"viewDepthStreetlevel\":100,\"viewDepthStreetlevelPlanar\":100,\"viewDepthStreetlevelSpherical\":100,\"viewDepthUAV\":500,\"viewDepthOblique\":1000,\"annotationViewDepth\":0,\"planarObliqueSortingMethod\":1,\"planarUAVSortingMethod\":3,\"planarStreetlevelSortingMethod\":3,\"sphericalStreetlevelSortingMethod\":3,\"photoSearchCenter\":\"focus\",\"photoSearchCenterStreetlevelPlanar\":\"focus\",\"photoSearchCenterStreetlevelSpherical\":\"focus\",\"photoSearchCenterUAV\":\"focus\",\"photoSearchCenterOblique\":\"focus\",\"photoSearchDimensions\":\"3d\",\"photoSearchDimensionsStreetlevelPlanar\":\"2d\",\"photoSearchDimensionsStreetlevelSpherical\":\"3d\",\"photoSearchDimensionsUAV\":\"3d\",\"photoSearchDimensionsOblique\":\"3d\",\"searchLineOfSightOblique\":true,\"searchLineOfSightUAV\":true,\"searchLineOfSightStreetlevelPlanar\":true,\"searchLineOfSightStreetlevelSpherical\":false,\"searchImageCenterRangeStreetlevelPlanar\":0.6,\"searchImageCenterRangeUAV\":0.6,\"searchImageCenterRangeOblique\":0.6,\"enableCursor\":false,\"cursorShowUsedPoints\":false,\"cursorShowRadius\":false,\"cursorTransparency\":0.6,\"cursorMinPointCount\":5,\"measureTechnique\":9,\"measureMinSize\":5,\"measureMaxSize\":25,\"measureClusterGapSize\":0.1,\"measureSnapToRidgeOrCorner\":false,\"measureExportsLabelOption\":0,\"searchMode\":\"lref\",\"searchOpenPhoto\":true,\"leftDragAction\":null,\"middleDragAction\":null,\"rightDragAction\":null,\"styleName\":\"system\",\"styleHighlight\":\"green\",\"openSphericalPhotoPanMode\":\"relative\",\"useReferenceFocus\":false,\"referenceFocusScale\":50000}", "workspace_resource": [ { "resource": { "id": 203 }, "role": "basemap", "order": 0 }, { "resource": { "id": 60 }, "role": "lref", "order": 0 }, { "resource": { "id": 187 }, "role": "workspace", "order": 0 } ] }, "tags": "[\"test\"]", "is_wfs": 1, "is_wfst": 1, "is_wms": 1, "publication_permission": [ { "scope": "usergroup", "usergroup": { "id": 2 } }, { "scope": "user", "user": { "id": 25 } } ] }, ... ]
This operation updates a publication declaration, but not the underlying workspace. Use the Operation: Update Workspace operation for that.
The following fields can be updated:
Fields: Model: Publication
POST /api/3/publication/123
{ "name": "Test2", "publication_permission": [ { "scope": "usergroup", "usergroup": { "id": 25 } } ] }
On success, returns the full updated publication.
Don't rely on this, this operation will return an empty response in the future (and http code 204).
{ "code": "field_not_unique", "message": "Uniqueness check failed: Another item with this name value 'test' already exists.", }
This operation creates a new publication by duplicating an existing one.
POST /api/3/publication/123/duplicate
Returns the full duplicated publication.
This operation deletes an existing publication (and workspace).
DELETE /api/3/publication/123
No content
{ "code": "not_found", "message": "Publication with id '123' was not found." }
This operation updates a workspace declaration.
The following fields can be updated:
Fields: Model: Workspace
POST /api/3/workspace/123
{ "workspace_resource": [ { "order": 0, "role": "workspace", "resource": { "id": 25 } } ] }
No content
{ "code": "not_found", "message": "Workspace with id '123' was not found.", }