-
Notifications
You must be signed in to change notification settings - Fork 6
Gsoc 2011 ideas
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.
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.
- Implement a Midgard back-end to a GNOME3 app
- Implement SPARQL parser for MidgardCR (using pieces of libtracker-sparql)
- Importer for dbpedia or GeoNames data into the MidgardCR RDF store
- Create a Telepathy Logger that stores your chat logs into Midgard
Possible mentors: bergie
- Implement chat and/or presence into the Midgard Create user interface
- Implement image editing in the Midgard Create user interface
- Use Diff-match-patch algorithm for enabling collaborative editing in the Midgard Create UI
- Do something cool with midgard-daemon
Possible mentors: bergie, indeyets
- Integrate Zeta Components functionality into Midgard MVC (MvcTools and Authentication are the main components of interest here)
- Improve the Midgard CouchDB replicator and port it to our new application server
- Build a web interface in Midgard MVC for the TomBoy synchronization protocol
Possible mentors: jerryjj, indeyets
- Work on providing DesktopCouch interfaces from Midgard2 via PyGI
- Implement a Midgard back-end to a GNOME3 app
- Improve midgard-daemon
- Revive and integrate the Midgard back-end for Gwibber
- Create Quickly project templates for Midgard-powered desktop application
- Implement Midgard data synchronization with XMPP PubSub
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.
- Figure out a way to access Midgard content repository from QML applications, either via midgard-daemon and ZeroMQ or by direct Qt bindings
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!