GithubHelp home page GithubHelp logo

nodejs / badges Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 10.0 13 KB

Facilitating the design and development of Node.js Open Badges and associated content.

License: MIT License

community-committee node nodejs

badges's People

Contributors

amiller-gh avatar maddhruv avatar ryzokuken avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

badges's Issues

Maintaining a list of webhooks for each badge

While it's nice that we're bashing our brains out thinking about possible badges, it would be nice to immerse ourselves into the constraints of the environment every once a while, helping us stay realistic and avoid us getting ahead of ourselves.

Here, IMO, the biggest (and perhaps the only) bottleneck is the availability of the webhooks that GitHub provides and Node allows. Let's make a list of all the badges we need and which webhooks we'll need for them.

Badge Hook Org Hook
Core Collaborator member
Member organization ✔️
WG/Initiative membership ✔️

NOTE: org hooks are currently disallowed (for good reason), so that needs to be taken with a pinch of salt.

[ NEEDS TO BE COMPLETED ]

2018-04-05 Node.js Badges Meeting

Time

UTC Thur 05-Apr-2018 15:00 (03:00 PM):

Timezone Date/Time
US / Pacific Thur 05-Apr-2018 08:00 (08:00 AM)
US / Mountain Thur 05-Apr-2018 9:00 (9:00 AM)
US / Central Thur 05-Apr-2018 10:00 (10:00 AM)
US / Eastern Thur 05-Apr-2018 11:00 (11:00 AM)
London Thur 05-Apr-2018 16:00 (04:00 PM)
Amsterdam Thur 05-Apr-2018 17:00 (05:00 PM)
Moscow Thur 05-Apr-2018 18:00 (06:00 PM)
Chennai Thur 05-Apr-2018 20:30 (8:30 PM)
Hangzhou Thur 05-Apr-2018 01:00 (11:00 PM)
Tokyo Fri 06-Apr 2018 00:00 (12:00 AM)
Sydney Fri 06-Apr-2018 04:00 (01:00 AM)

Or in your local time:

Links

Agenda

  • Set Up a Badge Issuer Account #3
  • V1 Badges List #8
  • Badge / Pathway RFC process and template #4
  • Node.js Badges Illustration Style Guide #7
  • Github + Badger API Integration for Automated Awarding #9
  • Future Meetings

Invited

Badges Team Members

Joining the meeting

Node.js Foundation Badges Meeting 2018-04-19

Time

UTC Thu 19-Apr-2018 14:00 (02:00 PM)
In your local time -
https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Badges+Meeting&iso=20180419T14&p1=1440&ah=1

Links

Agenda

  • Badge Release Process #5
  • Node.js Badges Illustration Style Guide #7
  • v1 badges list #25 #8
  • New Project for v1 badges list #18
  • target: v1 roll out during the Spring Summit #21
  • determining the badgr username/email of the recipient #22
  • how to correlate users to automatically issue badges #23

Invited

@nodejs/badges

Joining the meeting

  • Zoom link - will be shared 5 minutes before

Edit: Added @Tiriel to invitees.

Node.js Badges Illustration Style Guide

The style guide should provide enough of a framework to maintain visual consistency across the entire Badge collection, while providing enough flexibility to encourage creativity and variety in future Badge designs.

Examples of Illustration style guides: Atlassian, Behance, Dropbox

Note: It may be possible to extend this illustration style guide to the Node.js project as a whole – a great crossover opportunity with the Website Redesign initiative @oe !

Nodeschool has a great example of a simple badge template to use for custom stickers. Whatever style we land on, we should provide this template and the style guide in a number of formats.

Lets collect examples of badge styles we like from across the web in the discussion below. Then, we can develop a selection of badge style proposals to shop around, collect feedback on, and refine.

Github + Badger API Integration for Automated Awarding

I think we can all agree that it is ideal to automate the badge issuance process as much as possible. A large number Badge criteria fulfillment hooks can probably be triggered by GitHub events (ex: Addition to a GitHub team, first commit, n-number of engagements with a repo, etc... See #8).

If we integrate with an issuer platform that exposes an open API (like Badgr, see #3) we can use (or create) a GitHub integration that awards badges automatically in response to GitHub events. New Badges that are issued in response to GitHub events should have to specify the exact hooks they respond to in their RFC (see #4).

In my many, many minutes-long Google-exploration, I did not find an Open Badges integration available for GitHub. The majority use case for Open Badges appear to be for formal and informal educational programs, not for open source contribution and engagement — despite it being a perfect tool for OSS community development!

If there is in fact no pre-existing way to automagically award badges based on GitHub actions, this would be an amazing contribution that Node.js can give back to the larger open source ecosystem, while we also scratch our own itch to ease long-term maintenance of Node.js Badges.

@williamkapke, you've had some experience with Github integrations via nodejs/community-committee#22. What are your thoughts on the feasibility, scope, and security concerns of what I've outlined above?

determining the badgr username/email of the recipient

I had been tinkering with a few things regarding the issuance and the GitHub bot, and I thought to myself: how do we determine what the recipient's email/username is?

Perhaps we could force them to use the same username (difficult) or email (easier) as their GitHub account?

Set Up a Badge Issuer Account

Many badge issuer services are built-in to educational tools (ex: Moodle, BadgeList, ForAllRubrics, TopClass, etc...), others are more enterprise focused (ex: Acclaim, NOCTI, Bestr, OpenBadgeFactory, Credly)

The ideal solution for Node.js appears to be the open source service called Badgr.

Badgr seems to be the largest public player in the Open Badges space and provides a fully featured, free service, with multiple-user management of issuer accounts, and an open API.

By using Badgr for our issuer account management, we also are supporting one of the only open source implementations of an Open Badges server!

To play with the service I set us up a Badger account here: https://badgr.io/issuer/issuers/SEbc17G0S5e3_zrR44oZ_A

If there are no objections to using Badger, or other services we want to evaluate, we can use this account as Node.js' primary issuer service and I'm happy to add other members of the CommComm / Badges Working Group as co-owners 👍

New Project - v1 badges list

Shall we create a new project under badges for v1 badges list and shift all our available resources and conversations over there instead on the issue #8

Badge Release Process

Once a new badge RFC is accepted (see: #4), there will be work required outside of GitHub to officially release it. This process should be a well-defined, clone-able ticket, with manageable sub-tasks, that we can open as an issue for every new Badge.

V1 Badges List

We will need to determine what content will constitute our 1.0 launch of Node.js Badges. These badges should follow the process decided upon in #4, but for the V1 release of badges, having a list of 5-10 inaugural badges to iterate on will help with this initial launch and iterating on the style guide (see: #7).

What would you like to see in a first set of badges? Ideas already thrown out elsewhere include:

  • Node.js Team / Working Group membership badges
  • Event specific badges
  • Contributor milestone badges (ex: first contribution, "power" contributor, etc...)

First badges team meeting?

I'm happy to continue with async communications, but think the project may benefit from an in-person meeting! If we held a meeting for Node.js Badges, who would like to attend? If there is enough interest, I will send out a Doodle to determine the best time.

Badge for npm modules that support N-API

This may be a different scope as I think many of the badges were for collaborators within the Node.js community.

I was thinking a badge we could let modules use which support N-API might be a good way to help promote adoption.

Badges as Stickers

Devs love their laptop stickers, and it would be amazing to offer these badges as vinyl stickers to recipients! At the end of the day, Open Badges are just images, so it will be impossible to prevent counterfeits. However, a happy-path to receiving stickers for those what want them will help to solidify Node.js Badges as an important part of the community culture.

The easiest way to make this happen is to just make all Badges available as stickers in a Node.js store. This can either be through the existing store.nodejs.org storefront, or through a new account from a service like RedBubble. Badge descriptions can include a link to the official store page where the badge stickers (or pins?!) may be purchased.

It would be nice to limit official purchases of stickers to those that can prove they've been awarded the badge. I'd be interested to hear proposals for how we can pull this off, but I don't want to see it to block us from offering Badge specific merchandise.

There are also opportunities to provide Badge related merchandise at conferences and in-person meetups. This should be considered on a by-event basis, but it may be good to offer guidance for how to plan ahead for event-specific Badges.

@bnb, who would have information about the current storefront, who maintains it, and what kinds of product offerings we can make through it? Those details will help dictate what we're allowed to actually offer and/or what platforms we're allowed to use.

Other outstanding questions off the top of my head:

  • Do we have an exclusive deal with the vendor who runs store.nodejs.org?
  • How are sales handled? Do we sell at-cost? Where does the money go if we make a profit?
  • Do we need special outreach / approval process to print and provide badges at Node.js sponsored conferences / events?

Badge / Pathway RFC process and template

We need a process to evaluate and accept new badge and pathway proposals. I recommend we use an RFC-like process for new additions. Every new badge or pathway proposal will be submitted as a PR to add a new file to the @nodejs/open-badges repo by filling out a template markdown file with the required information. Discussion will happen on the PR and when consensus is reached by the Open Badges Team, the PR will be merged

Outstanding questions:

What information do we need in the RFC template?
Do we require a final design before merging the PR? If no, what is the design process?
Does the larger Community Committee want final say on badge approval?
What is the process for modifying badge designs / criteria?
Is there a better format / process for proposing new Badges?

I welcome anyone to take a stab at a first draft and opening a PR for further discussion.

Add more information to README

May be helpful to include more copy about what this working group is, our responsibilities, and the intended impact of this initiative.

how to correlate users to automatically issue badges

While thinking stuff about the automation workflow for issuing badges, I came upon this:

Because we're using GitHub's webhooks to trigger the badge issuance methods, we'd have access to the GitHub details of the user (here: contributor) under consideration. However, the badgr API will need the details from their badgr which may (and probably will) be different.

In order to correlate users, we would have a few options, a subset of which is:

  1. Make a database mapping our contributors' GitHub credentials to their Badgr credentials and use it while issuing badges.

  2. Automatically issue a badge to a badgr user with the same username (thus forcing username consistency upon contributors) [BAD]

  3. Automatically issue a badge to a badgr user with the same email (thus forcing email consistency upon contributors) [RELATIVELY LESS BAD]

@nodejs/badges and others, please vote on these and if possible, propose better ones.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.