{"id":28461227,"url":"https://github.com/cryptpad/nextcloud-open-in-cryptpad","last_synced_at":"2025-08-02T08:03:48.752Z","repository":{"id":171945149,"uuid":"648641758","full_name":"cryptpad/nextcloud-open-in-cryptpad","owner":"cryptpad","description":"Official \"Open In CryptPad\" Nextcloud application","archived":false,"fork":false,"pushed_at":"2025-07-17T07:28:55.000Z","size":1161,"stargazers_count":4,"open_issues_count":7,"forks_count":2,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-07-30T16:19:01.924Z","etag":null,"topics":["app","cryptpad","nextcloud","plugin"],"latest_commit_sha":null,"homepage":"https://apps.nextcloud.com/apps/openincryptpad","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cryptpad.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSES/AGPL-3.0-or-later.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-02T12:56:28.000Z","updated_at":"2025-06-30T13:03:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"6be76922-ccb4-4f93-88b2-c00f940f54cb","html_url":"https://github.com/cryptpad/nextcloud-open-in-cryptpad","commit_stats":{"total_commits":96,"total_committers":4,"mean_commits":24.0,"dds":"0.13541666666666663","last_synced_commit":"eecfee7c15868c00530a2e91468a77fa9f25f0c3"},"previous_names":["cryptpad/nextcloud-open-in-cryptpad"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/cryptpad/nextcloud-open-in-cryptpad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptpad%2Fnextcloud-open-in-cryptpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptpad%2Fnextcloud-open-in-cryptpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptpad%2Fnextcloud-open-in-cryptpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptpad%2Fnextcloud-open-in-cryptpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cryptpad","download_url":"https://codeload.github.com/cryptpad/nextcloud-open-in-cryptpad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptpad%2Fnextcloud-open-in-cryptpad/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268350994,"owners_count":24236328,"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-02T02:00:12.353Z","response_time":74,"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","cryptpad","nextcloud","plugin"],"created_at":"2025-06-07T03:08:00.068Z","updated_at":"2025-08-02T08:03:48.742Z","avatar_url":"https://github.com/cryptpad.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!---\nSPDX-FileCopyrightText: 2023 XWiki CryptPad Team \u003ccontact@cryptpad.org\u003e and contributors\n\nSPDX-License-Identifier: AGPL-3.0-or-later\n--\u003e\n\n# Open In CryptPad\n\n\"Open in CryptPad\" is a Nextcloud application that allows collaborative editing\nof files. For this it uses a CryptPad instance embedded into the Nextcloud web\ninterface. Currently, only drawio diagrams are supported.\n\n## Importing images from Nextcloud into diagrams\n\nWith this app, you can import images from Nextcloud into\ndiagrams. A copy of the image will be stored inside the `.drawio` file.\n\n## Rights management\n\nWhen using this app, the file permissions are completely handled by\nNextcloud. The right's management of CryptPad is not used for Nextcloud\nfiles edited in CryptPad.\n\n## Installation\n\nYou can install this app in one of the following ways: either from the NextCloud app store, from a binary release, or by cloning this repository. Once installed, you can check CryptPad is configured correctly by checking that the url listed under Administration \u003e CryptPad is the same as the url of your local CryptPad instance.\n\n### Prerequisites on the CryptPad side\n\nTo embed CryptPad into Nextcloud, the \"Enable remote embedding\" admin setting\nneeds to be enabled. You can find this setting on the \"Administration\" web\ninterface in the \"Security\" tab.\n\n\n### Install from Nextcloud app store\n\n1. Add drawio mimetype to Nextcloud. \"Open in CryptPad\" depends on Nextcloud\n   detecting drawio files correctly. For this you have to create the following\n   files: (**Note:** do this before uploading any drawio files! The mimetype of\n   old files will not be updated by these changes)\n    - `nextcloud/config/mimetypealiases.json`\n\n        ``` json\n        {\n            \"application/x-drawio\": \"image\"\n        }\n        ```\n\n    - `nextcloud/config/mimetypemapping.json`\n\n        ``` json\n        {\n            \"drawio\": [\"application/x-drawio\"]\n        }\n        ```\n2. Open the \"Apps\" page in your Nextcloud web interface and install \"Open in\n   CryptPad\". You can find it in the \"Integration\" category.\n3. Configure \"Open in CryptPad\" in the administration settings of Nextcloud.\n\n### Install from binary release\n\n1. Unpack `openincryptpad.tar.gz` in the **nextcloud/apps/** folder. You can\n   download the latest version from the [release\n   page](https://github.com/cryptpad/nextcloud-open-in-cryptpad/releases).\n2. Enable the \"Open in CryptPad\" app in the Nextcloud admin page.\n3. Configure \"Open in CryptPad\" in the administration settings of Nextcloud.\n4. Add drawio mimetype to Nextcloud. \"Open in CryptPad\" depends on Nextcloud\n   detecting drawio files correctly. For this you have to create the following\n   files: (**Note:** do this before uploading any drawio files! The mimetype of\n   old files will not be updated by these changes)\n    - `nextcloud/config/mimetypealiases.json`\n\n        ``` json\n        {\n            \"application/x-drawio\": \"image\"\n        }\n        ```\n\n    - `nextcloud/config/mimetypemapping.json`\n\n        ``` json\n        {\n            \"drawio\": [\"application/x-drawio\"]\n        }\n        ```\n\n#### Verify binary release\n\nTo verify the binary release you run the following command:\n\n``` shell\nopenssl dgst -sha512 -verify openincryptpad.pubkey -signature openincryptpad.tar.gz.signature openincryptpad.tar.gz\n```\n\n### Clone from repo\nPlace this app in **nextcloud/apps/**. Make sure the folder is named `openincryptpad`. E.g.:\n\n``` sh\ncd nextcloud/apps\ngit clone https://github.com/cryptpad/nextcloud-open-in-cryptpad.git openincryptpad\n```\n\n## Building the app\n\n### Requirements\n\nOn a Ubuntu like distribution you will need these packages:\n\n``` sh\nsudo apt install php-cli composer php-xml\n```\n\n### Run the build\n\nPrior to building, install the requisite dependencies by running:\n\n    npm ci\n\n\nThe app can then be built using the provided Makefile by running:\n\n    make\n\nThis requires the following things to be present:\n* make\n* which\n* tar: for building the archive\n* curl: used if phpunit and composer are not installed to fetch them from the web\n* npm: for building and testing everything JS, only required if a package.json is placed inside the **js/** folder\n\nThe make command will install or update Composer dependencies if a composer.json is present and also **npm run build** if a package.json is present in the **js/** folder. The npm **build** script should use local paths for build systems and package managers, so people that simply want to build the app won't need to install npm libraries globally, e.g.:\n\n**package.json**:\n```json\n\"scripts\": {\n    \"test\": \"node node_modules/gulp-cli/bin/gulp.js karma\",\n    \"prebuild\": \"npm install \u0026\u0026 node_modules/bower/bin/bower install \u0026\u0026 node_modules/bower/bin/bower update\",\n    \"build\": \"node node_modules/gulp-cli/bin/gulp.js\"\n}\n```\n\n## Running the Nextcloud server\n\nBefore running Nextcloud, ensure you have an up-to-date version of PHP installed and run the following commands:\n\n    git clone https://github.com/nextcloud/server.git nextcloud\n    cd nextcloud/\n    git switch v29.0.7 --detach\n    git submodule update --init\n\nThen, to run the server:\n\n    php -S localhost:8080\n\n## Publish to App Store\n\nNOTE: Make sure you placed the code into a folder named `openincryptpad`, as described above.\n\nFirst get an account for the [App Store](http://apps.nextcloud.com/) then run:\n\n    make \u0026\u0026 make appstore\n\nThe archive is located in build/artifacts/appstore and can then be uploaded to the App Store.\n\n## Running tests\nYou can use the provided Makefile to run all tests by using:\n\n    make test\n\nThis will run the PHP unit and integration tests and if a package.json is present in the **js/** folder will execute **npm run test**\n\nOf course you can also install [PHPUnit](http://phpunit.de/getting-started.html) and use the configurations directly:\n\n    phpunit -c phpunit.xml\n\nor:\n\n    phpunit -c phpunit.integration.xml\n\nfor integration tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptpad%2Fnextcloud-open-in-cryptpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptpad%2Fnextcloud-open-in-cryptpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptpad%2Fnextcloud-open-in-cryptpad/lists"}