Go to file
Maicol Battistini 9af3a6eb71
fix(Dockerfile): update Caddyfile path for frankenphp
2025-11-18 16:55:54 +01:00
.idea chore: Add project IDE configuration 2025-02-17 09:49:51 +01:00
.vscode chore: Add project IDE configuration 2025-02-17 09:49:51 +01:00
web feat: Modifica mopdulo di estrazione immagini 2025-11-07 17:09:20 +01:00
.dockerignore chore(gitignore): 🎉 Update .gitignore and .dockerignore 2025-02-14 16:19:07 +01:00
.editorconfig feat: 🎉 Initial commit 2025-01-23 17:43:20 +01:00
.gitattributes feat: 🎉 Initial commit 2025-01-23 17:43:20 +01:00
.gitignore chore(gitignore): 🙈 Update .gitignore to exclude contrib themes 2025-02-17 09:51:03 +01:00
Caddyfile fix: 🐛 Force port 80 in Caddyfile 2025-01-24 10:18:26 +01:00
Dockerfile fix(Dockerfile): update Caddyfile path for frankenphp 2025-11-18 16:55:54 +01:00
README.md Update README.md 2025-06-23 10:43:59 +02:00
composer.json chore(deps): ⬆️ Update dependencies and add libraries 2025-02-17 12:40:06 +01:00
composer.lock chore(deps): ⬆️ Update dependencies and add libraries 2025-02-17 12:40:06 +01:00
default.services.yml feat: 🎉 Initial commit 2025-01-23 17:43:20 +01:00
docker-compose.dev.yml delete adminer 2025-03-05 15:17:22 +01:00
docker-compose.yml feat: Modifica mopdulo di estrazione immagini 2025-11-07 17:09:20 +01:00
php.ini add max_execution_time 2025-03-05 15:17:48 +01:00

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 Drupals 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 sites 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.