CODESO READTHIS FILE
======================

This file created 2006-06-02 to track changes to the
CODESO source code.


Release WHT-RELEASE-633
=======================

This is the "ground zero" of the CODESO observing software.
Based on OASISOBS_V2 release WHT_RELEASE-624.

Functionality
-------------

Provides a basic working system. The following commands
are available:-

    start/shutdownserver
    start/shutdowngui

    start/shutdownoasisserver
    start/shutdownoasisgui

    config
    servercmd
    resourcecmd


The following scripts are important:-

    add/delete_codeso_resources
    add/delete_codesoapp_resources


Bugs and Limitations
--------------------

   This V1 release still does NOT implement the IDL as specified
   in the document:-

      "CODESO: Overview and IDL Interfaces (Revision 1)"

   This will be left to a later V2.xx release.


   This release stil lincludes the codeso applications. These
   will be moved to a separate codesoapp package in a separate
   release.


Still To Do's
-------------


Changes
-------

   Files Added :-

      not yet applicable


   Files Deleted :-

      not yet applicable


   Files Modified :-

      not yet applicable


Placed into CVS Repository under release tag WHT-RELEASE-633
============================================================

Release WHT-RELEASE-641
=======================

Added support for servercmd.

Added event throttling to EpicsPvStatusMonitor in an attempt to reduce
machine loading when EPICS mechanisms are moved.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    start/shutdownserver
    start/shutdowngui

    start/shutdownoasisserver
    start/shutdownoasisgui

    config
    servercmd
    resourcecmd


The following scripts are important:-

    add/delete_codeso_resources
    add/delete_codesoapp_resources


Bugs and Limitations
--------------------

   This V1 release still does NOT implement the IDL as specified
   in the document:-

      "CODESO: Overview and IDL Interfaces (Revision 1)"

   This will be left to a later V2.xx release.


   This release stil lincludes the codeso applications. These
   will be moved to a separate codesoapp package in a separate
   release.


Still To Do's
-------------

Changes
-------

Files added:-

   jb_local_idl_depend   added idl depend task for use with jb proj


Files deleted:-

   none

Files modified:-

   ServerTool            fixed to use server resources known by ResourceManager

   ResourceManager       slightly improved diagnostic messages.

   WrappedSyslog         modified confusing comment about Syslog being initialised.
                         now says interface library initialised.

   ServerRunner          now associates unique syslog string with each server.

   build.xml             turned off default excludes when zipping - ensures CVS
                         files also get zipped.

   codeso.jpx.local      changed minor details associated with jb proj

   resourcecmd.bat       reduced number of command line args

   ControlGui.java       changed syslogging to show all GUI information with GUI identifier

   EpicsPvStatusMonitor  now discards oldest items if more than a certain number of items in the status changed queue.
                         Currently max items in queue is set to 2.


   WrappedPv.java        removed superfluous debug.

   CorbaInterface.java   upgraded initialisation messages to ENG status

Placed into CVS Repository under release tag WHT-RELEASE-641
============================================================


Release WHT-RELEASE-643
=======================

The previous release had a concurrency bug which could occasionally
cause lockup. A new class - the DiscardingQueue - has now been
implemented which throws away its oldest elements when the queue becomes
full. The EpicsPvStatusMonitor has now been modified to use this
class instead of its previous internal homegrown solution.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    start/shutdownserver
    start/shutdowngui

    start/shutdownoasisserver
    start/shutdownoasisgui

    config
    servercmd
    resourcecmd


The following scripts are important:-

    add/delete_codeso_resources
    add/delete_codesoapp_resources


Bugs and Limitations
--------------------

   This V1 release still does NOT implement the IDL as specified
   in the document:-

      "CODESO: Overview and IDL Interfaces (Revision 1)"

   This will be left to a later V2.xx release.


   This release stil lincludes the codeso applications. These
   will be moved to a separate codesoapp package in a separate
   release.


Still To Do's
-------------

Changes
-------

Files added:-

   src/es/iac/ing/codeso/gen/DiscardingQueue.java                new class that never blocks
                                                                 on put, but which discards its
                                                                 oldest elements when full.

   test/es/iac/ing/codeso/TestEpicsPvStatusMonitor.java          added support for testing
                                                                 EpicsPvStatusMonitor


Files deleted:-

   none

Files modified:-

   READTHIS                                                      this file
   src/es/iac/ing/codeso/epics/EpicsPvStatusMonitor.java         modified to use new DiscardingQueue

   test/es/iac/ing/codeso/TestEpicsPvStatusMonitorNcuSlide.java  modified to remove hard coded dependence
                                                                 on codesoapp.

Placed into CVS Repository under release tag WHT-RELEASE-643
============================================================

Release WHT-RELEASE-686
=======================

First release of CODESO Version 2.0.

This is development software and is not yet of production quality.
This is the ground zero on which the production release will be
based.

Functionality
-------------

Provides a basic working system. The following commands
are available:-

    start/shutdownserver
    start/shutdowngui

    start/shutdownoasisserver
    start/shutdownoasisgui

    config
    servercmd
    resourcecmd


The following scripts are important:-

    add/delete_codeso_resources
    add/delete_codesoapp_resources


Bugs and Limitations
--------------------

This is software and under development and is not yet of production
quality.

Still To Do's
-------------

Changes
-------

Files added:-
Files deleted:-
Files modified:-

Placed into CVS Repository under release tag WHT-RELEASE-686
============================================================


Release WHT-RELEASE-702
=======================

Fixed broken javadoc and improved commenting and structure associated
with resource manager.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    start/shutdownserver
    start/shutdowngui

    start/shutdownoasisserver
    start/shutdownoasisgui

    config
    servercmd
    resourcecmd


The following scripts are important:-

    add/delete_codeso_resources
    add/delete_codesoapp_resources


Bugs and Limitations
--------------------

This is software and under development and is not yet of production
quality.

Still To Do's
-------------

Changes
-------

Files added:-
Files deleted:-
Files modified:-

Placed into CVS Repository under release tag WHT-RELEASE-702
============================================================


Release WHT-RELEASE-709
=======================

Upgraded IDL for compatibility with Python/C++ bindings.
Note: this change has required fairly extensive (though
straightforward) changes to the internal implementation of
CODESO. The API to users of the framework remains substantially
unchanged.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

This is software and under development and is not yet of production
quality.

Still To Do's
-------------

Changes
-------

Files added:-
Files deleted:-
Files modified:-

Placed into CVS Repository under release tag WHT-RELEASE-709
============================================================


Release WHT-RELEASE-713
=======================

Updated action handler interface. Action handlers are now relieved
of the responsibility of explicitly updating their associated action.
This is now done automatically by the new ActionExecutor class.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

This is software and under development and is not yet of production
quality.

Still To Do's
-------------

Changes
-------

Files added:-
Files deleted:-
Files modified:-

Placed into CVS Repository under release tag WHT-RELEASE-713
============================================================


Release WHT-RELEASE-718
=======================

This is the candidate release for the CODESO 2 "beta" release.


IDL Changes
-----------

Server:

IdlServerStateCode enumeration - changes to constants.
IdlServerListener interface changed name to IdlServerSubscriber
for coonsistency with other subscriber interfaces.
IdlStartupException and IdlShutdownException now contain
support for CODESO-style error information.
isOk operation now supports CODESO-style error information.
added the following methods: restart, terminate standby
server can not be passed arguments when starting up.


CodesoErrorInterface.idl:

Updated for CODESO2. Added new ERRFIX field providing concept of
remedial action advice which may be associated with each error
condition.


StatusItem.idl:

Minor formatting change.


Action:

ACTION_REQUESTED --> ACTION_PENDING
added new validate method
improved comments



JAVA API Changes
----------------

Quite a lot of changes here, mainly to the JAVA API to improve
the transparency of the interface, to limit the scope of
what has been public, to improve the documentation etc

Interface has been substantially changed to make use of
getters. Thus, where previous one called descriptor() now
one has to call getDescriptor().

What was previously value(), and descriptor() have now become
getValue() and getDescriptor(). On the proxy side these
can now throw the NotConnectedException. Alternative,
unchecked forms of these functions exist. See getUncheckedDescriptor()
and getUncheckedValue(). These return null if the proxy isn't
connected.

Client-side of actions, status items and servers has now
been substantially simplified.

StatusItem has been modified to make use of generic methods.
This considerably eases the code maintenance. The interface
to the user  remains unchanged.

Object lifecycles is now supported in the via new activate
and shutdown methods and their observers (isActive,
isShutdown).

The concept of objects groups has been added. This allows one
to perform bulk operations on collections of statusitems and
actions, and their corresponding proxies.

Logging is now controllable via setLoggingState function.
Default for actions is to log all changes; default for status
items is to log nothing.

The functionality in the server package has been improved.
It is now possible to remotely start and shutdown the
server "body". The server shell remains running.

Error interface has now been updated to reflect the current
reality. Old errors that are no longer relevant have been
discarded from the catalogue.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

This software is still under development and is not yet of production
quality. However, it is getting very close now.

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

Other known problems:

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.


Still To Do's
-------------

Changes
-------

Files added:-
Files deleted:-
Files modified:-

Placed into CVS Repository under release tag WHT-RELEASE-718
============================================================


Release WHT-RELEASE-720
=======================

This is the candidate release for the CODESO 2 "beta" release.

setActive and setExceptional: bug fix.
awaitActionCompletion now fixed.
improve parameter argument validation.


IDL Changes
-----------

Server:

Added errorCode and extraErrorInformation srtrings to
IdlServerValue struct.


StatusItemIdl:

Improved commenting on STATUS_TYPE_UNCONSTRAINED.



JAVA API Changes
----------------


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

This software is still under development and is not yet of production
quality. However, it is getting very close now.

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

Other known problems:

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.


Still To Do's
-------------

Changes
-------

Files added:-
Files deleted:-
Files modified:-

   action.client.ActionProxy.java               improved/fixed awaitConnection method.
   action.server.Action.java                    improved/fixed awaitRegistration and awaitActionCompletion methods.
   action.server.IdlActionImpl.java             improved method argument validation.
   action.types.*.java                          added comments to say that methods which expose the IDL are
                                                not intended for public use.
   gen.ResourceManager.java                     made object final

   publisher.client.IdlSubscriberImpl.java      improved method argument validation.

   publisher.server.IdlPollableImpl.java        improved method argument validation.
   publisher.server.IdlSettableImpl.java        improved method argument validation.
   publisher.server.IdlSubscribableImpl.java    improved method argument validation.
   publisher.server.Publisher.java              improved javadoc.

   server.client.ServerProxy.java               improved/fixed awaitConnection method.
   server.server.DefaulServerBody.java          added getServerName
   server.server.iServerBody.java               added getServerName
   server.server.IdlServerImpl.java             improved method argument validation.
   server.server.Server.java                    improved awaitRegistration method
                                                improved method argument validation.

   server.server.ServerRunner.java              modified to add the possibilit of running
                                                class files directly.


   server.types.ServerDescriptor.java           improved javadoc.
   server.types.ServerValue.java                added support for holding and reporting
                                                error information.

   status.server.StatsuItem.java                improved/fixed awaitConnection and awaitEvent methods.

   status.client.StatusItemProxyGeneric.java    fixed broken javadoc.
   status.client.StatusItemProxyGroup.java      fixed broken isExceptional method.

   status.types.ServerDescriptor.java           improved javadoc.
   status.types.*.java                          added comments to say that methods which expose the IDL are
                                                not intended for public use.
                                                updateActive and updateExceptional changed to setActive
                                                and setExceptional.


Placed into CVS Repository under release tag WHT-RELEASE-720
============================================================


Release WHT-RELEASE-722
=======================

Fixed boken TestPublisher.java
Modified WrappedSyslog for compatibility with Niko changed talker.
Improved visibility of various field constants in javadoc.
Improved ServerRunner.


IDL Changes
-----------

None


JAVA API Changes
----------------


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

This software is still under development and is not yet of production
quality. However, it is getting very close now.

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

Other known problems:

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.


Still To Do's
-------------

Changes
-------

Files added:-
Files deleted:-
Files modified:-


Placed into CVS Repository under release tag WHT-RELEASE-722
============================================================


Release WHT-RELEASE-723
=======================

Summary: a number of changes that became necessary/desirable
when refactoring ING CODESO applications.


IDL Changes
-----------

None


JAVA API Changes
----------------

Fixed bug in SetActive and setExceptional whereby the updated value
was not being published.

Changed contract for StatusItemValueString.stringValue() method.

Changed contract for StatusItemValueXXX.stringValue() so that they
no longer include a superfluous spacet character if there are
no engineering units defined.

Added support for improved Error Popup Window.
Added additional methods to ActionProxyGroup to allow clients
to detect when all associated actions are completed.

Created new ServerProxy class.
Changed GuiLauncher for consistency with ServerRunner.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

This software is still under development and is not yet of production
quality. However, it is getting very close now.


Known problems/issues:

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.

There is no way to tell the CODESO widgets which naming service
they should use. The workaround is to set a system property
but really this should be a property of the widgets themselves.

The control widget adapter will only work with a single CODESO
Action. This provides a restriction on the way that CODESO server
applications are designed.


Still To Do's
-------------

Changes
-------

Files added:-

       gui/iGuiControlPanel.java                                Defines the capabilities that must be implemented by
                                                                any class which wishes to provide a control panel for
                                                                the CODESO combined GUI.

       server/client/ServerProxyGroup.java                      Added for consistency with actions and statusitems
                                                                and as required for GuiLauncher.

       widget/basic/CBasicErrorPopup.java                       A new popup error window prviding more information
                                                                about the cause of error, together with a possible remedy.

Files deleted:-
Files modified:-


       action/client/ActionProxy.java                           Changed keyword order on method signature.

       action/client/ActionProxyGroup.java                      Added isConnectedAll, isCompletedAll, awaitConnectionAll,
                                                                awaitCompletionAll

       action/server/Action.java                                Minor comment change
       action/server/IdlActionImpl.java                         Changed keyword order on method signature.
       action/types/ActionState.java                            Improved javadoc.
       gen/Configuration.java                                   Improved parameter validation.
       gen/ErrorCatalog.java                                    Added support for error remedy.
       gen/ErrorManager.java                                    Added support for error remedy.
       gen/ErrorResourceExtractor.java                          Added support for error remedy.

       gui/GuiLauncher.java                                     Rewrite based on ServerRunner.
       gui/GuiTopFrame.java                                     Now works in conjunction with iGuiControlPanel interface.

       idl/CodesoErrorInterface.idl                             updated error catalog.

       publisher/client/SubscriberLeaseRenewerTask.java         Changed keyword order on method signature.
       publisher/client/SubscriberLinkCheckerTask.java          Changed keyword order on method signature.
       publisher/client/SubscriberSubscribeTask.java            Changed keyword order on method signature.

       publisher/server/Idl/IdlSubscribableImpl.java            Changed keyword order on method signature.
       publisher/server/Idl/Publisher.java                      Changed keyword order on method signature.
       publisher/server/Idl/SubscriberLeaseManager.java         Changed keyword order on method signature.
       publisher/server/Idl/SubscriberNotificationManager.java  Changed keyword order on method signature.
       publisher/server/Idl/SubscriberReferenceManager.java     Changed keyword order on method signature.
       server/client/ServerProxy.java                           Changed keyword order on method signature.


       server/server/IdlServerImpl.java                         Changed keyword order on method signature.
       server/server/Server.java                                Minor javadoc change.
       server/server/iServerBody.java                           Minor javadoc change.
       server/server/ServerRunner.java                          Tidied up documentation; now correctly
                                                                shuts down serverproxy.
       status/client/StatusItemProxyGroup.java                  added isConnectedAll
       status/server/StatusItem.java                            Fixed SetActive and setExceptional. Improved logging.
       status/client/StatusItemGroup.java                       Removed redundant import.

       widget/XXXX                                              Added support for new error popup window
                                                                Changed keyword order on method signature.


Release date: 2006-12-28


Placed into CVS Repository under release tag WHT-RELEASE-723
============================================================


Release WHT-RELEASE-743
=======================

Summary: a number of changes that became necessary/desirable
when refactoring ING CODESO applications.

See JAVA API changes (below) for more information.


IDL Changes
-----------

None


JAVA API Changes
----------------

    A number of small changes. Most notable is the removal of the getState method
    from xxxProxyInfo objects. This was a rather broken attempt at a convenience
    method. Instead you should use the getUncheckedValue method and query that
    instead.

    EPICS isActionSuccessful method was broken resulting in incorrect operation
    on some EPICS instrumentation.

    startgui previously did not work as it wasn't passing the -loadresource
    switch.

    added support for poll-on-demand status item connection policy.

    startserver now properly turns on syslogging.


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

This software is still under development and is not yet of production
quality. However, it is getting very close now.

Known problems/issues:

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.

There is no way to tell the CODESO widgets which naming service
they should use. The workaround is to set a system property
but really this should be a property of the widgets themselves.

The control widget adapter will only work with a single CODESO
Action. This provides a restriction on the way that CODESO server
applications are designed.


Still To Do's
-------------

Changes
-------

Files added:-

   None

Files deleted:-

   None

Files modified:-

   READTHIS                                                                 - this file !

   src/es/iac/ing/codeso/action/client/ActionProxy.java                     - changed code layout.
   src/es/iac/ing/codeso/action/client/ActionProxyGroup.java                - no longer calls ActionState's getState method
   src/es/iac/ing/codeso/action/client/ActionProxyInfo.java                 - no longer supports getState()
   src/es/iac/ing/codeso/action/server/Action.java                          - fixed broken javadoc comment.
   src/es/iac/ing/codeso/action/types/ActionArgument.java                   - improved exception messages
   src/es/iac/ing/codeso/action/types/ActionArgumentList.java               - added containsArgument method.
   src/es/iac/ing/codeso/action/types/ActionParameterType.java              - reformatted for clarity.


   src/es/iac/ing/codeso/epics/Car.java                                     - fixed broken isActionSuccessful method.
   src/es/iac/ing/codeso/epics/EpicsPvStatusMonitor.java                    - fixed numeric precision at 0.1
                                                                              *** NEEDS FURTHER ATTENTION ***
   src/es/iac/ing/codeso/gen/ConfigurationManager.java                      - added support for specifying data source
                                                                              in constructor.

   src/es/iac/ing/codeso/gui/GuiLauncher.java                               - tidied up. Now print server status report.
                                                                              started adding support for startu/shutdown

   src/es/iac/ing/codeso/gui/GuiTopFrame.java                               - started adding support for startu/shutdown
                                                                              changed name to CODESO Control GUI.

   src/es/iac/ing/codeso/publisher/server/PublicationPolicy.java            - added comment about infinte leases
                                                                               *** NEEDS FURTHER ATTENTION ***

   src/es/iac/ing/codeso/server/client/ServerProxyGroup.java                - call to getState() should now go via
                                                                              getUncheckedValue()

   src/es/iac/ing/codeso/server/client/ServerProxyInfo.java                 - removed getState()

   src/es/iac/ing/codeso/server/server/Server.java                          - fixed broken javadoc comment.
                                                                              initialised who and reason fields.

   src/es/iac/ing/codeso/status/client/StatusItemProxyConnectionPolicy.java - added support for poll on demand connection policy.

   src/es/iac/ing/codeso/status/client/StatusItemProxyShort.java            - fixed broken javadoc comment.
   src/es/iac/ing/codeso/status/server/StatusItem.java                      - fixed broken javadoc comment.

   src/es/iac/ing/codeso/widget/adapter/ControlWidgetAdapter.java           - modified because getState() has been removed

   src/es/iac/ing/codeso/widget/adapter/LogWidgetAdapter.java               - modified because getState() has been removed

   src/scripts/startgui                                                     - added "-loadresource" option.
   src/scripts/startgui.bat                                                 - added "-loadresource" option.
   src/scripts/startserver                                                  - turned on syslogging.


Release date: 2007-01-09

Placed into CVS Repository under release tag WHT-RELEASE-743
============================================================


Release WHT-RELEASE-750
=======================

Minor change to EpicsPvStatusMonitor to deal with outstanding
issue when reverse mapping numeric values received from the EPICS
Process Variable.

This change removes the only known problem with CODESO which
makes it non-viable to deploy it operationally.


IDL Changes
-----------

None


JAVA API Changes
----------------

    Change to EpicsPvStatusMonitor


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

Known problems/issues:

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.

There is no way to tell the CODESO widgets which naming service
they should use. The workaround is to set a system property
but really this should be a property of the widgets themselves.

The control widget adapter will only work with a single CODESO
Action. This provides a restriction on the way that CODESO server
applications are designed.


Still To Do's
-------------

Changes
-------

Files added:-

   None

Files deleted:-

   None

Files modified:-

   READTHIS                                               - this file !
   src/es/iac/ing/codeso/epics/EpicsPvStatusMonitor.java  - fixed numeric precision issue.


Release date: 2007-01-09

Placed into CVS Repository under release tag WHT-RELEASE-750
============================================================


Release WHT-RELEASE-758
=======================

Made all timers daemon threads so that CODESO never stops an application
from terminating.

Improved support for server command tool -> changes to ServerCommandTool
and ServerProxy.


IDL Changes
-----------

   None


JAVA API Changes
----------------

   None


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

Known problems/issues:

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.

There is no way to tell the CODESO widgets which naming service
they should use. The workaround is to set a system property
but really this should be a property of the widgets themselves.

The control widget adapter will only work with a single CODESO
Action. This provides a restriction on the way that CODESO server
applications are designed.


Still To Do's
-------------

Changes
-------

Files added:-

   None

Files deleted:-

   None

Files modified:-

   READTHIS                                                                 this file !

   src/es/iac/ing/codeso/action/server/ActionExecutor.java>                 Modified to run threads as daemons to prevent them from
                                                                            keeping an application running.

   src/es/iac/ing/codeso/epics/WrappedPv.java>                              Changed timer to run as daemon thread so that it is incapable
                                                                            of keeping an application from terminating.

   src/es/iac/ing/codeso/gen/CorbaInterface.java>                           No longer explictly configures JACORB_CONFIG_DIR.

   src/es/iac/ing/codeso/publisher/client/ClientSideStatisticsLogger.java>  Modiified to run threads as daemons to prevent them from
   src/es/iac/ing/codeso/publisher/client/PublisherPollTask.java>           keeping an application running.
   src/es/iac/ing/codeso/publisher/client/SubscriberLeaseRenewerTask.java   ""
   src/es/iac/ing/codeso/publisher/client/SubscriberLinkCheckerTask.java    ""
   src/es/iac/ing/codeso/publisher/client/SubscriberSubscribeTask.java      ""
   src/es/iac/ing/codeso/publisher/server/DeadSubscriberPrunerTask.java     ""
   src/es/iac/ing/codeso/publisher/server/NameRegistrationTask.java         ""
   src/es/iac/ing/codeso/publisher/server/NotificationExecutor.java         ""
   src/es/iac/ing/codeso/publisher/server/ServerSideStatisticsLogger.java   ""
   src/es/iac/ing/codeso/publisher/server/SubscriberNotifier.java           ""

   src/es/iac/ing/codeso/server/client/ServerCommandTool.java               Now prints error information if server selftest fails.
                                                                            Added support for getting and setting properties.
                                                                            Increased server timeout to 10 seconds and improved error message.
                                                                            Added support for self-test.
                                                                            Added support for turning on and off debugging, console echo etc

   src/es/iac/ing/codeso/server/client/ServerProxy.java                     Added support for getting and setting properties.
                                                                            Added support for invoking additional server-side features.
   src/es/iac/ing/codeso/server/server/IdlServerImpl.java                   Modified isOK operation to initialise fields even when the server is running ok.
                                                                            Fixed broken javadoc.
   src/es/iac/ing/codeso/server/server/ServerRunner.java                    Increased timeout to 10 seconds. Improved javadoc.

   src/scripts/servercmd                                                    Fixed broken path

Release date: 2007-01-13

Placed into CVS Repository under release tag WHT-RELEASE-758
============================================================

Placed into CVS Repository under release tag WHT-RELEASE-750
============================================================


Release WHT-RELEASE-761
=======================

Biggest change with this release is that the default listening port
has been changed to 35778. This is intened to smooth the transition
to the OmniNames Naming Services at ING (for a limited period we
need to operate two naming services).

See below for details of a few other minor improvements.


IDL Changes
-----------

   None


JAVA API Changes
----------------

   Minor (backwards compatible) Java API changes


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

Known problems/issues:

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.

There is no way to tell the CODESO widgets which naming service
they should use. The workaround is to set a system property
but really this should be a property of the widgets themselves.

The control widget adapter will only work with a single CODESO
Action. This provides a restriction on the way that CODESO server
applications are designed.

Sometimes all channels don't connect. Seems to be some
problem with initialisation common to all CODESO StatusItems
and Actions. "Data Model not initialised problem seems to be
common error".

When exiting a ComboBox after editing a value there is
a bug - the ComboBox text remains in white and editable.

DBaccess is hardwired to whtics.

config command no longer available/untested.

CODESO needs howtobuild documentation in READTHIS file.

Actionhandler javadoc. doesn't show all methods which are called.

Quality of Service statement needs updating.

Needs test validation suite.

Need to check works with Java 6.

The lifecycles of CODESO widgets are not currently controllable

All CODESO widgets talk to the local CORBA Naming Service.

Still being built with Sun IDL compiler which generates
IDL which is NOT compatible with Python.

StatusItemProxyGroup should allow adding proxies and associating
them with a particular name.

Should probably introduce snapshot() objects

ServerCommandTool throws error when activating/shutting down some clients

Might want to review all error message and proposed remedies.

Still To Do's
-------------

Changes
-------

Files added:-

   lib/idldepend-1-1-0.jar


Files deleted:-

   lib/idldepend-0-8-0.jar


Files modified:-

   READTHIS                                                      - this file

   build.xml                                                     - added lib/idldepend-1-1-0.jar to IDLCheckerTask

   codeso.jpx.local                                              - updated

   src/es/iac/ing/codeso/action/server/Action.java               - added getActionHandler

   src/es/iac/ing/codeso/action/server/IdlActionImpl.java        - added support for getActionHandler
                                                                   Now catches RuntimeException rather than Exception.

   src/es/iac/ing/codeso/gen/CorbaInterface.java                 - changed default port to 35778

   src/es/iac/ing/codeso/gen/ResourceTool.java                   - tidied up command syntax

   src/es/iac/ing/codeso/gui/GuiLauncher.java                    - Now treats all resources as upper case. Improved control logic.

   src/es/iac/ing/codeso/server/server/ServerRunner.java         - Now treats all resources as upper case. Improved control logic.

   src/es/iac/ing/codeso/widget/interfaces/iStatusReadable.java  - Restored getStatustext() which had inadvertently got deleted.


Release date: 2007-01-28

Placed into CVS Repository under release tag WHT-RELEASE-761
============================================================

*** The above was the last release committed before Simon Rees left ING ***



Release WHT-RELEASE-809
=======================

This was an OSCAR release that was never put under CVS.


Release WHT_RELEASE_845
=======================

Sergio Pico first CVS CODESO release. :-)

Changed default Naming Service connection back to port 35777.

Fixed synchronisation bugs within widget adapters which was
causing some widgets not to connect.

Changed default state of CORBA ORB cacheing so that for every
Naming Service connection a single ORB instance is used. Sergio
says this significantly improves connection times ("by a factor
of 20").


IDL Changes
-----------

   None


JAVA API Changes
----------------

   None


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

Known problems/issues:

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.

There is no way to tell the CODESO widgets which naming service
they should use. The workaround is to set a system property
but really this should be a property of the widgets themselves.

The control widget adapter will only work with a single CODESO
Action. This provides a restriction on the way that CODESO server
applications are designed.

Sometimes all channels don't connect. Seems to be some
problem with initialisation common to all CODESO StatusItems
and Actions. "Data Model not initialised problem seems to be
common error".

When exiting a ComboBox after editing a value there is
a bug - the ComboBox text remains in white and editable.

DBaccess is hardwired to whtics.

config command no longer available/untested.

CODESO needs howtobuild documentation in READTHIS file.

Actionhandler javadoc. doesn't show all methods which are called.

Quality of Service statement needs updating.

Needs test validation suite.

Need to check works with Java 6.

The lifecycles of CODESO widgets are not currently controllable

All CODESO widgets talk to the local CORBA Naming Service.

Still being built with Sun IDL compiler which generates
IDL which is NOT compatible with Python.

StatusItemProxyGroup should allow adding proxies and associating
them with a particular name.

Should probably introduce snapshot() objects

ServerCommandTool throws error when activating/shutting down some clients

Might want to review all error message and proposed remedies.


Still To Do's
-------------


Changes with respect to WHT-RELEASE-761
---------------------------------------

Files added:-
   .cvsignore                                                        - Change is presumed not significant: an artifact of the
                                                                       way the version was CVS'd.
Files deleted:-
   None

Files modified:-

   lib\syslogd-2.2\source\com\ice\XXX\XXX.java                       - CVS $Name: WHT_RELEASE_865 $ keyword was expanded.
                                                                       Change is presumed not significant: an artifact of the way
                                                                       the version was CVS'd (27 files changed in total)

   src\es\iac\ing\codeso\gen\CorbaInterface.java                     - Changed DEFAULT_CORBA_NAMING_SERVICE back to 35777.

   src\es\iac\ing\codeso\widget\adapter\ControlWidgetAdapter.java    - Added synchronization blocks in both enable and disable
                                                                       commandwidget methods to resolve a concurrency problem,
                                                                       that made widgets not properly update.

   src\es\iac\ing\codeso\widget\adapter\StatusWidgetAdapter.java     - synchronized updateWidget method to resolve a concurrency
                                                                       problem, that made widgets not properly update

   src\es\iac\ing\codeso\widget\composite\CLabelledStatusCombo.java  - a few blank lines added (between the two releases a couple
                                                                       of CVS deltas were made in which a method 'makeItWork' was
                                                                       used in an attempt to solve the widget update problem. This
                                                                       change was backed out because a better solution was found
                                                                       by making synchronisation changes to StatusWidgetAdapter
                                                                       and ControLWidgetAdapter).

   src\scripts\startserver codeso845\src\scripts\startserver         - added -DCODESO_GEN_CORBA_CACHE_ENABLE=true. It increases 20
                                                                       times the the items connection speed.


Release date: 2007-04-29                                              (approx - this is the date the OSCAR package was committed).

Placed into CVS Repository under release tag WHT_RELEASE_845          (should really have been WHT-RELEASE-845 for consistency
============================================================           with ING CVS tagging convention)


Release WHT_RELEASE_865
=======================

Minor change to Message configureSyslog method to strip spaces from
identifier when sending messages to syslog. This change requested
by Niko for compatibility with the new talker package.

Everything else is same as previous release (WHT_RELEASE_845).


IDL Changes
-----------
   None


JAVA API Changes
----------------
   None


Functionality
-------------

Provides a basic working system. The following commands
are available:-

    startserver
    shutdownserver

    startgui
    shutdowngui

    config
    servercmd
    resourcecmd

The following scripts are important:-


Bugs and Limitations
--------------------

Known problems/issues:

When compiled under versions of java earlier than 1.5 update 6
you may get a single unchecked cast warning. Unfortunately, this
in unavoidable.

No cacheing on statusitem proxy - potential performance enhancement
Suspect startserver and startgui might not work - need to test.
publisher quality-of-service statement needs updating.

CStatus widget was modified some time ago to support image
information. However, it was a bit of a crude hack and needs
tidying up.

ServerProxy and ActionProxy are not wrappers around an
info field. This is inconsistent with the way its done for
status items.

There is no way to tell the CODESO widgets which naming service
they should use. The workaround is to set a system property
but really this should be a property of the widgets themselves.

The control widget adapter will only work with a single CODESO
Action. This provides a restriction on the way that CODESO server
applications are designed.

Sometimes all channels don't connect. Seems to be some
problem with initialisation common to all CODESO StatusItems
and Actions. "Data Model not initialised problem seems to be
common error".

When exiting a ComboBox after editing a value there is
a bug - the ComboBox text remains in white and editable.

DBaccess is hardwired to whtics.

config command no longer available/untested.

CODESO needs howtobuild documentation in READTHIS file.

Actionhandler javadoc. doesn't show all methods which are called.

Quality of Service statement needs updating.

Needs test validation suite.

Need to check works with Java 6.

The lifecycles of CODESO widgets are not currently controllable

All CODESO widgets talk to the local CORBA Naming Service.

Still being built with Sun IDL compiler which generates
IDL which is NOT compatible with Python.

StatusItemProxyGroup should allow adding proxies and associating
them with a particular name.

Should probably introduce snapshot() objects

ServerCommandTool throws error when activating/shutting down some clients

Might want to review all error message and proposed remedies.


Still To Do's
-------------


Changes with respect to WHT-RELEASE-845
---------------------------------------

Files added:-
   None

Files deleted:-
   None

Files modified:-

   lib\syslogd-2.2\source\com\ice\XXX\XXX.java                       - CVS $Name: WHT_RELEASE_865 $ keyword was expanded.
                                                                       Change is presumed not significant: an artifact of the way
                                                                       the version was CVS'd (27 files changed in total)

   src\es\iac\ing\codeso\gen\Message.java                            - Modified configureSyslog method so that all spaces are
                                                                       stripped from the 'identifier' parameter. This change was requested
                                                                       by Niko for compatibility with the new talker system. This
                                                                       change potentially affects ServerRunner and GuiLauncher. In
                                                                       practice it only affects ServerRunner which will strip
                                                                       spaces from the string returned by the servers implementing
                                                                       getServerName() method (paret of the iServerBody interface).


Release date: 2007-06-07                                              (approx - this is the date the OSCAR package was committed).

Placed into CVS Repository under release tag WHT_RELEASE_865          (should really have been WHT-RELEASE-865 for consistency
============================================================           with ING CVS tagging convention)





