Table of Contents

Sharing items with others

In IJC there are basically 2 categories of items:

Items that are shared between all users

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:

Items that belong to an individual user

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.

Approaches to sharing in IJC

IJC has 2 approaches to addressing this problem.

Copying items

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.

Sharing items

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.

Item visibility

Sharable items have 3 levels of visibility:

  1. Public (default). Item is owned by you but can be copied by others.
  2. Private. Item is owned by you and is not visible to other users.
  3. Shared. Item is owned by you and a read-only version is seen by all users.

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:

  1. Shared, owned by you
  2. Public, owned by you, but can be copied by others (no badge).
  3. Private, not visible to other users
  4. Shared, owned by jsmith

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.




Limitations of sharing that may be addressed in future versions of IJC



Copyright © 1998-2008 ChemAxon Ltd. All rights reserved.