[docs-only] Fixes the app-registry readme and dev docs

This commit is contained in:
mmattel
2024-04-04 15:09:54 +02:00
parent 0125bac362
commit f72f6788a0
3 changed files with 647 additions and 194 deletions

View File

@@ -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
View 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 doesnt 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" >}}

View File

@@ -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 doesnt 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)