Last commit for README-CHIME.txt: 0e0f247e6f75380ce38dfdb12af5330da9a9158c

Made irrelevant change for CVS class

jjp32 [2001-07-12 21:47:23]
Made irrelevant change for CVS class
  1. Programming Systems Lab
  2. Columbia Hypermedia Immersive Environment (CHIME) v3.00 README
  3. Copyright (c) 2001 The Trustees of Columbia University in the City of
  4. New York. All Rights Reserved.
  5. ----------------------------------------
  7. * Introduction
  9. CHIME consists of 8 modules - viz. FRAX, plugs, Dataserver, VEM, ThemeManager, Client, proxy and the 2D client. Here we are just showing what FRAX, the plugs and the Dataserver look like.
  11. Note that CHIME is in a prerelease state, and is still active research. This means that while the functionality mentioned in this document has been implemented, there is no guarantee of error-free operation. Additionally, modules in this system are subject to significant change in the future; current API's are not final-form.
  13. * Description
  15. FRAX - File Recognize and XMLify
  16. This is the module that goes out and contacts the exteral data source using the inputted location and the specified protocol to extract metadata from the remote source.
  18. Adding new Protocols:
  20. If you wish to add a new protocol you need to mention it in the
  21. file called protocol.conf. The format to be used should look like:
  22. <protocol> <class responsible for protocol>
  23. HTML psl.chime.frax.protocols.http
  25. Protocols should be put in the protocols/ directory and they
  26. must be part of the package psl.chime.frax.protocols.<ProtocolName>
  27. All protocols should extend the psl.chime.frax.FRAXProtocol which
  28. provides helper methods. See the comments of the source file.
  29. Generally speaking a protocol needs to implement createParams which
  30. is defined in FRAXProtocol and goPlug. The method createParams
  31. generates the argument which needs to be passed to goPlug. (the
  32. Object[]). goPlug passes the control to the plug decider which
  33. calls on the appropriate plug.
  36. Adding Special Protocols:
  38. If you wish to add special protocols you can modify
  39. where you will find a method called getType. This method was created
  40. especially for protocols that need to use data sources which don't
  41. implement extensions.
  44. The Plugs are called specifically by FRAX depending on the file type, each plug is specifically designed to extract metadata from specific filetypes.
  46. Adding new plugs:
  48. If you wish to add new plugs then you need to mention them in the
  49. file called plug.conf. The format of the entry should correspond
  50. to the following:
  51. <extension> <class responsible for extension>
  52. HTML pls.chime.frax.plugs.html
  54. Plugs should be put in the plugs/ directory
  55. and they should all be in the package psl.chime.frax.plugs.<PlugName>.
  56. All plugs must extend psl.chime.frax.plugs.FRAXPlug which will force
  57. the plug writer to implement all the procedures which are used in frax
  59. The information from FRAX/plugs is posted onto the Siena server in the form of SmartEvents. For this demo, the server will start up locally on your machine and so will the subscriptions so that you can monitor them.
  61. The DataServer accepts these SmartEvents and parses through them to grab the metadata and post it cleanly into a database form. This part has not been integrated fully yet, but should be done in about a week.
  64. * Distribution/Prerequisites
  66. CHIME is currently distributed in source. In order to use CHIME, you must have several supporting libraries:
  68. - SUN JDK 1.3 (
  69. - Siena 1.1.3 (
  70. - Apache Xerces XML parser (
  72. If you installed the complete installation available from our website, then both Siena and the XML parser should have been preinstalled for you.
  74. Once source has been obtained, ensure that the CLASSPATH includes the aforementioned libraries as well as the PARENT of the psl directory. Your classpath should be as follows
  76. SET ROOT=C:\pslroot
  77. SET FRAX=%ROOT%\psl\chime\frax
  78. SET JARS=%ROOT%\jars\siena-1.1.2.jar;%ROOT%\jars\HTTPClient.jar
  81. We have put this in a file called setenv-vars.bat and if you run it, it will automatically add this to your classpath. Please remember that these are not permanent additions to your classpath and will need to be added after you reboot. You must add this to your classpath/run the file before running your own test cases on the command line. To run our test cases, you do not need this.
  83. * Configuration
  85. Although CHIME is meant to be very dynamic, most of the work here has been hard-coded and will be changed in the next version so that it can be changed at runtime.
  87. * Execution
  89. Note that CHIME is not intended for standalone operation. However, a tester program is provided so that you can experiment with its functionality and begin to be accustomed to the CHIME prerelease API.
  90. Usage :
  91. java psl.chime.frax.FRAX <Protocol> <Object to retrieve>
  93. Protocol can be either of the following:
  94. HTTP - web requests
  95. LFS - local file system requests
  96. BSCW - BSCW requests
  98. Object to retrieve:
  99. anything that the protocol understands.
  101. * Documentation
  103. Published documentation is not yet available for CHIME, as the API is currently under heavy fluctuation. However, CHIME source is well-commented, and follows Javadoc standards, so if basic
  104. documentation is desired javadoc should be run on the supplied modules.
  106. * Known Problems/Bugs
  108. Due to the early research state of this software, there are a number of known bugs and issues. We are in the process of compiling these, and will be placing them on our website in the near future. In the meantime, see the email address below for support on CHIME.
  110. * Contact
  112. PSL can be reached on the Web at For technical support with this product (limited, as it is a prerelease version), email