statonlab / hardwoods_site

Hardwoods Genomics bugs, data loading, and general issues
GNU General Public License v3.0
2 stars 1 forks source link

Upgrading modules to "gold" standard #469

Closed bradfordcondon closed 5 years ago

bradfordcondon commented 5 years ago

Feature description

We should prioritize which modules should be upgraded to higher standards. Some will obviously need more work than others.

For bronze + silver this means:

Most of our modules should meet these requirements already.

For gold:

Doing this soon lets us modify the requirements if any are unreasonable or misguided, as well. For example, i brought up whether or not branch names need to follow Drupal standards, or if having master is OK.

Link to relevant info

easy staton module reference: https://statonlab.github.io/hardwoods_tripal_showcase/

standards: https://github.com/tripal/tripal/issues/774

bradfordcondon commented 5 years ago

i made this md template

Tripal module ranking system checklist

# Bronze

- [ ] Has a public release that follows Drupal release naming rules.
- [ ] Should install on a Tripal site appropriate for the versions it supports.
- [ ] Defines any custom tables or mviews in the install file (if applicable).
- [ ] Provides Installation and admin instructions README.md (or RTD)
- [ ] Has a license (distributed with module)
- [ ] Adds any needed controlled vocabulary terms in the install file  (if applicable)

# Silver

- [ ] Follows Drupal code standards (how to measure this?)
- [ ] Use tripal API functions (is this too generic)?
- [ ] ~~Uses the Chado API: Queries Chado using chado_generate_var, chado_expand_var, the ChadoRecord class or chado_xxx_record functions (except for complicated queries).~~
- [ ] Provides an admin interface to allow for customization

### Tripal V3 specific:
- [ ] Uses the TripalField class to add data to pages (if applicable).

# Gold

 - [ ] Unit testing is implemented using PHPUnit with the TripalTestSuite or something similar.
 - [ ] Continuous integrating is setup (e.g. such as with TravisCI).  
    - [ ] Required: execution of unit tests
    - [ ] Optional (but encouraged):  code sniffing and testing coverage reports.
 - [ ] Project should have a public development branch (following Drupal naming rules) to encourage collaboration and pull requests.
 - [ ] Extensive documentation for the module (similar to Tripal User's Guide).

### Tripal V3 specific
 - [ ] Imports data via Tripal's importer class
 - [ ] Tripal 3 fields are 
    - [ ] Fully compatible with web services
    - [ ] The elementInfo function is fully implemented.
    - [ ] query and queryOrder functions fully implemented.
 - [ ] Web Services uses Tripal's Web Service Classes.
almasaeed2010 commented 5 years ago

The info for how to do this is on the Tripal documentation page and I think each module should have its own issue to address upgrades needed.