This page is a collection of web-based resources for CCP4i developers - essentially anyone who is interested in writing their own interfaces, or in adding new functionality, or who simply want to know more about how it works.
A quick demo is available for developers wanting to know what is required for coding a task interface in CCP4i.
The distributed CCP4i documentation includes a substantial amount of Programmers Documentation:
These should also be available on your local system, via $CCP4I_HELP/programmers/progframeset.html and $CCP4I_HELP/programmers/indexframeset.html respectively.
The notes from the CCP4i Programmers workshop are recommended both as an introduction to writing and/or modifying task interfaces, as well as a source of supplementary information including a task interface ``style guide''.
If you have developed a new task interface and want to make it available in a form suitable for CCP4i's auto-install function then as of CCP4 4.2 you should be able to use the Install New Task function (available under System Administration on the RHS of the main CCP4i window) to ``export'' the task files.
The utility can be used to create a .tar.gz file which can then be distributed for easy installation into CCP4i, as described here.
More information about the Install New Task function can be found here in the CCP4i documentation.
A one-day workshop for developers interested in learning more about writing and developing CCP4i task interfaces was held in York, with Liz Potterton and Peter Briggs as tutors.
The notes from the workshop are intended as an introduction to writing CCP4i task interfaces, and to clarify and expand upon the existing documentation.
An example with extending frames, initialisation of data from a selected data file and variable menus
The demo code from the workshop is also available as an installable task package:
(See here for information about installing these packages).
We will consider holding another of these workshops if there is sufficient interest in future - if you be interested in attending one then please contact email@example.com.
Some other sites that developers might find useful: