Hi,
there were some discussions about module guidelines in the German forum thread recently. Main focus of the discussion was on missing testing guidelines for modules.
However, I think there is another important point not sufficiently touched yet, which is the missing standard for Website Baker modules. In fact there are no official standards defined yet. Most of the modules available were created by cloning and/or modifying other modules with all the Pros and Cons associated with it. So far, only very basic docuementation is available for creating own modules (Advanced Documentation on the WB Help site) or the "Hello world" module. However, there is a clear lack of a step by step guide for ongoing Website Baker module developers.
For that reason, I decided
to start an approach open to everybody who is interested to develop a "Module Primer" (German: Modul-Leitfaden) for Website Baker. How should this approach work? Attached to this post, you can find a very minimalistic but working page type module. The file itself contains the files required by Website Baker to install and uninstall without error messages, but does only show a short message in English in the frontend and backend.
The package also includes a README file, which provides some basis information for beginners (addressing the set-up of a development server (XAMPP), a WB test installation (WB 2.7) and explains the purpose of the main module files and the code contained). Apart from that, the README file introduces some text editors suitable for modifying PHP files. So far so good.
The next planed steps are to remove the hardcoded CSS definitions
(Step 2a), to integrate mulitlingual support for German and English
(Step 2b) and to separate HTML and PHP by the use of the template engine
(Step 2c) shipping with Website Baker.
Step 3 interaction with the MySQL database.
Step 4 protection of module files from accessing. Other steps open for discussion and on demand.
Depending on the feedback and of course the help of volunteers, the project may grow in terms of functionallity (e.g. to develop a real module), in documentation (e.g. a HTML file, PDF or whatever) or in translations available. There is also room for other improvements, coding guidelines or testing requirements.
There are several possibiliies to contribute such as but not limited to: - coding experience (Javascript, PHP or any other)
- translations of the "Module Primer", but also module language files (basic documentation is English)
- design experience with GUIs (CSS, usability, accessibility etc.)
- layouter, graphicer or texter (basic documentation will be a text file with plain text)
- module tester etc.
So if you would like to contribute in any of the areas listed above, please feel free to post in this thread.What if the project fails? Well than we still can proceed as before. However, I think we should give it a try as a community (which means together).
Looking forward to any suggestions but more for any form of contribution to the project.What is this thread not? This thread is not for discussing the pros and cons of PHP4 or PHP5, or for discussing the pros and cons of object oriented programming versus modular one. If you want to discuss those aspects, please create a separate thread for this. I would highly appreciate, if this thread will be used more for "active" help and support than for "fruitless" discussions without any other contribution

Important note: The "Module Primer" that means the module itself and the text and images are published under a
Creative Commons Attribution-NonCommercial-No Derivate 3.0 License. You are free to copy and distribute this work for noncommercial purposes as long as no changes are applied, this copyright notice remain untouched and you provide a backlink to the Website Baker project (
http://www.websitebaker.org).
The German thread on this topic can be found here:http://www.websitebaker2.org/forum/index.php/topic,13134.msg79988.html#msg79988Regards
Christian (ak doc)
Revisions:Revision A: "README_module_prime
r_step1_Rev-A.txt" (Mar 10, 2009; 21:00); previous version (4x)