QA/Community/QMO Design/Dev Specs

From MozillaWiki
< QA‎ | Community‎ | QMO Design
Jump to: navigation, search

« QA/Community/QMO_Design

As of 8/14/08, the QMO2 theme is almost complete. Progress can be viewed at http://mozilla.advomatic.com.

During theme and module development a number of questions have come up about how some of the features of the QMO2 might work. This document is to go over some of the basic functionality we are looking for.


Project Work Flow

  • Creating a new project
    • Require user to fill out:
      • Title, Summary, Details for content area
      • Objective and Tasks for side block
      • Getting Started message for membership emails
    • Other stuff:
      • Make it an option to create blocks "More Tips & Info" and "Tool Box" for each project.
      • Add "Do More" and "Mozilla QA Companion" blocks to bottom of content area
  • Joining a project
    • User clicks "Join Project" button
      • User gets added to "Members" list in side block and project is added to user profile
      • User gets "Getting Started" email message with more info and link to project
  • Project team interact through project page
    • Need to add "Discuss Project" button below "Join Project" that takes user to the project forum thread
    • Top 5 topics should appear in the "Discussion" section of side block AND/OR at the bottom of the content area (if at bottom, include summaries as well)

Events Work Flow

  • Creating a new event
    • Require user to fill out:
      • Title, Dates, Summary for top of content
      • "How to get Started" content or reuse an existing block; should have info about builds to download, IRC channel, and feedback channels.
      • Details related to event; provide user with template that include: Goals, Bug Lists, Test Case, etc
      • Getting Started message for membership emails; should create a template for these emails so users can just enter a few fields for event specific details.
    • Other stuff:
      • Make it an option to create blocks "More Tips & Info" and "Tool Box" for each project.
      • Add "Do More" and "Mozilla QA Companion" blocks to bottom of content area
  • Joining a project
    • User clicks "Join Event" button
      • User gets added to "Participants" list in side block (this block is new and needs to be created for each event) and event is added to user profile
      • User gets "Getting Started" email message with more info and link to event
  • Event participants interact through project page
    • Need to add "Discuss Event" button in side block that takes user to the project forum thread at bottom of content area.
    • Top 5 topics should appear in the "Discussion" section at the bottom of the content area

Badges System

  • Creating badges
    • Allow us to define name, tags, description, and images (preferably some standard size that works well with Drupal profiles)
    • Set points requirements for each type of badge (eg. 1000pts for Bugzilla badge)
  • Getting badges
    • Allow privileged users (TBD) to give out badges to other users (we can have an offer/accept system, or we can just push the badge into their profile without prompting... depends on how much time you have)
    • If user collects enough points for a particular badge, reward him that badge (need to keep track of points for various tags associated with points and badge mapping)
  • Displaying badges
    • On user profile page (default)
    • Next to or under name in any blog, forum, or comment posts (if user decides to do so in profile settings)
    • Community page/Gallery (default)

Points System

  • Giving out points
    • Allow privileged users to give out points to any user; they must specify the amount of points and associate them with one or more tags
    • Do it through user profiles or through a custom point admin page (select 1+ users and fill in points and tags)
  • Earning points
    • QA team members will often give out points manually for various accomplishments
    • Ideally we would automate some of the point earning by monitoring the user's activity on Bugzilla and Litmus (perhaps add in hooks to MozillaZine and Newsgroups at some point)
    • For Bugzilla points:
      • Query Bugzilla for activity based on comments posted, resolutions updated, patches submitted, flags set, etc and generate some numerical value to convert into points (run weekly or monthly)
      • Still need to sort this out, but it might be worth adding in the APIs so we can just plug in queries and grab the counts we get back.
      • URL: http://bugzilla.mozilla.org
    • For Litmus points:
      • Query Litmus for tests run, test cases created/edited/updated
      • Still need to sort this out, but it might be worth adding in the APIs so we can just plug in queries and grab the counts we get back.
      • URL: http://litmus.mozilla.org
  • Displaying points
    • On user profile page (default)
    • Community page/Gallery (default)
    • Mozilla QA Points Top 10 page?

Docs Page

I don't like the standard forward/back/up navigation that Drupal Docs system provides... so, if it's possible, it will be nice to build a hierarchical tree of documents based on the 4 major QA areas (Bugs, Test, Data, Code). Each one can be a tabbed page with a document tree display on the left and we can view documents in the right content area.

  • Creating documents
    • Select QA area
    • Select location for document in current document tree
    • Select document type (tutorial, faq, guidelines, general, etc)
    • Provide a general template for various types of documents (TBD)
  • At the top where you select the QA area, I also want to highlight 3-5 documents for each area... so a nice view of those document titles under the icons would be nice.

Tools Page

This should be a page where we can showcase some of the major QA tools we use. I would like it to be a table layout of two columns of tools, with each tool having a logo/image on the left with title + description to the right... and some room below for links or details to docs, forums, project, or events related to that tool.

Example of tools can be found at: http://quality.mozilla.org/tools

We will probably add a few more once we have the page setup properly. Here is what each tool cell might look like:

________________________
<logo> | <title>        |
       | <description>  |
------------------------|
<bullet list of links>  |
________________________|

That's a pretty bad diagram, but hopefully you can visualize 2 columns of those with 2-3 rows to cover 4-6 tools we want to showcase on that page. We might be able to utilize the lower portion of the content area for other things (for which we can reuse some of the blocks we may have defined elsewhere).

User Profiles

What I don't want: http://quality.mozilla.org/user/aleksej (too plain and Drupal default looking)

General info to highlight on profile page:

  • Photo
  • Name
  • Location
  • QA Badges
  • QA Points
  • Occupation
  • Website/Blog
  • Interests

With whatever layout seems appropriate for this type of community. I would think the first 4 things should be closely grouped around the photo. QA Points can be below that or off to the side or in some corner (like coin/ring counts in video games). And the rest can just be general info about the person in normal profile format.

I just want the box to be clean and well organized. I can't provide much more input than that... but hopefully discussing this with you guys will provide me with a clearer picture of what we need, so ask away if you have questions.