PROD’s Progress

Apart from the previous post about the OpenID implementation it has been a while since I’ve written about PROD so here is the “vision” and some details of what’s happening with the project.

Before we go on I’ve written an FAQ on the PROD wiki which you are all advised to have a look at…

The PROD Vision:

PROD is a dynamic directory of JISC projects providing an easy-to-use way to locate projects and get a view of their current status and activity. Through integration with the Standards Catalogue and e-Framework it will also provide an overview of interoperability standards used by projects and their rationale for doing so.

PROD draws information on projects from a number of sources including the JISC website, individual project sites and project RSS feeds. We have also developed import mechanisms for legacy spreadsheets and catalogues.

The data in prod can be exported in standard formats (including RSS, ATOM, DOAP and CSV) to facilitate re-use in other catalogues.

Progress report

People oriented activities:

We are currently looking at how this data can facilitate integration with efforts at OSSwatch and with the JISC PIM system. We had a meeting in London to discuss how we can leverage doap across the different systems to exchange data and avoid duplication of effort. Present included Ross Gardler from OSSwatch with SIMAL, Yvonne Howard and Dave Millard from Southampton with their e-Framework Knowledge Base, Neil Chue Hong from OMII in Edinburgh, and Simone Spencer who is heading up the JISC PIM. It was pretty satisfying to feel we all agreed that with a bit of work on our respective DOAP implementations we would be able share core project data and thus concentrate on the more individual value-adding aspects of our projects.

Here in Bolton we are holding a workshop tomorrow on how we plan to use PROD internally to help us with the process of ”technical audits” of projects and how we can go about integrating PROD with the other JISC CETIS web offerings.

Ongoing development work:

DOAP, RSS & CSV export for collections of projects through the browse/query interface. We’re also thinking about making widgets to embed this in other places (like the main JISC CETIS site – or your own personal iGoogle or Dashboard if you like!)

OpenID associations for existing users – this is part of the general OpenID implementation across JISC CETIS sites. Currently it works to enable commenting.

Selectively elevated privileges for project staff and programme managers. This will happen automatically through existing data where available, we will also put in a “claim” button to users to assert a relationship to a project where a connection is not already held.

General review of data held, sanitisation particularly around people, organisations, themes. This will include a manual trawl for project sites, feeds etc where they haven’t been auto-discovered. Administrative interfaces may also see some improvement.

Integration with Standards Catalogue. Users (CETIS staff, projects, etc) will be able to associate projects with relevant standards and comment on the rationale for their use or implementation. The standards catalogue bit is working fine now.

Integration with main JISC CETIS sites – highlighting relevant projects within domain pages and other CETIS output (blogs, e-learning focus etc). This activity will be of particular relevance to ongoing comms work including the “technology & standards briefings”.

Highlights of completed development work to date:
(Roughly in order of implementation)

  • Core data model
  • Core interface
  • Old directory import
  • JISC spreadsheet import
  • DOAP export
  • Search interface
  • Funding status indicators
  • AJAX editing (administrators only at the moment)
  • JISC web-scraper
  • RSS feed-scraper
  • Data-sanitisation utilities (for admins)
  • Activity indicators
  • Comments
  • Browse & querying interface
  • OpenID authentication (for commenting)

PROD me until I squeak

I’ve spent some time over the past weeks thinking about and writing up a new specification for the Project Directory – now known as PROD. As previously discussed in my post entitled Out of my mind on doap and ohloh (my god that was in March!) it’s all about drawing in project information from a range of sources, twisting it about a bit, analysing it and producing metrics and presenting it in a friendly, socially-enabled way.

The challenge is taking this sea of information (something that is inherently large and complex) and attenuating it until it is easily digestible chimes rather well with much of what we have been discussing in our newly materialised department The Institute for Educational Cybernetics here at Bolton. By taking a modular approach to digesting the information produced by and about a project I’m envisaging “boiling it all down” to a series of activity indicators showing (for example) that a given project has made a high number of commits to it’s SVN repository over the last month, relative of course to how many commits all the other projects have made. Other metrics would include a buzz-o-meter to measure general web activity referring to the project (sourced from places such as Technorati and Delicious).

In terms of the project itself it’s going to be done in a rapid and sensible kind of way with regular monthly milestones for new functionality! There is a bit of a discussion going on about platforms (rails or php? I’m desperate to learn rails and this will be a good opportunity! On the other hand I code php in my sleep…)

PROD itself! (

Trac instance (
Including mockups, milestones, wikiness, tickets and all manner of trac goodness


A year has passed since I started thinking about the redesign of the CETIS website, and inevitably now that the whole thing is creaking into some semblance of what Scott and I had originally intended it has been time to go back to basics and re-examine what we thought we were doing, why we are doing it, whether it is working and what on earth we are going to do next.

There are a few processes going on; Mark, Sharon and Adam have been conducting a review of the community wiki aspects of the web presence and the e-learning focus team are considering where to go next with their magazine-style site with a view to merging it together with the JISC-CETIS page. The Communications team has been discussing the whole show from start to finish and back again.

My thoughts

1) You are in a twisty turny maze

There is a tendancy for people to get lost in the site. Removing some navigational elements (especially in the wiki) and applying some others (breadcrumbs, menus etc) in a coherent way will make a difference I hope – but the main proposal is as follows:

Merge the www.cetis page, the jisc.cetis page and the elearning focus site into one coherent magaziney all-singing portal.

Front page mockup v3

(old versions: v1 v2)

The mockup (v3) shows the main elements we have identified – with a monthly editorial, regularly changing “features”, and constantly changing “news”. It also gives prominence to the SIGs with a prominent bar on the left hand side…

To start off with, the news and features would actually be drawn from the blogs as the current aggregation is – only the editiorial process will be stepped up – with lead-ins and article filtering-selection done by the focus team. As is done with e-learning focus, articles may also be commissioned by external writers.

V2 has a horizontal-slice approach; Banners | Navigation | Editorial | News etc (3 streams) | Other stuff (4 streams)

V1 is an earlier attempt – and is more like the aggregation as it stands at the moment.

2) Re-work the SIG entry points

We made a decision quite early on that the SIGs would simply have a protected wiki page each to serve as their main site – giving them total flexibility to do whatever they wanted. Of course this approach led to inconsistency and an extra learning curve for staff. The result was certainly not easy to follow for the outside observer and generally quite unsatisfactory to my mind.

I have in fact started working on it

So the plan would be coherent entry points combining the main details of the sig, good quality linkage with the events system and drawing in content from the main aggregation and wiki (by tag naturally). Crucially the co-ordinators need customisable space to do with what they wish whether it be posting up some powerpoints or pointing to some interesting resources online somewhere – I need another pass of Mark and Sharon’s work as well as a round of discussion with co-ordinators to figure out exactly what really needs to be done.

3) The project tracker

Already discussed somewhat in my post about doap and ohloh I have a chunk of time set aside for re-working the project tracking system so we can reliably keep tabs on what is going on with JISC projects. Again this needs to be nicely integrated.

Example Project page

One last thing

There is one last thing. I propose removing all traces of rounded corners in favour of the infinitely superior square corners. Trendy design at it’s best don’t you think ;)

Mediawiki LDAP headaches part 6

Mediawiki has a useful LDAP Plugin. We have been using it on the CETIS wikis for some months now and it has been fine. The time came when we needed to promote various staff members to the rank of administrator so they can do things like import content and protect pages. In all honesty it wasn’t a hard thing to achieve: I created a new groupofnames entry called sysop in the LDAP directory and populated it with the names of our staff members. Adding the appropriate lines to the mediawiki configuration scripts after some trial and error resulted in the groups being syncronised and the appropriate people becoming appropriately powerful.

This is fine. BUT I’m not totally satisfied. What I really wanted to do was give all members of the staff ou (organisational unit) the sysop privilage – so I don’t have to start assigning more groups to people than they already have. There isn’t an easy way as far as I can see to make a group containing all children of an ou. Or at least if you can define the ou as a member of the group, no self-respecting implementation is going to realise quite what you’re getting at.

I’m left with the prospect of adding everyone to the group (which I’ll automate I suppose) – or hacking the plugin. Or I could re-structure the whole directory putting everyone in a single ou and using groups as the primary means of differentiating people. I don’t really want to do that.

Other ideas are (of course) welcome.

iCalendar Gotchas

Another development in progress here on the CETIS site is a calendaring and event-registration system. We’ve built a database – and various members of staff have provided some events to put in it… For our next trick we need to get the data out again.

The main player in interchange formats for calendaring is the iCalendar spec (aka rfc2445. The format neatly imports into iCal on the mac or Google Calendar or most other modern calendaring systems…

HOWEVER when cranking the information from the database into iCalendar format I came across several important gotchas which I may otherwise not have noticed.

1) The calendars must be encoded as LATIN 1 with Windows-style CR,LF line breaks. Not doing this causes iCal to barf on the file.
2) You need to watch out for carriage returns generally. For example an event description spread over several lines can cause problems – or missing one out between fields for that matter.

With these issues more-or-less sorted we now have a (hopefully) working cetis-events ical feed.

Another dead server moment

Our Fedora Core 5 server (arwen) got rather stuck today after a hard restart and failing to reboot. It kept getting stuck on Starting System Message Bus. A bit of googling later and it seemed that the problem originated from the server’s authentication settings.

Several days ago I had been fiddling with the server’s authentication settings (via the gui interface) hoping that it might be able to authenticate against its own ldap directory and had just left the settings sitting there when nothing seemed to be happening. Clearly it was a very bad idea and I should have left it alone.

As per the various posts on FedoraForum I used the following procedure.

Persuade the server to boot into runlevel 1:
push e when grub comes up, then e the 2nd line, add a 1 to the end of the line

Edit /etc/nsswitch.conf
Removing the references to ldap so;
passwd: files ldap
passwd: files

Edit /etc/sysconfig/authconfig
Changing USELDAP=yes to USELDAP=no.

With this done the system booted properly – however the story was not over as the instance of OpenLDAP itself complained about the database being corrupted.

This was fixed very swiftly using a recipe from Harold’s technotes:

# /usr/sbin/slapd_db_recover -v -h /var/lib/ldap
# service start ldap

With that done the whole thing was behaving properly again. Phew.

Bolton server switcharound

Yesterdays work on the Bolton firewalls and routers resulted in the “arwen” server (tencompetence and designforlearning) disappearing from the internet for much of the day.

There were several colliding issues:

1) The Bolton VPN system had been taken out by the changes so I couldn’t get in remotely to figure out what was going on (I was at the CAA conference in Loughborough). Once informed, the Bolton networks team made it a priority to get it working again.

2) The subnet configuration of the server needed re-applying – Mark Power performed valiantly and got the necessary settings changed from the office in Bolton. This was fixed around lunch-time. The server was now working but only within the Bolton network.

3) The final issue was that Mark Williamson had overlooked the arwen server when configuring the new firewall rules – the other cetis servers were fine though. Once discovered the firewall rules were corrected and the server became publicly visible again at around 5pm.

It was a shame that the tencompetence site went down for the second time in as many weeks, but all in all I think this was pretty much unavoidable given the complexity of the changes, new infrastructure, and I think that both Marks deserve a big thankyou for tackling the matter swiftly and seriously.

From A to B

Moving house has been a reasonably smooth operation, however the moving of the Tencompetence site turned out to throw up a nasty failure at the same time as me being out of action.

It turned out that ELROND had performed an automatic software update and rebooted itself. ARWEN (which is a virtual server sitting on top of Elrond) had then refused to come back up as VMWare had declared itself out-of-date. As such the Tencompetence site several bits of stuff aimed at the Design for Learning support site (the PHPbb Forum mainly) had gone off.

Then there was the issue of exactly what I’m supposed to be doing with the Design for Learning stuff – the request was for “something to show JISC” and had been verbally agreed that I’d set up a forum and a wiki. It was supposed to be done by Friday 16th… I’d got the forum up (but the server was down) and it took several phone calls and me being dragged in to the office on the Thursday to get as far as a new holding page. On Monday this week I got the mediawiki installation sorted and have since re-cast the entry page as a redirect into the wiki.

The D4L stuff is now all here:

Notes for internal purposes are on the intrawiki: Design for Learning Support

Moving Tencompetence

The last few days have involved quite a lot of work moving the Drupal instance intended for the new Tencompetence site from the “Elrond” server on to a new and shiny virtual server called “arwen” with a view to it going live for production use. This is the same server which we are intending to use for the new cetis site, so much of the software installed and buttons tweaked will be of long-term benefit to the whole organisation. There is a page in the internal cetis wiki detailing exactly how the machine has been set up.

Mostly this has gone smoothly but I’ve had a few gotchas along the way. The most catastrophic of which was that after moving it and it looking like everything was working, it started throwing errors when adding new content. It turned out that it had lost all the “Auto Increment” settings in the database and I had to go through table-by-table and fix them. Also (and this will hopefully not matter too much) the collation has got set to Latin-1 Swedish when it should be UTF-8 General. I’m going to try and fix this in a global change later in the week. Clearly I must have missed ticking a couple of boxes when exporting the database from Elrond. I really hate file-encoding issues…

UPDATE: There was an issue with attachments – some funkyness with mimetypes was causing word documents to get an extra .txt appended to the filename. This was fixed by adding the following lines to the bottom of php.ini
mime_magic.debug = Off
mime_magic.magicfile = “/usr/share/file/magic.mime”

Also, cron jobs were not happening, causing the aggregator to fail. Two things needed doing, adding a file to /etc/cron.hourly/ containing:
curl -s http://localhost/tenc/cron.php > /dev/null
exit 0
…which calls the script on the hour. However there was also a problem causing PHPs fsockopen command to fail with a “permission denied” message. After a lot of hunting around it turned out that the SELinux security policy of the host machine (Fedora Core 5) was blocking the creation of sockets. I turned it off and all is now running sweetly.

This morning (16 June) the URL was switched over at the OUNL end. This has gone more-or-less fine however there are some funky redirects going on for people who are still pointing at the old server. A line needs editing in the drupal configuration to make the site refer to itself by name rather than ip address… I’ll do this towards the end of the day I think once everyone is pointing in the right direction.