Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[rdf4j-dev] using github project boards (redux)

hi all,

I've been experimenting again with the Github project boards at https://github.com/eclipse/rdf4j/projects. For a while now, it's been set up to have various boards for "themes", for example "Federation support", "SHACL support", etc. The thought behind this was to have all issues that are related somewhat organized, a bit like never-ending "Epics".

However, I am not sure it's really as useful as I'd hoped. For one thing, it duplicates the labeling we already use for various components/themes. For another: I don't think anyone besides me really bothers to look at or update these boards very often (and the more boards we have, the more complex maintaining this becomes, obviously).

Here's what I'd ideally like to use project boards for:

1. quick overview of what's new to triage / prioritize issues
2. get a quick overview of which issues are assigned to who, which are in progress, blocked, done, etc. Get a sense of which issues may have been abandoned.
3. quickly see which issues I myself am/was working on.

So I'm now thinking we should go back to a single project board.

However, whether we have 100 project boards or just one, in order for any of it to be useful I need some minimal commitment from others to help keep it up to date, in particular:

1. when you pick up an issue, please make yourself the assignee and make sure it's on the project board.
2. when you start work on an issue, move your issue to "In progress". This can be easily done on the project board (by dragging between columns) or on the issue ticket itself (there's a dropdown menu to move between columns in the 'Project' overview on the right)
3. when you create a pull request, please link it to the issue (if you create the PR the right way Github actually does this automatically, but if it doesn't, you can easily link it yourself)

It's really useful for everyone to be aware that someone is working on an issue, and assigning it to yourself and moving it to "In progress" is a really simple way to communicate that.

I can automate most of the rest: issues already automatically move to the Done column when they're closed, and can add a Github action to automatically put every new issue into the Inbox column (useful to quickly see newly reported issues and do a quick analysis if it's a bug, a question, a feature, or nonsense - the idea would be to move it to 'To do' as soon as we've established it needs work on our end).

To kind of see what I'm getting at, I've set up (yet another :)) project board, called "Project Progress": https://github.com/eclipse/rdf4j/projects/19. I've (manually) added all open issues to its To do column, and moved some of mine that are in progress accordingly as well.

Some nifty features in project boards you may not be aware of:

1. you can click on any label to automatically filter by that label
2. click on a milestone mentioned on an issue card to filter by that milestone
3. click on an assignee's avatar to filter on that assignee
4. you can permalink to any such combination of filters to give a quick overview. For example, here's our progress on RDF* features in milestone 3.2.0: https://github.com/eclipse/rdf4j/projects/19?card_filter_query=label%3A%22rdf+%3Astar%3A++%2F+sparql+%3Astar%3A%22+milestone%3A3.2.0

If everybody is happy with going back to a single board and has no objections to doing some minimal homework to help keep issues up to date, I will remove all the other boards so we're back to one big one, and then also add a github action to automatically add new issues to the Inbox. If there are strong objections, we can explore alternatives (one of which is to just completely give up on boards, though I'd personally really dislike that).

Opinions and alternative suggestions welcome,

Jeen

Back to the top