How to transfer administration data
Administration data is stored in the MongoDB database. It can be useful to extract partially data from a given repository (for instance a testing or a project repository) in order to import it in another MongoDB referential. This document describes the tool that transfers partially contents of the administration data.
Another document describes more globally the strategies available and gives solution for global data transfer.
Tools available
Transfer administration data with these two tools:
-
The export profile tool contains a list of entities and properties to be exported (the export is launched from the definition, and generates a JSON file).
-
The import tool imports the JSON file generated by the export tool into the destination database.
The export tool is very powerful. It enables exporting to different entities in a single step. Be careful to set up your model correctly:
* A model is a list of entities to be exported, defined by:
* The entity name.
* A check box that enables exporting the whole table and a filter expressed in SData format if only some instances are to be exported.
* Optionally, a list of key records to filter the exported data.
* The list of the entity's properties that identifies the instance as a unique key.
* The list of the properties that have to be included in the exported data (not necessarily all of them).
* When entity A includes an association to instances of entity B, we either export A before, but without the association to B, and then the entity B with a reference to A (otherwise, at import time, the reference will not be found). Depending of the type of reference, the order can be reversed.
Example: user's referential (partial)
In this example, we want to import users, groups, badges, roles and security profiles. The data model's corresponding entities and relations:
Considering this data model:
- The first entities that don't refer to the others are the
securityProfile
andsecurityProfileItems
entities. They can be imported first. The various properties in the data model can be given in this entity's profile item attributes list. The corresponding key iscode
in both cases. - Next, import the
badges
that don't refer to the others. The key will be thecode
. Note that here the propertyrole
that contains a list of theroles
using thisbadge
will not be imported (we will import the list ofbadges
with theroles
). You must choose to import one of these two relations. If you do both, at execution time, you will get an error (circular reference). - Import the
roles
that have a relation withbadges
andsecurity profiles
(as these entities have already been declared), and are identified by the propertycode
. - The next entity to be imported can be the
groups
that have a relation with theroles
and are identified by the propertydescription
. - And finally, the entity
users
, identified by thelogin
property, and that has a relation with theroles
, can be imported.
You can add a restriction on any entity with SDATA conditions (for instance login -ne 'JOHNDOE'
on the user
entity), but it is also possible to select the export all
checkbox to export all entities.
A good trick to identify the various properties' relations is to use the lookup that allows adding properties in the profile item attributes tab.:
We can see, for instance:
- That
active
,changePassword
are boolean properties that can directly be imported. - That
authentication
,authenticationName
,email
,firstName
,lastName
are properties that are strings (by default) that can directly be imported. - That
adminTeams
,authorTeams
, andmemberTeams
are relations to theteams
entity. If you want to import them, you must first import theteams
entity. - That
endpoints
is a relation with the entityuserEndpoints
(that also has another relation to theendpoints
entity). If you want to import the user endpoints assignments, you must first import theendpoints
entity. And as this entity is also linked to thex3servers
andapplications
, you will also have to import these entities prior to importing the others.
Finally, it is important to understand:
- That you can partially import the properties of an entity if are not mandatory.
- That you must import the instances on which other entities are in relation with first.
Complete the setup
Considering the previous steps and explanation, the setup of an import could appear as follows:
Classname | Title | Use standard profile | Filter | Export all |
---|---|---|---|---|
securityProfileItems | securityProfileItem | |||
securityProfiles | securityProfile | |||
badges | badge | |||
roles | role | |||
groups | group | |||
users | user | login ne 'JOHNDOE' |
For every entity, the Profile item key and the Profile item attributes are as follows:
securityProfileItems class | ||
---|---|---|
profile item key | Profile item attributes | |
code | canCreate | |
canDelete | ||
canExecute | ||
canRead | ||
canWrite | ||
code | ||
description | ||
securityProfiles class | ||
profile item key | Profile item attributes | |
code | authoringLevel | |
code | ||
description | ||
profileItems | ||
badges class | ||
profile item key | Profile item attributes | |
code | code | |
keyFunction | ||
keyFunction2 | ||
noCheck | ||
title | ||
roles class | ||
profile item key | Profile item attributes | |
code | badges | |
code | ||
description | ||
securityProfile | ||
groups class | ||
profile item key | Profile item attributes | |
description | description | |
role | ||
users class | ||
profile item key | Profile item attributes | |
login | active | |
authentication | ||
authenticationName | ||
firstName | ||
groups | ||
lastName | ||
login | ||
title |
Export result
The file generated by the export tool is a JSON file containing several sections:
The prototype section
This section describes the various entities that have been possibly exported. Here's an example:"$prototypes": {
"securityProfileItem": {
"$key": "code",
"$localized": [
"description"
]
},
"securityProfile": {
"$key": "code",
"$localized": [
"description"
],
"profileItems": {
"$key": "code",
"$localized": [
"description"
]
}
},
"badge": {
"$key": "code",
"$localized": [
"title"
]
},
"role": {
"$key": "code",
"$localized": [
"description"
],
"badges": {
"$key": "code"
},
"securityProfile": {
"$key": "code"
}
},
"group": {
"$key": "description.en-us",
"$localized": [
"description",
"description"
],
"role": {
"$key": "code"
}
},
"user": {
"$key": "login",
"groups": {
"$key": "description.en-us"
}
}
}
The item section
This section contains an array of different instances. Every instance is identified by a property called $type
and is followed by all the properties that have been selected.
{
"$type": "securityProfile",
"code": "User",
"description": "description_a84c663c-e01a-4e5d-a18a-ed1281095a0f",
"authoringLevel": "user",
"profileItems": [
{
"code": "myProfile",
"description": "description_7c20fcce-edd3-4017-a6a3-36e3d8650b9e",
"canCreate": false,
"canRead": true,
"canWrite": true,
"canDelete": false,
"canExecute": false
},
{
"code": "users",
"description": "description_9e93f98f-57c7-451f-83f2-4f0fd5b868c6",
"canCreate": false,
"canRead": false,
"canWrite": false,
"canDelete": false,
"canExecute": false
},
...
{
"code": "exportData",
"description": "description_46bb92e2-c0f3-41f6-b6cf-a32398595110",
"canCreate": false,
"canRead": false,
"canWrite": false,
"canDelete": false,
"canExecute": false
}
]
}
Example of a badge
entity:
{
"$type": "badge",
"code": "ERPTRAN",
"title": "title_963b8544-7fe2-4b99-8b95-ff25b6e77df2",
"keyFunction": "GESEXS,GESPSH",
"keyFunction2": "GESEXS, GESPSH"
}
Example of a role
entity:
{
"$type": "role",
"code": "ERP-APACCMAN",
"description": "description_7e6964a5-7d2a-47f7-9d24-95c07e60dbad",
"badges": [
"ERPFIN"
],
"securityProfile": "User"
}
Example of a group
entity:
{
"$type": "group",
"description": "description_9ef06d69-dc47-4f73-ad45-a18e569aacf2",
"role": "ADMIN_ROLE"
}
Example of a users
entity:
{
"$type": "user",
"login": "ADMNA",
"title": "mr",
"firstName": "NA",
"lastName": "System Administrator",
"active": true,
"groups": [
"description_54c329ea-a303-4fb6-a76c-fe863d65452b",
"description_af4172b4-4766-4794-b1e4-350baca31ce5"
]
}
The localization section
This section contains the translation, for every language, of the localized descriptions defined in the previous data feed by a string "ffff_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
where ffff
is the property name (usually title
or description
) and xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
is a unique id that identifies an instance.
"$localization": {
"de-de": {
"description_a84c663c-e01a-4e5d-a18a-ed1281095a0f": "Benutzer",
"description_7c20fcce-edd3-4017-a6a3-36e3d8650b9e": "Persönlichen Profil",
"title_963b8544-7fe2-4b99-8b95-ff25b6e77df2": "Benutzer Transaktionen",
...
},
"en-en": {
"description_a84c663c-e01a-4e5d-a18a-ed1281095a0f": "User",
"description_7c20fcce-edd3-4017-a6a3-36e3d8650b9e": "Personal profile",
"title_963b8544-7fe2-4b99-8b95-ff25b6e77df2": "User Transactions",
...
},
"fr-fr": {
"description_a84c663c-e01a-4e5d-a18a-ed1281095a0f": "Utilisateur",
"description_7c20fcce-edd3-4017-a6a3-36e3d8650b9e": "Profil personnel",
"title_963b8544-7fe2-4b99-8b95-ff25b6e77df2": "Transactions utilisateur",
...
},
...
}
How to get a description of entities
A very simple way to get a complete description of an entity is to use $prototype URL directly from the browser:
')
where :
my_server
andmy_service
define the node.js server where the user is connected.entity
is the entity to be displayed.
For instance, if you use:
`')
you will get the following JSON description:
{
"$type": "application/json",
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$details')",
"$url": "{$baseUrl}/{$pluralType}('{$key}')",
"$shortUrl": "{$baseUrl}/{$pluralType}('{$key}')",
"$value": "{login}",
"$title": "{firstName} {lastName}",
"$key": "{$uuid}",
"$description": "{firstName}'s profile",
"$pluralType": "users",
"$representation": "user",
"$properties": {
"login": {
"$title": "Login",
"$displayLength": 8,
"$isUnique": true,
"$isMandatory": true,
"$capabilities": "sort,filter,alphaTab",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/{$pluralType}('{$key}')?representation={$representation}.$details&role={$role}"
}
},
"$type": "application/x-string"
},
"title": {
"$title": "Title",
"$displayLength": 4,
"$capabilities": "sort,filter,alphaTab",
"$type": "application/x-choice",
"$value": {
"$type": "application/x-string",
"$enum": [
{
"$value": "mr",
"$title": "Mr."
},
{
"$value": "mrs",
"$title": "Mrs."
}
]
}
},
"firstName": {
"$title": "First name",
"$displayLength": 12,
"$capabilities": "sort,filter,alphaTab",
"$type": "application/x-string"
},
"lastName": {
"$title": "Last name",
"$displayLength": 12,
"$isMandatory": true,
"$capabilities": "sort,filter,alphaTab",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/{$pluralType}('{$key}')?representation={$representation}.$details&role={$role}"
}
},
"$type": "application/x-string"
},
"active": {
"$title": "Active",
"$capabilities": "sort,filter",
"$type": "application/x-boolean"
},
"authentication": {
"$title": "Authentication",
"$capabilities": "sort,filter,alphaTab",
"$type": "application/x-choice",
"$value": {
"$type": "application/x-string",
"$enum": [
{
"$value": "",
"$title": "Standard"
},
{
"$value": "db",
"$title": "DB"
},
{
"$value": "ldap",
"$title": "LDAP"
},
{
"$value": "oauth2",
"$title": "OAuth2"
}
]
}
},
"authenticationName": {
"$title": "Authentication name",
"$capabilities": "sort,filter,alphaTab",
"$type": "application/x-string"
},
"email": {
"$title": "Email",
"$displayLength": 30,
"$capabilities": "sort,filter,alphaTab",
"$type": "application/x-string",
"$format": "$email"
},
"photo": {
"$title": "Photo",
"$capabilities": "",
"$type": "image",
"$url": "{$baseUrl}/{$pluralType}('{$key}')/photo"
},
"infov6": {
"$title": "Connection information for V6",
"$capabilities": "sort,filter",
"$type": "application/x-boolean"
},
"userv6": {
"$title": "User",
"$capabilities": "sort,filter,alphaTab",
"$type": "application/x-string"
},
"changePassword": {
"$title": "Require password change",
"$capabilities": "sort,filter",
"$type": "application/x-boolean",
"$isNullable": true
},
"explorer": {
"$title": "Explorer",
"$capabilities": "sort,filter",
"$type": "application/x-graph",
"$format": "d3.nodeChart",
"$url": "{$baseUrl}/{$pluralType}('{$key}')/$graphs/explorer",
"$linkCategories": [
{
"$name": "groups",
"$title": "Groups"
},
{
"$name": "groups.endPoints",
"$title": "Endpoints"
},
{
"$name": "groups.role",
"$title": "Role"
},
{
"$name": "adminTeams",
"$title": "Teams administrator"
},
{
"$name": "authorTeams",
"$title": "Teams author"
},
{
"$name": "memberTeams",
"$title": "Teams member"
}
],
"$nodeCategories": [
{
"$name": "user",
"$title": "Users",
"$selected": true,
"$prototype": {
"$properties": {
"$value": "{login}"
}
}
},
{
"$name": "group",
"$title": "Groups",
"$selected": true,
"$prototype": {
"$properties": {
"$value": "{description}"
},
"$links": {
"$default": {
"$url": "{$baseUrl}/groups('{$uuid}')?representation=group.$details",
"$type": "json"
}
}
}
},
{
"$name": "endPoint",
"$title": "Endpoints",
"$selected": false,
"$prototype": {
"$properties": {
"$value": "{description}"
},
"$links": {
"$default": {
"$url": "{$baseUrl}/endPoints('{$uuid}')?representation=endPoint.$details",
"$type": "json"
}
}
}
},
{
"$name": "role",
"$title": "Roles",
"$selected": false,
"$prototype": {
"$properties": {
"$value": "{description}"
},
"$links": {
"$default": {
"$url": "{$baseUrl}/roles('{$uuid}')?representation=role.$details",
"$type": "json"
}
}
}
},
{
"$name": "team",
"$title": "Teams",
"$selected": true,
"$prototype": {
"$properties": {
"$value": "{description}"
},
"$links": {
"$default": {
"$url": "{$baseUrl}/teams('{$uuid}')?representation=team.$details",
"$type": "json"
}
}
}
}
]
},
"groups": {
"$title": "Groups",
"$capabilities": "sort,filter",
"$type": "application/x-array",
"$item": {
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/groups('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/groups('{$key}')",
"$value": "{description}",
"$description": "Access administration, groups associate users with roles and endpoints",
"$key": "{$uuid}",
"$properties": {
"description": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "group",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/groups('{$key}')?representation=group.$details&role={$role}"
}
}
}
}
},
"endpoints": {
"$title": "Endpoints login",
"$capabilities": "sort,filter",
"$type": "application/x-array",
"$item": {
"$type": "application/json",
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$details')",
"$key": "{$uuid}",
"$pluralType": "userEndpoints",
"$representation": "userEndpoint",
"$properties": {
"login": {
"$title": "User login",
"$displayLength": 10,
"$capabilities": "sort,alphaTab",
"$type": "application/x-string"
},
"endpoint": {
"$title": "Endpoint",
"$displayLength": 15,
"$isMandatory": true,
"$capabilities": "sort",
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/endPoints('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/endPoints('{$key}')",
"$value": "{description}",
"$description": "Endpoints describe services locations",
"$key": "{$uuid}",
"$properties": {
"description": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "endPoint",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/endPoints('{$key}')?representation=endPoint.$details&role={$role}"
}
}
}
},
"$creUser": {
"$title": "Created by",
"$type": "application/x-string",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$updUser": {
"$title": "Updated by",
"$type": "application/x-string",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$creDate": {
"$title": "Created on",
"$type": "application/x-datetime",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$updDate": {
"$title": "Updated on",
"$type": "application/x-datetime",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
}
},
"$links": {},
"$actions": {},
"$shortUrl": "{$shortUrl}/endpoints('{$uuid}')"
}
},
"locales": {
"$title": "Locales",
"$capabilities": "sort,filter",
"$type": "application/x-array",
"$item": {
"$type": "application/json",
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$details')",
"$key": "{$uuid}",
"$description": "Regional preferences",
"$pluralType": "localePreferences",
"$representation": "localePreference",
"$properties": {
"code": {
"$title": "Locale code",
"$isUnique": true,
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/{$pluralType}('{$key}')?representation={$representation}.$details&role={$role}"
},
"$lookup": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/lookupLocales?representation=lookupLocale.$lookup&role={$role}&trackingId={$trackingId}&binding=code",
"$result": "name"
}
},
"$type": "application/x-string"
},
"description": {
"$title": "Description",
"$isMandatory": true,
"$capabilities": "sort,localize,alphaTab",
"$links": {
"$localize": {
"$title": "Translations",
"$url": "{$shortUrl}/description/$localize",
"$method": "GET"
}
},
"$type": "application/x-string"
},
"enabled": {
"$title": "Enabled",
"$capabilities": "sort",
"$type": "application/x-boolean"
},
"shortDate": {
"$title": "Date format",
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$type": "application/x-string"
},
"longDate": {
"$title": "Long date format",
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$type": "application/x-string"
},
"shortTime": {
"$title": "Time format",
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$type": "application/x-string"
},
"longTime": {
"$title": "Long time format",
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$type": "application/x-string"
},
"shortDatetime": {
"$title": "Date/time format",
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$type": "application/x-string"
},
"longDatetime": {
"$title": "Long date/time format",
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$type": "application/x-string"
},
"firstDayOfWeek": {
"$title": "First day of week",
"$isMandatory": true,
"$capabilities": "sort",
"$type": "application/x-choice",
"$value": {
"$type": "application/x-integer",
"$enum": [
{
"$value": 0,
"$title": "Sunday"
},
{
"$value": 1,
"$title": "Monday"
},
{
"$value": 2,
"$title": "Tuesday"
},
{
"$value": 3,
"$title": "Wednesday"
},
{
"$value": 4,
"$title": "Thursday"
},
{
"$value": 5,
"$title": "Friday"
},
{
"$value": 6,
"$title": "Saturday"
}
]
}
},
"twoDigitYearMax": {
"$title": "Two-digit max year",
"$isMandatory": true,
"$capabilities": "",
"$type": "application/x-integer",
"$isDisabled": true
},
"numberDecimalSeparator": {
"$title": "Number decimal separator",
"$isMandatory": true,
"$capabilities": "sort,alphaTab",
"$type": "application/x-choice",
"$value": {
"$type": "application/x-string",
"$enum": [
{
"$value": ".",
"$title": ". (dot)"
},
{
"$value": ",",
"$title": ", (comma)"
}
]
},
"$format": "$combo"
},
"numberGroupSeparator": {
"$title": "Number group separator",
"$capabilities": "sort,alphaTab",
"$type": "application/x-choice",
"$value": {
"$type": "application/x-string",
"$enum": [
{
"$value": " ",
"$title": "Space"
},
{
"$value": ".",
"$title": ". (dot)"
},
{
"$value": ",",
"$title": ", (comma)"
},
{
"$value": "",
"$title": "None"
},
{
"$value": "'",
"$title": "' (hyphen)"
}
]
},
"$format": "$combo"
},
"numberGroupSize": {
"$title": "Number group size",
"$capabilities": "sort",
"$type": "application/x-integer"
},
"$creUser": {
"$title": "Created by",
"$type": "application/x-string",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$updUser": {
"$title": "Updated by",
"$type": "application/x-string",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$creDate": {
"$title": "Created on",
"$type": "application/x-datetime",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$updDate": {
"$title": "Updated on",
"$type": "application/x-datetime",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
}
},
"$links": {},
"$actions": {},
"$shortUrl": "{$shortUrl}/locales('{$uuid}')"
}
},
"preferences": {
"$title": "User preferences",
"$isExcluded": true,
"$capabilities": "sort,filter",
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/userPreferences('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/userPreferences('{$key}')",
"$value": "{$key}",
"$key": "{$uuid}",
"$properties": {},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "userPreference",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/userPreferences('{$key}')?representation=userPreference.$details&role={$role}"
}
}
}
},
"bookmarks": {
"$title": "Bookmarks",
"$isExcluded": true,
"$capabilities": "sort,filter",
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/userBookmarks('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/userBookmarks('{$key}')",
"$value": "{$key}",
"$key": "{$uuid}",
"$properties": {},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "userBookmark",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/userBookmarks('{$key}')?representation=userBookmark.$details&role={$role}"
}
}
}
},
"ldap": {
"$title": "LDAP instance",
"$capabilities": "sort,filter",
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/ldaps('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/ldaps('{$key}')",
"$value": "{name} {url}",
"$description": "LDAP",
"$key": "{$uuid}",
"$properties": {
"name": {
"$type": "application/x-string"
},
"url": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "ldap",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/ldaps('{$key}')?representation=ldap.$details&role={$role}"
}
}
}
},
"oauth2": {
"$title": "OAuth2 instance",
"$capabilities": "sort,filter",
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/oauth2s('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/oauth2s('{$key}')",
"$value": "{name} {baseSite}",
"$description": "OAuth2 server {name}",
"$key": "{$uuid}",
"$properties": {
"name": {
"$type": "application/x-string"
},
"baseSite": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "oauth2",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/oauth2s('{$key}')?representation=oauth2.$details&role={$role}"
}
}
}
},
"adminTeams": {
"$title": "Teams administrator",
"$capabilities": "sort,filter",
"$type": "application/x-array",
"$item": {
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/teams('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/teams('{$key}')",
"$value": "{description}",
"$description": "Teams management",
"$key": "{$uuid}",
"$properties": {
"description": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "team",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/teams('{$key}')?representation=team.$details&role={$role}"
}
}
}
}
},
"authorTeams": {
"$title": "Teams author",
"$capabilities": "sort,filter",
"$type": "application/x-array",
"$item": {
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/teams('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/teams('{$key}')",
"$value": "{description}",
"$description": "Teams management",
"$key": "{$uuid}",
"$properties": {
"description": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "team",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/teams('{$key}')?representation=team.$details&role={$role}"
}
}
}
}
},
"memberTeams": {
"$title": "Teams member",
"$capabilities": "sort,filter",
"$type": "application/x-array",
"$item": {
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/teams('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/teams('{$key}')",
"$value": "{description}",
"$description": "Teams management",
"$key": "{$uuid}",
"$properties": {
"description": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "team",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/teams('{$key}')?representation=team.$details&role={$role}"
}
}
}
}
},
"landingPages": {
"$title": "Landing pages",
"$capabilities": "sort,filter",
"$type": "application/x-array",
"$item": {
"$type": "application/x-reference",
"$item": {
"$url": "{$baseUrl}/landingPages('{$key}')?representation={$representation}.$thumb",
"$shortUrl": "{$baseUrl}/landingPages('{$key}')",
"$value": "{title}",
"$key": "{$uuid}",
"$properties": {
"title": {
"$type": "application/x-string"
}
},
"$prototype": "{$baseUrl}/$prototypes('{$representation}.$thumb')",
"$representation": "landingPage",
"$links": {
"$details": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/landingPages('{$key}')?representation=landingPage.$details&role={$role}"
}
}
}
}
},
"$creUser": {
"$title": "Created by",
"$type": "application/x-string",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$updUser": {
"$title": "Updated by",
"$type": "application/x-string",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$creDate": {
"$title": "Created on",
"$type": "application/x-datetime",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
},
"$updDate": {
"$title": "Updated on",
"$type": "application/x-datetime",
"$isDisabled": true,
"$isHidden": true,
"$capabilities": "sort,filter"
}
},
"$links": {
"testlogin": {
"$type": "application/json;vnd.sage=syracuse",
"$url": "{$baseUrl}/{$pluralType}('{$uuid}')/$service/testlogin?representation={$representation}.$details&pwd={pwd}",
"$title": "LDAP Test login",
"$method": "post",
"$parameters": {
"$properties": {
"pwd": {
"$title": "Password",
"$type": "application/x-password",
"$value": ""
}
}
}
},
"$edit": {
"$type": "application/json;vnd.sage=syracuse",
"$title": "Edit",
"$url": "{$baseUrl}/{$pluralType}('{$key}')/$workingCopies?representation={$representation}.$edit&role={$role}",
"$method": "POST"
},
"$delete": {
"$title": "Delete",
"$confirm": "The record {login} will be deleted. Confirm ?",
"$url": "{$baseUrl}/{$pluralType}('{$key}')?representation={$representation}.$details&role={$role}",
"$type": "application/json;vnd.sage=syracuse",
"$method": "DELETE"
},
"$query": {
"$type": "application/json;vnd.sage=syracuse",
"$title": "List of users",
"$url": "{$baseUrl}/{$pluralType}?representation={$representation}.$query&role={$role}"
},
"$help": {
"$url": "{$baseHelpUrl}/../Administration-reference/Users.html",
"$title": "Help",
"$type": "text/html",
"$target": "help"
},
"$wordreport": {
"$title": "Word report",
"$url": "{$baseUrl}/{$pluralType}('{$key}')?representation={$representation}.$details&role={$role}&reportMode={reportMode}&doc_uuid={document}",
"$type": "application/syracuse-word-report",
"$confirm": "Have you installed the SyracuseAddins for Office?",
"$officeAddinSetup": "/msoffice/lib/general/addIn/SyracuseOfficeAddinsSetup.EXE",
"$parameters": {
"$url": "/sdata/syracuse/collaboration/syracuse/msoReportModes/$template/$workingCopies?representation=msoReportMode.$edit&role={$role}&$msoRepr={$representation}.$details&$msoLocale=&$msoCpy=&$msoLeg=&$msoActiv=&$msoEndpoint=",
"$method": "POST",
"$properties": {
"dummy": {
"$title": "dummy",
"$type": "application/x-string"
}
}
}
},
"$excelreport": {
"$title": "Excel report",
"$url": "{$baseUrl}/{$pluralType}('{$key}')?representation={$representation}.$details&role={$role}&excelReportMode={excelReportMode}&doc_uuid={document}",
"$type": "application/syracuse-excel-worksheet",
"$confirm": "Have you installed the SyracuseAddins for Office?",
"$officeAddinSetup": "/msoffice/lib/general/addIn/SyracuseOfficeAddinsSetup.EXE",
"$parameters": {
"$url": "/sdata/syracuse/collaboration/syracuse/msoExcelReportModes/$template/$workingCopies?representation=msoExcelReportMode.$edit&role={$role}&$msoExcelRepr={$representation}.$details&$msoLocale=&$msoCpy=&$msoLeg=&$msoActiv=&$msoEndpoint=",
"$method": "POST",
"$properties": {
"dummy": {
"$title": "dummy",
"$type": "application/x-string"
}
}
}
}
},
"$actions": {},
"$descriptor": "prototype user.$details",
"$baseType": "application/json;vnd.sage=syracuse",
"$baseUrl": "http://ayvdemosyracuse:8124/sdata/syracuse/collaboration/syracuse",
"$baseHelpUrl": "http://ayvdemosyracuse:8124/help/en-US/syracuse/collaboration/syracuse",
"$localization": {
"@AdministrationSectionTitle": "Administration",
"@ExplorerSectionTitle": "Explorer",
"@InformationsSectionTitle": "Information",
"@LocalesSectionTitle": "Custom locales",
"@LoginSectionTitle": "Login"
},
"$article": {
"$layout": {
"$items": [
{
"$layoutType": "row",
"$items": [
{
"$items": [
{
"$title": "{@LoginSectionTitle}",
"$category": "section",
"$layout": {
"$items": [
{
"$category": "section",
"$layout": {
"$items": [
{
"$bind": "login"
},
{
"$bind": "active"
},
{
"$bind": "authentication"
},
{
"$bind": "oldPassword"
},
{
"$bind": "password"
},
{
"$bind": "changePassword"
},
{
"$bind": "authenticationName"
},
{
"$bind": "ldap"
},
{
"$bind": "oauth2"
}
]
}
}
]
}
},
{
"$title": "{@InformationsSectionTitle}",
"$category": "section",
"$layout": {
"$items": [
{
"$category": "section",
"$layout": {
"$items": [
{
"$bind": "title"
},
{
"$bind": "firstName"
},
{
"$bind": "lastName"
},
{
"$bind": "email"
},
{
"$bind": "photo"
}
]
}
}
]
}
}
]
},
{
"$items": [
{
"$title": "{@ExplorerSectionTitle}",
"$category": "section",
"$layout": {
"$items": [
{
"$category": "section",
"$layout": {
"$items": [
{
"$bind": "explorer",
"$isTitleHidden": true
}
]
}
}
]
}
}
]
}
]
},
{
"$layoutType": "stack",
"$items": [
{
"$title": "{@AdministrationSectionTitle}",
"$category": "section",
"$layout": {
"$items": [
{
"$category": "section",
"$layout": {
"$layoutType": "row",
"$items": [
{
"$items": [
{
"$bind": "groups"
},
{
"$bind": "infov6"
},
{
"$bind": "userv6"
},
{
"$bind": "passwordv6"
},
{
"$bind": "endpoints"
}
]
},
{
"$items": [
{
"$bind": "adminTeams"
},
{
"$bind": "authorTeams"
},
{
"$bind": "memberTeams"
}
]
}
]
}
}
]
}
},
{
"$title": "{@LocalesSectionTitle}",
"$category": "section",
"$layout": {
"$items": [
{
"$category": "section",
"$layout": {
"$items": [
{
"$bind": "locales",
"$isTitleHidden": true,
"$format": "cards",
"$layout": {
"$items": [
{
"$category": "section",
"$layout": {
"$layoutType": "row",
"$items": [
{
"$layoutType": "stack",
"$items": [
{
"$bind": "code"
},
{
"$bind": "description"
},
{
"$bind": "enabled"
},
{
"$bind": "shortDate"
},
{
"$bind": "shortTime"
},
{
"$bind": "shortDatetime"
}
]
},
{
"$layoutType": "stack",
"$items": [
{
"$bind": "longDate"
},
{
"$bind": "longTime"
},
{
"$bind": "longDatetime"
},
{
"$bind": "firstDayOfWeek"
}
]
},
{
"$layoutType": "stack",
"$items": [
{
"$bind": "numberDecimalSeparator"
},
{
"$bind": "numberGroupSeparator"
},
{
"$bind": "numberGroupSize"
}
]
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
]
}
}
}