How to Set Up the Development Environment
When setting up a USoft development environment, you make a number of decisions depending on the size of your project and development team, preferences of team members, and infrastructure and system management standards.
The following overview describes typical steps you need to take when you first set up a USoft development environment.
Install the USoft Developer suite on all development machines.
Set up a development database on one of the machines, or make a central database server available. If a network is used, ensure database connectivity so that all development machines can connect to the development repository. Make sure that all future development team members have access to the appropriate network or development machine(s) at operating system level.
In the development database, USoft recommends that you create a separate database user (database account) for each development team member.
Define a database user as the repository owner. It is in the account of this user that the shared development repository is going to reside.
On the client machine of the team member logging in as this user, create a USoft Binder file for convenient access to USoft Developer product components and the database. When specifying username, password and database connection string, leave the Owner field open. You only need to use this field if the user you use for login is different from the owner of the tables you want access to (in this case, the repository tables).
Make sure that for all USoft Binder files in the development environment, you specify Project Type = "Development" (the default).
USoft Binder files are for a specific development project. If you have more than one USoft project, make sure you specify a Project Name in each Binder file you create.
USoft Binder allows you to define separate database connection properties for the shared development repository and a (test) application. Define separate database connection properties for repository and application, if you want each development team member to use different database accounts for the repository tables and runtime application tables (used during development for application testing and prototyping). You can decide if you want to do this once the project is under way.
As the repository owner, create the USoft authorization tables. You do this by running the Create Tables option of the Authorizer item in the Binder file.
If you chose to have separate database connections for repository tables and test application tables, make sure you select the Authorize for Repository option (an Authorizer item property) to create Authorizer tables for the repository user first. If you don't, the authorization tables will be created in the other database account instead. The separate database accounts may be on different types of databases, for example, Oracle vs. Sybase.
The reason you need to create authorization tables before other repository tables is that these tables are immediately needed to hold information on access rights to the repository both for yourself (the repository owner) and for others.
Now create the USoft Developer repository tables. You do this by running the Create Tables option of the Definer item in the Binder file.
The Create Tables options you ran have automatically granted yourself, as repository owner, access to the Authorizer and other relevant USoft tools. You now need to set up access rights to USoft Developer for the other development team members.
Authorization on repository
Open the Authorizer.
Team members play typical roles in a project. Think of developers, architects, analysts and administrators. USoft recommends that you assign each team member to one of more of such user groups and then specify authorization for each user group. Each project is different but to give you a quick start, USoft has pre-defined typical user groups for you, for which you can change or drop access rights later as required.
Run the Load Definer User Groups option from the Tools menu in the Authorizer if you want to use these pre-defined user groups. This is recommended.
Now register all database users you have created for the development team members. Then for each database user, specify that he or she has access to the USD application. This is the USoft Developer tool. You do this by specifying the database user as a member of one of the user groups of the USD application. The Authorizer has a New User Wizard which makes it easy for you to complete this task.
Access rights and membership of user groups can be changed at any time.
In addition to the USD application, development team members may also need to access other USoft applications used in your project, such as USoft BenchMark (default application name USTESTER).
Moreover, if you want development team members to use a central runtime application for testing and prototyping, they need access to this application as well. The default runtime application name is the name of the repository owner. (If the repository owner name starts with the "OPS$" prefix (Oracle) then the default application name does not have this prefix.) It is a good idea at this point to change the runtime application name to something meaningful to the organization. This is particularly important if the application is going to be run alongside other USoft applications in the production environment.
Finally, since developers log on to the RDBMS using their own database user name, each of them (except the repository owner) needs to be granted access to the repository tables at RDBMS level, too. Grant these RDBMS privileges by running the Update Application Rights tool in the Authorizer. Each time you extend access rights to new users, you need to re-run this utility.
Access to USoft
In addition to repository-side authorization, you need to give development team members access to the development environment from their client machine.
On each development machine, create one or more USoft Binder files (one for each team member that will use the machine). When specifying username, password and database string, you use the login and connection information of the team member, but in the Owner field you specify the repository owner. If you don't, USoft Binder attempts to find the repository in the user's own account.
You can have separate database accounts for repository and individual (test) applications, but you can also leave this decision until later.