============= Meeting 29-Feb-2012 =============

Agenda
======

0. Preliminaries (5 mins)

1. Status of Masar service (*Guobao*, 15 mins)

2. Preliminary thinking on Directory service (*Ralph*, 15 mins)

3. Archive Service (*James* 15 mins)
   What is now published (there's stuff now in exampleCPP right?), what more
   can be done to help a lab deploy an archive service.

4. PSI services (Greg, Timo, 15 mins)
   Status of deployment of java (*Greg*)
   Estimate on deployment for C++ support (*Timo*)

------------------------ Minutes ----------------------------

Present: BD, DH, JR, TK, MK, RL, NM, MS, GS, GW 
Scribe: TK

************
NEW TOPIC: Status of Masar
************
GS: meeting with users. Functionality: take a snapshot, put in comments. Any combination of PVs, waveform PVs are also supported. Storage into DB. IRMIS database connection TBD. 
NTNameValue pair used used for the all stored parameters for client queries.
Facility of a client to initiate a query, which configuration is to be retrieved. Comparison of a snapshot to the present machine status.
After request, NTTable is returned to the client. In a second step, the current machine status is sent as NTTable.
Search criteria (parameters) are NTNameValue pairs. 
Status: server and client sides are functional.A pyQt application is existing.
Demo presented now...
Discussion about displaying setpoint and readback values, saved and live...

repo:
https://github.com/epics-base/masarService

https://github.com/epics-base/masarService/tree/default

************
NEW TOPIC: Directory service
************
RL:
Thin ChannelRPC layer on top of the existing ChannelFinder web service.
Query type: NTNameValue:
Reply type: NTTable, e.g.
    channel   property1   property2   tag1   tag2   ...
    ABC:pv     0.0            green       true    false
    ....
Column types are data driven. All values are double -> double etc.

Demo in ~ two weeks. Implementation in Java, based on one of the existing Java services in pvService.

************
NEW TOPIC: Archive service
************
JR:
ArchiveService example in the C++ area. exampleCPP
A client example  also exists (with hardcoded arguments.)Adding commandline arguments to be implemented (simple to do.)
Parametrize with timestamps: Use unix-type (ISO) time definitions

https://github.com/epics-base/exampleCPP/tree/master/ChannelArchiverService

Python stuff:  connecting python objects to pvAccess; example in mercurial repository.
This python example retrieves data from the archiver server in exampleCPP. 
See in particular pythonSerialize/test/PythonRPC.py

https://github.com/epics-base/alphaCPP/tree/master/pythonSerialize/test

James to provide a readme how to get started.

GW: Could David work on the archive client example? Looks like being doable within time constraints (to work on EPICS 4.)

Greg give David client side examples and references.

Example client side:
> gethist -s 2012-01-29T10:45  -e 2012-02-29T10:45 quad5:bfield 
^^
a (possibly bash) script, which calls: 
archiveClient  <- java CPP or python C++

************
AI on DH by 15-Mar-2012: Convert Archive service and client example to production
quality: Document starting the server side per index, and write client side (probably java and some wrapper) to allow a user to easily query the server given command line above.
************

************
NEW TOPIC: Status of PSI Services
************
GW:
Java side deployed and services are running. Client side being packaged into RPMs and to be deployed with yum/puppet.
TK: C++ V4 server with BPM simulation is like deploying any soft IOC so not much work, but my timetable is unpredictable at the moment. Should be done by the next meeting (in two weeks.)