HDB++ new release

Hi All,

Currently we are using hdb version 1.3 and jhdbViewer version 1.6 for data archiving. What is the new release of hdb and from where can we download it ?
Regards,
TCS_GMRT
Edited 6 years ago
Hi,

The latest development versions are available on Bintray tango-controls MAVEN repository (https://bintray.com/tango-controls/maven).
Please note that the latest version of the Configurator GUI (3.0) will require the latest versions of HDB++ Configuration Manager and HDB++ Event Subscriber device servers, supporting the new TTL feature.
We are currently using hdbpp-configurator version 2.2 at the ESRF, which requires hdbpp-es and hdbpp-cm supporting archiving contexts and strategies (which should correspond to the latest release on Github. For instance you can get the latest hdbpp-cm official release on this page: https://github.com/tango-controls/hdbpp-cm/releases).
A new release of these device servers is in preparation (Build-And-Package branch on github HDB++ repositories: https://github.com/tango-controls/hdbpp-es/tree/Build-And-Package).
Development versions of the device servers (with the TTL feature, corresponding to Build-And-Package branches) and C++ libraries are available on Bintray too as Debian packages (See HDB++cassandra and HDB++mysql meta-packages.

Please note that these versions available as Debian packages are not yet in production at the ESRF, so you might still encounter some bugs. We will deploy the new versions in production at the ESRF in the coming weeks.

An official release is in preparation (Still need to merge Build-And-Package branches) and to move the repositories to the new (HDB++ Github organization.

Sorry for the delay in the answer and for the current lack of information/documentation. We are in the process of improving all of that and on the way to a clean and clearly defined/identified release.
Stay tuned! smile

Kind regards,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Hi All,

Referring to the URL: http://www.esrf.eu/computing/cs/tango/tango_doc/tools_doc/hdb++-configurator/prg_references/index.html

The example mentioned uses two API's for addattribute from the ManageAttributes class. However, two methods are not found in implementation in ManageAttributes class.

Our Requirement: We should be able to start archiving for an attribute using Java Code. Can I request HDB++ Experts to help us achieve it?

When I use the following code:
HDB++ Configurator 1.5a JAR was used.

import org.Tango.hdb_configurator.configurator.HdbAttribute;
import org.Tango.hdb_configurator.configurator.ManageAttributes;
import fr.esrf.TangoDs.Except;
import fr.esrf.Tango.DevFailed;

public class MyAttributeManagement {
    public static void main (String args[]) {
        try {
            // Create a hdb attribute list
            // These attributes are pushed by the device code
            List<HdbAttribute> hdbAttributes = new ArrayList<HdbAttribute>();
            hdbAttributes.add(new HdbAttribute("test/hdb/testHdb/test", true));
            
            // Add send these attributes to an event subscriber
            String archiver = "tango/hdb/es-1";
            ManageAttributes.addAttributes(archiver, hdbAttributes);
        } catch (DevFailed e) {
            Except.print_exception(e);
        }
    }
}

I get an error saying Configuration Manager not found in the environment. Any help will be appreciated.
Regards,
TCS_GMRT
Edited 6 years ago
Hi,

I had a look at the source code for Hdb++ Configurator 1.5a.
This source code is still on Sourceforge. (The latest development version is already on tango-controls-hdbpp github organization).

In version 1.5a, ManageAttributes.addAttributes() method is actually invoking TangoUtils.getConfiguratorDeviceName() method to get the Hdb++ Configuration Manager device name.

Here is the source code for this method on line 186: https://sourceforge.net/p/tango-cs/code/HEAD/tree/archiving/hdb++/gui/java-configurator/tags/hdb_configurator-Release-1.5a/src/org/tango/hdb_configurator/common/TangoUtils.java

So it appears that this version requires to set HdbManager system property or HdbManager environment variable to the device name of your HDB++ConfigurationManager device.

export HdbManager=your_tango/hdb/manager
should help.

Kind regards,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Hi Reynald,

Thanks for the prompt reply. I am able to start archiving with version 1.5a Configurator JAR. Trying with HDB++ Configurator 2.2 JAR seems the method for addattribute in ManageAttributes class has changed.
Regards,
TCS_GMRT
Hi
The configurator 2.x manage a new feature using strategies.
The methods have changed to use Strategy class as input parameter.
The documentation says:

Since release 2.0 the GUI manage the storage strategy based on contexts.
    It is compatible only with a release of HdbConfigurationManager and HdbEventSubscriber managing features too.

But on documentation, examples are not up to date.
It will be updated soon.
Pascal
Hi Pascal,

By when are we expecting the documentation to happen.
Meanwhile, if we can get an example with the new API (v2.2), would be really helpful.
Regards,
TCS_GMRT
Team,

Any help will be much appreciated …
Regards,
TCS_GMRT
Hi
I am back
The new method needs a DeviceProxy on configurator manager device as first parameter.

    //===============================================================
    /**
     *  Add a list of attributes to specified subscriber
     * @param configuratorProxy DeviceProxy on configurator manager device
     * @param subscriberName    specified subscriber device name
     * @param hdbAttributes     specified attribute to be added.
     * @throws DevFailed in case of bad subscriber name or connection failed.
     */
    //===============================================================
    public static void addAttributes(DeviceProxy configuratorProxy, String subscriberName, List<HdbAttribute> hdbAttributes) throws DevFailed {
        - - - - 
    }

Cheers
Pascal
Edited 6 years ago
Hi,

Thanks for your reply.
I tried with the new method but still facing error i.e.
MultiAttribute::get_attr_ind_by_name : SetStrategy attribute not found.
Could you please tell us how to use Strategy ??
It would be helpful.
Regards,
TCS_GMRT
 
Register or login to create to post a reply.