Chapter 2. Configuring GUS

Table of Contents

Users, Groups, and Projects
External Databases
Table and Schema Metadata

Users, Groups, and Projects

GUS provides basic functionality for tracking changes and controlling access by users, groups, and projects. To use this functionality, you must first create User, Group, and Project entries in the database. If you've just completed installing GUS, these will be entered using the dba user and group, and the Database administration project (these three values are the default in every GUS installation). These tables are populated with either the LoadRow or LoadGusXml generic plugins. Examples are below.

Example 2.1. Adding a User with LoadRow

ga GUS::Supported::Plugin::LoadRow --tablename Core::UserInfo --attrlist \
        "login,password,first_name,last_name,e_mail" \ 
        --valuelist jsmith^^^p@ss^^^Jane^^^Smith^^^jsmith@example.org --commit

Example 2.2. Adding a Group with LoadRow

ga GUS::Supported::Plugin::LoadRow --tablename Core::GroupInfo \
        --attrlist name --valuelist samplegroup --commit

Example 2.3. Adding a Project with LoadGusXml

The XML to load is shown above, and is assumed to be named sampleproject.xml. The command to load the XML is shown below.

<Core::ProjectInfo>
     <name>Sample project</name>
     <description>A sample project</description>
</Core::ProjectInfo>
//
ga GUS::Supported::Plugin::LoadGusXml --filename sampleproject.xml --commit

Once these tables have been populated, you must either update your $GUS_CONFIG_FILE and gus.config file (in the $PROJECT_HOME/install/ directory), or use the values from the command line when running plugins with the --user, --group, and --project flags.