API You can view WebGUI's API documentation in a number of ways.
Code Submission Guidelines WebGUI is an open source project. This means that if you are a programmer you can modify the WebGUI code to suit your needs. You are encouraged to contribute these modifications back to the WebGUI community to help make WebGUI better for everyone. If you are not a programmer, there are other ways you can have a desired feature added to WebGUI (see How To Add a Feature to WebGUI Core).
Commit Policy The WebGUI repository is available to all, committable by many. In order to ensure a stable, stress-free release, please follow these policies for committing code to the WebGUI core.
Development Best Practices One of WebGUI's greatest strengths is that it works on many operating systems and can connect to many external resources such as LDAP, Database, and web servers. If you're planning on writing plug-ins for or making core changes to WebGUI you should follow the coding guidelines presented here to ensure maximum compatibility. In addition, WebGUI has been built with performance in mind; we try to keep our code neat and elegant, so should you.
Git Beginning with WebGUI 7.8.x development will be conducted and tracked through Git rather than Subversion. The git repository is hosted on GitHub: http://github.com/plainblack/webgui
Lineage Lineage was created to allow retrieval of any or all related assets with a single, simple query to the database. This means we can retrieve all ancestors, parents, siblings, children, and descendants as well as know the ranks of all within a group of siblings.
Macro Development Tutorial A macro is a small Perl package that sits in the lib/WebGUI/Macro folder of your WebGUI install. You enable it by adding a line to your WebGUI config file. Here is an example of a macro: package WebGUI::Macro::HelloWorld;
magic numbers This is a list of the magic numbers that WebGUI uses
Override Core Modules If you need to edit one of the WebGUI core modules, a safer way of doing this that will be upgrade-proof is to add an additional directory for your overrides. In the example below, I've suggested creating a site_lib directory in the WebGUI root.
Subversion WebGUI is no longer hosted in Subversion, so please see the Git page for updated information.
Wobject Cookbook The Wobject Cookbook is intended for developers as a cookbook guide to writing a custom asset. It includes miscellaneous recipes on how to do various tasks within your custom asset.
WRE for Developers Setting the WRE up in Dev mode does the following things: