Next: runlist needs a date input, and the trigger people want a db 'front door' page from me (when did I volunteer for that?)
Wednesday, 27 February 2008
Pleas and deadlines
Spent the last four days trying to write new SCT conditions services, with a new interface for all indet services. This was finally tagged yesterday, in theory for release 14 deadline at 18:00 yesterday. However it looks like there were lots of (other) problems with the nightly, so I guess the deadline shifted a bit. It all works and I wrote some example code for both the summary interface and one of the derived tools. Today I made some cabling representations for the SCT with an xsl layer displaying the cabling files, e.g. the barrel, and similar files exist for endcap C and A. Looks like Bruce is close to uploading to the official database, so maybe I have to get busy with cabling soon. Cabling had new methods injected by Nick Barlow to use the identifier hash instead of identifier, the test code needs updating.
Wednesday, 20 February 2008
SCT conditions et al.
Monday I was debugging Else's code, which uses CherryPy 'PUT' from PHP. Discovered some useful things about PHP CUrl (quirks, shall we say?) such as specifying the PUT method means a file must be provided... and then my CherryPy hangs with a 'Continue 100' message...unless one uses the 'custom' http method and declares it to be 'PUT', so then its possible to use the POSTFIELDs.
Yetserday decided on new SCT and InDet conditions reporting service, so I've started to program that. Today I updated a lot of documentation (how to write services, CherryPy, and InDetConditionsDB) and continued in the implementation.
Friday, 8 February 2008
FDR and all that
In the midst of the Full Dress Rehearsal, and the runlist is being used a lot; I had to make a special version just for FDR data as well. Over the last couple of weeks I've created a new cabling file and made utilities to check consistency with Dave Robinsons output, investigated (and implemented) some ways of making the bytestream converter quicker and implemented a monitor program for the CherryPy server, so it mails me if the server stops working or the machine become unreachable. This Wednesday was mostly spent investigating Kazu's problem with the DCS data access; it seems that the folders were being transferred into the database with the wrong folder dscription. I alerted Jim Cook, who fixed it pretty quickly.
Wednesday, 23 January 2008
Cabling, decisions, CherryPy
Cabling: The cabling was slightly more of a headache than I at first thought...an error in my xsl produced empty slots in the cabling file which then made Athena crash, because I had enabled conversion exceptions in the input stream and then never trapped the exception. Both the file and the reading package are now fixed, although its clear I need better checking of the file so I made a quick C++ command line utility to do that. There is still at least one funny on disk 9c (a duplicated identifier), which probably means there's another funny I haven't spotted yet. We really need this info in the database, I've given up asking and I'm trying to find another way to get the configuration info.
Decisions: The CERN group is being reorganized and my activities straddle both camps (i.e. two different sections): the detector subsystem and the database infrastructure. So where will I end up? The detectors need software people in the systems themselves, but the software work I do also needs 'expert' direction and supervision... watch this space.
CherryPy: Documented the 'PUT' interface and made a wiki for both the GET and PUT methods. It seems the Muon people are interested in using it and Andrea Formica very quickly made a Java app which demonstrates its usage.
Wednesday, 16 January 2008
Happy New Year...
First task was to review the Bytestream converter package and introduce some documentation. This is not complete, but certainly better. Things are starting to get more exciting now the SCT can actually be cooled and run. Yesterday I had to make a cabling file from the configuration... still no database info available; I should try to find a work around. Also implemented a multi-channel 'PUT' on the CherryPy interface for Sergey...all in all, a fairly productive start to the year.
Thursday, 6 December 2007
PUT in place
Reverted to allowing only 'PUT' for a pure RESTful interface, and made a demo editor (very simple) which takes the payload of a COOL folder and uses XSL to create an XHTML form for input of new parameters. The data 'PUT' method I implemented accepts either a file or a string, so it is feasible to use it with an XmlHttpRequest object to PUT a URL with the conventional ?payload=xxxxxx kind of notation. All this is protected with basic authentication over the internal network.
Else Lytken tried it out, it seems ok.
Thursday, 29 November 2007
PUT, POST and CherryPy
I spent yesterday implementing a 'PUT' of data to the COOL database, using an xml description for the updated data. This now works fine, and today I introduced authentication. The method I implemented first used 'PUT' , since i shall only be updating existing channels, however (unfortunately) html forms always send a file with 'POST' so I have since had to allow POST too. The only way I could 'PUT' a file to a RESTful address was with cURL. I'm now making the cherrypy server produce a form from the payload description so that the data can be edited in a dynamic way.
Subscribe to:
Posts (Atom)