-
Notifications
You must be signed in to change notification settings - Fork 3
Familiarization with DFG‐Viewer development of Phase II
- Controller for Plugin tx_dlf_embedded3dviewer https://github.com/kitodo/kitodo-presentation/blob/main/Classes/Controller/Embedded3dViewerController.php
- Extracts the model format from mime type of model file
- Build url (optional with model format parameter) for middleware Embedded3dViewer and provide the iframe with the URL as src attribute
- Middleware Embedded3dViewer https://github.com/kitodo/kitodo-presentation/blob/main/Classes/Middleware/Embedded3dViewer.php
- Load the viewer by the extension configuration
- If viewer parameter is provided then overwrite default behavior of extension configuration
- Load viewer configuration file
- Use model format parameter (if provided) or extract the model format from model URL
- Validate model format against the configured model formats of viewer
- Replace placeholders in loaded HTML file of viewer
- Render HTML file of viewer integration or error response with suitable message when something went wrong
- Styling of tx_dlf_embedded3dviewer plugin
- 13 (+1 simple three.js example) Viewer integrations https://github.com/slub/dlf-3d-viewers
- GitHub workflow https://github.com/slub/dfg-viewer/blob/master/.github/workflows/build-test-publish.yml to build image after something is pushed into the master branch, tiny test of image, provide image to GitHub Container Repository https://github.com/slub/dfg-viewer/pkgs/container/dfg-viewer
- Implementation and Documentation https://github.com/slub/dfg-viewer/tree/master/Docker
- Usage of 3D viewer integrations https://github.com/slub/dfg-viewer/tree/master/Docker#usage-of-3d-viewer-integrations -> Workflow of test system does the same https://github.com/slub/dlf-3d-viewers/blob/main/.github/workflows/run-testsystem.yml#L39-L49
-
Main Validation functionalities you will find in the Kitodo.Presentation extension
- Documentation https://kitodo.github.io/kitodo-presentation/Developers/Validation.html
- Validation classes https://github.com/kitodo/kitodo-presentation/tree/main/Classes/Validation
- DOMDocumentValidation Middleware https://github.com/kitodo/kitodo-presentation/blob/main/Classes/Middleware/DOMDocumentValidation.php
- ValidationForm plugin https://kitodo.github.io/kitodo-presentation/Plugins/Index.html#validation-form
- Implementation beside the small template to render the form and the css (using less located in DFG-Viewer extension) is the JavaScript code https://github.com/kitodo/kitodo-presentation/blob/main/Resources/Public/JavaScript/ValidationForm/ValidationForm.js
-
Typoscript configuration and the DFG-Viewer specific implementations/validators you will find in the DFG-Viewer extension
- Configuration of DOMDocumentValidation for the DFG-Viewer in settings of
dlfPlugin using the TypoScript https://github.com/slub/dfg-viewer/blob/master/Configuration/TypoScript/Plugins/kitodo.typoscript - DFG-Viewer specific implementations/validators
- Validation classes https://github.com/slub/dfg-viewer/tree/master/Classes/Validation
- METS Application Profile
- Unreleased document for METS Application Profile 2.4 https://3dtest.dfg-viewer.de/fileadmin/groups/dfgviewer/METS_application_profile_2.4.pdf
- Validation implementation https://github.com/slub/dfg-viewer/tree/master/Classes/Validation/Mets
- MODS Application Profile
- Unreleased document for MODS Application Profile 2.4 https://3dtest.dfg-viewer.de/fileadmin/groups/dfgviewer/MODS_application_profile_2.4.pdf
- Validation implementation https://github.com/slub/dfg-viewer/tree/master/Classes/Validation/Mods
- METS Application Profile
- Tests of validation classes https://github.com/slub/dfg-viewer/tree/master/Tests/Unit/Validation
- Validation classes https://github.com/slub/dfg-viewer/tree/master/Classes/Validation
- Configuration of DOMDocumentValidation for the DFG-Viewer in settings of
-
Testing the validation form and the DOMDocumentValidation https://3dtest.dfg-viewer.de/validator
- TYPO3
- Composer
- DDEV
- Docker
- DFG-Viewer https://github.com/slub/dfg-viewer
- Documentation https://slub.github.io/dfg-viewer/
- Kitodo.Presentation https://github.com/kitodo/kitodo-presentation
- Documentation https://kitodo.github.io/kitodo-presentation/
- SLUB Digital Collections https://github.com/slub/slub_digitalcollections
- Base Project DDEV DFG-Viewer https://github.com/slub/ddev-dfgviewer
- Branch TYPO3 11 and TYPO3 12 https://github.com/slub/ddev-dfgviewer/tree/update-and-adjustments
- Documentation https://github.com/slub/ddev-dfgviewer/tree/update-and-adjustments?tab=readme-ov-file#ddev-for-dfg-viewer
- DFG-Viewer Development https://github.com/slub/dfg-viewer/blob/master/DEVELOPMENT.md
Currently, we mainly work with 3dtest.dfg-viewer.de which is managed by the SLUB and is located behind their VPN.
Note: Appropriate approvals, permissions, and access rights are required here.
Before this test system existed, we worked with an on-demand test system that ran in a GitHub Runner and was made available online via a reverse proxy.
- Documentation https://github.com/slub/dlf-3d-viewers?tab=readme-ov-file#dfg-3d-viewer-test-system
- GitHub Workflow https://github.com/slub/dlf-3d-viewers/blob/main/.github/workflows/run-testsystem.yml
- Reverse Proxy https://ngrok.com/ -> Currently private account is used so changing the ngrok auth token under "Secrets and variables" is needed prospective
Non-existing URLs start with: https://github.com/markusweigelt/dfg-viewer/tree/docker/ Probably should be: https://github.com/markusweigelt/dfg-viewer/tree/master/Docker
No access to https://bear-genuine-hookworm.ngrok-free.app/
Steps described here should be moved to the script docker.sh which would do all this stuff wihout user input: https://github.com/markusweigelt/dfg-viewer/tree/master/Docker#usage-of-3d-viewer-integrations