Problem/Motivation
A key source of incompatibility between different features is the use of divergent solutions. Enabling several features might lead to a jumble of different modules designed to address the same aims.
Proposed resolution
- Specify how standard solutions should be identified and handled. Proposed text:
### Standard solutions
To help produce compatibility among the various Kit-compliant features, standard solutions should be used wherever feasible. For example, for mapping, there are several Drupal modules available, for example, Gmap, OpenLayers, and Leaflet. To promote consistency, one solution should be designated as the Kit standard.
This designation does not mean that no Kit-compliant feature may use a different solution. There may be good reasons to vary in specific circumstances. But, at the least, feature developers should give consideration to the adopted standards and, ideally, provide documentation that explains why they have chosen a different solution.
In selecting between alternatives, the Drupal principles (http://drupal.org/principles) are to be used as well as the following additional criteria:
* Community open source: the candidate solution is a community-driven open source solution.
* Hosted on drupal.org: the candidate solution is hosted on the drupal.org infrastructure.
* Non-proprietary: The candidate solution is not limited to, branded by, or controlled by a single company.
* Data privacy and security: The candidate solution does not require posting data to an external source unless doing so is the explicit purpose of the application.
* Works out of the box without requiring authentication configuration, for example, entry of an API key.Before introducing a new Kit-compliant feature that introduces a dependency that could be considered as a new standard solution, an issue should be posted on the Kit project proposing the new standard solution with justification.
Adopted standard solutions:
[list to go here] - Identify and adopt an initial set of standard solutions. Proposed additions should go each into a separate issue linked here.