<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sirius Corporation plc</title>
	<atom:link href="http://www.siriusit.co.uk/labs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.siriusit.co.uk/labs</link>
	<description>Control through freedom</description>
	<lastBuildDate>Mon, 22 Mar 2010 16:11:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>First views of the construction of the New Customer Service Centre</title>
		<link>http://www.siriusit.co.uk/labs/2010/first-views-of-the-construction-of-the-new-customer-service-centre/</link>
		<comments>http://www.siriusit.co.uk/labs/2010/first-views-of-the-construction-of-the-new-customer-service-centre/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 16:10:35 +0000</pubDate>
		<dc:creator>chowells</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=339</guid>
		<description><![CDATA[As I alluded to in a previous blog entry, we&#8217;ve recently been expanding and are going to open a dedicated Customer Service Centre in extra office space that we have taken over in our building.  It&#8217;s quite a graphic heavy post, so the pictures are thumbnails &#8211; click on any of the pictures to get [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2010%2Ffirst-views-of-the-construction-of-the-new-customer-service-centre%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2010%2Ffirst-views-of-the-construction-of-the-new-customer-service-centre%2F" height="61" width="51" /></a></div><p>As I alluded to in a <a href="http://www.siriusit.co.uk/labs/2010/reflections-on-fosdem-2010-in-brussels/">previous blog entry</a>, we&#8217;ve recently been expanding and are going to open a dedicated Customer Service Centre in extra office space that we have taken over in our building.  It&#8217;s quite a graphic heavy post, so the pictures are thumbnails &#8211; click on any of the pictures to get a larger version.  Sorry for the fact that the quality isn&#8217;t amazing, I didn&#8217;t have my SLR to hand, so I had to take them on my Android phone.</p>
<p>The new centre is almost finished, here are some picture of how it&#8217;s all coming together.</p>
<p>Un-boxing of new equipment well underway.  The upstairs windows have a great view of the River Wey and its narrow boats.</p>
<p><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.10.51-1024x768.jpg" rel="lightbox[339]"><img class="aligncenter size-medium wp-image-347" title="2010-02-23 16.10.51" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.10.51-300x225.jpg" alt="Unboxing of new equipment well underway. The upstairs windows have a great view of the River Wey and its narrow boats." width="300" height="225" /></a></p>
<p>The new racks installed with patch panels and ready to be loaded with switches and servers.</p>
<p style="text-align: center;"><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.09.54-1024x768.jpg" rel="lightbox[339]"><img class="aligncenter size-medium wp-image-342" title="2010-02-23 16.09.54" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.09.54-225x300.jpg" alt="The new racks installed with patch panels and ready to be loaded with switches and servers." width="225" height="300" /></a></p>
<p>General view of the centre; desks in place, displays getting ready to be mounted.</p>
<p><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.08.51-1024x768.jpg" rel="lightbox[339]"><img class="aligncenter" title="2010-02-23-16.08.51" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.08.51-300x225.jpg" alt="General view of the centre; desks in place, displays getting ready to be mounted. " width="300" height="225" /></a></p>
<p style="text-align: left;">Unboxing the displays. The displays will help us to monitor customer servers and helpdesk tickets.</p>
<p><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.10.21-1024x768.jpg" rel="lightbox[339]"><img class="aligncenter size-medium wp-image-343" title="2010-02-23 16.10.21" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.10.21-300x225.jpg" alt="2010-02-23 16.10.21" width="300" height="225" /></a></p>
<p style="text-align: left;">Wall mounting brackets for the displays.</p>
<p style="text-align: center;"><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.46.56-1024x768.jpg" rel="lightbox[339]"><img class="aligncenter size-medium wp-image-344" title="2010-02-23 16.46.56" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.46.56-300x225.jpg" alt="2010-02-23 16.46.56" width="300" height="225" /></a></p>
<p style="text-align: left;">The displays up and running and installed with Debian.</p>
<p style="text-align: center;"><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-25-17.21.28-1024x768.jpg" rel="lightbox[339]"><img class="aligncenter size-medium wp-image-345" title="2010-02-25 17.21.28" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-25-17.21.28-300x225.jpg" alt="2010-02-25 17.21.28" width="300" height="225" /></a></p>
<p style="text-align: left;">Configuring the networking on the displays.</p>
<p style="text-align: center;"><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-25-17.21.37-1024x768.jpg" rel="lightbox[339]"><img class="aligncenter size-medium wp-image-346" title="2010-02-25 17.21.37" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-25-17.21.37-300x225.jpg" alt="2010-02-25 17.21.37" width="300" height="225" /></a></p>
<p style="text-align: left;">We&#8217;re almost ready to unveil our Customer Service Centre, after a couple of frantic weeks getting the cabling installed, assembling the racks, desks and chairs, buying plants and all that, we&#8217;re almost there!</p>
<p style="text-align: left;">We will be delighted to give any current and prospective new customers a tour of the new space and keep posted for the full unveiling when it&#8217;s all complete! <img src='http://www.siriusit.co.uk/labs/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/2010-02-23-16.08.51.jpg" rel="lightbox[339]"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2010/first-views-of-the-construction-of-the-new-customer-service-centre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reflections on FOSDEM 2010 in Brussels</title>
		<link>http://www.siriusit.co.uk/labs/2010/reflections-on-fosdem-2010-in-brussels/</link>
		<comments>http://www.siriusit.co.uk/labs/2010/reflections-on-fosdem-2010-in-brussels/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 15:03:29 +0000</pubDate>
		<dc:creator>chowells</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[FOSDEM]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=327</guid>
		<description><![CDATA[I came to a startling realisation yesterday.  Somehow, 2010 has been charging along at the pace of an express train without me even noticing.  Yesterday seemed to be Christmas, but now we&#8217;re at the start of March.  That means that it&#8217;s now nearly a month since FOSDEM (Free and Open Source Developer&#8217;s European Meeting) was held [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2010%2Freflections-on-fosdem-2010-in-brussels%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2010%2Freflections-on-fosdem-2010-in-brussels%2F" height="61" width="51" /></a></div><p>I came to a startling realisation yesterday.  Somehow, 2010 has been charging along at the pace of an express train without me even noticing.  Yesterday seemed to be Christmas, but now we&#8217;re at the start of March.  That means that it&#8217;s now nearly a month since <a href="http://fosdem.org/2010/">FOSDEM</a> (Free and Open Source Developer&#8217;s European Meeting) was held at the <a href="http://www.ulb.ac.be">Université Libre de Bruxelles</a>.</p>
<p>We have recently been expanding into additional office space upstairs which has been turned into our new Customer Service Centre, this possibly explains where some of the lost time has gone.  More on that, with pictures, in another blog post.</p>
<p>Mark Taylor and I recently travelled to Brussels to attend FOSDEM.  The journey was smooth, with even the M25 being kind to us.  The French and Belgian Autoroutes had hardly any traffic on them until we approached the outskirts of Brussels.  It&#8217;s the first time that I&#8217;ve been on the Eurotunnel for many years, having favoured the ferry more recently, but it&#8217;s wonderful to be able to drive to Brussels, from London, in about the same time that it takes to get to Liverpool or Manchester.  On the Autoroute in France I was interested to see a Lithuanian car transporter filled with N-reg (about 15 year old)  British-registered vehicles &#8211; heading away from Britain.</p>
<p>Having arrived in Brussels at about 7pm we spent some time trying to understand the street parking restrictions, before heading off for a quiet drink and Belgian waffle to prepare for the rest of the evening. The Beer (unfortunately not Free) Event was at the <a href="http://www.deliriumcafe.be/">Delirium Café</a> near the Grand&#8217;Place in Brussels. Festivities were in full swing by this time with a great atmosphere.  If you&#8217;ve ever wanted to be in a bar filled only with several thousand other geeks, the Beer event at FOSDEM is definitely the right place to be.  The Delirium Café is in an old and unspoilt part of Brussels which is exceedingly beautiful and very metropolitan with outside restaurants, despite it being in the depths of winter. Despite not being a particularly big beer fan, some of the Belgian beers are very good, particularly the fruit beers from the likes of Lindemans, which are very refreshing</p>
<p>The party went on until the early hours of the morning, and then continued into the not-so-early hours of the morning.  This might explain our slightly late arrival at the site of the Université Libre de Bruxelles on Saturday <span style="text-decoration: line-through;">morning</span>afternoon, where the main FOSDEM conference was held.</p>
<p>Parts of the Université also had some great architecture, but its size meant that keen navigation skills were useful.</p>
<p><img class="aligncenter size-full wp-image-328" title="Statue at the University" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/fosdem.jpg" alt="Statue at the University" width="436" height="603" /></p>
<p>Due to the huge number of tracks on such a large number of topics, it was hard to decide exactly which talks to go to, so we decided to go for the tried and tested and went to our good friend Paul Adams&#8217; talk on KDE PIM.</p>
<p><img class="aligncenter size-full wp-image-329" title="Paul Adams giving a presentation at FOSDEM" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/pauladams.jpg" alt="Paul Adams giving a presentation at FOSDEM" width="623" height="508" /></p>
<p>It was great to see stands from so many organisations, from Firefox (bonus points for the cute fox logo)&#8230;</p>
<p><img class="aligncenter size-full wp-image-330" title="Firefox stand at FOSDEM" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/firefox.jpg" alt="Firefox stand at FOSDEM" width="667" height="505" /></p>
<p>&#8230;to KDE and Amarok.</p>
<p><img class="aligncenter size-full wp-image-331" title="KDE stand at FOSDEM" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/kde.jpg" alt="KDE stand at FOSDEM" width="654" height="492" /></p>
<p>I like trying Continental foods, so I was keen to try a restaurant serving local styles of food.  I&#8217;ve eaten snails before many years ago in France, but decided that it would be good to try them again.  Which was  followed by something a lot more familiar &#8211; Moules (Mussels) for main course. The snails were moderately pleasant. Glad that I tried them but probably won&#8217;t do so again for a while.  I did give the frogs legs a miss though.</p>
<p><img class="aligncenter size-full wp-image-332" title="snails" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/snails.jpg" alt="snails" width="799" height="502" /></p>
<p>On the Sunday, for me, the highlight of the day was a <a href="http://fosdem.org/2010/schedule/events/867">talk</a> by <a href="http://www.few.vu.nl/~ast/">Andrew Tanenbaum</a> on <a href="http://www.minix3.org">MINIX</a>. Tanenbaum is famously known for his debate with Linux Torvalds in 1992 about <a href="http://en.wikipedia.org/wiki/Tanenbaum–Torvalds_debate">kernel design</a>. MINIX is a still teaching and research operating system, and the talk was entitled &#8220;MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System&#8221;.</p>
<p><img class="aligncenter size-full wp-image-333" title="Andrew Tanenbaum talking at FOSDEM about MINIX 3" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2010/03/tanenbaum.jpg" alt="Andrew Tanenbaum talking at FOSDEM about MINIX 3" width="609" height="503" /></p>
<p>Despite the fact that it was about a highly technical subject, the talk was very accessible, and made even better by the fact that Tanenbaum is an excellent lecturer who did a great job of keeping the audience entertained and interested.</p>
<p>Overall, FOSDEM was a great opportunity for like-minded people from all over Europe (and perhaps further) to talk about their common interests, even though they were from different projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2010/reflections-on-fosdem-2010-in-brussels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roundcube: the world&#8217;s coolest Open Source webmail project?</title>
		<link>http://www.siriusit.co.uk/labs/2009/roundcube-the-worlds-coolest-open-source-webmail-project/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/roundcube-the-worlds-coolest-open-source-webmail-project/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 14:09:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[business applications]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[webmail]]></category>
		<category><![CDATA[Horde/IMP]]></category>
		<category><![CDATA[IlohaMail]]></category>
		<category><![CDATA[IMAP]]></category>
		<category><![CDATA[roundcube]]></category>
		<category><![CDATA[Squirrelmail]]></category>
		<category><![CDATA[Thomas Bruederli]]></category>
		<category><![CDATA[Till Klampaeckel]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=306</guid>
		<description><![CDATA[At Sirius we have recently started using and deploying Roundcube in favour of the tried and tested (but very old) Squirrelmail. Impressed by it&#8217;s beautiful front-end, ease of use and obvious extensibility, Tom Callway spoke to Till Klampaeckel and Thomas Bruederli, two of Roundcube&#8217;s core developers, to find out more about this exciting project.
1) What [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Froundcube-the-worlds-coolest-open-source-webmail-project%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Froundcube-the-worlds-coolest-open-source-webmail-project%2F" height="61" width="51" /></a></div><p><strong>At Sirius we have recently started using and deploying Roundcube in favour of the tried and tested (but very old) Squirrelmail. Impressed by it&#8217;s beautiful front-end, ease of use and obvious extensibility, Tom Callway spoke to <a title="Till's Blog" href="http://till.klampaeckel.de/blog/">Till Klampaeckel</a> and <a title="Thomas' profile on Ohloh" href="http://www.ohloh.net/accounts/thomasb">Thomas Bruederli</a>, two of Roundcube&#8217;s core developers, to find out more about this exciting project.</strong></p>
<p><strong>1) What is Roundcube?</strong></p>
<p>Roundcube is a free open source webmail client with an application-like user interface. Roundcube provides all the functionality one expects from an e-mail program and connects to any mail server backend that supports IMAP.</p>
<p><span id="more-306"></span></p>
<p><strong>2) To the best of your knowledge where is the biggest deployment to date?</strong></p>
<p>Below are a couple use-cases, which we&#8217;ll probably put on the website as well some time soon. All people of those people are active in one way or another on our mailing list <a href="http://lists.roundcube.net/">lists.roundcube.net/</a>, users@ and dev@ and agreed to share more experiences and help users in case they have questions.</p>
<p>Most of these installations also have another alternative to RoundCube (e.g. Squirrelmail or Horde/IMP)</p>
<p>University of Michigan<br />
users: 70,013 (there are more users, but the others haven&#8217;t used Roundcube yet)</p>
<p>XS4ALL, Netherlands<br />
users: 50,000</p>
<p>Datenpark.ch<br />
users: 3,500</p>
<p>San Pablo CEU University (Spain)<br />
users: 15,000+</p>
<p>Introweb<br />
users: 5000 active users</p>
<p><strong>3) How does Roundcube differ from other open source webmail solutions?</strong></p>
<p>For starters, Roundcube looks awesome! <img src='http://www.siriusit.co.uk/labs/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="attachment_309" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-309" title="mailview" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2009/11/mailview.jpg" alt="Mail view of Roundcube" width="550" height="393" /><p class="wp-caption-text">Mail view of Roundcube</p></div>
<p>Thanks to its ajax-based architecture it&#8217;s fast and responsive and it&#8217;s used just like a &#8220;real&#8221; (desktop) application.</p>
<p>Another big advantage is the separation of the frontend from the functionality which makes Roundcube fully customizable using the skins. We learned that a lot of people want more options when it comes to customizing the visual appearance than just choosing from different set of colors.</p>
<p><strong>4) How extensible is Roundcube using its plugin API?</strong></p>
<p>Plugins are very easy to develop due to their object-oriented architecture. Roundcube is shipped with a couple simple plugins which can be used as template to get started.</p>
<p>Roundcube&#8217;s core currently offers over 40 plugin hooks and we try to please everyone by implementing requests for new plugin hooks right away.</p>
<p>Roundcube&#8217;s API provides hooks for both the server and the client side. Add the JQuery library (for client side scripting) to the mix and it&#8217;s even easier to extend the client functionality because so many developers are already familiar with it.</p>
<p><strong>5) Roundcube is built on IlohaMail&#8217;s IMAP library. Why did you choose this as the underlying engine?</strong></p>
<p>At the time when we started Roundcube, the IMAP library was not a default part of PHP and we wanted to provide a software that runs on any standard Apache+PHP box without lots of dependencies. The Ilohamail IMAP wrapper seemed to be simple and also faster.</p>
<p><strong>6) Do you have ambitions to extend Roundcube to offer a groupware functionality like calendaring in the core application?</strong></p>
<p>No, we personally don&#8217;t have such ambitions but the plugin API should make it possible to extend a Roundcube installation with such features.</p>
<p>There are already other sophisticated open source solutions for groupware and we don&#8217;t want to compete with them. We&#8217;d rather see a couple integrations.</p>
<p><strong>7) Why was it so important to release Roundcube as a free, open source project? What advantages does it bring as opposed to using an &#8216;opencore&#8217; business model?</strong></p>
<p>Open source software is a very important part of Roundcube itself and we wanted to contribute something back to the community. The main advantage for us is that the software is provided &#8220;as is&#8221; and we don&#8217;t have to provide support or responsibility to our &#8220;customers&#8221;. This may sound a bit rude but all of the core members of the Roundcube team are volunteers working on the project in their spare time. We all have our jobs beside Roundcube and therefore we cannot provide real-time support or immediate fixes if a problem occurs. This is something people would expect when the pay for a product.</p>
<p><strong>8 ) Can users try Roundcube without doing a full installation, to just to get a feeling for the capabilities?</strong></p>
<p>No, we currently don&#8217;t have an online demo ourselves. But on the Roundcube forums, there are always a couple users who run demo sites.</p>
<p><strong>9) Are you seeing more interest in Roundcube within enterprises with the economic downturn?</strong></p>
<p>When looking at the download counts we don&#8217;t see an increased interest in Roundcube. Maybe enterprises still hesitate to use open source software. Maybe that&#8217;s because the IT industry really hasn&#8217;t seen the crisis (yet).</p>
<p>Also, one of the reasons people always hesitate to use Roundcube are the conservative versioning we keep. Despite what people think – we are currently &#8220;only&#8221; at zero dot three dot one.</p>
<p>We are pretty sure that this relatively low version number make it look like we are not finished yet.</p>
<p><strong>10) How is your project organised and how might somebody interested in contributing to the codebase get involved?</strong></p>
<p>The core team of Roundcube consists of about 5 people who keep up the infrastructure and control the development process. The most important tools are the Trac platform with the bug tracker and the developers mailing list. This is the place where the ongoing development is discussed and where everybody can contribute. See <a href="http://trac.roundcube.net/wiki/Dev_Contribution">trac.roundcube.net/wiki/Dev_Contribution</a></p>
<p><strong>11) You&#8217;ve just released version 0.3.1? What features are you most excited about?</strong></p>
<p>The plugin API. It&#8217;s very exciting to see what people do with it and how they extend Roundcube to become an integral part of their platform.</p>
<p><strong>12) To your mind what does the open source movement need to get even more traction? Better evangelists? Better marketing?</strong></p>
<p>From our perspective the biggest factor are people. It always requires more people who actively contribute to open source projects.</p>
<p>Contribution is not just about writing code. It also includes writing documentation, writing bug reports, answering questions, translating and of course evangelism. Whenever a company decides to integrate open source software for their customers and then encourages their employees to contribute their work to the project, that&#8217;s a great situation for any open source project to be in. And those are of course the kind of projects any active open source contributor likes to have.</p>
<p>In Roundcube&#8217;s case some of our contributors are paid by their employer (or a client) to work on Roundcube, but this is currently just a minority.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/roundcube-the-worlds-coolest-open-source-webmail-project/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>OSX and OpenLDAP: taming the Leopard</title>
		<link>http://www.siriusit.co.uk/labs/2009/osx-and-openldap-taming-the-leopard/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/osx-and-openldap-taming-the-leopard/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 13:51:00 +0000</pubDate>
		<dc:creator>chowells</dc:creator>
				<category><![CDATA[GOsa]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OpenLDAP]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Open Directory]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=165</guid>
		<description><![CDATA[Goals
The goals of this blog are to illustrate how to:

authenticate Mac OSX Leopard workstations from an existing redundant OpenLDAP infrastructure
configure Mac OSX Leopard workstations from an existing redundant OpenLDAP infrastructure
store and manage configuration settings on an existing redundant OpenLDAP infrastructure using Workgroup Manager

Please note that this article applies only to Mac OSX Leopard. Previous and [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fosx-and-openldap-taming-the-leopard%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fosx-and-openldap-taming-the-leopard%2F" height="61" width="51" /></a></div><h3>Goals</h3>
<p>The goals of this blog are to illustrate how to:</p>
<ul>
<li>authenticate Mac OSX Leopard workstations from an existing redundant OpenLDAP infrastructure</li>
<li>configure Mac OSX Leopard workstations from an existing redundant OpenLDAP infrastructure</li>
<li>store and manage configuration settings on an existing redundant OpenLDAP infrastructure using Workgroup Manager</li>
</ul>
<p>Please note that this article applies only to Mac OSX Leopard. Previous and later versions are untested.</p>
<p><span id="more-165"></span></p>
<div id="attachment_291" class="wp-caption alignright" style="width: 100px"><a title="Download PDF from SiriusLibrary" href="/resources/siriuslibrary/osx-and-openldap-taming-leopard"><img class="size-full wp-image-291" title="20091109_openLDAPMacOSX_thumb" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2009/11/20091109_openLDAPMacOSX_thumb.png" alt="Download a PDF whitepaper of this post from the SiriusLibrary" width="90" height="127" /></a><p class="wp-caption-text">Download Whitepaper</p></div>
<h3>Introduction</h3>
<p>OS X Server contains an directory service, which provides authentication and other network services. It is called Open Directory, and is based on <a href="http://www.openldap.org">OpenLDAP</a>. As you would expect from an Apple product, it&#8217;s shiny and can be configured mostly by pointing and clicking. That&#8217;s fine if you have an entirely Apple network, but it leaves you a little stuck if you have a pre-existing network which already has a directory service. How do you avoid duplication?</p>
<p>On top of Open Directory, <a class="image" title="Workgroup Manager" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/4.png" rel="lightbox[165]">Workgroup Manager</a> is Apple&#8217;s tool for controlling networks of OS X workstations. You can configure preferences on a user, group, computer, or computer group basis. The last option, “computer group” is powerful because you can specify machines by geographical location (or any other metric that you care to choose), and apply settings. For instance, you might want USB sticks to work in the computer labs so that students can save work, but not in the library.</p>
<p>Thankfully however, the answer to the duplication question is that it is quite possible to integrate OS X with an existing directory service such as that provided by Linux and OpenLDAP. The Workgroup Manager white paper promises “Leverage existing network resources by integrating with any LDAP server”, but unfortunately documentation on how to achieve it is hard to come by. (Active Directory should also be possible and is documented elsewhere, but that is left as an exercise for the reader – the principles described in this article apply to any directory service).</p>
<p>There are actually two ways of integrating Mac OS X into an existing infrastructure. One is the Dual Directory setup, which is called the <a class="image" title="Magic or Golden Triangle" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/Diagram1.png" rel="lightbox[165]">“magic” or “golden” triangle</a>.</p>
<p>This has a number of drawbacks. As the Mac workstations are now using two directory infrastructures, this means running two redundant infrastructures – if either side stops working, things will break horribly. This typically means running multiple OS X Servers, to supplement the pre-existing redundant OpenLDAP infrastructure.</p>
<p>There is a better alternative. Our preferred option is to set up the Mac OS X Server to store the configuration settings for clients and workstations <a class="image" title="Storing settings directly in OpenLDAP" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/Diagram21.png" rel="lightbox[165]">directly in the the Linux-based OpenLDAP directory</a>.</p>
<p>This means that on a daily basis, the Mac (and other workstations) will only speak to the existing OpenLDAP infrastructure. It does not matter greatly if the OS X Server disappears. The OS X Server is only used to change the configuration, which is not generally done very often. Mac workstations will continue to log in and perform correctly even if the OS X Server isn&#8217;t there.</p>
<h3>Example LDAP directory</h3>
<p>See <a class="image" title="Example LDAP hierarchy" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/exampleLDAP_directory1.png" rel="lightbox[165]">Example LDAP hierarchy</a>. Note that user settings are stored in the user&#8217;s record (by also making them an apple-user object class). Other settings will be stored under a new part of the LDAP tree, <code>ou=macosx</code>.</p>
<p>Settings can be applied in different ways in <a class="image" title="Workgroup Manager" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/5.png" rel="lightbox[165]">Workgroup Manager</a>.</p>
<ul>
<li>Never – the setting is not applied</li>
<li>Once – the setting is applied as a default setting, but the user is free to change if they wish</li>
<li>Always – the setting is applied, and the user cannot change the setting (the setting is greyed out)</li>
</ul>
<p>As the same settings can be applied to both computers and groups, it is important to understand that there is an <a class="image" title="Order of Precedence" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/Diagram3.png" rel="lightbox[165]">order of precedence</a> in the way that settings are applied and override each other. Settings applied to the individual user have the highest level of precedence, which allows a high level of granularity to be achieved.</p>
<p>We&#8217;ve talked above about an existing redundant OpenLDAP infrastructure. By redundant, we mean that you have OpenLDAP configured in a <a class="image" title="Master-Slave relationship" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/Diagram4.png" rel="lightbox[165]">Master-Slave</a> relationship, with the Master replicating changes out to the slaves.</p>
<p>Although it is possible to run OpenLDAP in other replicated setups such as N-way Multi-Master, this is not necessary. Take a look at the <a title="OpenLDAP documentation" href="http://www.openldap.org/doc/admin24/replication.html">OpenLDAP documentation</a> and make a decision as to the best setup for you requirements. Alternatively <a title="Contact Sirius" href="http://www.siriusit.co.uk/contact">contact Sirius</a> and we&#8217;ll be happy to provide professional advice.</p>
<h3>Implementation</h3>
<h4>Step 1  &#8211; Modify the schema</h4>
<p>The first step is to make the OpenLDAP server aware of the schema that OS X requires. The OS X schema can be acquired from an OS X.5 Leopard workstation or servers, from</p>
<p><code>/private/etc/openldap/schema/samba.schema and /private/etc/openldap/schema/apple.schema</code></p>
<p>Copy these to your OpenLDAP server and put them in the <code>/etc/openldap/schema</code></p>
<p>Now, a few changes need to be made to apple.schema:</p>
<p>Uncomment the <code>container</code> object class</p>
<p>Uncomment the <code>authAuthority</code> object class, and move it above the definition of apple-user (it must be moved because it is used by apple-user, and it must be defined before it can be used).</p>
<p>After this, modify your <code>/etc/ldap/slapd.conf</code> file to include the new schemas. As we use <a href="https://oss.gonicus.de/labs/gosa/">GOsa</a> which requires some schemas of its own, a complete schema definition for us looks like:</p>
<div id="code-area"><code>include /etc/ldap/schema/core.schema</code><br />
<code>include /etc/ldap/schema/cosine.schema</code><br />
<code>include /etc/ldap/schema/nis.schema</code><br />
<code>include /etc/ldap/schema/inetorgperson.schema</code><br />
<code>include /etc/ldap/schema/misc.schema</code><br />
<code>include /etc/ldap/schema/samba3.schema</code><br />
<code>include /etc/ldap/schema/gofon.schema</code><br />
<code>include /etc/ldap/schema/gosystem.schema</code><br />
<code>include /etc/ldap/schema/goto.schema</code><br />
<code>include /etc/ldap/schema/gosa-samba3.schema</code><br />
<code>include /etc/ldap/schema/gofax.schema</code><br />
<code>include /etc/ldap/schema/goserver.schema</code><br />
<code>include /etc/ldap/schema/goto-mime.schema</code><br />
<code>include /etc/ldap/schema/samba.schema</code><br />
<code>include /etc/ldap/schema/apple.schema</code></div>
<p>After this, you should be able to run the <code>slaptest</code> command. This checks the <code>slapd.conf</code> file and associated schemas for validity. Hopefully, this will return:</p>
<div id="code-area"><code>config file testing succeeded</code></div>
<h4>Step 2 – import the tree structure from an OS X Server</h4>
<p>Although the user settings are stored in the user&#8217;s records, the settings for computers are not. We&#8217;ll therefore create another organization unit in the LDAP directory. Workgroup Manager will read and write settings here, and workstations will read settings from here.</p>
<p>We&#8217;ll assume that your directory is under dc=example,dc=com,</p>
<div id="code-area"><code>dn: ou=macosx,dc=example,dc=com</code><br />
<code>ou: macosx</code><br />
<code>objectClass: organizationalUnit</code><br />
<code>description: Holds metadata for OSX server</code></p>
<p><code>dn: cn=mounts,ou=macosx,dc=example,dc=com</code><br />
<code>cn: mounts</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=accesscontrols,ou=macosx,dc=example,dc=com</code><br />
<code>cn: accesscontrols</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=certificateauthorities,ou=macosx,dc=example,dc=com</code><br />
<code>cn: certificateauthorities</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=computers,ou=macosx,dc=example,dc=com</code><br />
<code>cn: computers</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=computer_grups,ou=macosx,dc=example,dc=com</code><br />
<code>cn: computer_groups</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=computer_lists,ou=macosx,dc=example,dc=com</code><br />
<code>cn: computer_lists</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>cn: config</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=locations,ou=macosx,dc=example,dc=com</code><br />
<code>cn: locations</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=machines,ou=macosx,dc=example,dc=com</code><br />
<code>cn: machines</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=neighborhoods,ou=macosx,dc=example,dc=com</code><br />
<code>cn: neighborhoods</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=people,ou=macosx,dc=example,dc=com</code><br />
<code>ou=people</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=presets_computer_lists,ou=macosx,dc=example,dc=com</code><br />
<code>cn: presets_computer_lists</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=presets_groups,ou=macosx,dc=example,dc=com</code><br />
<code>cn: presets_groups</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=preset_users,ou=macosx,dc=example,dc=com</code><br />
<code>cn: preset_users</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=printers,ou=macosx,dc=example,dc=com</code><br />
<code>cn: printers</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=augments,ou=macosx,dc=example,dc=com</code><br />
<code>cn: augments</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=autoserversetup,ou=macosx,dc=example,dc=com</code><br />
<code>cn: autoserversetup</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=filemakerservers,ou=macosx,dc=example,dc=com</code><br />
<code>cn: filemakerservers</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=resources,ou=macosx,dc=example,dc=com</code><br />
<code>cn: resources</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=places,ou=macosx,dc=example,dc=com</code><br />
<code>cn: places</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=maps,ou=macosx,dc=example,dc=com</code><br />
<code>cn: maps</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=presets_computers,ou=macosx,dc=example,dc=com</code><br />
<code>cn: presets_computers</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=presets_computer_groups,ou=macosx,dc=example,dc=com</code><br />
<code>cn: presets_computer_groups</code><br />
<code>objectClass: container</code></p>
<p><code>dn: cn=automountMap,ou=macosx,dc=example,dc=com</code><br />
<code>cn: automountMap</code><br />
<code>objectClass: container</code></p>
<p><code>dn: ou=macosxodconfig,cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>ou: macosxodconfig</code><br />
<code>objectClass: organizationalUnit</code></p>
<p><code>dn: cn=mcx_cache,cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>cn: mcx_cache</code><br />
<code>objectClass: apple-configuration</code></p>
<p><code>dn: cn=ldapreplicas,cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>cn: ldapreplicas</code><br />
<code>objectClass: apple-configuration</code></p>
<p><code>dn: cn=passwordserver,cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>cn: passwordserver</code><br />
<code>objectClass: apple-configuration</code></p>
<p><code>dn: cn=macosxodpolicy,cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>cn: macosxodpolicy</code><br />
<code>objectClass: apple-configuration</code></p>
<p><code>dn: cn=CollabServices,cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>cn: CollabServices</code><br />
<code>objectClass: apple-configuration</code></p>
<p><code>dn: cn=CIFSServer,cn=config,ou=macosx,dc=example,dc=com</code><br />
<code>cn: CIFSServer</code><br />
<code>objectClass: apple-configuration</code></div>
<p>Once you have the LDIF file, use <code>ldapadd</code> to add the structure to the LDAP server.</p>
<h4>Step 3 &#8211; Configure the LDAP mappings on the server</h4>
<p>The next step, which is absolutely critical to get right (otherwise you will get obtuse and thoroughly unhelpful and useless errors from Workgroup Manager) is to ensure that Directory Utility is configured correctly with the LDAP server and the correct mapping between OSX and the LDAP directory.</p>
<p>To start configuring the server, start <a class="image" title="Directory Utility" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/3.png" rel="lightbox[165]">Directory Utility</a>. Switch to Advanced mode and click on the Services tab. Now add an LDAPv3 service. The LDAP Mappings should be configured to be RFC 2307 as a base, but <a class="image" title="Attribute mapping window" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/2.png" rel="lightbox[165]">we need to make some modifications</a>.</p>
<p>To existing <code>Users</code> record:</p>
<p>add <code>MCXFlags</code> mapped to <code>apple-mcxflags</code><br />
add <code>MCXSettings</code> mapped to <code>apple-mcxsettings</code></p>
<p>To existing <code>Groups</code> record:</p>
<p>add <code>MCXFlags</code> attribute mapped to <code>apple-mcxflags</code><br />
add <code>MCXSettings</code> attribute mapped to <code>apple-mcxsettings</code></p>
<p>Add <code>Computer</code> record, with object type <code>apple-computer</code> and search base of <code>cn=computers,ou=macosx,dc=example,dc=com</code>, then:</p>
<p>add <code>RealName</code> attribute mapped to <code>apple-realname</code><br />
add <code>Category</code> attribute mapped to <code>apple-category</code><br />
add <code>Comment</code> attribute mapped to <code>description</code><br />
add <code>IPAddress</code> attribute mapped to <code>ipHostNumber</code><br />
add <code>IP6Address</code> attribute mapped to <code>ipHostNumber</code><br />
add <code>EnetAddress</code> attribute mapped to <code>macAddress</code><br />
add <code>Keywords</code> attribute mapped to <code>apple-keyword</code><br />
add <code>MCXFlags</code> attribute mapped to <code>apple-mcxflags</code><br />
add <code>MCXSettings</code> attribute mapped to <code>apple-mcxsettings</code><br />
add <code>NetworkView</code> attribute mapped to <code>apple-networkview</code><br />
add <code>Group</code> attribute mapped to <code>apple-computerlist-groups</code><br />
add <code>UniqueID</code> mapped to <code>uidNumber</code><br />
add <code>GeneratedUID</code> mapped to <code>appled-generateduid</code><br />
add <code>AuthenticationAuthority</code> mapped to <code>authAuthority</code><br />
add <code>PrimaryGroupID</code> mapped to <code>gidNumber</code></p>
<p>Add <code>ComputerGroups</code> record, with object type <code>posixGroup</code>, <code>apple-group</code>, <code>extensibleObject</code> (note, you must choose “Map to <span style="text-decoration: underline;">all</span> items in list”) and search base of <code>cn=computer_groups,ou=macosx,dc=example,dc=com</code>, then:</p>
<p>add <code>GroupMembers</code> mapped to <code>apple-group-memberguid</code><br />
add <code>GroupMembership</code> mapped to <code>memberUid</code><br />
add <code>Member</code> mapped to <code>memberUid</code><br />
add <code> PrimaryGroupID</code> mapped to <code>gidNumber</code><br />
add <code>HomeDirectory</code> mapped to <code>apple-group-homeurl</code><br />
add <code>HomeLocOwner</code> mapped to <code>apple-group-homeowner</code><br />
add <code>MCXFlags</code> mapped to <code>apple-mcxflags</code><br />
add <code>MCXSettings</code> mapped to <code>apple-mcxsettings</code><br />
add <code>NestedGroups</code> mapped to <code>apple-group-nestedgroup</code><br />
add <code>RealName</code> mapped to <code>apple-group-realname</code><br />
add <code>Comment</code> mapped to <code>description</code><br />
add <code>EMailAddress</code> mapped to <code>mail</code><br />
add <code>Picture</code> mapped to <code>apple-user-picture</code><br />
add <code>JPEGPhoto</code> mapped to <code>jpegPhoto</code><br />
add <code>Keywords</code> mapped to <code>apple-keyword</code><br />
add <code>GeneratedUID</code> mapped to <code>apple-generateduid</code><br />
add <code>SMBRID</code> mapped to <code>rid</code><br />
add <code>SMBGroupRID</code> mapped to <code>primaryGroupID</code><br />
add <code>SMBSID</code> mapped to <code>sambaSID</code><br />
add <code>TimeToLive</code> mapped to <code>ttl</code><br />
add OwnerGUID mapped to <code>appled-ownerguid</code><br />
add <code>URL</code> mapped to <code>labeledURI</code><br />
add <code>ContactGUID</code> mapped to <code>apple-contactguid</code><br />
add <code>GroupServices</code> mapped to <code>apple-group-services</code><br />
add <code>ServicesLocator</code> mapped to <code>apple-serviceslocator</code><br />
add <code>XMLPlist</code> mapped to <code>apple-xmlplist</code><br />
add <code>PrimaryComputerGUID</code> mapped to <code>apple-primarycomputerguid</code><br />
add <code>MapCoordinates</code> mapped to <code>apple-maccordinates</code></p>
<p>Add <code>ComputerLists</code> record, with object type <code>apple-computer-list</code> and search base of <code>cn=computer_lists,ou=macosx,dc=example,dc=com</code>, then:</p>
<p>add <code>MCXFlags</code> mapped to <code>apple-mcxflags</code><br />
add <code>MCXSettings</code> mapped to <code>apple-mcxsettings</code><br />
add <code>Computers</code> mapped to <code>apple-computers</code><br />
add <code>Group</code> mapped to <code>apple-computer-list-group</code><br />
add <code>GeneratdUID</code> mapped to <code>apple-generateduid</code><br />
add <code>Keywords</code> mapped to <code>apple-keyword</code></p>
<p>Having configured the LDAP mappings you can actually store the LDAP mappings themselves in LDAP. Use the <a class="image" title="Write Settings to Server button" rel="lightbox[openldap-mac]" href="/labs/wp-content/uploads/2009/11/11.png" rel="lightbox[165]">&#8220;Write Settings to Server&#8221;</a> button. Specify a DN with write access to that part of the tree and specify a search base under which <code>ou=macosxodconfig</code> exists &#8211; for our example tree this is <code>cn=config,ou=macosx,dc=example,dc=com</code>. The mapping will be written to the <code>description</code> attribute as base 64 encoded XML.</p>
<h4>Step 4 &#8211; Configure LDAP settings on client</h4>
<p>To start configuring the server, start Directory Utility. Switch to Advanced mode and click on the Services tab. Now add an LDAPv3 service. The LDAP Mappings should be configured to be from server. Set the search base to be <code>dc=example,dc=com</code> with the configuration search base as <code>cn=config,ou=macosx,dc=example,dc=com</code>.</p>
<h4>Step 5 – Automount</h4>
<p>As the automount stuff can also be used by Linux workstations also, it won&#8217;t be stored under <code>ou=macosx,dc=example,dc=com</code>, but directly under<code> dc=example,dc=com</code>.</p>
<p>The following LDIF imports the correct structure.</p>
<div id="code-area"><code>dn: automountMapName=auto_master,dc=example,dc=com</code><br />
<code>objectClass: automountMap</code><br />
<code>objectClass: top</code><br />
<code>automountMapName: auto_master</code></p>
<p><code>dn: automountMapName=auto_home,automountMapName=auto_master,dc=example,dc=com</code><br />
<code>objectClass: automountMap</code><br />
<code>objectClass: top</code></p>
<p><code>dn: automountkey=*,automountMapName=auto_home,automountMapName=auto_master,dc=example,dc=com</code><br />
<code>objectClass: automount</code><br />
<code>objectClass: top</code><br />
<code>automountInformation: -fstype=nfs,rw,intr nfsserver:/home/&amp;</code><br />
<code>automountKey: *</code></p>
<p><code>dn: automountKey=/home,automountMapName=auto_master,dc=example,dc=com</code><br />
<code>objectClass: automount</code><br />
<code>objectClass: top</code><br />
<code>automountInformation: auto_home</code><br />
<code>automountKey: /home</code></div>
<p>The LDIF can be added using <code>ldapadd</code>, as usual.</p>
<h4>Step 6 – Success</h4>
<p>At this point, your server and client are hopefully fully set up. You should now be able to view your existing users and groups in Workgroup Manager. When you log into OS X workstations, you should be able to see your NFS home directory, and have any settings from Workgroup Manager applied.</p>
<h4>Step 7– Troubleshooting</h4>
<p>There are various techniques you can use for debugging.</p>
<h5>LDAP server:</h5>
<p>Make sure that your OpenLDAP server is logging verbosely enough. A reasonable log level is:</p>
<div id="code-area"><code>loglevel sync stats</code></div>
<p>If you&#8217;ve changed the <code>loglevel</code>, restart the LDAP server then monitor the logs in <code>/var/log</code> using <code>tail -f</code></p>
<h5>Directory Service</h5>
<p>Directory Service is a daemon used on OS X to handle all kinds of Directory Lookups, including LDAP. It will log verbosely if it is sent the USR1 signal:</p>
<div id="code-area"><code>killall -USR1 DirectoryService</code></div>
<p>Logs will now be written to <code>/Library/Logs/DirectoryService/DirectoryService.debug.log</code></p>
<p>See what&#8217;s stored in the database.</p>
<p>Use a tool such as <a href="http://jxplorer.org/">JXPlorer</a> to examine what is being stored in the LDAP dirctory. Check that the records contain the base64 encoded XML that you expect them to.</p>
<h5>Workgroup Manager</h5>
<p>To enable additional debugging in Workgroup Manager, go to Preferences and choose “Show &#8216;All Records&#8217; tab and inspector. This will allow you to see the LDAP records directly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/osx-and-openldap-taming-the-leopard/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Karmic Koala polish fixes EPS support issues in Inkscape</title>
		<link>http://www.siriusit.co.uk/labs/2009/karmic-koala-polish-fixes-eps-support-issues-in-inkscape/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/karmic-koala-polish-fixes-eps-support-issues-in-inkscape/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 11:13:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[desktop publishing]]></category>
		<category><![CDATA[eps]]></category>
		<category><![CDATA[eps2pdf]]></category>
		<category><![CDATA[epstopdf]]></category>
		<category><![CDATA[Ghostscript]]></category>
		<category><![CDATA[InDesign]]></category>
		<category><![CDATA[inkscape]]></category>
		<category><![CDATA[istockphoto.com]]></category>
		<category><![CDATA[karmic]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pstoedit]]></category>
		<category><![CDATA[Scribus]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[TeX]]></category>
		<category><![CDATA[texlive-extra-utils]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=161</guid>
		<description><![CDATA[The requirement for a new brochure last week got me tackling one of those periodic (and in my case instantly forgettable) gotchas &#8211; how to do I import EPS images into Inkscape?
I&#8217;ve been using Ubuntu Linux for years but there is one application that I just can&#8217;t give up &#8211; Adobe&#8217;s InDesign. I use it [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fkarmic-koala-polish-fixes-eps-support-issues-in-inkscape%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fkarmic-koala-polish-fixes-eps-support-issues-in-inkscape%2F" height="61" width="51" /></a></div><p>The requirement for a new brochure last week got me tackling one of those periodic (and in my case instantly forgettable) gotchas &#8211; how to do I import EPS images into Inkscape?</p>
<p>I&#8217;ve been using Ubuntu Linux for years but there is one application that I just can&#8217;t give up &#8211; Adobe&#8217;s InDesign. I use it on a Mac. Yes, it&#8217;s expensive and proprietary but when it comes to desktop publishing there really is no substitute. Currently it&#8217;s hard to find a commercial printer that doesn&#8217;t balk at the idea of non Adobe-generated Postscript. That&#8217;s a shame because tools like Scribus are excellent.</p>
<p>At Sirius we make extensive use of image libraries like <a href="http://www.istockphoto.com">istockphoto.com</a>. Very few designers who operate from such royalty-free libraries produce their vector scalable graphics in anything other than EPS. That&#8217;s okay if the graphic doesn&#8217;t need manual editing, you just import it straight into Adobe InDesign. But if you want to do a little tweaking you need a drawing program. On Linux, that means Inkscape.</p>
<p><span id="more-161"></span></p>
<p>And yet, here&#8217;s the thing &#8211; Inkscape doesn&#8217;t support the EPS format yet. It currently builds its vector images using SVG, an open standard. Unsurprisingly Adobe InDesign doesn&#8217;t support SVG. So what&#8217;s one to do? Buy Adobe Illustrator? I don&#8217;t see the point particularly when Inkscape is so capable.</p>
<p>Searching Google produced lots of desperate pleas from users who have experienced the same problem and lots of sub-optimal solutions. Some suggest importing your EPS into Scribus and exporting it as a SVG. Others suggest doing something similar with OpenOffice Draw. In my experience neither work satisfactorily. The former strips out large swaths of the original image and the latter &#8216;flattens&#8217; the graphic so it becomes uneditable.</p>
<p>So to the command line.</p>
<p>During my investigations the leading contender was initially &#8216;pstoedit&#8217;. In theory this script should have processed the original EPS into a SVG file using the Ghostscript libraries:</p>
<p><code>pstodit -f plot-svg illustration.eps illustration.svg</code></p>
<p>The idea was then to edit the SVG and export it as an InDesign-friendly PDF. In practice, however, the resulting SVG was seriously degraded and unusable.</p>
<p>What about &#8216;epstopdf&#8217;, a little script that lives in the package &#8216;texlive-extra-utils&#8217;:</p>
<p><code>epstopdf illustration.eps</code></p>
<p>In theory this simple command should have produced what I was after. And yet attempting this on Ubuntu Jaunty threw the error:</p>
<p><code>sh: epstopdf: not found<br />
Error: Problems running epstopdf. Check your TeX installation</code></p>
<p>This slightly odd-looking error is a known problem in Jaunty which can be caused by an inconsistent set of TeX packages and versions.</p>
<p>Short of spending hours in TeX related forums I discovered there is a quicker solution &#8211; upgrade to Ubuntu&#8217;s latest release, Karmic Koala.</p>
<p>Much to my relief &#8216;epstopdf&#8217; now processes the original EPS file perfectly and delivers a PDF that Inkscape has no problem editing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/karmic-koala-polish-fixes-eps-support-issues-in-inkscape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenNMS: Enterprise Network Management Revealed</title>
		<link>http://www.siriusit.co.uk/labs/2009/opennms-enterprise-network-management-revealed/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/opennms-enterprise-network-management-revealed/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 08:24:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[business applications]]></category>
		<category><![CDATA[network monitoring]]></category>
		<category><![CDATA[openjdk]]></category>
		<category><![CDATA[opennms]]></category>
		<category><![CDATA[openview]]></category>
		<category><![CDATA[RANCID]]></category>
		<category><![CDATA[tivoli]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=153</guid>
		<description><![CDATA[In the build up to the release of a series of benchmarking tests for network monitoring / management applications based on Open Source technologies, Tom Callway speaks to Tarus Balog, the CEO of the OpenNMS Group and current maintainer of the OpenNMS open source network management project.
1. What is OpenNMS?
&#8220;OpenNMS is the world&#8217;s first enterprise-grade [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fopennms-enterprise-network-management-revealed%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fopennms-enterprise-network-management-revealed%2F" height="61" width="51" /></a></div><p><em>In the build up to the release of a series of benchmarking tests for network monitoring / management applications based on Open Source technologies, Tom Callway speaks to Tarus Balog, the CEO of the <a title="OpenNMS" href="http://en.wikipedia.org/wiki/OpenNMS">OpenNMS</a> Group and current maintainer of the OpenNMS open source network management project.</em></p>
<p><strong>1. What is OpenNMS?</strong></p>
<p>&#8220;OpenNMS is the world&#8217;s first enterprise-grade network management application platform developed under the open source model.&#8221;</p>
<p>What the heck does that mean?</p>
<p>It was registered on Sourceforge in March of 2000, although it was started in 1999, so it has been around for awhile &#8211; long enough to qualify as &#8220;world&#8217;s first&#8221; when you add that &#8230;</p>
<p>It was designed from the beginning to be &#8220;enterprise-grade&#8221; which means it can manage tens of thousands if not hundreds of thousands of network elements. We have commercial support clients who are using one instance of OpenNMS to collect on over 50,000 discreet devices, another collecting data from over 120,000 interfaces (this results in 1.2 million data points every five minutes) and still another with 200 devices, each with 32,000 interfaces per device.</p>
<p>OpenNMS was also built to be a network management application platform. Users can use OpenNMS as a framework on which to build a unique management solution. While OpenNMS does a lot out of the box, it really shines when it is customised for a given network.</p>
<p><span id="more-153"></span></p>
<p><strong>2. Why was it so important to release OpenNMS as a free, open source project? What advantages does it bring as opposed to using an opencore business model?</strong></p>
<p>Many people involved with OpenNMS have been doing some form of network management for decades. Those of us with a lot of experience are actually a pretty small group, and we were all frustrated with the fact that commercial solutions weren&#8217;t powerful or flexible enough for us to easily deploy them for clients (not to mention the licensing costs). We thought that if we had some common platform on which to build our solutions, we could more easily meet our clients&#8217; needs, and thus OpenNMS was born. The only way to make it grow quickly and be fair to all involved was to make it a pure open source project.</p>
<p>As for &#8220;open core&#8221; &#8211; that combination of open and commercial software &#8211; it goes directly against what we were trying to achieve. Open core vendors immediately put a line in the sand, saying &#8220;these features are &#8216;enterprise&#8217; and you shall not have them&#8217;, thus the community is forced either to reinvent the wheel or to fork the project, or both. We hope that they&#8217;ll just use OpenNMS.</p>
<p><strong>3. How is the project organised and how might somebody interested in contributing to the project get involved?</strong></p>
<p>The two main places for OpenNMS involvement are the <a href="http://www.opennms.org/wiki">Wiki</a> and the <a href="http://www.opennms.org/wiki/Mailing_lists">discussion lists</a>.</p>
<p>While the project is backed by a commercial entity called The OpenNMS Group, the project is maintained by a group of about 20 people called <a href="http://www.opennms.org/wiki/Order_of_the_Green_Polo">The Order of the Green Polo</a>. Membership is solely based on merit, and new members are voted in by existing members.</p>
<p><strong>4. There are lots of competitive open source and proprietary network monitoring tools out there &#8211; what makes OpenNMS different?</strong></p>
<p>The scalability and flexibility of OpenNMS make it attractive for carriers and large enterprises. If an organisation has a dedicated IT department and at least one person who focuses on management, they are probably a good candidate for using OpenNMS. In many of these companies we have replaced <a href="http://en.wikipedia.org/wiki/HP_OpenView">OpenView</a> and <a href="http://en.wikipedia.org/wiki/IBM_Tivoli">Tivoli</a> because those products simply could not handle the load.</p>
<p>In the open source marketplace, it seems that most vendors are focusing on the smaller organisation. Their products are great for users with a modest number of devices to monitor, but they break at scale. Some of the open core options in this space would like to say they compete with the large management vendors, but in fact they are more often competing with products like <a href="http://en.wikipedia.org/wiki/SolarWinds">Solarwinds&#8217; Orion</a>. Think about it: some open core vendors charge US$100+ per device per year to license their software. A modest OpenNMS client has 2000 devices. At those prices they would have to pay US$200,000 per year for the open core option, which over, say, a 5 year lifetime makes it more expensive then HP or IBM, thus they can&#8217;t really play in our space.</p>
<p><strong>5. Can you tell us more about OpenNMS&#8217; provisioning capabilities?</strong></p>
<p>It&#8217;s one thing to be able to manage a large number of devices, but if one has to spend hours and hours configuring the software to perform the management, then it isn&#8217;t enterprise-grade.</p>
<p>OpenNMS has always had a a powerful automatic discovery feature. New devices can be easily added to the system and management &#8220;just works&#8221;. However, we had one client, Swisscom Hospitality Services, with over 50,000 devices and a very dynamic network. There was no way automated discovery could have worked well with all of the adds, moves and changes they were doing. Since they have an internal database of their IT infrastructure, we had them export that into a specially formatted XML file, which OpenNMS could then import nightly. There was a key to relate the equipment in the Swisscom database to the device in the OpenNMS database and thus very complex changes (nodelabel, IP addresses, etc) could be easily handled.</p>
<p>The only downside was that it was all or nothing. One either used the automatic discovery or the model importer. In version 1.8 we will release a totally new provisioning system that combines the best of both worlds.</p>
<p><strong>6. Can you expand more on the integration of RANCID and OpenNMS and why this is important?</strong></p>
<p>A good portion of The OpenNMS Group revenue comes from custom development (100% of which is rolled back into the project). We had a client in Italy approach us to help them get rid of both OpenView and <a href="http://en.wikipedia.org/wiki/CiscoWorks">CiscoWorks</a>. RANCID provides much of the functionality of CiscoWorks and being open source it allowed us to easily integrate it with OpenNMS. These efforts is expected to save the client over €1M per year.</p>
<p><strong>7. Has the user experience improved with OpenJDK?</strong></p>
<p>Not really. <a href="http://en.wikipedia.org/wiki/OpenJDK">OpenJDK</a> is nice in many ways, not the least of which is that those of us who are in open source and develop in Java are not seen as black sheep anymore (well, at least not as much). The problem is that OpenJDK is not a perfect port of the <a href="http://en.wikipedia.org/wiki/Java_Development_Kit">Sun JDK</a> and since OpenNMS utilizes the Java VM to the hilt we have uncovered some bugs in OpenJDK. We reported them and they have been addressed, but I think it will be a year or two before the users will actually start to see the benefit of an improved user experience.</p>
<p><strong>8. Can you elucidate the auto-discovery and other features that can make a user&#8217;s life easier?</strong></p>
<p>In many products one has to manually add the device and services to be monitored, i.e. 10.1.1.1 is a Cisco Router, 10.1.1.10 is a Windows server, etc.</p>
<p>With OpenNMS, any new device must be put into the configuration files, but then every instance of that device is automatically detected. For example, I am working with a client who uses <a href="http://en.wikipedia.org/wiki/29West">29West software</a>. The 29West application has a really nice <a href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol">SNMP</a> <a href="http://en.wikipedia.org/wiki/Management_information_base">MIB</a>, so I analyzed it and set up OpenNMS to collect on important metrics regarding the performance of the software. Now, anytime the 29West software is discovered on a device, that data collection automatically occurs.</p>
<p>The best part is that since OpenNMS is open source, the community contributes quite a few configurations and thus with each release it can manage more and more devices.</p>
<p><strong>9. How does OpenNMS fare performance-wise?</strong></p>
<p>As I mentioned above, at <a href="http://en.wikipedia.org/wiki/Swisscom">Swisscom</a> we are monitoring 50,000+ devices. At New Edge Networks they have over 14,000 devices but a whopping total of 120,000+ interfaces. We are doing data collection on about 10 data points per interface every five minutes which is something that few products can do. At a telecom company in Italy we managing devices with 32,000 interfaces per device (many virtual, of course), which breaks OpenView.</p>
<p>Now this doesn&#8217;t necessarily run on a Pentium III laptop with 512MB of RAM &#8211; each of these systems has hardware finely tuned to support OpenNMS &#8211; but hardware is cheap compared to the cost of comparable enterprise management software. Part of the services offered by the OpenNMS Group is advice on sizing the OpenNMS server.</p>
<p><strong>10. Can you tell us about Device / Service and Device / Device dependencies?</strong></p>
<p>The basic data model is that a physical device should correspond to a &#8220;node&#8221; within OpenNMS. This isn&#8217;t always the case, as virtual machines can show up like they were &#8220;real&#8221; machines, but that is the basic idea. The node supports at least one IP interface, and on that interface will be services.</p>
<p>The service monitoring piece of OpenNMS can range from a simple ping or port check up through complex website navigation and mail transport round trip performance. For a telecom company in Honduras we are testing voice quality and SMS performance using distributed cell phones. If a service availability test fails to meet the configured criteria for proper operation, events are generated and outage records are created.</p>
<p>OpenNMS is smart enough to be able to correlate all services down on an interface to an interface outage, and all interfaces down on a node to a device outage. Using the Path Outage feature of OpenNMS, the topology of devices can be taken into account (so that a router going down does not result in 200 node down notices being sent).</p>
<p>In addition, OpenNMS has an alarm subsystem similar to IBM Tivoli&#8217;s <a href="http://en.wikipedia.org/wiki/IBM_Tivoli_Framework">Netcool</a> product. It allows for ad hoc correlations to be configured so that, say, &#8220;up&#8221; alarms are matched with &#8220;down&#8221; alarms and then cleared.</p>
<p><strong>11. What&#8217;s coming up in version 1.8?  What are you most excited about?</strong></p>
<p>There are lots of things in 1.8 that I&#8217;m excited about, but the two main features are the new provisioner and access control changes.</p>
<p>The provisioning system combines the best of the current automated discovery and the model importer. It gives the user the ability to finely control discovery, from what gets discovered, down to which non-IP interfaces are scheduled for data collection. It can be very permissive (discovering lots of services automatically) to very restricted (only monitoring particular, explicit services on these devices) or some combination of the two. In addition, provisioning changes can cause actions to be taken on external systems, such as changing the node label on a device can cause the DNS entry for that device to be dynamically updated. This compliments the OpenNMS Trouble Ticketing API as another area where two way interaction between the platform and other applications is being implemented.</p>
<p>There is also the addition of access control. Currently, any privileged user of OpenNMS can see all the devices on a particular instance. This doesn&#8217;t work well in service provider environments where the client wants to give access to multiple clients but only to their particular resources. For our larger clients this has always been easy since there is a separate customer portal that just mines data from OpenNMS, but for others this will make their lives easier, especially in multi-tenancy environments.</p>
<p>My favorite feature in 1.8 is WMI data collection. Not because I like Windows (I had to go and buy a Windows license just to test the feature) but the fact that it was contributed by a community member, Matt Raykowski, who became a member of the Order of the Green Polo because of it. Contribution to OpenNMS ranges from simple typo correction all the way up to powerful features like WMI collection, and I&#8217;d bet few projects can claim as much on the higher end as we do. That&#8217;s why I like it so much.</p>
<p>Many people give lip services to open source, but OpenNMS proves that a) open source can compete at the highest levels in the enterprise and b) that it can be done without resorting to commercial software business models.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/opennms-enterprise-network-management-revealed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenERP: an introduction to Open Source ERP</title>
		<link>http://www.siriusit.co.uk/labs/2009/openerp-an-introduction-to-open-source-erp/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/openerp-an-introduction-to-open-source-erp/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 08:46:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Application development]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[business applications]]></category>
		<category><![CDATA[erp]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[openerp]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=141</guid>
		<description><![CDATA[An enterprise thrives or fails according to how well it does what it does. That much is, or should be, obvious. Inevitably, as they grow processes are put in place which seek to improve efficiency. In recent years with essentially all employees having access to computers, software has been built to recreate those processes electronically.
Enterprise [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fopenerp-an-introduction-to-open-source-erp%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fopenerp-an-introduction-to-open-source-erp%2F" height="61" width="51" /></a></div><p>An enterprise thrives or fails according to how well it does what it does. That much is, or should be, obvious. Inevitably, as they grow processes are put in place which seek to improve efficiency. In recent years with essentially all employees having access to computers, software has been built to recreate those processes electronically.</p>
<p><a href="http://en.wikipedia.org/wiki/Enterprise_resource_planning">Enterprise Resource and Planning</a> (ERP) software comes as a suite of utilities to do just that and divides business processes broadly into the following conceptual areas in order to make the structure of very complex software manageable:</p>
<ul>
<li>manufacturing</li>
<li>supply chain</li>
<li>financial</li>
<li>project management</li>
<li>human resource management</li>
<li>customer/supplier management</li>
</ul>
<p>In other words there&#8217;s something for everyone who is involved with the management of companies. ERP software can be extremely complex, as it must be to meet the needs of some of the largest and most sophisticated companies in the world.</p>
<p><span id="more-141"></span></p>
<p>This article is about <a title="OpenERP" href="http://openerp.com/">OpenERP</a> &#8211; a fully featured, free and open source ERP software suite. But before describing the features of OpenERP there are some background points to make about the use of ERPs by enteprises and the scope of the post needs to be clarified.</p>
<p>Many organisations, in the late nineties commissioned bespoke software to match their business  processes. They worked from these processes and &#8216;computerised&#8217; them. Often as not the result amounted to a collection of Visual Basic forms which were (and often still are) very popular.  However the following systemic problems emerged:</p>
<ul>
<li><strong>Process Freeze:</strong> being &#8216;fleet of foot&#8217; is intrinsic to successful trading so having 	business processes effectively frozen in time by bespoke software 	(which cannot easily be modified) is a very bad thing indeed;</li>
<li><strong>Over Elaboration:</strong> operatives in the field have much less interest in 	ERP than do the managers in the office! So any excuse not to 	complete a form or navigate a menu will do just fine. Things like &#8216;more than you need&#8217; or over complex menus and mandatory fields 	which no longer exist on the new product just stop folk from using the software;</li>
<li><strong>Use Anywhere:</strong> even SMEs operate in multiple countries on different computing platforms and increasingly require access away from the office.</li>
</ul>
<h2>Technical Overview</h2>
<p>OpenERP is free and open source software written in the popular <a href="http://python.org/">Python</a> programming language. It uses GTK to create an attractive user front end and enterprise-class database <a href="http://www.postgresql.org/">PostgreSQL</a> at back end. It has three main packages: OpenERP server, OpenERP desktop client and OpenERP Web Client.</p>
<p>This means&#8230;</p>
<ul>
<li>that an ERP server (and fail over/backup server) must be setup and supported.</li>
<li>OpenERP can be installed on Linux or Windows operating systems.</li>
<li>there are no software costs or licences are incurred</li>
<li>the web server/client model allows access anywhere from any Internet-enabled device with a browser installed</li>
</ul>
<p>A vanilla OpenERP installation is relatively easy to setup. It took our engineers less than an hour to have the system up and running with sample data for a &#8217;services&#8217; company installed. OpenERP provides a good range of alternative sample data packs for differnet companies. The desktop client works on Mac, Linux and Windows. The web-based client worked on every browser we tested.</p>
<p>The first thing to appreciate is that OpenERP is modular. It has 300 modules to chose from out-of-the-box and, of course, you are free to write your own. It follows that you can assemble what is effectively a bespoke package to meet your company&#8217;s processes.</p>
<p>This is in contrast to the traditional way of doing things where the software is built as a &#8216;one time compilation&#8217; against your specification. This approach depends on how well you specify your  business processes, the modular approach allows for enormous flexibility.</p>
<ul>
<li>modules provide a powerful way to model your company&#8217;s processes but those contemplating migration need to take a  look at what they do now;</li>
<li>it would be a mistake to see OpenERP&#8217;s wealth of modules as an easy way to produce a modern, web-based &#8217;shoe-in&#8217; for your existing bespoke system;</li>
<li>migrating to OpenERP successfully will require a full analysis of your existing business processes.</li>
</ul>
<p>These bridges must be crossed early in the project management process if expectations are not to be unrealistic.</p>
<h2>Using OpenERP</h2>
<p>For a newcomer to any software package being able to make sense of what is going on early is vital. This is particularly true for one that will be exposed to technophobic accountants or sales people. OpenERP claims to be the most intuitive of all the ERPs available. One is always suspicious of such a claim and we find things get a lot more &#8216;intuitive&#8217; once you have learned what to do! However, the project provides <a title="excellent documentation on its web site" href="http://doc.openerp.com/">excellent documentation on its web site</a> and a <a title="comprehensive book" href="http://openerp.com/buy/books.html">comprehensive book</a> to go with it.</p>
<p>Far from being tedious and baffling we found our introduction to OpenERP relatively painless. Motivation came from coming across features that were immediately appreciated for their intrinsic utility rather than gimmickry. In ERP features are not &#8216;cool&#8217;, they must be useful and usable. To give a few examples:</p>
<ul>
<li>a Dashboard whose appearance and functionality is tailored to the needs of each user;</li>
<li>rule-based templates for setting pricing policies across the board including customer specific discounts, percentage markups and so on;</li>
<li>automatic propagation of accounts data into all areas of the ERP;</li>
<li>double-entry stock management;</li>
<li>fully integrated email/sms and company wiki.</li>
</ul>
<p>Login using a web browser and you are greeted by the Dashboard screen complete with pretty graphs, ToDos, shared calendars, inspiring public messages from the boss, what ever you wish. In fact it&#8217;s a standard pane-element format which you can shuffle around and customise. Think iGoogle. At the top of the screen there are just two tabs as standard (Main Menu and Shortcuts) but using shortcuts you can add tabs for the ERP features that you will want. Editing panes and navigating sub-menus is easy. This simplicity and flexibility to customise increases greatly the work force&#8217;s &#8216;buy-in&#8217; to actually use the system.</p>
<p>The blend of web-style navigation and right click menus/help combines well with a sense of coherence that good data-propagation gives. For example, if an accountant back in Zurich downgrades a Partner&#8217;s (another key concept of the package which is more &#8216;customer&#8217;) credit rating through his accounts modules then the Sales operative in the field in Bulgaria has his Sales Management module suitably updated on his netbook or smartphone. Meanwhile at Head Office in London they can see the lot.</p>
<p>Analytical tools are vital to any substantial company to keep track of what is going on and to plan for the future. These abound in OpenERP including account analysis packages which allow more than simple reporting required by law; a double entry stock management module which keeps track if stock from where it came via the warehouse to where it went; and a fully-featured project management modules with a decent Gannt utility.</p>
<p>In other words OpenERP gives you the kind of features you would expect as standard with a costly SAP system running on Oracle, only here we have a free and open source product running on PostgreSQL.</p>
<h2>Summary</h2>
<p>OpenERP is perhaps the paradigmatic exemplar for the power of Open Source development methodology and the module approach to customisation. This well funded, tightly co-ordinated project has produced an astonishingly intuitive and powerful business tool. As with all such projects its future will depend on real-world utility and quality control. So far these two boxes are thoroughly ticked. SAP watch out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/openerp-an-introduction-to-open-source-erp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why we moved to Drupal</title>
		<link>http://www.siriusit.co.uk/labs/2009/why-we-moved-to-drupal/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/why-we-moved-to-drupal/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 14:43:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cms]]></category>
		<category><![CDATA[acls]]></category>
		<category><![CDATA[cck]]></category>
		<category><![CDATA[content types]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[views]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=133</guid>
		<description><![CDATA[At Sirius we&#8217;ve just completed the migration of our corporate website from Joomla! to Drupal. There are many discussions of the relative merits of Drupal and Joomla!, but we thought it would be interesting to discuss what we&#8217;ve learned.
Joomla! and Drupal superficially claim to do the same sort of job. Both allow you to get [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fwhy-we-moved-to-drupal%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fwhy-we-moved-to-drupal%2F" height="61" width="51" /></a></div><p><img class="alignleft size-full wp-image-135" style="margin-left: 10px; margin-right: 10px;" title="drupal150px" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2009/09/drupal150px.jpg" alt="drupal150px" width="120" height="138" />At Sirius we&#8217;ve just completed the migration of our <a href="http://www.siriusit.co.uk">corporate website</a> from Joomla! to Drupal. There are many discussions of the relative merits of Drupal and Joomla!, but we thought it would be interesting to discuss what we&#8217;ve learned.</p>
<p>Joomla! and Drupal superficially claim to do the same sort of job. Both allow you to get a well structured website supporting multiple contributors up and running quickly and easily. If anything, Joomla! is probably the more straightforward of the two to set-up. It&#8217;s very easy to get near-instant gratification from a Joomla! deployment while you&#8217;re still knee-deep in Drupal&#8217;s &#8216;blocks&#8217;, &#8216;views&#8217; and &#8216;taxonomies&#8217;.</p>
<p>Our Joomla! based site served us well for three years but as our need for new features grew, so did the arguments for switching to Drupal. While both Drupal and Joomla! offer a thriving market for third-party extensions, we felt that Drupal&#8217;s architecture was better suited to us.</p>
<p>In any system there is a trade-off between simplicity and flexibility. As noted above, Joomla! is probably the quicker of the two systems to set-up, but the flip-side is that it makes more assumptions about the nature of your site whereas Drupal encourages you to make those decisions for yourself.</p>
<p><span id="more-133"></span></p>
<h2>ACLs</h2>
<p>Although the plans for Joomla 1.6 are reputed to include ACL features, Joomla 1.5 simply divides users into Public, Register and Special.</p>
<p>For many sites this is sufficient, but for our needs it&#8217;s too coarse. A free extension called noixACL is available which adds multiple group membership and fine-grained, generic ACL facility but the lack of support for this concept in Joomla!&#8217;s core makes it a difficult solution to administer.</p>
<p>For example, controlling access to menu administration effectively comes down to blocking or allowing various values of the &#8220;task&#8221; CGI variable. Unfortunately &#8220;task&#8221; is part of the internals of a module, not its public API. It can contain useful values such as &#8220;edit&#8221; or &#8220;view&#8221; but also less elegant ones such as &#8220;orderup&#8221;, &#8220;orderdown&#8221;, &#8220;accesspublic&#8221; or &#8220;accessspecial&#8221;. You don&#8217;t want to grant separate  permissions for moving a menu item up and moving it back down! Also, because the values of these tasks are also conceptually private data for a module there is no obligation for them to remain constant &#8211; from one release to the next &#8220;trash&#8221; might change to &#8220;delete&#8221;. NoixACL&#8217;s &#8220;adapter&#8221; for these actions needs to track these changes and this is a major maintenance headache.</p>
<p>Drupal, by contrast, has core-level support for ACLs which is very elegant. It requires extensions to register the actions they allow users to perform and has a centralised tool for associating these actions with &#8220;roles&#8221; and and assigning different (and multiple) roles to different users. The names of these actions are explicitly part of a module&#8217;s public API and so they tend to be meaningfully named and don&#8217;t change between releases.</p>
<h2>Content Types</h2>
<p>In Joomla! you effectively have a predefined set of content types which behave in fixed ways. Extra content types can be added by installing extension modules but these modules are have no generic way of being aware of and interacting with each other. For example, it is often the case that the category structures have to be defined separately for each content type, especially where something more complex than Joomla!&#8217;s two-level Section-Category hierarchy, is insufficient. In effect individual modules act as miniature applications in themselves with their own structures, permissioning and management interfaces.</p>
<p>With Drupal, you use something called CCK (Content Construction Kit) to define new content types at a much finer level with their own metadata, workflows, permissioning and processing. The site administrator is then responsible for using these content types to build &#8216;views&#8217; &#8211; ordering the processing filter pipelines explicitly and pumping them out as dynamic &#8216;pages&#8217; or &#8216;blocks&#8217;. It&#8217;s more work to implement but the result is that content types can be treated by extensions as homogeneous, opaque objects.</p>
<h2>The Bottom Line</h2>
<p>Essentially, the Joomla! vs Drupal decision comes down to a question of requirements. While your needs are met by Joomla!&#8217;s basic features and a few chosen extensions, it remains an easy to administer system.</p>
<p>But as you start to deviate from the structure that Joomla! provides out-of-the-box, and particularly when you start to have more complex content and user types, Drupal pays off the extra effort.</p>
<p>One common misconception is that Drupal is difficult to theme. The simple answer to that is &#8216;not necessarily&#8217;. As with Joomla!, templates can be purchased online but we found that with a little CSS fu, existing free templates could be massaged to get excellent results.</p>
<p>Finally the increasing number of &#8216;commercial&#8217; Joomla! extensions was becoming a real bugbear for us. It really grates to have to pay for plugins that more often as not you can&#8217;t QA the sourcecode because they&#8217;re encrypted. By contrast every single Drupal module we&#8217;ve used is free and open source. Together these reasons make Drupal far more attractive to professional web developers. You get far more control and somebody else isn&#8217;t eating into your profit margin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/why-we-moved-to-drupal/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Simple Request Tracker customisations using callbacks</title>
		<link>http://www.siriusit.co.uk/labs/2009/simple-request-tracker-customisations-using-callbacks/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/simple-request-tracker-customisations-using-callbacks/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 13:07:56 +0000</pubDate>
		<dc:creator>chowells</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[Request Tracker]]></category>
		<category><![CDATA[request tracker]]></category>
		<category><![CDATA[rt]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=121</guid>
		<description><![CDATA[At Sirius we&#8217;re fans of Request Tracker, which is excellent free software for running a help desk. One reasonably common question on the Request Tracker user&#8217;s mailing list is &#8220;how do I make setting a subject mandatory when creating a ticket?&#8221;. Another useful modification that we use at Sirius is to force setting a non-zero [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fsimple-request-tracker-customisations-using-callbacks%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fsimple-request-tracker-customisations-using-callbacks%2F" height="61" width="51" /></a></div><p>At Sirius we&#8217;re fans of <a href="http://bestpractical.com/rt/">Request Tracker</a>, which is excellent free software for running a help desk. One reasonably common question on the Request Tracker user&#8217;s mailing list is &#8220;how do I make setting a subject mandatory when creating a ticket?&#8221;. Another useful modification that we use at Sirius is to force setting a non-zero priority on tickets.</p>
<p><span id="more-121"></span></p>
<p><span style="background-color: #ffffff;">RT is designed to be easily customised, and one way of achieving both of these features is to hook into Request Tracker&#8217;s BeforeCreate callback. This callback gets called every time the &#8220;Create&#8221; button is pressed when creating a new ticket. If you haven&#8217;t provided a callback the ticket is created as normal. If you have provided a callback, the chunk of code is executed, and the ticket creation can be postponed in the event of unacceptable input such as no subject.</span></p>
<p>Therefore we can force setting a mandatory subject using the following chunk of perl.</p>
<pre>&lt;%init&gt;
my $ARGSRef = $ARGS{'ARGSRef'};

if ($$ARGSRef{'id'} eq 'new')
{
    if ($$ARGSRef{'Subject'} !~ /^[a-zA-z0-9]+/)
    {
        my $msg = loc("You must set a subject, and the subject must start with a letter or number");
        $RT::Logger-&gt;debug($msg);
        push @$results, $msg;
        $$skip_create = 1;
    }

    if ($$ARGSRef{'InitialPriority'} !~ /^([1-4]{1}|99)$/)
    {
        my $msg = loc("Initial priority must be 1, 2, 3 or 4");
        $RT::Logger-&gt;debug($msg);
        push @$results, $msg;
        $$skip_create = 1;
    }
}
&lt;/%init&gt;
&lt;%args&gt;
$skip_create =&gt; undef;
$checks_failure =&gt; undef;
$results =&gt; undef;
&lt;/%args&gt;</pre>
<p>To install this into your RT installation, create a file containing the callback under:</p>
<pre>html/Callbacks/Sirius_Callbacks/Ticket/Create.html/BeforeCreate</pre>
<p>On Debian with Debian&#8217;s RT packages, the full path is</p>
<pre>/usr/share/request-tracker3.8/html/Callbacks/Sirius_Callbacks/Ticket/Create.html/BeforeCreate</pre>
<p>(Naturally you don&#8217;t have to use the directory &#8220;Sirius_Callbacks&#8221;, it&#8217;s an arbitrary name and doesn&#8217;t need any configuration anywhere.)</p>
<p>It&#8217;s advised to then <a href="http://wiki.bestpractical.com/view/CleanMasonCache">clear out the Mason cache</a>, and restart Apache. You will need to clear out the Mason cache if you modify the callback, for the changes to take effect.</p>
<p><span style="background-color: #ffffff; ">Some things to note about the above code.</span></p>
<pre>my $ARGSRef = $ARGS{'ARGSRef'};</pre>
<p>gives us <a href="http://perldoc.perl.org/perlref.html">reference</a> to several perl variables that will provide useful information in the callback, such as the provided subject and priority.</p>
<p>The variable $results is an array containing messages that should be displayed to the user to help them correct their invalid input.</p>
<p>The variable $skip_create is set to 1 (i.e. true) if invalid input is received, and thus RT knows not to not actually go ahead and create the ticket and display the contents of $results, instead.</p>
<p><span style="background-color: #ffffff; ">A useful improvement would be to allow the regular expressions used to validate the subject and priority to be configured in the RT configuration file, if anybody has a solution, we will be glad to publish the results.</span></p>
<p>The end result, if you haven&#8217;t provided the required information.</p>
<p>And if you have, the ticket will be created as normal.</p>
<p><span style="background-color: #ffffff; "><img style="border: 0px initial initial;" title="beforecreate-rt" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2009/09/beforecreate-rt.png" alt="beforecreate-rt" width="590" height="332" /></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/simple-request-tracker-customisations-using-callbacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dave Page on PostgreSQL and PGDay.EU 2009</title>
		<link>http://www.siriusit.co.uk/labs/2009/dave-page-on-postgresql-and-pgday-eu-2009/</link>
		<comments>http://www.siriusit.co.uk/labs/2009/dave-page-on-postgresql-and-pgday-eu-2009/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 09:07:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[dave page]]></category>
		<category><![CDATA[pgday.eu]]></category>
		<category><![CDATA[postgis]]></category>

		<guid isPermaLink="false">http://www.siriusit.co.uk/labs/?p=100</guid>
		<description><![CDATA[In the build up to PGDay.EU 2009, an event which we&#8217;re sponsoring, Tom Callway caught up with friend and colleague Dave Page to talk about the PostgreSQL project and how this somewhat unsung Open Source project is taking on the enterprise database market.

1) What do you do for the PostgreSQL project?
I&#8217;m a member of the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fdave-page-on-postgresql-and-pgday-eu-2009%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.siriusit.co.uk%2Flabs%2F2009%2Fdave-page-on-postgresql-and-pgday-eu-2009%2F" height="61" width="51" /></a></div><p>In the build up to <a title="PGDay.EU 2009" href="http://2009.pgday.eu/" target="_self">PGDay.EU 2009</a>, an event which we&#8217;re sponsoring, Tom Callway caught up with friend and colleague <a href="http://pgsnake.blogspot.com/" target="_self">Dave Page</a> to talk about the <a href="http://www.postgresql.org/" target="_self">PostgreSQL</a> project and how this somewhat unsung Open Source project is taking on the enterprise database market.</p>
<p><span id="more-100"></span></p>
<div id="attachment_104" class="wp-caption aligncenter" style="width: 510px"><strong> </strong><strong><img class="size-full wp-image-104" title="davepage" src="http://www.siriusit.co.uk/labs/wp-content/uploads/2009/09/davepage.jpg" alt="Dave Page, PostgreSQL core team" width="500" height="333" /></strong><p class="wp-caption-text">Dave Page, PostgreSQL core team. Photo by Michael Glaesman</p></div>
<p><strong>1) What do you do for the PostgreSQL project?</strong><br />
I&#8217;m a member of the project&#8217;s core team of 7 contributors. We are  basically the steering committee that makes decisions on release  schedules and other project management issues &#8211; the things that cannot  be effectively done by the community at large without running into  security, privacy or &#8216;bikeshedding&#8217; issues. Generally, we try to do  everything possible within the community.</p>
<p>My &#8216;real&#8217; work within the community spans multiple areas. I started  out, and remain as lead developer of pgAdmin, our management GUI and also look after the  &#8216;one-click&#8217; PostgreSQL multi-platform installers,  and related technologies such as StackBuilder which allows you to piece together a complete application stack with PostgreSQL at the  core. I also work as one of the project&#8217;s webmasters and sysadmins looking after our infrastructure.</p>
<p><strong>2) What&#8217;s unique about PostgreSQL and where do you see its position relative to other enterprise-class databases?</strong><br />
There is no doubt that PostgreSQL can hold it&#8217;s own in the enterprise  DBMS space. We have a feature set in the core server which is  comparable to many of the commercial offerings on the market, and when you consider the vast array of add-ons that are available, such as  <a href="http://postgis.refractions.net/">PostGIS</a> for GIS applications, or Bucardo, Londiste or Slony for  replication it&#8217;s clear that the user has a vast array of choice. That&#8217;s one of the beauties of PostgreSQL &#8211; it was designed to be  extensible which allows users to add or create pretty much any functionality they need.</p>
<p>It&#8217;s true that in years gone by, PostgreSQL has been criticised for  it&#8217;s performance. The project has <em>always</em> chosen correctness over  performance &#8211; to us, data integrity must always come first. Despite  this, over the last few years we made huge performance improvements &#8211; I regularly hear from users that have ported their applications from  other leading DBMSs and are extremely happy that PostgreSQL&#8217;s performance has matched or surpassed their previous system.</p>
<p>These are the things that make the project unique &#8211; it&#8217;s Open Source, <em>and</em> it can stand up against the leading commercial competitors on both performance and features.</p>
<p><strong>3) What are its key strengths and weaknesses?</strong><br />
The key strength in my mind is our community. We have a vast array of  contributors providing user support, code, documentation, advocacy and  other contributions to the project coming from <a href="http://www.postgresql.org/community/contributors/">a wide variety of  backgrounds</a>. We have people from global technology companies as well as  countless individuals working together on a daily basis to build on and improve PostgreSQL &#8211; as far as I know, no other DBMS has anything  remotely approaching that amount of diversity and experience in it&#8217;s team. That helps us continue to make significant improvements with every release.</p>
<p>I think our main weakness is that as a volunteer project, it&#8217;s very  hard to manage our direction. We have no direct control over our contributors so we cannot say &#8220;we&#8217;re going to implement feature X for this release&#8221; unless someone actually volunteers to do it, and follows through on that offer. We&#8217;re lucky that a lot of time the features people want to write are things that we want in the server. Unfortunately though, we also have people writing things we don&#8217;t want, and other work that needs manpower, but few people are interested in working on. Driver maintenance is an example of this &#8211; writing a ODBC driver for example just isn&#8217;t very appealing to most developers, so we struggle in such areas relying on just one or two key developers.</p>
<p>We also struggle a little on the marketing side of the project. We have some great people working hard on PostgreSQL advocacy, but real marketing requires real money. We&#8217;re going directly up against companies who spend millions annually on marketing their products, which is hard to compete with.</p>
<p><strong>4) In your opinion, what have been the biggest technical advancements in PostgreSQL over the past year?</strong><br />
PostgreSQL 8.4 was recently released after a little over a year of  development. The focus of the release was improvements to the administration and management of the server. Key to this were new  features such as:</p>
<ul>
<li><em>Parallel restore: </em>this allows restores from backup to use multiple processes which can in turn utilise multiple CPU cores on your machine, allowing for significantly faster restore time.</li>
<li><em>Free Space Map rewrite:</em> the new free space map is dynamically sized, removing the need for manual tuning, or performance degradation in the event that it is inadvertently under-sized. This project also provided the infrastructure for the new visibility map which greatly reduces vacuum overhead for slowly-changing tables, and for index-only scans (in which key values can be retrieved directly from the index, rather than having to look them up in the heap) and is being worked on for 8.5.</li>
<li><em>pg_migrator:</em> this is an external utility which allows many users of PostgreSQL 8.3 to quickly migrate their databases to 8.4 without having to dump and reload their data &#8211; a task which on large databases could mean hours or even days of downtime.</li>
</ul>
<p>In addition we also added support for advanced SQL features such as windowing functions and recursive queries, both of which are important to many users of other enterprise DBMSs.</p>
<p><strong>5) What do you think are the biggest challenges that PostgreSQL needs to overcome in order to increase its adoption?</strong><br />
I think our biggest problem in the commercial space is being taken seriously as a competitor to the proprietary DBMSs. We know the software is up to the task, but companies are often wary of relying on Open Source projects for their infrastructure or products and want the sort of services such companies provide to give them the reassurance that that choosing PostgreSQL is a low cost and low risk option.</p>
<p>In the Open Source space as well as at the grass-roots level in IT departments and the hobbyist space, our main challenge is getting PostgreSQL to be used as the default database in the application stack. Part of the work we&#8217;re doing to address this is the StackBuilder project, which allows the one-click installer users to get up and running with popular applications such as Drupal or Mediawiki in just a few mouse clicks. We also try to proactively help other projects wherever possible. If a project has a desire to support PostgreSQL or needs to bring the quality of their support up to the same level as they offer for other DBMSs, then we try to offer any help or assistance they need.</p>
<p><strong>6) Can you tell us a little more about PGDay.eu 2009 and what its objectives are?</strong><br />
PGDay.eu 2009 is the third big PostgreSQL conference to be held in Europe. It&#8217;s a chance for existing users and developers to meet and learn more about each other, both person to person and through the great lineup of talks we&#8217;re planning which will offer something for everyone. It&#8217;s also an excellent opportunity for those considering deploying PostgreSQL to come and hear the success stories, meet the developers and see the wide range of companies involved in PostgreSQL who can provide support and services should they need them. Of course &#8211; not only will there be the conference itself in the day time, but there will also be time for socialising in the evenings. The aim is simple &#8211; to get people together, learn about and discuss PostgreSQL, and to have a good time doing it.</p>
<p>See you in Paris!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siriusit.co.uk/labs/2009/dave-page-on-postgresql-and-pgday-eu-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
