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)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Tasks ==
== Finished ==
 
Verify the following Project Types are defined in the database:
* 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.
 
* 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,
       Administration,
       Bug Triaging,
       Bug Triaging,
Line 32: Line 11:
       Other
       Other


* Decide where in the site to link to the Add a Project form. Maybe under Contribute?
√ It's time to get rid of the tripling of projects on the Projects page.


* 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?
== Tasks ==


* 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?
* 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.")
<!-- We could use the team functionality for this. There will be a group/team for developers. -->


* 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.
* 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...


== Dialog Interfaces ==
* The Logo is required to be 150x150 px but it is displayed at a different resolution leading to blurring. (See #2 for solution.)


Fundraising Coordinator registration page
* Can't change "Proposer". The initial projects should have "Inkscape" as the proposer.


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.)
* Can't format the "Project Updates". We should be able to use at least a limited set of HTML tags. [Markdown is available in https://code.launchpad.net/~marenhachmann/inkscape-web/projects-pages, but there's no way currently to limit the kind of markup we want to allow. Not sure if it's enough to limit design by CSS alone...]


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
* "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. [These are now separate items in https://code.launchpad.net/~marenhachmann/inkscape-web/projects-pages]


Allocate funds to fundable projects. Allow fundraiser coordinators to allocate money from the funds they raised to specific fundable projects.
* 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. [Implemented in https://code.launchpad.net/~marenhachmann/inkscape-web/projects-pages]


Propose a project - Keep it simple, one text field to fill out. (We'll need some mechanism to detect and merge/remove dupes.)
* How are the project fund raising goals set? I didn't see that in the interface.


Modify project definition - Allows addition of detailed description, deliverables, and so on. Perhaps give a % complete?
* The project summaries on "https://inkscape.org/en/project/" should be customizable and not just first few lines of the "Project Update". [Bryce asked for an 'elevator pitch']


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.)
* Decide where in the site to link to the Add a Project formMaybe under Contribute? [We can add that link to several places, I think. I'd also like to see it on the Funded Projects page itself.]


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.
* 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? [Easiest way: by linking from a text, maybe?]


Apply for a project.  Creates a Job Proposal entry.
* 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?


List applicationsCan display All, Pending, Approved, or Denied applications. Sort/filter based on ones requiring vetting.
* 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? [We could use the team functionality for this. There will be a group/team for developers.]


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.
* State updateA process is periodically invoked to calculate the state of projectsMost state changes are time-based, but there are exceptions that allow adjusting states manually.


List my projects.  Both projects I've proposed, and ones I've applied for.  Indicate status and provide modify links.
* Update users about progress (Hook up to mailing system).


Signoff page for completed projects
* Keep track of edits of the respective items (wishlist)


* Allow for discussion on a project (wishlist)


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


Project
Project
   + Description
   - Description (not in trunk, but exists in https://code.launchpad.net/~marenhachmann/inkscape-web/projects-pages)
  - Progress Reporting URL (not in trunk, what is this for?)
   + Deliverables
   + Deliverables
   + Acceptance Criteria
   + Acceptance Criteria
  + Progress Reporting URL
   + Expected Duration
   + Expected Duration
   + Date Started    # Implies is_assigned
   + Date Started    # Implies is_assigned
   + Date Completed
   + Date Completed
   + Proposer
   + Proposer
   + Supporter
   + Supporter ('Second')
   + Reviewer
   + Reviewer
   + is_fundable
   + is_fundable
   + is_pre_approved
   + is_pre_approved
  + Importance
  + Logo
  + Banner
  + Title
  + Slug (for url)
  + Date created
  + Date edited
  + Manager
  + Project Type
ProjectUpdate
  + Project
  + Description
  + Image
  + Creator
  + Date created
  + Date edited
Criteria
  + Content
  + Detail
class Deliverable(Model):
    (A single deliverable item)
    + For Project
    + Name
    + sort order
    + Date targeted
    + Date finished
Task
  (A task or sub-task of a deliverable stage)
  + For Deliverable (= delive)
  + Name
  + Date targeted
  + Date finished
Application (= Worker)
  - Job Qualifications (not in trunk, needed? Could also live inside 'plan')
  + person_id (= user)
  + job_id (= project)
  + Implementation Plan (= plan)
  + Date Vetted
  + Assigned


Fundraiser
Fundraiser
   + fundraiser_id
   - fundraiser_id
   + Fundraising Coordinator
   - Fundraising Coordinator


Fund Allocations
Fund Allocations
   + job_id
   - job_id
   + fundraiser_id
   - fundraiser_id
   + Amount
   - Amount


Application
== Potential Sources of Project Ideas ==
  + person_id
* [[Projects]]
  + job_id
* [[Google_Summer_of_Code]]
  + Job Qualifications
* [[Roadmap]]
  + Implementation Plan
* [[Extension architecture proposals]]
  + Date Vetted
* [[GtkMMification]]
* [[FeatureNotePad]]

Latest revision as of 16:46, 2 April 2018

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

  • 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.
  • How are the project fund raising goals set? I didn't see that in the interface.
  • The project summaries on "https://inkscape.org/en/project/" should be customizable and not just first few lines of the "Project Update". [Bryce asked for an 'elevator pitch']
  • Decide where in the site to link to the Add a Project form. Maybe under Contribute? [We can add that link to several places, I think. I'd also like to see it on the Funded Projects page itself.]
  • 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? [Easiest way: by linking from a text, maybe?]
  • 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? [We could use the team functionality for this. There will be a group/team for developers.]
  • 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.
  • Update users about progress (Hook up to mailing system).
  • Keep track of edits of the respective items (wishlist)
  • Allow for discussion on a project (wishlist)

Data Fields

Project

 - Description (not in trunk, but exists in https://code.launchpad.net/~marenhachmann/inkscape-web/projects-pages)
 - Progress Reporting URL (not in trunk, what is this for?)
 + Deliverables
 + Acceptance Criteria
 + Expected Duration
 + Date Started    # Implies is_assigned
 + Date Completed
 + Proposer
 + Supporter ('Second')
 + Reviewer
 + is_fundable
 + is_pre_approved
 + Importance
 + Logo
 + Banner
 + Title
 + Slug (for url)
 + Date created
 + Date edited
 + Manager
 + Project Type

ProjectUpdate

 + Project
 + Description
 + Image
 + Creator
 + Date created
 + Date edited

Criteria

 + Content
 + Detail

class Deliverable(Model):

   (A single deliverable item)
   + For Project
   + Name
   + sort order
   + Date targeted
   + Date finished

Task

  (A task or sub-task of a deliverable stage)
 + For Deliverable (= delive)
 + Name
 + Date targeted
 + Date finished

Application (= Worker)

 - Job Qualifications (not in trunk, needed? Could also live inside 'plan')
 + person_id (= user)
 + job_id (= project)
 + Implementation Plan (= plan)
 + Date Vetted
 + Assigned

Fundraiser

 - fundraiser_id
 - Fundraising Coordinator

Fund Allocations

 - job_id
 - fundraiser_id
 - Amount

Potential Sources of Project Ideas