{"_id":"@digital-blueprint/cabinet-app","_rev":"1-b56424ca2d90bde48c637a8d078f539f","name":"@digital-blueprint/cabinet-app","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@digital-blueprint/cabinet-app","internalName":"dbp-cabinet","version":"0.0.1","main":"src/dbp-cabinet.js","license":"LGPL-2.1-or-later","publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"workspaces":["vendor/toolkit/packages/*","vendor/signature","vendor/dispatch"],"engines":{"node":">=18.0.0","npm":">=7.0.0"},"devDependencies":{"@babel/core":"^7.10.3","@babel/preset-env":"^7.10.3","@rollup/plugin-babel":"^6.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-replace":"^5.0.0","@rollup/plugin-terser":"^0.4.0","@rollup/plugin-url":"^8.0.0","can-npm-publish":"^1.3.3","chai":"^5.0.0","eslint":"^8.0.1","eslint-plugin-jsdoc":"^48.0.0","glob":"^10.0.0","i18next-parser":"^8.0.0","karma":"^6.0.0","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","mocha":"^10.0.0","playwright":"^1.34.0","playwright-core":"^1.21.0","prettier":"^3.0.0","rollup":"^4.0.0","rollup-plugin-copy":"^3.3.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-emit-ejs":"^3.1.0","rollup-plugin-license":"^3.0.1","rollup-plugin-serve":"^2.0.0","selfsigned":"^2.0.0"},"dependencies":{"@dbp-toolkit/app-shell":"^0.3.0","@dbp-toolkit/auth":"^0.3.0","@dbp-toolkit/common":"^0.3.0","@dbp-toolkit/file-handling":"^0.3.0","@dbp-toolkit/language-select":"^0.3.0","@dbp-toolkit/notification":"^0.3.0","@dbp-toolkit/pdf-viewer":"^0.0.7","@dbp-toolkit/person-select":"^0.3.3","@digital-blueprint/dispatch-app":"^1.2.7","@digital-blueprint/esign-app":"^2.1.5","@fontsource/nunito-sans":"^5.0.0","@open-wc/scoped-elements":"^2.1.0","@tugraz/font-source-sans-pro":"^0.2.4","@tugraz/web-components":"^0.3.6","@webcomponents/scoped-custom-element-registry":"^0.0.9","lit":"^2.7.0 || ^3.0.0","pdfjs-dist":"^2.12.313"},"scripts":{"build":"rollup --bundleConfigAsCjs -c","i18next":"i18next","format":"npm run format:eslint && npm run format:prettier","format:eslint":"eslint \"**/*.{js,ts}\" --fix","format:prettier":"prettier \"**/*.{js,json,ts}\" --write","watch":"rollup --bundleConfigAsCjs -c --watch","watch-local":"npm run watch","watch-full":"rollup --bundleConfigAsCjs -c --watch --environment FORCE_FULL","watch-bs":"rollup --bundleConfigAsCjs -c --watch --environment APP_ENV:bs","watch-custom":"rollup --bundleConfigAsCjs -c --watch --environment APP_ENV:localCustom","test":"rollup --bundleConfigAsCjs -c --environment APP_ENV:test && karma start --singleRun","test-full":"rollup --bundleConfigAsCjs -c --environment FORCE_FULL,APP_ENV:test && karma start --singleRun","lint":"eslint .","publish":"sed -i 's/\"private\": true/\"private\": false/' package.json && can-npm-publish --verbose 2>&1 && npm publish --access public 2>&1; sed -i 's/\"private\": false/\"private\": true/' package.json"},"_id":"@digital-blueprint/cabinet-app@0.0.1","gitHead":"bd6580c9ff484b90877a363a88392c859811f779","description":"[GitHub Repository](https://github.com/digital-blueprint/cabinet-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/cabinet-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/cabinet-app/) | [Cabinet Bundle](https://github","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-w99Q1ipQJ7uBZ+9xEmKzmPqr9z68JEweaurhn83tZ0Oni+ZaemBOonXRYsUO0LhELdQ+1oSyZa6Jg4GjlaSe5w==","shasum":"111c9d3eb318e8f2220eca861080651c88f09dfe","tarball":"https://registry.npmjs.org/@digital-blueprint/cabinet-app/-/cabinet-app-0.0.1.tgz","fileCount":1337,"unpackedSize":35656275,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4owlYPSw1Hn+iEMvCJKMWbEKtkqpc7/1b1Io1Be/wzAiEAhrj0RdpifSqy8qUmsL7H3Xsmcx8EwftwGaO6Iur2Df8="}]},"_npmUser":{"name":"pbek","email":"patrizio@bekerle.com"},"directories":{},"maintainers":[{"name":"pbek","email":"patrizio@bekerle.com"},{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cabinet-app_0.0.1_1708338621692_0.2263206493334904"},"_hasShrinkwrap":false},"0.0.2":{"name":"@digital-blueprint/cabinet-app","internalName":"dbp-cabinet","version":"0.0.2","main":"src/dbp-cabinet.js","license":"LGPL-2.1-or-later","private":false,"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"workspaces":["vendor/toolkit/packages/*","vendor/signature","vendor/dispatch"],"engines":{"node":">=18.0.0","npm":">=7.0.0"},"devDependencies":{"@babel/core":"^7.10.3","@babel/preset-env":"^7.10.3","@rollup/plugin-babel":"^6.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-replace":"^5.0.0","@rollup/plugin-terser":"^0.4.0","@rollup/plugin-url":"^8.0.0","can-npm-publish":"^1.3.3","chai":"^5.0.0","eslint":"^8.0.1","eslint-plugin-jsdoc":"^48.0.0","glob":"^10.0.0","i18next-parser":"^8.0.0","karma":"^6.0.0","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","mocha":"^10.0.0","playwright":"^1.34.0","playwright-core":"^1.21.0","prettier":"^3.0.0","rollup":"^4.0.0","rollup-plugin-copy":"^3.3.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-emit-ejs":"^3.1.0","rollup-plugin-license":"^3.0.1","rollup-plugin-serve":"^2.0.0","selfsigned":"^2.0.0"},"dependencies":{"@dbp-toolkit/app-shell":"^0.3.0","@dbp-toolkit/auth":"^0.3.0","@dbp-toolkit/common":"^0.3.0","@dbp-toolkit/file-handling":"^0.3.0","@dbp-toolkit/language-select":"^0.3.0","@dbp-toolkit/notification":"^0.3.0","@dbp-toolkit/pdf-viewer":"^0.0.7","@dbp-toolkit/person-select":"^0.3.3","@digital-blueprint/dispatch-app":"^1.2.7","@digital-blueprint/esign-app":"^2.1.5","@fontsource/nunito-sans":"^5.0.0","@open-wc/scoped-elements":"^2.1.0","@tugraz/font-source-sans-pro":"^0.2.4","@tugraz/web-components":"^0.3.6","@webcomponents/scoped-custom-element-registry":"^0.0.9","lit":"^2.7.0 || ^3.0.0","pdfjs-dist":"^2.12.313"},"scripts":{"build":"rollup --bundleConfigAsCjs -c","i18next":"i18next","format":"npm run format:eslint && npm run format:prettier","format:eslint":"eslint \"**/*.{js,ts}\" --fix","format:prettier":"prettier \"**/*.{js,json,ts}\" --write","watch":"rollup --bundleConfigAsCjs -c --watch","watch-local":"npm run watch","watch-full":"rollup --bundleConfigAsCjs -c --watch --environment FORCE_FULL","watch-bs":"rollup --bundleConfigAsCjs -c --watch --environment APP_ENV:bs","watch-custom":"rollup --bundleConfigAsCjs -c --watch --environment APP_ENV:localCustom","test":"rollup --bundleConfigAsCjs -c --environment APP_ENV:test && karma start --singleRun","test-full":"rollup --bundleConfigAsCjs -c --environment FORCE_FULL,APP_ENV:test && karma start --singleRun","lint":"eslint .","publish":"sed -i 's/\"private\": true/\"private\": false/' package.json && can-npm-publish --verbose 2>&1 && npm publish --access public 2>&1; sed -i 's/\"private\": false/\"private\": true/' package.json"},"_id":"@digital-blueprint/cabinet-app@0.0.2","gitHead":"824fbbdf4efa89725ff6f0603974b62e5d2620c9","description":"[GitHub Repository](https://github.com/digital-blueprint/cabinet-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/cabinet-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/cabinet-app/) | [Cabinet Bundle](https://github","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-1/bSqU4iOsA4lWNaUCsIu8HPBQxSO7LXH0O+vNA1gNElB+iihA+yrWSeNkhY4HmX8rWJm8cEu24DC4rUC8SsLQ==","shasum":"f0cfb1c8c7fdeb019d45ae9f8739767315596ffc","tarball":"https://registry.npmjs.org/@digital-blueprint/cabinet-app/-/cabinet-app-0.0.2.tgz","fileCount":1335,"unpackedSize":29494516,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFI00K+GvfLQeBiyDf3bspVpA7FznWUSPD3h8EDFPDsTAiEAmHvd0uKvb1p/ZKzUZNDiBuKfqqxYzVpgp35j+Z1j1Yk="}]},"_npmUser":{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"},"directories":{},"maintainers":[{"name":"pbek","email":"patrizio@bekerle.com"},{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cabinet-app_0.0.2_1708351063754_0.6650667160030861"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-19T10:30:21.590Z","0.0.1":"2024-02-19T10:30:22.083Z","modified":"2024-02-19T13:57:44.553Z","0.0.2":"2024-02-19T13:57:44.130Z"},"maintainers":[{"name":"pbek","email":"patrizio@bekerle.com"},{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"}],"description":"[GitHub Repository](https://github.com/digital-blueprint/cabinet-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/cabinet-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/cabinet-app/) | [Cabinet Bundle](https://github","license":"LGPL-2.1-or-later","readme":"# Cabinet Application\n\n[GitHub Repository](https://github.com/digital-blueprint/cabinet-app) |\n[npmjs package](https://www.npmjs.com/package/@digital-blueprint/cabinet-app) |\n[Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/cabinet-app/) |\n[Cabinet Bundle](https://github.com/digital-blueprint/relay-cabinet-bundle)\n\n[![Build and Test](https://github.com/digital-blueprint/cabinet-app/actions/workflows/build-test-publish.yml/badge.svg)](https://github.com/digital-blueprint/cabinet-app/actions/workflows/build-test-publish.yml)\n\nThis is an application for managing student records.\n\n## Prerequisites\n\n- You need the [API server](https://gitlab.tugraz.at/dbp/relay/dbp-relay-server-template) running\n- You need the [DBP Cabinet Bundle](https://gitlab.tugraz.at/dbp/dual-delivery/relay-cabinet-bundle)\n\n## Local development\n\n```bash\n# get the source\ngit clone git@github.com:digital-blueprint/cabinet-app.git\ncd cabinet-app\ngit submodule update --init\n\n# install dependencies\nnpm install\n\n# constantly build dist/bundle.js and run a local web-server on port 8001 \nnpm run watch\n\n# constantly build dist/bundle.js and run a local web-server on port 8001 using a custom assets directory assets_custom/\nnpm run watch-custom\n\n# run tests\nnpm test\n```\n\nJump to <http://localhost:8001>, and you should get a Single Sign On login page.\n\nBy default, the application is built using the assets in `assets/`. However, custom assets can also be used to build the application. The custom assets can be added to the directory `assets_custom/dbp-cabinet/assets/`. This allows developers to easily develop and build the application for different environments.\n\nTo use the Nextcloud functionality you need a running Nextcloud server with the\n[webapppassword](https://gitlab.tugraz.at/dbp/nextcloud/webapppassword) Nextcloud app like this\n[Nextcloud Development Environment](https://gitlab.tugraz.at/dbp/nextcloud/webapppassword/-/tree/master/docker).\n\n## Use app via Docker\n\n### docker-compose.yml\n\n```yaml\nversion: '3'\nservices:\n  web:\n    image: ghcr.io/digital-blueprint/cabinet-app:latest\n    restart: always\n    ports:\n      - \"8000:80\"\n```\n\n## Using this app as pre-built package\n\n### Install app\n\nIf you want to install the dbp cabinet app in a new folder `cabinet-app` with a path prefix `/` you can call:\n\n```bash\nnpx @digital-blueprint/cli@latest install-app cabinet cabinet-app /\n```\n\nAfterward you can point your Apache web-server to `cabinet-app/public`.\n\nMake sure you are allowing `.htaccess` files in your Apache configuration.\n\nAlso make sure to add all of your resources you are using (like your API and Keycloak servers) to the\n`Content-Security-Policy` in your `cabinet-app/public/.htaccess`, so the browser allows access to those sites.\n\nYou can also use this app directly from the [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/cabinet-app/)\nfor example like this: [dbp-cabinet/index.html](https://github.com/digital-blueprint/cabinet-app/tree/main/examples/dbp-cabinet/index.html)\n\nNote that you will need a Keycloak server along with a client id for the domain you are running this html on.\n\n### Update app\n\nIf you want to update the dbp cabinet app in the current folder you can call:\n\n```bash\nnpx @digital-blueprint/cli@latest update-app cabinet\n```\n\n## Using a single activity as pre-built package\n\nYou can also use a single activity directly from the [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/cabinet-app/)\nfor example the `dbp-qualified-cabinet-pdf-upload` activity to qualifiedly sign PDF documents like this:\n[dbp-qualified-cabinet-pdf-upload/index.html](https://github.com/digital-blueprint/cabinet-app/tree/main/examples/dbp-qualified-cabinet-pdf-upload/index.html)\n\nNote that you will need a Keycloak server along with a client id for the domain you are running this html on.\n\n## Activities\n\nThis app has the following activities:\n- `dbp-dd-activity`\n- `dbp-qualified-signature-pdf-upload`\n- `dbp-official-signature-pdf-upload`\n\nYou can find the documentation of these activities in the [qualified cabinet activities documentation](https://github.com/digital-blueprint/cabinet-app/tree/main/src).\n\n## Adapt app\n\n### Functionality\n\nYou can add multiple attributes to the `<dbp-greenlight>` tag.\n\n| attribute name | value | Link to description                                                                                                                 |\n|----------------|-------|-------------------------------------------------------------------------------------------------------------------------------------|\n| `provider-root` | Boolean | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `lang`         | String | [language-select](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/language-select#attributes)              | \n| `entry-point-url` | String | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `keycloak-config` | Object | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `base-path` | String | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `src` | String | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `html-overrides` | String | [common](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/common#overriding-slots-in-nested-web-components) |\n| `themes` | Array | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/theme-switcher#themes-attribute)          |\n| `darkModeThemeOverride` | String | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/theme-switcher#themes-attribute)          |\n\n#### Mandatory attributes\n\nIf you are not using the `provider-root` attribute to \"terminate\" all provider attributes\nyou need to manually add these attributes so that the topic will work properly:\n\n```html\n<dbp-cabinet\n        auth\n        requested-login-status\n        analytics-event\n        initial-file-handling-state\n        clipboard-files\n>\n</dbp-cabinet>\n```\n\n### Design\n\nFor frontend design customizations, such as logo, colors, font, favicon, and more, take a look at the [theming documentation](https://dbp-demo.tugraz.at/dev-guide/frontend/theming/).\n\n## \"dbp-cabinet\" slots\n\nThese are common slots for the app-shell. You can find the documentation of these slots in the [app-shell documentation](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell).\nFor the app specific slots take a look at the [cabinet activities](https://github.com/digital-blueprint/cabinet-app/tree/main/src).\n","readmeFilename":"README.md"}