This presentation, given at the Cornell Commonspot SIG meeting on March 22, 2006, addresses issues we discovered in moving sites from a test to production server. Content is stored in a per-site Oracle schema, while user identifiers are defined in a per-server schema. When migrating, it's necessary to update user identifiers in the site database. Peter Hoyt and Paul Houle developed a Perl script that examines the database structure, identifies fields that contain user identifiers, and maps them from the old to new server.
2. Context
• Support 21 unit libraries and many projects
• Copia, our primary web server has > 50 virtual hosts
• Commonspot sites up and running:
• Transition to Fatherhood
• Public Services Committee
• Under development:
• Mann Library
• ASTEC (Engineering, Math & Physical Sciences and Vet)
• NY Aerial Photos
8. Stages
1.
Find missing users in production system
2.
Add missing users to production system
3.
Create mapping of test -> production user ids
4.
Get database schema dump
5.
Extract list of user id fields
6.
Update user ids
10. Heuristics I
KEEP COLUMNS
STOP COLUMNS
DROP TABLES
AUTHOR
ATTRIBORDER
AVAILABLECONTROLS
CHANGEBY
CATEGORY
CATEGOR
CREATOR
CONTROLID
FORMAT
DELETEDBY
CHARID
LANGUAGE
GROUP
CONTROLLIST
SITEPAGES
OWNER
ELEMENTID
SYSTEM
REQUEST
ITEM
TRANSACT
USER
MASK
PAGE
QUERYID
SORTORDER
TYPE
VERSION
HEIGHT
11. Heuristics II
• Group ids start with 1,000,000
• Look at values to see if a column contains user id’s
• Is it numeric?
• Do the numbers match users and groups?
• LIST columns, ex. *.ITEMUSERGROUPLIST
• Format: “7,12,55”