Username Password
Bookmark and Share

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).

In a best case scenario the process works as follows: (This text is based on the discussion here.)

  1. You post your idea on the dev_list and the collective intelligence of this community brings the idea to a higher level: more general, more elegant, more flexible and powerful than the original idea
  2. Many people get inspired in this process and offer you their help.
  3. You ask JT, the WebGUI project leader for permission.

If you want your code to be considered for the main WebGUI distribution, you should follow these guidelines. Even then, we make no promises that your code will be added.

  1. Be sure that the code follows the WebGUI Development Best Practices
  2. Make sure it works.
  3. If it requires internationalization, documentation, or help to be written, be sure you've done that before checking in.
  4. Be sure you've cleared your idea with JT (jt at plainblack dot com)
  5. NEVER run code through a lint tool, code sweeper, or autoformatting engine of any kind before checking it in. If you would like to reformat a section to make it more legible, so be it, but do not use any kind of automated tool as they almost always cause syntax problems with the code.
  6. We require that variable and subroutines, as well as comments in the code be made in English. While we appreciate the talents of the worldwide community, we cannot support code that we cannot read.


2. Subjective requirements

Below are some subjective requirements that should be taken into consideration. You may want to discuss some them on the dev_list.

2.1 Is this feature useful?

Consider whether this feature is useful to the current or future WebGUI users. If there are relatively few people for who this is useful: what other reasons are there to include this? If this feature is useful only to some, can it be made in a way that it can be switched off or easily removed, so that it's out of the way of the average user.

2.2 Is this feature usable by the target audience?

Consider who is the target audience? Is it user-friendly for regular users, does a content manager in an avarage business environment have the skills to use it? Or is this directed to system administrators?

2.3 Does it give WebGUI a competitive advantage?

Consider here if you, Plain Black or WebGUI integrators have increased sales or another monetary incentive to include it. And if so: how?

2.4. What are the maintenance costs of it?

Do you expect Plain Black to maintain it after you have contributed this feature or are you going to do that yourself? If you expect Plain Black to maintain it, this weights heavily.

2.5 Does this fit in the direction WebGUI is going?

This may be something you want to discuss on the dev_list, but you can also read the Black Blog, and have a look at the roadmap.

2.6 Is there a similar feature in WebGUI?

If so: could this similar feature be adapted to suit you needs? Or does your contribution have all the features of the existing feature? And if so, is there a way to upgrade?

Keywords: code Development

Search | Most Popular | Recent Changes | Wiki Home
© 2023 Plain Black Corporation | All Rights Reserved