Difference between revisions of "Funded Project System Development"

From Inkscape Wiki
Jump to navigation Jump to search
m (Reverted edits by BryceHarrington (talk) to last revision by Moini)
Line 1: Line 1:
== Finished ==
√ Verify the following Project Types are defined in the database:
      Administration,
      Bug Triaging,
      Bug Fixing,
      Refactoring,
      Feature Development,
      Documentation,
      Website,
      Tool Development,
      Other
√ It's time to get rid of the tripling of projects on the Projects page.
== Tasks ==
== Tasks ==


Line 33: Line 18:


* The project summaries on "https://inkscape.org/en/project/" should be customizable and not just first few lines of the "Project Update".
* The project summaries on "https://inkscape.org/en/project/" should be customizable and not just first few lines of the "Project Update".
* It's time to get rid of the tripling of projects on the Projects page.
* Verify the following Project Types are defined in the database:
      Administration,
      Bug Triaging,
      Bug Fixing,
      Refactoring,
      Feature Development,
      Documentation,
      Website,
      Tool Development,
      Other


* Decide where in the site to link to the Add a Project form.  Maybe under Contribute?
* Decide where in the site to link to the Add a Project form.  Maybe under Contribute?
Line 45: Line 43:
* State update.  A process is periodically invoked to calculate the state of projects.  Most state changes are time-based, but there are exceptions that allow adjusting states manually.
* State update.  A process is periodically invoked to calculate the state of projects.  Most state changes are time-based, but there are exceptions that allow adjusting states manually.


== Dialog Pages ==
== Dialog Interfaces ==


''WorkerApplicationForm'' - Apply for a project.  Creates a Job Proposal entry.
Fundraising Coordinator registration page
** Linked from: FundedProjectJobsList


''WorkerList'' - List applicationsCan display All, Pending, Approved, or Denied applications.  Sort/filter based on ones requiring vetting.  Administrative.
Fund Allocation Page.  List fundable/funded projectsFor fundraiser coordinators to browse through and put money towards particular projects, either in absolute amounts or proportionally, or according to a programmatic rule (4 oldest projects, evenly across all projects of a given type, etc.)
** Linked from:


''WorkerView'' - Vet applicantTo be used by the board member charged with vetting applicantsAdministrativeDisplays the application and allows specifying yea or nay or to request clarification by the applicant.
Add a fundraiserSet the fundraiser goalsIndicate the keyword for flagging incoming donationsAlso allows marking a fundraiser finished.  Initial coordinator for the fundraiser is the person who creates itThe fundrais
** Linked from: WorkerList


''ProjecSuggestionForm'' - Simple form for adding one or more ideas for projects.  Fields kept to a minimum - Name, brief 1-2 sentence description of the name, and (optionally) a category.  (Will need some mechanism to detect and merge/review dupes.)
Allocate funds to fundable projects.  Allow fundraiser coordinators to allocate money from the funds they raised to specific fundable projects.
** Linked from:
 
''ProjectDefinitionForm'' - Detailed form for modifying and entering additional data about the project, including deliverables.
** Linked from:
 
''ProjectUpdateForm'' - Used by the project's worker to enter status reports and provide a % complete.
** Linked from:


''GSoCProjectIdeasList'' - Listing of project ideas for Google Summer of Code. Categorize them by GSoC Status:  Pending/Active/Completed/Failed at top (labelled Accepted), Open in middle (labelled Suggestions), Draft at bottom (labelled More Ideas).
Propose a project - Keep it simple, one text field to fill out. (We'll need some mechanism to detect and merge/remove dupes.)
** Linked from:


''OpenProjectList'' - List of all projects available for anyone to do regardless of funding.  If the project is eligible to be funded, allows creation of a Job record.  If it fits the requirements for GSoC, allows creation of a GSoC job record in Draft modeIncludes a search/sort mechanism by various parameters including what conditions they fail to meet (e.g. need to be seconded; have reached 6 months but lack certain details; etc.)
Modify project definition - Allows addition of detailed description, deliverables, and so onPerhaps give a % complete?
** Linked from:


''FundedProjectJobsList'' - List of Approved Jobs for applicants to apply forEligible projects must be >= 6 months, has a deliverable, has acceptance criteria defined, has a time limit defined, and proposal has been seconded.  Should be possible to filter/sort based on the allocated funds amounts.
List of open projects, that anyone can do but have no money allocated to themThis is intended to satisfy GSoC needs among other things.  If is fundable, mark it so.  Provide search/sort mechanisms to list projects by what they fail to meet (e.g. projects needing to be seconded by someone, projects that have reached 6 months but don't have certain things defined, etc.)
** Linked from:


''MyProjectsList'' - List my projectsBoth projects I've proposed, and ones I've applied for.  Includes GSoC, Open, and Funded projectsIndicate status and provide modify links.  E.g. projects that need a status report are flagged as such, etc.
List of Approved Jobs for applicants to apply forEligible projects must be >= 6 months, has a deliverable, has acceptance criteria defined, has a time limit defined, and proposal has been secondedShould be possible to filter/sort based on the allocated funds amounts.
** Linked from:


Fundraising Coordinator registration page
Apply for a project.  Creates a Job Proposal entry.


Fund Allocation Page.  List fundable/funded projectsFor fundraiser coordinators to browse through and put money towards particular projects, either in absolute amounts or proportionally, or according to a programmatic rule (4 oldest projects, evenly across all projects of a given type, etc.)
List applicationsCan display All, Pending, Approved, or Denied applications.  Sort/filter based on ones requiring vetting.


Register a fundraiser recordSet the development projects that the fundraiser's money will be allocated toIndicate the keyword for flagging incoming donations, or else allow manually specifying the amount that was raised.  Also allows marking a fundraiser finished.  Initial coordinator for the fundraiser is the person who creates it.
Vet applicantTo be used by the board member charged with vetting applicantsDisplays the application and allows specifying yea or nay or to request clarification by the applicant.


Allocate funds to fundable projects.  Allow fundraiser coordinators to allocate money from the funds they raised to specific fundable projects.
List my projects.  Both projects I've proposed, and ones I've applied for.  Indicate status and provide modify links.


Signoff page for completed projects
Signoff page for completed projects


== Data Fields ==
== Data Fields ==

Revision as of 05:42, 10 December 2015

Tasks

  • The interface is very slow. It makes it difficult to figure out how the site works. Clicking on one of the project name takes so long to bring up that project's information that one wonders if that was the correct way to do it. If the interface cannot be sped up then at least some instructions should be added to the web page. (e.g. "Click on project name to edit that project's parameters.")
  • SVG's are not allowed for the Banner and Logo!! I've heard that there is some great Libre Graphics program that can produce SVGs that scale better than PNGs on the web...
  • The Logo is required to be 150x150 px but it is displayed at a different resolution leading to blurring. (See #2 for solution.)
  • Can't change "Proposer". The initial projects should have "Inkscape" as the proposer.
  • Can't format the "Project Updates". We should be able to use at least a limited set of HTML tags.
  • "Project Update" is not a good title for the initial project description. We should have "Project Description" (or something similar) followed by a "Project Update" section.
  • What does "Importance" mean. It is not clear what the input should be (text or number), what the numbers mean (low number more important than high number?), and what is the range of acceptable numbers. A drop-down menu might be better here.
  • How are the project fund raising goals set? I didn't see that in the interface.
  • It's time to get rid of the tripling of projects on the Projects page.
  • Verify the following Project Types are defined in the database:
     Administration,
     Bug Triaging,
     Bug Fixing,
     Refactoring,
     Feature Development,
     Documentation,
     Website,
     Tool Development,
     Other
  • Decide where in the site to link to the Add a Project form. Maybe under Contribute?
  • How should we hook in the ui/mockups gallery category to the projects? We could tie specific items or a single gallery so we can attach files to the project?
  • How should we vote or +1 various projects? Should we have separate +1 Concept (in an ideal world) +1 Design (I like the design for this project) +1 Technical (It's technically well spec'd)? Or just a single thumbs up?
  • How do we identify that a given applicant is valid? (I.e. that they are in the AUTHORS file) Perhaps look at what was done for the voting system since it has the same requirement. Maybe the users table needs to have a field or flag added to indicate people who are official Inkscape contributors?
  • State update. A process is periodically invoked to calculate the state of projects. Most state changes are time-based, but there are exceptions that allow adjusting states manually.

Dialog Interfaces

Fundraising Coordinator registration page

Fund Allocation Page. List fundable/funded projects. For fundraiser coordinators to browse through and put money towards particular projects, either in absolute amounts or proportionally, or according to a programmatic rule (4 oldest projects, evenly across all projects of a given type, etc.)

Add a fundraiser. Set the fundraiser goals. Indicate the keyword for flagging incoming donations. Also allows marking a fundraiser finished. Initial coordinator for the fundraiser is the person who creates it. The fundrais

Allocate funds to fundable projects. Allow fundraiser coordinators to allocate money from the funds they raised to specific fundable projects.

Propose a project - Keep it simple, one text field to fill out. (We'll need some mechanism to detect and merge/remove dupes.)

Modify project definition - Allows addition of detailed description, deliverables, and so on. Perhaps give a % complete?

List of open projects, that anyone can do but have no money allocated to them. This is intended to satisfy GSoC needs among other things. If is fundable, mark it so. Provide search/sort mechanisms to list projects by what they fail to meet (e.g. projects needing to be seconded by someone, projects that have reached 6 months but don't have certain things defined, etc.)

List of Approved Jobs for applicants to apply for. Eligible projects must be >= 6 months, has a deliverable, has acceptance criteria defined, has a time limit defined, and proposal has been seconded. Should be possible to filter/sort based on the allocated funds amounts.

Apply for a project. Creates a Job Proposal entry.

List applications. Can display All, Pending, Approved, or Denied applications. Sort/filter based on ones requiring vetting.

Vet applicant. To be used by the board member charged with vetting applicants. Displays the application and allows specifying yea or nay or to request clarification by the applicant.

List my projects. Both projects I've proposed, and ones I've applied for. Indicate status and provide modify links.

Signoff page for completed projects


Data Fields

Project

 + Description
 + Deliverables
 + Acceptance Criteria
 + Progress Reporting URL
 + Expected Duration
 + Date Started    # Implies is_assigned
 + Date Completed
 + Proposer
 + Supporter
 + Reviewer
 + is_fundable
 + is_pre_approved

Fundraiser

 + fundraiser_id
 + Fundraising Coordinator

Fund Allocations

 + job_id
 + fundraiser_id
 + Amount

Application

 + person_id
 + job_id
 + Job Qualifications
 + Implementation Plan
 + Date Vetted