From Fedora Project Wiki
Line 428: Line 428:
|
|
|-
|-
|gulp
|nodejs-gulp
|
|
|
|
Line 435: Line 435:
|[https://www.npmjs.com/package/gulp npm URL]
|[https://www.npmjs.com/package/gulp npm URL]
|-
|-
|gulp-angular-templatecache
|nodejs-gulp-angular-templatecache
|
|
|
|
Line 442: Line 442:
|[https://www.npmjs.com/package/gulp-angular-templatecache npm URL]
|[https://www.npmjs.com/package/gulp-angular-templatecache npm URL]
|-
|-
|gulp-autoprefixer
|nodejs-gulp-autoprefixer
|
|
|
|
Line 449: Line 449:
|[https://www.npmjs.com/package/gulp-autoprefixer npm URL]
|[https://www.npmjs.com/package/gulp-autoprefixer npm URL]
|-
|-
|gulp-cache
|nodejs-gulp-cache
|
|
|
|
Line 456: Line 456:
|[https://www.npmjs.com/package/gulp-cache npm URL]
|[https://www.npmjs.com/package/gulp-cache npm URL]
|-
|-
|gulp-cached
|nodejs-gulp-cached
|
|
|
|
Line 463: Line 463:
|[https://www.npmjs.com/package/gulp-cached npm URL]
|[https://www.npmjs.com/package/gulp-cached npm URL]
|-
|-
|gulp-coffee
|nodejs-gulp-coffee
|
|
|
|
Line 470: Line 470:
|[https://www.npmjs.com/package/gulp-coffee npm URL]
|[https://www.npmjs.com/package/gulp-coffee npm URL]
|-
|-
|gulp-coffeelint
|nodejs-gulp-coffeelint
|
|
|
|
Line 477: Line 477:
|[https://www.npmjs.com/package/gulp-coffeelint npm URL]
|[https://www.npmjs.com/package/gulp-coffeelint npm URL]
|-
|-
|gulp-concat
|nodejs-gulp-concat
|
|
|
|
Line 484: Line 484:
|[https://www.npmjs.com/package/gulp-concat npm URL]
|[https://www.npmjs.com/package/gulp-concat npm URL]
|-
|-
|gulp-csslint
|nodejs-gulp-csslint
|
|
|
|
Line 491: Line 491:
|[https://www.npmjs.com/package/gulp-csslint npm URL]
|[https://www.npmjs.com/package/gulp-csslint npm URL]
|-
|-
|gulp-flatten
|nodejs-gulp-flatten
|
|
|
|
Line 498: Line 498:
|[https://www.npmjs.com/package/gulp-flatten npm URL]
|[https://www.npmjs.com/package/gulp-flatten npm URL]
|-
|-
|gulp-if
|nodejs-gulp-if
|
|
|
|
Line 505: Line 505:
|[https://www.npmjs.com/package/gulp-if npm URL]
|[https://www.npmjs.com/package/gulp-if npm URL]
|-
|-
|gulp-imagemin
|nodejs-gulp-imagemin
|
|
|
|
Line 512: Line 512:
|[https://www.npmjs.com/package/gulp-imagemin npm URL]
|[https://www.npmjs.com/package/gulp-imagemin npm URL]
|-
|-
|gulp-insert
|nodejs-gulp-insert
|
|
|
|
Line 519: Line 519:
|[https://www.npmjs.com/package/gulp-insert npm URL]
|[https://www.npmjs.com/package/gulp-insert npm URL]
|-
|-
|gulp-jade
|nodejs-gulp-jade
|
|
|
|
Line 526: Line 526:
|[https://www.npmjs.com/package/gulp-jade npm URL]
|[https://www.npmjs.com/package/gulp-jade npm URL]
|-
|-
|gulp-jade-inheritance
|nodejs-gulp-jade-inheritance
|
|
|
|
Line 533: Line 533:
|[https://www.npmjs.com/package/gulp-jade-inheritance npm URL]
|[https://www.npmjs.com/package/gulp-jade-inheritance npm URL]
|-
|-
|gulp-minify-css
|nodejs-gulp-minify-css
|
|
|
|
Line 540: Line 540:
|[https://www.npmjs.com/package/gulp-minify-css npm URL]
|[https://www.npmjs.com/package/gulp-minify-css npm URL]
|-
|-
|gulp-order
|nodejs-gulp-order
|
|
|
|
Line 547: Line 547:
|[https://www.npmjs.com/package/gulp-order npm URL]
|[https://www.npmjs.com/package/gulp-order npm URL]
|-
|-
|gulp-plumber
|nodejs-gulp-plumber
|
|
|
|
Line 554: Line 554:
|[https://www.npmjs.com/package/gulp-plumber npm URL]
|[https://www.npmjs.com/package/gulp-plumber npm URL]
|-
|-
|gulp-print
|nodejs-gulp-print
|
|
|
|
Line 561: Line 561:
|[https://www.npmjs.com/package/gulp-print npm URL]
|[https://www.npmjs.com/package/gulp-print npm URL]
|-
|-
|gulp-rename
|nodejs-gulp-rename
|
|
|
|
Line 568: Line 568:
|[https://www.npmjs.com/package/gulp-rename npm URL]
|[https://www.npmjs.com/package/gulp-rename npm URL]
|-
|-
|gulp-replace
|nodejs-gulp-replace
|
|
|
|
Line 575: Line 575:
|[https://www.npmjs.com/package/gulp-replace npm URL]
|[https://www.npmjs.com/package/gulp-replace npm URL]
|-
|-
|gulp-sass
|nodejs-gulp-sass
|
|
|
|
Line 582: Line 582:
|[https://www.npmjs.com/package/gulp-sass npm URL]
|[https://www.npmjs.com/package/gulp-sass npm URL]
|-
|-
|gulp-scss-lint
|nodejs-gulp-scss-lint
|
|
|
|
Line 589: Line 589:
|[https://www.npmjs.com/package/gulp-scss-lint npm URL]
|[https://www.npmjs.com/package/gulp-scss-lint npm URL]
|-
|-
|gulp-sourcemaps
|nodejs-gulp-sourcemaps
|
|
|
|
Line 596: Line 596:
|[https://www.npmjs.com/package/gulp-sourcemaps npm URL]
|[https://www.npmjs.com/package/gulp-sourcemaps npm URL]
|-
|-
|gulp-template
|nodejs-gulp-template
|
|
|
|
Line 603: Line 603:
|[https://www.npmjs.com/package/gulp-template npm URL]
|[https://www.npmjs.com/package/gulp-template npm URL]
|-
|-
|gulp-uglify
|nodejs-gulp-uglify
|
|
|
|
Line 610: Line 610:
|[https://www.npmjs.com/package/gulp-uglify npm URL]
|[https://www.npmjs.com/package/gulp-uglify npm URL]
|-
|-
|gulp-wrap
|nodejs-gulp-wrap
|
|
|
|
Line 617: Line 617:
|[https://www.npmjs.com/package/gulp-wrap npm URL]
|[https://www.npmjs.com/package/gulp-wrap npm URL]
|-
|-
|karma
|nodejs-karma
|
|
|
|
Line 624: Line 624:
|[https://www.npmjs.com/package/karma npm URL]
|[https://www.npmjs.com/package/karma npm URL]
|-
|-
|karma-chai
|nodejs-karma-chai
|
|
|
|
Line 631: Line 631:
|[https://www.npmjs.com/package/karma-chai npm URL]
|[https://www.npmjs.com/package/karma-chai npm URL]
|-
|-
|karma-chrome-launcher
|nodejs-karma-chrome-launcher
|
|
|
|
Line 638: Line 638:
|[https://www.npmjs.com/package/karma-chrome-launcher npm URL]
|[https://www.npmjs.com/package/karma-chrome-launcher npm URL]
|-
|-
|karma-coffee-preprocessor
|nodejs-karma-coffee-preprocessor
|
|
|
|
Line 645: Line 645:
|[https://www.npmjs.com/package/karma-coffee-preprocessor npm URL]
|[https://www.npmjs.com/package/karma-coffee-preprocessor npm URL]
|-
|-
|karma-mocha
|nodejs-karma-mocha
|
|
|
|
Line 652: Line 652:
|[https://www.npmjs.com/package/karma-mocha npm URL]
|[https://www.npmjs.com/package/karma-mocha npm URL]
|-
|-
|karma-sinon
|nodejs-karma-sinon
|
|
|
|
Line 659: Line 659:
|[https://www.npmjs.com/package/karma-sinon npm URL]
|[https://www.npmjs.com/package/karma-sinon npm URL]
|-
|-
|karma-sinon-chai
|nodejs-karma-sinon-chai
|
|
|
|
Line 666: Line 666:
|[https://www.npmjs.com/package/karma-sinon-chai npm URL]
|[https://www.npmjs.com/package/karma-sinon-chai npm URL]
|-
|-
|karma-sourcemap-loader
|nodejs-karma-sourcemap-loader
|
|
|
|
Line 672: Line 672:
|Unpackaged dep of taiga-front
|Unpackaged dep of taiga-front
|[https://www.npmjs.com/package/karma-sourcemap-loader npm URL]
|[https://www.npmjs.com/package/karma-sourcemap-loader npm URL]
|-
|mocha
|
|
|
|Already in Fedora
|(Should the package name be nodejs-mocha?)
|-
|nodejs-pre-commit
|
|
|
|Unpackaged dep of taiga-front
|[https://www.npmjs.com/package/pre-commit npm URL]
|-
|nodejs-readable-stream
|
|
|
|Already in Fedora
|
|-
|nodejs-run-sequence
|
|
|
|Unpackaged dep of taiga-front
|[https://www.npmjs.com/package/run-sequence npm URL]
|-
|nodejs-sinon
|
|
|
|Unpackaged dep of taiga-front
|[https://www.npmjs.com/package/sinon npm URL]
|-
|nodejs-through2
|
|
|
|Already in Fedora
|


|-
|-

Revision as of 21:43, 20 May 2015

Fedora Project Planning Proposal

Summary

This is a proposal to unify (as much as appropriate and applicable) the way that various groups manage an plan projects with in the Fedora space.

Owner

  • Email: maxamillion@fedoraproject.org

Current status

  • Targeted release: Fedora 23
  • Last updated: 2015-05-12
  • Percentage of completion: 10%

Detailed Description

Currently different groups (or "subprojects") within the Fedora Project all function in a very disjoint fashion with completely different workflows. While this is likely very applicable from a technical perspective for various needs, there are project planning workflows that can be adapted to almost any type of work. A prime example of this would be kanban, which was originally extracted from supermarket stocking, applied to automotive manufacturing, and recently become very popular in the software development world. The idea here would be that you take a task and divide it into units of work that are estimated to take some finite amount of time to accomplish and in the event that it takes longer, that task should be broken out into smaller tasks. This lends itself to rapid iterative improvements instead of giant all-encompassing project based work.

Benefit to Fedora

The hope here is that this will allow for Fedora to be more open and inviting to new contributors because various groups/SIGs within the Fedora Project will share a similar workflow at least at a high level such that someone looking at what the Infrastructure Group is up to could also look at what the QA or Docs groups are up to and have a decent idea of what is going on in order to decide if there's any ongoing work that interests them. Another aspect is that if the ongoing work within these groups has been broken down into small enough tasks that someone can accomplish them in half a day, a day, or two days (or some other arbitrary "size" of time), it will allow a newcomer to have a well defined task that is an entry point into the project that they find interesting without being too daunting.

Aside from opening up even more to new contributors, this will hopefully encourage different groups within Fedora to think about the work they are doing in small enough tasks that can be easily measured and by looking at the project "board" (more on the board later in discussion of tools), an overview of what's in progress and what's coming down the pipeline is easy to view both for actively engaged members doing the work and for obervational community members just curious what other groups are up to.


Scope

The scope of this work initially is to decide if everyone would be on board with the change. That is what the meeting on 2015-05-13 is about.

From there we will need to decide on a tool to use to deliver the user facing side of the workflow, to allow for different Projects within the Fedora umbrella to access and use the utility for planning work. Once one is decided upon the scope of this will become more apparent in terms of packaging requirements and requests needed to be made to the Infrastructure group.

Tools

There are a number of tools that are popular in this space, the most popular of which is arguably Trello, however because it is closed source software it is not an option for Fedora. Luckily because of the popularity of this space there are a number of open source projects that satisfy this space. Of those, the following have been discussed on Fedora mailing lists in the past and will be evaluated for use in Fedora.

  • Cantas - Implements effectively the "Kanban board" for projects
  • kanboard - Also implements a "kanban board" (the CentOS project is currently using this)
  • Phabricator - Offers more of a complete software project hosting service, does have a feature tracker that could likely be adapted to the kanban style (QA is using this for Taskotron development)
  • Taiga - Complete project tracking, kanban board, backlog, sprint planning, etc.

Taiga PoC Planning

This will be where the scope of work needed will be listed out in order to plan and implement the Proof of Concept(PoC) for use of Taiga as the Project Planning/Management and kanban board workflow for Fedora. Originally the PoC will target the Fedora Rel-Eng group but we will be working cross-team to make sure requirements and considerations are taken into account to allow for other teams within Fedora to use Taiga.

Pre-Req

  • python3 in EPEL7
    • Fedora Infrastructure is hosted on RHEL7, Taiga requires Python 3.4+

Required Packages

  • taiga-back # Taiga backend
  • taiga-front-dist # Taiga frontend
  • taiga-events # Taiga websockets gateway (technically optional from the Taiga aspect but something we should aim for)

Optional Packages:

  • TBD

Requirements Planning

For inclusion in Fedora, potentially hosted and listed under "Fedora Apps" we will need certain integrations into Fedora's Infrastructure.


The scope here is directly targeting the PoC but will also try to make notes of requirements for a full production deploy:

PoC Requirements

  • Must be able to authenticate with FAS
  • Fedmsg integration for message passing and notifications to the rest of the Fedora Infra
  • Trac integration for Rel-Eng
    • #FIXME - Right now this is expected to be just to either integrate tasks two-way or as a migration path functionality... needs more thinking over
  • Pagure integration
    • #FIXME - What this means and what it will look like also needs to be planned out.

PROD Needs outside PoC scope

  • Integration with Fedora Badges
    • This might be more directly related to fedmsg, but should be noted either way

Links of interest

Links of interest for adding new functionality to Taiga:

Dependencies and Packaging Work Tracking

Taiga Core Components

Non-core Taiga Requirements



Packaging Status

Package Version Review request Packager Status Comments
python34 3.4.3 1219411 Matej Stuchlik Pending Review Needed for EPEL7 to host Taiga on RHEL7 Infrastructure
Package Version Review request Packager Status Comments
taiga-back Adam Miller Pending Packaging
python3-django Already in Fedora
python3-django-picklefield Python2 version already in Fedora, should be an easy package update
python3-django-sampledatahelper Unpackaged dependency of taiga-back Upstream URL
python3-gunicorn Already in Fedora
python3-psycopg2 Already in Fedora
python3-pillow Already in Fedora
python3-pytz Already in Fedora
python3-six Already in Fedora
python3-amqp Already in Fedora
python3-djmail Unpackaged dep of taiga-back Upstream URL
python3-django-pgjson Unpackaged dep of taiga-back Upstream URL
python3-djorm-pgarray Unpackaged dep of taiga-back Upstream URL
python3-django-jinga Unpackaged dep of taiga-back Upstream URL
python3-jinja2 Already in Fedora
python3-pygments Already in Fedora
python3-django-sites Unpackaged dep of taiga-back Upstream URL
python3-markdown Already in Fedora
python3-fn Already in Fedora
python3-diff-match-patch Unpackaged dep of taiga-back Upstream URL
python3-requests Already in Fedora
python3-django-sr Unpackaged dep of taiga-back Upstream URL
python3-easy-thumbnails Unpackaged dep of taiga-back Upstream URL
python3-celery Already in Fedora
python3-redis Already in Fedora
python3-unidecode Already in Fedora
python3-raven Already in Fedora
python3-bleach Already in Fedora
python3-django-ipware Unpackaged dep of taiga-back Upstream URL
python3-premailer Unpackaged dep of taiga-back Upstream URL
python3-django-transactional-cleanup Unpackaged dep of taiga-back Upstream URL
python3-lxml Already in Fedora
python3-django-pglocks Unpackaged dep of taiga-back Upstream URL
Package Version Review request Packager Status Comments
taiga-front Adam Miller Pending Packaging
nodejs-angular-mocks Unpackaged dep of taiga-front npm URL
nodejs-bluebird Already in Fedora
nodejs-chai Already in Fedora
nodejs-cli-color Unpackaged dep of taiga-front npm URL
coffee-script Already in Fedora
nodejs-del Unpackaged dep of taiga-front npm URL
nodejs-express Already in Fedora
nodejs-glob Already in Fedora
nodejs-gulp Unpackaged dep of taiga-front npm URL
nodejs-gulp-angular-templatecache Unpackaged dep of taiga-front npm URL
nodejs-gulp-autoprefixer Unpackaged dep of taiga-front npm URL
nodejs-gulp-cache Unpackaged dep of taiga-front npm URL
nodejs-gulp-cached Unpackaged dep of taiga-front npm URL
nodejs-gulp-coffee Unpackaged dep of taiga-front npm URL
nodejs-gulp-coffeelint Unpackaged dep of taiga-front npm URL
nodejs-gulp-concat Unpackaged dep of taiga-front npm URL
nodejs-gulp-csslint Unpackaged dep of taiga-front npm URL
nodejs-gulp-flatten Unpackaged dep of taiga-front npm URL
nodejs-gulp-if Unpackaged dep of taiga-front npm URL
nodejs-gulp-imagemin Unpackaged dep of taiga-front npm URL
nodejs-gulp-insert Unpackaged dep of taiga-front npm URL
nodejs-gulp-jade Unpackaged dep of taiga-front npm URL
nodejs-gulp-jade-inheritance Unpackaged dep of taiga-front npm URL
nodejs-gulp-minify-css Unpackaged dep of taiga-front npm URL
nodejs-gulp-order Unpackaged dep of taiga-front npm URL
nodejs-gulp-plumber Unpackaged dep of taiga-front npm URL
nodejs-gulp-print Unpackaged dep of taiga-front npm URL
nodejs-gulp-rename Unpackaged dep of taiga-front npm URL
nodejs-gulp-replace Unpackaged dep of taiga-front npm URL
nodejs-gulp-sass Unpackaged dep of taiga-front npm URL
nodejs-gulp-scss-lint Unpackaged dep of taiga-front npm URL
nodejs-gulp-sourcemaps Unpackaged dep of taiga-front npm URL
nodejs-gulp-template Unpackaged dep of taiga-front npm URL
nodejs-gulp-uglify Unpackaged dep of taiga-front npm URL
nodejs-gulp-wrap Unpackaged dep of taiga-front npm URL
nodejs-karma Unpackaged dep of taiga-front npm URL
nodejs-karma-chai Unpackaged dep of taiga-front npm URL
nodejs-karma-chrome-launcher Unpackaged dep of taiga-front npm URL
nodejs-karma-coffee-preprocessor Unpackaged dep of taiga-front npm URL
nodejs-karma-mocha Unpackaged dep of taiga-front npm URL
nodejs-karma-sinon Unpackaged dep of taiga-front npm URL
nodejs-karma-sinon-chai Unpackaged dep of taiga-front npm URL
nodejs-karma-sourcemap-loader Unpackaged dep of taiga-front npm URL
mocha Already in Fedora (Should the package name be nodejs-mocha?)
nodejs-pre-commit Unpackaged dep of taiga-front npm URL
nodejs-readable-stream Already in Fedora
nodejs-run-sequence Unpackaged dep of taiga-front npm URL
nodejs-sinon Unpackaged dep of taiga-front npm URL
nodejs-through2 Already in Fedora
Package Version Review request Packager Status Comments
taiga-events Adam Miller Pending Packaging
nodejs-amqplib Adam Miller Pending Packaging currently unpackaged dep of taiga-events
nodejs-base64-url Adam Miller Pending Packaging currently unpackaged dep of taiga-events

Further reading


Comments and Discussion