Hey,
I've been testing the RSPM a little bit (https://rtask.thinkr.fr/blog/rstudio-package-manager/), so here's my first feedbacks โ nothing deeply technical for now, I'll have other feedbacks when I'll have tested it more extensively (I guess I'll update this post then)
Admin
Global
- Can we create a curated CRAN from a specific date ? (like, set a curated CRAN not to today's date but to a specific date). Would definitely be useful.
CLI
-
When you're adding something, you'll
add source
, when listing, you'lllist sources
(one singular, the other plural). This makes perfect sense, but as a user, you are likely to doadd source
thenlist source
. Maybe a shortcut would be great -
An CLI access to stats would be nice (
rspm stats --repos
maybe). Even more, if you want to create reports for your managers: a console-printed version + an exportable CSV would be helpful. -
Being able to provide a DESCRIPTION file that would be parsed to a curated CRAN would be awesome: I'll then copy my package on the server, do
rspm add --description='/path/to/DESCRIPTION' --source=curated
, and I'll then have a repo that I can send to someone that would have everything required (and nothing more) to install my package. This is quite easy to do right now (just have to parse de DESCRIPTION file), but a shortcut in RSPM would be nice. -
rspm copy --old-repo --new-repo
would be cool if you want to make an "old-repo + these sources" repo -
In
rspm
help list :edit Commands to edit repo name and description
: we can also edit sources
User interface
I'm pretty sure this would be integrated into the forthcoming version, but I'll list them anyway
-
I'm not sure admin would want every user to have access to stats, or need to have a link to the admin guide (these should be accessible only to rspm admins). I also wonder if the Activity tab is to be accessible to the user?
-
With the current version, users have access to all repos in the web interface. This might not be the desired behavior: you might want a part of your team to have access to a specific repo, and the other team to another repo. I can also think of a situation where, inside the same company, a central service develops packages/apps that they sell/share to other services in the company. RSPM would be a perfect tool for this use case: as the person who developed the product, you now just have to share the
install.package
command with the good repo link. Though I might not want to share something I have developed for service A with service B. With the current version, as soon as I have the link to the repo UI, I can see everything ->http://192.168.0.10:4242/
redirects tohttp://192.168.0.10:4242/client
, andhttp://192.168.0.10:4242/curated/latest
(for ex) provides a link tohttp://192.168.0.10:4242/client
. -
Can we prevent the web client to be displayed?
=> To sum up, I think the current version is too much of a mix between what the admin needs (stats, activity, full repo) and what the end user needs to see (specific repo and documentation).
User
Interface
Let's say I have a repo called prod
. If I click on the prod
text in the menu bar (on the left of "Packages"), nothing happens except a small blurring of the main page.
=> It would be awesome to have room for custom README here, provided by the Admin, or to the setup guide
This leads me to the idea that it would be more user-friendly if the first thing you see when you browse a repo is a "How to use" or "How to configure" or something like that (maybe move the Setup page?) => As a user, right now, if I open the web client, the first thing I see is a list of package and the help page of the first of the repo. For example, if it's synced with the CRAN, I have the help page of {A3}
. That might be confusing for the user.
Also, some kind of contact page would be nice. As a user, I would know who to contact if I have trouble using the repo.
Setup
In the current setup guide, you have: " To check if R is already configured, run: options('repos')
inside your R console. If the result includes http://192.168.0.10:4242/curated/latest
, you're done!"
=> But what to do if it's not that?
The only other suggested option is through the RStudio interface, which is only available with the current daily of RStudio.
I guess including here some other options to use the RSPM would be nifty. Even more, as RSPM aims to be used in companies that want to control what the users install, so RStudio is not updated that frequently. I think we only need:
install.packages(
"pkgtest",
repos = "http://192.168.0.10:4242/curated/latest"
)
To make everyone be able to use it.
Also, this would guide people in a context where they are not using RStudio: let's say I have created a Shiny App and want to deploy it on a server, manually or through Docker, I can't find (well, right now) any indication about how to do that. I guess if you're comfortable enough to do that you'd know how to change the repos
parameter, but you're never too cautious
Help page
On the help page of each package, there is a
That makes perfect sense, provided you have well configured you RStudio. Adding repos = "<adress>"
would help, as it would work even if you don't have the repo adress globally set.
Would it be possible to have access to documentation from this page? (Vignettes, etc.)
Share from RStudio
- I'm pretty sure this will also be included in the forthcoming version of RStudio, but a "point and click" interface to share your own package with the Connect button would be helpful.
Download from RStudio
- Would be nice to have an interface similar to the current "Install package" window to dl the packages (or maybe it will be integrated inside the current window, "From CRAN / From source / From rspm")
Hope this helps !
Best,
C.