Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate and identify the best solution to handle the help pages #270

Open
motame opened this issue Sep 24, 2024 · 3 comments · May be fixed by #267
Open

Investigate and identify the best solution to handle the help pages #270

motame opened this issue Sep 24, 2024 · 3 comments · May be fixed by #267
Assignees

Comments

@motame
Copy link
Contributor

motame commented Sep 24, 2024

Investigate and identify the best solution to handle the help pages of core module and the different instrument modules.

In Drupal 7, this task was handled by each module. Each module creates its own pages at its installation time and removes them at its uninstallation time. The help pages where exported as php files.
The images appear in the help page php files as static links, example :

<img class="same-gallery image-large" src="/mmoda/sites/default/files/styles/large/public/mmoda/help/mmoda/sign.png">

and their content is included in the php file as binary BLOBs.

In Drupal 10, the images are no more inserted as static links but as media entities, example:

<drupal-media data-entity-type="media" data-entity-uuid="a7344671-166e-492d-9cda-d11517d96f4c">&nbsp;</drupal-media>

It's much better as the links are no more static.

In Drupal 7 the module export/import was used and a lot of code has been written in Drupal 7 to maintain the help pages as well as the table of contents implemented as a Book (Book module).
Indeed, every time a help page is edited, it is exported when saved.

In Drupal 10, there are some options to handle the help pages globally or per instrument. These options include the following modules :

There is a need to identify the best option to allow :

  • a real staging of this initial content (dev, test, prod) with different databases
  • easy deployment (a set of drush command should allow their deployment on a new system - a new database)
  • optimized implementation time

Note that starting from Drupal 8, all the configuration (mainly stored in the database previously) are in YAML files and the database.
All core and modules configurations can be exported and imported in another instance. This will be used for the creation of the content types like, "Help page content type" and "MMODA event content type". In Drupal 7, they were created by the core module MMODA at install time. While in Drupal 10, it will be done by a drush command importing all the configuration at once.

This step should take from 3 to 4 weeks (not full time)

Issue related to #268 !

@motame
Copy link
Contributor Author

motame commented Nov 1, 2024

The three above modules (Single Content Sync, Default Content, Default Content Deploy) have been tested and none of the three provides a satisfactory solution for our needs.
Another module has been identified to respond to our needs (handling of the help pages) and more:

Based on this module a general solution is found to handle all initial content of the instance including all nodes (pages, articles, help pages), the webforms (contact, api token, user feedback), the taxonomies, the media, the path aliases, etc.

It will be based on composer, the core configuration management API and the contributed module Content Synchronization.

In Drupal 7, MMODA is composed of 4 components :

In Drupal 10, there will be only 3 components 👍

  • The two composer files composer.json and composer.lock, the initial configuration YML files and the initial content (mmoda-frontend-drupal)
  • MMODA module (mmoda-frontend-module)
  • MMODA Bootstrap theme (mmoda-frontend-theme)

@motame
Copy link
Contributor Author

motame commented Nov 15, 2024

The retained module to handle the export/import of the initial content including help pages is the module :

@motame
Copy link
Contributor Author

motame commented Nov 15, 2024

It works properly.
Issue can be closed

@motame motame linked a pull request Nov 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant