Ticket #441 (closed todo: done)
define the model root
| Reported by: | ichthyo | Owned by: | ichthyo |
|---|---|---|---|
| Priority: | grave | Milestone: | 0integration |
| Component: | lumieraProc | Keywords: | session design |
| Cc: | Blocked By: | ||
| Blocking: | #154, #282, #354, #442, #446, #447 |
Description
Define what to use as root of the high-level model. It should be a meta-object which can be created inline by the Index. Later on this MObject is expected to handle some kind of binding to session-global default handling rules. Probably it will give Advice to other parts of the model. Thus it might link to a suitable new kind of asset.
Change History
comment:2 Changed 2 years ago by ichthyo
- Status changed from new to accepted
the model root could be either a one-off meta object, or it could be a Binding..?
comment:3 Changed 2 years ago by ichthyo
...thus, following the reasoning regarding the Binding implementation, model root becomes a separate MObject subclass for now.
comment:4 Changed 2 years ago by ichthyo
- Blocking 154 added
...and this new model root MObjec class isn't just a decoy; rather, by refactoring the way how PlacementIndex gets created, we can wire this root object magically back to the session, allowing to locate the rules and defaults store here. This opens a nice opportunity to get a grip at the assets lifecycle: now it's sufficient just to store/load them through the session root element
comment:8 Changed 2 years ago by ichthyo
- Status changed from accepted to closed
- Resolution set to done
Implemented as a placeholder MObject for now. Can be created via the MobjectFactory. This happens when the SessionImpl object is created. Handling of the model root element is part of the PlacementIndex implementation, which ensures there is always an root scope.
Whhew. This one was by far more expensive than expected.
comment:9 Changed 2 years ago by ichthyo
- Blocking 282 added
(In #282) * hash-ID == placement-ID == object instance identity == key within PlacementIndex storage table.
- a special SessionServices API was created, allowing PlacementRef to access the current session transparently.
- definition can be considered final (and documented thus far)
