Skip to: content | sidebar | login

Working on Winland

Posted on 03/24/09 11:17:09. | Bookmark this on Delicious

It is not a typo. It is the other state of my consciousness. I took a second approach to build Vinland on Windows.

Well... what was wrong with first approach? The approach itself. Most likely due to some knowledge issues, I made a fundamental mistake by trying to build it in VS. That was wrong.

All dependencies I have (Glib, DBus, GDA, XML, whatever) are built under MinGW so clear should be to build Vinland under MinGW too, but apparently it was clear enough for me.

Last night, just as arrived back home after Midgard Gathering, I took my wife's laptop and after some 3 hours of completinh MinGW installations along with Vinland dependencies I got first running libmidgard2 library with midgard-schema.exe and midgard-query.exe fully operational. No unresolved symbols, no broken references, no crashes at all. However I faced some issues with database creation, I blame the laptop running on Vista (yuk!) so today I started porting it again on my box under XP.

Be sure, that as soon as I get it done, I will post binaries and developers instructions :)

Midgard Gathering in Linkoping day 2

Posted on 03/22/09 14:11:28. | Bookmark this on Delicious

During first day we also started discussion on what next with MultiLang. The major issue is that current ML implementation limits to some content areas while more often there is a need to use ML'ed metatada and other stuff. Basic new concept presented by Piotras assumes that we have multiple records for each language for each object. This way, basing on given GUID and language contect we are able to fetch desired object from database.

This started a long, storming disussion because of linkink objects problem, multiple indexes and getting rid of local IDs.

In the evening we had some Chinese food and went to bar for some entertainment.

Today we discuessed two more items from agenda: UI changes and Datamanager refactoring. First was about adopting Bespin and/or Ubiquity features to make UI and Admin UI more human language oriented. As it was expected, another hot discussion raised because of different approaches to UI matter presente by many attendees. I prefer approach that we don't surprise end users with nifty gadgets that they are not prepared for. End users tend to expect from web application similar functionality and visual presence as they get from their OS. Besides, no matter how innovative both are, they seem to be limited to Mozilla/Firefox. Anyway we agreed that it may be a worth watching and thinking while both projects get into mature state so that we are not left behind.

Second subject was pretty easy, we all love&hate Datamanager same time. While it facilitates form and data operations, it is also limited by desgin and sometimes brings problems. The main ideas is to refactor DM to rely only on MgdSchema objects and let developer decide what to do with particular fields during runtime. Talking about DM relation to MdgSchema we couldn't miss MgdSchema inheritance which is basically about extending f.ex. midgard_article with solt_article object and benefit directly from midgard_article features and be able to add some more specific functionality designed by developer.

Somewhere around noon most of Finish team had to leave for a ferry back to Finland. We left only four of us: Smallone, Bergie, Piotras and myslef. I took the chance to bug Bergie about running MidCOM 3 aka Midgard MVC on Ragnaroek and started porting this site to Midgard MVC platform.

And of course, yo ucan find some more photos here.

Midgard Gathering in Linkoping

Posted on 03/21/09 13:31:28. | Bookmark this on Delicious

This weekend we have another Midgard Gathering hosted by Smallone in a beautyful countryside near Linkoping, Sweden.

Yesterday we (me nad Piotras) spent almost whole day to get there. Unfortunately, even travelling by plane you need a lot of time to get there. In the evening we had a lovely time at Smallone's tasting delicoius TexMex food prepared by Eva.

Today we followed the agenda guys have written and so far we managed to accept the design for a new Midgard Schema feature - views. From now on, views will be implemented and managed by Midgard core. All you will have to do is add a MgdSchema definition like

<view name="groups_with_coord">
<property name="guid" from="midgard_group:guid" />
<property name="official" from "midgard_group:official" />
<property name="lat" from="org_routa_positiononing_location:lat" />

<join direction="left" left="midgard_group:guid" right="org_routa_positiononing_location:parentguid" />
<join direction="inner" left="midgard_group:id" right="midgard_member:gid" />

<where property="midgard_group:owner" constraint=">" value="0" />
</view>

And this will make MgdSchema to create an object that you will use like regular schema object:

<?php

$qb = new midgard_query_builder("groups_with_coord");
$qb->add_constraint("official","=","My Group");
$rst = $qb->execute();

?>

We also decided about Midgard 9.09 codename which is now "Mjolnir". Mjolnir is Thor's holy hammer, so next Midgard release is expected to be smashing.

Before lunch we had a group photo:

Linkoping2009 019.jpg

More photos are in my photo stream.

Bergie, now look what you've done ;)

Posted on 03/19/09 10:10:14. | Bookmark this on Delicious

It started as a regular blog entry and now it seems one of most popular notes these days.

My old friend, Bergie has posted nine days ago, a short info about Jerry and his magnificent finger. I won't retype the story now, because it is not what I wanted to say. Check it yourself later :)

What I wanted to say is that you never know what you can do with your simple note. For what I read, Bergie just commented the fact that some futuristic, aesthetic surgery design has been made while our friend Jerry has it implemented for over a year. As usual it was posted on Bergie's blog with some links in common social communities like Jaiku, Qaiku, Facebook etc. After a day or two we found his note Slashdotted and spread around more and more blogs, news sites etc.

Today, I started my day with opening onet.pl - most popular Polish news portal (or rather whatever portal) and guess what I found in "Tech-news" section. Yes, you bet:

 

jerry_onet.JPG

The highlighted item read: "USB memory instead of a finger". Almost sure what I could find there I followed the link and got this:

jerry_fkn.png

 

The article reads that Jerry's got a 2GB USB in his finger and the rest of story we know, but they added that Jerry now works on the second finger edition with extended storage and WiFi connectivity. And guess what... they're quoting BBC!!! So I expect tomorrow Jay Leno will visit Jerry to ask him for the show :)

You were warned. Be careful what you do coz you never know when you end up in CNN Headlines :)

Towards better Midgard documentation

Posted on 12/02/08 11:39:01. | Bookmark this on Delicious

Last few days I've spent on extending midcom.admin.help plugin to make it better doc reader for end users. Let's recap what it can do now and how you, my fellow component developer, can improve your docs, and how you, my fellow user can benefit from it.

The following write-up is related to latest Ragnaroek version and lives in SVN. Refer to http://trac.midgard-project.org/ to get help on syncing your repository with Midgard SVN.

For end users, editors and site developers it is crucial to know what they can do with given components and libraries. While midcom.admin.help lived there for a quite a time, it wasn't a good tool because it wasn't too handy.

First impression is the most important, therefore index page for help needs to be inviting. Now, it is sufficient to go to Online Help from your floating menu after you were logged in. A new popup windows will open presenting you current component's index page. Current means the one you were in when you hit 'help' button.

Index page shall contain a brief description about what given component does etc. For example:

net.nehmer.blog

News items and blog entries management. Provides a variety of display styles and RSS feeds.

 

Developers shall put index.lang.txt file into documentation folder.

Index page shall also contain a Table of Contents. TOC is generated automagically from all files matching name.lang.txt pattern in docs folder plus two special kewyords "MgdSchema classes" and "Routes" which are added to TOC if applicable.

"MgdSchema classes" will list all schemas introduced by a component. The list includes schema names and list of properties with descriptions for each schema.

Developers shall update schema definition files with special 'description' tag for each property:

<property name="topic">
        <description value="Parent midgard_topic ID" />
</property>

Schema list should look like this:

mgdschemas.jpg

Routes is a artificial help item that shall display all URL routes handled by component. Each route shall provide handler name, controller class name, controller method and a brief description. Any route on the list shall be a link to MidCOM API doc stored at http://www.midgard-project.org/api-docs.

Developers shall add translation strings related to routes description to component's strings database using '{handler}_info' as string identifier. For example, in net.nehmer.blog, for 'ajax-latest' handler it would be 'ajax-latest_info' that would result in:

routes.jpg

All remaining help files can have any names as long as they match the pattern name.lang.txt but developers shall remeber to put 'help_name' translation string into at least English component's translation database. To make it easier some common titles like 'help_style' or 'help_schemas' are stored centrally in midcom.admin.help's database.

Technorati Profile

Return to top