-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Link to multiple APIs #49
Comments
So this pure-R package would depend on different other ways to get to iRODS... Curious / Interesting... From https://irods.org/clients/ ... possible options...
|
The ricmd package was used during a pilot project with iRODS. It was a 'quick fix' to get an R interface for our iRODS setup and worked fine. However, it still has some quirks (mainly about authentication) ,search queries are not implemented yet and documentation and testing is site specific. For us, the question was if we should maintain our own package or use/contribute to a package which is (somewhat?) supported by the iRODS consortium. We prefer the latter, since this kind of package development is not our core business. So I'm a bit uncertain what to do with the ricmd package. If the rirods package fulfills our needs, then there is no use case for us. However, the ricmd package can still be a viable option for other cases were no HTTP API is available, but then it needs some further development before we can submit it to CRAN (which I don't foresee, unless we have a use case) |
If such use cases exist, a common R interface with plugin connectors could be beneficial. Instead of multiple R packages each with their own way of talking to iRODS. Maybe this is a pipe dream, or, at a minimum, something for a package version far in the future. |
It seems having a direct-to-iRODS-protocol option may remain viable for a while as long as an instance of the HTTP API is not available for a particular iRODS Zone. From a maintenance perspective - a single package is preferred, of course. And we're working to make the HTTP API as easy as possible to deploy and manage (while also full-featured and consistent). |
If we could have a direct-to-iRODS protocol it would not be necessary to connect via other clients as well, right? Or would there be benefits to using multiple connectors? The better the HTTP API, the more likely that different iRODS instances will have it installed, but a direct communication would mean no installations other than rirods itself, no? |
I think HTTP will always be a benefit for remote access. Also proper tools exist for HTTP APIs and associated test to make it compliant with CRAN. Come to think of it, the system requirement of having to have iRODS next to the R package will make it hard to pass CRAN checks. This was the issue with the old rirods package. |
Ok, thank you. I have learned something new :) |
Unless one places a vendor/copy of iRODS within an R Package. Like for the R package curl . |
Oh. Initial reaction is that vendoring iRODS is NOT a good idea. Too many moving parts and would always be 'behind / stale'. |
I guess this is more of an thought on the future of rirods. It was stimulated by discussing this R package: https://github.com/jspijker/ricmd made by @jspijker. Would there be a benefit of implementing interfaces to multiple iRODS APIs under a unified R package?
I would then envision a generalized rirods/ricmd (R) interface with multiple plugins for linking to the HTTP, Python, ... APIs, respectively, based on availability and user preferences. In this thought experiment some heuristics would figure out which API is available.
@jspijker, is your package still in use at the RIVM? And are you still considering to submit to CRAN?
The text was updated successfully, but these errors were encountered: