exp.runs jobStore column

LabKey Support Forum (Inactive)
exp.runs jobStore column Ben Bimber  2011-03-28 05:16
Status: Closed
 
in exp.runs, there is a column called jobStore. That columns contains a string of the XML associated with that job's XML file (protocol i think is labkey's term). In other contexts Labkey is able to return the XML of a run as a JSON object. Is there any pre-existing mechanism to return this XML in a json or other more JS friendly format, like you added around 10.2 or 10.3?

i'm interested b/c I would like to make a mechanism to present the user with a 'job summary' text output that essentially takes the info from the XML file and presents it more along the lines of a table.

thanks in advance.
 
 
jeckels responded:  2011-03-28 09:23
Hi Ben,

Are you referring to the jobStore column on the pipeline.Job table? That XML block contains the current state of the job if it's still running, or if it encountered an error. So far, it's only been used internally, and hasn't been exposed as JSON. It's a different chunk of XML from the protocol description that can be accessed as either XML or JSON. Also, it should be set to NULL once the job is complete, so it's only available some of the time.

Thanks,
Josh
 
Ben Bimber responded:  2011-03-28 09:26
yes, perhaps i didnt look carefully enough at which rows had it and which did not.

is there a good mechanism to grab the XML/JSON of a historic pipeline run? I think I could figure out its container, then use getProtocols() to return all protocols from that container, then find the specific protocol. is that the best/only mechanism?

-ben
 
jeckels responded:  2011-03-28 11:35
Hi Ben,

If you want the protocol definition, I'd recommend going off of the exp.runs table instead of pipeline.job. The Input/AnalysisParameters column is a pointer to a copy of the protocol file that was used. You could grab its contents and present them to the user directly, or grab the "pipeline, protocol name" value from the file by parsing its XML and use the LABKEY.Pipeline APIs to get the JSON version.

Thanks,
Josh
 
Ben Bimber responded:  2011-03-28 11:39
ok. does labkey have any client-side code that assists with XML parsing that you know about? a quick read through the client API doc didnt reveal anything. Ext has something called the XMLreader that is probably geared more towards a store that I dont know much about.
 
Matthew Bellew responded:  2011-03-28 13:52
If you make a server request that returns XML it will already be parsed into a DOM tree. See the responseXML property of XMLHttpRequest.

https://developer.mozilla.org/en/xmlhttprequest

Ext returns the xmlhttprequest object so you should be able to just grab the xml.