Workflow Run Manager - Upload to Repository feature
WRM needs to be able to upload runs to the repository. A user selects rows in the WRM and from a context menu clicks to upload. This creates a kar of the runs and will then 'put' it to metacat, along with (correct me if I have this wrong:) any contained metadata docs that point to this kar with the karLSID attribute, e.g run momls and workflow momls. I've had to fork the UploadToRepositoryAction to create a gui-less version. I'm trying to stay in sync with any changes there, so that I can un-fork later.
Part of this work seemed to necessitate or imply getting a KAR from cache. I was unable to get the kar itself from cache, I'll revisit this, but I'm not sure the kar itself is actually being written to cache, just its items (maybe?). Also, I'm currently creating a WorkflowRunCacheObject, so these may be retrieved from cache individually.
The 'depends on' list of this bug is currently probably incomplete. We also change to using setAccess on the items uploaded instead of building access documents in the upload function.
#4 Updated by ben leinfelder about 10 years ago
Looks like derik has this non-gui portion working.
I'm now using his classes (in the provenance module) to do the export and upload when we run "automatically" on the webservice-based execution side of things.
Augmenting the LDAP authentication service so that it need not always prompt for user/pass credentials
#6 Updated by ben leinfelder about 10 years ago
We are allowing for a "-repository" parameter as well. It will let us specify which of the configured Repositories we want the output results to be uploaded to. The Repository also has the username/pass and authentication url needed in order to do the upload.
#7 Updated by ben leinfelder about 10 years ago
I want to add more specific error handling around each of the put() calls so that we know exactly what is happening. It's very possible that we will end up trying to "reput" the same workflow when we attempt to upload subsequent runs of that workflow. This is fine but we should handle it gracefully.