r-tmap / tmap

R package for thematic maps
https://r-tmap.github.io/tmap
GNU General Public License v3.0
857 stars 119 forks source link

Changelog & deployment #774

Closed olivroy closed 1 year ago

olivroy commented 1 year ago

Could there be a detailed changelog for v4 on the package GH repo? like a detailed NEWS.md file?

To facilitate code update when switching from v3 to v4

Thanks for the awesome package

mtennekes commented 1 year ago

Not sure if that would fit in the standard NEWS.md file :-)

There will be a couple of vignettes about v4 (the first one: https://github.com/r-tmap/tmap/blob/master/vignettes/tmap_vv.Rmd) and we plan to update the book and organise workshops.

olivroy commented 1 year ago

@mtennekes Sounds good!

On a related note: Would you be open to using more modern workflows for the package?

I'd love to contribute

use gh actions over travis for example?

recent pkgdown version etc.

I am not all aware of how tmap is deployed. It is probably much heavier than other things I have worked on.

I have contributed to some packages recently, including janitor, openxlsx2 and explore.

I'd love to help make tmap shine with enhanced documentation, links and consolidation of resources.

See openxlsx2 website as an example.

if you have time to support this!

I used tmap a lot ! but sometimes I had a bit of difficulty finding what I needed at first, so the learning curve was a bit steep.

I understand totally if you time is sparse and you want to keep things more simple!

edit: link

Maybe advertise install via r-universe would be beneficial to users as well to help them install a binary of upgcoming v4 version before release

https://r-tmap.r-universe.dev/tmap

olivroy commented 1 year ago

Hi @mtennekes ,

I did a bit of experimentation

https://github.com/r-tmap/tmap/compare/master...olivroy:tmap:master

Feel free to look at some of my comments / changes to improve the output of R CMD CHECK

For ref, with my tests, I was able to create a package website https://olivroy.github.io/tmap/ with the new template.

You can also take a look at some of the failures I encountered while doing my testing. https://github.com/olivroy/tmap/actions/workflows/R-CMD-check.yaml

Happy to open a PR for some of the stuff if you think it's relevant to you!

With my commits, I was able to silence many warnings and notes and identify a couple of bugs.

Closing for now. Hope some of my work can be useful to you!

Cheers!

olivroy commented 1 year ago

Final note. I think my changes to DESCRIPTION can be very useful for users to help with the install. I took inspiration from sf.

It may be very useful to look into pak for package installation on linux https://www.tidyverse.org/blog/2023/09/pak-0-6-0/.

As pak tries to install system requirements as of v 0.6 #150

mtennekes commented 1 year ago

Hi @olivroy , many thanks for your input! Very valuable. And it would be awesome if you could help regarding the issues you mentioned.

About the deployment: I don't have much experience myself. Jakub @Nowosad from our tmap-team is managing this. He already applied gh-pages to tmap: https://r-tmap.github.io/tmap/, but not sure how to deal with multiple versions v3 and v4 simultaneously. The travis bits in the repo are left-overs and can be removed.

@Nowosad could you check the experimentation, and see if we can adapt everything?

I used tmap a lot ! but sometimes I had a bit of difficulty finding what I needed at first, so the learning curve was a bit steep.

I'd love to hear about your experiences so far and your learning struggles. Of course, our aim is to make tmap4 as intuitive as possible, but also want to make sure that it remains consistent from a developers point of view. So any feedback is welcome:-)

Nowosad commented 1 year ago

@olivroy -- I looked at your changes: they look great -- I only have a few comments to them. Could you create a pull request that then we could discuss and merge after some minor changes?

olivroy commented 1 year ago

GitHub actions are now very easy to use, thanks to the work on r-lib/actions. https://r-pkgs.org/software-development-practices.html

but not sure how to deal with multiple versions v3 and v4 simultaneously.

It is possible. https://pkgdown.r-lib.org/reference/build_site.html?q=development%20mode#development-mode But I don`t know how to backport this. You'd have to use github releases for that (i.e. add a tag to version 3.3-4)

https://dplyr.tidyverse.org/ vs https://dplyr.tidyverse.org/dev

The travis bits in the repo are left-overs and can be removed.

Great.

I'd love to hear about your experiences so far and your learning struggles. Of course, our aim is to make tmap4 as intuitive as possible, but also want to make sure that it remains consistent from a developers point of view. So any feedback is welcome:-)

It was mostly about finding the correct documentation, but after we enhance the pkgdown website, it should be a thing of the past. :) Because the design is incredibly user-friendly, the syntax is very clean and bravo for that.

olivroy commented 1 year ago

I noted that tmap doesn't error the same across platforms. Possibly due to differences in dependencies installed? If you know there are minimum versions for r packages, it is important to state them in DESCRIPTION.

For example, possibly requiring sf (>= 1.0.0) may be useful to avoid any issue with spherical geometries

olivroy commented 1 year ago

Regarding documentations, there is also the possibility to add articles: https://r-pkgs.org/website.html#vignettes-and-articles

These will only be on the package website. (No need to worry about CRAN) it can support things that are more difficult to get on cran like interactive maps for example