community-committee
community-committee copied to clipboard
Automate Meeting Participant History Document
Just for fun, I wrote a quick proof-of-concept script that pulls attendance data from meeting notes committed to a repository. Would love to discuss if / how we should productize it, or something like it.
Problem:
The CommComm has been hand-managing a participation spreadsheet to track people who attend CommComm meetings. This has proven onerous for current members and the spreadsheet often falls out of date.
Proposal:
It is possible to automate meeting participant history documents for the CommComm β and potentially for the individual working groups as well.
We can host a small static page (literally just an html table), re-generated every 24 hours, that displays attendance data for any number of repos that follow CommComm's format of publishing meeting notes in /meetings/YYYY-MM-DD.md
.
Pros:
- No longer have to worry about tracking participation across all meetings.
Cons:
- It depends on timely PR'd, and moderately well-formatted, meeting notes: https://github.com/nodejs/community-committee/issues/241
- Its not that hard to hand manage a separate spreadsheet.
Questions:
- Do we have a place to host this that can run a simple script on a cron job.
- Are there other ways to use this script (or other forms of automation) that don't require hosting?
- Do we need this added complexity if we can just hand-edit a spreadsheet?
Thoughts? π
Just sharing my thoughts:
We can have a CRON job on travis and have the results appended to a meetings markdown file in the repo and pushed back to github. The script can be separated into a special branch on the repo.
Just an open question: is it really relevant to do this now while we are thinking about restructuring the CommComm efforts and maybe changing the pathway to become a member? #253
Other than that, the html page solution seems the "user-friendliest" to me!
I think Heroku is the best place to host. It also has built-in CRON jobs. I use it for multiple, small projects. We can get a free Node.js dyno. I'm available if any kind of help is needed for Heroku setup.
@WaleedAshraf I think it might be better to host in the Node.js infra. This gives us more control and means we don't need to manage additional external credentials. Might be good to talk to @joyeecheung from the automation team.
@mhdawson I get your point. π @joyeecheung @amiller-gh Let me know if you guys plan for a short meeting on this.
@WaleedAshraf I'd be happy to help, but I don't really have a better idea about the hosting either. AFAICT what we're gonna need is a script that automates what OP proposes, and something that runs it periodically. You might want to check out https://github.com/nodejs/build/pull/1067 , or, use something similar to CRON jobs in Jenkins (we have those kind of things for running tests on nodejs master every day)
@joyeecheung thanks. We had a discussion about this in todays CommComm meeting but I think there is still no final decision. @amiller-gh can comment better.
Hey all,
Further refined the proof-of-concept and have it online here: http://nodejsparticipants.info
Code is ugggly, but lives here: https://github.com/amiller-gh/nodejs-participation
The nodejsparticipants.info
site has no CI, auto-deploy or chron job set up right now, its just to show that the project works! Happy to make this deployment a bit more robust, but equally happy to hand off the project to someone that wants to hook the site generator into the Node.js infrastructure.
Anyone should also feel free to go and make the site generator itself a bit more robust. Theres a lot that could be done to clean it up. Also happy to move the repo into the Node.js org if that is wanted π
@amiller-gh wow, that is absolutely stellar! β¨
Not sure what the next steps from here would be... we may want to include this as a subdomain on the site or something like that. π€
I like participation.nodejs.org
or meetings.nodejs.org
(for if we ever want to throw more functionality on it π )
It can definitely stay as-is at http://nodejsparticipants.info, but I think we'd be better served by the tool being officially adopted by the community. If we're going to fully support this as a part of the admin tooling moving forward I'd love to see:
- The repo moved in to Node.js org
- The project deployed on a Node.js sub-domain
- A protected "production" branch in the repo that is automatically deployed when pushed to
- The chron job set up to run
npm run build
and re-generate the static site once per day - Improvements made to the site! This can be iterated on at our leisure after the CI/CD pipeline from steps 1-4 are done. The site is helpful and functional as is, but could be much better. These improvements may include
- Use a templating system for DOM construction instead of template strings
- Embed the Node.js calendar on the site
- Pull in a framework to help with table functionality (ex: sorting columns, sticky table header)
- Tests. I hear those are good.
- Literally anything to make it work better than the proof-of-concept committed right now!
I can help drive 5, but I don't have the access or domain knowledge for 1-4...who here does and has the cycles to move it forward? π
Also want to re-surface @Tiriel's comment above:
Just an open question: is it really relevant to do this now while we are thinking about restructuring the CommComm efforts and maybe changing the pathway to become a member? #253
I still think there is value here, but figured I'd keep that discussion thread going π
Great work @amiller-gh π I can help with templating, will try to add ejs view in it.
This is great work!
Just quick comment, this is somewhat broken on Firefox, the handles column is merged with the last meeting column.
To answer my own question, seeing the amount of work to be done on the membership issue, I'd say this could stay handy for some time. And anyway, even when this will have been dealt with, we'll still have to track attendance for those who have requested membership before the changes.
But I'm glad you surfaced the question again, I think we need to be ok with every aspect of the question.
Yep, it's kind of broken on latest Firefox, assuming it's some kind of CSS positioning implementation detail.
Told you the code was bad π Literally just got it building something that looks like a table.
Committed and deployed with the Firefox fix, but @WaleedAshraf please have at it! Look forward to seeing the update.
Any takers on tackling deployment infra? @mhdawson, any insights?
added templates, Hosted it to Heroku with cron job to update daily: https://nodejs-participation.herokuapp.com
This ^ is just for testing. Need more improvements. @amiller-gh can you share your email id?
Love it π Merged in. Like I mentioned on the PR, feel free to DM me on Twitter to chat about pointing http://nodejsparticipants.info/ to your Heroku box for now until we figure out a longer term deployment strategy π
Sure π I thought to invite you to Heroku instance. But it's not necessary at all. Sent you DNS info on twitter. π
@codeekage, there is still work to do with this ticket β I'd love to see this reporting dashboard possibly pulled in to the main project and documented somewhere π Will get this back on my todo list.
@amiller-gh yes and we need to deploy it somewhere on Nodejs servers and get rid of Heroku.
And also, there is some issue with Heroku cron that it doesn't reflect changes on restart. I have re-deploy whole site. (not a big task but still) If anyone can take a look on that, welcome. My thoughts that it can be fixed when we deploy site on some aws/nodejs server.
@amiller-gh is this still a needed tool? I definitely don't think it hurts to have it and would be happy to assist with getting it up permanently if hosting is the final barrier. Additionally, we could incorporate this into the new website if desired. Mostly just want to get a go/no-go on this and resolve the issue if possible :)
Work is still needed to get this across the line! The existing site at https://github.com/amiller-gh/nodejs-participation will work, but we need permanent hosting, and there are umpteen million improvements that can be made. Feel free to take it on if you have the cycles π
We've somewhat moved away from this and haven't seen any additional traction on it. If folks would like to continue with it, please feel free to comment now. If there's no +1s to continuing and folks willing/able to do the work, I'll close the next time I take a look at it.
I've unarchived this repo so I can close all PRs and issues before re-archiving.