This is a first draft of guidelines for external contributors making submissions to the suite of updates or new programs.
In addition to source code requirements (outlined in CCP4 manual, chapter 14 "Writing and Contributing Programs") we request:
Documentation in html format - there is a template on the CCP4 www developers area.
At least one runnable example plus example log file output, for testing purposes (preferably one that can also be distributed if possible).
Requirement for source code updates: for alterations, we would like to know the version/date of the original code. This makes it easier to merge into the CVS tree (since differences can be taken against the correct version).
In addition to the source code updates we also require the contributors to provide the following:
List of significant changes in functionality from previous versions.
At the least this should give details of new/altered/withdrawn keywords, new/altered/withdrawn input/output files, and new/altered functionality. Significant differences to log file output (e.g. new or altered graphs/tables) should also be mentioned.
This is especially useful for determining whether changes are required to the CCP4i interface. If possible please supply a separate list of changes for the interface (even better, updated interface files!).
Updated documentation reflecting the changes in 1.
Test data and output
The minimum requirement is for an example script file plus a log file; more comprehensive tests are welcome.