The Content Repository Plugin is used to implement a persistence layer for data so that you can store images and videos using this plugin. It contains a repository, folders and files, so you create a repository (parent folder) in which subfolders can be stored in any hierarchy.
Example call of a Content Repository Plugin function via a server-side Business Object:
var result = Simplifier.Plugin.contentRepoPlugin.contentRepositoryAdd({
"provider": "ClearFileSystem",
"name": input.name,
"description": input.description,
"permissionObjectType" : "App",
"permissionObjectID": "DummyApp"
});
The payload configuration depends on the required slot.
Difference between File System and Clear File System:
The file system stores the received content repository data in a database.
The clear file system stores this data in an actual file system (compare Windows Explorer).
Content Repositories
Add
Slot |
Description |
contentRepositoryAdd |
This function adds a new content repository |
FileSystem:
Input parameters
Key |
Type |
Description |
name |
String |
Name of the repository |
description |
String (optional) |
Description of the repository |
provider |
String |
Content provider (must be specified as ‘FileSystem’) |
permissionObjectType |
String |
Must be specified as ‘App’ |
permissionObjectID |
String |
The ID of the Object Type can be freely selected |
{
"permissionObjectType" : "App",
"permissionObjectID": "DummyApp",
"provider" : "FileSystem",
"name": "MyTestRepo",
"description": "MyTestRepoDescription"
}
Output parameter
Key |
Type |
Description |
id |
String |
The ID of the created repository |
{
"id": 15
}
ClearFileSystem:
Input parameters
Key |
Type |
Description |
name |
String |
Name of the repository |
description |
String (optional) |
Description of the repository |
provider |
String |
Content provider (must be specified as ‘ClearFileSystem’) |
{
"name": "MyTestRepo",
"provider" : "ClearFileSystem",
"description": "MyTestRepoDescription"
}
Output parameters
Key |
Type |
Description |
id |
Integer |
ID of the created ContentRepository |
description |
String |
Description of the repository |
{
"id": 15,
"description": "MyTestRepoDescription"
}
Find
Slot |
Description |
contentRepositoryFind |
This function lists only repositories for which the user has authorizations |
FileSystem:
Input parameter
Key |
Type |
Description |
name |
String |
Name of the searched repository |
{
"name": "MyRepo"
}
Output parameters
Key |
Type |
Description |
repositories |
Array |
Array of all repositories (max. 1 element) |
id |
Integer |
ID of the repository |
name |
String |
Name of the repository |
description |
String |
Description of the repository |
permissionObjectType |
String |
Must be specified as ‘App’ |
permissionObjectID |
String |
The ID of the Object Type can be freely selected |
provider |
String |
Content provider (must be specified as ‘FileSystem’) |
{
"repositories": [
{
"id": 3,
"name": "MyRepo",
"description": "My repo description",
"permissionObjectType": "App",
"permissionObjectID": "DummyApp",
"provider": "FileSystem",
}
]
}
ClearFileSystem:
Input parameter
Key |
Type |
Description |
name |
String |
Name of the searched repository |
{
"name": "MyRepo"
}
Output parameters
Key |
Type |
Description |
repositories |
Array |
Array of all repositories (max. 1 element) |
id |
Integer |
ID of the repository |
name |
String |
Name of the repository |
description |
String |
Description of the repository |
provider |
String |
Content provider (must be specified as ‘ClearFileSystem’) |
{
"repositories": [
{
"id": 3,
"name": "MyRepo",
"description": "My repo description",
"provider": "ClearFileSystem"
}
]
}
List
Slot |
Description |
contentRepositoryList |
This function finds only repositories for which the user has authorizations |
FileSystem:
Input parameter
Key |
Type |
Description |
provider |
String (optional) |
Content provider (must be specified as ‘FileSystem’)
If no provider is specified, all repositories are returned |
{
"provider": "FileSystem"
}
Output parameters
Key |
Type |
Description |
repositories |
Array |
Array of all repositories |
id |
Integer |
ID of the repository |
name |
String |
Name of the repository |
description |
String |
Description of the repository |
permissionObjectType |
String |
Must be specified as ‘App’ |
permissionObjectID |
String |
The ID of the Object Type can be freely selected |
provider |
String |
Content provider |
{
"repositories": [
{
"id": 3,
"name": "MyRepo",
"description": "My repo description",
"permissionObjectType": "App",
"permissionObjectID": "DummyApp",
"provider": "FileSystem",
},
{
"id": 4,
"name": "MyRepo2",
"description": "My repo description 2",
"permissionObjectType": "Session",
"permissionObjectID": "abc",
"provider": "FileSystem",
}
]
}
ClearFileSystem:
Input parameter
Key |
Type |
Description |
provider |
String (optional) |
Content provider (must be specified as ‘ClearFileSystem’)
If no provider is specified, all repositories are returned |
{
"provider": "ClearFileSystem"
}
Output parameters
Key |
Type |
Description |
repositories |
Array |
Array of all repositories |
id |
Integer |
ID of the repository |
name |
String |
Name of the repository |
description |
String |
Description of the repository |
provider |
String |
Content provider |
{
"repositories": [
{
"id": 5,
"name": "MyRepo5",
"description": "My repo description 5",
"provider": "ClearFileSystem"
},
{
"id": 6,
"name": "MyRepo6",
"description": "My repo description 6",
"provider": "ClearFileSystem"
}
]
}
Get
Slot |
contentRepositoryGet |
FileSystem:
Input parameter
Key |
Type |
Description |
id |
Integer |
Primary key |
{
"id": 3
}
Output parameters
Key |
Type |
Description |
id |
Integer |
ID of the repository |
name |
String |
Name of the repository |
description |
String |
Description of the repository |
permissionObjectType |
String |
Must be specified as ‘App’ |
permissionObjectID |
String |
The ID of the Object Type can be freely selected |
provider |
String |
Content provider (must be specified as ‘FileSystem’) |
{
"id": 3,
"name": "MyRepo",
"description": "My repo description",
"permissionObjectType": "App",
"permissionObjectID": "DummyApp",
"provider": "FileSystem",
}
ClearFileSystem:
Input parameter
Key |
Type |
Description |
id |
Integer |
Primary key |
{
"id": 3
}
Output parameters
Key |
Type |
Description |
id |
Integer |
ID of the repository |
name |
String |
Name of the repository |
description |
String |
Description of the repository |
provider |
String |
Content provider (must be specified as ‘ClearFileSystem’) |
{
"id": 3,
"name": "MyRepo",
"description": "My repo description",
"provider": "ClearFileSystem",
}
Edit
Slot |
Description |
contentRepositoryEdit |
This function edits a content repository |
FileSystem:
Input parameters
Key |
Type |
Description |
id |
Integer |
Primary key (ID of the repository) |
name |
String |
Name of the repository |
description |
String (optional) |
Description of the repository |
permissionObjectType |
String |
Must be specified as ‘App’ |
permissionObjectID |
String |
The ID of the Object Type can be freely selected |
{
"id" : 15,
"permissionObjectType" : "App",
"permissionObjectID": "DummyApp",
"name": "MyTestRepo",
"description": "My new description",
}
ClearFileSystem:
Input parameters
Key |
Type |
Description |
id |
Integer |
Primary key (ID of the repository) |
name |
String |
Name of the repository |
description |
String (optional) |
Description of the repository |
{
"id" : 15,
"name": "MyTestRepo",
"description": "My new description"
}
Delete
A repository can only be deleted if it does not contain any content folders.
Slot |
Description |
contentRepositoryDelete |
This function deletes a content repository |
Input parameter
Key |
Type |
Description |
id |
Integer |
Primary key |