Coder Social home page Coder Social logo

mglaman / contribkanban.com Goto Github PK

View Code? Open in Web Editor NEW
62.0 10.0 23.0 4.3 MB

ContribKanban.com - turning Drupal.org issue queues into kanban boards to better Drupalkind

Home Page: http://contribkanban.com/

License: GNU General Public License v2.0

JavaScript 35.09% CSS 0.84% HTML 0.66% PHP 59.78% Gherkin 1.21% Twig 2.25% Shell 0.17%
drupal javascript kanban-board hacktoberfest

contribkanban.com's Introduction

ContribKanban is an application which mirrors Drupal.org issues into kanban boards.

๐Ÿš€ Hosting for ContribKanban.com provided by Amazee.io

Local development

Want to contrib to ContribKanban? Local development is powered by DDEV.

ddev start

ddev composer install

ddev frontend start

Drupal backend accessible at https://contribkanban.com.ddev.site and frontend at https://contribkanban.com.ddev.site:9443/

Browser extensions

Browser extensions are available to integrate ContribKanban directly into Drupal.org.

contribkanban.com's People

Contributors

bartlangelaan avatar cornifex avatar damienmckenna avatar dasjo avatar dependabot[bot] avatar fjgarlin avatar hansfn avatar jaykandari avatar mglaman avatar timmillwood avatar tloudon avatar violinist-bot avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contribkanban.com's Issues

Show number of patches and files

It might be helpful to (using an icon ?) display number of patches and files to get a sense of an issues "history." A high number of patches might reflect high activity, and issues with no files might mean screenshots are needed, more indepth issue triage.

Support user accounts for project maintainers and community members.

On the backend there are ways to customize the boards on the website.

I'd like input on how to best implement this. My thought is to skip typical registration and just support logging in via GitHub and Twitter. I'd then manually approve accounts to manage projects and create sprint boards.

Allow creation of sprint boards

Sprint boards are just multiple tags. This should be something that can be created without an account. Only issue is helping users resolve tag names to tids.

Core component: cache system

Drupal core is so large the different components have their own boards: bugs and tasks. In order for the boards to show up, we need their config JSON file in app/config/boards/core/. Right now there is still a manual process with adding an entry on Parse.com. But the more tedious task is JSON creation.

Reference this commit: @ea4231deed8d7e05c6b55f7728777d6f2d27eee7 for an example of making a Core component config.

Create per-user boards

Just spit-balling, but it would be great to easily create a board that consists of issues from all of the projects I maintain.

Document new board parameters

Boards can now specify priority and version.

Example taken from the D8 Criticals board

[
  {
    "category": "",
    "label": "Postponed",
    "name": "backlog",
    "parentIssue": "",
    "statuses": [
      4,
      16
    ],
    "tag": "",
    "priority": 400,
    "version": "8.0.x-dev"
  },
  {
    "category": "",
    "label": "Active",
    "name": "active",
    "parentIssue": "",
    "statuses": [
      1
    ],
    "tag": "",
    "priority": 400,
    "version": "8.0.x-dev"
  },
  {
    "category": "",
    "label": "Needs Work",
    "name": "cnw",
    "parentIssue": "",
    "statuses": [
      13
    ],
    "tag": "",
    "priority": 400,
    "version": "8.0.x-dev"
  },
  {
    "category": "",
    "label": "Needs Review",
    "name": "cnr",
    "parentIssue": "",
    "statuses": [
      8
    ],
    "tag": "",
    "priority": 400,
    "version": "8.0.x-dev"
  },
  {
    "category": "",
    "label": "Reviewed & Tested",
    "name": "rtbc",
    "parentIssue": "",
    "statuses": [
      14,
      15
    ],
    "tag": "",
    "priority": 400,
    "version": "8.0.x-dev"
  },
  {
    "category": "",
    "label": "Fixed",
    "name": "done",
    "parentIssue": "",
    "statuses": [
      2
    ],
    "tag": "",
    "priority": 400,
    "version": "8.0.x-dev"
  }
]

Allow customization of project boards.

The website allows for custom boards. A UI needs to be exposed for allowing configuration. An idea is to only allow this on authorized accounts. See #5.

Examples:

Here's example JSON used for Panopoly's board to watch issues tagged "sprint"

[
  {
    "category": "",
    "label": "Postponed",
    "name": "backlog",
    "parentIssue": "",
    "statuses": [
      4,
      16
    ],
    "tag": "31228"
  },
  {
    "category": "",
    "label": "Active",
    "name": "active",
    "parentIssue": "",
    "statuses": [
      1
    ],
    "tag": "31228"
  },
  {
    "category": "",
    "label": "Needs Work",
    "name": "cnw",
    "parentIssue": "",
    "statuses": [
      13
    ],
    "tag": "31228"
  },
  {
    "category": "",
    "label": "Needs Review",
    "name": "cnr",
    "parentIssue": "",
    "statuses": [
      8
    ],
    "tag": "31228"
  },
  {
    "category": "",
    "label": "Reviewed & Tested",
    "name": "rtbc",
    "parentIssue": "",
    "statuses": [
      14,
      15
    ],
    "tag": "31228"
  },
  {
    "category": "",
    "label": "Fixed",
    "name": "done",
    "parentIssue": "",
    "statuses": [
      2
    ],
    "tag": "31228"
  }
]

Core component: asset library system

Drupal core is so large the different components have their own boards: bugs and tasks. In order for the boards to show up, we need their config JSON file in app/config/boards/core/. Right now there is still a manual process with adding an entry on Parse.com. But the more tedious task is JSON creation.

Reference this commit: @ea4231deed8d7e05c6b55f7728777d6f2d27eee7 for an example of making a Core component config.

Show currently assigned user?

It would be nice to know if an issue is assigned or not. I like Trello's way of showing the user picture of the assignee.

Provide git clone URL on project board

It could be useful to provide a shortcut to the git clone command on the project board page so users don't need to open Drupal.org (if they dont' have code)

Browsing available projects

I think the current implementation was great for beginnings. Now it kind of stinks - at least I think so. It'd be great to hear some suggestions

Add a Drupal 8 Media sprint

Right now we use the 'Media Initiative' tag, but we could use something simpler like 'D8Media' to help narrow it down. We have an upcoming sprint at NYC Camp in two weeks, it would be great if we could start using contribkanban for our sprints!

Core component: ajax system

Drupal core is so large the different components have their own boards: bugs and tasks. In order for the boards to show up, we need their config JSON file in app/config/boards/core/. Right now there is still a manual process with adding an entry on Parse.com. But the more tedious task is JSON creation.

Reference this commit: @ea4231deed8d7e05c6b55f7728777d6f2d27eee7 for an example of making a Core component config.

Redo help modal

The help modal isn't quite helpful and is ugly.

  • Info about author
  • How to contribute
  • How to add a board
  • How to make a custom board
  • Requesting a sprint

Display project statistics

  • Number of sprint boards
  • Number of theme boards
  • Number of distro boards
  • Number of module boards
  • Number of core boards
  • Grand smack total

Testing.

This needs testing to ensure things don't break.

If branch filter provided, restrict API calls to that branch.

Right now the branch filter acts as a filter for existing cards. That really sucks in modules like Chaos Tools for the port over to Drupal 8. Since webchick kicked off the Contrib Tracker it makes sense to change how the branch filter works so we can list more 8.x boards!

#issue number clicks open two windows

Hey @mglaman

The md-card openIssue() function is capturing any click on the card to open a window for the project. If you click on the actual href
screen shot 2015-10-03 at 8 52 15 am
you get the href action + the md-card action, so dupe windows/tabs.

IDK what the best UX is here, but I'm thinking if you remove the href value

template: '<a class="kanban-board--issue__link" href="https://www.drupal.org/node/{{ issue.nid}}" target="_blank">#{{ issue.nid}}</a>'
ie, href='' . The link won't open a window but will still show up as a link. You could also do a preventDefault() on the md-card a click(). Additionally, maybe it would be nice to add a "cursor: pointer" to
padding: 5px 16px;
so it's clear the entire card is a clickable (and not draggable b/c teh trellos)

Does that make sense? You want me to open a PR for this?

cheers

Sprint boards should display project

It'd be great if a sprint board displayed the project an issue belongs to. Sprint boards are tag based and cross project, rather than individual project boards.

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.