Skip to content
bergie edited this page Mar 10, 2011 · 27 revisions

Midgard2 is an Open Source Content Repository. It provides an object-oriented and replicated environment for building data-intensive applications for both web and the desktop.

With Midgard2 you have generic way to define your own storage objects, that can then be queried and managed using multiple programming languages and applications. This enables writing your CMS or project management tool using a repository-oriented architecture where the Midgard2 storage system acts as the central point of integration between various tools.

Midgard2 is built on the GNOME stack of libraries like GLib and libgda, and has language bindings for C, Python, PHP and other languages via GObject Introspection. Communications between applications written in the different languages happen over D-Bus.

More more about the concept in "Why you should use a content repository for your application" by Henri Bergius.

Midgard in GSoC 2011?

The Midgard Project is applying as a mentoring organization in the Google Summer of Code 2011. If we get accepted, then this is an excellent opportunity for students to have a summer job hacking free software on top of Midgard.

This is the first time we apply to GSoC, though there have been previous student projects that have used Midgard internally. See for example The Tablet of Adventure, a location-based game built for Maemo in GSoC 2010.

This page contains ideas for projects. As Midgard supports multiple programming languages, this list is organized per-language.

Vala

Possible mentors: piotras, ab

JavaScript

Possible mentors: bergie

PHP

Possible mentors: bergie, indeyets

Python

Possible mentors: jerryjj, indeyets

C

Possible mentors: indeyets, piotras, ab, for the web service: ferenc

  • add DTrace probes to MidgardCR
  • integrate Midgard as storage backend to The Board and develop a simple web service to demonstrate back and forth replication capabilities.

Qt/QML

  • Figure out a way to access Midgard content repository from QML applications, either via midgard-daemon and ZeroMQ or by direct Qt bindings

Applying

If we get accepted, you're free to propose a project based on the ideas above, or come up with your own idea related to Midgard. When applying, please provide answers to the following:

  • Name:
  • Email:
  • IRC nick:
  • GitHub username:
  • Bio:
    • Short Biography (academic work, open source background and other activities that you like to do)
  • Project Title:
  • Project Abstract:
    • A short description of your project.
  • Programming language:
    • What language would you like to implement your project in?
  • Deliverables:
    • Quantifiable results. E.g. "At the end of my project, users will be able to synchronize their TomBoy data between machines using Midgard."
  • Project Details:
    • A more detailed description of your project.
  • Project Schedule:
    • How long will the project take? When can you begin work?
  • Other commitments:
    • Do you have other commitments during the summer of code coding period ? If yes, what kind of commitments

Looking forward to seeing you in the world of Midgard! If you have any questions, contact us at #midgard on freenode. Good luck with your project proposal!

Vali likes GSoC

Clone this wiki locally