Creating a SIFTER project is pretty simple. You must first decide on a project name. Project names will come naturally, as you already have some name for the analyses you are doing. The name might be something like progeria or glaucoma or the like.
The name is important as it serves as both the realm name for the server and client, as well as the name of a directory on the web server and therefore in the URL people use when referencing the project with their web browser.
The project name should contain no blanks and consist only of alpha-numeric characters and '-' and '_'. Using unusual or special characters may cause things to fail when scripts refer to the project name.
Your Database Administrator (DBA) will need to create a database for the project. The details important to your DBA will include the number of maps and results you intend to load and the size of the results.
It's time to create a project. Lines you enter are shown in red and commentary is shown in blue. Also note that some of the following was reformatted to make it easier to add comments. If you encounter problems, you might want to look at When the Demo Goes Wrong for some ideas.
cd [whereever]/sifter-1.00 Start in SIFTER distribution directory perl -w perl/scripts/createproject.pl If your database is Sybase, you'll want the environment varibale SYBASE set. You may also need to specify a special Perl library directory. If so, set these environment variables or specify something like this: (PERL5LIB=blahblah; export PERL5LIB; \ perl -w perl/scripts/createproject.pl) +---------------------------------------------------- | Create a SIFTER Project +---------------------------------------------------- Here are some things we need from you: (1) The name of the project to be created. (2) You need to have created a Sybase database where the SIFTER data will be stored. You need to know: * the complete DSN for your database (an example is provided), * the database userid * the password for this database userid (3) We need to know a web server where the SIFTER project will accessed. You must tell us the directory in HTDOCS where the files will be installed. (4) If the URL you provided in (3) requires a userid/password to access the data, you will need to know * web userid to use * web password to use You will need to provide two directories where some of this configuration information can be saved. We'll ask for; (5a) A directory where the SIFTER client code can find the URL provided in (4). This should be a directory that is globally readable. This is only used by people who will load data into the database. It is not required by analysts who will access the data using a web browser. (5b) A directory where a CGI running on the web server (from (3)) can read the database informations. Be careful here because this information contains a database userid and password, so you want it protected so that the web server can read it, but not by anyone else except administrators. Are you ready to create the SIFTER project? Enter y or n: y Avoid this with the -quiet option the next time. Do read it at least once so you know what's needed. No point in going further if you don't know the answers to what's going to be asked. Provide the name of this project. This also is your realm name:: MYPROJ The project name is very important as it serves as the realm names for the server and client as well as the directory name in HTDOCS. Changing this later is not going to be easy. This is case sensitive. Provide the database DSN (e.g. 'dbi:Sybase:server=my_host;database=sifter_db'): dbi:Sybase:server=SOMESERVER;database=SOMEDATABASE Your DBA can tell you the Sybase 'server' and 'database' values. Provide the database userid: DBUSERID Provide the database password for this userid: DBPASSWORD Again your DBA can tell you database user and password that was defined. Provide the host name of a web server where MYPROJ will run: www.YOURDOMAIN.COM Your web master can tell you what this should be if you don't know it. Provide the protocol to access 'www.YOURDOMAIN.com' (https or enter for http): https Again, ask your web master can tell you what this should be if you don't know it. Enter any special port in the URL to access 'www.YOURDOMAIN.com' (NNNN or enter): Most times you should just press enter. Ask your web master if you don't know. If 'https://www.YOURDOMAIN.com/MYPROJ' is password protected, provide the userid or press enter for none: MYUSER If accessing the URL mentioned two lines above will required a password, provide the userid here. Again, ask your web master. Provide the password or press enter for none: MYPASSWORD Likewise. Provide the full path to the HTDOCS for 'https://www.YOURDOMAIN.com': /home/apache/HTDOCS This is the directory where your web server documents are kept. We need to create a directory 'MYPROJ' here and copy files so the project works. Ask your web master if you don't know this. We need a directory where the server information can be saved. This directory must be readable by a CGI runnning on https://www.YOURDOMAIN.com/MYPROJ Enter directory path: /SOMEPATH/sifter/server This is a directory where the database information will be saved. This is a directory where the file 'MYPROJ' will be created (since the name of this project is 'MYPROJ'). We need a directory where the client information can be saved. This directory should be world readable. Enter directory path: /SOMEPATH/sifter/client This is a directory where the URL for the project is saved. This is a directory where the file 'MYPROJ' will be created (since the name of this project is 'MYPROJ'). Let's check this one last time: project=MYPROJ dsn=dbi:Sybase:server=SOMESERVER;database=SOMEDATABASE dbuid=DBUSERID dbpwd=DBPASSWORD URL=https://www.YOURDOMAIN.com/MYPROJ webuid=MYUSER webpwd=MYPASSWORD CGI database details will be in '/SOMEPATH/sifter/server/MYPROJ' Client details will be in '/SOMEPATH/sifter/client/MYPROJ' HTDOCS is in 'HTDOCS' Shall we make the various files? y|n y Check the values over carefully. If anything is wrong, enter 'n' and start again. If any errors are made here, it'll insure something will fail. Saved pointers to realm data in '/tmp/createproject.data' Retrieving realm details from '/tmp/createproject.data' Some of the input to createproject.pl is saved here. This is only created so you can restart createproject.pl and not need to re-answer the questions. +---------------------------------------------------- | Initialize your database +---------------------------------------------------- Are you sure you want to continue? (y/n) y This will destroy your database, so be really sure you answered the questions properly and gave the correct DSN. Verifying DBI access to database works... DSN=dbi:Sybase:server=SOMESERVER;database=SOMEDATABASE UID=DBUSERID PWD=DBPASSWORD Connected to database: dbi:Sybase:server=SOMESERVER;database=SOMEDATABASE CREATE table 'bogosity' INSERT OK UPDATE OK SELECT OK DELETE OK DROP OK DBI access to database appears to work At this point we have verified that the Perl DBI code works. Your database userid and password can create/drop tables and put data in and get it out. Destroy the SIFTER database and re-initialize it... WARNING: destroy all data in Sifter realm 'fusion' (dbtype=SYBASE)! Proceed? (y/N) y Now we are preparing to initialize the SIFTER data in your database. Running: perl/scripts/../../db/sybase/clean.sql Running: perl/scripts/../../db/sybase/schema.sql Running: perl/scripts/../../db/sybase/proc.sql Running: perl/scripts/../../db/sybase/data.sql Database for realm 'MYPROJ' has been initialized. If successful, the SQL has been run using the database userid and password and we've created a bunch of tables. Adding default attributes: Added analysis attributes Added map attributes Added enumerations SIFTER database successfully re-initialized. See log file '/tmp/createproject.sql.log' Now we've loaded some SIFTER internal data into the database. Verifying SIFTER SERVER database access works... SIFTER SERVER database access appears to work SIFTER SERVER access is fine. See log file '/tmp/createproject.checkdb.log' We have used the SIFTER realm information to access the initialized tables. Cleaning SIFTER for install. Ignore errors. The database is ready, now install the project software on the web server. Creating Makefiles starting at '/home/tpg/dev/sifter' Makefiles were created. See log file '/tmp/createproject.serverinstall.log' We start by finding where you have installed the SIFTER code and then invoking 'perl Makefile.PL'. Since you have provided all the details earlier, you do not need to answer the questions. Preparing SIFTER for install. Ignore deprecated messages... Note: Alert.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. Ignore these java compiler warnings. Note: ./ClosableFrame.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. etc. SIFTER ready for install. See log file '/tmp/createproject.serverinstall.log' 'make server' has compiled everything and created modules with the paths you provided. Installing SIFTER... Install was successful. See log file '/tmp/createproject.serverinstall.log' Everything is copied to the HTDOCS you specified. You should have a running SIFTER installation, but we'll check anyway :-) Check CGI scripts using DBI module... CGI scripts can use the DBI module. Your CGI scripts can actually use the CGI module. Check CGI scripts using SIFTER module... CGI scripts can use the SIFTER module. We could access some SIFTER information on the web server. SIFTER project 'MYPROJ' is ready for you to load data into it.
That's it! Your project has been created. Now it's time to set up your attributes so you can eventually load your maps and results into the SIFTER database.Version=$Id: createproject.html,v 1.5 2002/11/04 16:35:05 tpg Exp $