Just another Nodetraveller

Icon

Another blog about someone playing about with web development

LiveInfo - How it works

LiveInfo is directly evolved from Livesearch. If you don’t know what liveSearch is, liveSearch allowed users to search a website while still viewing the current page. The original can be seen here. Wanting to make use of liveSearch for one of my own projects, I proceeded to make some changes from which evolved LiveInfo. LiveInfo is a framework for multiple, real time, skinnable updatable elements within a web page. You can see LiveInfo in action on my blog where there are two LiveInfo elements. One is the blog search and the other is the UK TV listings (SynTV) search on the side.

From the client side, LiveInfo improves upon the original in the following areas

  • Support for more browsers
    • Internet Explorer 5+ (Win)
    • Gecko based browsers
    • Opera 7+
    • Should work with IE Mac, Konqueror etc. Needs testing
  • Multiple LiveInfo elements on one page
  • Pageable results (Keyboard navigation via left, right, up and down keys)
  • Support for multiple element forms

Utilising a small backend framework, LiveInfo also provides the following functionality

  • Cacheable Results
  • Dynamic forms
  • Skinnable Results
  • Plugin support (services)
  • Webservices support (via plugins)

LiveInfo comes with four services. These are as follows:

  • Wordpress search - Searches a wordpress blog
  • Google Search - A simple Google search. Uses Googles SOAP API.
  • SynTV Search - Search UK TV listings using the syntv.com XMLRPC webservice
  • SynTV Listings - Displays UK TV listings using the syntv.com XMLRPC webservice

The latest version of liveInfo can be found on my downloads page.

Installation

Extract the zip and upload the liveInfo directory to your server. I recommend uploading it to the root directory. Wherever you upload it, edit the liveInfoDir node in the liveInfo/liveInfo.xml file to point to it. The value should be a relative path and must not have an ending /. Any new services should be copied into the services directory and any css files into the css directory. Lastly make sure the cache directory is writable. You’ll need to edit the xml file for each service to suit your install but instructions are given

How it works

When a user interacts with a form, using either the XMLHttpRequest object or an iframe depending on browser capability, a request is made to the server.
Whatever the results the server returns some XML from which the relevant elements are extracted and displayed.

The xml document that is returned by the server is actually an XML document with a html namespace. The reason for this is that the normal method of using innerHTML to rewrite elements won' work on some browsers that support true XHTML documents (xml files sent with the correct application/xhtml+xml header). The workaround for this is to use the document.importNode method to import nodes from one document into another. Note this compatibilty with true XHTML documents was one of the last features to be put in and hasn’t yet been tested fully on true XHTML documents. I will update when I test more fully.

Unobstrusive Javascript

An excellent article with examples of the correct way to do javascript.

A change…

I’ve moved my blog from Mambo to Wordpress. Mambo is a great CMS but as a blogging tool, its not quite so mature. I wanted something simple and web standards friendly and wordpress seems to be it. The casualties in this move are the comments and the uk tv guide. I’m no longer publishing the component as its a Mambo component. but head on over to SynTV for the listings. Fortunately I haven’t blogged too much over and I was able to transfer over by good old cut n paste.

Well, there you go… expect some weird stuff as I play around and hopefully I’ll post new content soon…

SynTV - Public Beta

My latest project www.syntv.com is just about finished and is now out on a public beta.

SynTV provides UK TV listings in syndication formats (RSS 2.0 and ATOM) for use with desktop feed aggregators. Users can generate their own specific categories and searches and site developers are also provided for with support for HTML and Javascript. In a couple of weeks, I’ll also publish the XMLRPC web service.

If you’re interested, please check it out and give me some feedback…

UK TV Listings via XMLRPC

The UK TV Guide for Mambo component is basically a XML RPC client thats talks to the XML RPC server here at nodetraveller.com and renders the data it gets back in a nice way. The component has been released for a few weeks now and I’ve actually been using the service for a long time before that too so its probably a good time to let people know how to access it….

Because the UK TV Listings webservice is implemented using XML RPC it means anyone can access it via a XML RPC client. Read the rest of this entry »

RSS options in Mambo

I was a bit disappointed with the standard rss feature in Mambo as it only supports rss 0.91. Suprisingly, there wasn’t a component available that outputs the content in any of the other formats so I thought I’d give it a go. No point in reinventing the wheel so I made use of an excellent class called FeedCreator. It can output in RSS 0.91, 1.0 and 2.0 as well as OPML and ATOM 0.3.

Also supplied is a module that will display the links. The actual links are configurable, in that you can specify what formats your feeds are in (Take a look on the right). Also you can add custom links and images with the module eg the mamboserver.com link is a custom one.

You can download it at mamboforge or from the my downloads section

[Update]I’ve released a beta version of RSSXT 2. New features include remote blogging and pinging of aggregator sites. You can download it at the mamboforge site

UK TV Guide Component

I’ve just completed a component for Mambo. As you can probably guess by the name, it retreives and displays the TV and Radio listings for the UK. At the moment, there is a choice of over 60 channels and two ways of displaying the listings; columns and timeline.

I spent a bit more time on the UI than normal but finally I’m pleased with it. It works using XML RPC, connecting to my service and then displaying the listings. I hope to post more about the XML RPC service soon but I need to finish off a project before I do…

Anyway, click the link in the menu and take a look. You can also download the component here from this site or from mamboforge.

I’m back!

I knew I hadn’t posted in a while but I didn’t realise it’s been almost 3 months! What have I been up to?!

I’ve been doing a lot of work with Mambo recently and I like the thing so much I think I’m going to be moving the backend of this blog form Movable Type to Mambo. The main reason for this is that I’ll need to put up a version of Mambo up anyway to demo the things I’ve been working on, so I might as well use it to blog as well. Also any features that Mambo doesn’t have or I don’t like, I can add it myself, someting I couldn’t do quickly with MT as I don’t know much perl.

So quite soon, hopefully within two weeks, this site will change quite a bit. After that I should have more time to blog about what I’m up to….

Get your dancing shoes on..

I’ve been using an opensource CMS application recently called Mambo.

We needed some kind of CMS for our own site and after looking around, weren’t really happy with what was out there..

The sites based on *nuke seem so chaotic. But not Mambo. The sites created with Mambo are nicely designed and user friendly. But the admin interface is absolutely brilliant! Its a well designed system with a great community. Theres quite a few templates around which quite nice to look at. Also there are some components and modules around which are actually useful for non-community sites.

If you need a nice CMS and more, take a look…and prepare to dance…

It’s been a while…

..since I’ve posted. I’ve been busy with a couple of projects and haven’t had much time. These projects were Java and PHP based with pure HTML frontends but could probably be enhanced quite nicely if using Flash. I’ll probably add this to my list of things to do with Flash. Lately this list of mine is getting longer; either my creative think tank juices are overflowing or there’s never enough time.

Having said, things have eased up somewhat though and I’m hoping to squeeze some time in to look at Central. It’s been near the top of my list for a while and it looks like fun….If I get the time to really get into it, I’ll let you know how I get on…