Tools

bergie said

bergie  

Midgard Gathering in Gothenburg IT University

31 comments

bergie posted to #midgard Lindholmen 04.11.2010 (en)

31 comments

Bottom

bergie  

So far on the agenda:

  • Midgard3 API review
  • Making OpenPSA installable
  • Midgard3 installation
  • Object Manager for MVC (@rambo)
  • Midgard website plan

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

bergie  

Plan for making OpenPSA installable:

First phase: running OpenPSA on Ratatoskr instead of Ragnaroek

  • Reorganize OpenPSA and dependencies (MidCOM core, DM2 etc) to a single Git repository in the proper folder structure (/org/openpsa/core instead of org.openpsa.core)
  • Write a Midgard2 RootFile for running OpenPSA
  • Install procedure:
    • Install php5-midgard2
    • Get OpenPSA from Git
    • Copy or symlink MgdSchemas
    • Set up database with a PHP script
    • Create topic tree
    • Set up appropriate RewriteRule
    • - Run
Second phase: running OpenPSA under MVC instead of MidCOM
  • Write Midgard MVC component provider for running MidCOM-style components
  • Implement MidCOM interfaces required by OpenPSA components into a wrapper that maps them to appropriate MVC services
  • Implement DM2 compatibility layer on top of midgardmvc_helper_forms
  • Set up the necessary application.yml for running OpenPSA
  • Result: way faster MidCOM

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

bergie  

Just installed Midgard3. You need latest Vala to build it, but later we'll publish tarballs with the Vala-generated C so that won't be necessary.

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

bergie  

I have just stored generic RDF into Midgard3 triplestore :-)

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

bergie  

Midgard3 API explanations from @piotras

  • You have Models that are sort of Metaclasses that describe something
  • Then you have Managers that actually manage your data. ContentManagers handle content types, StorageManagers their storage etc
  • In Midgard2 you had a midgard_connection singleton, in MidgardCR you have StorageManagers that handle their own connections
  • From StorageManager you can get a Model Manager that knows how to store models using that particular storage (file formats, database table creation)
  • Then you create an ObjectModel for your data, including defining possible properties you want your Model to have
  • If you want to make your Model persistent, you need to create a StorageModel for it. In the Storage Model you define you you want things to be stored. With an SQLTableModel you match properties of an ObjectModel to database columns
  • After this you send provide your Storage Models to a StorageModelManager and tell that to create the storage
  • Then you have your database and models set up and you can start working with your persistent objects
ObjectModels are not needed for creating persistent objects, but ObjectModels are persistent by themselves, so you can share the definitions of your Objects between application processes. So in nutshell: ObjectModel is a class definition, and StorageModel is a serialization recipe for objects.

This means we can in the future implement other StorageModels than just SQL. Want to talk to some NoSQL database, LDAP, or even just flat files?

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

bergie  

Simplified example of the Midgard3 concepts:

// Class would correspond to an ObjectModel
class person
{
// ObjectPropertyModels for the ObjectModel
public $firstname = '';
public $lastname = '';
}

// Since we have a model we can instantiate it
$person = new person();
$person->firstname = 'Vali';

// file_put_contents would in this case be a ContentManager as it knows how to store and access content
// "/tmp/foo" would be a configuration of a StorageModel, and serialize() the way StorageModel deals
// with serializing objects into the store
file_put_contents('/tmp/foo', serialize($person));

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

tepheikk  

@bergie Will the "Object Manager for MVC" be just normal component?

tepheikk commented on posted to #midgard 04.11.2010 (en)

bergie  

@tepheikk yep, though run through injector instead of an instance. It is there already but needs a lot of love: https://github.com/bergie/midgardmvc_... (ping @rambo, fork this)

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

bergie  

Some results from Midgard3 API review:

  • Rename ObjectModelProperty to ObjectPropertyModel
  • Defining references in Models (see example1) needs clarification

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

adrenalin  

@bergie "This means we can in the future implement other StorageModels than just SQL. Want to talk to some NoSQL database, LDAP, or even just flat files?"

This sounds like an evil master plan to rule the world one day. Me likes. :)

adrenalin commented on posted to #midgard 04.11.2010 (en)

adrenalin  

It is interesting in general to see that the trend has really been to create tools for data storage rather than CMS as it used to be still some 3-4 years ago. I wish we would one day still build the CMS around and I think that the problem is that we are often reaching for too much at once (at least when we have been doing planning) – even if we really have been scratching the surface.

Come to think of it, Midgard3 is on its way and I haven't ever even used Midgard2 for anything. I think I am too comfortable in the solid grounds of Ragnaroek and need to get rid of those bounds. At least for now the end of the year seems relatively calm so I'd love to participate in some daytime hacking sessions for Midgard2 or Midgard3.

adrenalin commented on posted to #midgard 04.11.2010 (en)

bergie  

@adrenalin I just got OpenPSA running on top of Midgard2, so there certainly is a migration path forward :-)

bergie commented on posted to #midgard Lindholmen 04.11.2010 (en)

bergie  

ApacheCon presentation slides about Stanbol, the semantic engine that we will utilize in Midgard3 CMS

bergie commented on posted to #midgard Lindholmen 05.11.2010 (en)

bergie  

@adrenalin if beginning of December works for you, we have quite a bit to do with MVC and Aloha before the demo in the IKS Amsterdam workshop can happen.

bergie commented on posted to #midgard Lindholmen 05.11.2010 (en)

bergie  

@piotras @indeyets this semantic feature comparison table might be useful when prioritizing Midgard3 RDF features.

bergie commented on posted to #midgard Lindholmen 05.11.2010 (en)

piotras  

@adrenalin There is one more advantage if you think about MidgardCR (Midgard 3). Thanks to GObject Introspection, you can run some app on top of Midgard and provide own implementation if it's needed. Full or partial.

piotras commented on posted to #midgard 05.11.2010 (en)

indeyets  

one more RDF example (the way I want API to be): http://bit.ly/9RiE1R

indeyets commented on posted to #midgard Lindholmen 05.11.2010 (en)

rambo  

note to self (and @indeyets + @piotras): Think about how BLOBs are going to be handled in MidgardCR (esp. regarding file pointers)

rambo commented on posted to #midgard 05.11.2010 (en)

indeyets  

updated example: http://bit.ly/bir1AO

indeyets commented on posted to #midgard Lindholmen 05.11.2010 (en)

bergie  

Some additional status reports:

  • OpenPSA (and therefore MidCOM) now works almost completely on Midgard2 (without Ragnaland/MVC), we still need content migration scripts for moving things from ML tables to the actual tables, and moving accounts from midgard_person to midgard_user
  • We have new visual identity for different Midgard products, and Andreas has made sketches for the product websites
  • We also have most of the functionality needed for actually running the websites
  • @piotras and @indeyets are looking today at lowering build requirements of MidgardCR so it could be built with stock Vala on Ubuntu

bergie commented on posted to #midgard Lindholmen 06.11.2010 (en)

bergie  

The OpenPSA Midgard2 porting progress can be followed in Flack's GitHub repo

bergie commented on posted to #midgard Lindholmen 06.11.2010 (en)

indeyets  

I spent second half of today, trying to build MidgardCR using built-from-sources latest released versions of gobject-introspection, vala and libgda.

Stuck with libgda vs introspection issue: http://paste2.org/p/1075417

indeyets commented on posted to #midgard Lindholmen 06.11.2010 (en)

bergie  

@flack I started packaging OpenPSA2 at the Git-Debian packaging workshop. Almost there... and @tjyrinki didn't seem very negative about sponsoring it into Debian after php5-midgard2 goes in

bergie commented on posted to #midgard Lindholmen 06.11.2010 (en)

bergie  

Very initial Midgard3 CMS UI sketch

bergie commented on posted to #midgard Lindholmen 06.11.2010 (en)

indeyets  

ok. that's actually seems to be a typo in libgda. after fixing, I get error reported by someone here:
http://groups.google.com/group/archli...

cause of the problem — nested type. see here: http://paste2.org/p/1075440

indeyets commented on posted to #midgard Lindholmen 06.11.2010 (en)

piotras  

@indeyets What typo? What did you fix?

piotras commented on posted to #midgard 07.11.2010 (en)

indeyets  

indeyets commented on posted to #midgard Lindholmen 07.11.2010 (en)

piotras  

@indeyets Thanks! Compiled all informations we have so far and informed Vivien. I'll try to get more info from introspection guys tomorrow. Anyway, I think we will focus on 4.2 for Ubuntu natty and Debian sid, as soon as Squeeze is out/

piotras commented on posted to #midgard 07.11.2010 (en)

piotras  

@indeyets what gobject-introspection version you use? I need to confirm nested type issue.

piotras commented on posted to #midgard 08.11.2010 (en)

bergie  

Quick update on OpenPSA debian packaging: now the package installs and runs nicely. Remaining issue is with some parts of Debian Policy compliance. For example, we should use separately-packaged jQuery, Markdown etc. instead of our bundled copies.

bergie commented on posted to #midgard Lindholmen 08.11.2010 (en)

indeyets  

@piotras 0.9.12 (latest release)

indeyets commented on posted to #midgard Aptekarskiy 08.11.2010 (en)

Login or register to leave a comment

Publicity
These messages are public and can be seen by anyone.
Tags