Enabling hgLogin: Difference between revisions
Line 42: | Line 42: | ||
==Migration to hgLogin== | ==Migration to hgLogin== | ||
Mirror sites currently operating a local sign-in function can replace the local system with the '''hgLogin''' CGI. | |||
Migrate the user information to the '''gbMembers''' table in hgcentral, then edit the '''hg.conf''' to enable '''hgLogin'''. | |||
Procedure to migrate from mediawiki to '''hgLogin''': | |||
* | * The gbMembers table structure is supplied in the download copy of the '''hgcentral''' database: [http://hgdownload.cse.ucsc.edu/admin/hgcentral.sql hgcentral.sql] | ||
* Use the '''CREATE TABLE IF NOT EXISTS `gbMembers` (...)''' statement from that '''hgcentral.sql''' file. | |||
* | * Determine the name of the database and table used by mediawiki from the mediaWiki configuration file '''LocalSettings.php'''. Assuming the configuration has | ||
* | |||
$wgDBname = "wikidb"; | $wgDBname = "wikidb"; | ||
$wgDBprefix = "mw1_"; | $wgDBprefix = "mw1_"; | ||
Then, the table name | Then, the table name '''mw1_user''' and database name '''wikidb''' are used. | ||
* Export the user table | * Export the '''user''' table into a file '''wikidb.user.tab''': | ||
hgsql -e "select user_id,user_name,user_real_name,user_password,user_email,user_touched,user_email_authenticated | hgsql -e "select user_id,user_name,user_real_name,user_password,user_email,user_touched,user_email_authenticated | ||
from mw1_user;" wikidb > wikidb.user.tab | from mw1_user;" wikidb > wikidb.user.tab | ||
* Import the wikidb.user.tab to gbMembers by | * Import the '''wikidb.user.tab''' to '''hgcentral.gbMembers''' by | ||
hgsql -e "LOAD DATA LOCAL INFILE 'wikidb.user.tab' INTO TABLE gbMembers FIELDS TERMINATED BY '\t' | hgsql -e "LOAD DATA LOCAL INFILE 'wikidb.user.tab' INTO TABLE gbMembers FIELDS TERMINATED BY '\t' | ||
LINES TERMINATED BY '\n' IGNORE 1 LINES;" | LINES TERMINATED BY '\n' IGNORE 1 LINES;" | ||
* Set the two status fields | * Set the two status fields: | ||
hgsql -e "update gbMembers set passwordChangeRequired='N';" hgcentral | hgsql -e "update gbMembers set passwordChangeRequired='N';" hgcentral | ||
hgsql -e "update gbMembers set accountActivated='Y';" hgcentral | hgsql -e "update gbMembers set accountActivated='Y';" hgcentral | ||
* Enable hgLogin | * Enable '''hgLogin''' with the modifications to '''hg.conf''' as described above. | ||
[[Category:Mirror Site FAQ]] | [[Category:Mirror Site FAQ]] |
Revision as of 23:03, 3 July 2012
Introduction
To ensure the privacy of saved sessions in the UCSC Genome Browser, a user must log in to the browser before using the session manager. Prior to version 268, the UCSC Genome Browser was using the UCSC Genome Wiki website to handle the sign up, login, and logout functions for the session manager. Previously, for a mirror site to save sessions locally, the mirror site must have the sign-in function provided by a simulated or locally-installed mediawiki server.
Starting with V268, the UCSC Genome Browser introduced the hgLogin CGI to replace the genomewiki. The user management functions will be handled by the built-in hgLogin CGI together with the gbMembers table in the hgcentral database. Starting from Version V269, mirror sites can use the hgLogin CGI to handle the user management directly without mediawiki.
Backward compatibility
The hgLogin CGI is designed to maintain complete backward compatibility with the genomewiki login system:
- For current UCSC Genome Browser users, the transition from genomewiki to hgLogin is transparent. The user name, password, email address and, most importantly, all the saved sessions are preserved. The user will notice no functional change.
- The hgSession and hgLogin CGIs are designed to use the same cookies that are used by genomewiki. This design provides complete backwards compatibility to current mirror sites with sign-in function (via a simulated- or locally-installed mediawiki server). When hgLogin is not enabled, all browser functions will continue to work as before
Enabling hgLogin
Procedure to enable the hgLogin CGI on a Genome Browser mirror:
- Locate the genome browser configuration file hg.conf in your /cgi-bin/ directory.
- Add the statement login.systemName=hgLogin CGI to the hg.conf file.
- Also in the hg.conf file, change the host value in the "wiki.host" entry to point to your mirror browser host running the hgLogin CGI. The host should be in the same domain as value set in "central.domain", for example, if central.doman=.university.edu then set wiki.host=mylab.university.edu
- Since the hgLogin CGI uses the same cookies as did the genomewiki, please do not modify these two configuration parameters:
wiki.userNameCookie=wikidb_mw1_UserName wiki.loggedInCookie=wikidb_mw1_UserID
- Add the 4 parameters for the UI headings (browserName) and text string used in emails (login.xxxxxx) send out to the user. You should set them to appropriate local values.
To summarize, You should have the following parameters in hg.conf to enable the hgLogin
login.systemName=hgLogin CGI wiki.host=mylab.university.edu wiki.userNameCookie=wikidb_mw1_UserName wiki.loggedInCookie=wikidb_mw1_UserID login.browserName=myLab Genome Browser login.browserAddr=http://mylab.university.edu login.mailSignature=My Lab browser administrator login.mailReturnAddr=browserAdministrator@mylab.university.edu
Migration to hgLogin
Mirror sites currently operating a local sign-in function can replace the local system with the hgLogin CGI. Migrate the user information to the gbMembers table in hgcentral, then edit the hg.conf to enable hgLogin.
Procedure to migrate from mediawiki to hgLogin:
- The gbMembers table structure is supplied in the download copy of the hgcentral database: hgcentral.sql
- Use the CREATE TABLE IF NOT EXISTS `gbMembers` (...) statement from that hgcentral.sql file.
- Determine the name of the database and table used by mediawiki from the mediaWiki configuration file LocalSettings.php. Assuming the configuration has
$wgDBname = "wikidb"; $wgDBprefix = "mw1_";
Then, the table name mw1_user and database name wikidb are used.
- Export the user table into a file wikidb.user.tab:
hgsql -e "select user_id,user_name,user_real_name,user_password,user_email,user_touched,user_email_authenticated from mw1_user;" wikidb > wikidb.user.tab
- Import the wikidb.user.tab to hgcentral.gbMembers by
hgsql -e "LOAD DATA LOCAL INFILE 'wikidb.user.tab' INTO TABLE gbMembers FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;"
- Set the two status fields:
hgsql -e "update gbMembers set passwordChangeRequired='N';" hgcentral hgsql -e "update gbMembers set accountActivated='Y';" hgcentral
- Enable hgLogin with the modifications to hg.conf as described above.