Release 2.3.1 ------------- Build 1 - SYS: Fix NPE in SoftCache when key doesn't exist - WF: Imply 'Name' property on instantiation if not explicity declared - DB: More efficient DOM handling, getField() utility method for scripts - COLL: Added DependencyDescription. - COLL: addMember methods return new CollectionMember - SYS: Removed redundant fields from Event: AgentCentre and Type Release 2.3 ----------- Build 3 - Module support - SYS: Cristal now supports multiple domain libraries concurrently - CRISTAL modules. Each declares its components in a module.xml in the root of its jar which can add config, resources, items and agents. Also scripts on startup/shutdown. Build 2 - Java 1.6 Compliance Build 1 - First GIT commit - SYS: Cleaned up some proxy methods. getContents() now calls storage directly. - SYS: Removed Orbacus. Use JDK ORB instead. Use JDK idlj compiler instead of Orbacus one. Remove all Orbacus tools. Release 2.2 ----------- Build 3 - Last CERN - GUI: Local object creating script now opens new desc when done. - LDAP: Optimised Path setting by String. - DB: Renamed 'delete' method in storage to 'remove' for compatibility with javascript engine - WF: Fixed overwriting cached actdef properties, corrupting for future wfs Build 2 - SYS: Reduced interdependency between kernel singletons. Less back-calls to the gateway. - GUI: Fixed bad subscription breaking collection pane refresh. - GUI: Fixed NullPointerException trying to open items from tree collection. - WF: Implemented version numbers for wfdef references - DB: Separated LocalObjectLoader from Resource. Implemented cache for unmarshalled activity defs. - WF: Cut down number of calls to 'PushJobsToAgent'. This was slowing instantiation. - WF: Further cleaning. Simplified instantiation. - GUI: Close all and close other tabs in the File menu - SYS: New agent proxy util method - getItemByPath - GUI: Stop cell edit when new row added Build 1 - DB: Removed schema validator caching - GUI: New icon set. Reorganised all image resources. - INST: Updated installer to NSIS 2.06 - GUI: Fixed bug with read-only tables not being read only. - GUI: Add and remove vertex properties - GUI: Attributes are included in the first grabFocus() search - GUI: Dimensions no longer create an empty first row when they are created, if their minOccurs is 0. - SYS: Item and Agent factories have been replaced with a single item created on boot. It is registered with the name of the server so it is now possible for a centre to be shared between more than one server process. - GUI: Cleaned up menus - GUI: Unified Wf and Coll property pane into a single Vertex one - WF: Removed a lot of Aglium specific stuff - commonInterface, timeOut, Prefill - WF: Removed errors on no child in compostite activity and XOR script existence checking (too heavy) - GUI: Elementary activity outcome handler - based on property pane. - GUI: Cut down calls to check for Admin role. GUI will have to be restarted for admin role change to take effect. - GUI: Better read-only support in vertex property panel. New panel for act defs - finds child act def item. - GRAPH: clicking outside a vertex selects the containing graphable vertex, if present. Used for editing props of composite activity def etc. - SYS: Entity Exception throwing clarified - LDAP: Role management API simplified. Roles can now have no agents. - LDAP: Reorganised the LDAP package into various managers, simplified API. Most calls now go through the Path objects. No LDAP library objects should leave the lookup package now. - COLL: ClassCastException on Dependency.removeMember(id) fixed - BOOT: Bootloader creates script, activity definition and schema items at boot time. Old resource schema loading disabled. - SYS: Console ports are automatically assigned if none is specified. Chosen port is logged. GUI Client Console menu option is aware of the choice. - SYS: Console access: Default policy is to only allow connection from localhost. - GUI: List Of Values in outcome form - only supports enumerations for now. - SCR: Added support for tag in script xml to include other scripts - GUI: Removed 'auto-refresh execution pane' option - set to always reload - SYS: Changed SoftCache implementation to use ReferenceQueue to manage reaped objects. Should be more efficient. - LDAP: Changed LDAP property storage to attribute instead on child entry. Lots faster and appears in alias for query. - SYS: Moved all API objects out of AbstractMain into the Gateway. AbstractMain is no longer required to initialise a kernel process. - SYS: Moved Gateway to process package. Moved LDAP init to process.Bootstrap - will be entry point for basic item creation Release 1.2 ----------------------- Build 22 - GUI: Multiple table row select when read only Build 21 - GUI: Aggregation history browsing - GUI: Image field editing Build 20 - GUI: save/load execution xml Build 19 - GUI: implemented Array editing Build 18 - DB: Add 'queryToXML' to return the results as an XML string instead of a native result set. - WF: Disabled EventList in wf. Removed OutcomeDataHelper and all timeout and prefill code. Build 17 - GUI: Added image display of Base64Binary schema datatype Build 16 - WF: Removed state and transition translation tables - not used - GUI: Added activity state hacking for administrators in workflow pane Build 15 - WF: Optimised CompositeActivityDef unmarshalling, it was loading child activity defs multiple times. Should speed up item registration, especially for large workflows. Also cut down on slot loading child actdef. Build 14 - SYS: Fixed proxy subscription attempt before connection to proxy server established Build 13 - GUI: SwingWorker style tree building, should stop the exceptions and empty space problems - GUI: Data records and dimensions that aren't immediately visible are deferred until they are selected - GUI: Console supports loading scripts from a file (with %s replacement with input text) - GUI: Workflow pane returns to last viewed graph on refresh/update. Property Panel resets on model change. - GUI: Outcome viewer empty fields are left empty in read-only mode. Build 12 - GUI: Fixed crash of properties pane when user is not administrator - GUI: Fixed crash in viewpoint pane if no 'last' view is present for outcome type - GUI: Outcome form can cope with empty elements in tables (provided datatype is supplied) Build 11 - SYS: Strings without translation are logged in the file 'untranslated.txt' - GUI: Removed translation calls for outcome form element names - GUI: Fixed strange tree behaviour (large white gaps, incomplete labels) caused by wrongly sized labels - GUI: Extended about box to include copyright notices and license links for third party components Build 10 - GUI: Changed LoginBox key listener for compatibility with java 1.4 - LDAP: Fixed read-ahead bug causing hang when invalid entry received - GUI: DomainPath edit section of property pane rewritten. Supports changing - GUI: New Collection pane supports multiple collections per item. Dependency view not yet implemented Build 9 - GUI: Fixed tree refresh - DB: Added Schema validation Build 8 - WF: Fixed Join proceeding when a previous Composite was still active - WF: Fixed Composite activity calculateAllJobs for Item.queryLifecycle filter=false - LDAP: LDAPLookup uses a query batch size to speed up loading of the tree. It will only load 100 nodes at a time. - UC: Usercode process suspends on all Throwables instead of just Exceptions. This catches OutOfMemoryErrors. - SYS: Added version resources Release 2.1 ----------- - WF: New workflow straight edge styles - DB: Storage clusters were not being queried in the order specified in the config. Fixed. - GUI: Combined Outcome and Viewpoint Panes as single History/Outcome/Event pane - DB: Fixed LDAP retrieval of properties - SYS: Partially implemented Entity Proxy reaping - SYS: Fixed proxy connection hang - SYS: Fixed proxy disconnection exception - GUI: Changed admin property updating to use marshalling - DB: Made persistent objects java.io.Serializable to allow simple binary cluster storage - WF: Multi-threaded job pushing - WF: SKIP transition clears reservation, as it could have been set by RESERVE - GUI: Copy/Paste graph layouts (only supported in Java 1.4+) - WF: Fixed loop/join backlink detection - SYS: Client notification of domain path changes - WF: Fixed bug where repeating activities were never ignorable - DB: Dependency collection was not marshalled properly - SYS: Implemented soft reference cache to let unused cached objects get reaped by the VM when memory is tight. Used for caching: - Entities in memory on the server - Entity Proxies - C2KLocalObjects in ClusterStorage memory cache - SchemaValidators - SYS: Server entity Reaper is no longer needed under soft caching. - SYS: Split kernel/domain resources. Domain specific jars can now be kept in the domain jar or at a URL. - SYS: Proxy subscriptions hold observers by WeakReference, to not lock them in memory. - SYS: Various EntityProxy utils - LDAP: Change IOR encoding to hostname to allow IP change - WF: Fixed addition of composite activities into instance workflow from composition Release 2.0 ----------- - Initial Release