Lately, we have been looking at different types of CMS available and trying to evaluate the strengths and weaknesses of each. It’s a tough task as you can imagine. However, for one reason or another Jaws has risen to the surface as a strong leader. It is still relatively new, of course and as such may not yet have the refinements of systems like Drupal, but it does have a relatively simple user interface which counts for a lot in my book. Sadly, the immaturity of the platform and the relative recency of its appearance means that there isn’t a great deal of useful information for those wishing to develop for it. As an example, try finding any information of any great depth about building a ‘gadget’. Sure, there is the meagre documentation and yes, there are plenty of gadgets which you could deconstruct, but what is needed is a reasonably detailed description of how these puppies hang together in the first place! Damian (Cleveratom employee no.4) has been looking into all this but it is tough one to crack. Using IRC he managed to chat to one of the core developers for a little bit of info, but not enough to get him really underway. So – does anyone have a good understanding of how gadgets are made for Jaws, and would you be willing to share it?
Web Authoring
Cleveratom website gets a make-over
As a company, Cleveratom has been trading for six weeks getting to grips with small business accounting, VAT returns, business insurances and indemnities, employer’s responsibilities and lots more… in between actually managing projects with a number of clients. Today, however, we’re finally able to get some more information on to our web page. It still isn’t complete, and there are lots of sections to add on different pages, but for now it shows the main information to anyone who wishes to read it.
The web design has been done ‘in house’ by Alex Blanc using CSS templates. The front page will eventually be more dynamic as RSS feeds from various web sites (including this blog) are added to it. As you will see, the code for the page is very straight forward, it’s the CSS which does all the work.
The site is optimised for slightly larger screen sizes (1024×768) as we believe that it is time to move on from being locked to 800×600 resolutions! We ran a survey of screen resolutions on a number of different web sites of ours, and found that an increasingly small percentage of viewers are using low resolution – most are at least at 1024×768 now, and many are far higher. Google analytics is extremely useful in finding this information, as is Sitemeter, which gives a number of excellent web site tracking tools.
Head over to the Cleveratom site now and see what you think!
WordPress Themes, Open Mist, Freshy
So, here I am using WordPress instead of Drupal – and I’ve been busy making sure the old Drupal blog moved successfully to this and on a new server as well. There were all sorts of considerations, including how to keep the ‘googlejuice’ so that I didn’t disappear completely off the search engines.
However, the most important thing after the technical work is to get it looking right, right?
So I began trawling through the various themes available for WordPress. After several goes I settled on ‘Ocean Mist’ by Ed Merritt – a lovely theme and some nice touches to it. I particularly like the clean lines and the page listing in the sidebar. The use of a drop down menu for the archives is genius, too. However, it still wasn’t quite what I wanted – the ‘edit’ and ‘reply’ blocks seemed too, well… blocky. I also felt that there were some cleaner themes out there that weren’t quite so busy to look at. There were also a couple of bugs in the code that meant if you were not logged in and tried to leave a comment the sidebar would shift down below the main body content area – easily fixed once you have tracked down the offending <div> container in the comments.php file (It’s the last closing tag that needs to go down one line…)
I settled on another called ‘Freshy’. This one has some seriously cool features, including a dashboard configuration tab allowing you to set the look and feel to a number of different parameters – change the header image, change the nav bar colour scheme and so on. I also prefer the additional white space and the way tags like <pre> are dealt with… nice table listings which is important if you are copying out lines of code, for example.
Ocean Mist has been updated to version 1.1 and I ought to give that a go as well – I did try, but there were some problems getting it to run. I couldn’t face working my way through the code again, but I may look at doing so in the near future.
Ocean Mist certainly has some very good qualities, but needs a few finishing touches. Ed Merritt seems to have a winning theme there, and I’d love to see it further developed.
Single Category RSS feed in WordPress
So now having installed WordPress, it turns out that it is infinitely customisable! Oh joy… more to learn about!
The task was to be able to build a single category RSS feed that people can subscribe to if they so chose, rather than have to subscribe to all categories, or all comments. In the theme I am using the sidebar holds the category list and it was here that the code had to go.
The issue was to find the category ID and the category name and only show the link to the RSS *if* the user had opted to view all posts in a single category.
It turns out that WordPress has done most of the hard work for us, in that the functions to get the ID and name are already created. All that had to happen was to find those arguments, wrap them in an ‘If’ tag and post them to the sidebar. Once again, some gentle reading of the Woprdpress documentation got me half way there and able to manually write the code for each category… but it needed automating. And once more, Alex Blanc stepped up to the plate…
To cut a very long story short, here’s the code, entered as a list item in the sidebar.php file for the theme:
<?php if (get_query_var('cat')) { ?> <li> <a xhref="/wp-rss2.php?cat=<?php echo get_query_var('cat'); ?>"><?php echo single_cat_title(); ?> (RSS)</a> </li> <?php } ?>
This then writes the title of the category in the sidebar as an RSS link, and ensures that only that category’s posts are included in that particular feed. You can see from the code that the link is using RSS2, so you can probably amend this to be any other flavour of feed that you wish.
PHP import or export to CSV
This post seems to have been lost in the move from Drupal to WordPress, so here it is again:
A while ago now I was working on the designmyschool.net website and one of the functions we had to build was the ability for a user to upload accounts in bulk – typically the data would come form a school management system, which meant it would be best to use CSV file formats.
At the time I researched into what tools were available to help with this task, and found only one suitable for a novice PHP coder such as myself – Interakt’s ‘CSV Import/Export extension for Dreamweaver.
The trouble was that I didn’t fully understand it all back then and in truth probably still don’t. However, I have now had a chance to use the other Interakt extensions and really like the way they make complex tasks much, much easier.
Just my luck then… the CSV extension has been pulled! Adobe’s acquisition of Interakt bodes well in so many ways, but sadly it means I couldn’t purchase the extension to test it out. Instead of the wide range of extensions, Interakt are now bundling just one set into a single product – MXKollection. The other extensions may well appear in a future version of Dreamweaver, but there are no guarantees.
So I happened upon an Italian website called Felixone. A quick read through and a short email later I had requested a new extension gets built!
And here it is:
http://www.felixone.it/extensions/prod/mxiecsven.asp
I don’t yet know how this works, but it looks very, very good to me. For €28 it has to be worth a chance! I think I can now confidently complete that part of the admin tools for designmyschool… we do have the csv uploading working well, but we could use a csv download of the results. Sigh… it never ends…