Art Prototype

From MozillaWiki
Jump to: navigation, search

Intro

This page defines specs for a 0.1 release of the prototype used as the foundation for the Mozilla Creative Collective and Chocolate Factory projects.

Most functionality between these two projects is overlapping, so 0.1 will cover common elements in order to best use webdev resources. At the conclusion of phase 1, we will make a determination about where phase 2 will land for each project -- but the goal behind this page and the common prototype is to pool resources and get to something workable as quickly as possible.

Meetings

2009-07-21

  • MCC Update
    • What going on with Craig
    • Where badges are, status update from Ryan
    • Are we still OK on schedule
    • Phase 2
  • CF
    • Ready to have test server set up, etc.
  • TODO
    • Tara to talk to QA about our schedule
    • Mike to talk to Ryan and Craig about implementation
    • Mike to make sure CF test server gets set up
    • Jeff will post content updates and send to Craig
    • Jeff and Tara will discuss a pre-Beta strategy for getting MCC pre-populated

2009-07-14

  • MCC Status
    • Stage server has a few bugs,
    • Badges - badges are done, let us know when we have designs and copy.
  • CF Status
    • CF SVN directory created.
    • Halfway to support for multiple files per idea.
  • Questions from Ryan
    • Badges - not ever revoking a badge from a user.
    • Do we have an admin screen so we can revoke a badge?
    • No, but that's a healthy compromise - Ryan will do that.
  • Jeff
    • Has another round of edits for Craig.
  • Tara
    • Need to set aside time to import pre-existing users.
  • TODO
    • Mike - Craig status.
    • Mike and Ryan - stage server fixed.
    • Ryan - take a look stage server bugs.
    • Ryan - working on idea evolutions next.
    • Pascal - work with Ryan on verifying file support.

2009-06-25

  • dev status update
    • Users and the Auth library are looking good.
    • Added Like/Unlike functionality to Designs.
    • Added Comments functionality to Designs.
    • Added Browse By page for all Designs uploaded by a specific User.
    • Added Browse By page for all Designs liked by a specific User.
    • Next few days:
      • Admin screen for CRUD
      • Flagging comments or users
      • Moderation queues
  • design update
    • Need to meet with Craig to discuss estimate
    • Home page
    • Artist profile
    • Gallery
    • Design challenge
    • Portfolio page (detail view)
    • Artwork upload form
    • Upload success page
    • Generic content
  • Action Nuggets
    • John to check on Stephen's availability
    • John to look at copy
    • John to write production acceptance doc
    • Mike set up meeting with John and Craig to finalize estimate for CSS/HTML
    • Mike loop Craig into Tuesday meeting
    • Mike get IT moving on stage server
    • Mike file creative.mozilla.org domain req
    • Ryan keep on truckin

2009-06-16

  • Agenda
    • Cover questions from John, introduce Ryan and John
    • Dev update
    • Answer requirements questions from Ryan
  • Action Nuggets
    • Get talking with Craig for a late June deliverable for CSS/HTML
    • Ryan and Mike to get stage server set up and code in SVN
    • Ryan continue work on public pages to get ready for templating
    • John to look at requirements
    • John to start working on copy

Models

Information to store in our database.

User

users

  • id
  • username
  • email
  • fullname
  • twitter account
  • gravatar name?
  • website
  • password
  • lattitude
  • longitude
  • tshirt size
  • confirmation code? - up to Ryan
  • status (0=disabled, 1=active, 2....n = whatever)

License

licenses

  • id
  • title
  • terms
  • url

Comment

comments

  • id
  • design_id
  • user_id
  • text
  • created
  • flag
  • PF: type (suggestion/question/comment)

Design Like

designs_likes

  • user_id
  • design_id
  • like (tinyint)

User Fans

users_fans

  • user_id
  • fan_id
  • like (tinyint)

Design

designs

  • id
  • user_id
  • title (64)
  • teaser (limited to 128)
  • description (infinity)
  • icon
  • path
  • status (0=disabled, 1=active, 2....n = whatever)
  • type (0=concept, 1=mockup, 2=prototype, 3....n = sometype)
  • views (int)

Design Flags

designs_flags

  • user_id
  • design_id
  • created
  • status

Design Licenses

designs_licenses

  • design_id
  • license_id

Tag

tags

  • tag_id
  • name
  • status

Tag Map Table

designs_tags

  • tag_id
  • user_id
  • design_id
  • created

0.1 Requirements

  • admin CRUD
    • designs
    • users
    • comments
    • config - key->value table editable by admins for arbitrary purposes
    • tags
    • moderation
      • flags for designs
      • flags for comments
      • flags for users
  • user workflow
    • meta: registration for all user data fields
    • recaptcha
    • privacy policy/terms agreement
    • password reset
    • change email address
    • change password (different from password reset)
    • basic profile editing
    • basic "my" page
  • design workflow
    • initial tagging - 1-3 tags from author
    • sharethis support -- share on twitter, facebook
    • RSS feeds for {newest, popular, tag, artist} designs
  • FAQ
  • about
  • homepage
    • basic listing of designs
  • browsing
    • grid layout, links to other stuff
  • framework prep
    • kohana php
    • mysql
    • jquery
  • PF: Connection between idea/mockup(s)/prototype(s)

Random Notes and Questions

  • Privacy settings lower priority, phase 2
  • Comments on submissions - vital or phase 2
    • CF: Vital, and needs to be broken up by comment (question, suggestion, general, etc.)
    • MCC: Vital
  • Fans/favorites - vital or phase 2
  • User and Design sequences will just be auto-increment
  • primary ID columns will just be [object_name]_id in foreign tables
  • Likes - do we want the ability to "not like"
    • if users clicks "like" again, it un-likes
  • Multiple users per design
  • Re-mixes; design->design relationship later
  • Design groups -- if a design or concept has multiple media files should we support that?
    • We can add this later by adding a separate table and app support for groups of designs
  • Design version history -- do we need to track design versions over time?
    • Phase 2
  • Will probably need design avatars since a lot of designs can't be summed up with one icon/thumbnail
  • File management config
    • Base path for icons
    • Base path for designs
  • Should we be able to flag offensive designs?
  • It would be awesome if a user could view a PSD, download it, re-upload it with suggested changes -- but we don't want to do this initially (phase Z!)
  • First "Infectious" design challenge is assumed to be handled manually via blogs or other materials, but not automated and handled 100% by MCC prototype.
  • Media types - we think we should just use tagging instead of creating arbitrary categories for destination media types.
  • Will add front-page and design-challenge management in later phase -- don't want to focus too much on making this a comprehensive CMS.
  • ACLs -- groups, memberships, granular permissions will happen later.
  • External design/concept support slated for phase 2
  • Notifications via email for post-7/15 and/or phase 2
  • "add to concept" section will be added in CF phase 2

Stuff That We Know Isn't Common

  • "add to concept" section from CF spec and iterations of designs
  • design challenge support