We are in the process of setting up a portal site for AFIS (Advanced Fire Information System). Basically, three groups within the CSIR are involved in this project, they are ICT4EO, Remote Sensing, and the Satellite Applications Center (SAC).  There is an operational system up and running, providing fire alerts reliably to interested parties, and there is a whole lot of research around the application going on. ICT4EO, my group, has been trying to build an open-source, open-standards-compliant version of the application – our research is mainly focussed around Senosor Web Enablement middleware. Remote Sensing works on information products coming out of the remotely sensed data  - they are working on, for example, fire hazard predictions. SAC run the operational system.  So there are all these “products” within the CSIR that are called AFIS, and no real clarity on what it is, where it’s going.  To solve this, we are putting up an AFIS portal, to aggregate all the info about the system, including current and future research directions. It will be cool.

We decided to use plone as our basis for building the site. We need some sort of content management because different stakeholders must update different areas of the site, and we have worked with plone before. We needed plone 2.5.+ because we want to integrate Open Layers into the site. Ultimately, this site will be deployed on a windows machine, but while we’re developing it, it is sitting on the gentoo server run by ICT4EO.

I emerged zope and plone separately (possibly a mistake?), using zope 2.9.3, and plone 2.5.2. I used zope-config to install plone in my zope instance, and happily started it:
/etc/init.d/zope-afis start

All looked fine - but nothing was actually running. Checking the status produced:

* status: started
* Status of Zope in /var/lib/zope/zope-afis …
daemon manager not running

I tried all sorts of things, and then ran from the bin directory of my zope instance (/var/lib/zope/zope-afis/bin), using

./runzope

Which gave me a happy little error message to the effect that there was already something running on port 8080*. So I editted  the zope instance config file (/var/lib/zope/zope-afis/bin) to change the http-server port and voila! A working instance.

Except not quite - major site errors. Turns out plone 2.5.2 doesn’t like zope to be less than 2.9.6. It works beautifully now.

Summary:

1) If it doesn’t start - check that you don’t have anything else running on port 8080 before trawling the net for hours :).

2) Use at least zope 2.9.6. with plone 2.5.2.  (In fact, I came upon a newsgroup post suggesting that using zope 2.10.x wasn’t working with this plone version either – but I didn’t check that.

*Which I should have known, as it’s Tomcat, and I installed it! Doh!

New Toys! New Toys!

April 20, 2007

Earlier this week I had to give a short demo of the open-source AFIS system to a few people from the GEO secretariat . It went OK, i.e. the services actually gave responses and the client, (miracle of miracles) actually worked. We run a custom written Fire Alerting Service that talks to a Sensor Observation Service (SOS), a Web Feature Service (WFS), and a Web Notification Service (WNS) in order to process incoming hotspots, relate them to the features a user is interested in, and send the user and alert if necessary. The adapter allowing the system to get feature info from the WFS is new. Previously, the system was accessing feature information directly from a PostGIS datastore. This was the last time the thing worked. It’s taken me quite a long time to fully integrate the WFS adapter into the system.

So today I decided to reward myself by opening up the group’s new toy, a a LEGO Mindstorms NXT kit . This is going to be our first pass at a mobile sensor in our sensor web corridor that we setting up to be a laboratory environment. So now I have to back up my pc, install windows in a spare partition, presumably then fix all the things that the windows install screws up, and voila – I will have a system capable of talking to a robot.

Then, once I can test the thing with the included software, I need to figure out how to do it from Linux. I found a couple of sites for programming the NXT from Linux – so if I can get my bluetooth up and running I should be sorted. Sometimes I quite like my job!

W00t! The book is coming!

February 26, 2007

So our paper will appear in this book, soon.

Check it out: The Geospatial Web: How Geo-Browsers, Social Software and the Web 2,0 are Shaping the Network Society

What I did

February 22, 2007

This post is purely for my own selfish administrative reasons. We are shortly having a team meeting, and we all need to report on “What I did this year” :}. So here goes:

Started in June 2006

  • Conceptualized and started the process of building the Corridor Sensor Web, a demo sensor web that is supposed to help showcase the OGC SWE services, and our work in integrating them into a working system.
    • Set up a partnership with Wavetrend, a company specializing in active RFID tags and readers. They are supplying us with temperature sensing tags and readers for the corridor at a reduced rate in return for being listed as our technology partners on whatever literature / publicity we produce.
    • This project was supposed to be completed last year, but we have now made it a student project, as I have other thing to work on. I have effectively stopped all involvement in the project and it is now worked on one day a week by a student.
  • Nailed down how to install Tomcat on a gentoo linux machine, and how to install and deploy the 52North SWE services (specifically SOS, SAS, WNS) on it. Also worked on installing the software on Ubuntu boxes. Since the 52North services are tested on Windows, some of the installation steps didn’t work so well on the linux boxes, and I had to change some of their build scripts.
  • Written a DBFeeder in the 52North framework, and in the process learned quite a lot about how the framework works.
  • Assisted in setting up the “Nyenda Web” – a proof of concept sensor web for some engineers involved in transport services.
  • Learned a lot about gentoo! – but not enough to run my PC like a pro :( .
  • Written the Terra Cognita paper with a couple of colleagues – this has now been accepted as a book chapter for an upcoming book.
  • Done nowhere near enough work mentoring our interns :(
  • Been slightly involved in modelling our SA weather stations in Sensor ML
  • Worked on the OXFramework, a desktop client by 52North for visualization of some of the OGC services
    • This was in the context of the AFIS 2 project – we are moving an existing national fire alerting system to be completely open-source and web service based
    • I have contributed some code into the main project to ensure that the web services are accessed in different threads and that the user experience is enhanced.
    • It’s been nice to use Java 1.5 – I haven’t really worked with java since 2004,so nice to update my skills a bit.
  • For some months, I organised, ran and minuted our weekly team meetings. I’m quite good at this, but apparently shouldn’t be doing admin – so I had to stop.  Unfortunately, so too have the weekly meetings.

What I would like to do in the coming months:

  • Kill the AFIS 2 system – get it working, demo it, bin the bugger. I’m bored silly with deploying web services.
  • I’d like to work on getting the Google Maps demo working – again, this is a student project at the moment, and they are doing great stuff – this is a project to visualise where the fires have been and what the weather is across South Africa
  • Review the possibilities available for GIS clients, desktop vs. browser etc. I’d like to make this a publication, even if it only ends up being an internal one – I doubt this kind of technology / literature review is of major interest to any international journals.
  • Do a proper roadmap for the AFIS project
  • Actually read some research papers!

I’ll edit this post a little later and link to all the relevant concepts – right now this is just a memory aid for me.

Follow

Get every new post delivered to your Inbox.