drupal / wisski_default_data_model
Installs WissKI default data model.
Package info
git.drupalcode.org/project/wisski_default_data_model.git
Type:drupal-recipe
pkg:composer/drupal/wisski_default_data_model
Requires
- drupal/colorbox: ^2.2
- drupal/conditional_fields: dev-3495402-warning-trying-to
- drupal/dependent_list: ^1.3
- drupal/ds: ^3.32
- drupal/field_group: ^4.0
- drupal/geofield: ^1
- drupal/image_effects: ^4.0
- drupal/imagemagick: ^4.0
- drupal/leaflet: ^10.2
- drupal/viewfield: ^3.0@beta
- drupal/wisski_starter: 1.1.0
README
A comprehensive Drupal recipe that installs a WissKI Environment with a preconfigured pathbuilder and data model specifically designed for recording and managing cultural heritage items.
Overview
The WissKI Default Data Model provides a ready-to-use semantic data framework for cultural heritage institutions, museums, archives, and research projects. Built on WissKI (Wissenschaftliche Kommunikationsinfrastruktur - Scientific Communication Infrastructure), this recipe includes preconfigured WissKI entities, bundles, forms, views, and all necessary modules to immediately start cataloging and managing cultural heritage objects with rich metadata and semantic relationships.
WissKI is a free and open virtual research environment for managing scholarly data that extends Drupal's content management framework while providing the benefits of semantic web technology through simple and intuitive input interfaces.
Key Features
- Comprehensive Cultural Heritage Data Model: Predefined structure for cultural heritage items including dimensions, materials, techniques, provenance, and media files
- FAIR Principles Compliance: Implements Findable, Accessible, Interoperable, and Reusable data principles
- Semantic Web Compliance: Built on CIDOC-CRM ontology (specifically ECRM implementation) for standardized cultural heritage documentation
- Rich Media Support: Integrated support for images, audio, video, and documents with metadata and rights management
- Geospatial Data: Built-in support for location data with mapping capabilities via Leaflet
- Authority Documents: Integration with external authority files and controlled vocabularies
- Multi-language Support: Content translation capabilities for international projects
- Customizable Forms: Flexible form layouts with conditional fields and field grouping
- Advanced Views: Pre-configured display modes and views for browsing and searching collections
Prerequisites
Before installing this recipe, ensure you have:
- SPARQL 1.1 Endpoint: A working SPARQL 1.1 endpoint (recommended: OpenGDB)
- WissKI Starter Recipe: Must be installed first — load the default data model ontology and configure a WissKI SALZ adapter with the machine name
default - WissKI Default Ontology: Version
^2 - Composer Recipe Unpack: Ensure your Composer is ready to unpack recipes:
composer config allow-plugins.drupal/core-recipe-unpack true
composer require drupal/core-recipe-unpack
- Conditional Fields: This module has an unresolved issue, so you need to set the minimum stability to
devand add the issue fork:
composer config minimum-stability dev
composer config repositories.1 git https://git.drupalcode.org/issue/conditional_fields-3495402.git
Installation
Get the recipe, install it, recreate all WissKI menus, and clear caches.
composer require 'drupal/wisski_default_data_model:^1.3'
drush recipe ../recipes/wisski_default_data_model
drush wisski-core:recreate-menus
drush cr
Importing German Language Configuration Overrides
Due to a known Drupal core bug (#3453331), RecipeConfigInstaller does not process config/language/{langcode}/ collections when applying a recipe. The German label and description overrides bundled in this recipe must therefore be imported manually after the recipe is applied.
Run the following command (adjust the recipe path to match your setup):
drush php-eval "
\$source = new \Drupal\Core\Config\FileStorage('/path/to/recipes/wisski_default_data_model/config/language/de');
\$langStorage = \Drupal::service('config.storage')->createCollection('language.de');
foreach (\$source->listAll() as \$name) {
\$langStorage->write(\$name, \$source->read(\$name));
}
"
drush cr
Once #3453331 is resolved in core, this manual step will no longer be necessary.
Docker Installation
For quick evaluation and testing, consider using the WissKI Docker setup which includes a complete environment with sample data.
Included Modules
This recipe automatically installs and configures the following modules:
Core WissKI Modules
- wisski_starter: Base WissKI functionality
- wisski_authority_document: Authority file integration
- wisski_editlayout: Enhanced editing layouts
- wisski_permalink: Persistent identifier support
Drupal Contrib Modules
- colorbox: Lightbox functionality for media
- conditional_fields: Dynamic form behavior
- config_translation: Configuration translation support
- content_translation: Content translation capabilities
- dependent_list: Allow nested list value dependencies
- ds: Display Suite for flexible layouts
- field_group: Logical grouping of form fields
- geofield: Geographic data support
- leaflet: Interactive mapping
- viewfield: Embedded views in entities
Localization
- language: Multi-language infrastructure
- locale: Interface translation
Data Model Structure
The default data model is built around the concept of Cultural Heritage Items and follows the CIDOC-CRM international standard for cultural heritage documentation. The pathbuilder provides a graphical interface to create ontology-driven structures and serves as middleware between Drupal's frontend and SPARQL endpoints.
Core Entities
Cultural Heritage Item
- Preferred Title: Primary title reference
- Title References (Title Assignment): Multiple title assignments with visibility and status controls
- Object Type (Type): Classification and categorization
- Place: Geographic association
- Identifiers: Various identification numbers and codes
- Descriptions: Detailed object descriptions
- Physical Properties: Dimensions, Material, Technique
- Keywords (Keyword): Subject terms and tags
- Media Files (Media File): Associated images, documents, audio, and video
- Ownership: Provenance and custody history
- Production: Creation events and work/expression/manifestation hierarchy
- Performance Actions (Activity): Activities performed on the item
- Data Records (Data Record): Metadata about the documentation itself
- Resources: Related external resources
Supporting Entities
Dimensions
- Type (height, width, depth, etc.)
- Value (numerical measurement)
- Unit (cm, mm, inches, etc.)
Material
- Preferred name
- Type (classification)
Media Files
- Type classification (image, audio, video, document)
- File storage and URLs
- Rights (usage, Actor, description)
- Descriptions and metadata
Data Records
- Record identifiers
- Rights management
- Language specifications
- Record types
- Digitization Process (creator)
- Actor (associated)
Rights
- Usage terms
- Actor (rights holder)
- Description
Title Assignment
- Object identifier
- Visibility controls
- Title text
- Status
Temporal Information
- Date Period: Precision, begin/end (text and detailed)
- Date: Appellation, operator, year, month, day
Place (Geographic Information)
- Preferred and alternative names
- Type (classification)
- Authority and custom display names
- Authority data
- Spatial coordinates
- Place (hierarchical parent)
Event
- Preferred name
- Main type and subtype
- Date and Place
- Event (part-of-event)
- Description and Informational Source (resource)
Actor
- Type (person, organisation, etc.)
- Name and alternative names
- Authority data and display names
- Occupation and organisation type
- Begin of Existence, End of Existence
Actor Assignment
- Actor
- Scope
- Role
Begin of Existence
- Place
- Date Period
- Actor Assignment (participants)
End of Existence
- Place
- Date Period
- Actor Assignment (participants)
Authority Document
- Name
- Acronym
- Website
Type (Controlled Vocabularies)
- Authority document, custom term type, GeoNames code, Getty vocabulary, GND entity type
- Preferred term and URL
Custom Term
- Preferred and alternative names
- External URI
- Description and Type
Keyword
- Appellation
- Cultural Heritage Item (used-by-object)
Resources
- Type, appellation, link, comment
Ownership
- Cultural Heritage Item
- Acquisition (start, end)
- Custody (contains)
- Custody chain, owners at begin/end
Acquisition
- Actor (transferred from/to)
- Actor Assignment (participants)
- Event (falls within)
Custody
- Transfer of Custody (starts with, ends with)
- Move (contains)
- Custodian, start/end dates
Transfer of Custody
- Actor (surrendered by, received by)
- Actor Assignment (participants)
- Event (falls within)
Stay
- Move (starts with, ends with)
- Moved from/to, dates
Move
- Place (moved from/to)
- Event (falls within)
Informational Source
- Type, author, title, short title
- Bibliographic info, link, Informational Source (parent)
Activity
- Precision, preferred name
- Event (starts with, ends with)
- Event type (begin/end)
- Actor Assignment (carried out by)
- Technique, Material (used), Cultural Heritage Item (used object), Tool (used)
- Condition Assessment, Part Addition, Part Removal (results)
Production
- Precision
- Cultural Heritage Item (produced object)
- Work Creation (part of)
- Activity (started with, consists of, ended with)
Tool
- Name
- Type
Technique
- Preferred name
- Type
Work Creation (FRBR)
- Work (created)
- Expression Creation (co-creation)
- Manifestation Creation (co-creation)
- Production (co-production)
Work
- Title
Expression Creation
- Expression (created)
- Start/end
Expression
- Title
Manifestation Creation
- Manifestation (created)
- Start/end
Action
- Cultural Heritage Item (was directed at)
- Precision, general purpose
- Condition Assessment (motivated by)
- Activity (started with, consists of, ended with)
Condition Assessment
- Title
- Activity (was purpose of)
- Conditional state
- Description
Part Removal
- Sample (removed)
- Physical Feature (remove feature)
- Cultural Heritage Item (removed part)
Sample
- Identifier
- Preferred name
- Material
Part Addition
- Material (employ)
- Cultural Heritage Item (add item)
Configuration Details
Layout Style
The recipe configures WissKI Edit Layout with a minimal style for clean, user-friendly forms.
Import Settings
All module configurations are imported with flexible settings (strict: false) to allow for customization while maintaining the core data model structure.
Usage
Getting Started
- Configure SPARQL Endpoint: Ensure your triple store is accessible and the "default" adapter is configured
- Load Ontology: Import the default data model ontology into your triple store
- Create Content: Start creating cultural heritage items using the preconfigured forms
- Customize Views: Modify the included views to match your presentation needs
- Configure Maps: Set up Leaflet mapping for geographic data visualization
Form Modes
The recipe includes specialized form modes:
- Default: Standard editing interface
- Reference Text: Simplified reference editing
- Reference Detailed: Comprehensive reference form
Content Management
- Use the preconfigured bundles for different types of cultural heritage objects
- Leverage conditional fields for context-sensitive form elements
- Utilize field groups for organized data entry
- Take advantage of authority document integration for standardized vocabularies
Customization
Extending the Data Model
- Add custom fields to existing bundles
- Create new entity types for specialized content
- Modify pathbuilder configurations for additional semantic relationships
- Implement custom views for specific browsing needs
Theming
- Customize Display Suite layouts
- Modify Colorbox settings for media display
- Adjust Leaflet map configurations
- Style conditional field behaviors
Support and Documentation
- Detailed Data Model Information: WissKI Barrels - Default Model
- WissKI Project: Drupal.org Project Page
- Official Documentation: wiss-ki.eu Documentation
- Community Support: WissKI Chat or email support
- Issue Tracking: Report issues via the Drupal.org issue queue
License
GPL-2.0-or-later
Maintainer
Robert Nasarek - Primary maintainer and developer
Development Partners
WissKI was initially developed by:
- Digital Humanities Research Group, Friedrich-Alexander-University Erlangen-Nuremberg (FAU)
- Department of Museum Informatics, Germanisches Nationalmuseum (GNM) Nuremberg
- Biodiversity Informatics Group, Zoologisches Forschungsmuseum Alexander Koenig (ZFMK) Bonn
Software development was funded by the German Research Foundation (Deutsche Forschungsgemeinschaft, DFG) from 2009-2012 and 2014-2017.
Contributing
Contributions are welcome! Please follow the standard Drupal contribution guidelines and submit patches via the project's issue queue.
This recipe provides a solid foundation for cultural heritage data management. For specific implementation questions or advanced customization needs, consult the WissKI documentation or engage with the community.