- Clone the repository to the
appsfolder of Nextcloud. Make sure to clone recursively with submodules or rungit submodule update --initafterwards to fetch third-party components. - Execute
makein the checkout folder to fetch other third-party dependencies.
The backend server is located in the server subfolder, see the README.md
there for further information.
Add the following to the nginx server configuration so the pdfdraw server
runs behind nginx, utilizing the same SSL settings:
upstream pdfdraw {
server 127.0.0.1:8080;
}
server {
... other configuration for Nextcloud ...
location /socket.io {
proxy_pass http://pdfdraw/socket.io;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /download/ {
proxy_pass http://pdfdraw/download/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
The server address and shared secret can be configured in the Nextcloud admin
settings in section PDF Annotations.
Other apps can override the name that is shown in the list of users currently annotating a document.
For that the app dispatches an event OCA\PdfDraw::getDisplayName. The event
has an argument displayName which contains the default display name. Logged
in Nextcloud users will use their display name. All other (anonymous) users
will use an empty name by default (this is shown as Anonymous in the list).
Event handlers can listen for the OCA\PdfDraw::getDisplayName event and update
the displayName argument if they can identify the user by other means.
Translations to other languages are done in Transifex at https://www.transifex.com/strukturag/pdfdraw/