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.
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;
Wobject Development Tutorial The following is a tutorial on how to build your own Wobjects. Note that the same techniques go into building regular assets. Before building a Wobject you should be familiar with WebGUI's available API's, the Wobjects that already exist and their code. If you don't familiarize yourself with all of these you'll likely spend a lot of time reinventing the wheel, and ultimately you may even fail in building your own Wobject.