File Structure
The base structure of this API is found in tripal/src/TripalVocabTerms/. Specifically, you can find
The TripalTerm class.
The base classes to extend when making your own vocabulary plugin implementation.
The interfaces you should implement are in the Interface directory and describe the methods you must implement in your vocabulary plugin implementation.
The attribute classes describe the metadata needed in the attributes section of your implemented plugin class.
The plugin managers are in the PluginManager directory and simply link these plugins to the Drupal API.
Warning
Support for the legacy annotation classes will be deprecated with Drupal 11.2 and support will be removed with Drupal 12, so any existing annotations should be replaced with attributes.
Warning
Core Implementations for the vocabulary and id space plugins are still underway. The design base is in the main branch but work is not complete.
All implementations should be in the src/Plugin/TripalIdSpace and src/Plugin/TripalVocabulary directory of their respective modules. For example, a Chado implementation would be in tripal_chado/src/Plugin/TripalVocabulary/ChadoVocabulary.php and tripal_chado/src/Plugin/TripalIdSpace/ChadoIdSpace.php. You do not need to implement the TripalTerm class as all storage is handled by the vocabulary or ID space containing a given term.