Custom directory configuration

Feedback


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.

Enable/disable custom directory

The custom directory function is disabled by default. The administrator can enable/disable the custom directory in the following two ways:

  1. Log in to the portal home page as an administrator, and click "Management"> "Site Configuration"> "Directories Management" in turn to enter the Directories Management page, which provides the custom directory configuration item for the map/service/scene/data/insights/GPA model/design 3D/project resources. You can click the enable/disable switch in the upper left corner of the page to control whether to enable the custom directory according to the actual business needs.
  2. In the iportal.xml configuration file under the [SuperMap iPortal installation directory]\webapps\iportal\WEB-INF folder, set the enable/disable custom directory through the <customDirectorySetting> sub-node element. For details, please refer to: iPortal Configuration File description.

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.

Custom directory settings

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.

Add root directory

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.

Rename root directory

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.

Delete root directory

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.

Add directory

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.

Search directory

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.

Add resources

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.

Move directories and resources

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.

Rename directory

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.

Delete directories and resources

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.

Adjust the order of directories

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.

Import a third-party service catalog

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.

Third-party service catalog importing specification

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).

Root Catalog

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.

Link Object

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.

Child Catalog

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.

Link Object

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.

Item

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.

Properties Object

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.

 

Assets Object

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.

Link Object

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.

Synchronization of third-party service catalog

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.