Starting up with teikade system
===============================

This file contains description about things to do or to know before
running the system. See WINDOWS file for features and operations of
each window.

platforms
---------
Following is the list of platforms teikade entirely/partly runs on:

 for 1.6)
   Sun SPARC Solaris 2.4 or later running JDK-1.0
   Windows NT 3.5 or later running JDK-1.0
   Windows 95 running JDK-1.0

 for 1.5b)
   Sun SPARC Solaris 2.4 or later running JDK beta2
   Windows NT 3.5 or later running JDK beta2
   Windows 95 running JDK beta2

 for 1.4b)
   Sun SPARC Solaris 2.4 or later running JDK beta1

DEJAVA SYSTEM REQUIRES JDK COMMANDS AND CLASSES FOR INSTALLATION.
GET IT BEFORE YOU START THE INSTALLATION PROCEDURE.

upgrading
---------
If you are already using previous version of teikade, you may want to
keep your previous .projects or package related informations.
Currently, Setup.class does not support upgrading operations,
do not use Setup class. Normally, what you need to do is just setting
your CLASSPATH correctly. But if you have created the top directory
package, or created .java files under project directory directly,
remove the package entry using older teikade system. And run the new
teikade, rebuild database for the project, then the top directory
package will be registered again. This procedure is needed because
the package name for the top directory package has been changed.

install
-------
The package is tar'ed and gzip'ed. You can extract this system under
any directory you like. The directory named teikade will be created
and source files, documents etc. will go under this directory.
Then move to the created directory and run the installer. 
The installer is written in the Java language, so you need to set up
CLASSPATH and PATH environment variables before running it.
Classes included in AWT package are also used by the installer.
If you are using Solaris version of JDK, be sure to set DISPLAY
environment variable and run X-Window system before installation.

ex) installing under /usr/local/java
	$ cd /usr/local/java
	$ ls
	teikade-1.6-src.tar.gz
	$ gunzip teikade-1.6-src.tar.gz | tar xf -
	$ ls -F
	teikade/    teikade-1.6-src.tar.gz
	$ cd teikade
	$ CLASSPATH=./classes:$CLASSPATH
	$ export CLASSPATH
	$ java Setup
		: (setup program asks you a few questions)


before running
--------------
The first time you run teikade system after installing it, the
system will create a directory named .dejava under your home
directory. This directory contains information files about source
files managed by teikade system. This directory is called 'profile
directory' in teikade system. Profile directory is created in
$HOME/.dejava by default, but you can specify path name for profile
directory using java system property named dejava.profdir. 
Information for each project goes into the directory named .dejava
under the project's top directory, if it exists.

teikade system manages java sources in 4 levels --- project, package,
class, method. The logical location of a source code is specified by
the object called CodePath. String replesentation of CodePath is like:

	project/package.class#method

To manage exsiting source files by teikade, you need to coordinate
these source files to satisfy following conditions:

  - No .java file can exist under the project's top directory.
    All of source files should be placed in subdirectory which
    stands for the package.
  - Each .java file should contain package statement.

Project is a name associated with certain directory. Package name
is made by replacing file separator charactor in relative pathname from
project directory with '.'. For example, when a project named jdk
is associated with /usr/local/java/src, the CodePath for the method
'public static void exit(int)' of class System described in
/usr/local/java/src/java/lang/System.java seems like:

	jdk/java.lang.System#exit(int)

starting
--------
To start teikade system, do:
	$ java dejava.sys.SystemManager [project names ...]
When it starts up, the system transcript window comes up.
If you specified project names in command line, corresponding
project browsers also come up.


browsing
--------
Changes you made with teikate windows on class/method description
will be fixed when you accept them, and will be written in file
when you sync the class/package/project they belong. Comments for
package/project will be written in the file when you accept them.
If you forget to accept, or to sync, contents of the file will not
be changed. Although, all changes you made are automatically synced
when the system goes down. Compilation causes sync for the file
contains the class to be compiled. When you're going to compile whole
the package, all updated files in the package will be synced.
You must select proper menu to accept -- Package menu to accept
package comment, Method menu to accept method description, and so on.

Following is the flow chart of development cycle on teikade:

		    +---(auto sync)----+
		    ^		       |
		    |                  v
	update -> accept -> sync -> compile -> execute
          ^         |        |         |          |
          |         v        v         v          v
          +---------+--------+---------+----------+

See WINDOWS file for functionalities of each window.


exiting
-------
Each window used in teikade system can close by selecting close or quit from
File menu. To shut down the teikade system, close the system transcript.


(Java and HotJava are trademarks of Sun Microsystems, Inc.)
