- Asynchronous I/O operations with the content repository
- Easier migration from the Midgard1 series
Asynchronous I/O is important when the content repository is used in persistent applications like desktop software or Node.js, where Midgard can be used via node-gir (see examples). You can read more about async operations in the documentation.
Why a content repository?
From the release notes:
Midgard2 is a library which provides content storage and retrieval services to applications. It is essentially a higher-level access layer to relational databases and file systems.
Parallels can be drawn between Midgard2 and various Object Relational Mapping (ORM) libraries. The content repository concept however takes these ideas much further, with concepts like:
- Object-oriented data and query access
- Tree structure for content
- Standardized metadata available to all content
- Workspaces for managing branching and merging of content
- Content type definitions with introspection capabilities
- File attachments for content objects
- Signals about I/O operations
- Users and access control
On desktop and mobile
There are two ways to use the Midgard2 content repository with PHP:
Gjallarhorn of the Viking mythology is the horn that sounds marking Ragnaroek. With our release it signifies the callback pattern of asynchronous I/O, and the time for Midgard1 users to migrate over. The picture is public domain from Wikimedia Commons.