midgard2: content repository for desktop and the web
TRANSCRIPT
![Page 1: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/1.jpg)
Midgard2
Content repository for desktop and the web
![Page 2: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/2.jpg)
Midgard2
(not just a CMS)
![Page 3: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/3.jpg)
Content Repository
Common rules for data access
![Page 4: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/4.jpg)
Content Repository
Signals about changes
![Page 5: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/5.jpg)
Content Repository
Objects instead of SQL
![Page 6: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/6.jpg)
Content Repository
Objects instead of SQL
http://xkcd.com/327/
![Page 7: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/7.jpg)
Content Repository
Data model is scriptable
![Page 8: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/8.jpg)
Content Repository
Synchronization and sharing
![Page 9: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/9.jpg)
Content Repository
• Schema-based, relational
• Query Builder
• C, glib, libgda
• LGPL
• D-Bus signals
• Library
midgard2.org
• Schema-free
• Javascript map/reduce
• Erlang
• Apache License
• JSON polling via HTTP
• Daemon
couchdb.apache.org
![Page 10: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/10.jpg)
...and they talk to each other
![Page 11: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/11.jpg)
...and run even in your finger
![Page 12: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/12.jpg)
The Midgard Project
• Free software project since 1999
• Midgard1 was just a CMS
• Midgard2 is a content repository
• Contributors from most European countries
• Synchronized release model
• Linux, Mac, Maemo
![Page 13: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/13.jpg)
The Midgard Project
Yes, we GNOME
![Page 14: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/14.jpg)
The Midgard Project
Yes, we GNOME
![Page 15: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/15.jpg)
Midgard2
Objects are defined in MgdSchema files
![Page 16: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/16.jpg)
Midgard2
Using Midgard (G)objects
![Page 17: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/17.jpg)
Midgard2
Query Builder
![Page 18: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/18.jpg)
Midgard2
Tree access
• Parent-child relations• get_parent()• list_children()
• Access via named paths• get_by_path()
![Page 19: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/19.jpg)
Midgard2
Conboy can use Midgard as a content repository
![Page 20: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/20.jpg)
Midgard MVC
Put your content repository on the web
![Page 21: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/21.jpg)
Midgard MVC
• Very efficient MVC framework for PHP
• Python and D-Bus for background processing
• Gettext + intl i18n• TAL templating• Full WebDAV support• Git for packaging and
deployment
![Page 22: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/22.jpg)
Midgard MVC
Qaiku: Microblogging with Midgard
![Page 23: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/23.jpg)
Midgard MVC
Tomboy web synchronization with Midgard
![Page 24: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/24.jpg)
Midgard2
App Builder: now for Mac
![Page 25: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/25.jpg)
Midgard2
App Builder: now for Mac
![Page 26: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/26.jpg)
Midgard2 9.09 Mjolnir
![Page 27: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/27.jpg)
Mjolnir
Database views
![Page 28: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/28.jpg)
Mjolnir
Extending storage
![Page 29: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/29.jpg)
Mjolnir
Midgard-Mono
![Page 30: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/30.jpg)
Mjolnir
Midgard-Mono
(Not Evil)
![Page 31: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/31.jpg)
Mjolnir +1
• Vala• Tracker integration• Gobject Introspection
• XMPP PubSub • App Builder for Linux• Spring 2010
![Page 32: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/32.jpg)
Use a content repositoryCouchDb and Midgard2 can solve many problems
![Page 33: Midgard2: Content repository for desktop and the web](https://reader034.vdocument.in/reader034/viewer/2022052619/5566a0cad8b42a643c8b4601/html5/thumbnails/33.jpg)
Midgard2 is there for youmidgard2.org #midgard on FreeNode