XOOPS: New Xoops Engine (X3) Goes Public

Posted by: phpppOn 2010/11/1 3:50:00 39774 reads
I am very pleased to present you X3, the new Xoops Engine for the next generation of XOOPS powered web application development.

This new Xoops Engine was long time in coming. During that time, we went through different phases of trials and errors, but I believe that finally we have the best combination of features and technologies to strategically position XOOPS as one of the top Web Application Platform solutions.

The new Xoops Engine has been re-designed from the ground up to take advantages of third-party frameworks like Zend Framework and Smarty 3.

Why did we rewrite XOOPS?
XOOPS is one of the most successful Open Source CMS and portal solutions, constantly placing in top places in various competitions, and receiving various awards. But it is showing signs of aging, that would require major rewrites of the Core.
In order to keep us focused on creating a flexible and extensible development engine for developers and a high performance application platform for end users, the development team has decided to use industry-standard frameworks. By doing so, we can focus our limited resources on aspects that make XOOPS unique and special, while leaving standard functionality to be addressed by off-the-shelf frameworks. This way we can take advantage of latest internet developments already included in those frameworks - it's like getting suddenly a whole new team of some of the best and brightest PHP and RIA programmers joining XOOPS!

After much research, we've selected a couple of frameworks at this stage:
PHP: Zend Framework
Template: Smarty 3,
JavaScript: jQuery

Meanwhile the multi-engine mechanism of the Xoops Engine will ensure the possibility of adopting other excellent frameworks in the future, like Yii Framework, Dojo Toolkit, etc.

Why did we choose Zend Framework for PHP
* The design and coding is professional and state-of-the-art
* Fully Object-oriented and strictly PHP 5
* The documentation is exhaustive, with countless third-party resources available on internet
* The development is very active and sustainable, and its team is backed by PHP development team (Zend)
* Strong support from major corporations (Technology partners include IBM, Google, Microsoft, Adobe Systems, and StrikeIron).
* Use-at-will architecture with loosely coupled components and minimal interdependencies
* Extensible MVC implementation supporting layouts and PHP-based templates by default
* The components are vast and loosely coupled and potentially compatible with other libraries: on-demand pickup
* Proven PHPunit integration for unit tests

What goes forward:
The Xoops Engine architecture is designed to build on features that made XOOPS so popular:
* Modularization
* Themes
* Template

What do we expect to improve in new Xoops Engine:
* Flexible architecture and elegant code and implementation
* Modern MVC architecture: faster development, state-of-the-art technology
* Distributed deployment respecting virtual hosts
* Contributor friendly skeleton: easy to manage third-party modules and plugins
* SEO capable URL routing
* Solid and rich libraries and frameworks
* Ready to implement unit test

Since the new Xoops Engine aims to bring the XOOPS Project into the next generation of web application development with solid and flexible architecture and state-of-the-art frameworks, its mechanism and APIs might be sometimes different from what is utilized in legacy XOOPS. However, we will keep doing our best to guarantee compatibility for legacy modules and themes at development level and deployment.

I will be introducing to you the new features in detail in the upcoming documentation.
At this moment, please refer to Technical.txt for temporary description. You might also want to check Todo.txt to see what is scheduled to come.

I understand that every XOOPSer is keen to learn about how the new Xoops Engine looks like and how it works. And some developers can't wait to develop modules for the new Engine.

However since this is the first public release of the new Engine, I would like to stress that this Alpha release is mainly for EXPERIENCED developers and designers only, as there will be bugs, missing features, and frequent updates. Please remember: this is ALHPA release.
For end users - please be a little more patient before the new system is made more end-user friendly by the experienced developers and designers.

Testing Platforms:
The code has been tested only on a couple of limited environments:
- WAMPserver
- CentOS/apache/php/mysql
- Uniform Server

We are aware X3 does not run at the moment on some environments (e.g. EasyPHP). However, the goal of the Alpha release is NOT testing if X3 runs on all possible platforms with all possible browsers, but to test functionality and features. Therefore, please try to test on the above platforms, if yours is not working. Once we freeze features, then we'll move into testing on various platforms and making sure that it works there.

System requirements:
Apache mod_rewrite
PHP 5.3+

Bug Reporting
For Xoops Engine development, we'll use a separate Bug Tracker: SourceForce Trac. Please report any bugs only there.
For relevant discussions, please use Sourceforge Forum before the demo site is set up.

Here is the plan for upcoming months:
1) In November, I will work with a few experienced developers like Trabis and MusS to prepare a couple of basic modules
2) In December, a selected small group of people will work on a basic functioning system, including developers, designers, testers and technical writers.
3) Our goal is to present by end of this year a reasonably stable platform for developers and end users to play around.

The code is hosted on SourceForge SVN and experienced developers might want to download tarball from there.
Downloadable packages will be available once the code is ready for end-users to play with.

On behalf of XOOPS developers I would like to thank our great XOOPS community worldwide for the fantastic support and dedication in the last decade.
Special thanks goes to
- Mamba, for helping create this new Xoops Engine
- and the Xoops Engine preview members, including but not limited to: trabis, nicolas, kris_fr, marco, insraq, ezsky, for preview comments and early stage of module/application development

Taiwen Jiang
Xoops Engine Developer
October 30, 2010