Support:Sumodev/Gallery Rewrite: Difference between revisions
Jump to navigation
Jump to search
(→Goals) |
|||
Line 3: | Line 3: | ||
== Goals == | == Goals == | ||
[https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&type1-0-0=substring&query_format=advanced&field0-0-0=product&status_whiteboard=%5Bgallery%5D&value1-0-0=2011q1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&type0-0-0=substring&value0-0-0=support&field1-0-0=target_milestone&product=support.mozilla.com | |||
== Related bugs == | |||
[https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&type1-0-0=substring&query_format=advanced&field0-0-0=product&status_whiteboard=%5Bgallery%5D&value1-0-0=2011q1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&type0-0-0=substring&value0-0-0=support&field1-0-0=target_milestone&product=support.mozilla.com Bugs with [gallery] in the whiteboard.] | |||
* Fix localization bugs: {{bug|614374}}, {{bug|624115}} | * Fix localization bugs: {{bug|614374}}, {{bug|624115}} | ||
* Fix weirdness where drafts are sometimes deleted {{bug|620964}}, should be fixed by adding is_draft {{bug|623429}} | * Fix weirdness where drafts are sometimes deleted {{bug|620964}}, should be fixed by adding is_draft {{bug|623429}} |
Revision as of 23:10, 10 February 2011
Goals
Related bugs
Bugs with [gallery] in the whiteboard.
- Fix localization bugs: bug 614374, bug 624115
- Fix weirdness where drafts are sometimes deleted bug 620964, should be fixed by adding is_draft bug 623429
- Clean up the DOM and make the JS more OO. Related: bug 629471, bug 629468
Roadmap
- Phase 1 estimate: ~15h
- Phase 2 estimate: ~20h, fairly WAG, needs research
Phase 1
Focus: Improve UX
- Minimize confusion with uploaded drafts, simple enough, summarized:
- Add is_draft column and use that to save/publish
- E.g. drafts cannot be inserted (you get warning: this is a draft).
- Make sure replag can't cause weird issues with drafts being published/deleted.
- Simplify DOM and JS, not as simple, but results:
- This will fix a lot of localization bugs...
- And a lot of weirdness with user interactions...
- And make the code easier to maintain and understand.
Phase 2
Focus: Polish
After everything actually works and the code is cleaner, we can go beyond the basics and:
- Use the File API to indicate progress (IE support not a must for gallery)
- Consider minor/medium design changes for upload form, e.g. upload multiple images at once.
- Check if file extension or file size can be validated client-side
- Allow for multiple images? (estimate: 10h, not included in roadmap)
Jotted ideas
Some further thoughts on either the above or other improvements...
- Use 2 separate forms entirely:
- upload video
- upload image
- + 3rd form for selecting which type, which is not really a form
- Use class="open" (instead of "draft") to have the modal open straight away
- Workflow:
- User selects type; image or video
- Specific form is shown.
- User uploads file.
- progress bar indication
- disable submit button
- cancel upload option, which disables submit button
- ensure full-cancel button stops uploads too - a $modal.close() that knows what to do
- re-enable submit-file when upload completes - $modal.is_valid()?
- User fills in details (metadata), hits submit.
- cannot hit submit while upload in progress
- can hit cancel while upload in progress
- User actions:
- Select file (auto uploads, validates)
- Check if extension can be validated client-side
- Cancel upload while in progress
- Enter title, description
- Submit (Submit image, Submit video)
- Close modal - X and Cancel
- Select file (auto uploads, validates)
- Thoughts on workflow:
- modal setup() creates <iframes> if needed, else uses the FileAPI stuff
- also defines the cancel upload callback
- JS side form validation to enable submit button
- if uploads are in progress, disable
- if title/description are too short, disable
- Make modal contained so it can be included in e.g. wiki
- E.g. you can pass it image_form or video_form and it shows one or the other