Changes
=== Regarding paste ===
When pasting, an entirely independent copy of the specified branch is created and added as a child of the destination object.
The {{key press|Paste}} action is only available when
{{Clear}}
{{Attention|It 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.
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 {{key press|...}} 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.
{{Hint|Since 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 ===
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 ==