“I hope that you keep on going with the development of XE, since there is no bright future ahead with X2.”
We have a lot processes in X3 development since Alpha 2 release.
I would suggest following schedule for the coming month:
- Xoops Engine Alpha 3 release: on August 13th
- github repo structure change, github usage guide: D.J., julionc, by July 24th
- ZF upgrade to 1.11.9, change naming conventions to respect ZF strictly: D.J., by July 24th
- Backend product and UE design: ezsky, by July 31st
- Backend design implementation: D.J., by August 7th
- Debug and complete “user” module and ACL: D.J., dongbeta, by July 31st
- Content management app: dongbeta, by August 7th
- Theme and HTML5: voltan, kris_fr, mariane, by August 7th
- Documentation: julionc, dongbeta, by August 13th
- Test: marco, by August 13th
Yes, as you see, we have some people back onboard, like marco!
Anyone else have time on this Alpha 3 release loop?
We need more people on documentation, apps, themes and test.
On twitter: @XoopsProject
Xoops Engine has a specific built-in persistent layer for system data by utilizing various cache engines at low level, including APC, memcached/memcache, etc. Now Redis becomes a very promising choice for key-value style storage.
APC has been a very favorite recommendation due to its high performance while memcached is also widely adopted for its stable and performance. However when Redis comes up with its simple but very demanded features, it is on top of our list due to its excellent performance which is comparable with memcached (antirez, sys/toilet, Tim), and the most desires feature of supporting advanced data structure in addition to strings:
- Lists of strings
- Sets of strings
- Sorted sets of strings
There have been some clients available for PHP, like Predis in PHP by nrk and PhpRedis in C by nicolasff. The PhpRedis extension has been installed and implemented in Xoops Engine on a ubuntu/nginx/php-fpm stack at Xoops Engine Demo. Thank Nicolas (@yowgi) for his help on serialize option via tweets.
What’s next? We might do a thorough benchmark with Redis and Xoops Engine, probably considering igbinary extension, then adopt PhpRedis into extended ZF2 libary .
Along with the XE Alpha 2 release, I am going to step back from XE new development and concentrate on maintenance and the theme is:
Build development environment for developers and designers.
Some of my personal plans related to XE:
- Tutorials for development tools
- Introduction to Zend Framework development
- Unit test investigation considering ZF2
- App/module builder
It is very exciting to see two videos for Xoops Engine presented by @txmodxoops right after Xoops Engine Alpha 2 release:
Although txmodxoops had not so successful experiences, participating and sharing is the first step to improve our new system.
For deployment and installation on nix systems please check :
* Xoops Engine Alpha 2 deployment and permission settings
* Xoops Engine Alpha 2 installation on ubuntu/nginx stack
Today we are proudly to present XOOPS community with Xoops Engine Alpha 2 release.
Since the Alpha 1 Release in January 2011, there have been many progresses in Xoops Engine development. XOOPS, or eXtensible Object Oriented Portal System, well known as a leading open source CMS and portal system, now becomes a development engine for web and mobile applications.
XoopsEngine, as the new brand of the XOOPS Project, supports open and extensible engines backboned with its multi-engine architecture. By taking advantages of PHP frameworks like Zend Framework, template engine Smarty and AJAX libraries like jQuery, the Xoops Engine brings the Project to a new generation.
Some selected features that are most wanted by community available in Xoops Engine:
* Built-in cache mechanism for high performance
* Clear M-V-C with AOP and event hook
* Extensible URL rewrite for better SEO
* App/module clone and theme inheritance for application extension
* New model mechanism for easy development with less code
* New layout/block/widget for flexible and better user experience
After Alpha1 release many developers have started to contribute to Xoops Engine development, including well know developers from other open source projects.
Some of the new progresses in Alpha 2:
* Namespace for apps and modules
* WYSIWYG editor factory with CKEditor and jQuery based ClEditor
* Security handler and resource, added XSS filter, IP protection, super global contamination, etc.
* Block and theme mechanism improvement
* Protection for config files
* First Xoops Engine themes by insraq and voltan
Special thank goes to Xoops China Team.
For more details please check:
* Xoops Engine Development: http://www.xoopsengine.org
* Follow us on twitter: http://twitter.com/XoopsProject
* Discussion: http://xoops.org/modules/newbb/index.php?cat=11
Taiwen Jiang (aka phppp)
Xoops Engine Development Team
April 30th, 2011
XOOPS development is getting more active recently.
Following the first public press in Nov 2010 in Beijing and Alpha 1 release on January 27th, the Xoops Engine Alpha 2 is coming to us. We are very happy to see more and more contributors joining us. Some of the names might be known or not known to you: designers like insraq and voltan have made new themes for Xoops Engine, Dong Lijun leads a dev team with ezsky on kernel test and app development as well as tech docs, kilica starts working on Xoops Engine and will provide us a most-wanted app, Marcus starts on kernel review and relevant docs … The list is too long to mention here, you will see them very soon. There are some very talented developers from other well-known open source projects starting to work on Xoops Engine kernel and apps, they desire to not disclose their names at this moment but time won’t be long before they introduce themselves with their exciting apps.
The XOOPS 2.* series is being improved continuously. On April 8th 2011, XOOPS 2.5.1 Final was released following its RC on March 17. The 2.5 series has been an community based improvement over 2.3/2.4, some proof-of-concept features are also introduced for a smoothy migration to Xoops Engine.
In the coming months, we will continue the exciting activities to get Xoops Engine ready as early as possible. Meanwhile XOOPS 2.5* series is maintained for bugfixes and security improvements.
As Zend Framework is the primary library for us, Xoops Engine Coding Standards are built primarily based on ZF standards.
Recently Matthew Weier O’Phinney, lead developer for ZF, is working on “Zend Framework 2 Coding Standards” drafts.
At this moment, what I propose for Xoops Engine, in terms of naming conventions:
- for user extensions and third-party contributions, including apps, modules, plugins, themes, etc., use lower case for file names and case-insensitive for class names (related to autoloader, this might be changed in the future);
- otherwise, following ZF2 coding standards as proposed by Matthew below.
In Immediate TODO as Feb 15th, some TODOs were listed:
- Navigation for legacy modules [Done]
- Admin for legacy modules [Done]
- App admin as parent + module admin in ifrme with auto resize
- App admin in frame + module admin in frame
- Legacy admin navigation + module admin [In this "native" way]
- Installer fix: open_basedir issue reported by fdeconiac [Done]
- Clean and refactor of “block” engine [Partially]
- insraq created a brand new design and theme for installer
- insraq, again, created the first community generated theme, will be announced with Xoops Engine Alpha 2
- voltan, is about to work on XE templates
- Content (About us)
- Links (Partners)
- User/Profile module
- SSO/OAuth (or OpenID?)
- WYSIWYG editor gateway
- Integration of editors: jQuery ClEditor; CKeditor with CKFinder
- Investigation and learning HTML5 for mobile applications powered by Xoops Engine
- Media resource manager
- Xoops Cloud: download, online service
We are looking forward to more people joining Xoops Engine development …
In Zend Framework 1.*, naming conventions for abstracts and interfaces were not defined quite clearly. Suffix was generally used for abstracts like Zend_[Component]_Abstract, while both suffix and prefix were ever used for interfaces like Zend_[Component]_Interface, Zend_[Component]_[Component]Interface, Zend_[Component]_I[Component]. In ZF2, prefix is used for Abstract as Zend\[Component]\Abstract[Component].
Since Xoops Engine has been developed upon Zend Framework 1.* libraries but ZF2 style including namespaces and autoloaders have been implemented in Xoops Engine, it is time to for us to formulate Abstract/Interface conventions.
After some brief research and talking with @weierophinney on twitter, Abstract naming convention will follow ZF2 style, i.e. Xoops\Zend\[Component]\Abstract[Component]. As for interfaces, @weierophinney suggests nouns w/o suffix/prefix; I just feel it not consistent with Abstract, but we will follow the rule any way.