Motorcycle Adventures and Free Software

Weblog: Archive

2008-10-01 - 2008-10-31

Long-Term Support for Midgard: Ragnaroek is here!

Posted on 2008-10-13 15:03:12 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to . 0 comments.

Midgard Ragnaroek

Midgard CMS switched to a synchronized release model this summer, and the first fruit of it is Midgard 8.09 Ragnaroek, a Long-Term Supported release launched last week:

Ragnaroek LTS is a Long Term Support version of Midgard for which bug fixes and minor feature improvements will be supplied by the Midgard community for several years. It is recommended that all Midgard users upgrade their installations to the Midgard 8.09 series for stability, performance and maintainance reasons. Upgrade from MidCOM 2.8 installations running with PHP5 has been made as seamless as possible.

The version is targeted to ease transition from web services using the deprecated Midgard 1.x APIs to the new Midgard2 architecture. Because of this, the release provides both API versions. This means that the release can be used to run both Midgard 1 applications like the version 2.9 of the MidCOM component framework, and Midgard2 applications like MidCOM3.

This is the easiest Midgard ever to install, thanks to the new datagard database and website setup tool. Binaries are available for many platforms thanks to openSUSE Build Service, making Midgard setup as simple as:

apt-get install midgard-data
datagard
<answer some questions>

And go to your newly created Midgard site, and start creating content. Sweet!

In his blog, Piotras explains more about the importance and long-term strategy related to Midgard 8.09.

Sponsored links

Microsoft Certification Exams save money using, phone card

Learn more about Midgard in FSCONS

Posted on 2008-10-14 06:29:55 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to . 0 comments.

FSCONS is the main Nordic conference on free software and free culture, held on October 24th - 26th in Gothenburg, Sweden. The schedule has lots of interesting stuff, including Wikipedia, Embedded Qt, OpenStreetMap and Jabber. But in addition, there will be two sessions on Midgard:

  • Midgard by Henri Bergius: I will be talking about this long-term open source CMS project and describe our technology strategy and the new synchronized development model. This stuff should be interesting not only to LAMP people, but also to GNOME developers, because as you might know, Midgard is not just CMS
  • Midgard Workshop by Tero Heikkinen: after you've learned more about the project, Tero's workshop will be an excellent opportunity to try it hands-on. Depending on attendance we will most likely focus on developer-oriented view at MidCOM3, the high-performance MVC framework that runs on top of Midgard2

In addition to us Finns, the Midgard guys from anykey will also most likely be there.

If you're interested in free software in the North, come to FSCONS. Irrespective where you side with your web technology choices, looking forward to discussing with you!

FSCONS 2008

Free software at work: OpenPsa2 is making a return

Posted on 2008-10-15 14:30:34 UTC in 60° 11.232 N 24° 58.236 E Helsinki, FI to . 0 comments.

In the recent OpenMind conference we were discussing how open source projects simply don't die as long as there is an interested user community: Even if the original company or individual who built the application stops working on it, somebody will always rise and start maintaining it.

Last few weeks have been a great example of this. Nemein is the company which originally built the OpenPsa2 suite of project management and CRM tools for consulting companies. In last two years there have been some shifts in strategy, and so we ceased working on the product.

OpenPsa2 under Midgard Ragnaroek

Luckily for our users, OpenPsa has been out under the GNU General Public License since 2004. This meant that while commercial development had stopped, they were able to step in and continue where we left off. It took a while, but during this fall Andreas Flack from Content Control started maintaining the software.

Now the effort is starting to bear fruit. Midgard world has recently settled into a new synchronized release model, and OpenPsa is swiftly catching up with the rest of the architecture. We expect that it may be released with the Ragnaroek 8.09.2 revision.

Good work, Andreas!

Flash is not the web

Posted on 2008-10-19 16:57:25 UTC in 41° 2.268 N 28° 55.620 E Istanbul, TR to . 0 comments.

Let me share a little piece of Internet happiness: When I got my iPhone, I wondered how could its web browser be so dramatically faster than the one on my N810. Could it be just that iPhone has faster processor, and uses WebKit instead of Mozilla? But at the same time, the state-of-the-art Firefox 3 on my MacBook Air was also feeling sluggish.

After giving this a little bit of thought, I decided, Flash must be the guilty party. Flash, as we know, is Adobe's proprietary framework for building multimedia-rich applications, and iPhone simply doesn't support it. Sometimes Flash is actually used for building interesting applications, but most usage online seems to be just fancy animated banners. So, I thought, there must be a smart way to get rid of Flash. And there is: With Firefox you can use the FlashBlock extension to excise all Flash content off the pages:

Arstechnica with Flashblock

With other browsers you could off course uninstall the Flash plug-in, but the problem is that sometimes there is Flash content you actually want to see. And in these cases FlashBlock works perfectly: each Flash area on a site is replaced with a box that you can activate at will. So before Flash is made obsolete by the recent advancements in HTML and Javascript, this option is the best of both worlds.

DeCSS, legal or illegal?

Posted on 2008-10-23 12:56:05 UTC in 40° 53.970 N 29° 10.350 E 22km SE of Istanbul, TR to . 0 comments.

While last year Finnish courts decided that breaking ineffective copy protection is legal, it seems this year the ruling has been reversed. Quick translation below:

Sihvo was sentenced into 30 day-fines. When deciding the judgement the court took into consideration that Sihvo had turned himself in to the police...

Again in this trial the key point was whether CSS copy protection that had been circumvented already in 1999 could be considered an "effective technological measure" as required by the law. The court decided that it could.

Guys, try to get it! Every time you make it difficult to move videos or music somebody has legally bought between devices they own by copy protection you play in the hands of the pirates. Illegally downloaded videos or music simply work better than bought ones!

DeCSS is a piece of free software initially published in 1999 that breaks the copy protection of DVDs. It makes it possible to watch your DVD films on Linux, or convert them to formats you can watch on mobile devices. Now that promoting DeCSS is supposedly illegal, it is a good time to download it, or amuse yourself with various ways to work around the ban.

Real-world example of a free software project handover

Posted on 2008-10-25 16:14:12 UTC in 57° 42.438 N 11° 56.280 E Göteborg, SE to . 0 comments.

I wrote earlier how a free software project never stops as long as there are people interested in it. Looking at Midgard's Ohloh analysis, I found a nice example:

Ohloh: MidCOM handover from Torben

Can you see a change when former MidCOM lead developer Torben withdrew from the project?

Midgard2 at FSCONS: Your data, everywhere

Posted on 2008-10-27 13:02:19 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to . 0 comments.

Last weekend we went to the Free Society Conference and Nordic Summit in Gothenburg to talk a bit about the new direction Midgard has been taking: making it a general replicated persistent storage library for multiple programming languages. The CMS itself is just an application using the library.

The basic idea is that the cloud is a trap that will move your data, and your applications beyond your control to proprietary data servers and web applications run by multinational corporations. If free software doesn't provide a compelling answer to that, we risk irrelevance.

A replicated, peer-to-peer system of synchronizing and sharing your data could be the answer. And Midgard2 is a framework providing just that. Bindings to different languages like PHP, Python and Mono, interprocess communications via D-Bus and XMPP, replication, and ability to run the same software from big server clusters to Nokia internet tablets should all help us get there.

Bergie in FSCONS: Midgard tackling the mobility challenge

In the conference we focused on outlining the big vision, and then ran a workshop where we showed some practical aspects of this. We set up Midgard2, and built a web application that allowed user to input a RSS feed address. This was stored to the database via midgard-php. Then a midgard-python process got notified about this via D-Bus, fetched the items and stored them to the database. The web front-end then displayed the articles. A clean example of interprocess communications.

Tero in FSCONS: Midgard 2 architecture

Peer-to-peer replication we demonstrated in Ville Sundell's XMPP workshop where we built a Python replication daemon monitoring for database changes via D-Bus and transmitting them via Jabber to other Midgard boxes. Quite promising! But still many things need to be written before we are in the "your data everywhere" utopia...

Oh, and for those wondering: Midgard2 is very much GNOME software, running on top of GLib, libgda, D-Bus and so forth.

LinkedIn Applications: automatic data into your resume

Posted on 2008-10-29 17:19:30 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to . 0 comments.

LinkedIn, the popular resume maintenance tool just got a little smarter: they added an applications catalogue that can make your profile there more dynamic. This is good as then potential business partners can find out more about myself from a single source, and I need to do less work to keep it up-to-date.

I immediately added three apps, displaying my latest conference presentations, upcoming trip plans and posts on my blog:

LinkedIn Applications on my profile

This is great as the applications already were part of my workflow. However, in general it is not a good idea to trust web apps to be the only place where you keep your things.

In my case, I'm using my Midgard-powered website as the backup where I automatically gather information I publish on other services like Jaiku or Flickr. This means that I can use the convenience and collaborative features of social web applications but still remain in control of my data. In the future I may move this to an even more replicated setup...

On Vikings and Free Software

Posted on 2008-10-29 17:45:49 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to . 0 comments.

Harmaasudet, the living history group we started in mid-90s, and the reason why I originally got into software, recently migrated back into the Midgard platform.

Harmaasudet website

Their webmaster and Nemein alumnus Heikki asked me for some history of Midgard, and this is what I wrote:

Well, original Midgard was completely programmed in order to run the Grey Wolves site. We hacked it together with @jlz in Helsinki Capital of Culture offices in Etelaranta at night time.

Before Midgard, the site had run on a SGML pipelines -based publishing system we called SusiSGML, and member registry on some custom Perl stuff. Then we wanted more dynamic functionality, and Midgard was born. At first @jlz was intending to write it in Scheme, but then chose the C+PHP extension.

For administration, we wrote the “Midgard Admin” tool, traces of which can still be seen in SpiderAdmin.

Midgard was intended to be a one-off, but then as my employer Stonesoft clearly needed some system I deployed there. Then @jlz was hired to my team, and we decided to open source Midgard before any IPR issues would rise with our employer, which was after all a proprietary software vendor.

When the original Midgard-based Grey Wolves site launched in early 99, we had the great example of what things can be: Hiiden Hirven Hiihto photos and reportage were live only couple of hours after the event ended. And this was before we had digital cameras…

Jukka Zitting, the original Midgard lead developer also added some points:

Architecturally SusiSGML was pretty much like early versions of Apache Cocoon, only with SGML and DSSSL instead of XML and XSL. Had we been at it a few years later, Midgard might have been based on Cocoon. :-)

The Midgard project will turn 10 years old next May, and so it is great time to collect some odd bits and pieces of Midgard folklore.

Some talking points for the Midgard Gathering

Posted on 2008-10-31 16:51:21 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to . 0 comments.

Since the Midgard Gathering is next week, I thought it would be time to write down some conversation starters related to it.

Clear vision

One important thing we need to settle on is a clear vision for Midgard. It should be a vision everybody in the community can agree with, and a vision that will benefit the user base.

I believe that "your data, everywhere" is the right idea. We should target Midgard for the replicated world where your application data can be easily transferred between multiple devices, served on the web, and shared with your friends.

While some believe that soon you will "never be offline", I think that level of ubiquitous connectivity is either unattainable or at least very far off in the future. What we need instead is to be able to have our data with us, wherever we go.

Unique visual identity

What really sets Apple's products apart is the "fit and finish," the ultimate impression that results from thousands of tiny decisions that go into a product's development. Take Apple's pioneering work in injection molding. It's part science, part art, and plenty of trial and error. (Who Is Jonathan Ive?)

Design is often what differentiates winners from the mass. Apple's beautiful laptops and cell phones are a good example of how you can beat a crowded market by focusing on design and details.

While we should have distinctive visual elements to build our user interfaces from, I don't mean only that. By design I mean that we really need to think hard of what our users need, and design beautiful interfaces that make things easy for them.

On the visual end, the Midgard colors of grey, orange and brown should stand out quite well. We have excellent icons done in the Tango style, and many other design elements coming from Ilkka Martio's work on Midgard2 styling. These should be cornerstones of the new visual user interface. In '99 Midgard had a strong, distinctive visual identity. We need to rebuild that.

Content management

Content management: This is the everything that happens with a piece of content after its created and until it dies. This includes the permissions, workflows, versioning, check in/out, task management, reporting, archiving, administrative searching, language translation, and any other action involved in keeping this content relevant, current, effective, and general under control. (The Four Disciplines of Content Management)

Midgard's origins have been in web publishing, and through strong templating and component systems this is where we've been quite good at. But content management we haven't done that well. At least, if content management is taken to a wider meaning than just "making stuff editable and published on the web".

With the new Midgard we have the delightful opportunity to rethink this all. Thanks to our active consulting companies and the powerful MVC framework we shouldn't focus on actual components this time - they will appear for sure through various client projects. Instead, we should concentrate on the basic ideas of content management.

This means that we should think of how the content is actually edited and published, and how it lives on in a service. Handling and connecting of content fragments, managing inter-document linkage, and versioning are all important features. Similarly, we should make it easy to send documents to commenting and approval rounds, and to serve them in multiple variants.

An important piece for this would be making the notification service that in older Midgard existed as a separate component an integral part of the system. Any Midgard application should be able to store and show notifications for users. If this is utilized from core up, then workflow between different parties working on a site or a document will be much easier.

To ensure consistency between components, and that components are as easy to develop as possible, MidCOM should provide a good set of controller baseclasses for typical content management activities.

Replication everywhere

Before his retirement as Microsoft's chairman, Bill Gates suggested that a so-called pervasive desktop would be a focus of Windows 7, giving users a way to take all their data, desktop settings, bookmarks, and the like from one computer to another--presumably as long as all those computers were running Windows 7. (PC World)

Even though Midgard has supported replication since 2000, it has always been a bit of an extra feature. Most installations have still been on the server end, with the server acting as an isolated island.

Following our "your data, everywhere" vision, this must change. Replication tools must be shipped with every Midgard installation, be it on server, on desktop, or on a mobile device. And they must be integrated with the user interfaces. Anywhere you edit something, you should be able to share it with others, and see where that piece of content originally came from, and who it has been shared with.

When online, the sharing and synchronization must happen instantly. When offline, the changes to be replicated must be collected into a local spool, and then sent over when connectivity is available.

Separating content objects from internal objects

...load-bearing walls in content management — those things that require a content editor to call a developer to change them. Where do you draw the boundaries? (Load-Bearing Walls in Content Management)

Everything in Midgard is an MgdSchema object, be it permission, site template, user, or an article. This is good in the sense that it allows familiar programming interfaces to be used on every level of the system. But it also means that internal objects sometimes end up being used as content objects, causing confusion.

For instance, persons and groups are often used as on-site content. But they differ from other pieces of content on many levels, for instance because they have so many other objects connected to them through permissions and metadata. Because of this they work with different rules regarding to deletion and approval than others, which many users can find frustrating.

We should see to have stronger differentiation between content objects of different types to ensure smoother usage and replication.

Quality

Quality criterias - Portability: Easy to configure in new environments, Few OS and webserver dependencies, Few and documented version dependencies (language version, database version, external libraries), Able to survive environment updates (Quality in PHP Projects Beyond Unittests)

Like many other pieces of free software, Midgard has been riddled by quality issues. While our bugs haven't meant gaping security holes, changing APIs and memory leaks have caused many grey hairs to our users.

To improve quality in the Midgard software stack we have already taken some steps. The new synchronized release model ensures that Midgard and MidCOM play well together and that component developers can start using new interfaces and features more quickly. It also makes Midgard more predictable to users, helping them to plan their upgrades well ahead.

The openSUSE Build Service has also increased the quality of Midgard software. Now we can provide prebuilt binaries to most popular Linux distributions, making installing and upgrading Midgard easier. The new datagard tool makes setting up a Midgard site a single shell command, which is also an important step here. In the future we should aim also for the virtualized systems by using tools like SUSE Studio.

Quality and backwards compatibility of commits is also important, as are coding standards in a major project like this. To that end, our new VCS Tyrant should be able to help our contributors in their work. Similarly, the newly-revitalized issue tracker with its clear milestones make tracking the development work easier.

Finally, better software testing is a major step to strive for. Regressions have hurt us in the past, and the only way to get rid of them is to to implement a good test suite. For this, we will have an unit testing workshop on the first day of the Gathering.

Documentation

If our intent is to encourage people to use these tools and to contribute their time to the development of these tools, we need to spend more energy on introductory documentation. Engineers who look at Sourceforge are looking either for solutions to problems or are looking for interesting tools. In either case the Web site needs to convey the important details in a short form to enable the reader to gauge their level of interest. Obscurity in documentation benefits no one as it annoys potential users and non-users alike. (Is Documentation Holding Open Source Back?)

Midgard's documentation wiki is currently in a horrible shape. As Midgard's capabilities have grown, and versions changed, new stuff has been added. But all of the old stuff is also there. And users, stumbling there either through the navigation or a google search, will have few ways to tell whether a document is up-to-date.

Developers clearly feel this frustration, and as result much of the newer documentation, especially for Midgard2 is available only in blog format.

Because of this, we really need to put an effort to improving the level of documentation. And important first step would be to take the current wiki content into control. Old information must be either removed or tagged to the version it belongs. Templates must be tuned so that they show clearly if something is current or historical information. And the new materials must be collected from the various blogs in order to be published on the site.

After this is done we must rethink the way the wiki is maintained. Maybe we need a "documentation master" just like we now have a "bug master" and a "VCS tyrant". Maybe we must switch to MediaWiki. Or maybe we must make the wiki a replicated system that we all can run and edit also on our own machines. As I am not quite sure of the right solution this must be discussed well in the Gathering.

Virtual servers

One of the more successful technologies to have been developed is virtualization. Broadly speaking, to virtualize is to make a single piece of hardware function as multiple pieces. Different user interfaces isolate portions of the hardware, and make each one operate as a separate entity. As applied to data centers, installing virtual infrastructure allows more operating systems and applications to run on fewer servers, which reduces overall energy use and cooling requirements. (Ecopreneurist)

In the past Midgard has been hurt much by the fact that root access is required. Less advanced content management systems have surpassed us in popularity by many orders of magnitude because anybody can set them up in just some web space.

But now I believe things are changing. Virtual servers are becoming cheaper and cheaper, and as they allow much larger degree of freedom than shared web hosting, companies and even individuals are now buying them instead. And on a virtual server you can run Midgard easily.

If we want to really benefit from the wide popularity of virtual servers, we must take some steps. First of all, Midgard must be very easy to install, as it is now thanks to datagard and OBS. And secondly, we should provide preconfigured "virtual appliance" images that hosting providers running Xen or VMware can set up just as easily as they would an off-the-shelf Debian or RHEL.

The replicated network setup should also take this into account. Users should be able to easily keep adding new virtual servers into their cluster and have that instantly start sharing data with their other servers.

Summer versus autumn identity

Posted on 2008-10-31 17:41:15 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to . 0 comments.

As I didn't go to LatinoWare this year, the extended summer is now officially over, and therefore it is time to change to autumn garb, also on my online identity. Background remains the same:

Summer BergieAutumn Bergie

I remember seeing somebody's blog change its background image according to weather outside, showing sunny or rainy scenery. Maybe I should follow similar idea, changing color scheme and avatar automatically based on location and temperature?

Back