Labkey Server API access for both container and data manipulatulation

LabKey Support Forum (Inactive)
Labkey Server API access for both container and data manipulatulation natalie.tasman  2009-06-25 17:13
Status: Closed
 
Hello all,

I've been corresponding with Dave S., who followed up to my original post to the cpas-developers list. I'd thought I'd repost here, as Dave explained that most traffic is currently on these forums. Dave helped me refine my questions, so I think I have more of the terminology down at this point :)

I'm interested in completely standalone access. For example, consider a small perl commandline script that would create a new proteomics ms2 project and load hundreds of files per project. According to Dave, this functionality isn't yet in the API; he did mention that it might be possible to do something similar through pipeline automation. Any info on both topics (extending the API and pipeline automation) would be much appreciated.

As I posted to the cpas-dev list, I've met some of the LabKey team before, but by way of introduction: I am recently employed at Insilicos, working primarily with Brian Pratt. Previously I was at the ISB in the Aebersold Lab as one of the primary TPP developers. I'll still be working with the TPP, as well as probably getting more experience with LabKey as part of the ongoing work Brian is doing.

By the way, the link from the Forums page (https://www.labkey.org/project/home/Developer/Forum/begin.view?) to the CPAS Proteomics forum is broken (https://project/home/CPAS/support/start.view?)

Thanks,

Natalie
 
 
eknelson responded:  2009-06-25 18:41
Hi Natalie,

Thanks for the great catch on the link issue. This actually looks like a bug in the HTML editor, so I appreciate the heads-up. I've opened Issue 8216, but I'll need to wait until the code issue is fixed before link fixes to the Forum page will stick consistently.

Thanks again,

-- Elizabeth
 
jeckels responded:  2009-07-02 16:53
Hi Natalie,

Sorry for my delay in responding.

While we don't have APIs for everything that you're interested in doing, it is possible to script those actions from Perl, and we have a couple of installations where users are doing just that. Unfortunately, since it involves poking URLs that we don't consider public APIs, it's more likely to break with new versions of LabKey Server. We don't have much in the way of documentation on this, but the way to determine the magic URL and GET/POST parameters is to go to the HTML form in the standard UI and figure out what needs to be set. Most of them are relatively simple, but will require things like configuring BASIC AUTH to authenticate the user and make sure they have permissions.

It would be great to have client APIs to do things like create folders and initiate pipeline jobs (which can load results, run XTandem and the TPP, etc). Here's some basic information about adding new APIs:

https://www.labkey.org/wiki/home/Documentation/page.view?name=implementActions

The class org.labkey.portal.ProjectController$GetContainersAction might be a good starting point for thinking about an API to create projects and folders.

Please let me know if that's helpful.

Thanks,
Josh