- Improve load times by using a custom Infusion build for Engage
- Two scenarios:
- automate Engage script to automatically build and relink 3 days
- determine all the modules needed by engage and make a custom build using those
- split the engage build so that you can do either production or src
- make the production build use the rewrite head functionality so that the heads are linking to infusion all
- statically make a custom build and commit alongside Engage 1.5 days
- Generalize spinner and loading page from Browse 1 day
- Generalize Browse and Navigation List structure to use it in Exhibitions, Catalogue, and Browse by theme 1 day
- Make it configurable so that users can easily compose a combination of NavList, Cabinet, More, etc.
- Work with Hugues to determine how he will deploy Engage for the pilot 2 days
- Fix Safari touch delay if necessary 3 days
- Improve error messages 0.5 day
- Extend import to be able to crawl multiple data feeds (e.g. McCord exhibit + artifacts) 3 days
- Deal with HTML tags included in XML (e.g. from McCord) 3 days Antranig, can you verify?
- Fix bug in parser where comments appear in the document, as well as other nesting problems
- Ensure that fields with HTML inside them are treated as "innerHTML strings"
- Import a good, fresh snapshot of all the McCord data for the pilot 0.25 day
- Upgrade to Couch 0.10 1 day
- Working Jamon on the infrastructure
- Replicate existing design documents (or import by hand)
- Implement the language preferences screen using cookie support 0.5 day
- Localization: ensure all components load Strings from a properties file or strings: option 4 days
- Deliver localized string from server to client (through options, probably)
- Update component trees to render the localized messages for all labels in the UI
- Translate our strings to French (McCord) 0.75 day
- Coordinating with Hugues to do the translation
- Writing an i18n test plan
- Ensure all data feeds accept a language parameter and that results are returned correctly 0.5 day
- Create Couch views to retrieve documents in one language or the other 0.5 day
- Import French data - import, sniff test and coordinate with Hugues 0.5 day
Data Access Layer
- Refactor data mapping to be fully declarative
- Impelementing current map algorithm as a "reshaper" with a generic mapping strategy
- Store data map documents in Couch
- Implement "dataSourceSpec" or similar declarative way of defining data feeds
- Connect up with ChangeApplier to enable totally automated data access
- make all components work with the new data access layer
- Implement a home page with links to Exhibitions, My Collection, Object Code, Language Preferences, and Login 1 day
Next/Previous Item Paging
- Fix paging to open at a particular page 0.5 day
- Currently, when you click on an artifact, you don't see it, instead you see the first in the batch list
- Refactor paging to conform to Pager Model Done
- Update ArtifactView to use this, and integrate into NavBar 1 day
- Implement Navigation Bar functionality for a variety of components 1 day
- home - get button from designers
- Up/down arrow for Artifact View
- Back and should appear wherever appropriate
- Optional support for list/grid toggle
Growable List - Navigation List + biggerer subcomponent
- Share code with Paging to fetch data 0.5 day
- Write code to accumulate up a "growing model" and rerender the component 1 day
- Fetch (shared with Paging), change model, rerender (implemented in NavList)
- Refactor as a "Thumbnail + Title + Description List" component (if necessary) 1 day
- Better flexibility for item descriptions and maybe title
- Move "More" and Paging concerns out
- Add support for refreshing views in NavigationList 0.5 day
- Make NavList restylable as a grid 1 day
Exhibit View and Browse
- Code review and refinements to: 2 days
- Exhibit Main and About (a.k.a. View)
- Exhibit Browse
- Exhibit Catalog
- Update Exhibit View to match Main and About wireframes 2 days
- Requires creating the Comment component as well
- Update Catalog to match wireframes 3 days
- Includes support for toggling between list and grid views
- Includes searching
- Review Sveto's My Collection and plan next steps 2 day
- Determining if we can reuse or redesign aspects of it including list/grid view toggle
- See if the Fliquor demo also has similar code to reuse
- Implement my collection email 1 days/5 days
- Maybe implement this a simple service; we sent the collection information to a "mailer" data service
- Remove reordering from mobile version of My Collection 0.25 day
- Implement desktop web version of My Collection 3 days
- Status bar with login information
- Parameterize Artifact View so that the artifact title can be moved above the image and linked
- Ability to delete artifacts from the collection on hover
Comments and Guest Book
- Implement comment saving 2 days
- Determine how to structure shadow documents; as attachments?; within a known field in the document itself?
- Depends on login infrastructure
- Implement comments list view 0.5 day
- Implement comments entry screen 0.5 day
- Integrate comments with Exhibit Main and Artifact View 0.5 day
Login and Sign Up
- Implement the wireframes as components/html pages + JS 1 day
- Includes "Sign In/Sign Up/Cancel" dialog over Artifact View and Guest Book when commenting
- Need to add Kettle API for generating password hashes 1 day
- Add support for HTTPS 5 days
- Ensure user information is stored in a cookie 0.5 day
- Design a strategy for identifying users: 1 day
- Museum device: for the duration of using the device (cleared upon quitting the browser)
- Personal: forever (unless user clears their cookies)
- Artifact View bugs from 0.1
- Pathing issues 1 day Antranig, can you confirm?
- Etc. (need to through JIRA and list specific bugs that are relevant)
- Update Artifact View to latest wireframes 2.5 days
- Implement audio/video for artifacts
- Refine Artifact View to handle missing data
- Remove Tags from Artifact View (ditch it completely from svn) 0.25 day
- Code review, refine, commit Sveto's changes to artifact that allows users to collect an item. 1 day
Object Code Entry
- Implement Object Code component 2 days
- Create Couch view for searching by code 0.25 day
- Create test plans for Voice Over screen reader with iPhone 2 days
- Create test plans for all new functionality and update for existing screens 2 days
Things to Consider
- Ensure we QA test on the iPod touch
Questions/Comments for Design
- What about upcoming exhibitions? Do we need to support them for 0.3?
- Guest book could use some tweaking; modal dialog for login
- How does the Report Abuse button work?
- What happens if a user creates a collection that is associated with their account, then leaves, comes back another day, creates a new collection when they're not logged in, then goes to log in. Do they lose this new collection, or does it get merged into their existing collection?
Questions for Hugues
- Do we have data consisting of multiple images for a single artifact?
- Can we get media data that include the duration of movies and audio?
- Can we get images in the following sizes?
- 320 x 240 for main artifact images
- 64 x 64 or smaller for thumbs
- What should we do with Report Abuse for comments in 0.3?
- What strategy should we use for mailing users with their collection?
- Can you tell us the 1:1 mapping of the fields in the mobile wireframes and fields in the XML?
Stuff to Punt
- (Kettle) update kettle to JSGI 0.2
- (Performance) Investigate local caching as a way of improving speed
- Finish unobtrusive screen navigator
- Remove content-specific contract: replace with "auto-portalization"
- Improve unit tests
- Implement events listing on the exhibit view page. Do we have data for the events?
- Events information page. What do those page icons do?
- Implement audio/visual links from exhibit page. Do we have data for that?
- Test reordering on iPod
- Fix Reorderer scrolling for iPod
- Create comment input page. (this should stay)
- Includes refinements to mobile FSS
- Create a myInfusion file that contains the base requirements not files that are only needed in a single component.
- the build scripts should be made modular enough to build a myInfusion file that doesn't modify the source directory but only assembles a subset
- Description: generalize as a more/less toggle 1 day
- Will implement as a simple function
- Specify height in one place
- Externalize the truncation code.