Update Embedded Office for enaio authored by Ulrich Wohlfeil's avatar Ulrich Wohlfeil
## Vorbereitung
### Technischer Schrank
Embedded Office verwendet zum dokumentieren der Benutzeraktionen einen technischen enaio Schrank welcher angelegt werden muss.
Importieren Sie hierfür den Schrank EmbeddedOffice aus der bereitgestellten Objektdefinition in Ihr enaio System.
![](../videos/EmbeddedOfficeAddObjectDefinition.webm)
### Benutzer und Gruppe
Als nächstes benötigt Embedded Office einen technischen Benutzer mit den entsprechenden Rechten auf den technischen Schrank und alle relevanten Objekttypen.
Erstellen Sie hierfür zunächst eine Gruppe für Embedded Office welche mindestens die Rechte ``Indexdaten anzeigen (R)``, ``Objekt ausgeben (X)`` und ``Objekt schreiben (U)`` auf den technischen Schrank ``Embedded Office`` und alle Objekte hat, die durch Embedded Office editiert werden sollen. Hier kann alternativ auch eine bestehende Gruppe verwendet werden sofern diese die entsprechenden Rechte besitzt.
![](../videos/EmbeddedOfficeAddGroup.webm)
Als nächstes erstellen Sie einen (technischen) Benutzer für den Embedded Office Service, z.B. ``SRV_EMBEDDED_OFFICE``, welcher nur die Systemrolle ``Server: Jobkontext wechseln (ID = 72)`` benötigt und Mitglied der genannten Gruppe ist. Die Systemrolle benötigt der Service, um API Befehle im Rechtekontext des des jeweiligen Benutzers ausführen zu können.
![](../videos/EmbeddedOfficeAddUser.webm)
### Versionierung
Wenn Sie die Versionierung im ONLYOFFICE Client verwenden wollen, muss im enaio Editor bei den jeweiligen Dokumenttyp das Flag ``Dokumentenhistorie erzeugen`` aktiviert werden. Bitte beachten Sie, dass die zu einem erhöhten Speicherverbrauch im Workverzeichnis führt.
![](../videos/EmbeddedOfficeAddDocVersioning.webm)
### Installation
Um den Embedded Office Microservice in den enaio Service-Manager zu installieren gehen Sie wie folgt vor:
Erstellen Sie unter im ``service-manager`` Ordner unter ``apps`` den Ordner ``office``.
Anschliessend kopieren Sie die bereitgestellte ``office.jar`` hinein.
Als nächste registrieren Sie den MicroService im Service Manager in dem Sie die Datei `service-manager\config\servicewatcher-sw.yml` um die folgenden Zeilen erweitern:
```yml
- name: office
type: microservice
profiles: prod,cloud,blue
instances: 1
memory: 256M
port: 9343
arch: x64
path: ${appBase}/office/office.jar
```
<br>
![](../videos/EmbeddedOfficeRegisterJar.webm)
Um den Microservice zu Konfigurieren, müssen folgende Dateien unter `service-manager\config` kopiert und angepasst werden:
**office-prod.yml**
```yml
office:
jwt: secret-jwt
onlyofficeBaseUrl: http://enaio-demo-1.ecmind.ch/onlyoffice
serviceBaseUrl: http://localhost:9343
```
`JWT Secret` muss dem JWT Token Secet der ONLYOFFICE Konfiguration entsprechen.
`office.onlyofficeBaseUrl` muss der Basis-Url der ONLYOFFICE Instanz entsprechen über den der **Benutzer** die ONLYOFFICE Installation erreichen kann.
`office.serviceBaseUrl` muss der Basis-Url der Embedded Office Instanz entsprechen über den der ONLYOFFICE den Embedded Office Service erreicht.
**office-enaio.yml**
```yml
enaio:
dms:
username: SRV_EMBEDDED_OFFICE
password: secret
server: localhost:4000:100
```
<br>
![](../videos/EmbeddedOfficeConfigure.webm)
Als letztes muss der enaio service-manager durchgestartet werden.
### Gateway-Entrypoint
Embedded Office verwendet zur Ermittung der externern URL den enaio Gateway header `x-os-servicebase`. Diesen generiert der `enaio Gateway` über die Servereigenschaft `Gateway: Service-Entrypoint`. In manchen Fällen ist diese nicht korrekt hinterlegt und muss daher mit der URL gesetzt werden, über welche Benutzer den Gateway aufrufen.
![image](uploads/0c610e30a952c62918811e2f55fd7af7/image.png)
### Update
Für mögliche Updates den MicroService muss nur das JAR in den Ordner `service-manager\update` koppiert werden. Der Service Manager ersetzt anschliessen automatisch die aktuelle Instanz der EmbeddedOffice Instanz.
\ No newline at end of file