TopicObserver.com

Trond Pettersen on Web Development and Topic Maps

Tag: TopicMaps

Billy-Corgan.com Re-Launched as Topic Maps Based Website

Billy-Corgan.com was the first public web site I ever created and ran. I first started playing with it (and web techs) in 1998/99. In 2000, I moved it from GeoCities to its own domain name. The site had it’s golden age in 2003/2004, with up to 4 million page views / month. I believe that is a rather high number for a non-popish fan site. Back then it was a PHP/MySQL driven site.

In 2005 I decided to stop maintaining Billy-Corgan.com due to various reasons, the most prominent ones being a lack of time and a decreasing level of devotion (esp. with regards to the online community and drama that follows).

For the last 5 years the site has therefore contained little to no information. Up until 2 days ago, it did only contain the Machina II MP3s (Smashing Pumpkins released this album on the Internet, for free, back in 2000!). At the same time, there have been hundreds of daily visitors (Google Analytics stats). And the old MySQL database has been kept intact on my backup devices. Therefore, I recently decided to re-lauch the site with some of the “static” content (lyrics, discography, photos + MP3s as before). No need for it to remain empty, right?

Moving to Topic Maps

So: what to do when putting some old database content on the web? I did not want to create a huge new web site and spend a lot of time writing (plain) PHP scripts and SQL queries. Didn’t have time for that right now.

Well, obviously I chose to create a Topic Maps based web app, with Ontopia being my preferred Topic Maps engine.

I started by creating a couple of new database views (to make for a simpler mapping) and a few stored procedures for “sanitizing”  some of the data (used in the views’ SQL). From there, the remaining tasks were pretty simple:

  1. Create an LTM file (my preferred format) containing the ontology (concepts like Song, Person, Composer-Of, etc.). ~100 lines of LTM.
  2. Write a DB2TM mapping file, specifiying which columns are mapped to what Topic Maps concepts. 136 lines of XML.
  3. Write JSP files — as discussed in my previous post on Web App Development with Ontopia. Ended up with 10 specialized JSPs.

UI Functionality

I also wanted to add some “fun” functionality by creating an Ajax enabled photo gallery. I did explore some pre-built galleries such as Galleriffic, but ended up building my own using a combination of jQuery and jQuery cycle. The album degrades gracefully by not requiring JavaScript support — all links work without JS (example: 1979 vs. Zero).

Further, I implemented an audio “player” for the MP3s based on the HTML5 <audio /> element. At this time the browser support is very limited, though, as these are MP3s and not e.g. OGG. In the lack of MP3 audio support I fall back to using Flowplayer’s audio plugin (Flash based). I’ve also played with some CSS3 properties like border-radius, as seen on the index page (granted your browser supports either -webkit-border-radius, -moz-border-radius or border-radius (why so many?)).

The result can be viewed at Billy-Corgan.com.

Open to Web Development Opportunities in the US

Shoot me an e-mail at trondpet[curly-thingy]hotmail.com if you’re a US based employer in need of a sr. web developer with a proven track record. I’m a US citizen with no need of sponsorship.

My strengths are web development and -programming — from architecture and back-end programming to front-end coding. Below is a list of some of my skills. More about my project experience.

  • PHP4/5 (WAMP/LAMP)
  • Java
  • JSP
  • MySQL
  • MSSQL
  • XSLT
  • JavaScript / Ajax
  • jQuery
  • XHTML
  • CSS
  • Topic Maps
  • Information Modeling / Ontology Development
  • Cross-Browser Issues
  • WAI

I’ve currently got a few opportunities in sight, but am still open for exciting offers and am available for hire from early April on (arrive in the US on April 5 2010). I am primarily interested in opportunities on the West Coast — Greater L.A. Area, San Francisco Bay Area, Seattle and Portland, OR.

Feel free to contact me at trondpet[curly-thingy]hotmail.com, LinkedIn or Twitter.

Edit: I am no longer seeking new opportunities :)

Web Application Development with Ontopia – 2. Creating the Database

Intro

This blog post is part of a series on Web Application Development with Ontopia.

  1. Part 1: Installation & Requirements
  2. Part 2: Creating the Database
  3. Part 3: Creating the JSPs

In part 1, we looked at how to set up Ontopia. We also described the application that we intend to build (a blog) and what we need to develop in order to achieve our goal.

This time we’ll look at how to set up the “database schema” and create new blog posts by using Ontopia’s web interface. The resulting topic map can be browsed here.

Read the full post »

Web Application Development with Ontopia – 1. Installation & Requirements

Introduction

Ontopia is an Open Source application that lets you create, manipulate and navigate information represented in topic maps. It’s also a toolbox for building all sorts of applications. Among the advantages of topic maps driven applications are enhanced navigation and search capabilities.

Ever since Ontopia went Open Source earlier this year, I’ve wanted to give an example of how easy it is to build a web application on top of it.

Through the next couple of blog posts, I’ll try to show exactly how easy this is – and I promise to leave out the unnecessary talk (wont discuss Topic Maps, for instance).

First I’ll “reveal” how to set up and start Ontopia. As this requires very little typing on my part, I’ll quickly move on to discuss what our goal is. Then we’ll have a look at the required data model, before pointing out the kinds of views that our application needs to support — and how to lay this out. Afterwards, we create the limited amount of code needed to get everything up and running. Last, we deploy.

All code will be available for download :)
Read the full post »

Shakespeare Topic Map

Back when I was in the university I took an undergraduate subject called Web programming. As part of that class, each student had to build a web site presenting the Shakespeare plays in a given format. The source was a bunch of XML documents.

Building the site using PHP and SAX parsing was fun enough at the time, but even though the XTM 1.0 specification mentions #play, #shakespeare and #written-by, I can’t recall ever seeing a topic map enabled site of the Shakespeare plays.

I therefore thought that it’d be fun to transform the Shakespeare XMLs into a topic map and publish it through a web site built on top of Ontopia.

I’m just putting the front end together piece by piece (15 mins here and 15 mins there :/ – currently not very usable).

The current (draft) version of the topic map is available for export (~23 MB LTM, ~133 MB XTM 2.0). This can also be browsed with Omnigator. If you observe any major flaws, feel free to leave a comment below :)

Topic Maps in May: Ontopia & Subj3ct

Ontopia

The Ontopia project has had it’s “kick-off” meeting, which I unfortunately could not attend, and set up a blog at http://ontopia.wordpress.com/, with mailing list at http://groups.google.com/group/ontopia. Awesome.

Subj3ct

Back in May, NetworkedPlanet launched Subj3ct.com. I quote: Subj3ct provides the technology and services to enable Web 3.0 applications to define and exchange subject definitions.

Setting Up Zope Topic Maps (ZTM3)

I originally intended to post this as a follow up to the Topic Maps 2009: Conference Day entry, but as our little baby girl wanted out 1 month prior to the ETA, I all of a sudden got my hands full — and so I didn’t get to finish it until recently. Anyways, here goes…

ZTM WebdeskThe newest version of the open source CMS (SMS (?)) based on Zope and Topic MapsZTM3 reached beta stage earlier this year.

While its predecessor — ZTM2, running on Zope 2.x — has been empowering a multitude of web portals for years (examples: Arctic-Council.org, Forbrukerportalen.no, Hoyre.no), ZTM3 is a new and completely re-written ZTM implementation built on the Zope 3 eco system.

It initially started with the new University of Bergen (UiB) web site, which is the only publicly available ZTM3 empowered site to date (presented at Topic Maps 2009), and is (as far as I know) currently used by the UiB and one additional organization.

Released under the LGPL/GPL license and fully open source, there is, however, no reason why it should end there.

I’m just starting to get familiar with ZTM3 myself, and this blog post is both a result of my own initial testing & previewing of ZTM3, as well as an attempt to raise awareness about ZTM3′s existence amongst my fellow web developers.

Lets start by having a look at how you can set up and get started with ZTM3, and then move on to more “advanced” stuff in subsequent postings (I only hope that those can follow in not too long).

No prior knowledge of Zope or Topic Maps is required… Read the full post »

  • RSS @twitter

    • Also starting to like YUI3 vs. the framework I used to be more familiar with .. a.k.a jQuery :D
    • CI and "commit early and often - with unit tests" actually works great if done properly and throughout the team(s). Starting to enjoy it :-o
  • Tags

  • Topics

  • Recent Comments

  • Topic Map Feeds