![]() |
|
||||||
OL-Commerce v2/AJAX Author: Dipl.-Ing.(TH) Winfried Kaiser © 2006 Dipl.-Ing.(TH) Winfried Kaiser, 24975 Husby This software is based on "OL-Commerce v1.2.2.a", it is published under the "GNU General Public License". No warranty whatsoever, expressed or implied, exists for OL-Commerce v2/AJAX! Any usage of this software is solely in the users risk! The user has to make sure, that he
backs up his software and data before
using the software, Programmers Guide Advanced features requiring coding-standards Using the "Sourceforge"-CVS-System OL-Commerce v2/AJAX is a very major development step in the osCommerce => xtCommerce => OL-Commerce v1 line of products. For one, it employs state-of-the-art, AJAX-based, "Web 2.0" functionality for the user interface. Secondly, it provides significant functional enhancements for the shop-software. The definite development-goal for OL-Commerce v2/AJAX is nothing less then to become the world's best and most complete off-the-shelf "Open Source" shop-system! And, at the same time, begin to restructure and streamline the existing xxCommerce-PHP-code (which has been put together by many, many different developers, with very different capabilities and different programming styles), so that further development and maintenance become better manageable. (To be honest, although a lot of effort has already been put in that area, a lot still remains to be done...) OL-Commerce v2/AJAX offers some very advanced features, which, to the authors knowledge, can not be found in their entirety "off-the-shelf" (or at all!) in any existing "Open Source" shop-system! OL-Commerce v2/AJAX can, nevertheless, be run transparently(!) in conventional mode, too, if it is used from a browser with no Javascript enabled! There is only one code-base for both modes: AJAX and conventional!These features have been implemented transparently, so that no special considerations have to be taken into account, when developing new features/enhancements for OL-Commerce v2/AJAX. But if (and only if!), however, one stringently adheres to the (very easy!) guidelines described here. Advanced features requiring coding-standards Features making these guidelines mandatory are:
Mandatory coding standards All these functionalities will be automatically available to any module (both for user- and admin-mode modules), if (and only if!)
By the way, this is good programming practice anyway! (But, unfortunately, this was not respected consistently throughout the xxCommerce-software, so it was a major effort, to implement and reinforce this structure in the existing code.) Finally, the existing codebase of OL-Commerce v1/xtCommerce v2/osCommerce v2 has been completely(!) restructured in some areas:
The new "admin"-program framework is used as follows: Build your application's net(!) HTML-code in the variable "$main_content". At the end of your application module include the following code: $page_header_title='Your modules title'; "$main-content" only needs to contain the applications' HTML, not the complete page HTML!!! That is all there is! You can even use "Smarty" to render your applications HTML-code into "$main-content"! An instance of "Smarty" is available as "$smarty" also in the admin area. All "admin" Smarty-templates have to be stored in "templates/xxxxx/admin". All "admin"-programs (existing or new) refer to the "stylesheet.css" in "templates/xxxxx/admin". The buttons used in the admin area have also been transferred to "templates/xxxxx/admin/buttons/(language)", so that also the admin-area now can take on different "looks". Compare this to the (it must be said: "brain-dead")
way of doing admin-programs so far! If you are interested to help create the world's best and most complete "off-the-shelf" "Open-Source" shop-software, please join the project as a developer! Send an eMail (via sourceforge) to the adminstrator, indicating your sourceforge-USERNAME(!). Also, please indicate your level of experience with PHP, JavaScript, AJAX, MySQL, ADODB and xxCommerce-Software, your fluency in English and German, and what development tools you will be going to use. Your
request will be thoroughly reviewed, and you will be notified, once
it has been accepted. Using the "Sourceforge"-CVS-System Once you have joined the project as a developer, and have been granted access to the CVS-repository, you can start using it. For WINDOWS, a good CVS-manager is WINCVS (http://www.wincvs.org/). You can also use other programs, to manage the CVS (e.g. Zend Studio, Eclipse). A good tutorial an how to use Zend Studio
with the sourceforge CVS can be found here:
http://www.weberdev.com/ViewArticle/415. A quick WINCVS reference can be found here: http://www.thathost.com/wincvs-howto/. The concepts described here are sure valid for other CVS management Systems, too. When checking out the sourcecode from the sourceforge CVS, please make sure to use the path "olcommerce" branch tagged "olcommerce_2_0_0", which is the starting-point for all further OL-Commerce v2/AJAX development. It is of utmost importance, that the integrity of the CVS-repository is maintained. So please make sure, that you
really understand,
what you are doing, if you make modifications to the
CVS-repository! A detailed online "Cross-reference" of OL-Commerce v2/AJAX as of 18.12.2006 is available here! With its help, you will better find your way around this
(increasingly complex) system. |