Proposal
Each package has a maturity level. Maturity level is recorded in the .info file for each major-minor release of OpenACS.
<version ...> <maturity>1</maturity> </version>
Maturity level is visible in the Installer and when browsing the repository.
- Level -1: Incompatible. This package is not supported for this platform and should not be expected to work.
- Level 0: New Submission. This is the default for packages that don't have it set explicitly, and for new contributions. The only criterion for level 0 is that at package is uploaded into the repository.
-
Level 1: Immature.
- Meets Level 0 Criterion
- Current release has no open priority 1 or priority 2 bugs.
- Has been available in a final major-minor release for at least one month and major-minor-dot release for one week.
- All API functions have documentation
- Source code is available at published location.
-
Level 2: Mature.
- Meets all Level 1 criteia
- Has installation guide and user documentation
- OCT member verifies no serious deviations from general coding practices
- Has no namespace conflicts with existing level 2 packages.
-
Level 3: Mature and Standard.
- Meets all Level 2 Criteria
- OCT member verifies code meets published coding standards
- Contains no non-internationalized text
- Available on all supported databases.
- The APM needs to parse and display this new information when looking at local packages and when looking at lists of packages to install. A volunteer needs to do this.
- The repository generator must parse and display this new information so that it is visible when browsing the repository. I will make sure this is implemented.
Reasons
We don't have any objective way to determine the quality of our 100+ packages
Disadvantages
Volunteers will have to do ongoing work to determine maturity.
Implementation
Changes
Corrected example to match implemented code. JoelA 30 Nov 2004. Old example was<maturity>
<platform id="openacs-core" version="5.1">
<level descr="Mature">2</level>
</platform>
</maturity>
Request notifications