Edit Rename Changes History Upload Download Back to Top

SkillsBase Deployment

The OpenSkills SkillsBase and MMS systems run within the GemStone OODBMS in production. Primary development work is done in the VisualWorks development emvironment. The Store version control system holds all the code, including the GemStone-only code (it is held as text strings within class methods).

Here we assume that a new version of the system has been completely developed and tested in VisualWorks and has been published to Store.

For instructions on setting up a production server, see below.

Common deployment steps

You need to have a working VisualWorks development environment and a local installation of GemStone. Do not test anything out on the peoduciton server. Ever.

  1. Start a clean VisualWorks image and load the version of the "OS SkillsBase Development" bundle to be deployed. It must load cleanly. If it does not (e.g. if the load process causes a pundle to me marked as changed), fix the problem republish and start again.
  2. Run all SUnit tests.
  3. Test that this version of the system UI behaves as intended in VisualWorks.
  4. Create a clean test database
  5. From the VisualWorks image Login as OSkSkillsBase and evaluate "OSSBDeployment step00PublishAllCodeToGemStone. This will compile all the code for the system into the GemStone database. Check that the system transcript shows no errors at all. If there are any, fix them in VisualWorks and start again at step 1.
  6. Commit the GemStone transaction
  7. Start the system in GemStone and test everything out.
At this point we know that the changed system works in GemStone. Now we need to develop the scripts to upgrade the production system with the new GemStone code, and parhaps new model schema.

Deploy schema changes

The only objects that may persist in the database are instances of GemStone system classes (e.g. String) and instances of classes in the "OS SkillsBase Model" package (e.g. OSSBSkill). If any of the SkillsBase model objects have changed name or variables, the existing instances in the system must be migrated to the new classes.

To create the migration scripts:

  1. Restore the production system to a development environment.
  2. Create a new account in the database with a name corresponding to the Store version number of the code to be deployed.
  3. Login as the new account and file in all the code as above.
  4. For each class that has a new name or a new structure:
    1. Add the new class to the class history of the current production class
    2. ...

Deploy UI changes

Production Server Set-Up

Set up users and groups

Set up the directory structure

The aim here is to have a directory structure that allows us to use the right GemStone version for the desired SkillsBase system version.
Edit Rename Changes History Upload Download Back to Top