tripal/tripal_devtools

A Drupal extension module which provides helpful tools for developing Tripal Extension Modules.

Installs: 93

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 10

Forks: 0

Language:Twig

Type:drupal-module

4.x-dev 2025-09-10 17:09 UTC

README

Provides tools to make development of Tripal extension modules easier!

Requirements

  • Tripal 4.x
  • Drush 13.6+
  • PHP 8.2+

Usage

This module is expected to be used in development only. We suggest using it with a dockerized Tripal site for development of extension modules. That said, as long as you have the above requirements you can install it on a local drupal site using composer.

Docker Setup

If you are using TripalDocker to develop your extension module, then

  1. Build a TripalDocker designed to develop your module and mount the directory your module in in to your local hard drive.

    For example, if your module is called my_module and your current working directory contains your local copy of this module, then your run command would be:

    docker run --publish=80:80 --name=CONTAINERNAME -tid \
      --volume=$(pwd):/var/www/drupal/web/modules/contrib/my_module tripalproject/tripaldocker:latest
    

    NOTE: If you are just starting, then your local folder can contain nothing and you can use this module to generate the initial files!

  2. Install this module inside your docker container using the following command:

    docker exec --workdir=/var/www/drupal CONTAINERNAME composer require tripal/tripal_devtools
    

Local installation

See the Dockerfile in this repository for commands.

Tools

Drush integrated generators

This module provides a large number of file generators for Tripal plugins. They use Drush 12+ and Drush-Generator v3 (included in Drush 12).

The following commands are currently implemented:

Command Description
tripal:field Generates a Tripal Field Type, Widget and Formatter for fields not interacting with Chado.
tripal:field-formatter Generates a Tripal Formatter to be used with an existing Tripal Field.
tripal:field-type Generates a Tripal Field Type for developing Tripal fields with no interactiion with Chado.
tripal:field-widget Generates a Tripal Widget to be used with an existing Tripal Field.
tripal-chado:field Generates a Chado Field Type, Widget and Formatter for fields who store their data in Chado.
tripal-chado:field-formatter Generates a Chado Formatter to be used with an existing Chado Field.
tripal-chado:field-type Generates a Chado Field Type for developing fields which store their data in chado.
tripal-chado:field-widget Generates a Chado Field Widget to be used with an existing Chado Field.
tripal:extension-module Generates a Tripal Extension module and its associated files.

Usage:

Assumes you have set up your development environment as descriped under Docker Setup above.

Now that you have linked the internal docker copy and your local copy you can run drush inside your docker to generate the files and see them appear locally!

docker exec -it CONTAINERNAME drush generate tripal-chado:field

And then answer the prompts. The generator then takes your answers, fills them into our templates and provides you with a set of files to work with!