Creating case-controlled databases

If you need to restrict access to data on a case by case basis, you must to create a case-controlled database. Because you cannot convert a case-controlled database to a standard (SCC) controlled database, consider carefully whether you require this facility.

Note: You cannot use cases and Security Classification (SC) codes in the same database. You cannot use cases in a replicated database (or if iBase database replication is installed).

What is case control?

All data in a case-controlled database is partitioned by case. Every record belongs to a single case, and each user is assigned to one or more cases. Data cannot be shared between cases - data can only be entered, whether by manual entry or by importing, when a single case is selected. However, records from two or more cases can be analyzed together, for example by running queries and reports.

A record in a case-controlled database:

  • Belongs to a single case.

  • Might be duplicated across cases, such as a repeated telephone number, address, vehicle, but with distinct case ownership - updating one record does not update the other.

  • Can only be edited or deleted when working in a single case.

  • Cannot be linked to records in other cases.

  • Is always read-only if it belongs to a closed case (but still appears in searches and queries).

A user in a case-controlled database:

  • Sees only the records in the cases to which they are assigned.

  • Sees all the records to which they have access when they work in multi-case analysis mode.

  • Can only update records (either manually or by importing) in a single, open case. When working in a case, all reports, queries, browses, and so on, apply just to the records in that case.

Note: Sets are not specific to any case. A set can contain records from all the cases assigned to the user and, if the access to the set is Public, might also contain records added by other users, from other cases. However, a user only ever sees the records that belong to the current case (or all their assigned cases if working in multi-case analysis mode).

The history of each case can be recorded in the audit log. Actions include: Case Added, Case Closed, Case Deleted, Case Name Changed, Case Reopened.

Defining access to cases

All users, including database administrators, must be assigned to one or more cases before they can open a case-controlled database in iBase.

You do not need to assign system administrators to cases. Any system administrator can, in iBase Designer, add cases and assign users to the cases. They can also assign all the users who are members of a Data Access Control group.

See Creating and Managing Cases in iBase for details of creating cases and assigning users to them.

Displaying case names

By default, the case name is not displayed as part of the record - to display the case name in iBase you need to add a case field to each entity and link type. You might prefer to use a standard field for this.

A case field is useful to users working in multi-case mode who might want to know which case a record belongs to. Case fields are less useful to users who work only in one case at a time because the name of the case is displayed in the title bar of the iBase window at all times.

Note: It is not possible to change the value of a case field.