Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/strukturag/pdfdraw

Nextcloud app to annotate PDF documents
https://github.com/strukturag/pdfdraw

app javascript nextcloud node pdf socket-io socketio

Last synced: about 1 month ago
JSON representation

Nextcloud app to annotate PDF documents

Awesome Lists containing this project

README

        

# PDF Annotations for Nextcloud

## Installation

- Clone the repository to the `apps` folder of Nextcloud. Make sure to clone
recursively with submodules or run `git submodule update --init` afterwards
to fetch third-party components.
- Execute `make` in the checkout folder to fetch other third-party dependencies.

## Server

The backend server is located in the `server` subfolder, see the `README.md`
there for further information.

## Nginx configuration

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;
}

}

## Nextcloud configuration

The server address and shared secret can be configured in the Nextcloud admin
settings in section `PDF Annotations`.

## Events

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

Translations to other languages are done in Transifex at
https://www.transifex.com/strukturag/pdfdraw/