Archive for the ‘Open Source’ Category

November 14, 2008
Filed Under (Open Source, Web Development) by Ollie Cronk on 14-11-2008

Alfresco Logo I came across Alfresco a couple of years ago at the MySQL European Customer conference – at the time they were relatively new and didn’t look that relevant. I’ve kept one eye on them since and have recently had the opportunity at work to look at alternatives to Sharepoint. Alfresco is now looking very, very interesting in this respect.

Alfresco’s features cover:

Its not that often (although admitedly it is now getting more common) you find an Open Source product that is strong on features / usability and is technically strong. The reason I say it is technical strong is due to the way it embraces and leverages Open Standards and Open Source Java components (Such as Hibernate etc – which good PHP frameworks have borrowed heavily from recently).

One of Alfresco’s people writes an interesting blog on the Business/Politics of Open Source: http://news.cnet.com/openroad/

Another Interesting Alfresco blogger is John Newton: http://newton.typepad.com/content/ He has an article on CMIS (Content Management Interoperability Services) which sounds fantastic.

Look forward to learning (and blogging) more about Alfresco if I get the opportunity…



October 24, 2008
Filed Under (Open Source, PHP, Technology, Web Development, Zend Framework) by Ollie Cronk on 24-10-2008

Today we put live the new Intranet at AEA which has been Kat’s major project (should get to spend more time with her now its launched!) with some support from me and impressive efforts from the dev team.

Previously we had a static HTML Intranet which wasn’t really serving the needs of the business as well as it could. The new site is based on the AEA Framework – which I’ve blogged about a bit before. Essentially an extension of the Zend Framework glueing Silverstripe and other 3rd party components together with a single sign on approach (in this case we are also using LDAP to do logins from our current Novell infrastructure). We built on our HTML content crawler tool to hoover in the static HTML into the Content Management System.

Over time we will leverage the framework to create more efficient web 2.0 style business processes and work with PPC to combine it with other off the shelf tools that they specialise in; and hopefully push it globally across the group…

I’ve also had some exciting news this week which I will share when I can.

All exciting stuff!



July 21, 2008
Filed Under (Open Source, PHP, Technology, Ubuntu) by Ollie Cronk on 21-07-2008

Warning! Techy post – if your not into Web development you’ll want to skip this one…

I’ve been wanting to try out Zend Core (Zend’s standard PHP stack / extension or “Reliable PHP made easy”) for a while but as Ubuntu isn’t officially supported I’ve held off. A problem with some code running on the Ubuntu version of PHP 5 forced my hand – I discovered that its actually not that hard to get ZC up and running on Ubuntu. Thought I’d share in case this is helpful to anyone…

  1. Download, unpack and run the ./install command as per usual
  2. I opted to stick with the version of Apache already installed (as its slightly newer than the Zend bundled one)
  3. My experience of Zend attempting to configure Apache varied – one some boxes it almost worked, others it didn’t. If you find the installer crashing out just untick the configure Apache option and try again.
  4. Once Zend Core has completed you’ll need to tweak things abit…

PHP5 Module

The ZC installer will have probably left your Apache configured with 2 LoadModule php5_module entries (one in /etc/apache2/apache2.conf – thanks to ZC and the other Ubuntu one in /etc/apache2/mods-enabled/php5.load). So you can either do a sudo a2dismod php5 to remove the Ubuntu one or modify the Ubuntu one to the following:

LoadModule php5_module /usr/local/Zend/Core/modules/apache22/libphp5.so

In fact you can be cunning here by commenting out the Ubuntu PHP5 extension and adding the ZC one in this file – allowing you to effectively switch between the 2 different extensions should you need to.

MySQL extension – if you’re using MySQL then you’ll need to watch out for the fact that the bundled MySQL extensions look for the MySQL socket file in /tmp/mysql.sock rather than the Debian / Ubuntu location which is /var/run/mysqld/mysqld.sock

In most cases changing in php.ini:

mysql.default_socket =
to
mysql.default_socket = /var/run/mysqld/mysqld.sock

Does the trick; but alas not in all cases it seems (eg MySQL PDO). Really hacky fix to this (please do let me know if you have something better – other than editing the socket in the /etc/my.cnf file) is to run a scheduled (using crontab) symlink of /var/run/mysqld/mysql.sock to /tmp/mysql.sock

To do this run: sudo crontab -e
and add the following line:

 5 * * * * ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

And for now that works for me. If you want a copy of some of the relevant config files / snippets (including the extra bit that ZC adds to the apache2.conf) then I have zipped them up for ease.

Zend Core itself looks like a good product – being able to access to php.ini options via web based tool is pretty useful, as is knowing you are working on a consistent & tested version of PHP. Its a shame MySQL doesn’t offer a similar free / unsupported version of their MySQL Enterprise in a similar way really…



May 02, 2008
Filed Under (Open Source, PHP) by Ollie Cronk on 02-05-2008

This blog is now running the latest version of WordPress which offers an overhauled admin area one of the first enhancements you notice is a nice new dashboard with metrics.

WordPress 2.5.1 dashboard screenshot

Widgets management in WordPress 2.5

I’ve discovered the dynamic sidebar (which allows widgets to be added using the visual admin interface rather than editing code in the template files) and switched on the tags widget in this version (I’ve been tagging articles for a while they’ve just never shown up). See the bottom screenshot – what you can’t see is the nice drag and drop re-ordering of the widgets in the sidebar.

Some playing around was needed to get the tags looking reasonable in the sidebar. By default tags are just rendered in text or flat mode. However by changing the line 1362 in widgets.php from

wp_tag_cloud();
to:
wp_tag_cloud($args = array('format' => 'list'));

The tag cloud will then render as a HTML list which looks a bit better (until I can get around to doing some styling and turn it into a true tag cloud – where the tag words get bigger the more popular they are).



March 27, 2008
Filed Under (Open Source, PHP, Technology, Web Development) by Ollie Cronk on 27-03-2008

Really impressed with the latest release of MediaWiki (the software that runs Wikipedia). Just upgraded the Wiki we use at work from 1.9 to 1.12 – the upgrade was pretty much problem free – some new features I’ve found useful:

  • Will now email you pages that change on your watchlist – if you give it your email address in the preferences section
  • Nice WYSIWYG editor – using the latest FCKEditor Plugin which is now hugely easier to setup (was an absolute pain and a hack to get it working before)
  • Discovered the Geshi syntax highlighting – thanks to Lorna‘s (from iBuildings) Blog

If you are looking for Wiki software (and don’t have the budget for Confluence – which looks very nice indeed) then check it out – mega easy to install and dead easy to use once you install the FCKeditor plugin (as Wiki text can be a bit of a barrier to adoption).

FishEye

Setup FishEye this week – if you have SVN or CVS then you have to check this out – has instantly made my life easier – and I think it will really help the growing dev team at AEA too…



March 15, 2008
Filed Under (Open Source, PHP, Ubuntu, Web Development, Zend Framework) by Ollie Cronk on 15-03-2008


March 12, 2008
Filed Under (Open Source, PHP, Web Development) by Ollie Cronk on 12-03-2008

Update: We have now gone for Vanilla forum which is really nice. PHP4 but has a really nice interface, next step Framework integration!

This is more for notes to myself for now – that I installed bbPress (by the same developers as WordPress that this blog runs on) and Phorum 5. To see if they are any good / worth using at work (eg will they integrate well with other web tools/the Zend/AEA Framework, how well are they written and documented, whats the licensing etc).

Dev site links and notes:
bbPress Logo

bbPress: http://blog.cronky.net/bbpress/

This integrates quite nicely with WordPress (uses the same users) would be good if it could use more of the WordPress installation stuff (eg templating). Also has a nice Poll plugin (although code for this looks a bit hacky).

Cons: PHP4 based, Doesn’t look very mature from its version number, GPL license might cause issues when integrating.

Phorum 5: http://sucrose.cronky.net/phorum/

Particularly interested in this one as it looks good / feature rich but it is also BSD licensed making it more flexible to customise and incorporate into other frameworks without having to re-release an Open Source version.

Cons: Again PHP 4 based.

Silverstripe Forum Module (need to install on dev box)

The other thing to consider is whether a dedicated tool like one of the above offers compelling advantages over the Silverstripe Forum module (although the Forum module is a bit alpha in our experience so far – but then it is at v0.1.2!)

Some benefits of the SS module include PHP5 / MVC implementation, that we are already using SS for CMS anyway…



March 08, 2008
Filed Under (Linux, Open Source, Sony Stuff, Technology, Ubuntu) by Ollie Cronk on 08-03-2008

Desktop of Hardy HeronBit of a techy one here (so skip this if your not into Linux!) but sometimes these posts are useful to others!!!

Whilst trying to get my Sony memory stick slot (Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) working on my Vaio under Ubuntu 7.10 (Gutsy) I came across this bug report where someone recommended trying the live CD of the latest release (Hardy Heron) to see if that fixed the issue.

Not sure is progress on the issue with the memory stick reader has been made – instead of:

[10321.605008] tifm_core: MemoryStick card detected in socket 0:0
[10321.611165] tifm_ms: Unknown symbol tifm_has_ms_pif

I now get:

tifm_core: MemoryStick card detected in socket 0:0

Which is possibly a bit of a backwards step!

However what I did discover is that the alpha (development) version of Hardy – the new 8.04 version of Ubuntu which is due for release next month – is pretty stable. So I have decided to take the plunge and did a dist upgrade (changing the /etc/apt/sources to reference hardy rather than gutsy and then running upgrade-manager -d). So far working well (hopefully not famous last words!!) writing this from it.

This thread (SONY VAIO MEMORY STICK: tifm_7xx1: sd card detected in socket 0)
and another on Ubuntu Forums discusses a similar issue / mounting SD cards and the latter suggests using

sudo mount /dev/tfa0 <mount point>

but this doesn’t work for me – if anyone knows how you look up what a device is likely to be listed as I’d be keen to know (need to do a bit of digging on this). I think I need to resolve the tifm_ms bit first.

I have been contributing the bug report (feels good to give something back after all the years of being a Linux user – now on the way to becoming a tester / bug reporter – who knows one day I might write some code for it!!)

Hardy comes with Firefox 3 beta 3 which seems really good also (hope I won’t be eating my words!) unfortunately Firebug and Google Brower sync (two plugins I can’t live without!) don’t seem to be available for it yet – so I am mostly using FF2 still.



January 20, 2008
Filed Under (Open Source, PHP, Web Development) by Ollie Cronk on 20-01-2008

Recently re-worked the website I put together for LSA Ltd: www.travelf1.com to allow for easier updates by Lynden and the team.

It now uses Silverstripe 2.2.1 – an excellent open source Content Management System (we are using it extensively at work for “brochureware” – or sites that would otherwise be static HTML files – put together in Dreamweaver or similar).

Check it out if you are looking for a CMS – has some great features for both the end administrator (nice visual interface) and the developer (uses PHP5 and MVC).



October 31, 2007
Filed Under (Open Source, PHP, Technology, Web Development) by Ollie Cronk on 31-10-2007

This will be the first in a series* of articles on web applications development – not the specifics about programming, but more tips on the infrastructure and processes that can make life easier, more productive, successful and better aligned with best practises. Its based on my experiences of being in development teams and leading development teams.

I see these articles as being useful to a development team thats growing from a 1 or 2 man operation to a larger team and is perhaps using Open Source development tools such as PHP/PERL/Python and perhaps aren’t in a very processes driven environment…

Documentation

Most developers won’t generally document their work as a matter of course – either they simply forget, overlook it or its just not that exciting for them. So 3 things:

  • Illustrate the value of documentation
  • Build it into the development process
  • Make it exciting (oh okay you can never make documentation that exciting – so lets settle for a bit more interesting!)

Illustrating the value – most developers are already sold on documentation being a generally good idea but others aren’t. Some fear that by documenting they loose control over the project or the work that they primarily work on (in fact the reality is that is the opposite…) or they just really don’t see the point. Highlight the facts that it enables team work, improves quality, makes support and changes easier etc. Also that holding all the knowledge up in your head means that you are stuck in your current role as its not easy to bring others in to do what you do so you can be promoted.

Another great benefit is inducting new team members – it allows you to point new team members at the wiki site to help them get up to speed quickly – and you can also use that process to fill in any gaps in the documentation (and get the new start to include their tips and findings as they learn the ropes…

Build it into the development process – obviously you need to have a development process if you haven’t got one but once you have it just becomes part of the steps:

  • Requirements Gathering – document
  • Spec/design – document
  • Build/development – document

So ensure that documents are required for each step in the process – and make time for that documention. The nice thing is that documentation is a lot easier if done throughout the project life cycle rather than all at the end (then it is just really daunting) – as generally what you plan to do is what gets delivered (and if things deviate from the spec during development you can just adjust it)…

Make it more interesting – its more that just that in reality as its picking a documentation tool that supports the above points and works for the team. For me development documentation seems to works well with an internal/Intranet Wiki (something like MediaWiki for example). The main benefits (over office docs for example) it allows easy collaboration, allows for a geographically disbursed team and is generally nicer than using word processing software. It’s made more interesting by feeling very “Web 2.0” (as much as I hate the phrase!) and has some great tracking features – like the recently edited articles page. Once the team have seen the advantages and you bore you colleagues to death with “the W word” then you’ll find that you have a healthy wiki site and documentation, documentation, documentation (with any luck with minimal pain!)

Categorising the Wiki – here are some ideas on some categories that work:

  • Projects – Pages under here relate to discrete projects the team is working on
  • Infrastructure – documentation on the dev, staging and production server environments (eg Server configs, IP addresses, SLA details)
  • Process – Reference guide to the development and other IT processes so the team can refer to them and also make contributions and feedback on what is working.
  • Meeting Notes – Agendas and minutes for meetings – if you get this right then these allow for team communications when needed (rather than at forced meeting dates) and are links to other pages on the Wiki where the full details of a proposal or a project is available.

Blogging

Another option (which has some other positive side effects including marketing) is blogging about development projects – and this is something I am considering for my current team. The Wiki will be for the more technical and internal documentation aspects and the blog for what the project actually does. The added benefit of the blog is that it can do some link / SEO stuff for your projects and raise the profile of the development work that your team is doing to a wider audience. This is particularly useful if you develop an Intranet system for your company – where you are adding new features or enhancements over time.

To make MediaWiki easier to use (for those who aren’t familar with the syntax used on Wikipedia) we enabled a WYSIWYG editor – FCKEditor. There is a whole range of great Wiki software out there if you don’t like the look of MediaWiki – just do a Google or have a look at wikimatrix.

The next articles will more than likely be about:

  • Project Management tools (eg FogBugz) –
  • Development Meetings and Communication
  • Using a Framework (eg Zend Framework)

… watch this space!

*I don’t know how many there will be yet but if they are received well then heck there might be as many as 3 or 4!