From 4aced885304aefa9c8ad60f321af4520af7ddc39 Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Tue, 5 Oct 2021 16:51:00 +0200 Subject: [PATCH 1/7] [docs-only] add app provider docs --- docs/extensions/storage/apps.md | 83 +++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 docs/extensions/storage/apps.md diff --git a/docs/extensions/storage/apps.md b/docs/extensions/storage/apps.md new file mode 100644 index 000000000..19f280d8d --- /dev/null +++ b/docs/extensions/storage/apps.md @@ -0,0 +1,83 @@ + + + + +oCIS is all about files. But most of the time you wan to do something with files. Therefore oCIS has an concept about apps, that can handle specific file types, so called mime types. + +App registry +The app registry is the single point where all apps register itself and their supported mime types. + +Mime type configuration / allow list +Administrators need to add supported mime types to the mime type configuration, which works like an allow list. Only mime types on this list will be offered by the app registry even if app providers register additional mime types. + +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 a content like this: + +{ + "application/vnd.oasis.opendocument.text":{ + "extension":"odt", + "name":"OpenDocument", + "description":"OpenDocument text document", + "icon":"", + "default_app":"Collabora" + }, + "application/vnd.oasis.opendocument.spreadsheet":{ + "extension":"ods", + "name":"OpenSpreadsheet", + "description":"OpenDocument spreadsheet document", + "icon":"", + "default_app":"Collabora" + } +} +Please add all mime types you would like use with apps. You also can configure, which application should be treated as a default app for a certain mime type by setting the app provider name in default_app. + +Listing available mime types / apps +/app/list + +{ + "mime-types": [ + { + "mime_type": "application/vnd.oasis.opendocument.spreadsheet", + "ext": "ods", + "app_providers": [ + { + "name": "Collabora", + "icon": "https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png" + } + ], + "name": "OpenSpreadsheet", + "description": "OpenDocument spreadsheet document" + }, + { + "mime_type": "application/vnd.oasis.opendocument.presentation", + "ext": "odp", + "app_providers": [ + { + "name": "Collabora", + "icon": "https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png" + } + ], + "name": "OpenPresentation", + "description": "OpenDocument presentation document" + } +/app/open + +App provider / drivers +WOPI app provider with CS3org WOPI server +You can run an app provider next to your regular oCIS (docker-compose example). Aditionally you need a CS3 WOPI server and Collabora Online instances running. Both can be found in our WOPI deployment example. + +Here is a closer look at the configuration of the actual app provider: + + ocis-appdriver-collabora: + image: owncloud/ocis:latest + command: storage-app-provider server + environment: + STORAGE_GATEWAY_ENDPOINT: ocis:9142 + APP_PROVIDER_BASIC_EXTERNAL_ADDR: ocis-appdriver-collabora:9164 + OCIS_JWT_SECRET: ocis-jwt-secret + APP_PROVIDER_DRIVER: wopi + APP_PROVIDER_WOPI_DRIVER_APP_NAME: Collabora + APP_PROVIDER_WOPI_DRIVER_APP_ICON_URI: https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png + APP_PROVIDER_WOPI_DRIVER_APP_URL: https://collabora.owncloud.test + APP_PROVIDER_WOPI_DRIVER_INSECURE: false + APP_PROVIDER_WOPI_DRIVER_IOP_SECRET: wopi-iop-secret + APP_PROVIDER_WOPI_DRIVER_WOPI_URL: https://wopiserver.owncloud.test From 4c53ca03e66792dc6a8ec7b469e7b1992a9129cd Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Thu, 14 Oct 2021 15:14:46 +0200 Subject: [PATCH 2/7] add more docs --- docs/extensions/storage/apps.md | 233 +++++++++++++++++++++++++++----- 1 file changed, 196 insertions(+), 37 deletions(-) diff --git a/docs/extensions/storage/apps.md b/docs/extensions/storage/apps.md index 19f280d8d..2e1073f6b 100644 --- a/docs/extensions/storage/apps.md +++ b/docs/extensions/storage/apps.md @@ -1,71 +1,229 @@ +--- +title: "Apps" +date: 2018-05-02T00:00:00+00:00 +weight: 10 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage +geekdocFilePath: apps.md +--- +oCIS is all about files. But most of the time you want to do something with files. Therefore oCIS has an concept about apps, that can handle specific file types, so called mime types. +## App registry - -oCIS is all about files. But most of the time you wan to do something with files. Therefore oCIS has an concept about apps, that can handle specific file types, so called mime types. - -App registry The app registry is the single point where all apps register itself and their supported mime types. -Mime type configuration / allow list +### Mime type configuration / allow list + Administrators need to add supported mime types to the mime type configuration, which works like an allow list. Only mime types on this list will be offered by the app registry even if app providers register additional mime types. 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 a content like this: -{ - "application/vnd.oasis.opendocument.text":{ - "extension":"odt", - "name":"OpenDocument", - "description":"OpenDocument text document", - "icon":"", - "default_app":"Collabora" - }, - "application/vnd.oasis.opendocument.spreadsheet":{ - "extension":"ods", - "name":"OpenSpreadsheet", - "description":"OpenDocument spreadsheet document", - "icon":"", - "default_app":"Collabora" - } -} +```json +[ + { + "mime_type": "application/vnd.oasis.opendocument.text", + "extension": "odt", + "name": "OpenDocument", + "description": "OpenDocument text document", + "icon": "", + "default_app": "Collabora" + }, + { + "mime_type": "application/vnd.oasis.opendocument.spreadsheet", + "extension": "ods", + "name": "OpenSpreadsheet", + "description": "OpenDocument spreadsheet document", + "icon": "", + "default_app": "Collabora" + } +] +``` + Please add all mime types you would like use with apps. You also can configure, which application should be treated as a default app for a certain mime type by setting the app provider name in default_app. -Listing available mime types / apps -/app/list +### Listing available mime types / apps +#### /app/list + +Method: HTTP GET + +Authentication: None + +Result: + +```json { "mime-types": [ { - "mime_type": "application/vnd.oasis.opendocument.spreadsheet", - "ext": "ods", + "mime_type": "application/pdf", + "ext": "pdf", "app_providers": [ { - "name": "Collabora", - "icon": "https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png" + "name": "OnlyOffice", + "icon": "https://www.pikpng.com/pngl/m/343-3435764_onlyoffice-desktop-editors-onlyoffice-logo-clipart.png" } ], - "name": "OpenSpreadsheet", - "description": "OpenDocument spreadsheet document" + "name": "PDF", + "description": "PDF document" }, { - "mime_type": "application/vnd.oasis.opendocument.presentation", - "ext": "odp", + "mime_type": "application/vnd.oasis.opendocument.text", + "ext": "odt", + "app_providers": [ + { + "name": "Collabora", + "icon": "https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png" + }, + { + "name": "OnlyOffice", + "icon": "https://www.pikpng.com/pngl/m/343-3435764_onlyoffice-desktop-editors-onlyoffice-logo-clipart.png" + } + ], + "name": "OpenDocument", + "description": "OpenDocument text document", + "allow_creation": true + }, + { + "mime_type": "text/markdown", + "ext": "md", + "app_providers": [ + { + "name": "CodiMD", + "icon": "https://avatars.githubusercontent.com/u/67865462?v=4" + } + ], + "name": "Markdown file", + "description": "Markdown file", + "allow_creation": true + }, + { + "mime_type": "application/vnd.ms-word.document.macroenabled.12", + "app_providers": [ + { + "name": "Collabora", + "icon": "https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png" + }, + { + "name": "OnlyOffice", + "icon": "https://www.pikpng.com/pngl/m/343-3435764_onlyoffice-desktop-editors-onlyoffice-logo-clipart.png" + } + ] + }, + { + "mime_type": "application/vnd.ms-powerpoint.template.macroenabled.12", "app_providers": [ { "name": "Collabora", "icon": "https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png" } - ], - "name": "OpenPresentation", - "description": "OpenDocument presentation document" + ] } -/app/open + ] +} +``` + +#### /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) + +Examples: + + +``` bash +curl 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=' + +curl 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora' + +curl 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&view_mode=read' + +curl 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora&view_mode=write' +``` + + +Response: + +Result: + +``` json +{ + "app_url": "https://.....", + "method": "POST", + "form_parameters": { + "access_token": "eyJ0...", + "access_token_ttl": "1634300912000", + "arbitrary_param": "lorem-ipsum" + } +} +``` + +``` json +{ + "app_url": "https://...", + "method": "GET", + "headers": { + "access_token": "eyJ0e...", + "access_token_ttl": "1634300912000", + "arbitrary_header": "lorem-ipsum", + } +} +``` + +Errors: + +- wrong `view_mode` +``` json +{ + "code": "SERVER_ERROR", + "message": "Missing or invalid viewmode argument" +} +``` + +- unknown `app_name` +``` json +{ + "code": "SERVER_ERROR", + "message": "error searching for app provider" +} +``` + +- wrong / invalid file id / unauthorized to open the file +``` json +{ + "code": "SERVER_ERROR", + "message": "error statting file" +} +``` + +## App provider / drivers -App provider / drivers WOPI app provider with CS3org WOPI server You can run an app provider next to your regular oCIS (docker-compose example). Aditionally you need a CS3 WOPI server and Collabora Online instances running. Both can be found in our WOPI deployment example. -Here is a closer look at the configuration of the actual app provider: +Here is a closer look at the configuration of the actual app provider in a docker-compose example: + +```yaml +services: + ocis: ... ocis-appdriver-collabora: image: owncloud/ocis:latest @@ -81,3 +239,4 @@ Here is a closer look at the configuration of the actual app provider: APP_PROVIDER_WOPI_DRIVER_INSECURE: false APP_PROVIDER_WOPI_DRIVER_IOP_SECRET: wopi-iop-secret APP_PROVIDER_WOPI_DRIVER_WOPI_URL: https://wopiserver.owncloud.test +``` From 8ccf14c289aad9823376c3b0eb44d8af41759a23 Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Thu, 21 Oct 2021 15:06:52 +0200 Subject: [PATCH 3/7] update documentation --- docs/extensions/storage/apps.md | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/docs/extensions/storage/apps.md b/docs/extensions/storage/apps.md index 2e1073f6b..aae274c6d 100644 --- a/docs/extensions/storage/apps.md +++ b/docs/extensions/storage/apps.md @@ -13,11 +13,13 @@ oCIS is all about files. But most of the time you want to do something with file The app registry is the single point where all apps register itself and their supported mime types. -### Mime type configuration / allow list +### Mime type configuration / creation allow list -Administrators need to add supported mime types to the mime type configuration, which works like an allow list. Only mime types on this list will be offered by the app registry even if app providers register additional mime types. +The apps will register their supported mime types automatically, so that users can open supported files with them. -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 a content like this: +Administrators can set default applications on a per mimetype 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. + +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 a content like this: ```json [ @@ -27,7 +29,8 @@ In order to modify the mime type config you need to set STORAGE_APP_REGISTRY_MIM "name": "OpenDocument", "description": "OpenDocument text document", "icon": "", - "default_app": "Collabora" + "default_app": "Collabora", + "allow_creation": true }, { "mime_type": "application/vnd.oasis.opendocument.spreadsheet", @@ -35,12 +38,20 @@ In order to modify the mime type config you need to set STORAGE_APP_REGISTRY_MIM "name": "OpenSpreadsheet", "description": "OpenDocument spreadsheet document", "icon": "", - "default_app": "Collabora" + "default_app": "Collabora", + "allow_creation": false } ] ``` +Fields: + - `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 wether a user should be able to create new file from that mime type (`true` or `false`) -Please add all mime types you would like use with apps. You also can configure, which application should be treated as a default app for a certain mime type by setting the app provider name in default_app. ### Listing available mime types / apps @@ -162,7 +173,9 @@ curl 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora&view_mo Response: -Result: +Apps are expected to be opened in Iframes and the response will give some parameters for that action. + +Some apps expect to be opened in the Iframe with a form post. The response will look like this: ``` json { @@ -176,6 +189,9 @@ Result: } ``` + +Some apps expect to be opened in the Iframe with a GET request and need additional headers to be set: + ``` json { "app_url": "https://...", @@ -186,9 +202,10 @@ Result: "arbitrary_header": "lorem-ipsum", } } + ``` -Errors: +If opening an app fails, you may encounter one of the following errors: - wrong `view_mode` ``` json From 2d19cd93bd1d3ffa4f8243db508a1a6f57fb2a34 Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Tue, 26 Oct 2021 15:09:29 +0200 Subject: [PATCH 4/7] update docs --- docs/extensions/storage/apps.md | 178 ++++++++++++++++++++------------ 1 file changed, 112 insertions(+), 66 deletions(-) diff --git a/docs/extensions/storage/apps.md b/docs/extensions/storage/apps.md index aae274c6d..959318647 100644 --- a/docs/extensions/storage/apps.md +++ b/docs/extensions/storage/apps.md @@ -9,6 +9,33 @@ geekdocFilePath: apps.md oCIS is all about files. But most of the time you want to do something with files. Therefore oCIS has an concept about apps, that can handle specific file types, so called mime types. +## App provider capability + +The capabilities endpoint (eg. `https://localhost:9200/ocs/v1.php/cloud/capabilities?format=json`) gives you following capabilities which are relevant for the app provider: + +```json +{ + "ocs": { + "data": { + "capabilities": { + "files": { + "app_providers": [ + { + "enabled": true, + "version": "1.0.0", + "apps_url": "/app/list", + "open_url": "/app/open" + } + ] + } + } + } + } +} +``` + +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. + ## App registry The app registry is the single point where all apps register itself and their supported mime types. @@ -24,11 +51,11 @@ In order to modify the mime type config you need to set `STORAGE_APP_REGISTRY_MI ```json [ { - "mime_type": "application/vnd.oasis.opendocument.text", + "mime_type": "applition/vnd.oasis.opendocument.text", "extension": "odt", "name": "OpenDocument", "description": "OpenDocument text document", - "icon": "", + "icon": "https://some-website.test/opendocument-text-icon.png", "default_app": "Collabora", "allow_creation": true }, @@ -43,25 +70,34 @@ In order to modify the mime type config you need to set `STORAGE_APP_REGISTRY_MI } ] ``` + Fields: - - `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 wether a user should be able to create new file from that mime type (`true` or `false`) +- `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 wether a user should be able to create new file from that mime type (`true` or `false`) -### Listing available mime types / apps +### Listing available apps / mime types -#### /app/list +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. -Method: HTTP GET +**Endpoint**: specified in the capabilities in `apps_url`, currently `/app/list` -Authentication: None +**Method**: HTTP GET -Result: +**Authentication**: None + +**Request example**: + +```bash +curl 'https://ocis.test/app/list' +``` + +**Response example**: ```json { @@ -92,6 +128,7 @@ Result: } ], "name": "OpenDocument", + "icon": "https://some-website.test/opendocument-text-icon.png", "description": "OpenDocument text document", "allow_creation": true }, @@ -134,17 +171,19 @@ Result: } ``` -#### /app/open +### Open a file with the app provider -Method: HTTP POST +**Endpoint**: specified in the capabilities in `open_url`, currently `/app/open` -Authentication (one of them): +**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: +**Query parameters**: - `file_id` (mandatory): id of the file to be opened - `app_name` (optional) @@ -157,27 +196,25 @@ Query parameters: - `read`: user can view and download from the opening app - `view`: user can view in the opening app (download is not possible) -Examples: +**Request examples**: +```bash +curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=' -``` bash -curl 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=' +curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora' -curl '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 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&view_mode=read' - -curl 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora&view_mode=write' +curl -X POST 'https://ocis.test/app/open?file_id=ZmlsZTppZAo=&app_name=Collabora&view_mode=write' ``` +**Response examples**: -Response: +All apps are expected to be opened in an iframe and the response will give some parameters for that action. -Apps are expected to be opened in Iframes 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: -Some apps expect to be opened in the Iframe with a form post. The response will look like this: - -``` json +```json { "app_url": "https://.....", "method": "POST", @@ -189,71 +226,80 @@ Some apps expect to be opened in the Iframe with a form post. The response will } ``` +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: -Some apps expect to be opened in the Iframe with a GET request and need additional headers to be set: - -``` json +```json { "app_url": "https://...", "method": "GET", "headers": { "access_token": "eyJ0e...", "access_token_ttl": "1634300912000", - "arbitrary_header": "lorem-ipsum", + "arbitrary_header": "lorem-ipsum" } } - ``` -If opening an app fails, you may encounter one of the following errors: +**Example responses (error case)**: - wrong `view_mode` -``` json -{ - "code": "SERVER_ERROR", - "message": "Missing or invalid viewmode argument" -} -``` + + ```json + { + "code": "SERVER_ERROR", + "message": "Missing or invalid viewmode argument" + } + ``` - unknown `app_name` -``` json -{ - "code": "SERVER_ERROR", - "message": "error searching for app provider" -} -``` + + ```json + { + "code": "SERVER_ERROR", + "message": "error searching for app provider" + } + ``` - wrong / invalid file id / unauthorized to open the file -``` json -{ - "code": "SERVER_ERROR", - "message": "error statting file" -} -``` -## App provider / drivers + ```json + { + "code": "SERVER_ERROR", + "message": "error statting file" + } + ``` -WOPI app provider with CS3org WOPI server -You can run an app provider next to your regular oCIS (docker-compose example). Aditionally you need a CS3 WOPI server and Collabora Online instances running. Both can be found in our WOPI deployment example. +## App drivers -Here is a closer look at the configuration of the actual app provider in a docker-compose example: +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 (eg. Collabora, OnlyOffice or Microsoft Online Online Server) or a CS3org WOPI bridge supported app (CodiMD or Etherpad) and the CS3org WOPI server. + +Here is a closer look at the configuration of the actual app provider in a docker-compose example (see also [full example](https://github.com/owncloud/ocis/blob/master/deployments/examples/ocis_wopi/docker-compose.yml)): ```yaml services: - ocis: ... + ocis: + image: owncloud/ocis:latest + ... + environment: + ... + STORAGE_GATEWAY_GRPC_ADDR: 0.0.0.0:9142 # make the REVA gateway accessible to the app drivers ocis-appdriver-collabora: image: owncloud/ocis:latest - command: storage-app-provider server + command: storage-app-provider server # start only the app driver environment: - STORAGE_GATEWAY_ENDPOINT: ocis:9142 - APP_PROVIDER_BASIC_EXTERNAL_ADDR: ocis-appdriver-collabora:9164 + STORAGE_GATEWAY_ENDPOINT: ocis:9142 # oCIS gateway endpoint + APP_PROVIDER_BASIC_EXTERNAL_ADDR: ocis-appdriver-collabora:9164 # how oCIS can reach this app driver OCIS_JWT_SECRET: ocis-jwt-secret APP_PROVIDER_DRIVER: wopi - APP_PROVIDER_WOPI_DRIVER_APP_NAME: Collabora - APP_PROVIDER_WOPI_DRIVER_APP_ICON_URI: https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png - APP_PROVIDER_WOPI_DRIVER_APP_URL: https://collabora.owncloud.test + APP_PROVIDER_WOPI_DRIVER_APP_NAME: Collabora # will be used as name for this app + APP_PROVIDER_WOPI_DRIVER_APP_ICON_URI: https://www.collaboraoffice.com/wp-content/uploads/2019/01/CP-icon.png # will be used as icon for this app + APP_PROVIDER_WOPI_DRIVER_APP_URL: https://collabora.owncloud.test # endpoint of collabora APP_PROVIDER_WOPI_DRIVER_INSECURE: false APP_PROVIDER_WOPI_DRIVER_IOP_SECRET: wopi-iop-secret - APP_PROVIDER_WOPI_DRIVER_WOPI_URL: https://wopiserver.owncloud.test + APP_PROVIDER_WOPI_DRIVER_WOPI_URL: https://wopiserver.owncloud.test # endpoint of the CS3org WOPI server ``` From 0a3d5310519ec78416eaa5665d06b50e4e5d7b97 Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Tue, 26 Oct 2021 15:20:28 +0200 Subject: [PATCH 5/7] review feedback --- docs/extensions/storage/apps.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extensions/storage/apps.md b/docs/extensions/storage/apps.md index 959318647..5e31bb284 100644 --- a/docs/extensions/storage/apps.md +++ b/docs/extensions/storage/apps.md @@ -7,7 +7,7 @@ geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: apps.md --- -oCIS is all about files. But most of the time you want to do something with files. Therefore oCIS has an concept about apps, that can handle specific file types, so called mime types. +oCIS is all about files. But most of the time you want to do something with files that 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. ## App provider capability @@ -38,7 +38,7 @@ Please note that there might be two or more app providers with different version ## App registry -The app registry is the single point where all apps register itself and their supported mime types. +The app registry is the single point where all apps register themselves and their respective supported mime types. ### Mime type configuration / creation allow list From c26daa0605e33408b5123a34f2e0b1e7d9370db5 Mon Sep 17 00:00:00 2001 From: Willy Kloucek <34452982+wkloucek@users.noreply.github.com> Date: Wed, 3 Nov 2021 10:47:03 +0100 Subject: [PATCH 6/7] Apply suggestions from code review Co-authored-by: Benedikt Kulmann --- docs/extensions/storage/apps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/extensions/storage/apps.md b/docs/extensions/storage/apps.md index 5e31bb284..339735866 100644 --- a/docs/extensions/storage/apps.md +++ b/docs/extensions/storage/apps.md @@ -7,7 +7,7 @@ geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: apps.md --- -oCIS is all about files. But most of the time you want to do something with files that 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. +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. ## App provider capability @@ -44,9 +44,9 @@ The app registry is the single point where all apps register themselves and thei The apps will register their supported mime types automatically, so that users can open supported files with them. -Administrators can set default applications on a per mimetype 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. +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. -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 a content like this: +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: ```json [ From e06db64a3f7fa225af18a883b1df2fd04a428b4e Mon Sep 17 00:00:00 2001 From: Willy Kloucek Date: Wed, 3 Nov 2021 10:51:19 +0100 Subject: [PATCH 7/7] hint wrap --- docs/extensions/storage/apps.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extensions/storage/apps.md b/docs/extensions/storage/apps.md index 339735866..26257509a 100644 --- a/docs/extensions/storage/apps.md +++ b/docs/extensions/storage/apps.md @@ -34,7 +34,9 @@ The capabilities endpoint (eg. `https://localhost:9200/ocs/v1.php/cloud/capabili } ``` +{{< 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 >}} ## App registry