Motorcycle Adventures and Free Software

Weblog: Archive

2006-06-01 - 2006-06-30

Email integration in OpenPsa 2

Posted on 2006-06-01 09:31:05 UTC to . 0 comments.

Seth Gottlieb has an interesting piece on email and content management:

I understand why email is such a tempting tool. That post outlines the reasons nicely: it is easy, universal, accessible, personalizable, reliable, and people just live in their email clients. Even I have to admit, the more you manage, the more you live in your email client. That is why most executives don't even need a computer anymore - just a blackberry to thumb a yes or no wirelessly.

This is exactly why we added email archiving support into OpenPsa 2. Lots of business communication happens over email, and it is important to be able to easily archive it into the CRM system.

With OpenPsa 2 the approach is that there is a shared "archiving" mailbox where all users can drag-and-drop relevant emails. OpenPsa monitors the mailbox and reads them in. Then it produces a wiki page out of them and links the message according to its time sender and receivers into the people and tasks concerned.

Imported email shown in a task

This way the important emails are stored in a secure and easy to find location, and the email client can handle its actual task, the sending and receiving of the day-by-day email.

Sponsored links

Microsoft Certification Exams โนเกีย Nokia มือถือ Online Project Management save money using, phone card
Reviews มือถือ Mobile All Apps

Remembering how to fly

Posted on 2006-06-02 17:08:04 UTC to . 0 comments.


Suomenlinna island fortress

Kerttu had her entry exams to the Biological faculty of University of Helsinki yesterday, and therefore she is now free to enjoy the summer.

To mark that, we decided to go flying a bit around Espoo and Porvoo. The runway 27 was in use so we took the plane out through Nokka and returned later through Deger.

The wind was a bit bumpy, but otherwise it was nice to fly again after the long winter break, made even longer by my trips to the US and Brazil.

BTW, this is first post from my Flickr account. Flickr supports the common blogging APIs and so can communicate with Midgard without problems.

Eating our own dogfood

Posted on 2006-06-08 18:47:29 UTC to . 0 comments.

This tuesday was the "day of the beast", and we decided to finally eat our own dogfood and deploy OpenPsa 2 into production.

This brought some nice benefits immediately, including seeing one's own invoicing rate on the front page and much better calendar and scheduling. However, as expected it also brought some annoyances we would've overlooked if we didn't use the system every day for real business.

First one of these was the calendar. OpenPsa 2 has a nice automated buddy list for adding project contacts to user's address book, and we had been using the same mechanism for populating calendar views. However, when you have many projects and customers, the buddy list tends to get quite long swamping the calendar.

So what I did today was add a system for deciding which of your buddies to display in the calendar through a simple AJAX interface:

Choosing buddies to display in calendar

Expect to see many such improvements soon as we encounter things to improve in our use of the software.

Make your site Growl

Posted on 2006-06-09 11:45:52 UTC to . 0 comments.

Growl is a very nice notification system for Mac OS X. It displays bubble-styled messages on the screen about various events like new instant messages or emails. We were looking for a new user interface messaging system for the Midgard web toolkit and decided to model it based on the Growl concept:

Two protoGrowl messages

Jerry Jalava from Incognito took the task, and as result we now have the first version of the protoGrowl Javascript library. The library can be used to display user interface messages both in Midgard applications and in any Javascript-supporting web page. Enjoy!

http://www.midgard-project.org/documentation/protogrowl/

Technorati tag:

Updated 19:40: You can also Digg this or comment it on Ajaxian.

Internet Tablet OS 2006 beta is out

Posted on 2006-06-09 17:55:11 UTC to . 0 comments.

I've just downloaded the Internet Tablet OS 2006 edition Beta to my Nokia 770. The software feels a lot faster, and the new features are really cool.

I even had my first chat using the thumb keyboard, and a 15 minute VoIP call with Tigert.

Maemo OS 2006 beta

Very promising. I hope Maemo Mapper and the Plazer get ported to the new OS version soon.

The OS X flashing instructions work too, though the software needed for the GUI method isn't available and I had to use command line.

Updated 2006-06-12: Jeff Waugh said it well: Nokia 770 is ready for the enterprise.

Navigation items and redirection

Posted on 2006-06-14 15:27:13 UTC to . 0 comments.

MidCOM has a centralized system for serving navigation information called Navigation Access Point. Typically the navigation UIs on Midgard-powered sites are dynamically constructed using this information.

However, sometimes webmasters want to have items in their navigation that actually direct the user somewhere else (and external URL, or just another folder on the site).

Now there is a solution to make these redirection folders easier, net.nemein.redirector. Just create a new folder handled by this component and set the configuration:

Redirection configuration

Speaking of redirections, we're leaving tomorrow morning to Poland for the Midgard Developer Meeting. Looking forward to seeing as many of you as possible there!

Updated 2006-07-21: Henri Kaukola from Vaisala pointed out that it would be useful to support different HTTP redirection status codes in the redirector. This is now done:

Choosing HTTP status code for the redirect

Midgard Developer Meeting in Komorniki

Posted on 2006-06-17 19:49:55 UTC to . 0 comments.

We spent the last two days driving from Helsinki to Poznan, Poland for the Midgard Developer Meeting. This proved to be a good field test for Maemo 2.0 as we needed to instruct people back home about some project details using Google Talk.

Instructing office through Maemo's Google Talk

Saturday

While the trip was a long one, it has definitely been worth it. So far we've covered the following:

Exploring Poznan's night life

Sunday

We hit the old square of Poznan again on saturday night after watching the Italy-USA game with Alessio, and toured the local bars until about 4am.

In Columbus Pub

We continued the meeting around 11am, have covered the following:

Piotras explains fashionability of different Midgard releases

Soon we start the long trip back home through Germany, Denmark and Sweden, completing the circle around the Baltic Sea.

In the other news, Oskari is blogging the trip in finnish. First part, second part, third part, fourth part, fifth part, sixth part.

Changing schemas on the fly

Posted on 2006-06-20 13:03:52 UTC to . 0 comments.

MidCOM datamanager allows you to have multiple page types, or schemas used in a folder. The schemas can provide different editable fields and different styling.

However, by default datamanager doesn't allow you to change a page's schema after it has been initially set. If you want to enable this, here is a quick hack.

  • Customize the net.nehmer.static component's template admin-edit for your site

  • Add the following below $data['controller']->display_form();

    // Load schema
    eval('$schemadb = Array( ' . midcom_get_snippet_content_graceful($data['config']->get('schemadb')) . " \n);");
    
    
    // Save selected schema
    if (   array_key_exists('net_nemein_customschema_change', $_POST)
        && array_key_exists($_POST['net_nemein_customschema_change'], $schemadb))
    {
        $data['article']->parameter('midcom.helper.datamanager2', 'schema_name', $_POST['net_nemein_customschema_change']);
        // Refresh page to get the new schema's editor
        echo '<script language=\"javascript\">location.replace(window.location + "#");</script>';
    }
    
    
    // Show selection form
    $current_schema = $data['article']->parameter('midcom.helper.datamanager2', 'schema_name');
    echo "<form method=\"post\">\n";
    echo "<label>Page type\n";
    echo "<select name=\"net_nemein_customschema_change\">\n";
    foreach ($schemadb as $schema_name => $schema)
    {
        $selected = '';
        if ($schema_name == $current_schema
            || (   $schema_name == 'default' 
                && $current_schema == ''))
        {
            $selected = ' selected="selected"';
        }
        echo "    <option value=\"{$schema_name}\"{$selected}>{$schema['description']}</option>\n";
    }
    echo "</select>\n";
    echo "</label>\n";
    echo "<input type=\"submit\" value=\"Change type\" />\n";
    echo "</form>\n";
    
  • Now the page schema should be easy to change:

Changing a page schema

Note: This quick tutorial applies only to components utilizing Datamanager 2 but should be easy to adapt to also old-style components.

The Midgard Position

Posted on 2006-06-20 18:08:43 UTC to . 0 comments.

I've committed the first working version of Midgard's geopositioning system into CVS today. The library makes it really easy to add location information to users and objects, and to find things that are close to each other.

Some things I find useful:

  • Objects are positioned based on the location of the user who created them (the person who took a photo, for example)
  • User's position information is aggregated from multiple sources: manually entered data, Plazes, and eventually GPS track logs
  • Any Midgard Object can be located and queried using the positioning library

The library is relatively easy to use. For example, to get and display coordinates for an article, just run the following:

 $object_position = new org_routamc_positioning_object($article);
 $coordinates = $object_position->get_coordinates();
 if (!is_null($coordinates))
 {
     echo "<meta name=\"icbm\" value=\"{$coordinates['latitude']},{$coordinates['longitude']}\" />\n";
 }

And to find 3 closest articles to this one, run:

$closest = org_routamc_positioning_utils::get_closest('midcom_db_article', $coordinates, 3);

echo "<p>Closest articles to this article are:<br />";
echo "<ol>\n";
foreach ($closest as $article)
{
    $article_coordinates = Array(
        'latitude'  => $article->latitude,
        'longitude' => $article->longitude,
    );
    echo "<li>{$article->title} is " . round(org_routamc_positioning_utils::get_distance($coordinates, $article_coordinates)) . " kilometers " . org_routamc_positioning_utils::get_bearing($coordinates, $article_coordinates) . " from you</li>";
}
echo "</ol>\n";

The positioning library isn't yet hooked into any of the components yet, but I will do this soon, starting from the blog component. However, the library can already be experimented with using the test tools it contains. For example, I can see the following information based on my Plazes position:

Map spots closest to my home

The city database used for the example above is MaxMind's Open Sourced World Cities Database that the positioning library is able to import. Next I will start playing with the Geo-Names Data.

As soon as the library is hooked to the blog component it will replace the old location system I've been using on my site, and will start populating the Death Monkey 2006 route map with real-time data from that trip.

CMS Watch: Midgard keeps chugging along

Posted on 2006-06-22 07:55:13 UTC to . 0 comments.

Tony Byrne from CMS Watch noted the recent advances in Midgard based on yesterday's 1.7.6 release:

The latest release (1.7.6, in case you're counting) builds on some previous attempts to make the package play better in standard corporate environments, including integration with Apache Lucene for search, and JSR-170 support as well.

I agree with Tony that the recent changes like better third-party authentication make Midgard fit well in corporate networks.

His other comments are also interesting, noting the base of activity in the project:

The open-source CMS package Midgard is not very popular in North America, but it sports a wide following in Central and Eastern Europe, including a core group of developers who have slowly re-architected the package after a semi-dormant period early in the decade.

Great to see that CMS Watch is still actively monitoring Midgard. Their site has been running on it for quite a while, I believe they haven't seen much of the more modern Midgard features like MidCOM components, PEAR packaging or the AJAX UI. Hopefully these become more visible once 1.8 hits stable.

Easy midsummer and Barcelona

Posted on 2006-06-26 21:55:50 UTC to . 0 comments.

Traditionally Finns spend the Midsummer in the countryside, and we usually follow suit. However, this midsummer both of the summer cottages were booked so we decided to take the weekend easy.

On friday we visited grandmother and helped her access family pictures easier by switching from OmniWeb to Firefox on her iMac. She had made us some delicious Lappish dishes, like oven cheese. Later we watched Fritz Lang's monumental twenties film Metropolis. The soundtrack coming with the video release was horrible, but Rammstein fit there perfectly.

City scene from 1927 film Metropolis

Saturday was spent motorcycle cruising in the Porkkala penisula, and enjoying the perfect combination of sauna, barbeque, sovetskoe shampanskoe, and of course, sabrage.

On sunday I woke up in the sauna dressing room, started my bike, and rode home to fetch my conference gear. I slept most of the Blue1 flight, only waking up occasionally to watch mountains and coastlines pass by.

Towers of Sagrada Familia church

Barcelona's sights, the still-unfinished Sagrada Familia cathedral and Montjuïc hill were clearly visible already on approach. The day was easily spent strolling on the La Rambla boulevard, old town, and especially Eixample, the Art Nouveau part of the city.

Bergie and the Chimneys of La Pedreira

I arrived quite late to Vilanova, having been caught by Gaudi's amazing architecture. As Tigert and Miia already were hungry we went directly to a tapas place instead of looking for a hotel. So I ended up spending the first night of this trip sleeping on Tigert's couch.

After dinner we enjoyed excellent Italian ice-cream in Tutti Frutti, a small bar slashdotted earlier by Tigert. Ice-cream is mandatory here anyway as weather is slightly warmer than when Topi came here last Christmas.

On monday the touristic part was over and was time to concentrate on the GUADEC conference.

On a related note, I'd like to echo Andrew Bennetts's blog that it would be great if conferences submitted the travel information they gather about the venue to WikiTravel:

Lots of open source conferences are organised by volunteer work, and a lot of effort goes into doing it. Then, once the conference is over, all the research the volunteers did on mundane but extremely useful things, like accomodation and ways to get there, rots on some obsolete web page no-one ever looks at again. In my ideal world, conferences like linux.conf.au and PyCon would be contributing that research to Wikitravel, so that more people (and future conferences!) can benefit.

Synchronization and the Free Software Desktop in GUADEC

Posted on 2006-06-27 18:58:38 UTC to . 0 comments.

We held the Feeds, Synchronization and the Free Software Desktop talk with Tigert today. Despite the Fluendo party the night before, there was a quite good crowd in the old Museu Balaguer library.

Speech in the Biblioteca Museu Victor Balaguer

The key ideas from the talk were:

  • Applications should synchronize with their corresponding social web services
  • Synchronization with Web 2.0 would solve both easy information sharing and backups
  • Native apps are still more usable than web sites and provide off-line support

As a tangent we discussed also integrating "where" into the desktop:

  • Adding location information into the desktop would enable lots of new services
  • Location should be a centralized service in the desktop
  • There should be multiple sources of position: GPS, Plazes, manually entered, ...

Same ideas would also work on 770.

You can download the slides here: guadec-feeds-2006-06-27.pdf (776KB PDF)

In the other news, due to the big badge swap of last night, I'm currently carrying the identity of Chema Casanova.

Positioned cellphone as the travel guide

Posted on 2006-06-29 07:35:36 UTC to . 0 comments.

New York Times has an article about using cellphones as travel guides in Japan:

If you stand on a street corner in Tokyo today you can point a specialized cellphone at a hotel, a restaurant or a historical monument, and with the press of a button the phone will display information from the Internet describing the object you are looking at.

The new service is made possible by the efforts of three Japanese companies and GeoVector, a small American technology firm, and it represents a missing link between cyberspace and the physical world.

It is great to see some examples of positioned services such as this appearing, even if they are proprietary ones. We described a very similar scenario in our GUADEC talk this tuesday.

I still think that free software and free, wiki-like content is the right way to implement positioned services. Anybody can populate data to Geonames and Wikitravel, making the groundwork for much richer information resources than a proprietary database can be.

Via Boing Boing

When summer calls...

Posted on 2006-06-29 16:45:29 UTC to . 0 comments.

...you have to follow. Next updates from me will happen sometime in late July.

Monkey headed for the summer

If you want some summer reading in the meanwhile, go to http://www.deathmonkey.org/

Back