Up Previous Next Title Page Index Contents

3.3 ArtBase System Administration

Most of the MetaEdit+ system administrator functions are built in to the third-party Object Repository, ArtBase, that MetaEdit+ uses. You will notice some slight differences in user interface standards in the ArtBase tools. For instance, there are some windows where functions are accessible by clicking what looks like a simple bold text label, with no button outline. For example, a database area’s name is shown in such a way: to change the name, click on the bold text label of the existing name, and a dialog will open in which you can enter a new name.

Figure 8. ArtBase System Administration Launcher.

The ArtBase System Administration Launcher provides powerful facilities for manipulating the repository, its users and areas. Each button in the launcher opens a tool, and these tools are described below.

3.3.1 Roots

The Databases Roots file, artbase.roo, consists of a list of the available MetaEdit+ repositories and their paths. Initially there is only one production repository (db), and depending on your installation one demo repository (demo), both supplied with MetaEdit+. Note that you may have other backup or checkpoint repositories to maintain a history of the evolution of your repository, or even different repositories. In general it is best not to have several repositories in use, as it is not possible to share data in a real-time manner between repositories: an important feature of MetaEdit+. Instead, create several projects within the same repository.

The path for each repository should point to the directory where that repository’s info file, manager.ab, is. Where possible, the paths to the repositories should be relative paths from the directory where the artbase.roo file is. If absolute paths are used, accessing the repository from other platforms may require the specification of Network Disks translations, described below.

Pressing the Roots button in the System Administration Launcher opens a Database Roots Browser, shown below.

Figure 9. Roots Browser.

rename opens a dialog where you can change the name of the selected database.

change path opens a dialog where you can change the path of the selected database: note that this does not move the database.

edit manager.ab opens a text editor window on the manager.ab info file of the selected database. This file lists all the users, areas and network disks translations, plus the name of this database, its path, and any server running on it. Each file name is preceded by a letter, indicating which platform’s conventions the name obeys, e.g. F for FAT file names (DOS), U for Unix file names. If you use only relative paths, with 8 or fewer characters, lower case, and no / or \ path separators, this letter will not need changing. When you save the file (from the pop-up menu), you will be prompted for the password of sysadmin, the first user, according to the encoded password in your edited copy of the file. If the password is not valid, a dialog informs that the file was not saved.

add DBS prompts you for the name and path of a repository to add to the list.

remove DBS removes the selected repository from the list: note this does not affect that repository itself.

save accepts the changes you have made, and saves them to the artbase.roo file. Note that this is necessary after any changes, except for editing manager.ab.

cancel rejects the changes you have made, and reloads the contents of the list from the artbase.roo file.

3.3.2 Users

For security, access to the MetaEdit+ database is controlled by user accounts, and users must specify a correct user name and password to log in. Each user has a set of access rights to projects (in practice defined as logical areas), his own fine tuning memory settings (from the User page of the Options Tool, also editable by the system administrator as Constants in each user browser), his default settings for System and Preferences in the Options Tool, and may be a member in the list of metamodellers (Repository page of the Options Tool).

In addition, the concurrency mode for each area a user has access to is defined. To speed up the definition of area access rights and concurrency modes, the system administrator can create groups, give those groups access rights and concurrency modes, and make users members of those groups, whereupon the users inherit the access rights and concurrency modes of their group.

Initially one user is defined in each repository as database system administrator, sysadmin, and is given access to the ArtBase-Administration logical area. Other users, initially just user in the repository supplied, are given access to the Administration logical area, which does not allow system administrator rights in MetaEdit+ or ArtBase. All users must have access to the Administration-Common physical area, normally via one of the above logical areas. The concurrency mode for this area should be WWCheck.
Note that users, groups, access rights, and system administrator rights are in no way related to those of your operating system: they exist purely within a MetaEdit+ repository. However, in Unix all Unix users who are to have access to a MetaEdit+ repository must have the same Unix group, because Unix access rights for the MetaEdit+ repository files are based on Unix group membership.

Pressing the Users button in the System Administration Launcher opens a Users Browser, shown below.

Figure 10. Users Browser.

The Users Browser shows all the users that currently exist in the open repository. Choosing a user shows the user’s group (if any), from which area access rights are inherited, and any sub-users of the user, who will inherit the access rights of the user. From the users list’s pop-up menu, you can browse the selected user, create a new user, or delete the selected user.

Browsing a user

Figure 11. User Browser.

By clicking on the bold text of the user’s name (next to the Name: label) you can change the user’s name. Below this you can see the user’s ID, which is used in e.g. error file names, meplusX.err, where X is replaced by the ID (for clients where no users is yet logged in, X is 0). On the right are two buttons from which you can set the user’s password (must be longer than four characters), and his fine tuning memory settings (called constants by ArtBase).

The list on the left shows the areas the user has access to: in general only logical areas are specified. On the right you can see and edit (by clicking on the bold text) the flush mode (always FlushChanged) and the concurrency mode (always WWCheckNoReadFlag for a multi-user database, SingleCheck for a single user database). Note that there must always be at least one area, either ArtBase-Administration (for system administrators) or Administration (for normal users), and that this has the concurrency mode of WWCheck.

Figure 12. Setting concurrency mode.

As can be seen from the figure, MetaEdit+ projects are accessed via a logical area that has the name of the project (adjusted for file name conventions), plus the letter ‘l’ (lowercase ‘L’).

From the list’s pop-up menu you can browse an area (see Section 3.3.3), add rights for this user to another area, or remove rights for this user to the selected area. When adding, make sure that the concurrency mode is correct.

Remember also that a user must have access rights to all areas he will need, including areas containing metamodels, and areas containing data linked to data he will be using. If a user attempts to examine data in an area to which he does not have access, an error will result.

Set constants: Fine tuning memory settings

ArtBase maintains a cache of all objects read from the database, to speed up access times by reading objects from memory rather than across the network or from disk. There are various settings that affect the size and behaviour of this cache, and the normal user can edit his settings via the Fine Tuning button on the User page of the Options Tool. The system administrator can edit all users’ settings via the Set constants: button in each user’s User Browser. The default ArtBase settings (shown on the right) tend to be somewhat small for a full MetaEdit+ repository, and so the initial settings for sysadmin and user in the MetaEdit+ repository increase some of the values (Figure 13).

The values of greatest interest are those beginning with Max or Min: these specify the bounds above which objects will be flushed from the cache, and below which objects will not be flushed from the cache.

The current size of the image, and amount and size of persistent objects in the cache, can be seen by selecting Repository | Statistics... in the main Launcher. By checking those values for a ‘typical’ session, and knowing the amount of physical and swap memory on a user’s platform, you can estimate efficient values for the settings.

In general, if the operating system seems to be using disk swap space all the time, you should allow the ArtBase cache to be flushed earlier, by decreasing the Min and/or Max values. Similarly, if the ArtBase cache seems to be flushing often (visible in the Repository Transcript in the Launcher, and also as a pause of a minute or so while no actions are possible), and you have sufficient physical memory, you should try to prevent the ArtBase cache flushing so soon, by increasing the Min and Max values.

Figure 13. Fine tuning cache and memory.

3.3.3 Areas

Pressing the Areas button in the System Administration Launcher opens an Areas Browser, shown below. All the areas in the repository are shown in the list on the left, with logical areas in bold. Selecting an area will show its information on the right. There is substantially more information given for physical areas, as they exist as directories and files, whereas logical areas exist only as data structures in the Administration-Common physical area. The settings shown for the selected mcc physical area are the defaults for new projects, and should not normally be changed: make backup, not read-only, and for a multi-user database protection mode Public.

Figure 14. Areas Browser.

The list has a pop-up menu that allows you to browse the selected area: it also includes other options that we do not recommend you use. MetaEdit+ creates the necessary logical and physical area (together known as an application), assigns user access rights, and initialises area global variables, when you create a project: creating areas with ArtBase leaves them uninitialised. Similarly it is not recommended to delete areas: there may well be links from data in other areas, and errors will result if the area is deleted.

You can however rename a project, by using the rename option for its physical area, and its logical area, which must have the same name as the physical area, plus ‘l’ (lowercase L). This only affects the user-visible project name, not the path. The project must not be open for you or any other user in a transaction overlapping with your current transaction.

To edit paths, click on the path name in bold text on the right (e.g. mcc in the figure): only do this if no other users are logged in. Entering a new path name will create that directory, and when you commit, all files will be moved to the new directory and the database’s manager.ab file will be updated. The old directory may be deleted by hand.

The maintenance menu contains actions that operate on the selected area: it can also be accessed in the Area Browser for a single area. collect garbage removes objects that are no longer referenced, and as such could never be used. condense versions removes all but the latest version of each object: versions of previous states of objects are kept by ArtBase, but are not currently available for use in MetaEdit+, because of the problems of inconsistent versions of related objects coexisting. unlock objects does just that: clears any locks on objects in this area, useful if a user has crashed and his locks remain in the database, but obviously extremely dangerous if other users are logged in. update position table and delete dynamic tables may be necessary if the database has ended up in a bad state because of a client or server crash or hardware failure.

In the main menu again, collect global garbage and condense database are similar to those in the maintenance menu, but operate on the whole repository. maintain database performs both of these, and some other tidying up operations, and is also available from the Repository page in the MetaEdit+ Options Tool, as Garbage Collect.

Figure 15. Areas menu with maintenance menu.

Choosing browse when a logical area is selected opens a browser on that area that shows which physical areas are referenced by the logical area: i.e. which physical areas the user can access if he has the rights to the logical area. In MetaEdit+ projects, each logical area has only one physical area, the only difference in their names being a letter ‘l’ at the end of the logical area’s name. The maintenance button opens the same menu as in the Areas Browser. The Browse scripts button allows you to open a browser on the open or close scripts for the area. In MetaEdit+, these are used to pre-load the types defined in that area, and to remove them when the area is closed. The scripts are automatically generated and should not be edited.

Figure 16. Logical area browser.

Choosing browse when a physical area is selected opens a browser on that area that is essentially the same as the logical area browser, plus the information shown in the right of the Areas Browser when a physical area is chosen, and without the hierarchy list: physical areas cannot contain other areas.

3.3.4 Network Disks

The Network Disks button in the System Administration Launcher opens a browser on the Network Disks translations for the repository. Each entry in the browser consists of a component from the start of a path of some file in the repository, and a similar component that would access the same path from another platform. If you have used relative paths throughout, as recommended, it will not be necessary to specify such translations, but if you specify an absolute path by hand for a database directory in artbase.roo, or an area directory in the Areas Browser, you will need to specify network disks translations for accesses to that path from platforms that do not share the same root directory. This applies to the multi-user version, and also to the single user version in the case that the repository is stored on a remote file system, with paths according to the conventions of that file system.

When ArtBase tries to access a database file and is told by the operating system that the file does not exist, it scans the list of network disk translations to see whether any entry on the left matches the start of the path which was not found. If so, it replaces the matching part of the path with the entry on the right, and tries again.

Note that translation of / and \ happens automatically, according to the client and server platforms, and U or F in front of file names in the repository’s manager.ab info file. Similarly, your operating system and network will convert file names that do not match your platform’s rules: this can create problems with restrictions on file name length and case sensitivity. MetaEdit+ automatically generates path names for projects, according to the rules of the platform being used as client when the project is created. If other client platforms have stricter rules about which characters may be used or how long names may be, you should either obey those yourself in naming the project, or edit the path later from the Areas Browser.

Figure 17. Network disks translations.

From the pop-up menu you can add a new translation, or remove or change the selected translation.

In the figure, the /home/metaedit path specified is the real path from the server: however, a PC client could not access this file directly with that path, but rather can mount that path as its drive M:. Thus when the PC client tries to access any file names beginning with /home/metaedit, e.g. /home/metaedit/db/areas/uml/uml.aob, it fails to find that path (translated to the PC path name convention of \ not /) and tries again, translating the first part to M:\, i.e. m:\db\areas\uml\uml.aob. All being well, it finds this file and continues without the user noticing anything. If the path is still not found, the user will be prompted to enter another path: that new path can be saved in the repository, thus overwriting the path there (not generally advisable: the path should be according to the server’s directory structure and conventions), or to use that translation for the duration of the current session only.

3.3.5 Close

Closes the System Administration Launcher.

3.3.6 Options

Pressing the Options button in the System Administration Launcher opens a dialog where you can choose how to select users and areas in ArtBase tools: by menu or by cursor. Keep the choice as by menu.

Up Previous Next Title Page Index Contents