ClearOS Professional 6.0.0 Developer Release Information
As most of you already know, ClearOS 6.0 will build off of a lot of the source code from the Red Hat Enterprise Linux 6 and CentOS 6 releases. The new Red Hat version was more than 3 years in the making and was just released a few weeks ago (November 2011). There are a lot of new goodies in the new release - especially for the enterprise - and you can read about them here.
The CentOS team went to work the day of the Red Hat release and is busy putting together CentOS 6. You can check the status of this process here. Though the base CentOS 6 is not yet ready, that has not stopped us from providing a sneak preview of the new ClearOS 6.0 web application framework!
This release is designed to help developers and curious hackers understand the new web application framework. This is really a pre-alpha build that was tuned to run on a ClearOS 5.2 installation.
You should also know that the ClearOS UI team has not had the chance to do any development work, namely:
- Usability testing
- Look and feel improvements
- Widget set definitions
Though some webconfig widgets work well, others are a bit rough around the edges.
Just to give a feel for some of the improvements in ClearOS 6 usability, the screenshot below shows the Local DNS Server configuration page. The following new features are available in this type of configuration page:
- Support for a few thousand entries
- Progressive enhancement
To make things easy, the developer release installs and runs on top of a ClearOS 5.2 installation. To install the developer release, run:
yum --enablerepo=base-plus install clearos6-preview
You can then point your web browser to port 8181 to view the new web framework. You can delete the developer release with the following command:
rpm -e clearos6-preview
A Note on Mobile Support
During the development process, we wanted to make sure that webconfig in ClearOS would be mobile friendly. We implemented a theme based on jQuery Mobile. Please keep in mind, the jQuery Mobile stack is an alpha! To do the math:
jQuery Mobile Alpha + ClearOS Alpha = A whole bunch of broken
Despite its alpha state, it's still fun to see webconfig in a mobile format. You don't need a mobile to see the theme in action, the mobile view will automatically shrink down to a more mobile size in a full desktop web browser.
If you want to see what is in store for developing apps for ClearOS, read on!
The first thing you should know is that we did not re-invent our own web development framework. Instead, we have tweaked the (very nice) CodeIgniter PHP Web Application Framework. The core ClearOS API (/var/webconfig/api in ClearOS 5.x) has not changed much. In other words, the new framework is mostly about updating the front-end/GUI portion of the webconfig engine.
Installation Files and Directories
The old /var/webconfig directory is a thing of the past. Instead, everything lives in /usr/clearos. Inside this directory, you will find the following sub-directories:
|apps||ClearOS applications, e.g. DHCP server|
|framework||The new web application framework – no need to go in here|
|themes||Themes for ClearOS including a mobile theme|
Inside the apps directory, you will see a sample of the core applications installed. Normally, these apps would be installed in a modular fashion instead of one big clearos6-preview RPM.
Take a look inside the date app directory. A description of the directories is outlined in the following document: File System Layout
Familiarize with CodeIgniter
Before going any further, you should take the time to get familiar with CodeIgniter. If you are new to the world of PHP frameworks (CakePHP, Kohana, etc), we recommend going through the Introduction section in the CodeIgniter User Guide. Next, we recommend sitting back and watching the Hello World video. There are a couple of important things to know before watching the video:
- ClearOS always uses libraries instead of models
- ClearOS Apps are contained in their own directory instead of the application directory.
With a little bit of CodeIgniter knowledge under your belt, you can dig a bit deeper into the ClearOS framework. The documentation is still very much a work in progress, but the Framework Documentation is a good resource. We'll be adding tutorial style documentation in a few weeks. Tutorials will be far less painful than diving into the reference documents that are currently available!
If you are interested in getting started with developing ClearOS Apps, then please let us know in the Developer Forum or by e-mail: email@example.com At this stage, we only recommend tinkering with the new framework and perhaps implementing a simple app. There are still many moving parts and things like function names and parameter lists will likely change. In addition, the workflow with the new translation system and ClearCenter Marketplace will be finalized in January.
We expect to have a more formal developer framework released on February 1, 2011. At that point, more intensive development work can get underway.