Source Content Management System
Compare HolonS with the conventional way of programming. Click on the images to see the systems in natural size - click again to reduce.
Holon replaces the Multifile Source Editor
with a Source Content Management System
A chapter corresponds to a sourcefile. Holon maintains an external sourcefile for each chapter. With every change in the browser the corresponding sourcefile is updated. The chapter provides a page for comments like the preambel of conventional sourcefiles. Holon sourcefiles contain pure source code, they are not burdened with comments and meta-information like document-tags.
Sections bring order to procedural programs.
Programs are collections of named items, like procedures, functions, variables, classes, objects, etc. In Holon each item is a unit and is stored as a record in a database. The structure of chapters and sections orders the collection in manageable small groups.
Usually the title of the Holon unit is also the name of the program item. - However, a unit can contain any slice of source code, e.g. a set of variables or a detail of a long definition. Then the title describes the contents. - The titles are hypertext targets, you can look up the definition of a name that is used in source code or comments by a simple click.
Pages are tagged with their current revision numbers. If you change a page its old version is saved and you have a new version with the current revision number. The previous revisions remain in the project database and are listed in the revision pane. Recall a previous version with a click on its number.
There is ample space for comments for chapters, sections and units. In the units the comment is separated from the source and is not included in the source files. Therefore no artificial delimiters are needed.
The source pane is only present in units. Here the program source is entered and edited and changed. Changes are instantly updated in the external source files. The source file contains only source code, thus the compiler or interpreter is not burdened with irrelevant text.
During a session Holon maintains a list of the pages of interest. The currently active page is listed at the top. Recall a page with a click in the list. Or use the Back button. A page is considered "visited" when it remains on the screen for two seconds or more.
This pane has multiple uses. It shows the results of searches for text in the Find entry field. Or the project history as a list of revisions, called with the Revision button. Else the pane shows the pages of the current revision.
Holon provides two views of the project: The present view of the hierarchy like a Smalltalk browser. Or a tree-view like a folder hierarchy.
The revision button shows the current revision number. It opens the log page of this revision and lists the currently revised pages. Its context menu (Ctrl-Click) offers options to display the project history and to commit the current revision.