Custom directory configuration |
In actual business applications, the classification and display of resources such as maps, services, scenes, data, insights, GPA models, design 3D, and projects by user units are often diverse, such as by year, region, business type, etc. Therefore, a single classification based on the sources and types of resources cannot meet actual business needs.
Based on this, SuperMap iPortal provides the custom resource directory configuration function, which allows administrators to create one or more directory structure trees for certain types of resources, and add resources such as maps, services, scenes, data, insights, GPA models, design 3D, and projects in the portal to a specific directory folder in the specified directory structure tree. After the resource directory configuration is completed, in the "Home"> "Resource Center"> "Map/Service/Scene/Data/Insight/GPA model/Design 3D/Project" resource list page, the left filter panel will list the resource directory structure tree configured by the administrator in turn. You can also adjust the display order of the newly added catalog classification filters, or hide filters through the filter customization function.
The custom directory function is disabled by default. The administrator can enable/disable the custom directory in the following two ways:
After enabling the custom directory function, the "Home"> "Resource Center"> "Map/Service/Scene/Data/Insight/GPA model/Design 3D/Project" resource list page on the left side of the filter panel will list the custom directory structure tree configured by the administrator, or click on a resource to go to the resource details page to view the associated catalog information. You can also adjust the display order of newly added directory classification filters or hide the directory filters through the filter customization function.
After enabling the "Services" resource custom directory function, common users can register services to a provided folder via the "Home" > "Resource Center" > "Services" > "Register Services" page.
Log in to the home page of the portal as an administrator, and click "Management"> "Site Configuration"> "Directories Management" to enter the Directories Management page. The general process of using a custom directory is: 1. Select the resource type, such as: map/service/scene/data/insight/GPA model/design 3D/project; 2. Select or create a new root directory, and create one or more levels of directories under this root directory; 3. Enter a new specific directory folder, and add resources to the current directory. The following part will take "Custom Map Directory" as an example to introduce each operation in detail.
Each resource type supports the creation of one or more root directories. The system creates the root directory of the "default directory" for each resource type by default. Click the "Map" tab, click the button, enter the root directory name in the new root directory pop-up, and click OK to create a root directory. After the root directory is created, you can add directories and resources.
The root directory supports rename operation. To rename a root directory, move the mouse to the name of the root directory to be operated, click the icon that appears on the right, select the "Rename" operation, now the root directory name enters the edit state. After editing, click any blank position to exit the edit operation.
The root directory supports delete operation. To delete a root directory, move the mouse to the name of the root directory to be operated, click the icon that appears on the right, select the "Delete" operation. In the delete pop-up window, you can also choose whether to delete the resources allocated in the directory tree from the portal at the same time, or you can just click " OK" directly to complete the delete operation. Note: If you choose to delete the resource in the directory from the portal at the same time, the resources will be permanently deleted and cannot be restored. Please operate carefully.
After creating the root directory, you can add one or more levels of directories into the created root directory. For example, click the "Map" tab, select a specific root directory (the system selects "Default Directory" by default), click the "Add Directory" button, and enter the directory name you want, then the creation of the first-level directory operation is completed. You can also create multiple first-level directories, or entering the created first-level directory, click "Add Directory" to continue adding sub-directories.
On the directory management page, click the search box that appears to the right of the directory name, enter the keywords of the directory you want to query, and click the name of the directory you want to find to jump to the selected directory page.
You can add resources into a created directory. Move the mouse to the name of the root directory to be operated, click the "Add Resource" button, a pop-up window will show a list of all maps that can be added to the current directory, check the checkbox in front of the map title, then click the "Add" button to finish the add operation. You can also add maps by searching target maps with the map title keyword in the search box of the pop-up window. Note: A resource can be added to different directory structure trees, but can only be added once in the same directory structure tree.
You can move a directory or resource to a specified directory under the directory structure tree to which it belongs. At a certain directory level, check the checkbox in front of a directory or resource under the current directory, then click the move to button, select "Move to", in the "Move to" pop-up window, select the target directory name, and click "OK" button to complete the move action.
Note: When moving a directory, all contents (resources and subdirectories) under the directory will be moved together.
You can rename a directory name. Move the mouse to the target directory name, click the button that appears, the directory name will be in the editing state. After editing, click any blank position to exit the editing operation.
You can delete a directory and its resources. At a certain directory level, check the checkbox in front of the target directory or resource in the current directory, click the delete button, in the delete pop-up window, decide whether to remove the resources allocated in the directory tree from the portal, then click "OK" to complete the delete operation. Note: If you choose to delete the resources in the directory from the portal at the same time, the resource will be permanently deleted and cannot be restored. Please operate carefully.
You can adjust the display order of a directory. Move the mouse to the target directory, the move up/down arrows will be displayed, click the up/down arrows to adjust the display order, at last click the confirm button to complete adjustment operation. You can also click the cancel button to cancel the current move action.
iPortal supports importing a third-party service catalog and resources so that you can directly import a service catalog and its resources from an existing application system into iPortal. The imported third-party service catalog must follow the third-party service catalog importing specification. The specific import operations are as follows:
Log in to the portal "Home"> "Management"> "Site Configuration"> "Directories Management" page as an administrator, click "Service" in the left panel, the system will automatically select the provided "Default Directory", you can also click the button to create a new root directory, then click "Import Directory" at the top of the page, enter the third-party service catalog address in the pop-up window, that is, the URL of the root catalog (Root Catalog). For details, please refer to: Root Catalog.
The imported service catalog must comply with this specification. This specification mainly refers to STAC Catalog and STAC Item in SpatioTemporal Asset Catalog. Catalog is used to describe a directroy, and Item is used to describe a resource item (such as service resources).
When iPortal imports a third-party service catalog, the third party must and only need to provide a URL that can obtain the root directory (Root Catalog). Through the Root Catalog, iPortal can retrieve all the child directories (Child Catalog) and resource items (Item) under the Catalog. Root Catalog itself will not be synchronized to iPortal, it is only used as an entrance to retrieve Child Catalog and Item.
It is required to be able to return the json format data of the Root Catalog described in this specification. For example:
{
"id": "Root_Catalog",
"title": "Root Catalog",
"description": "Root Catalog",
"links": [
{
"rel": "self",
"href": "http://{server}/catalog.json"
},
{
"rel": "root",
"href": "http://{server}/catalog.json"
},
{
"rel": "child",
"href": "http://{server}/catalog/RailwayCatalog.json"
},
{
"rel": "child",
"href": "http://{server}/catalog/Highway.json"
},
{
"rel": "child",
"href": "http://{server}/catalog/Other.json"
}
]
}
The json representation structure is as follows:
Field | Type | Description |
id | String | [Required Parameter] The root directory ID, which is also the directory name. |
title | String | [Optional Parameter] The title of the root directory. |
description | String | [Optional Parameter] Description information of the root directory. |
links | [Link Object] | [Required Parameter] A list of the association relationship between the current directory and the link content. |
This object describes the list of association relationships between the current directory and the linked content, and consists of the following fields:
Field | Type | Description |
rel | String | [Required Parameter] Indicates the relationship between the current directory and the linked content. The values of rel include: self (self), root (root directory), parent (parent directory), child (child directory), item (data item in this directory). |
href | String | [Required Parameter] Represents the url of the link. The design of this url is not required, it is recommended to design according to the directory hierarchy. |
If there is a sub-category, it is required to be able to return the json format data of the sub-directory (Child Catalog) described in this specification. An example is as follows:
{
"id": "Railway",
"title": "Railway",
"description": "Railway catalog description",
"links": [
{
"rel": "self",
"href": "http://{server}/catalog/RailwayCatalog.json"
},
{
"rel": "parent",
"href": "http://{server}/catalog.json"
},
{
"rel": "root",
"href": "http://{server}/catalog.json"
},
{
"rel": "child",
"href": "http://{server}/catalog/RailwayCatalog/2019.json"
},
{
"rel": "child",
"href": "http://{server}/catalog/RailwayCatalog/2018.json"
},
{
"rel": "item",
"href": "http://{server}/catalog/RailwayCatalog/item1.json"
},
{
"rel": "item",
"href": "http://{server}/catalog/RailwayCatalog/item2.json"
}
]
}
The json representation structure is as follows:
Field | Type | Description |
id | String | [Required Parameter] The ID of the subdirectory, which is also the name of the directory. |
title | String | [Optional Parameter] The title of the subdirectory. |
description | String | [Optional Parameter] The description information of the subdirectory. |
links | [Link Object] | [Required Parameter] A list of the relationship between the current directory and the link content. |
This object describes the list of association relationships between the current directory and the linked content, and consists of the following fields:
Field | Type | Description |
rel | String | [Required Parameter] Indicates the relationship between the current directory and the linked content. The values of rel include: self (self), root (root directory), parent (parent directory), child (child directory), item (data item in this directory). |
href | String | [Required Parameter] Represents the url of the link. The design of this url is not required, it is recommended to design according to the directory hierarchy. |
If there is a resource item (service resource), it is required to be able to return the json format data of the resource item (Item) described in this specification. An example is as follows:
{
"id": "4b4e9e27-bef2-4a84-865a-f1dfd08f507e",
"type": "SERVICE",
"properties": {
"title": "map-china400",
"subtype": "WMS",
"version": "1.1.1",
"description": "map-china400 description",
"tags": [
"tag1",
"tag2"
],
"created": 1575508370562,
"updated": 1575508370566
},
"assets": {
"thumbnail": {
"href": "http://rdc.ispeco.com:8080/iserver/services/map-china400/wms111/entireImage.png",
"type": "image/png"
},
"metadata": {
"href": "http://rdc.ispeco.com:8080/iserver/services/map-china400/wms111",
"type": "application/xml"
}
},
"links": [
{
"rel": "self",
"href": "http://{server}/catalog/RailwayCatalog/item1.json"
},
{
"rel": "parent",
"href": "http://{server}/catalog/RailwayCatalog.json"
},
{
"rel": "root",
"href": "http://{server}/catalog.json"
}
]
}
The json representation structure is as follows:
Field | Type | Description |
id | String | [Required Parameter] Resource item ID. |
type | String | [Required Parameter] Resource item type, fixed value: SERVICE. |
properties | Properties Object | [Required Parameter] The basic property information list of the resource item. |
assets | Assets Object | [Required Parameter] The asset list of the resource item. |
links | [Link Object] | [Required Parameter] A list of the relationship between the current directory and the link content. |
This object describes the basic attribute information list of the resource item, and consists of the following fields:
Field | Type | Description |
title | String | [Required Parameter] |
subtype | String | [Required Parameter] The subtype of the resource item, for example: WMS, WMTS, etc. |
version | String | [Required Parameter] Resource item version number, for example: 1.3.0 of WMS service. |
description | String | [Optional Parameter] The description information of the resource item. |
tags | List<String> | [Optional Parameter] The tag list of the resource item. |
created | Long | [Required Parameter] The creation time of the resource item. |
updated |
Long |
[Required Parameter] The update time of the resource item. |
This object describes the asset list of the resource item and consists of the following fields:
Field | Type | Description |
thumbnai | String | [Required Parameter] The thumbnail of the resource item. |
metadata | Metadata | [Required Parameter] The metadata information of the resource item. |
This object describes the list of association relationships between the current directory and the linked content, and consists of the following fields:
Field | Type | Description |
rel | String | [Required Parameter] Indicates the relationship between the current directory and the linked content. The values of rel include: self (self), root (root directory), parent (parent directory), child (child directory), item (data item in this directory). |
href | String | [Required Parameter] Represents the url of the link. The design of this url is not required, it is recommended to design according to the directory hierarchy. |
After successfully importing the service catalog, if the address or content of the third-party service catalog is changed, you can use the one-click synchronization function of the service catalog provided by iPortal to synchronize the changes to iPortal.
Once the service catalog is successfully imported, the "Import Directory" button will be replaced with the "Synchronize Directory" button. If the content of the service catalog has changed, you can directly click "Synchronize Directory" to synchronize the iPortal service catalog with the third-party service catalog; if the address of the service catalog has changed, you can click on Edit button of the right side of the "Synchronize Directory" to update the third-party service directory address and complete synchronization.