Browse Source

Merge pull request #856 from tripal/774-module-rating-system

Add Module Rating to the docs.
Lacey-Anne Sanderson 6 years ago
parent
commit
209c428282

+ 1 - 1
docs/dev_guide/best_practices.rst

@@ -13,7 +13,7 @@ Before staring your development work, it is suggested that you download and inst
 Add your module to Tripal.info
 ------------------------------
 
-Do your best to list and upate your modules at http://tripal.info/extensions.
+Add your modules to the Tripal ReadtheDocs :doc:`../extensions` list. The :doc:`../extensions/module_rating` was designed to give guidance on Tripal module development best practices.
 
 
 Coding Best Practices

+ 5 - 28
docs/extensions.rst

@@ -17,33 +17,10 @@ The below modules are Tripal 3 compatible and grouped roughly by category:
 
 If you don't see the module you are looking for here, try a `Tripal-specific search on GitHub <https://github.com/search?q=topic%3Atripal>`__.
 
-Add your Module to this list!
------------------------------
+Informational links for this extension module list:
 
-**We would love for you to contribute your own module to this list!** This is done by creating a Pull Request (PR) to `Tripal <https://github.com/tripal/tripal>`__ modify our documentation.
-
-Instructions
-^^^^^^^^^^^^^
-
-1. From the current page, click the category in the list above that best fits your module.
-2. Click the "Edit on Github" link at the top of the page.
-3. Add your module using the following template.
-
-.. code:: RST
-
-  Module Name
-  ------------
-
-  This module loads in X, Y, and Z.  It provides admin for A and B, and user area C.
-
-  `Documentation <https://yourmodule.readthedocs.io/en/latest/index.html>`__
-  `Repository <https://github.com/you/yourmodule>`__
-
-Guidelines
-^^^^^^^^^^^
+.. toctree::
+   :maxdepth: 1
 
-- Make sure to follow alphabetical order when choosing where on the category page to add your module.
-- Please write two sentences MAXIMUM about the function of the module.
-- Include links to both the documentation (even if it's your README) and the repository (e.g. Github, Gitlab)
-- If your module doesn't fit well in any of the existing categories, still pick the best one but then feel free to suggest a new category in the PR description.
-- Extension Modules must be publicly available for download
+   extensions/module_rating
+   extensions/instructions

BIN
docs/extensions/Tripal-Bronze.png


File diff suppressed because it is too large
+ 0 - 0
docs/extensions/Tripal-Bronze.svg


BIN
docs/extensions/Tripal-Gold.png


File diff suppressed because it is too large
+ 0 - 0
docs/extensions/Tripal-Gold.svg


BIN
docs/extensions/Tripal-Silver.png


File diff suppressed because it is too large
+ 0 - 0
docs/extensions/Tripal-Silver.svg


+ 33 - 0
docs/extensions/instructions.rst

@@ -0,0 +1,33 @@
+
+Adding your Module to this list!
+==================================
+
+**We would love for you to contribute your own module to this list!** This is done by creating a Pull Request (PR) to `Tripal <https://github.com/tripal/tripal>`__ modify our documentation.
+
+Instructions
+-------------
+
+1. From the current page, click the category in the list above that best fits your module.
+2. Click the "Edit on Github" link at the top of the page.
+3. Add your module using the following template.
+
+.. code:: RST
+
+  Module Name
+  ------------
+
+  This module loads in X, Y, and Z.  It provides admin for A and B, and user area C.
+
+  `Documentation <https://yourmodule.readthedocs.io/en/latest/index.html>`__
+  `Repository <https://github.com/you/yourmodule>`__
+
+4. Rate your module using the :doc:`./module_rating` and mention in your PR description which requirements your module meets.
+
+Guidelines
+------------
+
+- Make sure to follow alphabetical order when choosing where on the category page to add your module.
+- Please write two sentences MAXIMUM about the function of the module.
+- Include links to both the documentation (even if it's your README) and the repository (e.g. Github, Gitlab)
+- If your module doesn't fit well in any of the existing categories, still pick the best one but then feel free to suggest a new category in the PR description.
+- Extension Modules must be publicly available for download

+ 83 - 0
docs/extensions/module_rating.rst

@@ -0,0 +1,83 @@
+
+Tripal Module Rating System
+=============================
+
+This module rating system is meant to aid Tripal Site Administrators in choosing extension modules for their site. It is also meant to guide developers in module best practices and celebrate modules which achieve these goals.
+
+Bronze
+-------
+
+.. image:: Tripal-Bronze.png
+
+- Has a public release.
+- Should install on a Tripal site appropriate for the versions it supports.
+- Defines any custom tables or materialized views in the install file (if applicable).
+- Adds any needed controlled vocabulary terms in the install file (Tripal3).
+- Provides Installation and admin instructions README.md (or `RTD <https://tripal.readthedocs.io/en/latest/dev_guide/rtd.html>`_).
+- Has a license (distributed with module).
+
+Silver
+-------
+
+.. image:: Tripal-Silver.png
+
+- Follows basic Drupal Coding standards; specifically, `code format <https://www.drupal.org/docs/develop/standards/coding-standards>`_ and `API documentation <https://www.drupal.org/docs/develop/standards/api-documentation-and-comment-standards#drupal>`_.
+- Uses Tripal API functions. Specifically, it should use the
+    - Chado Query API for querying chado (if using chado as the storage system). (`API <http://api.tripal.info/api/tripal/tripal_chado%21api%21tripal_chado.query.api.inc/group/tripal_chado_query_api/3.x>`_, :doc:`Tutorial <../dev_guide/chado>`)
+    - Tripal Jobs API for long running processes. (`API  <http://api.tripal.info/api/tripal/tripal%21api%21tripal.jobs.api.inc/group/tripal_jobs_api/3.x>`_)
+    - TripalField class to add data to pages (Tripal3). (:doc:`Tutorial <../dev_guide/custom_field>`)
+- Provides ways to customize the module (e.g. drush options, field/formatter settings, admin UI).
+- Latest releases should follow Drupal naming best practices.
+    - e.g. first release for Drupal 7 should be: ``7.x-1.x``.
+
+Gold
+-----
+
+.. image:: Tripal-Gold.png
+
+- Extensive documentation for the module (similar to Tripal User's Guide). ( `Tutorial <https://tripal.readthedocs.io/en/latest/dev_guide/rtd.html>`_)
+- Unit testing is implemented using PHPUnit with the TripalTestSuite or something similar.
+- Continuous integration is setup (e.g. such as with TravisCI).
+- Imports data via Tripal's importer class (Tripal3) (:doc:`Tutorial <../dev_guide/custom_data_loader>`).
+- Tripal 3 fields are (:doc:`Tutorial <../dev_guide/custom_field/manual_field_creation>`)
+    - Fully compatible with web services.
+    - The elementInfo function is fully implemented.
+    - The query and queryOrder functions fully implemented.
+- Web Services uses Tripal's Web Service Classes (Tripal3). (:doc:`Tutorial <../dev_guide/custom_web_services>`)
+- Code sniffing and testing coverage reports (optional but encouraged).
+- Drupal.org vetted release (optional but encouraged).
+
+Rate your Extension Module!
+-----------------------------
+
+We encourage Tripal module developers to rate their modules. This can be done by :doc:`./instructions`
+
+The following badges are for inclusion on your module README and documentation; however, they are only valid if your module has been included in :doc:`../extensions` with the given rating.
+
+reStructuredText
+
+.. code-block:: RST
+
+    .. image:: https://tripal.readthedocs.io/en/7.x-3.x/_images/Tripal-Bronze.png
+      :target: https://tripal.readthedocs.io/en/7.x-3.x/extensions/module_rating.html#Bronze
+      :alt: Tripal Rating: Bronze
+
+
+Markdown
+
+.. code-block:: MD
+
+    [![Tripal Rating Bronze Status](https://tripal.readthedocs.io/en/7.x-3.x/_images/Tripal-Bronze.png)](https://tripal.readthedocs.io/en/7.x-3.x/extensions/module_rating.html#Bronze)
+
+
+HTML
+
+.. code-block:: html
+
+    <a href='https://tripal.readthedocs.io/en/7.x-3.x/extensions/module_rating.html#Bronze'>
+        <img src='https://tripal.readthedocs.io/en/7.x-3.x/_images/Tripal-Bronze.png' alt='Tripal Rating: Bronze' />
+    </a>
+
+.. note::
+
+   Replace all instances of ``Bronze`` with either ``Silver`` or ``Gold`` for those badges.

Some files were not shown because too many files changed in this diff