A GUI TO MODIFY OPTIONS
Yes it was foreseen in step 2, as the system is build for letting any user override these option lists to its own need. A simple way to override option lists is to create an alternative list in
database for the techproject instance (setting adequately techprojectid). As usual in my work, I always try to make pro-active developement, so that further needs may be anticipated in the coding structure, althought while not fully resolved nor implemented.
I'm very glad you're coming up with so nice features, improving daily use of the techproject module and making it so operable.
On my side, I'm starting thinking adding a "test board" so contributors could have a real checklist of what is missing, what is OK and what is buggy, as a checkbox grid where you could add any new column for a new release.
Your concerns : Short anatomy of the module.
Key file is of course view.php that make high level choices depending on
context (editing ? not editing ? Student ? guest ? ...)
Second level routing is performed through techproject.php. This file sets the tab menu up, and then route to the adequate screen.
Each other file is a specialized screen, for handling one of the application situations. These are :
- assessment.php : for assessments
- criteria.php : for editing evaluation criteria sets
- by<something> : to display views of data "by" (essentially tasks)
- copy.php : for item copy features
- cvs.php : for future CVS external drive
- deliverables.php : for handling deliverable tree
- description.php : for editing descriptions
- detail.php : for the detailed view (object browser)
- ...
and so on.
Note that all these may use rendering functions in locallib.php for rendering a single entity or a full entity tree. Most of these functions are recursive, so handling easily tree-shaped structures.
- version.php
- backuplib.php
- restorelib.php
- mod.html
are standard.