In IJC there are basically 2 categories of items:
Some things in IJC are shared amongst all users. That is all users see exactly the same thing(s), and a change made by one user will be reflected in what all other users see. Examples include:
Because modifications to these items affects all users there need to be restrictions in place to ensure chaos does not take over:
Other things in IJC belong to the individual user. Examples include:
Each user needs their own items here so that they can create, modify or delete them as they need. For instance, even the apparantly simple operation of adjusting the width of a column in the grid view changes its definition and needs that change to be saved. As each user will want to have their own settings these have to be independent, and so each user needs their own particular copy.
However this introduces a new problem - what if a user wants to share a view, list or query with other users? For instance, a common scenario would be for an adminstrator to want to prepare a set of forms, queries and lists that all users can use.
IJC has 2 approaches to addressing this problem.
With this approach a user can take a copy of any view, query or list and can then treat it as their own. Once copied the item has no knowledge of the original item, and changes in the two items are completely independent. The user can make whatever changes they want to the copied item.
With this approach one user can allow a view, query or list to be shared, which means that all users will see the item and can use it. But in this scenario the owner of the item will not want any changes to be made to the item, so IJC does not save any changes that other users might subsequently make to the item. Any changes are therefore transient in nature and will be lost when IJC is closed. This approach allows the user who is using the shared item to make temporary changes to things like display settings of a view without permanantly changing these settings for the owner of the item or other users who might be sharing it.
Of course sometimes you would want your changes to be permanant so that you can continue with them mext time you start IJC. When an action occurs that would have caused a change to the shared item, the user is prompted as to whether they want to copy the item and work with the copy, or to continue to work directly with the shared item. This dialog will appear the first time in a session that a change would be happening. You will not be prompted again during that session, and you can specify to never be prompted again with this dialog (the setting can later be changed in the user settings).
Alternatively, if you know you want to work with a copy of the shared item then you can make a copy of it at any time. For a view you can do this by duplicating the current shared view, in which case you have created a copy that is now your own view and you can make whatever changes you want and save these so that they will be reloaded when you restart IJC.
A query can effectively be duplicated by applying it, which will create a new temporary query that is identical to the original.
Similarly a list can effectively be duplicated by applying the list to a view and then saving the current records back to a new list.
Sharable items have 3 levels of visibility:
These different levels of visibility are depicted on the icons for the item using badges as illustrated for lists (the same applies to queries and views):
In top-to-bottom order the badges indicate:
The visibility of an item can be changed by editing the properties of the item. Right-click on the icon in the projects window (for views) or the Lists and queries window (for lists and queries - note: only permanent lists and queries can have their visibility changed). This will open the property sheet for the item and allow the visbility to be changed.
Copyright © 1998-2008 ChemAxon Ltd. All rights reserved.