{"id":20094963,"url":"https://github.com/strukturag/pdfdraw","last_synced_at":"2025-08-10T08:11:06.421Z","repository":{"id":37973063,"uuid":"315965129","full_name":"strukturag/pdfdraw","owner":"strukturag","description":"Nextcloud app to annotate PDF documents","archived":false,"fork":false,"pushed_at":"2024-07-24T20:08:43.000Z","size":3331,"stargazers_count":44,"open_issues_count":21,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-06T05:42:13.305Z","etag":null,"topics":["app","javascript","nextcloud","node","pdf","socket-io","socketio"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strukturag.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-11-25T14:34:09.000Z","updated_at":"2025-02-15T11:20:55.000Z","dependencies_parsed_at":"2023-10-10T14:42:15.878Z","dependency_job_id":"b5c57d11-e2e8-45d0-8959-412d21d64854","html_url":"https://github.com/strukturag/pdfdraw","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/strukturag/pdfdraw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strukturag%2Fpdfdraw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strukturag%2Fpdfdraw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strukturag%2Fpdfdraw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strukturag%2Fpdfdraw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strukturag","download_url":"https://codeload.github.com/strukturag/pdfdraw/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strukturag%2Fpdfdraw/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269693593,"owners_count":24460248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","javascript","nextcloud","node","pdf","socket-io","socketio"],"created_at":"2024-11-13T16:53:19.145Z","updated_at":"2025-08-10T08:11:06.397Z","avatar_url":"https://github.com/strukturag.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF Annotations for Nextcloud\n\n## Installation\n\n- Clone the repository to the `apps` folder of Nextcloud. Make sure to clone\n  recursively with submodules or run `git submodule update --init` afterwards\n  to fetch third-party components.\n- Execute `make` in the checkout folder to fetch other third-party dependencies.\n\n\n## Server\n\nThe backend server is located in the `server` subfolder, see the `README.md`\nthere for further information.\n\n\n## Nginx configuration\n\nAdd the following to the nginx server configuration so the `pdfdraw` server\nruns behind nginx, utilizing the same SSL settings:\n\n    upstream pdfdraw {\n        server 127.0.0.1:8080;\n    }\n\n    server {\n\n        ... other configuration for Nextcloud ...\n\n        location /socket.io {\n            proxy_pass http://pdfdraw/socket.io;\n            proxy_http_version 1.1;\n            proxy_set_header Upgrade $http_upgrade;\n            proxy_set_header Connection \"Upgrade\";\n            proxy_set_header Host $host;\n            proxy_set_header X-Real-IP $remote_addr;\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        }\n\n        location /download/ {\n            proxy_pass http://pdfdraw/download/;\n            proxy_http_version 1.1;\n            proxy_set_header Host $host;\n            proxy_set_header X-Real-IP $remote_addr;\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        }\n\n    }\n\n\n## Nextcloud configuration\n\nThe server address and shared secret can be configured in the Nextcloud admin\nsettings in section `PDF Annotations`.\n\n\n## Events\n\nOther apps can override the name that is shown in the list of users currently\nannotating a document.\n\nFor that the app dispatches an event `OCA\\PdfDraw::getDisplayName`. The event\nhas an argument `displayName` which contains the default display name. Logged\nin Nextcloud users will use their display name. All other (anonymous) users\nwill use an empty name by default (this is shown as `Anonymous` in the list).\n\nEvent handlers can listen for the `OCA\\PdfDraw::getDisplayName` event and update\nthe `displayName` argument if they can identify the user by other means.\n\n\n## Translations\n\nTranslations to other languages are done in Transifex at\nhttps://www.transifex.com/strukturag/pdfdraw/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrukturag%2Fpdfdraw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrukturag%2Fpdfdraw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrukturag%2Fpdfdraw/lists"}