The requirements for the ProCol Server are Java 1.4.0 or higher. If the server is going to be ran from within jEdit, jEdit 4.2pre11 or higher is required. Hard disk space required is dependant on the number of projects, number of file backups, and number of communication and management messages stored on the server.
The server is contained within the client ProCol.jar file. There is no need to download any additional files. The ProCol.jar can be placed anywhere on the system if it is going to be run stand-alone. If the server is going to be used from within jEdit or if the client is going to be used as well, ProCol.jar should typically be placed in ~/.jedit/jars
. (usually /home/username/.jedit/jars/
or C:\Documents and Settings\username\.jedit\jars\
)
Starting the server stand-alone in done by simply running the ProCol.jar file from the command line. To do this, open up a terminal or DOS window, switch to the directory containing ProCol.jar and run java -jar ProCol.jar
. You may need to specify the path to java
if it is not in your path.
When the server is started, you will see some informational messages like the following:
Starting ProCol Server...
Project loaded: ProCol
ProCol Server running on port 4937
Once the 'ProCol Server running...
' message is displayed, the server is ready to accept connections from clients.
Informational and error messages will continue to be outputted to the terminal or DOS window as the server runs.
To stop the server, press Ctrl-C
in the terminal or DOS window. (Note: Shutting down the server while users are connected may result in data loss!)
Starting the server via jEdit is a simple process. Once ProCol is installed, you can use Plugins->ProCol->Server->Start Server
to start the server. This will bring up the ProCol Server Log. Please see the section 'Using within jEdit, Log Window' for more information about this.
Note: This feature is still experimental, and there is no way to shut down the server without exiting jEdit. It is recommended that if you wish to run the server from within jEdit, that it is ran in the same manner as the stand-alone method, but from the jEdit Console plugin instead of a terminal window. Please see the Console plugin documentation for more information on using Console.
All configuration of the ProCol server is done through .props files. These can be edited through any standard text editor. (I recommend jEdit, of course :) )
There are some standard folders that are required for the ProCol server. These folders are automatically created the first time the ProCol server is run, however, if you wish the create them before running the Server, you can. The required folders are as follows:
~/.procol
- The root ProCol directory~/.procol/server
- The root server directory~/.procol/server/projects
- The projects directoryThe server options file controls general server options (everything except users and projects). The default location for this file is ~/.procol/server.props
. The possible options for the server are listed below, along with their default values. If a value is not specified, th default value is used.
Properties are written in the standard form for Java Properties files. In short, this is option_name=option_value
and comments are written in the form # This is a comment
. Please see the Java API documentation for more information on this.
options.procol.server.port=4937
- The port the server listens onoptions.procol.server.logtimeformat=MM/dd/yy HH:mm:ss
- The date and time format for server loggingoptions.procol.server.hellomessage=Welcome!
- The welcome message, displayed to user when they connect to the server. Can use HTML formatting for this.options.procol.server.projects.dir=projects
- The directory that project files are located inoptions.procol.server.projects.dynamicload=false
- Directs the server to load projects dynamically, i.e. only when a user opens it. If false, all projects are loaded when the server is started.options.procol.server.users.list=users.props
- This specifies the properties file that contains the user list and options.options.procol.server.users.casesensitive=true
- This specified whether the user names should be case sensitiveoptions.procol.server.passwords.casesensitive=true
- This specified whether the passwords should be case sensitiveNote: A sample server.props file can be found here: server.props.
The user list file defines users, passwords, allowed projects, etc. The default location for this file is ~/.procol/users.props
. The possible options for the user list are listed below.
Properties are written in the standard form for Java Properties files. In short, this is option_name=option_value
and comments are written in the form # This is a comment
. Please see the Java API documentation for more information on this.
User properties are written in the form of username.option=option_value
.
Example.password=password
- The user's password. Currently unencrypted. Will be stored as md5 hash in future.Exmaple.fullname=full_name
- The user's full nameExample.email=email_address
- The users's e-mail addressExmaple.admin=[true|false]
- True if the user has administrative privliges on this serverNote: A sample users.props file can be found here: users.props.
All projects must be contained in the projects directory. The default location for this is ~/.procol/server/projects
. Projects are defined by a folder and a properties file. The folder must be the name of the project, and the properties file is contained in this folder with the name the same as the folder and the extension .props
.
For example, a project called MyProject would be contained in a folder ~/.procol/projects/MyProject
and a properties file ~/.procol/projects/MyProject/MyProject.props
. The properties file contains the option for that particular project. The possible options for the the project properties file are listed below.
Properties are written in the standard form for Java Properties files. In short, this is option_name=option_value
and comments are written in the form # This is a comment
. Please see the Java API documentation for more information on this.
name=project_name
- The name of the Projectdescrption=project_description
- The description for this project as displayed to users. Can use HTML formatting for this.files.dir=files
- The directory that contains the project file tree. If you wish to add files to the project, simply put them in this folder, and restart the server. Backup and version information will automatically be created. To add files without restarting the server, upload them using the client. (See client documentaiton for more information on how to do this.)backup.dir=backup
- The directory that contains the project file backups.backup.number=5
- The number of backup iterations to retain on the server.backup.suffix=~
- The filename suffix to append to the end up backed-up files.backup.enabled=true
- If true, server will backup files, if false, it won't.versions.dir=versions
- The directory where version information is stored.versions.suffix=.versions
- The filename suffix to append to the end up version info files.versions.allownochange=true
- If true, the server will allow a file to be checked in without incrementing the version number, otherwise, the server number must be incremented.privatemessages.dir=privmsg
- The directory where private message lists are stored.publicmessages.dir=publicmsg
- The file where public message lists is stored.todolist.dir=todo
- The file where the todo list is stored.buglist.dir=bugs
- The file where the bug list is stored.calendar.dir=calendar
- The file where the calendar is stored. (Not currently used)users.allow=[list of users]
- A list of users which are allowed access to this project. Usernames must be separated by a space or comma.users.anonymous=[allow|deny]
- If allow, anonymous logins are allowed, if deny, anonymous logins are prohibited. (Anonymous logins are not currently implemented.)Note: A sample project config file file can be found here: MyProject.props.
To open the status window, go to Plugins->ProCol->Server->Server Status
. This window can be docked (see jEdit documentation for more information about docking).
The status window is not currently implemented.
To open the admin window, go to Plugins->ProCol->Server->Server Admin
. This window can be docked (see jEdit documentation for more information about docking).
The admin window is not currently implemented.
To open the log window, go to Plugins->ProCol->Server->Server Admin
. This window can be docked (see jEdit documentation for more information about docking).
This window displays informational and error messages generated by the server. Information normally displayed in the console when running standalone is displayed here when running within jEdit.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no 'Invariant Sections', 'Front-Cover Texts' or 'Back-Cover Texts', each as defined in the license. A copy of the license is contained in the file COPYING.DOC.txt included with ProCol.
(c) 2003-2004 Justin Dieters