Last modified on 22 February 2018, at 16:42

Data Replication (UBIK Client)

Revision as of 16:42, 22 February 2018 by LGE (Talk | contribs)

The UBIK® WinX client supports data replication mechanism so that users can create and maintain data more efficiently. For example, a user can quickly replicate a local branch and create multiple copies of it in other parts of the hierarchy.

Copy & paste

UBIK WinX UI Copy Content.gif

On way to replicate data is through the copy & paste mechanism. A typical use case is as the following.

  • Navigates to the branch that should be replicated;
  • Brings up the bottom app bar and press Copy;
  • Navigates to the destination where the branch should be replicated;
  • Brings up the bottom app bar and press Paste.

In principal, the usage is comparable to the copy & paste mechanisms in any other apps out there. However, there are some unique UBIK® details worthing mentioning.

Regarding copy

When copying, an entire branch is involved. This includes

  • The branch root object and all its local children (direct or indirect);
  • Files of all (in)direct child documents. However, there are exceptions to this, namely
    • if a file download fails;
    • if the app is in offline mode.
  • The data of the above mentioned objects: Display strings, user rights, etc.;
  • The properties of the above mentioned objects: Their values, user rights, validations, etc.;
    • All data users can interact with (e.g. values, validations) will only be copied if the MetaProperty allows.

The Copy action is only available when the app initialization is complete and there is something to copy in the specified branch.

IC Hint square.pngValidity of a copy: After triggering a copy, users can paste the same branch as many time as they want until
  • either users log out;
  • or another copy is triggered, which overrides the old copy;
  • or the copied branch is no longer available (E.g. deleted)
UBIK WinX UI Paste Content.gif

Regarding paste

When pasting, an entirely independent copy of the specified branch is created and added as a child of the destination object. The Paste action is only available when

  • The user has triggered a copy and it is still valid (see Hint|Validity of a copy);
  • And the destination object allows modification. In other words, it is not locked due to user rights, MRO status or scan status;
  • And the destination object allows the root of the copied branch as a child object. Namely the creation of the branch root's MetaClass should be allowed in the destination MetaClass. (See step 8).
IC Attention.pngIt is possible that some children (directly/indirectly) under the branch root are not copied even though they are locally available. For example, if a branch root workpackage is configured in a way that clients are not allowed to create tasks underneath. The client cannot violate that rule and, therefore, will ignore these tasks during replication. A quick way to check whether that's the case on the client is to browse to e.g. that workpackage and see if it's possible to create a task.

Data templates

On top of the standard copy & paste mechanism, UBIK® also supports a certain type of objects, namely data templates to help organize and present what the users can replicate under different hierarchical contexts.

Selecting & Querying data templates

A major issue with the standard copy & paste mechanism is its relatively low efficiency when users need to copy & paste the same object instances to different locations in the hierarchy many times, especially when the total number of available source instances grows larger. The users would have to find the instance they want to replicate out of the many and repeat that process for every round of copy & paste.

UBIK WinX UI Data Template Selection.gif

To improve the usability in this case, UBIK® allows classifying objects in a way that they are queried against and presented when users want to see what they can copy & paste under a certain hierarchical context. More specifically, it works as the following.

  • The users browse to a certain context in the hierarchy where creating a certain type of objects (classified as templatable data) is allowed;
  • There is at least one offline query configured that queries against that type of objects;
  • The users click a button (in the top-right corner of the child area by default) to check what can be copied and pasted under the current context;
  • The result list is determined by the offline query (the one selected by the users if there are more than one). UBIK® will try to automatically fill out all query criteria by extracting relevant information from the context (those that cannot be found will simply be ignored/skipped);
  • The list is initially presented in a dialog. However, if the users do not find the data templates they are looking for, or there are still too many in the list, they can click the ... button to open the offline query page and manually query for results;
  • By default, all data templates displayed in the list can be expanded (otherwise known as the double level view feature) so that users get the chance to easily check what's underneath.
IC Hint square.pngSince the same queries are used every time users look for available data templates, their criteria are reset every time so that any criteria set manually by the users previously do not affect future querying. Nevertheless, the context information (if there is any) is still extracted and used automatically during each querying.

Replicating data templates

UBIK WinX UI Data Template As Data.gif
UBIK WinX UI Data Template As Template.gif

Essentially, replicating using data templates is nothing more than regular copying & pasting objects instances. They will carry the same information (property values, display strings, etc.) as the original data templates. However, according to whether the replicated instances appear in the selection list afterwards, the replication can be divided into two types.

As regular data

In this case, the replicated instances will not appear in the template selection list. This can be done by clicking/tapping the data template item in the list.

A typical user scenario of this is field workers generating a large number of work packages out of existing data templates.

As data templates

In this case, the replicated instances will appear in the template selection list. This can be done by clicking/tapping the additional button (at the right side by default) in each data template item.

A typical user scenario of this is administrators/work planners creating work package data templates from similar templates that already exist.

Demo Videos