[R] user library help functionality (packages.html)

Jarrett Barber jbarber8 at uwyo.edu
Thu Jan 15 21:17:17 CET 2009


This helps a lot.  I have options(htmlhelp=TRUE) and  
options(chmhelp=FALSE) (else problems).  Now, ?, help(), and  
help.search() seem to work well.  But, help.start() appears restricted  
to packages in the site library.  I see, in the Help/FAQ on R for  
Windows/ Sections 4.3 and 4.4, that I cannot expect more from  
help.start() unless I have write permission to $RHOME/library, which I  
do not (package does have a CONTENTS file however).  I assume that, if  
I want my students to have this functionality, they, too, would need  
write access to $RHOME/library, correct?  But, this does not seem a  
wise thing to give.  Am I missing something here, barring permission  
changes, that would allow help.search() to see user libraries?  This  
would be ideal, but your suggestions seems to give us nice help  
functionality, and I think we can implement an R installation campus- 
wide without the full functionality of help.seach().  Thanks very much.

Jarrett


R Session:

R version 2.7.0 (2008-04-22)
...snip...
 > personalLib<- .libPaths()[1]; personalLib
[1] "H:\\Desktop\\RFiles\\Library"
 > getOption("htmlhelp")
[1] TRUE
 > getOption("chmhelp")
[1] FALSE
 > install.packages("UsingR",
+ lib=personalLib,
+ depend=TRUE)
trying URL 'http://streaming.stat.iastate.edu/CRAN/bin/windows/contrib/2.7/UsingR_0.1-10.zip'
Content type 'application/zip' length 1433201 bytes (1.4 Mb)
opened URL
downloaded 1.4 Mb

package 'UsingR' successfully unpacked and MD5 sums checked

The downloaded packages are in
         C:\Temp\RtmpQr4t3E\downloaded_packages
updating HTML package descriptions
Warning message:
In file.create(f.tg) :
   cannot create file 'C:\PROGRA~1\R\R-27~1.0/doc/html/packages.html',  
reason 'Permission denied'  ## PERMISSION PROBLEM
 > library("UsingR")
Warning message:
package 'UsingR' was built under R version 2.7.2
 > help("UsingR") ## works!
Help for ëUsingRí is shown in the browser
 > help.start() ## restricted to site library
updating HTML package listing
updating HTML search index
fixing URLs in non-standard libraries
If nothing happens, you should open 'C:\PROGRA~1\R\R-27~1.0\doc\html 
\index.html' yourself
Warning message:
In file.create(f.tg) :
   cannot create file 'C:\PROGRA~1\R\R-27~1.0/doc/html/packages.html',  
reason 'Permission denied' ## SAME PERMISSION PROBLEM
 > help.search("UsingR") ## works!
 > ?UsingR ## works!
Help for ëUsingRí is shown in the browser
 > q()


On Jan 15, 2009, at 11:42 AM, Duncan Murdoch wrote:

> On 1/15/2009 12:50 PM, Jarrett Barber wrote:
>> Here's another help file question.
>> Some context: University setting wherein R is installed for   
>> availability to students and course instructors across campus in   
>> various PC labs.  Windows Vista environment.
>> Goal: To maximize flexibility and functionality of installing add- 
>> on  packages and associated help files among different users,  
>> while  avoiding conflicts across different user libraries.  (I  
>> could have my  difficult-to-access sysadmin install _all_  
>> libraries, but this seems  wasteful, and would seem to present  
>> problems when my colleague or I  want to update a package or  
>> install a newly available package but do  not have time to wait a  
>> week or two for our sysadmin.)
>> Problem (?): As a course instructor, I want flexibility to install  
>> add- on libraries to a user (not site) library, and I don't want to  
>> step on  my colleagues' toes (or vice-versa) when it comes to add- 
>> on packages  and associated help files for use in classes.  I have  
>> no problem  installing add-on packages to a user library, with one  
>> exception: I do  not have permission to update the file $RHOME/doc/ 
>> html/packages.html,  as evidenced by a permission error upon  
>> installing a package to a user  library using update.packages (not  
>> to the default site library, which  is also restricted).  The  
>> installed add-on packages work fine, with  the exception of some of  
>> the help functionality.  I find myself having  to use browseURL()  
>> to point to the html files in the package's file  structure.  I  
>> cannot expect the average student (or senior colleague)  to  
>> tolerate this situation.
>
> A simpler way to get to the HTML man pages is to run
>
> options(htmlhelp=TRUE)
>
> and then the regular ?topic or help("topic") will find the HTML help  
> pages in your local library.
>
>> I'm thinking that I simply need to have my sysadmin give me and my   
>> colleagues (all users who want to install add-ons packages?)   
>> permission to read/write packages.html, and the problem will go  
>> away.   But, before I ask my sysadmin to give permission, I want to  
>> know, does  this create another problem?  For example, my colleague  
>> creates a  library for STAT3000BC, which, I assume, will modify  
>> packages.html  (assuming my sysadmin gives permission), then I  
>> create a library for  STAT2010, which also modifies packages.html.   
>> See my concern?  Does R  somehow allow harmonious help  
>> functionality in such cases (by, for  example, maintaining separate  
>> copies of packages.html for different  users)?
>
> You will likely have strange problems if you do that.  The doc/html/ 
> packages.html file is intended to talk about what is available to  
> everyone; I suspect in your scenario, it would be updated to show  
> your packages (but not your colleague's) whenever you added one, and  
> then updated to show your colleague's packages (but not yours) when  
> he added one, and would almost never be right for both of you.
>
> The good news is that it looks as though sometime this year we will  
> make quite substantial changes to the way the help system is stored,  
> so a lot of things like packages.html could be generated on the fly.
>
> Duncan Murdoch




More information about the R-help mailing list