CONFAB - Context Fabric Alan Newberger, Jason Hong, Jeff Heer -------------------------------------------------------------------------------- CONFAB DIRECTORY STRUCTURE This describes the general directory structure used for this project. - bin (contains executables, script files) - lib (*.jar files) - resources (javadoc, bug reports, configuration files, etc) - projects - shrew (shrew tiny web server) - bin (contains executables, script files) - classes (compiled class files) - distro (distribution jar files) - lib (*.jar files for compilation) - resources (javadoc, bug reports, configuration files) - src (source code) - confab (confab code, servlets, HTTP front-end, etc) - [same as above] - sim (confab context simulators) - infospace-examples (infospace examples, with configuration files) -------------------------------------------------------------------------------- GETTING STARTED Here are the packages you need. Basics: - JDK 1.4 (or better) (http://java.sun.com) - Tomcat 4.1.18 Web Server (http://jakarta.apache.org/tomcat) And then either: - CVS (we like TortoiseCVS) - Ant 1.5.1 (or better) (http://ant.apache.org) - Pageant and Putty Public Key software or: - Eclipse (optional) Eclipse is an open source IDE for developing Java apps, and includes CVS support, including secure communications. See our web page on setting up eclipse for Confab at: http://guir.berkeley.edu/internal/howto/eclipse-sourceforge/ INSTALLATION 0. If you plan on committing changes to the Confab package, jump to the section "Committing Changes" and do that first. Otherwise, just continue. (If you don't know, just continue.) 1. Download and install JDK1.4 or better http://java.sun.com/ The current implementation of Confab is in Java. (I installed mine to c:\jdk) 2. Download and install Jakarta Tomcat Web Server 4.1.18 or better http://jakarta.apache.org/tomcat Their web site navigation is really poor, you can also use this: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/bin/ Confab leverages web servers for naming and retrieving data (I installed mine to c:\java\tomcat) 3. Download and install Jakarta ANT 1.5.1 or better http://ant.apache.org/ ANT is like a Java-based version of 'make'. This is used to build the Confab class files. (I installed mine to c:\java\ant) If you use Eclipse, it compiles Confab class files for you, but you'll still want to use ANT to deploy the class files to Tomcat as described below. 4. Setup path and classpaths. In Win2K and WinXP, you can create environment variables via: Control Panel -> System -> Advanced -> Environment Variables Create them under "User Variables" rather than "System Variables" Create a JAVA_HOME environment variable that points to the JDK installation (ex if you installed to "c:\jdk", then setup JAVA_HOME=c:\jdk) (WinXP and Win2K don't handle spaces in paths very well, so unless you know what you are doing, don't install it to "c:\program files\jdk" or anyt other path that uses spaces) Create a CATALINA_HOME environment variable that points to tomcat Create a ANT_HOME environment variable that points to ANT Add ant's bin directory and Java's bin directory to your path (ex if ant was installed to c:\ant and JDK to c:\jdk, then set PATH="%PATH%;c:\jdk\bin;c:\ant\bin") Add tools.jar to classpath. This is needed for ant. (ex if JDK is in c:\jdk, then setup CLASSPATH=%CLASSPATH%;c:\jdk\lib\tools.jar) (In WinXP, you can do CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\tools.jar, but not in Win2K) 5. Now test that everything works. Type 'java' and see if Java starts running. Type 'ant' and see if ant tries to build (it will say can't find build.xml) Go to %TOMCAT_HOME%\bin and type 'startup' and see if the web server starts Open up a web browser and try to access "http://localhost:8080/" 6. Download the Confab package You can do this in one of two ways. If you do not plan on checking any new code back in, then just download the latest release from: http://sourceforge.net/projects/confab If you do plan on checking code back into Confab, then jump to the section "Committing Changes" and then come back here. (I installed my Confab package to c:\java\context) 7. Go to context/projects/confab and build the confab package: ant deploy (The ant/bin/ant.bat file has some problems with spaces in CLASSPATHs, so if it chokes, then you might have to muck around with it a little. I put a copy of ant.bat in context/support/ant.bat) This should build the confab packages and jar files and copy them over to the right Tomcat directory. NOTE: This also copies the web.xml file over to Tomcat's ROOT directory! If you are already running Tomcat, it will rename the existing one to web.xml.old (but be sure to make a copy of it just in case because it renames it every time) 8. Try starting up the Tomcat web engine again. xxx ------ COMMITTING CHANGES Do this ASAP if you want to commit changes, because SourceForge is really slow about updating public keys and all. 1. Download and install CVS we like TortoiseCVS, http://www.tortoisecvs.org/ 2. Download and install Pageant and Putty Public-Key http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 3. Setup an account on sourceforge.net Join the confab dev-team http://sourceforge.net/projects/confab/ You'll have to email one of the admin team members who can then add you. 4. Create a public key and private key pair with Pageant (You can create a public key with or without a password, it depends on how paranoid you are. I made mine without a public key) 5. Upload your public key to SourceForge Go to "SourceForge" -> "My sf.net" -> "Account Options" At the bottom of the page is "Shell Account Information". Hit the "Edit Keys" link and paste in your public key. 6. Wait a while (it takes some time for them to update your public key) 7. Try doing a CVS checkout Create the folder you want to hold all of your Confab files in. Right click, and choose "CVS Checkout" from the menu (this should be a new option courtesy of TortoiseCVS). In the CVS Checkout Module window, choose: CVSROOT = :ext:jas0nh0ng@cvs.confab.sourceforge.net:/cvsroot/confab Module = context (replace "jas0nh0ng" with your sourceforge account name) Hit "OK" and if everything was set up correctly, it should be snarfing all of the files. --------------------------------------------------------------------------------