Clean documentation

This commit is contained in:
Romaric Mourgues
2023-04-17 17:00:03 +02:00
parent a46c6ca0a8
commit 88bd3b2a32
80 changed files with 138 additions and 2492 deletions
+116
View File
@@ -0,0 +1,116 @@
# Tdrive - How to enable plugins
## Edit the /backend/node/config/{env}.json file to add the plugin, here is an example with onlyoffice:
```json
{
"applications": {
"grid": [
{
"name": "Tmail",
"logo": "/public/img/grid/tmail.png",
"url": "https://tmail.linagora.com/"
}
],
"plugins": [
{
"id": "tdrive_onlyoffice",
"internal_domain": "http://plugins_onlyoffice:5000/",
"external_prefix": "/plugins/onlyoffice/",
"api": {
"private_key": "apisecret"
},
"display": {
"tdrive": {
"version": 1,
"files": {
"editor": {
"preview_url": "/plugins/onlyoffice/?preview=1",
"edition_url": "/plugins/onlyoffice/",
"empty_files": [
{
"url": "/plugins/onlyoffice/assets/empty.docx",
"filename": "Untitled.docx",
"name": "ONLYOFFICE Word Document"
},
{
"url": "/plugins/onlyoffice/assets/empty.xlsx",
"filename": "Untitled.xlsx",
"name": "ONLYOFFICE Excel Document"
},
{
"url": "/plugins/onlyoffice/assets/empty.pptx",
"filename": "Untitled.pptx",
"name": "ONLYOFFICE PowerPoint Document"
}
],
"extensions": [
"xlsx",
"pptx",
"docx",
"xls",
"ppt",
"doc",
"odt",
"ods",
"odp",
"txt",
"html",
"csv"
]
}
}
}
},
"identity": {
"code": "only_office",
"name": "Only Office",
"icon": "/plugins/onlyoffice/assets/logo.png",
"description": null,
"website": "http://twake.app/",
"categories": [],
"compatibility": ["tdrive"]
}
}
]
}
}
```
#### Explanation
- `grid` is the list of applications that will be displayed in the grid on top bar, here an example with tmail
- `plugins` is the list of plugins for tdrive, here an example with onlyoffice.
- `plugins.id` is mandatory and must be unique to each plusing
- `plugins.internal_domain` (only if installed inside the same docker and same domain) is the internal domain of the plugin, it must be the same as the one in the docker-compose.yml file
- `plugins.external_prefix` (only if installed outside of the docker) is the external prefix of the plugin. When the frontend will call https://tdrive.app/plugins/onlyoffice/ it will be redirected to the internal_domain.
## Add and run the docker container for the plugin
For instance with onlyoffice, you can find the plugin here: https://github.com/linagora/Twake-Plugin-Onlyoffice
In the docker-compose.yml you can add the following:
```yml
plugins_onlyoffice:
image: onlyoffice-connector
restart: unless-stopped
environment:
- SERVER_PORT=5000
- SERVER_PREFIX=/plugins/onlyoffice/
- CREDENTIALS_ENDPOINT=http://node/
- ONLY_OFFICE_SERVER=https://onlyoffice.server.come/
- CREDENTIALS_ID=tdrive_onlyoffice
- CREDENTIALS_SECRET=apisecret
```
Note:
- Make sure the network is shared with node
- Make sure the service name matches the internal_domain in the config file
## Run everything
When starting the docker-compose, the plugin will be available on https://[frontend]/plugins/onlyoffice/ you can test everything works by opening the url https://[frontend]/plugins/onlyoffice/assets/logo.png .
If the logo displays, then open TDrive, and see if you can create a new OnlyOffice Spreadsheet when clicking on "New".