mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-05 06:33:19 -04:00
[docs-only] Fixes the app-registry readme and dev docs
This commit is contained in:
@@ -2696,7 +2696,10 @@ FRONTEND_ENABLE_RESHARING:
|
||||
deprecationVersion: "5.0"
|
||||
removalVersion: ""
|
||||
deprecationInfo: Resharing will be removed in the future. | Re-sharing will be removed
|
||||
in the future. | Re-sharing will be removed in the future.
|
||||
in the future. | Re-sharing will be removed in the future. | Re-sharing will be
|
||||
removed in the future. | Re-sharing will be removed in the future. | Re-sharing
|
||||
will be removed in the future. | Re-sharing will be removed in the future. | Re-sharing
|
||||
will be removed in the future.
|
||||
FRONTEND_EVENTS_AUTH_PASSWORD:
|
||||
name: OCIS_EVENTS_AUTH_PASSWORD;FRONTEND_EVENTS_AUTH_PASSWORD
|
||||
defaultValue: ""
|
||||
@@ -5108,10 +5111,10 @@ IDM_ADMIN_USER_ID:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
IDM_CREATE_DEMO_USERS:
|
||||
name: IDM_CREATE_DEMO_USERS
|
||||
name: SETTINGS_SETUP_DEFAULT_ASSIGNMENTS;IDM_CREATE_DEMO_USERS
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Flag to enable or disable the creation of the demo users.
|
||||
description: The default role assignments the demo users should be setup.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
@@ -6883,18 +6886,18 @@ OCDAV_WEBDAV_NAMESPACE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_ADMIN_USER_ID:
|
||||
name: OCIS_ADMIN_USER_ID;IDM_ADMIN_USER_ID
|
||||
name: OCIS_ADMIN_USER_ID;STORAGE_USERS_PURGE_TRASH_BIN_USER_ID
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: ID of the user that should receive admin privileges. Consider that
|
||||
the UUID can be encoded in some LDAP deployment configurations like in .ldif files.
|
||||
These need to be decoded beforehand.
|
||||
description: ID of the user who collects all necessary information for deletion.
|
||||
Consider that the UUID can be encoded in some LDAP deployment configurations like
|
||||
in .ldif files. These need to be decoded beforehand.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_ASYNC_UPLOADS:
|
||||
name: OCIS_ASYNC_UPLOADS
|
||||
name: OCIS_ASYNC_UPLOADS;SEARCH_EVENTS_ASYNC_UPLOADS
|
||||
defaultValue: "true"
|
||||
type: bool
|
||||
description: Enable asynchronous file uploads.
|
||||
@@ -6903,28 +6906,28 @@ OCIS_ASYNC_UPLOADS:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_AUTH_PASSWORD:
|
||||
name: OCIS_CACHE_AUTH_PASSWORD;OCS_PRESIGNEDURL_SIGNING_KEYS_STORE_AUTH_PASSWORD
|
||||
name: OCIS_CACHE_AUTH_PASSWORD;STORAGE_SYSTEM_CACHE_AUTH_PASSWORD
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The password to authenticate with the store. Only applies when store
|
||||
type 'nats-js-kv' is configured.
|
||||
description: Password for the configured store. Only applies when store type 'nats-js-kv'
|
||||
is configured.
|
||||
introductionVersion: "5.0"
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_AUTH_USERNAME:
|
||||
name: OCIS_CACHE_AUTH_USERNAME;OCS_PRESIGNEDURL_SIGNING_KEYS_STORE_AUTH_USERNAME
|
||||
name: OCIS_CACHE_AUTH_USERNAME;STORAGE_SYSTEM_CACHE_AUTH_USERNAME
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The username to authenticate with the store. Only applies when store
|
||||
type 'nats-js-kv' is configured.
|
||||
description: Username for the configured store. Only applies when store type 'nats-js-kv'
|
||||
is configured.
|
||||
introductionVersion: "5.0"
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_DATABASE:
|
||||
name: OCIS_CACHE_DATABASE
|
||||
defaultValue: cache-stat
|
||||
defaultValue: storage-system
|
||||
type: string
|
||||
description: The database name the configured store should use.
|
||||
introductionVersion: pre5.0
|
||||
@@ -6932,71 +6935,73 @@ OCIS_CACHE_DATABASE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_DISABLE_PERSISTENCE:
|
||||
name: OCIS_CACHE_DISABLE_PERSISTENCE;FRONTEND_OCS_STAT_CACHE_DISABLE_PERSISTENCE
|
||||
name: OCIS_CACHE_DISABLE_PERSISTENCE;STORAGE_SYSTEM_CACHE_DISABLE_PERSISTENCE
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Disable persistence of the cache. Only applies when using the 'nats-js-kv'
|
||||
store type. Defaults to false.
|
||||
description: Disables persistence of the cache. Only applies when store type 'nats-js-kv'
|
||||
is configured. Defaults to false.
|
||||
introductionVersion: "5.0"
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_SIZE:
|
||||
name: OCIS_CACHE_SIZE;FRONTEND_OCS_STAT_CACHE_SIZE
|
||||
name: OCIS_CACHE_SIZE;STORAGE_SYSTEM_CACHE_SIZE
|
||||
defaultValue: "0"
|
||||
type: int
|
||||
description: Max number of entries to hold in the cache.
|
||||
description: The maximum quantity of items in the user info cache. Only applies
|
||||
when store type 'ocmem' is configured. Defaults to 512 which is derived from the
|
||||
ocmem package though not exclicitely set as default.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_STORE:
|
||||
name: OCIS_CACHE_STORE;OCS_PRESIGNEDURL_SIGNING_KEYS_STORE
|
||||
defaultValue: nats-js-kv
|
||||
name: OCIS_CACHE_STORE;STORAGE_SYSTEM_CACHE_STORE
|
||||
defaultValue: memory
|
||||
type: string
|
||||
description: 'The type of the signing key store. Supported values are: ''redis-sentinel''
|
||||
and ''nats-js-kv''. See the text description for details.'
|
||||
introductionVersion: "5.0"
|
||||
description: 'The type of the cache store. Supported values are: ''memory'', ''redis-sentinel'',
|
||||
''nats-js-kv'', ''noop''. See the text description for details.'
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_STORE_NODES:
|
||||
name: OCIS_CACHE_STORE_NODES;OCS_PRESIGNEDURL_SIGNING_KEYS_STORE_NODES
|
||||
name: OCIS_CACHE_STORE_NODES;STORAGE_SYSTEM_CACHE_STORE_NODES
|
||||
defaultValue: '[127.0.0.1:9233]'
|
||||
type: '[]string'
|
||||
description: A list of nodes to access the configured store. Note that the behaviour
|
||||
how nodes are used is dependent on the library of the configured store. See the
|
||||
Environment Variable Types description for more details.
|
||||
introductionVersion: "5.0"
|
||||
description: A list of nodes to access the configured store. This has no effect
|
||||
when 'memory' or 'ocmem' stores are configured. Note that the behaviour how nodes
|
||||
are used is dependent on the library of the configured store. See the Environment
|
||||
Variable Types description for more details.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CACHE_TTL:
|
||||
name: OCIS_CACHE_TTL;OCS_PRESIGNEDURL_SIGNING_KEYS_STORE_TTL
|
||||
defaultValue: 12h0m0s
|
||||
name: OCIS_CACHE_TTL;STORAGE_SYSTEM_CACHE_TTL
|
||||
defaultValue: 24m0s
|
||||
type: Duration
|
||||
description: Default time to live for signing keys. See the Environment Variable
|
||||
Types description for more details.
|
||||
introductionVersion: "5.0"
|
||||
description: Default time to live for user info in the user info cache. Only applied
|
||||
when access tokens has no expiration. See the Environment Variable Types description
|
||||
for more details.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CORS_ALLOW_CREDENTIALS:
|
||||
name: OCIS_CORS_ALLOW_CREDENTIALS;WEB_CORS_ALLOW_CREDENTIALS
|
||||
defaultValue: "false"
|
||||
name: OCIS_CORS_ALLOW_CREDENTIALS;USERLOG_CORS_ALLOW_CREDENTIALS
|
||||
defaultValue: "true"
|
||||
type: bool
|
||||
description: 'Allow credentials for CORS. See following chapter for more details:
|
||||
description: 'Allow credentials for CORS.See following chapter for more details:
|
||||
*Access-Control-Allow-Credentials* at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials.'
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CORS_ALLOW_HEADERS:
|
||||
name: OCIS_CORS_ALLOW_HEADERS;WEB_CORS_ALLOW_HEADERS
|
||||
defaultValue: '[Origin Accept Content-Type Depth Authorization Ocs-Apirequest If-None-Match
|
||||
If-Match Destination Overwrite X-Request-Id X-Requested-With Tus-Resumable Tus-Checksum-Algorithm
|
||||
Upload-Concat Upload-Length Upload-Metadata Upload-Defer-Length Upload-Expires
|
||||
Upload-Checksum Upload-Offset X-HTTP-Method-Override]'
|
||||
name: OCIS_CORS_ALLOW_HEADERS;USERLOG_CORS_ALLOW_HEADERS
|
||||
defaultValue: '[Authorization Origin Content-Type Accept X-Requested-With X-Request-Id
|
||||
Ocs-Apirequest]'
|
||||
type: '[]string'
|
||||
description: 'A list of allowed CORS headers. See following chapter for more details:
|
||||
*Access-Control-Request-Headers* at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Headers.
|
||||
@@ -7006,9 +7011,8 @@ OCIS_CORS_ALLOW_HEADERS:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CORS_ALLOW_METHODS:
|
||||
name: OCIS_CORS_ALLOW_METHODS;WEB_CORS_ALLOW_METHODS
|
||||
defaultValue: '[OPTIONS HEAD GET PUT PATCH POST DELETE MKCOL PROPFIND PROPPATCH
|
||||
MOVE COPY REPORT SEARCH]'
|
||||
name: OCIS_CORS_ALLOW_METHODS;USERLOG_CORS_ALLOW_METHODS
|
||||
defaultValue: '[GET]'
|
||||
type: '[]string'
|
||||
description: 'A list of allowed CORS methods. See following chapter for more details:
|
||||
*Access-Control-Request-Method* at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Request-Method.
|
||||
@@ -7018,8 +7022,8 @@ OCIS_CORS_ALLOW_METHODS:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_CORS_ALLOW_ORIGINS:
|
||||
name: OCIS_CORS_ALLOW_ORIGINS;WEB_CORS_ALLOW_ORIGINS
|
||||
defaultValue: '[https://localhost:9200]'
|
||||
name: OCIS_CORS_ALLOW_ORIGINS;USERLOG_CORS_ALLOW_ORIGINS
|
||||
defaultValue: '[*]'
|
||||
type: '[]string'
|
||||
description: 'A list of allowed CORS origins. See following chapter for more details:
|
||||
*Access-Control-Allow-Origin* at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin.
|
||||
@@ -7053,7 +7057,7 @@ OCIS_CORS_MAX_AGE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_DECOMPOSEDFS_METADATA_BACKEND:
|
||||
name: OCIS_DECOMPOSEDFS_METADATA_BACKEND;STORAGE_USERS_OCIS_METADATA_BACKEND
|
||||
name: OCIS_DECOMPOSEDFS_METADATA_BACKEND;STORAGE_SYSTEM_OCIS_METADATA_BACKEND
|
||||
defaultValue: messagepack
|
||||
type: string
|
||||
description: The backend to use for storing metadata. Supported values are 'messagepack'
|
||||
@@ -7084,13 +7088,12 @@ OCIS_DEFAULT_LANGUAGE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_DISABLE_PREVIEWS:
|
||||
name: OCIS_DISABLE_PREVIEWS;WEB_OPTION_DISABLE_PREVIEWS
|
||||
name: OCIS_DISABLE_PREVIEWS;WEBDAV_DISABLE_PREVIEWS
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Set this option to 'true' to disable previews in all the different
|
||||
web file listing views. This can speed up file listings in folders with many files.
|
||||
The only list view that is not affected by this setting is the trash bin, as it
|
||||
does not allow previewing at all.
|
||||
description: Set this option to 'true' to disable rendering of thumbnails triggered
|
||||
via webdav access. Note that when disabled, all access to preview related webdav
|
||||
paths will return a 404.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
@@ -7116,7 +7119,7 @@ OCIS_DISABLE_SSE,USERLOG_DISABLE_SSE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_EDITION:
|
||||
name: OCIS_EDITION;FRONTEND_EDITION
|
||||
name: OCIS_EDITION;OCDAV_EDITION
|
||||
defaultValue: Community
|
||||
type: string
|
||||
description: Edition of oCIS. Used for branding purposes.
|
||||
@@ -7145,9 +7148,17 @@ OCIS_ENABLE_RESHARING:
|
||||
deprecationInfo: Resharing will be removed in the future. | Re-sharing will be removed
|
||||
in the future. | Resharing will be removed in the future. | Resharing will be
|
||||
removed in the future. | Resharing will be removed in the future. | Resharing
|
||||
will be removed in the future. | Re-sharing will be removed in the future.
|
||||
will be removed in the future. | Re-sharing will be removed in the future. | Resharing
|
||||
will be removed in the future. | Re-sharing will be removed in the future. | Resharing
|
||||
will be removed in the future. | Resharing will be removed in the future. | Re-sharing
|
||||
will be removed in the future. | Resharing will be removed in the future. | Resharing
|
||||
will be removed in the future. | Re-sharing will be removed in the future. | Resharing
|
||||
will be removed in the future. | Re-sharing will be removed in the future. | Resharing
|
||||
will be removed in the future. | Resharing will be removed in the future. | Resharing
|
||||
will be removed in the future. | Resharing will be removed in the future. | Re-sharing
|
||||
will be removed in the future.
|
||||
OCIS_EVENTS_AUTH_PASSWORD:
|
||||
name: OCIS_EVENTS_AUTH_PASSWORD;FRONTEND_EVENTS_AUTH_PASSWORD
|
||||
name: OCIS_EVENTS_AUTH_PASSWORD;USERLOG_EVENTS_AUTH_PASSWORD
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The password to authenticate with the events broker. The events broker
|
||||
@@ -7157,7 +7168,7 @@ OCIS_EVENTS_AUTH_PASSWORD:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_EVENTS_AUTH_USERNAME:
|
||||
name: OCIS_EVENTS_AUTH_USERNAME;FRONTEND_EVENTS_AUTH_USERNAME
|
||||
name: OCIS_EVENTS_AUTH_USERNAME;USERLOG_EVENTS_AUTH_USERNAME
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The username to authenticate with the events broker. The events broker
|
||||
@@ -7167,42 +7178,42 @@ OCIS_EVENTS_AUTH_USERNAME:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_EVENTS_CLUSTER:
|
||||
name: OCIS_EVENTS_CLUSTER;FRONTEND_EVENTS_CLUSTER
|
||||
name: OCIS_EVENTS_CLUSTER;USERLOG_EVENTS_CLUSTER
|
||||
defaultValue: ocis-cluster
|
||||
type: string
|
||||
description: The clusterID of the event system. The event system is the message
|
||||
queuing service. It is used as message broker for the microservice architecture.
|
||||
Mandatory when using NATS as event system.
|
||||
introductionVersion: "5.0"
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_EVENTS_ENABLE_TLS:
|
||||
name: OCIS_EVENTS_ENABLE_TLS;FRONTEND_EVENTS_ENABLE_TLS
|
||||
name: OCIS_EVENTS_ENABLE_TLS;USERLOG_EVENTS_ENABLE_TLS
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Enable TLS for the connection to the events broker. The events broker
|
||||
is the ocis service which receives and delivers events between the services.
|
||||
introductionVersion: "5.0"
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_EVENTS_ENDPOINT:
|
||||
name: OCIS_EVENTS_ENDPOINT;FRONTEND_EVENTS_ENDPOINT
|
||||
name: OCIS_EVENTS_ENDPOINT;USERLOG_EVENTS_ENDPOINT
|
||||
defaultValue: 127.0.0.1:9233
|
||||
type: string
|
||||
description: The address of the event system. The event system is the message queuing
|
||||
service. It is used as message broker for the microservice architecture.
|
||||
introductionVersion: "5.0"
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_EVENTS_TLS_ROOT_CA_CERTIFICATE:
|
||||
name: OCIS_EVENTS_TLS_ROOT_CA_CERTIFICATE;ANTIVIRUS_EVENTS_TLS_ROOT_CA_CERTIFICATE
|
||||
name: OCIS_EVENTS_TLS_ROOT_CA_CERTIFICATE;USERLOG_EVENTS_TLS_ROOT_CA_CERTIFICATE
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The root CA certificate used to validate the server's TLS certificate.
|
||||
If provided ANTIVIRUS_EVENTS_TLS_INSECURE will be seen as false.
|
||||
If provided NOTIFICATIONS_EVENTS_TLS_INSECURE will be seen as false.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
@@ -7271,16 +7282,16 @@ OCIS_HTTP_TLS_KEY:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_INSECURE:
|
||||
name: OCIS_INSECURE;FRONTEND_EVENTS_TLS_INSECURE
|
||||
name: OCIS_INSECURE;USERLOG_EVENTS_TLS_INSECURE
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Whether to verify the server TLS certificates.
|
||||
introductionVersion: "5.0"
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_JWT_SECRET:
|
||||
name: OCIS_JWT_SECRET;WEB_JWT_SECRET
|
||||
name: OCIS_JWT_SECRET;USERLOG_JWT_SECRET
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The secret to mint and validate jwt tokens.
|
||||
@@ -7630,7 +7641,7 @@ OCIS_LDAP_USER_SCOPE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_LOG_COLOR:
|
||||
name: OCIS_LOG_COLOR;WEB_LOG_COLOR
|
||||
name: OCIS_LOG_COLOR;USERLOG_LOG_COLOR
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Activates colorized log output.
|
||||
@@ -7639,7 +7650,7 @@ OCIS_LOG_COLOR:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_LOG_FILE:
|
||||
name: OCIS_LOG_FILE;WEB_LOG_FILE
|
||||
name: OCIS_LOG_FILE;USERLOG_LOG_FILE
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The path to the log file. Activates logging to this file if set.
|
||||
@@ -7648,7 +7659,7 @@ OCIS_LOG_FILE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_LOG_LEVEL:
|
||||
name: OCIS_LOG_LEVEL;WEB_LOG_LEVEL
|
||||
name: OCIS_LOG_LEVEL;USERLOG_LOG_LEVEL
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: 'The log level. Valid values are: ''panic'', ''fatal'', ''error'',
|
||||
@@ -7658,7 +7669,7 @@ OCIS_LOG_LEVEL:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_LOG_PRETTY:
|
||||
name: OCIS_LOG_PRETTY;WEB_LOG_PRETTY
|
||||
name: OCIS_LOG_PRETTY;USERLOG_LOG_PRETTY
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Activates pretty log output.
|
||||
@@ -7667,11 +7678,11 @@ OCIS_LOG_PRETTY:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_MACHINE_AUTH_API_KEY:
|
||||
name: OCIS_MACHINE_AUTH_API_KEY;FRONTEND_MACHINE_AUTH_API_KEY
|
||||
name: OCIS_MACHINE_AUTH_API_KEY;OCDAV_MACHINE_AUTH_API_KEY
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The machine auth API key used to validate internal requests necessary
|
||||
to access resources from other services.
|
||||
description: Machine auth API key used to validate internal requests necessary for
|
||||
the access to resources from other services.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
@@ -7688,7 +7699,7 @@ OCIS_OIDC_CLIENT_ID:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_OIDC_ISSUER:
|
||||
name: OCIS_URL;OCIS_OIDC_ISSUER;WEB_OIDC_AUTHORITY
|
||||
name: OCIS_URL;OCIS_OIDC_ISSUER;PROXY_OIDC_ISSUER
|
||||
defaultValue: https://localhost:9200
|
||||
type: string
|
||||
description: URL of the OIDC issuer. It defaults to URL of the builtin IDP.
|
||||
@@ -7764,7 +7775,7 @@ OCIS_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_PERSISTENT_STORE:
|
||||
name: OCIS_PERSISTENT_STORE;POSTPROCESSING_STORE
|
||||
name: OCIS_PERSISTENT_STORE;USERLOG_STORE
|
||||
defaultValue: memory
|
||||
type: string
|
||||
description: 'The type of the store. Supported values are: ''memory'', ''ocmem'',
|
||||
@@ -7775,7 +7786,7 @@ OCIS_PERSISTENT_STORE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_PERSISTENT_STORE_AUTH_PASSWORD:
|
||||
name: OCIS_PERSISTENT_STORE_AUTH_PASSWORD;POSTPROCESSING_STORE_AUTH_PASSWORD
|
||||
name: OCIS_PERSISTENT_STORE_AUTH_PASSWORD;USERLOG_STORE_AUTH_PASSWORD
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The password to authenticate with the store. Only applies when store
|
||||
@@ -7785,7 +7796,7 @@ OCIS_PERSISTENT_STORE_AUTH_PASSWORD:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_PERSISTENT_STORE_AUTH_USERNAME:
|
||||
name: OCIS_PERSISTENT_STORE_AUTH_USERNAME;POSTPROCESSING_STORE_AUTH_USERNAME
|
||||
name: OCIS_PERSISTENT_STORE_AUTH_USERNAME;USERLOG_STORE_AUTH_USERNAME
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The username to authenticate with the store. Only applies when store
|
||||
@@ -7795,7 +7806,7 @@ OCIS_PERSISTENT_STORE_AUTH_USERNAME:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_PERSISTENT_STORE_NODES:
|
||||
name: OCIS_PERSISTENT_STORE_NODES;POSTPROCESSING_STORE_NODES
|
||||
name: OCIS_PERSISTENT_STORE_NODES;USERLOG_STORE_NODES
|
||||
defaultValue: '[]'
|
||||
type: '[]string'
|
||||
description: A list of nodes to access the configured store. This has no effect
|
||||
@@ -7807,7 +7818,7 @@ OCIS_PERSISTENT_STORE_NODES:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_PERSISTENT_STORE_SIZE:
|
||||
name: OCIS_PERSISTENT_STORE_SIZE;POSTPROCESSING_STORE_SIZE
|
||||
name: OCIS_PERSISTENT_STORE_SIZE;USERLOG_STORE_SIZE
|
||||
defaultValue: "0"
|
||||
type: int
|
||||
description: The maximum quantity of items in the store. Only applies when store
|
||||
@@ -7818,11 +7829,11 @@ OCIS_PERSISTENT_STORE_SIZE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_PERSISTENT_STORE_TTL:
|
||||
name: OCIS_PERSISTENT_STORE_TTL;POSTPROCESSING_STORE_TTL
|
||||
defaultValue: 0s
|
||||
name: OCIS_PERSISTENT_STORE_TTL;USERLOG_STORE_TTL
|
||||
defaultValue: 336h0m0s
|
||||
type: Duration
|
||||
description: Time to live for events in the store. See the Environment Variable
|
||||
Types description for more details.
|
||||
description: Time to live for events in the store. Defaults to '336h' (2 weeks).
|
||||
See the Environment Variable Types description for more details.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
@@ -7840,7 +7851,7 @@ OCIS_REVA_GATEWAY:
|
||||
name: OCIS_REVA_GATEWAY
|
||||
defaultValue: com.owncloud.api.gateway
|
||||
type: string
|
||||
description: The CS3 gateway endpoint.
|
||||
description: CS3 gateway used to look up user metadata
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
@@ -7868,7 +7879,7 @@ OCIS_REVA_GATEWAY_TLS_MODE:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_SERVICE_ACCOUNT_ID:
|
||||
name: OCIS_SERVICE_ACCOUNT_ID;OCM_SERVICE_ACCOUNT_ID
|
||||
name: OCIS_SERVICE_ACCOUNT_ID;USERLOG_SERVICE_ACCOUNT_ID
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The ID of the service account the service should use. See the 'auth-service'
|
||||
@@ -7878,7 +7889,7 @@ OCIS_SERVICE_ACCOUNT_ID:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_SERVICE_ACCOUNT_SECRET:
|
||||
name: OCIS_SERVICE_ACCOUNT_SECRET;OCM_SERVICE_ACCOUNT_SECRET
|
||||
name: OCIS_SERVICE_ACCOUNT_SECRET;USERLOG_SERVICE_ACCOUNT_SECRET
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The service account secret.
|
||||
@@ -7915,17 +7926,18 @@ OCIS_SHOW_USER_EMAIL_IN_RESULTS:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_SPACES_MAX_QUOTA:
|
||||
name: OCIS_SPACES_MAX_QUOTA;FRONTEND_MAX_QUOTA
|
||||
name: OCIS_SPACES_MAX_QUOTA;STORAGE_USERS_OCIS_MAX_QUOTA
|
||||
defaultValue: "0"
|
||||
type: uint64
|
||||
description: Set the global max quota value in bytes. A value of 0 equals unlimited.
|
||||
The value is provided via capabilities.
|
||||
description: Set a global max quota for spaces in bytes. A value of 0 equals unlimited.
|
||||
If not using the global OCIS_SPACES_MAX_QUOTA, you must define the FRONTEND_MAX_QUOTA
|
||||
in the frontend service.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_SYSTEM_USER_API_KEY:
|
||||
name: OCIS_SYSTEM_USER_API_KEY;SHARING_PUBLIC_CS3_SYSTEM_USER_API_KEY
|
||||
name: OCIS_SYSTEM_USER_API_KEY
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: API key for the STORAGE-SYSTEM system user.
|
||||
@@ -7934,10 +7946,10 @@ OCIS_SYSTEM_USER_API_KEY:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_SYSTEM_USER_ID:
|
||||
name: OCIS_SYSTEM_USER_ID;SHARING_PUBLIC_CS3_SYSTEM_USER_ID
|
||||
name: OCIS_SYSTEM_USER_ID
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: ID of the oCIS STORAGE-SYSTEM system user. Admins need to set the ID
|
||||
description: ID of the oCIS storage-system system user. Admins need to set the ID
|
||||
for the STORAGE-SYSTEM system user in this config option which is then used to
|
||||
reference the user. Any reasonable long string is possible, preferably this would
|
||||
be an UUIDv4 format.
|
||||
@@ -7955,7 +7967,7 @@ OCIS_SYSTEM_USER_IDP:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_TRACING_COLLECTOR:
|
||||
name: OCIS_TRACING_COLLECTOR;WEB_TRACING_COLLECTOR
|
||||
name: OCIS_TRACING_COLLECTOR;USERLOG_TRACING_COLLECTOR
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The HTTP endpoint for sending spans directly to a collector, i.e. http://jaeger-collector:14268/api/traces.
|
||||
@@ -7965,7 +7977,7 @@ OCIS_TRACING_COLLECTOR:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_TRACING_ENABLED:
|
||||
name: OCIS_TRACING_ENABLED;WEB_TRACING_ENABLED
|
||||
name: OCIS_TRACING_ENABLED;USERLOG_TRACING_ENABLED
|
||||
defaultValue: "false"
|
||||
type: bool
|
||||
description: Activates tracing.
|
||||
@@ -7974,7 +7986,7 @@ OCIS_TRACING_ENABLED:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_TRACING_ENDPOINT:
|
||||
name: OCIS_TRACING_ENDPOINT;WEB_TRACING_ENDPOINT
|
||||
name: OCIS_TRACING_ENDPOINT;USERLOG_TRACING_ENDPOINT
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The endpoint of the tracing agent.
|
||||
@@ -7983,7 +7995,7 @@ OCIS_TRACING_ENDPOINT:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_TRACING_TYPE:
|
||||
name: OCIS_TRACING_TYPE;WEB_TRACING_TYPE
|
||||
name: OCIS_TRACING_TYPE;USERLOG_TRACING_TYPE
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: The type of tracing. Defaults to '', which is the same as 'jaeger'.
|
||||
@@ -8002,7 +8014,7 @@ OCIS_TRANSFER_SECRET:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_TRANSLATION_PATH:
|
||||
name: OCIS_TRANSLATION_PATH;NOTIFICATIONS_TRANSLATION_PATH
|
||||
name: OCIS_TRANSLATION_PATH;USERLOG_TRANSLATION_PATH
|
||||
defaultValue: ""
|
||||
type: string
|
||||
description: (optional) Set this to a path with custom translations to overwrite
|
||||
@@ -8013,10 +8025,10 @@ OCIS_TRANSLATION_PATH:
|
||||
removalVersion: ""
|
||||
deprecationInfo: ""
|
||||
OCIS_URL:
|
||||
name: OCIS_URL;OCIS_OIDC_ISSUER;WEB_OIDC_AUTHORITY
|
||||
name: OCIS_URL;OCDAV_PUBLIC_URL
|
||||
defaultValue: https://localhost:9200
|
||||
type: string
|
||||
description: URL of the OIDC issuer. It defaults to URL of the builtin IDP.
|
||||
description: URL where oCIS is reachable for users.
|
||||
introductionVersion: pre5.0
|
||||
deprecationVersion: ""
|
||||
removalVersion: ""
|
||||
|
||||
487
docs/services/app-registry/_index.md
Normal file → Executable file
487
docs/services/app-registry/_index.md
Normal file → Executable file
@@ -1,16 +1,493 @@
|
||||
---
|
||||
title: App-Registry
|
||||
date: 2022-03-02T00:00:00+00:00
|
||||
title: App Registry
|
||||
date: 2024-04-04T15:08:13.220767367+02:00
|
||||
weight: 20
|
||||
geekdocRepo: https://github.com/owncloud/ocis
|
||||
geekdocEditPath: edit/master/docs/services/app-registry
|
||||
geekdocFilePath: _index.md
|
||||
geekdocEditPath: edit/master/services/app-registry
|
||||
geekdocFilePath: README.md
|
||||
geekdocCollapseSection: true
|
||||
---
|
||||
|
||||
<!-- Do not edit this file, it is autogenerated. Edit the service README.md instead -->
|
||||
|
||||
## Abstract
|
||||
|
||||
|
||||
The `app-registry` service is the single point where all apps register themselves and their respective supported mime types.
|
||||
|
||||
Administrators can set default applications on a per MIME type basis and also allow the creation of new files for certain MIME types. This per MIME type configuration also features a description, file extension option and an icon.
|
||||
|
||||
|
||||
## Table of Contents
|
||||
|
||||
{{< toc-tree >}}
|
||||
* [MIME Type Configuration / Creation Allow List](#mime-type-configuration-/-creation-allow-list)
|
||||
* [MIME Type Configuration](#mime-type-configuration)
|
||||
* [App Drivers](#app-drivers)
|
||||
* [CS3org WOPI Server App Driver](#cs3org-wopi-server-app-driver)
|
||||
* [App Provider Configuration](#app-provider-configuration)
|
||||
* [Endpoint Access](#endpoint-access)
|
||||
* [Listing available apps and mime types](#listing-available-apps-and-mime-types)
|
||||
* [Open a File With ownCloud Web](#open-a-file-with-owncloud-web)
|
||||
* [Open a File With the App Provider](#open-a-file-with-the-app-provider)
|
||||
* [Creating a File With the App Provider](#creating-a-file-with-the-app-provider)
|
||||
* [Example Yaml Config](#example-yaml-config)
|
||||
|
||||
## MIME Type Configuration / Creation Allow List
|
||||
|
||||
The apps will register their supported MIME types automatically, so that users can open supported files with them.
|
||||
|
||||
Administrators can set default applications for each MIME type and also allow the creation of new files for certain mime types. This, per MIME type configuration, also features a description, file extension option and an icon.
|
||||
|
||||
### MIME Type Configuration
|
||||
|
||||
Modifing the MIME type config can only be achieved via a yaml configuration. Using environment variables is not possible. For an example, see the `ocis_wopi/config/ocis/app-registry.yaml` at [docker-compose example](https://github.com/owncloud/ocis/tree/master/deployments/examples). The following is a brief structure and a field description:
|
||||
|
||||
**Structure**
|
||||
|
||||
```yaml
|
||||
app_registry:
|
||||
mimetypes:
|
||||
- mime_type: application/vnd.oasis.opendocument.spreadsheet
|
||||
extension: ods
|
||||
name: OpenSpreadsheet
|
||||
description: OpenDocument spreadsheet document
|
||||
icon: https://some-website.test/opendocument-spreadsheet-icon.png
|
||||
default_app: Collabora
|
||||
allow_creation: true
|
||||
- mime_type: ...
|
||||
```
|
||||
|
||||
**Fields**
|
||||
|
||||
* `mime_type`\
|
||||
The MIME type you want to configure.
|
||||
* `extension`\
|
||||
The file extension to be used for new files.
|
||||
* `name`\
|
||||
The name of the file / MIME type.
|
||||
* `description`\
|
||||
The human-readable description of the file / MIME type.
|
||||
* `icon`\
|
||||
The URL to an icon which should be used for that MIME type.
|
||||
* `default_app`\
|
||||
The name of the default app which opens this MIME type if the user doesn’t specify one.
|
||||
* `allow_creation`\
|
||||
Whether a user should be able to create new files of that MIME type (true or false).
|
||||
|
||||
## App Drivers
|
||||
|
||||
App drivers represent apps if the app is not able to register itself. Currently there is only the CS3org WOPI server app driver.
|
||||
|
||||
### CS3org WOPI Server App Driver
|
||||
|
||||
The CS3org WOPI server app driver is included in Infinite Scale by default. It needs at least one WOPI-compliant app like Collabora, OnlyOffice or the Microsoft Online Server or a CS3org WOPI bridge supported app like CodiMD or Etherpad and the [CS3org WOPI server](https://github.com/cs3org/wopiserver).
|
||||
|
||||
### App Provider Configuration
|
||||
|
||||
The configuration of the actual app provider in a [docker-compose example](https://github.com/owncloud/ocis/tree/master/deployments/examples) can be found in the full `ocis-wopi` example directory especially in the config sections `ocis-appprovider-collabora` and `ocis-appprovider-onlyoffice`.
|
||||
|
||||
## Endpoint Access
|
||||
|
||||
### Listing available apps and mime types
|
||||
|
||||
Clients, for example ownCloud Web, need to offer users the available apps to open files and mime types for new file creation. This information can be obtained from this endpoint.
|
||||
|
||||
**Endpoint**: specified in the capabilities in `apps_url`, currently `/app/list`
|
||||
|
||||
**Method**: HTTP GET
|
||||
|
||||
**Authentication**: None
|
||||
|
||||
**Request example**:
|
||||
|
||||
```bash
|
||||
curl 'https://ocis.test/app/list'
|
||||
```
|
||||
|
||||
**Response example**:
|
||||
|
||||
HTTP status code: 200
|
||||
|
||||
```json
|
||||
{
|
||||
"mime-types": [
|
||||
{
|
||||
"mime_type": "application/pdf",
|
||||
"ext": "pdf",
|
||||
"app_providers": [
|
||||
{
|
||||
"name": "OnlyOffice",
|
||||
"icon": "https://some-website.test/onlyoffice-pdf-icon.png"
|
||||
}
|
||||
],
|
||||
"name": "PDF",
|
||||
"description": "PDF document"
|
||||
},
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.text",
|
||||
"ext": "odt",
|
||||
"app_providers": [
|
||||
{
|
||||
"name": "Collabora",
|
||||
"icon": "https://some-website.test/collabora-odt-icon.png"
|
||||
},
|
||||
{
|
||||
"name": "OnlyOffice",
|
||||
"icon": "https://some-website.test/onlyoffice-odt-icon.png"
|
||||
}
|
||||
],
|
||||
"name": "OpenDocument",
|
||||
"icon": "https://some-website.test/opendocument-text-icon.png",
|
||||
"description": "OpenDocument text document",
|
||||
"allow_creation": true,
|
||||
"default_application": "Collabora"
|
||||
},
|
||||
{
|
||||
"mime_type": "text/markdown",
|
||||
"ext": "md",
|
||||
"app_providers": [
|
||||
{
|
||||
"name": "CodiMD",
|
||||
"icon": "https://some-website.test/codimd-md-icon.png"
|
||||
}
|
||||
],
|
||||
"name": "Markdown file",
|
||||
"description": "Markdown file",
|
||||
"allow_creation": true,
|
||||
"default_application": "CodiMD"
|
||||
},
|
||||
{
|
||||
"mime_type": "application/vnd.ms-word.document.macroenabled.12",
|
||||
"app_providers": [
|
||||
{
|
||||
"name": "Collabora",
|
||||
"icon": "https://some-website.test/collabora-word-icon.png"
|
||||
},
|
||||
{
|
||||
"name": "OnlyOffice",
|
||||
"icon": "https://some-website.test/onlyoffice-word-icon.png"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"mime_type": "application/vnd.ms-powerpoint.template.macroenabled.12",
|
||||
"app_providers": [
|
||||
{
|
||||
"name": "Collabora",
|
||||
"icon": "https://some-website.test/collabora-powerpoint-icon.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Open a File With ownCloud Web
|
||||
|
||||
**Endpoint**: specified in the capabilities in `open_web_url`, currently `/app/open-with-web`
|
||||
|
||||
**Method**: HTTP POST
|
||||
|
||||
**Authentication** (one of them):
|
||||
|
||||
- `Authorization` header with OIDC Bearer token for authenticated users or basic auth credentials (if enabled in oCIS)
|
||||
- `X-Access-Token` header with a REVA token for authenticated users
|
||||
|
||||
**Query parameters**:
|
||||
|
||||
- `file_id` (mandatory): id of the file to be opened
|
||||
- `app_name` (optional)
|
||||
- default (not given): default app for mime type
|
||||
- possible values depend on the app providers for a mimetype from the `/app/open` endpoint
|
||||
|
||||
**Request examples**:
|
||||
|
||||
```bash
|
||||
curl -X POST 'https://ocis.test/app/open-with-web?file_id=ZmlsZTppZAo='
|
||||
|
||||
curl -X POST 'https://ocis.test/app/open-with-web?file_id=ZmlsZTppZAo=&app_name=Collabora'
|
||||
```
|
||||
|
||||
**Response examples**:
|
||||
|
||||
The URI from the response JSON is intended to be opened with a GET request in a browser. If the user has not yet a session in the browser, a login flow is handled by ownCloud Web.
|
||||
|
||||
HTTP status code: 200
|
||||
|
||||
```json
|
||||
{
|
||||
"uri": "https://....."
|
||||
}
|
||||
```
|
||||
|
||||
**Example responses (error case)**:
|
||||
|
||||
See error cases for [Open a file with the app provider](#open-a-file-with-the-app-provider)
|
||||
|
||||
### Open a File With the App Provider
|
||||
|
||||
**Endpoint**: specified in the capabilities in `open_url`, currently `/app/open`
|
||||
|
||||
**Method**: HTTP POST
|
||||
|
||||
**Authentication** (one of them):
|
||||
|
||||
- `Authorization` header with OIDC Bearer token for authenticated users or basic auth credentials (if enabled in oCIS)
|
||||
- `Public-Token` header with public link token for public links
|
||||
- `X-Access-Token` header with a REVA token for authenticated users
|
||||
|
||||
**Query parameters**:
|
||||
|
||||
- `file_id` (mandatory): id of the file to be opened
|
||||
- `app_name` (optional)
|
||||
- default (not given): default app for mime type
|
||||
- possible values depend on the app providers for a mimetype from the `/app/open` endpoint
|
||||
- `view_mode` (optional)
|
||||
- default (not given): highest possible view mode, depending on the file permissions
|
||||
- possible values:
|
||||
- `write`: user can edit and download in the opening app
|
||||
- `read`: user can view and download from the opening app
|
||||
- `view`: user can view in the opening app (download is not possible)
|
||||
- `lang` (optional)
|
||||
- default (not given): default language of the application (which might maybe use the browser language)
|
||||
- possible value is any ISO 639-1 language code. Examples:
|
||||
- de
|
||||
- en
|
||||
- es
|
||||
- ...
|
||||
|
||||
**Request examples**:
|
||||
|
||||
```bash
|
||||
curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo='
|
||||
|
||||
curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&lang=de'
|
||||
|
||||
curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora'
|
||||
|
||||
curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&view_mode=read'
|
||||
|
||||
curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora&view_mode=write'
|
||||
```
|
||||
|
||||
**Response examples**:
|
||||
|
||||
All apps are expected to be opened in an iframe and the response will give some parameters for that action.
|
||||
|
||||
There are apps, which need to be opened in the iframe with a form post. The form post must include all form parameters included in the response. For these apps the response will look like this:
|
||||
|
||||
HTTP status code: 200
|
||||
|
||||
```json
|
||||
{
|
||||
"app_url": "https://.....",
|
||||
"method": "POST",
|
||||
"form_parameters": {
|
||||
"access_token": "eyJ0...",
|
||||
"access_token_ttl": "1634300912000",
|
||||
"arbitrary_param": "lorem-ipsum"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
There are apps, which need to be opened in the iframe with a GET request. The GET request must have set all headers included in the response. For these apps the response will look like this:
|
||||
|
||||
HTTP status code: 200
|
||||
|
||||
```json
|
||||
{
|
||||
"app_url": "https://...",
|
||||
"method": "GET",
|
||||
"headers": {
|
||||
"access_token": "eyJ0e...",
|
||||
"access_token_ttl": "1634300912000",
|
||||
"arbitrary_header": "lorem-ipsum"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example responses (error case)**:
|
||||
|
||||
- missing `file_id`
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "missing file ID"
|
||||
}
|
||||
```
|
||||
|
||||
- wrong `view_mode`
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "invalid view mode"
|
||||
}
|
||||
```
|
||||
|
||||
- unknown `app_name`
|
||||
|
||||
HTTP status code: 404
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "RESOURCE_NOT_FOUND",
|
||||
"message": "error: not found: app 'Collabora' not found"
|
||||
}
|
||||
```
|
||||
|
||||
- wrong / invalid file id
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "invalid file ID"
|
||||
}
|
||||
```
|
||||
|
||||
- file id does not point to a file
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "the given file id does not point to a file"
|
||||
}
|
||||
```
|
||||
|
||||
- file does not exist / unauthorized to open the file
|
||||
|
||||
HTTP status code: 404
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "RESOURCE_NOT_FOUND",
|
||||
"message": "file does not exist"
|
||||
}
|
||||
```
|
||||
|
||||
- invalid language code
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "lang parameter does not contain a valid ISO 639-1 language code"
|
||||
}
|
||||
```
|
||||
|
||||
### Creating a File With the App Provider
|
||||
|
||||
**Endpoint**: specified in the capabilities in `new_file_url`, currently `/app/new`
|
||||
|
||||
**Method**: HTTP POST
|
||||
|
||||
**Authentication** (one of them):
|
||||
|
||||
- `Authorization` header with OIDC Bearer token for authenticated users or basic auth credentials (if enabled in oCIS)
|
||||
- `Public-Token` header with public link token for public links
|
||||
- `X-Access-Token` header with a REVA token for authenticated users
|
||||
|
||||
**Query parameters**:
|
||||
|
||||
- `parent_container_id` (mandatory): ID of the folder in which the file will be created
|
||||
- `filename` (mandatory): name of the new file
|
||||
- `template` (optional): not yet implemented
|
||||
|
||||
**Request examples**:
|
||||
|
||||
```bash
|
||||
curl -X POST 'https://ocis.test/app/new?parent_container_id=c2lkOmNpZAo=&filename=test.odt'
|
||||
```
|
||||
|
||||
**Response example**:
|
||||
|
||||
You will receive a file id of the freshly created file, which you can use to open the file in an editor.
|
||||
|
||||
```json
|
||||
{
|
||||
"file_id": "ZmlsZTppZAo="
|
||||
}
|
||||
```
|
||||
|
||||
**Example responses (error case)**:
|
||||
|
||||
- missing `parent_container_id`
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "missing parent container ID"
|
||||
}
|
||||
```
|
||||
|
||||
- missing `filename`
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "missing filename"
|
||||
}
|
||||
```
|
||||
|
||||
- parent container not found
|
||||
|
||||
HTTP status code: 404
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "RESOURCE_NOT_FOUND",
|
||||
"message": "the parent container is not accessible or does not exist"
|
||||
}
|
||||
```
|
||||
|
||||
- `parent_container_id` does not point to a container
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "the parent container id does not point to a container"
|
||||
}
|
||||
```
|
||||
|
||||
- `filename` is invalid (e.g. includes a path segment)
|
||||
|
||||
HTTP status code: 400
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "INVALID_PARAMETER",
|
||||
"message": "the filename must not contain a path segment"
|
||||
}
|
||||
```
|
||||
|
||||
- file already exists
|
||||
|
||||
HTTP status code: 403
|
||||
|
||||
```json
|
||||
{
|
||||
"code": "RESOURCE_ALREADY_EXISTS",
|
||||
"message": "the file already exists"
|
||||
}
|
||||
```
|
||||
## Example Yaml Config
|
||||
{{< include file="services/_includes/app-registry-config-example.yaml" language="yaml" >}}
|
||||
|
||||
{{< include file="services/_includes/app-registry_configvars.md" >}}
|
||||
|
||||
|
||||
@@ -1,91 +1,66 @@
|
||||
---
|
||||
title: "Apps"
|
||||
date: 2018-05-02T00:00:00+00:00
|
||||
weight: 10
|
||||
geekdocRepo: https://github.com/owncloud/ocis
|
||||
geekdocEditPath: edit/master/docs/services/app-registry
|
||||
geekdocFilePath: apps.md
|
||||
---
|
||||
# App Registry
|
||||
|
||||
oCIS is all about files. But most of the time you want to do something with files that is beyond the basic upload, download and share behavior. Therefore, oCIS has a concept for apps, that can handle specific file types, so-called mime types.
|
||||
The `app-registry` service is the single point where all apps register themselves and their respective supported mime types.
|
||||
|
||||
## App provider capability
|
||||
Administrators can set default applications on a per MIME type basis and also allow the creation of new files for certain MIME types. This per MIME type configuration also features a description, file extension option and an icon.
|
||||
|
||||
The capabilities endpoint (e.g. `https://localhost:9200/ocs/v1.php/cloud/capabilities?format=json`) gives you following capabilities which are relevant for the app provider:
|
||||
## MIME Type Configuration / Creation Allow List
|
||||
|
||||
```json
|
||||
{
|
||||
"ocs": {
|
||||
"data": {
|
||||
"capabilities": {
|
||||
"files": {
|
||||
"app_providers": [
|
||||
{
|
||||
"enabled": true,
|
||||
"version": "1.1.0",
|
||||
"apps_url": "/app/list",
|
||||
"open_url": "/app/open",
|
||||
"open_web_url": "/app/open-with-web",
|
||||
"new_url": "/app/new"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
The apps will register their supported MIME types automatically, so that users can open supported files with them.
|
||||
|
||||
Administrators can set default applications for each MIME type and also allow the creation of new files for certain mime types. This, per MIME type configuration, also features a description, file extension option and an icon.
|
||||
|
||||
### MIME Type Configuration
|
||||
|
||||
Modifing the MIME type config can only be achieved via a yaml configuration. Using environment variables is not possible. For an example, see the `ocis_wopi/config/ocis/app-registry.yaml` at [docker-compose example](https://github.com/owncloud/ocis/tree/master/deployments/examples). The following is a brief structure and a field description:
|
||||
|
||||
**Structure**
|
||||
|
||||
```yaml
|
||||
app_registry:
|
||||
mimetypes:
|
||||
- mime_type: application/vnd.oasis.opendocument.spreadsheet
|
||||
extension: ods
|
||||
name: OpenSpreadsheet
|
||||
description: OpenDocument spreadsheet document
|
||||
icon: https://some-website.test/opendocument-spreadsheet-icon.png
|
||||
default_app: Collabora
|
||||
allow_creation: true
|
||||
- mime_type: ...
|
||||
```
|
||||
|
||||
{{< hint info >}}
|
||||
Please note that there might be two or more app providers with different versions. This is not be expected to happen on a regular basis. It was designed for a possible migration period for clients when the app provider needs a breaking change.
|
||||
{{< /hint >}}
|
||||
**Fields**
|
||||
|
||||
## App registry
|
||||
* `mime_type`\
|
||||
The MIME type you want to configure.
|
||||
* `extension`\
|
||||
The file extension to be used for new files.
|
||||
* `name`\
|
||||
The name of the file / MIME type.
|
||||
* `description`\
|
||||
The human-readable description of the file / MIME type.
|
||||
* `icon`\
|
||||
The URL to an icon which should be used for that MIME type.
|
||||
* `default_app`\
|
||||
The name of the default app which opens this MIME type if the user doesn’t specify one.
|
||||
* `allow_creation`\
|
||||
Whether a user should be able to create new files of that MIME type (true or false).
|
||||
|
||||
The app registry is the single point where all apps register themselves and their respective supported mime types.
|
||||
## App Drivers
|
||||
|
||||
### Mime type configuration / creation allow list
|
||||
App drivers represent apps if the app is not able to register itself. Currently there is only the CS3org WOPI server app driver.
|
||||
|
||||
The apps will register their supported mime types automatically, so that users can open supported files with them.
|
||||
### CS3org WOPI Server App Driver
|
||||
|
||||
Administrators can set default applications on a per mime type basis and also allow the creation of new files for certain mime types. This per mime type configuration also features a description, file extension option and an icon.
|
||||
The CS3org WOPI server app driver is included in Infinite Scale by default. It needs at least one WOPI-compliant app like Collabora, OnlyOffice or the Microsoft Online Server or a CS3org WOPI bridge supported app like CodiMD or Etherpad and the [CS3org WOPI server](https://github.com/cs3org/wopiserver).
|
||||
|
||||
In order to modify the mime type config you need to set `STORAGE_APP_REGISTRY_MIMETYPES_JSON=.../mimetypes.json` to a valid JSON file with content like this:
|
||||
### App Provider Configuration
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.text",
|
||||
"extension": "odt",
|
||||
"name": "OpenDocument",
|
||||
"description": "OpenDocument text document",
|
||||
"icon": "https://some-website.test/opendocument-text-icon.png",
|
||||
"default_app": "Collabora",
|
||||
"allow_creation": true
|
||||
},
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.spreadsheet",
|
||||
"extension": "ods",
|
||||
"name": "OpenSpreadsheet",
|
||||
"description": "OpenDocument spreadsheet document",
|
||||
"icon": "",
|
||||
"default_app": "Collabora",
|
||||
"allow_creation": false
|
||||
}
|
||||
]
|
||||
```
|
||||
The configuration of the actual app provider in a [docker-compose example](https://github.com/owncloud/ocis/tree/master/deployments/examples) can be found in the full `ocis-wopi` example directory especially in the config sections `ocis-appprovider-collabora` and `ocis-appprovider-onlyoffice`.
|
||||
|
||||
Fields:
|
||||
## Endpoint Access
|
||||
|
||||
- `mime_type` is the mime type you want to configure
|
||||
- `extension` is the file extension to be used for new files
|
||||
- `name` is the name of the file / mime type
|
||||
- `description` is a human-readable description of the file / mime type
|
||||
- `icon` URL to an icon which should be used for that mime type
|
||||
- `default_app` name of the default app which opens this mime type when the user doesn't specify one
|
||||
- `allow_creation` is whether a user should be able to create new file from that mime type (`true` or `false`)
|
||||
|
||||
### Listing available apps / mime types
|
||||
### Listing available apps and mime types
|
||||
|
||||
Clients, for example ownCloud Web, need to offer users the available apps to open files and mime types for new file creation. This information can be obtained from this endpoint.
|
||||
|
||||
@@ -179,7 +154,7 @@ HTTP status code: 200
|
||||
}
|
||||
```
|
||||
|
||||
### Open a file with the ownCloud Web
|
||||
### Open a File With ownCloud Web
|
||||
|
||||
**Endpoint**: specified in the capabilities in `open_web_url`, currently `/app/open-with-web`
|
||||
|
||||
@@ -221,7 +196,7 @@ HTTP status code: 200
|
||||
|
||||
See error cases for [Open a file with the app provider](#open-a-file-with-the-app-provider)
|
||||
|
||||
### Open a file with the app provider
|
||||
### Open a File With the App Provider
|
||||
|
||||
**Endpoint**: specified in the capabilities in `open_url`, currently `/app/open`
|
||||
|
||||
@@ -382,7 +357,7 @@ HTTP status code: 200
|
||||
}
|
||||
```
|
||||
|
||||
### Creating a file with the app provider
|
||||
### Creating a File With the App Provider
|
||||
|
||||
**Endpoint**: specified in the capabilities in `new_file_url`, currently `/app/new`
|
||||
|
||||
@@ -483,14 +458,3 @@ You will receive a file id of the freshly created file, which you can use to ope
|
||||
"message": "the file already exists"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## App drivers
|
||||
|
||||
App drivers represent apps, if the app is not able to register itself. Currently there is only the CS3org WOPI server app driver.
|
||||
|
||||
### CS3org WOPI server app driver
|
||||
|
||||
The CS3org WOPI server app driver is included in oCIS by default. It needs at least one WOPI compliant app (e.g. Collabora, OnlyOffice or Microsoft Online Server) or a CS3org WOPI bridge supported app (CodiMD or Etherpad) and the CS3org WOPI server.
|
||||
|
||||
The configuration of the actual app provider in a docker-compose example can be found in the [full example](https://github.com/owncloud/ocis/blob/master/deployments/examples/ocis_wopi/docker-compose.yml) especially [ocis-appprovider-collabora](https://github.com/owncloud/ocis/blob/master/deployments/examples/ocis_wopi/docker-compose.yml#L102-L128) and [ocis-appprovider-onlyoffice](https://github.com/owncloud/ocis/blob/master/deployments/examples/ocis_wopi/docker-compose.yml#L130-L161)
|
||||
Reference in New Issue
Block a user