The ACM (Application Context Management) is about controlling how UBIK® satellites see data provided by the UBIK® environment via web service (or the web client).
This page describes how to configure the ACM using UBIK® Studio or UBIK® SmartStudio, including creating Application and Context, Scopes, View and View Items and publishing the Meta Definitions.
UBIK® SmartStudio
With UBIK® SmartStudio, you can assemble the whole ACM graphically; the technical details are edited automatically by UBIK® SmartStudio, so it is significantly less work (e.g., you don't have to care about View Items at all, you just create Scopes and connect them, using drag & drop).
- Open UBIK® SmartStudio.
- Create a new project or open an existing one.
- If necessary, design new Meta Classes (for objects to provide to the client) using the Inheritance Graph or connect to a UBIK® environment (database) and use the Meta Classes defined there.
- Make sure there are a UBIK® Environment including a database and functioning web services, as well as a content object you want to show on the mobile client.
- Open a new Application Graph worksheet.
- Add a Application by dragging it into the worksheet from a picker (existing Apps) or the toolbox (new App), available to the left of the worksheet area.
- Add a Context by dragging it into the worksheet from a picker (existing Contexts) or the toolbox (new Context), available to the left of the worksheet area.
- Connect the Context to the Application by dragging a connection between the two.
- In order to support the object you want to make appear on the mobile client, add a Scope by dragging a compatible MetaClass into the worksheet from a picker (existing MetaClasses) or the toolbox (new MetaClasses), available to the left of the worksheet area. Such a Scope is a configuration for all instances of the respective MetaClass delivered to the mobile client.
- Configure the Scope by adjusting the access rights for its MetaProperties.
- Connect the Scope to the Context. This means, instances of the scoped MetaClass will be presentable as root objects (first navigation level on the mobile client).
- You can add further Scopes to the Application Graph in the same manner.
- Connect the Scopes in order to define the hierarchy. Instances of the right-hand scoped MetaClass will be presentable in the hierarchy level below the left-hand scoped MetaClass' instances.
- Scope connections can be established by dragging connections between the output connector of the parent Scope and the input connector of the child Scope.
- Configure the connections by choosing the way the instances are actually connected to each other (selecting a relation or link property). For an instance of the left-hand scoped MetaClass, the configured link property or relation will be used to find instances of the right-hand scoped MetaClass to be listed as children of the first instance on the mobile client.
- If you want an object to be shown as the child of another on the mobile client, use a relation or link property to connect the two. This relation or link property can then be configured in a connection between two compatible Scopes.
- Connect at least one Scope to the Context as a child. Instances of the scoped MetaClass will be presentable as root objects (first navigation level on the mobile client).
- Configure a root objects Query for the Context by dragging a Query into the worksheet from a picker (existing Queries) or the toolbox (new Queries), available to the left of the worksheet area, and connecting it to the Context, using its root objects input connector. This means, the query finds all instances to show on the root level of the app. The Context must have a compatible scope connected to it in order for the instances to be displayed correctly.
- Make sure the target UBIK® Environment is connected.
- Save the application graph to the desired UBIK® Environment, using the menu bar or context menu.
- Open the UBIK® environment page and select the ACM management sub-section.
- Select the relevant Application and Context, and assemble and publish the Meta Definitions.
- Restart the UBIK® web services.
- Test the results using any UBIK® satellite.
UBIK® Studio
UBIK® Studio provides more basic tools, providing the full range of UBIK® data model features, but perhaps less comfortably so.
- Start UBIK® Studio and connect to a database.
- If necessary, create new Meta Classes for objects to provide to the client.
- Create Application, Context and View instances using the bulk editor for the respective MetaClasses (Application, Context, View).
- Find out which different connections your ACM hierarchy should provide; more specifically, which parent meta classes should lead to which child meta classes, and what kind of View Items you need for that (depending on how the children should be evaluated technically).
- If necessary, modify the Meta Classes so they can describe their parents or children. The way to do this depends on the type of View Item you're going to use, e.g. for a Reference View Item, you'll have to create a Reference and add a respective Reference Meta Property to the Meta Class that describes the children, in order for the child instances to refer to their parents using this Reference. Make sure the target type is set correctly.
- Create and configure View Item instances (of the System Meta Class REFERENCEVIEWITEM, RELATIONVIEWITEM or QUERYVIEWITEM) for each level of the hierarchy and every parent & child type (Meta Class) using the bulk editor.
- Connect the View Items to the View (see Create a new View)
- Create Scopes as instances of the METACLASSSCOPE System Meta Class (or QUERYSCOPE for queries).
- Use the Relation editor to define MetaProperties for your Scopes. Using the Relation Data inspector, you can edit rights for each property.
- Connect the Context to the Application and add all necessary Scopes to the Context using relations (see Create a new MetaClassScope, point 6).
- Connect the root and infrastructure objects and/or queries to the Context.
- If necessary, manage the content objects to be delivered by the ACM (e.g., create or import the data and fill in reference property values).
- Open the ACM Manager and publish the Context's Meta Definitions.
- Restart the UBIK® web services.
- Test the results using any UBIK® satellite.