The big noob is a website that I really like. It’s the blog for the guys that created virb and purevolume. The content on their site is managed by symphony, a customisable well designed web publishing system which I decided to have a look at.
Symphony was created by a small web development team operating out of the Gold Coast in Queensland, Australia. It’s free to use and having a template engine of pure XSLT appealed to me. From their website – “Symphony lets you create small blocks of XSLT code called utilities, which you can use as building blocks to construct your site’s pages. Due to the nature of XSLT, these utilities are highly reusable, so the next time you’re developing a website you’ll probably find you’ve already done half the work.”
I had a lot of issues installing the system, it took about 2 days in total. I run vista on my laptop and have apache and php installed and configured prior to this. When I ran the symphony install file, it said i was missing some components like libXSLT. Which is fair enough, as this is is listed in the requirements. I altered my php.ini file to load the libxslt library, restarted apache and the page loaded correctly. I was presented with a set of options for configuring the database, put in my default mysql settings, created a new db in mySQL and created an admin user. This is where I had a lot of issues. It seemed to install correctly and presented me with a login screen. I put in the username/password that I had selected and I got an error – invalid username. I was confused!! I ran a query on the symphony db to check the users in the db but it returned nothing. Empty table!!
After spending a few hours going through the php code I found that the sql queries were looking in tables prefixed with tbl_ but the tables in my db were prefixed with sym_. I changed the prefix, added my admin user directly into the mysql table and it worked, i could log in.
Next i found that my admin user didn’t have admin privileges, so i couldn’t create any pages. Back to the db, gave my user super privileges. Fixed. All options were available. But no pages were being displayed. I ran the default website but I was getting xslt errors. Strange, surely there should be some default home page or something that works out of the box.
And there is, but the install had tried to put them into tbl_pages instead of sym_pages. I found a whole bunch of sql statements in a workspace text file which showed that there should be 6 or 7 pages created by default. I grabbed the sql, replaced tbl_ with sym_ and executed the script. Fixed.
Next I created a new page, browsed to it and got a 404 error. God damn. Back to the product forum again (which is really good by the way). I had to make an alteration to the directory settings in my apache httpd.conf file and enabled mod_rewrite in php.ini – Fixed. Completely. It works 100%.
The sql table names was really the root of my issues. If they had installed correctly the majority of the issues listed above would not have happened. I’m not sure why that happened, maybe it was my fault but i just selected the default settings in the install file. The flip side though is that I became very familiar with the php code in symphony, and it’s good. The admin publishing system is really nice. it looks great, it’s easy to use and despite the installation issues I am impressed with the product and the xml,xslt idea is great. What’s really impressive is the debugging feature when you’re running a website. Append ?debug to a page name and you get to see the xml and xslt that’s formatting the page. VERY NICE!!