Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for views #591

Open
SanderMertens opened this issue Mar 7, 2017 · 0 comments
Open

Add support for views #591

SanderMertens opened this issue Mar 7, 2017 · 0 comments

Comments

@SanderMertens
Copy link
Member

SanderMertens commented Mar 7, 2017

Views are objects that aggregate data from multiple objects with a declarative API. Each member in a view can potentially come from a different object.

A view shall subscribe for updates of the objects that it exposes information of, and update itself when one or more of its objects update. All fields of a view will be optional. When an object sends a DELETE notification, the associated members will be set to NotSet.

A view shall be able to contain collections that can aggregate elements from multiple objects. Collection types in a view will be limited to instances of the (unordered) list type.

Views will not rely on in-memory object references, but instead will use resource id's to refer to members. This way, a view can be used to store only a relevant subset of the data in memory, which is especially useful for large objects.

A view shall be agnostic to the logic that determines which objects it will subscribe for. For example, a query may rely on a view to make its data available and use query statements for joining objects. An application on the other hand could define a custom object-to-view mapping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant