Skip to content
This repository has been archived by the owner on May 10, 2022. It is now read-only.

Automatically generate packages page from manifest #2

Closed
karthik opened this issue Jul 14, 2017 · 22 comments
Closed

Automatically generate packages page from manifest #2

karthik opened this issue Jul 14, 2017 · 22 comments

Comments

@karthik
Copy link
Contributor

karthik commented Jul 14, 2017

Jeroen said he can figure this out

@jeroen
Copy link
Collaborator

jeroen commented Jul 14, 2017

Implemented in 811f4a7.

We still need to improve this because currently roregistery only contains plain text descriptions. We probably want to be able to insert hyperlinks or badges here.

@jeroen
Copy link
Collaborator

jeroen commented Jul 16, 2017

Added some more tweaks and added support for markdown syntax inside the description field.

@jeroen jeroen closed this as completed Jul 16, 2017
@cboettig
Copy link

@jeroen Wow, you're fast @jeroen . Meant to give you a heads up that we (@sckott & I, though may enlist some interns to improve the metadata) are hoping to transition the registry itself to something that would be easier to update; currently that json file is curated by hand.

The plan is to automatically generate codemeta descriptions from the package repo using codemetar (primarily DESCRIPTION file info, but also scrapes stuff like badges) for each package, which creates a registry that looks like this: https://github.com/codemeta/codemetar/blob/master/inst/notebook/ropensci.json (which is just generated automatically from ropensci github repos)

One thing we still need to add to this is the categories and keywords; ideally these will be selected and maintained by package maintainers in their DESCRIPTIONs long term.

Thoughts / critique / feedback?

@maelle
Copy link
Contributor

maelle commented May 17, 2018

A few months later 😉 The currently produced big codemeta.json of all packages has keywords, derived from GitHub repo topics (and from keywords in DESCRIPTION for the only package that has them 😁 ).

  • I need to add more GitHub repo topics over both organizations, and also more status badges.

  • I'll soon write code to actually process the big codemeta.json into a table. That table will have status badges.

  • The codemeta creating and processing should run automatically, currently in the future.

  • The packages page should have search across package names, description and keywords. I'll try to think about this too.

@maelle
Copy link
Contributor

maelle commented May 17, 2018

Also noting #56

@jeroen
Copy link
Collaborator

jeroen commented Jul 17, 2018

We should discuss in the meeting what the plan is exactly. Should this replace @sckott https://github.com/ropensci/roregistry?

@sckott
Copy link
Contributor

sckott commented Jul 17, 2018

Yes we should discuss. Yes, the plan is to generate packages page from this metadata, but it shouldn't be too different from how you have it setup now in that we'll run a cron job to generate the single json file and you can pull that in as you do know

@maelle maelle self-assigned this Jul 18, 2018
@jeroen
Copy link
Collaborator

jeroen commented Jul 18, 2018

Meeting update: once maelle has implemented the code that adds the keywords to the registery, we want to show those in the front-end table.

@maelle
Copy link
Contributor

maelle commented Aug 29, 2018

Another note, I'd like to auto-generate the different filters https://github.com/ropensci/roweb2/blob/master/content/packages.html#L31 based on the categories present in the registry csv (this way if we update categories, no need to update the website table code).

@maelle
Copy link
Contributor

maelle commented Aug 29, 2018

There's also some "manual" category grouping at the moment https://github.com/ropensci/roweb2/blob/3d3c0f0c598459f0e5ca5b1bafbd1c3edcb58bde/themes/ropensci/static/js/tableinit.js#L35 (not criticism, just a note I'm making)

@maelle
Copy link
Contributor

maelle commented Aug 29, 2018

image

I wonder why the BIOC button (e.g. treeio) is blue when the package is available on BioConductor (as opposed to green for the CRAN button)

@maelle
Copy link
Contributor

maelle commented Aug 29, 2018

In the current table on the site the maintainers names look like hyperlinks but they aren't. I wonder whether there should be... a mailto:? A view filtered by maintainer?

@karthik
Copy link
Contributor Author

karthik commented Aug 29, 2018

Ideally it should go to their GitHub profile page.

@karthik
Copy link
Contributor Author

karthik commented Aug 29, 2018

or actually i prefer a filtered view by maintainer

@maelle
Copy link
Contributor

maelle commented Sep 7, 2018

good idea by @noamross, the table should also show which packages have been reviewed.

@maelle
Copy link
Contributor

maelle commented Oct 8, 2018

or actually i prefer a filtered view by maintainer

I had missed that it's already implemented actually!

@maelle
Copy link
Contributor

maelle commented Dec 6, 2018

Current state, script to run on the server with the clones https://github.com/ropenscilabs/makeregistry#example Output is both a raw Codemeta file, and the JSON registry used as data source for the packages page.

Not run automatically yet, @sckott to explore that.

@jeroen codemetar will extract all URLs from DESCRIPTION. One of them is recognized as CodeRepository, the others (e.g. pkgdown website link) get stored as relatedLink cf this example

@sckott
Copy link
Contributor

sckott commented Dec 6, 2018

cron job is running now

I still need to sort out adding new repos as they are added to ropensci/ropenscilabs

@maelle
Copy link
Contributor

maelle commented Dec 7, 2018

Yay!

So there is no API call to GitHub before cloning at the moment?

@sckott
Copy link
Contributor

sckott commented Dec 7, 2018

not yet

@sckott
Copy link
Contributor

sckott commented Dec 14, 2018

i think this is all set now @maelle

@maelle
Copy link
Contributor

maelle commented Dec 14, 2018

or at least we now track remaining issues elsewhere 😁 https://github.com/ropenscilabs/makeregistry

@maelle maelle closed this as completed Dec 14, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants