iPlantCollaborativeOpenSource/irods-setavu-plugin

Name: irods-setavu-plugin

Owner: iPlant Collaborative Open Source

Description: An iRODS plugin that provides a microservice for setting AVUs

Created: 2015-02-06 00:13:34.0

Updated: 2017-12-04 19:16:33.0

Pushed: 2018-03-22 22:12:21.0

Homepage: null

Size: 11

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

irods-setavu-plugin

An iRODS plugin that provides a microservice for setting AVUs. Currently, this plugin can run in the CentOS 6 and 7 versions of iRODS 4.1.10.

Usage

The microservice msiSetAVU assigns an AVU to a collection, data object, resource, or user. It returns 0 on success and something else on failure.

msiSetAVU(msParam_t*      itemTypeInParam,
          msParam_t*      itemNameInParam,
          msParam_t*      attrNameInParam,
          msParam_t*      attrValInParam,
          msParam_t*      attrUnitInParam,
          ruleExecInfo_t* rei
         )
Parameters

Type | Name | Description —— | —————– | ———– in | itemTypeInParam | a STR_MS_T containing the type of item being given an AVU: -c for collection, -d for data object, -r for resource, and -u for user in | itemNameInParam | a STR_MS_T containing the name of the item being given an AVU in | attrNameInParam | a STR_MS_T containing the attribute name to be assigned in | attrValInParam | a STR_MS_T containing the attribute value to be assigned in | attrUnitInParam | a STR_MS_T containing the attribute unit to be assigned in,out | rei | the RuleExecInfo structure that is automatically handled by the rule engine, should not be included as a parameter in the rule invocation.

Example
stProcForPut {
 ($writeFlag == 0) {
msiSetAVU('-d', $objPath, 'UploadingProxyUser', $userNameProxy, '');


Compilation

For each OS specific version of the plugin, a shared object libmsiSetAVU.so is build inside an OS specific docker container. To build the object, just run the build executable. The resulting objects will be subdirectories of the libraries/ directory named at the OSes they are intended for. Here's an example build.

build

ee librarieslibraries
centos6
??? libmsiSetAVU.so
centos7
??? libmsiSetAVU.so

rectories, 2 files

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.