REST — Storage Management
Viewing and modifying the Storage Management configuration via the REST Web Service API is available in Exago v2020.1+.
All requests require a Session Id URL parameter and basic request headers. In the following topic, headers are omitted in the interest of brevity.
Storage Management Configuration JSON
A complete Storage Management configuration is represented as a JSON object with the following properties:
Name | Type | Writable | Description |
---|---|---|---|
IsAdmin | Boolean | yes | If true, user can see the entire contents of the Storage Management database. |
Assembly | string | yes | The fully qualified path to the DLL implementing the IStorageManagement Interface |
ClassName | string | yes | The class name in the Assembly implementing theIStorageManagement Interface |
ReportListCacheEnabled | Boolean | yes | True if report list caching is enabled |
ReportXmlCacheEnabled | Boolean | yes | True if report definition XML caching is enabled |
ReportListCacheTimeout | integer | yes | Number of seconds before the report list cache times out |
ThemeListCacheTimeout | integer | yes | Number of seconds before the theme list cache times out |
ReportXmlCacheTimeout | integer | yes | Number of seconds before the report XML definition cache times out |
TablePrefix | string | yes | Prefix for the Storage Management database tables. For more information, review Storage Management. |
DefaultInheritFlag | Boolean | yes | Value of the Inherit Flag in the configuration. For more information, review Storage Management. |
DefaultPartyTypeId | integer | yes | ID from the Party Type table to create a content access record with. For more information, review Storage Management. |
DefaultAccessFlags | integer | yes | Access flags to create a content access record with. For more information, review Storage Management. |
Identities | string | yes | A collection of name-value pairs for the identity keys. For more information, review Storage Management. |
Options | string | yes | A collection of name-values pairs for Storage Management options.
In a custom Storage Management implementation, this Options collection can also be used to pass additional name-value pairs around the application. For more information, review Storage Management. |
Retrieve the Storage Management Configuration
Returns a complete Storage Management Configuration JSON object.
GET /rest/StorageMgmt
Update the Storage Management Configuration
Send a complete Storage Management Configuration JSON object. All existing values will be cleared and replaced with the values in the object. Values that are not in the object will be set to their system defaults.
PUT /rest/StorageMgmt
Example
{ "IsAdmin": false, "Assembly": "C:\\Exago\\bin\\WebReports.ContentDatabase.dll", "ClassName": "WebReports.ContentDatabase.StorageMgmtDatabase", "ReportListCacheEnabled": true, "ReportXmlCacheEnabled": false, "ReportListCacheTimeout": 31, "ThemeListCacheTimeout": 63, "ReportXmlCacheTimeout": 32, "TablePrefix": "dbo.", "DefaultInheritFlag": true, "DefaultPartyTypeId": 3, "DefaultAccessFlags": 65535, "EffectiveReportXmlCacheEnabled": false, "SaveValuesImplicit": true, "Identities": { "userId": "Astro Boy", "classId": "admin", "companyId": "Exago", "ownerId": "Astro Boy" }, "Options": { "DbType": "SQLite", "DbProvider": "SQLite", "ConnectionString": "Data Source=C:\\Exago\\mydatabase.sqlite", "ReportListCacheKey": "", "RptListCacheKey": "mykey" } }
Edit an Individual Storage Management Setting
Include only those properties to be updated. Returns with HTTP 200 to indicate success and a copy of the updated configuration as a Storage Management Configuration JSON object.
PATCH /rest/StorageMgmt
Example
This example changes the value of three of the Storage Management identity keys.
"Identities": { "userId": "aboy", "classId": "user", "companyId": "Exago, Inc." }