Introducing Digizex: Open Source CMS for Flash and Flex [AS3] · Apr 26, 12:14 PM

For a while now, I’ve felt that the Flash/Flex community needed a good, open source, CMS. Having spent some time developing and working with my Textpattern-based solution, I came to the realization that Flash websites need a Flash-centric solution, (as opposed to an HTML-centric, like Textpattern). Well, actually, Flash websites need both: a Flash-based solution for flash-enabled browsers, and an HTML-based solution for mobile and other non-flash-enabled browsers. I know, it sounds like a pretty tall order, but with all the open source goodies out there I was actually able to whip this up in about two weeks.

What is Digizex?

It’s what happens when the best open-source frameworks get together over a couple of drinks.

Digizex = Digitalus + Zend + Flex

In reverse order:

  • Flex: Why Flex? Because Flex is so good at rapidly creating forms and such. The CMS is organized into modules, where each module can be Flex-based, AS3-based, or a combination of both. Regardless of how the modules are designed, the system is compatible with Pure AS3 project, Flash CS3 projects, and Flex Framework projects.

  • Zend: This is a wonderful little PHP MVC (model, view controller) framework which is extremely easy to use. Lets be clear about one thing, my PHP skills suck right now. The fact that I was able to use Zend to make something useful in such a short amount of time should speak volumes of it. Also, a major deciding factor to use Zend was Adobe’s outspoken support for Zend_Amf. Also, Zend has built-in authentication and session management.

  • Digitalus: An open-source CMS built on top of the Zend MVC Framework. Digitalus provides the HTML-based CMS as well as a very elegant program and database structure. I’ve looked at the database structure for Textpattern and Wordpress, and translating those systems to a Flash environment feels kind of hacky. In comparison, I was amazed at how well-suited Digitalus’ database structure is.

What else is Digizex?

The Flex side of Digizex is built on PureMVC. No, this does not mean that you have to use PureMVC in your SWF, it’s entirely up to you. However, this does mean that any custom CMS modules you make should be built with PureMVC.

Digizex integrates Zend_Amf directly into a Zend Controller. Compare this to most Zend_Amf examples on the internet, which do not take advantage of the full framework. With the full framework at your fingertips, you can create some extremely powerful AMF services with very little code.

Where is Digizex?

On Google Code: http://code.google.com/p/digizex/

This system is still in the early development stages. That said, it is actually ready to be put to good use in a production environment as long as you are ready to deal with the hiccups that are bound to come up along the way.

Demo

To see the system in action, go to the following URL:

http://digi.allflashwebsite.com/DigizexFlexExample.swf

Username: guest@allflashwebsite.com
Password: password

Note: Your changes will not be saved. This demo does not illustrate all of the features of the CMS right now.

Are you interested?

If you are interested in testing, helping, etc, download the source from Google code. Eventually, I will come up with some real installation instructions, in the meantime, if you need help please post a comment with your issue on the bottom of this page and I will email you.

Installation

  • Download and install a personal web server (like XAMPP or WAMP) on your computer. I recommend XAMPP. Also you should install MySql which most personal web servers will include automatically.
  • Create a subdomain called digi, which you can access like so: http://digi.localhost/. (to create the subdomain you have to edit your system’s hosts file, and one other in your webserver directory, search google for additional info)
  • The archive digi-beta.zip Get the latest version via SVN on Google code… contains two top-level folders: www, as3, copy all of the files from www to the folder you created for subdomain digi.
  • Create a database
  • Open your browser to http://digi.localhost and if you’re lucky you will see the Digitalus CMS installation screen. Follow the installation instructions using the database info from the previous step.
  • Login to the CMS and goto the Site section. Click on the main user, goto permissions, and check all of the boxes.
  • Goto the Pages section and create a couple of pages of content. When editing a page, you can see the id (a number) in the browser’s address bar. Create as many pages as you need to get to id 5. The example SWF looks for id’s 4 and 5.
  • Navigate to http://digi.localhost/DigizexFlexExample.swf, and if you did everything right you should see the same thing as my demo linked above.

— Pickle

---

Comment

  1. Pickle,

    It’s a nice start for anyone who is interested in the flash cms web application.

    I have some issues to make the example work on my local pc.

    My questions first. Where did you map your ‘digi.localhost/remoting’ to the directory on your www root? Also could you post Flex project files for the DigizexFlexExample?

    Here is my issues. The package installed fine (localhost) and I am getting the admin login screen. I put my login/password in and got the following error:

    [User Login] – Error Connecting![FaultEvent fault=[RPC Fault faultString=“Send failed” faultCode=“Client.Error.MessageSend” faultDetail=“Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: ‘http://digi.localhost/remoting’”] messageId=“100A21F7-3A93-6E36-F902-F3239D8CD2BC” type=“fault” bubbles=false cancelable=true eventPhase=2]

    I am prety sure it is not my loginid/password.

    Also when I tried the demo on your site. I was able to login but I did not see the site menu at all after I logged in.

    Thanks for your time.

    PL · Apr 29, 07:44 AM · #

  2. PL, installation is going to be confusing until this project matures. Also, the demo pretty much just consists of two labels to showcase the point-and-click aspect of the project. I’ve emailed you and we’ll work on it from there..

    Pickle · Apr 29, 05:26 PM · #

  3. Demo didn’t work for me. It downloaded to my desktop, and when I launch it and click Admin my Flash Player says “Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.”

    Allan · Jun 18, 06:53 AM · #

  4. Allan,
    I can’t help you if you don’t provide detailed information. Did you follow the video tutorial exactly?

    Pickle · Jun 18, 07:31 AM · #

  5. Is this a config error as a result something I did ?
    I am pretty sure I followed your video to the second…

    From what I have seen it seems that somewhere the default module is not set
    Am i wrong is there a configuration error that I did ?

    ——Long Gibberish to Follow————————

    Fatal error: Uncaught exception ‘Zend_Controller_Exception’ with message ‘No default module defined for this application’ in /Applications/xampp/xamppfiles/htdocs/digi/library/Zend/Controller/Dispatcher/Standard.php:392 Stack trace: #0 /Applications/xampp/xamppfiles/htdocs/digi/library/Zend/Controller/Dispatcher/Standard.php(211): Zend_Controller_Dispatcher_Standard->getControllerClass(Object(Zend_Controller_Request_Http)) #1 /Applications/xampp/xamppfiles/htdocs/digi/library/Zend/Controller/Dispatcher/Standard.php(245): Zend_Controller_Dispatcher_Standard->isDispatchable(Object(Zend_Controller_Request_Http)) #2 /Applications/xampp/xamppfiles/htdocs/digi/library/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #3 /Applications/xampp/xamppfiles/htdocs/digi/application/bootstrap.php(29): Zend_Controller_Front->dispatch() #4 /Applications/XAMPP/xamppfiles/htdocs/digi/index.php(5): require(’/Applications/x…’) #5 {main} in /Applications/xampp/xamppfiles/htdocs/digi/library/Zend/Controller/Dispatcher/Standard.php on line 392

    Philippe Harewoood · Aug 15, 01:55 PM · #

  6. Philippe Fixed the above mentioned error. His comments via twitter:

    “ Yes it works !!! please make a note that for the error in which Zend throws a default module not found exception that the cache ..needs 777 permissions … this was not made clear in your video tutorial and the errors Zend were giving were not any help at all … awesome CMS though !!! You rock !”

    Pickle · Aug 16, 05:38 PM · #

  7. The problem was that your demo swf was not embedded in a webpage and my browser downloaded it before I ran it. I tried a different browser (Safari) which executed the swf without saving a local copy and then it worked.

    Allan · Aug 28, 09:14 AM · #

Textile Help