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 $