KentonWhite / ProjectTemplate

A template utility for R projects that provides a skeletal project.
http://projecttemplate.net
GNU General Public License v3.0
623 stars 159 forks source link

Closes 201: Adds rstudio.project as a feature to create.project function #234

Closed rsangole closed 6 years ago

rsangole commented 6 years ago

Allows the user to initialize the ProjectTemplate directory as an RStudio project as well by creating a projectname.Rproj file with standard defaults in the working directory.

Reference issue #201 .

Hugovdberg commented 6 years ago

I thought we had agreed this didn't need a specific option because you could add your own .RProj file to a custom project so you can actually install a .RProj file with your own preferred settings. Also, I'm missing tests to check this functionality.

KentonWhite commented 6 years ago

Sorry didn't see we were missing tests. @rsangole can you add some tests please.

Remind me what the tradeoffs were between having the option and installing your own .RProj file. I saw this as a convenience for RStudio users but as always could be missing something.

rsangole commented 6 years ago

Hi @KentonWhite , I'll add some tests, sure.

Installing a .RProj isn't viable since each time a project is created, the .RProj file would need to be manually renamed to the name of the project. If kept at a default name only (say RStudioProject.Rproj, then everything in a dropdown menu like this: image would say the same name. Not a usable solution.

There are two manual workarounds right now -

Over the last year of adoption of ProjectTemplate and teaching others how to use it in my company, these steps cause the most confusion and reluctance towards the adoption of the package.

KentonWhite commented 6 years ago

That is a lot of steps! @rsangole this PR eliminates those steps?

rsangole commented 6 years ago

Yep! I get's very tiring to do too @KentonWhite , I basically use ProjectTemplate, git and RStudio everyday - it's a 100% of my job. And this PR will make life a lot easier for someone like me. Essentially, now the command will be: create.project('project_name', rstudio.project = TRUE) to make a new ProjectTemplate project + an RStudio enabled project.

rsangole commented 6 years ago

@Hugovdberg , sorry missed your previous ping there. I am missing tests - let me think of what tests are needed and add them this weekend.

We did go back and forth on if this is worth it, and based on the past year's experience with both the tools hand in hand, I could justify it. (Look at my post above.)

Hugovdberg commented 6 years ago

@rsangole you actually don't need to rename the file, Rstudio always shows the name of the directory not of the .Rproj file. I simply have a file standard.rproj in my custom template and I don't see any reference to standard in the interface. That's why I previously said you don't need any special options. Sorry I didn't make that clear enough.

rsangole commented 6 years ago

@Hugovdberg ah, I see what you are saying now. Are you still on the page of the custom template vs in built feature? I still see the in built as a quicker option allowing for easier adoption of the package, so I'd advocate we support this feature.

KentonWhite commented 6 years ago

Given the discussion, it is likely that others may also have difficulty with the custom template approach. Since the work is done for the built-in feature, lets make an exception for RStudio. Other frameworks should use the custom template solution.