Meta Models
Meta Models were introduced in Immaterial 2.0.
Previously you could only create data of predefined types and relate them in specific predefined ways. For this update, we've been hard at work exposing the underlying system in order to remove those constraints. Meta models takes customization to an entirely new dimension, you'll now be able to create your own content and relation types, usable all throughout the app. It effectively lets you create your own universes, with custom rules and semantics.
Before we get into specifics about how it works, here's a few new emerging uses we've found while play testing the update, to give you an idea of the update's power:
dream journal
different therapy modalities (e.g. CBT, DBT)
book writing
complex note taking
It's safe to say we'll find new uses and bring updates to the meta data to support new modalities as time goes on, this is just the beginning!
What is the Meta Models bundle
Meta Models is our second premium feature bundle (currently free!). It is all about helping make Immaterial work best for you, bringing further customization to the Immaterial platform across the whole spectrum.
Front Page
You'll now find a new button at the bottom of the page. This button lets you create new content and relation types. Custom content types will afterwards be available for selection when wanting to create a new concept.
Library
There's a new button now in the Library's toolbar that toggles between normal data and meta data.
The meta data mode has 3 tabs: one for all meta data, a second for only content types, and a third for relation types only. As time goes on, we will add and find more meta logic in new tabs in the meta mode of the library. You can search through meta data just like through your normal library data
Item Details page
Creating, reading, updating or deleting of meta data is similar to normal data, the only difference is the details that you can change about either of them.
Content types: You'll be able to also set an icon and a color for the type. All items of that type will receive that type's theme. Updating the details of a type after it was made updates all data items with the new type details
Relation type: You'll be able to set names for both directions of a relation (e.g. Triggered & Triggered by or Ancestor / Descendant), along with different constraints for how the relation can be used, like cardinality and relation semantics. You'll also be able to enforce what content types can be used on either side of a relation type (including adding "all" on either sides of the relation type), and have that be reflected when creating actual relations. The dialog for finding (and creating) nodes to create relations from will only search through the enforced content types, not letting you create relations with invalid types.
New content types get their own tab in the library, and new relation types can found in any eligible concept's details page, in the relations tab. This is the existing behavior for predefined content and relation types put on custom user data, the transition should be very smooth.