Closed Bug 657779 Opened 13 years ago Closed 13 years ago

Implement back-end features for Dev Derby

Categories

(developer.mozilla.org Graveyard :: Demo Studio / Dev Derby, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jay, Assigned: lorchard)

References

()

Details

In order to better manage demos in Demo Studio in the context of the Dev Derby, there are a number of changes we need to make to the current structure.  I don't have the technical solutions, but wanted to throw out some focus areas and my initial requirements.  I will leave it to webdev to propose the specific features needed and how we make those changes to the website:

1. Submitting demos
- A. need to add fields to the form to allow users to specify which derby they are submitting the demo for.  this could be another set of checkboxes with all the current challenges and you can specify 1 or more (since a demo could be submitted to multiple challenges AFAIK)
- B. need to set a flag for demos that have been submitted to the derby, so we can create a gallery for just those demos (if needed).  this might not be needed if we can just check to see if any are checked for 1A above.

2.Displaying demos (on Demo Studio)
- A. we should find a subtle way to highlight demos that are a part of the active derby (to make it easier for people to see those demos during that given month).
- B. these demos should gain and lose the highlight based on the current status of the derby (maybe we have a field that defines which derby we currently are in?)
- C. we will also need a flag for winners... so they can be featured.

3. Displaying demos (on Dev Derby)
- A. we will need a "Submissions" view on the Dev Derby page that will show the thumbnails for the current derby's demos, so the fields from 1 and the flag from 2 can help filter these out.
- B. we will need the same flag from 2C to display the previous winner on the derby page.

Those are the top-level requirements that I could think of.  I'm sure there are more, so let's get the discussion started here.

lorchard:  do you want to own this one?  it'll be great to get started on this feature set on the backend while we wrap up the design and frontend over the next week or so.
lorchard: I see a new model - Challenge (or Derby) with a many-to-many relationship to Submission. We could use a 'through' model to add a 'status' field to the relationship - status can be either 'entry' or 'winner'. So django admins can manage the challenges and the winners.

I'd love to own this so I can get my hands dirty in django and demo studio. Les is on the affiliate badges already and after the MT 10 upgrade I'll be back just misc. bugs.

But, I'll defer to Les's judgment.
(In reply to comment #1)
> lorchard: I see a new model - Challenge (or Derby) with a many-to-many
> relationship to Submission. We could use a 'through' model to add a 'status'
> field to the relationship - status can be either 'entry' or 'winner'. So
> django admins can manage the challenges and the winners.
> 
> I'd love to own this so I can get my hands dirty in django and demo studio.
> Les is on the affiliate badges already and after the MT 10 upgrade I'll be
> back just misc. bugs.
> 
> But, I'll defer to Les's judgment.

Well, when this stuff first came up, I figured we could handle it as an extension of the tagging system in bug 632195

That is, rework tags to use namespaces. So, the existing tech tags would go under a tech:{tag} namespace and derby challenges could go under derby:{date/number} or something. Then, for winners and such, we can use an admin-restricted tag namespace prefix of system:* 

Might be over-extending tags vs adding a new model. But, if it worked, we could re-use the tagging feeds and tags for things like competitions or archiving featured demos.
is there already a way to admin-restrict a tag namespace, or would we have to build that?
Need to build access control for tags, unless django-taggit includes it (but I don't think it does).
So, with bug 632195, I think we've got the basic underpinnings to:

* let submitters tag a demo as an entry in a challenge (eg. challenge:2011-05-31), 
* and admin-only access to tags that mark a demo as a winner of a challenge (eg. system:challenge:winner:2011-05-31)

Those tags give us pages and feeds just like the technology tags, though we can also build custom landing pages based on tag queries.

Will need some wireframes & designs of those Dev Derby landing pages before going much further.
Oh, and not final or anything, but what's there so far will allow a demo submission or edit to add/remove challenge tags. Demos with those tags can show up on a page like this:

https://developer-stage9.mozilla.org/en-US/demos/tag/challenge:2011-05-27/
lorchard:  anything left to do for this bug?  looks like most of the tagging and filtering and displaying is done for dev derby.
Yeah, I think with the actual Dev Derby pages in place, this is done
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Version: MDN → unspecified
Component: Demos → Demo Studio / Dev Derby
Product: developer.mozilla.org → developer.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.