root/juggler/branches/2.2/modules/jackal/RELEASE_NOTES.txt

Revision 17881, 5.9 kB (checked in by patrickh, 3 years ago)

Merged the 1.0.0 release notes from VRJ_RELENG_2_0_BRANCH.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1                               JCCL Release Notes
2                               ------------------
3
4 For all versions:
5
6     - See the ChangeLog for more system-level changes that do not directly
7       affect applications.
8     - See the Known Bugs page on the VR Juggler website (www.vrjuggler.org)
9       for the current list of bugs.
10
11 ===============================================================================
12
13  Version: 1.0.0
14 Released: July 5, 2005
15     New in this release:
16        * Support for Windows XP x64 Edition.
17
18  Version: 1.0 Beta 3
19 Released: June 7, 2005
20
21     The methods jccl::ConfigDefinition::assertValid(),
22     jccl::ConfigElement::assertValid(), and
23     jccl::PropertyDefinition::assertValid() have been removed.
24
25  Version: 0.18.0
26 Released: September 17, 2004
27
28     The config definition file format is now at version 3.1.  To update
29     from version 3.0, use the transform code in the file
30     tools/xmlupdate/jdef_3.0-3.1.xsl.  Updating to version 3.1 is required
31     for .jdef files to be loaded by the C++ and the Java code.
32
33  Version: 0.2.0
34 Released: May 23, 2002
35
36     Major refactoring and re-writing of file-handling code in both the Java
37     and the C++ aspects of JCCL has occurred.  The following describes the
38     changes and explains what must be done to update from all previous
39     versions.
40
41     JCCL now uses CppDOM for C++ XML handling and JDOM for Java XML.  There
42     are several aspects to this major change to JCCL:
43
44         1. Config file format update
45         2. API change
46         3. Code simplification
47         4. VjControl internal semantic differences
48
49     The build documentation in juggler/INSTALL.{txt,html} has been
50     updated to explain the requirements and how to configure the build.
51
52     Config File Format
53     ------------------
54
55     The config files now require *no* user-level parsing.  This is an
56     important change because it allows us to provide a much smoother
57     upgrade path for future changes to the basic file format and to the
58     structure of individual chunks.  We can now use XSLT to transform
59     config files with a stylesheet, thereby upgrading them.  All of the
60     sample configuration files have been updated to use the new format.
61
62     Updating Existing XML Config Files
63     ----------------------------------
64
65     If you have custom XML-based config files that you want to update to
66     the new changes, a Python script is available under tools/xmlupdate
67     that will do the job.  Please refer to the README.txt in that
68     directory for details.  At this time, the script only updates config
69     chunk files, not chunk descriptions.
70
71     Even after running the Python script and making hand modifications, it
72     is recommended that config files be loaded and saved with the new
73     VjControl.  You'll need to open each chunk individually (including
74     embedded chunks) and click the "OK" button to commit any in-memory
75     modifications.  The main reason this is necessary is because
76     enumerations are not yet fully supported the way they had been.  Right
77     now, the enumeration value is written to the config file instead of the
78     symbolic name.  This will be fixed in the future.
79
80     API Change
81     ----------
82
83     As part of this major change to JCCL, the jccl::ConfigChunk API has
84     changed slightly.  The deprecated method jccl::ConfigChunk::getType()
85     has finally been removed in favor of jccl::ConfigChunk::getDescToken().
86     If you get a compile failure because getType() is undefined, change
87     the code to use getDescToken().
88
89     A more interesting change it that the getProperty() method now takes a
90     template parameter.  For example, previous code would have looked like
91     this:
92
93         std::string prop_val = (std::string) chunk->getProperty("thingy");
94
95     OR
96
97         std::string prop_val = static_cast<std::string>(chunk->getProperty("thingy"));
98
99     The same functionality is now realized as:
100
101         std::string prop_val = chunk->getProperty<std::string>("thingy");
102
103     The template parameter can be anything, but the most familiar types
104     will be among the following:
105
106         * int, unsigned int, long, short, etc.
107         * bool
108         * float
109         * std::string
110         * jccl::ConfigChunkPtr
111
112     *** IMPORTANT NOTE: If you have any code that uses getProperty("name"),
113     you must change it to use getName() instead.  "name" has not a property
114     of a chunk since the original conversion to XML.  Code that uses
115     getProperty("name") will cause an assertion failure.
116
117  Version: 0.0.1 (dev build)
118 Started: September 5, 2001
119
120     Separated JCCL (Juggler Configuration and Control Library) from the
121     VR Juggler core.  It includes the following basic features:
122
123         * Configuration file system, using XML-based data files that are
124           parsed into ConfigChunks and ChunkDescs.
125
126         * The Jackal Server, which can be added to an appliation to provide
127           network-based monitoring and reconfiguration.
128
129         * VjControl, client application for the Jackal Server.  VjControl is
130           an extensible, componentized Java application.
131
132         * Dynamic reconfiguration support code, imported from VR Juggler
133           Kernel, which allows the Jackal Server to reconfigure a running
134           application in response to commands from VjControl.
135
136         * Performance measurement library, which allows applications to
137           timestamp parts of their source code.  The Jackal Server can
138           write performance measurement information to a log file or send
139           it across the network to VjControl.
140
141     JCCL has the following external dependencies:
142
143         * VPR (VR Juggler Portable Runtime) version 0.4.  See
144           www.vrjuggler.org for information.
145
146         * CppDOM.  See www.sourceforge.net/projects/xml-cppdom for
147           information.
148
149         * Java Development Kit 1.2 or better.  See java.sun.com.
150
151         * JDOM.  See www.jdom.org
152
153 ===============================================================================
Note: See TracBrowser for help on using the browser.