|
|
||
|---|---|---|
| .idea | ||
| .vscode | ||
| web | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| Caddyfile | ||
| Dockerfile | ||
| README.md | ||
| composer.json | ||
| composer.lock | ||
| default.services.yml | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| php.ini | ||
README.md
Usage (production)
If you are using the prebuilt image only docker-compose.yml is needed. Just configure the enviroment variables as described in the docker-compose.yml file and run with:
docker compose up -d
If you are not using the prebuilt image, clone the project and run docker compose up -d (comment image and uncomment build in docker-compose.yml)
Build
Build the image with:
docker build -t harbor.d4science.org/d4science-website/drupal . --platform="linux/amd64"
Usage (development)
Just run docker compose -f docker-compose.dev.yml up -d
Push
docker push harbor.d4science.org/d4science-website/drupal
Core Update to Version 10.4.8 (currently the latest one)
To update a module or Core, first check the list at: https://www.d4science.org/admin/reports/updates
Update Core
Run the following command from the Drupal root directory, where composer.json, the web folder, and the vendor folder are located:
composer require drupal/core-recommended:10.4.8 drupal/core-composer-scaffold:10.4.8 drupal/core-project-message:10.4.8 --update-with-all-dependencies
Once the update command has been executed (this also applies when updating a module), you must visit: http://d4science.org/update.php to run the database updates.
Updating a Module
Modules that need updating are highlighted in light yellow or red (the latter indicates important security updates). A suggested version will be displayed for each.
For example, the Admin Toolbar module currently has version 3.5.1 and suggests updating to version 3.6.1. That version number is a link to the official Drupal site, where you can find the exact composer command to run.
Example: Command to be executed always from the Drupal root directory via the command line.
composer require 'drupal/admin_toolbar:^3.6'
Every time you update a module, remember to run:
http://d4science.org/update.php
to apply any necessary database updates (even though there may not always be any).
Additional Modules
Administration & UI
- admin_toolbar: Extends Drupal’s admin toolbar with faster dropdown menus.
- block_class: Allows adding custom CSS classes to blocks.
- easy_breadcrumb: Automatically generates breadcrumbs based on URL path structure.
- health_check: Provides a diagnostics page to verify site health.
- menu_block: Allows creating custom blocks from existing menus. ⸻
Editor & Enhanced UI
- ckeditor_accordion: Adds a button in CKEditor to create collapsible accordion elements.
- ckeditor_bs_grid: Adds buttons for Bootstrap grid layouts inside CKEditor.
- codemirror_editor: Code editor with syntax highlighting for textarea fields.
- editor_advanced_link: Extends CKEditor link options (e.g. target=”_blank”).
- fakeobjects: Displays visual placeholders in CKEditor for structured content.
- image_effects: Adds extra image effects to the media/image system.
- svg_image_field: Enables uploading and rendering of SVG images.
- anchor_link: Adds a CKEditor button for linking to internal page anchors. ⸻
Development & Debugging
- devel: Developer tools for debugging (variable dumps, cron, rebuild, etc.).
- dotenv: Allows loading configuration from a .env file for local setups.
- tracer: Helps trace the source of output (field, view, block, etc.) for debugging. ⸻
Content Import
- feeds: Imports content from CSV, XML, JSON, etc.
- feeds_ex: Adds extra plugins and features to Feeds.
- feeds_tamper: Enables transformation of data during import with Feeds.
- tamper: Dependency used to modify field values in Feeds mappings. ⸻
Structural Tools
- ctools: A utility library used by many contrib modules.
- entity_reference_revisions: Enables revisioning of referenced entities (e.g. Paragraphs).
- field_group: Groups fields into tabs, fieldsets, columns, etc., in forms.
- paragraphs: Allows building reusable, structured content inside nodes.
- token: Provides dynamic placeholders (tokens) for paths, titles, etc.
- pathauto: Automatically generates URL aliases based on configurable patterns. ⸻
Data Management
- daterange_compact: Improves the UI of date range fields with a compact input.
- file_mdm: Adds metadata handling for file/media entities.
- mailsystem: Manages and configures the site’s email sending system.
- smtp: Sends emails via an external SMTP server (e.g. Gmail, Mailgun…). ⸻
Layout & Display
- masonry: Integrates the Masonry grid layout system.
- masonry_views: Enables Masonry layout in Views.
- search_api: Foundation module for building advanced search systems (with Solr, DB, etc.).
- metatag: Adds SEO metadata (title, description, Open Graph, etc.) to pages.
- schema_metatag: Adds schema.org metadata for improved SEO and rich snippets. ⸻
Filters, Exposed & UX
- better_exposed_filters: Enhances the UI of exposed filters in Views.
- selective_better_exposed_filters: Adds advanced features to Better Exposed Filters.
- jquery_ui: Base jQuery UI library.
- jquery_ui_datepicker: Adds jQuery UI datepicker support to date fields.
- jquery_ui_slider: Adds jQuery UI slider widgets.
- jquery_ui_touch_punch: Enables touch support for jQuery UI components.
- js_cookie: Provides a JavaScript API to handle browser cookies. ⸻
Templating
- filter_twig: Enables Twig templating inside text fields (with proper permissions).
- twig_tweak: Adds helpful Twig functions (e.g. print views, blocks, routes).
- twig-twig: Likely a fork or variation of twig_tweak. ⸻
Security & Forms
- captcha: Adds CAPTCHA support to forms to block spam.
- webform: Creates advanced custom forms (e.g. contact forms, surveys).
Custom modules
- d4s_custom Module for importing VREs
- d4s_parser Feeds parser plugin that cleans and normalizes JSON data before import
- skeleton_custom Twig extension to provide template functionality for checking whether the current user is anonymous or logged in.