Config

This is an example config just clarifying the different keys

{
    "debug": false, //if debug output is written to console
    "uploadAvatar": { // needed to upload avatar, (optional)
        "org": "YOUR_ORG",
        "endpoint": "YOUR_ENDPOINT",
        "authorization": "YOUR_AUTHORIZATION"
    },
    "map": {
        "apiKey": "GOOGLE_MAPS_JS_API_KEY", //https://developers.google.com/maps/documentation/javascript/get-api-key
        "defaultSinglePointZoom": 14
    },
    "contextMenu": { // right click on concept to display context menu (optional)
        "delete": true, //ability to delete from context menu
        "compareAndReplace": true, //ability to trigger compare and replace from context menu
        "changeStatus": {
            "OCProperty": "ConceptImStatusFull",
            "options": [
                {
                    "label": "draft",
                    "key": "imext:draft"
                },
                {
                    "label": "canceled",
                    "key": "stat:canceled"
                },
                {
                    "label": "usable",
                    "key": "stat:usable"
                },
                {
                    "label": "withheld",
                    "key": "stat:withheld"
                }
            ]
        }
    },
    "templatesConfigEndpoint": "https://s3-eu-west-1.amazonaws.com/concepts-config-{dev|stage|prod}/admin-imid/", //where to find the templates and config for concepts
    "lcc": {
        "contentProvider": "LCC_PROVIDER"
    },
    "icp": {
        "article": {
            "provider": "ICP_PROVIDER",
            "function": "crop" //needs to have a corresponding function in ICP
        },
        "avatar": {
            "provider": "ICP_PROVIDER",
            "function": "avatar" //needs to have a corresponding function in ICP
        }
    },
    "writer": {
        "url": "WRITER_URL"
    },
    "suggestFields": {
        "ConceptName": 10,
        "ConceptStatus": 15,
        "ConceptImType": 20
    },
    "suggestLabels": {
        "ConceptName": "Name",
        "ConceptStatus": "Status",
        "ConceptImType": "Type"
    },
    "propertyMap": {
        "etag": "checksum",
        "name": "ConceptName",
        "type": "ConceptImType",
        "typeFull": "ConceptImTypeFull",
        "subtype": "ConceptImSubTypeFull",
        "status": "ConceptStatus",
        "uuid": "uuid",
        "parentUUID": "ConceptBroader",
        "created": "created",
        "updated": "updated",
        "NavigaUnits": "NavigaUnits",
        "NavigaSharedWithOrgs": "NavigaSharedWithOrgs",
        "replacedby": "ConceptReplacedBy",
        "groupType": "ConceptGroupSubTypeFull",
        "parent": {
            "uuid": "uuid",
            "property": "ConceptBroaderRelation",
            "name": "ConceptName",
            "type": "ConceptImType",
            "subtype": "ConceptImSubTypeFull",
            "status": "ConceptStatus",
            "avatar": {
                "property": "ConceptAvatarRelation",
                "avatarIdentifier": "uuid",
                "uuid": "uuid",
                "filename": "WriterFileName"
            }
        },
        "children": {
            "uuid": "uuid",
            "property": "ConceptNarrowerRelations",
            "name": "ConceptName",
            "type": "ConceptImType",
            "subtype": "ConceptImSubTypeFull",
            "status": "ConceptStatus",
            "avatar": {
                "property": "ConceptAvatarRelation",
                "avatarIdentifier": "uuid",
                "uuid": "uuid",
                "filename": "WriterFileName"
            }
        },
        "associatedWithMe": {
            "uuid": "uuid",
            "property": "ConceptAssociatedWithMeRelations",
            "name": "ConceptName",
            "type": "ConceptImType",
            "typeFull": "ConceptImTypeFull",
            "subtype": "ConceptImSubTypeFull",
            "groupType": "ConceptGroupSubTypeFull",
            "status": "ConceptStatus",
            "avatar": {
                "property": "ConceptAvatarRelation",
                "avatarIdentifier": "uuid",
                "uuid": "uuid",
                "filename": "WriterFileName"
            }
        },
        "associatedWith": {
            "uuid": "uuid",
            "property": "ConceptAssociatedWithRelations",
            "name": "ConceptName",
            "type": "ConceptImType",
            "typeFull": "ConceptImTypeFull",
            "subtype": "ConceptImSubTypeFull",
            "groupType": "ConceptGroupSubTypeFull",
            "status": "ConceptStatus",
            "avatar": {
                "property": "ConceptAvatarRelation",
                "avatarIdentifier": "uuid",
                "uuid": "uuid",
                "filename": "WriterFileName"
            }
        },
        "articles": {
            "property": "ConceptArticleRelations",
            "headline": "WriterHeadlines",
            "pubdate": "Pubdate",
            "author": "WriterAuthors",
            "imageIdentifier": "ArticleMetaImageUuids",
            "uuid": "uuid"
        },
        "avatar": {
            "property": "ConceptAvatarRelation",
            "avatarIdentifier": "uuid",
            "uuid": "uuid",
            "filename": "WriterFileName"
        }
    },
    "nestedFilters": {
        "ConceptArticleRelations": {
            "limit": 11,
            "sort": {
                "index": "Pubdate",
                "ascending": false
            }
        }
    },
    "sameAsTypes": [ // display same as types on concepts (optional)
        {
            "label": "Example category",
            "type": "x-example/category",
            "defaultValue": "my://example/categories/" // Will be prefilled into the input when type is chosen
        },
        {
            "label": "My other example",
            "type": "x-example/section"
        }
    ],
    "conceptTypes": {
        "author": {
            "id": "author",
            "type": "author",
            "icon": "user-id"
        },
        "category": {
            "id": "category",
            "type": "category",
            "icon": "tag"
        },
        "content-profile": {
            "id": "content-profile",
            "type": "content-profile",
            "icon": "gear"
        },
        "organisation": {
            "id": "organisation",
            "type": "organisation",
            "icon": "network-3"
        },
        "person": {
            "id": "person",
            "type": "person",
            "icon": "user"
        },
        "place-polygon": {
            "id": "place-polygon",
            "type": "place",
            "subtype": "polygon",
            "icon": "location"
        },
        "place-position": {
            "id": "place-position",
            "type": "place",
            "subtype": "position",
            "icon": "location"
        },
        "story": {
            "id": "story",
            "type": "story",
            "icon": "brightness-max"
        },
        "topic": {
            "id": "topic",
            "type": "topic",
            "icon": "message"
        },
        "channel": {
            "id": "channel",
            "type": "channel",
            "icon": "feed"
        },
        "section": {
            "id": "section",
            "type": "section",
            "icon": "flag"
        },
        "group": {
            "id": "group",
            "type": "group",
            "icon": "basket"
        }
    },
    "sortOptions": [
        {
            "display": "Alphabetical A-Z",
            "field": "ConceptNameString",
            "ascending": true
        },
        {
            "display": "Alphabetical Z-A",
            "field": "ConceptNameString",
            "ascending": false
        },
        {
            "display": "Oldest first",
            "field": "updated",
            "ascending": true
        },
        {
            "display": "Newest first",
            "field": "updated",
            "ascending": false
        }
    ],
    "filterOptions": [
        {
            "display": "Show all types",
            "query": "ConceptImType:*"
        },
        {
            "display": "Author",
            "query": "ConceptImType: author"
        },
        {
            "display": "Category",
            "query": "ConceptImType: category"
        },
        {
            "display": "Content-profile",
            "query": "ConceptImType: content-profile"
        },
        {
            "display": "Geo (polygon)",
            "query": "ConceptImType: place AND ConceptImSubTypeFull: x-im/polygon"
        },
        {
            "display": "Geo (position)",
            "query": "ConceptImType: place AND ConceptImSubTypeFull: x-im/position"
        },
        {
            "display": "Organisation",
            "query": "ConceptImType: organisation"
        },
        {
            "display": "Person",
            "query": "ConceptImType: person"
        },
        {
            "display": "Story",
            "query": "ConceptImType: story"
        },
        {
            "display": "Topic",
            "query": "ConceptImType: topic"
        },
        {
            "display": "Channel",
            "query": "ConceptImType: channel"
        },
        {
            "display": "Section",
            "query": "ConceptImType: section"
        },
        {
            "display": "Group",
            "query": "ConceptImType: group"
        }
    ],
    "limitOptions": [
        10,
        15,
        20,
        25,
        30
    ]
}