Previous Up Next

6  Updating

In previous section objects were generated by importing files and directories. However it is also possible to create purely extrinsic objects that are under full control of Camelis. This is done by activating the command Updating > Add object. A dialog window asks for a short text description and an optional picture (to be displayed in the extent window), as well as a system command that may be activated from the contextual menu of the extent window. The initial description of the new object is made by applying the selected update to the empty description. The selected update is the conjunction of selected features in the navigation window, or alternately the current query (see Section 2 for the definition and use of updates).

Another way to create extrinsic objects is to use the monitor. The monitor is a kind of source that produces an extrinsic object every 6 minutes (10 per hour) when a query is registered. Each object is given the features of the query as a description. Two commands are provided: Updating > New state to register the new query to be used for every coming minute out of 6; and Browsing > Current state to move to the current monitor query. Objects are effectively created when activating the button Update. Then feature counts correspond to duration of various activities in tenths of hours.

Whereas intrinsic descriptors are under control of the source of objects, extrinsic descriptors can be added, changed, and removed from the description of objects, whether these objects have been generated from a source or not.

The common scope of an update is a set of selected objects, but we will see how this can be generalized to sources and queries. Before applying an update on objects, a set of objects must be selected through the command Updating > Copy objects, which is also available in the contextual menu of the extent window. It is important to note that, when no object is selected, the full current extent is taken as default.

Once a scope has been defined (copy), and an update has been selected, this update is applied on each selected object by activating one of the command Updating > Paste and Updating > Paste not, which are also available in the contextual menu of the navigation window, and also as a button. The latter applies negation on each feature of the selected update, which has the effect of removing these features from the descriptions of objects, instead of adding them with the command Paste. The command Copy and paste to... copies an object selection, and asks the user for an update to be applied on the copied objects. When the scope covers only one object, and the selected update is made of only one feature, the copy and paste operation can be performed by a simple drag-and-drop from the object onto the feature.

Adding and deleting objects can be seen as special cases of the copy-and-paste mechanism. Adding an object, as defined above, is like copying a new object, and pasting it in the selected update. Deleting objects is like copying some scope, and pasting them in nowhere, i.e. deleting them. When a source has generated several objects, and only a subset of them has been selected for deletion, there is an ambiguity as deleting these objects requires deleting the source. In such a case we take the conservative option not to delete these objects. Only when all objects from a source are selected this source is deleted (of course the corresponding file is not modified in any way, but only its handler in Camelis).

Updates can also be applied on sources through the source dialog (command File > Import > List sources...). Indeed sources are equipped with an initial description, which can be updated through the button Paste in the source dialog. Sources can also be directly deleted in this dialog through the buttons Delete and Clear.

Updates can also be applied on queries, where queries can be seen as dynamic sets of objects. In this case the selected update is applied to the extent of the query, and then a rule query → update is registered in order to be applied whenever an object is created or moved into the extent of the query. The query is selected by the command Logic > Copy query, also available contextually on the query area, and the update is defined by applying Paste or Paste not on selected features or another query. A command Copy and paste to... is also available. When applying the command Logic > Delete query, also available contextually, this creates a kind of hole as any object that comes into it is immediately deleted. A possible application of this is the filtering of spams in an email box. The list of all rules can be displayed in a dialog window by the command Logic > List rules.... On each line one can visualize the kind of the rule (paste or delete), the selected update, and the query. The available actions are:
Previous Up Next