GithubHelp home page GithubHelp logo

mbuechner / ddbgo Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 2.49 MB

DDBgo ist eine Datenbank der Deutsche Digitalen Bibliothek, die Informationen zu Kultur- und Wissenseinrichtungen, Beständen, Aggregatoren und AnsprechpartnerInnen bereithält. DDBgo ist ein internes Verwaltungs- und Arbeitsinstrument der Servicestelle und der Fachstellen der Deutschen Digitalen Bibliothek.

Home Page: https://go.deutsche-digitale-bibliothek.de

License: GNU General Public License v2.0

PHP 95.49% Dockerfile 4.31% Twig 0.20%
drupal drupal-module drupal-10

ddbgo's Introduction

PHP Composer Docker

DDBgo

DDBgo ist eine Datenbank der Deutsche Digitalen Bibliothek auf Basis des Content Management Systems Drupal, die Informationen zu Kultur- und Wissenseinrichtungen, Beständen, Aggregatoren und AnsprechpartnerInnen bereithält. Es können alle relevanten Informationen, die die Entitäten betreffen, eingetragen und nachgesehen werden. Zusätzlich werden die Beziehungen der Entitäten zueinander dargestellt. DDBgo ist ein internes Verwaltungs- und Arbeitsinstrument der Servicestelle und der Fachstellen der Deutschen Digitalen Bibliothek.

Drupal modules

DDBgo Work-a-rounds

See folder web/modules/custom/ddbgo_workarounds/.

DDBgo Cron Job

See folder web/modules/custom/ddbgo_cj/.

DDBgo Search

See folder web/modules/custom/ddbgo_search.

Drupal patches

See folder patches/.

  1. Changed_tokenSeparator_in_Select2_module.patch

  2. DDBgo-improvements_in_unique_field_ajax_module.patch

    Discussion at: https://www.drupal.org/project/unique_field_ajax/issues/2932042#comment-12950248

Composer

DDBgo is developed using the package manager Composer. Please make sure you have installed it correctly. All Composer commands should be executed within the folder with the file composer.json.

Run DDBgo localy

  1. Run composer install to install the project in your local directory
  2. Add file .env with the following configuration for Drupal's MySQL database connection (example file .env.example).
    MYSQL_DATABASE=ddbgodb
    MYSQL_HOSTNAME=localhost
    MYSQL_PASSWORD=ddbgopw
    MYSQL_PORT=3306
    MYSQL_USER=ddbgouser
    HASH_SALT=MY_SECRET_SALT
    UPDATE_FREE_ACCESS=FALSE
    FILE_PUBLIC_PATH=sites/default/files
    TRUSTED_HOST_PATTERNS="^localhost\$, ^127.0.0.1\$"
    TMP=/tmp
    
  3. Use Drush command to run local server: vendor/bin/drush rs
  4. Access via http://127.0.0.1:8888

If you start with a blank database you need to import all configuration with Drush, which is stored in the folder config/sync. Therefor run vendor/drush/drush/drush config:import.

Composer project maintenance

  1. Find update-able packages: composer outdated --direct
  2. Show available package versions for a package: composer show --all drupal/facets
  3. Install new packages: composer require drupal/facets or composer require 'drupal/facets:^1.4'
  4. Update specific package: composer update drupal/facets or composer update 'drupal/facets:^1.4'
  5. Update all packages to newest version: composer update
  6. Update to new major version: composer require drupal/core-recommended:^8.8 --update-with-dependencies --no-plugins

Drush commands

  1. Update Drupal's database: vendor/drush/drush/drush updatedb
  2. Rebuild cache: vendor/drush/drush/drush cr
  3. Runs PHP's built-in HTTP server (for development only): vendor/drush/drush/drush rs
  4. Export all configuration to folder config/sync: vendor/drush/drush/drush config:export.
  5. Import all configuration from folder config/sync: vendor/drush/drush/drush config:import.

Docker

Yes, there's a docker container for DDBgo available at GitHub: https://github.com/mbuechner/ddbgo/pkgs/container/ddbgo%2Fddbgo

docker pull ghcr.io/mbuechner/ddbgo/ddbgo:tagged

Container build

  1. Checkout GitHub repository: git clone https://github.com/mbuechner/ddbgo
  2. Go into folder: cd ddbgo
  3. Run docker build -t ddbgo .
  4. Start container with: docker run -d -p 8080 -P ddbgo
  5. Open browser: http://localhost:8080/

Cron job

It's important to run Drupal's Cron job regularly. It's recommended to trigger it every minute with a forbidden concurrency from an external cron job. The Drush command is a simple way to execute Drupal's cron job. Run:

> /var/www/html/vendor/bin/drush --root /var/www/html/web/ --quiet cron > /dev/stdout

Cron task:

*/1 * * * * /var/www/html/vendor/bin/drush --root /var/www/html/web/ --quiet cron > /dev/stdout

More information about cron at the Drupal documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.