AMO:Meeting Notes

Revision as of 23:13, 3 January 2007 by Cameron (talk | contribs) (Cameron's notes for the 3rd of jan.)

« Back to Update:Remora

Jan 3rd

  • (clouserw) How are we going to handle multiple products for an addon? (Specifically, the interface for downloading them)
  • Read the Alpha Feedback
  • (sancus)
    • Why do we want to support add-ons that use seperate files to support multiple products?
    • How do we want to do this? Do we need an applications_files table? Do we want to keep applications_versions? Remove it?
  • (fligtar - absent)
    • I reskinned additem for rustico and revamped it for the new d-l10n structure. This involved modifying beforeFind and beforeSave to allow for using a locale other than the currently selected. So, if you want to find/save something to the German translation regardless of what locale is currently in use, you just set $this->Addon->useLang = 'de';
    • I became very concerned about Cake's willingness to save any POST data passed to it. (For example, if someone were just updating their add-on and sent a post var data[Addon][status]=1 or data[Addon][downloadcount]=10000000000000, Cake would happily save it.) I think Cake has something to help fix that, but I wanted something better, so I made a method of the Amo component called filterFields, where you can pass a whitelist or a blacklist of fields and it will return a copy of the passed array with the appropriate filters. I think that anywhere we use save() we need to use this, as it only takes one vulnerability to get in. An example usage: $addonData = $this->Amo->filterFields($this-data['Addon'], array(), array('id', 'status'));
    • I also made a translation box element that I'm going to use everywhere people need to translate things into multiple languages.
    • This week I'm working on edit and editversion and adding/updating all my tests for additem. After that, I will go back and finish the review queue for the sandbox. After that, I'll fix the developers index. After THAT, I'll start on the preview uploader if no one else has.
  • Cameron
    • It seems that people whose names are one word in v2 have that inserted as their last name in remora. I think that it should be inserted as their first name.
    • Additionally, I think that no matter what we decide to do with regard to the above, the entire v2 name should be used as the nickname for remora.
    • Subscribe to http://blog.mozilla.com/webdev/comments/feed/ if you're interested :) (and you should be!)

Dec 20th

  • File browser in public pages?
    • No real reason to keep it under lock-and-key
  • Alpha status
  • CSS confusion
  • Tasks left to do
    • Make the site presentable and consistent
  • Pages that need "design attention" -- once we define what "attention" and "design" mean.
    • ./addons/browse.thtml
    • ./addons/rss/addons.thtml
    • ./addons/recommended.thtml
    • ./addons/browseTypes.thtml
    • ./addons/browseCategories.thtml
    • ./addons/home.thtml
    • ./addons/display.thtml
    • ./search/index.thtml
    • ./search/rss/index.thtml
    • ./reviews/add.thtml
    • ./reviews/display.thtml
    • ./users/login.thtml
    • ./users/email/pwreset_plain.thtml
    • ./users/email/confirm_plain.thtml
    • ./users/register.thtml
    • ./users/pwreset.thtml
    • ./users/edit.thtml
  • Dynamic l10n and SQL
    • Do we need to be able to delete a singular translation? (yes, you can't have just a null field)
    • Will remove the FK relationships that may delete too much.
  • Add non-user data to default SQL that doesn't change over time (including translations)
  • Set auto increment numbers in default sql to arbitrarily high numbers
  • Migrate add-ons into a production SQL to be used when we set up the public alpha
  • Delete unused static l10n strings, truncate developers/reviewers stuff with bad IDs

Dec 13th

sancus:

  • We don't have a software license field in the db yet

clouserw:

  • We're leaving several fields (like application.name and addons.privacypolicy) out of the translations table - I think they should be in there:
    • Someone might want to translate the $field sometime and we could support that (and with our current system we get it for free!)
    • Consistency - all strings in the same place
    • It would let us echo the lang="" tags around the strings if they were in a different language
    • Fields I'd consider changing:
      • addons.developercomments
      • addons.homepage
      • addons.eula
      • addons.privacypolicy
      • applications.name
      • applications.shortname
      • cannedresponses.name
      • cannedresponses.response
      • platforms.name
      • platforms.shortname
      • previews.caption
      • reviews.title
      • reviews.body
      • versions.releasenotes

wenzel:

  • working on static and dynamic l10n all over the place. Any other places left to be localized?
  • What about that text in the footnote? It's obviously c&ped from here and I don't think "Applications" fits well here.
  • was working on:
    • fixing search to search through d-l10n fields
    • statically localizing the forums (with morgamic)
    • building a so-far-complete German localization

lars:

  • about that translations table:
    • missing foreign key relationships in remora.sql
      • addons.name --> translations.id
      • addons.description --> translations.id
      • addons.summary --> translations.id
      • addontypes.name --> translations.id
      • tags.name --> translations.id
      • tags.description --> translations.id
    • it would also be handy to also have "on delete casacade" for these foreign key constraints
    • should translations be shared? Assume not.
  • about the locale strings
    • should there be a table showing all the valid locale strings?

morgamic:

  • schedule, etc.
  • basecamp love
  • alpha milestone To-do's

Dec 6

sancus:

  • dynamic l10n not quite done yet, back-end rearrangements being made by clouserw, supposedly done except for tests/optimization
    • work done, we're going ahead with the change
  • static l10n on public pages !done
    • forum l10n (fred)
    • click-through-ness (morgamic will fish through pages, though everyone should)
    • invalid id errors should have a localized template, and we should probably come up with a better default way to display errors like these to use throughout (haven't seen one -- correct me if I'm wrong)
  • starting work on install script
    • porting over current impl is okay
    • additional logic for sandbox
    • present eula before install -- shaver said AJAX
    • get rid of download count

morgamic:

  • vacation schedules still fuzzy! when are you guys going to be taking off?

shaver:

  • working on policy
  • need web design list
    • morgamic will look through pages for design needs

Nov 29

shaver:

  • what's a date we can tell localizers that they can start giving us content?
    • dynamic and static l10n complete by end of Friday, so the date for localizers will be Dec 5
    • we'll take the add-on summary out of the forum pages so that we don't have to figure out dynamic l10n for launch
  • need to figure out launch schedule to drive PR work, probably this week (the figuring, not the launching) -- what's our level of confidence?
    • alpha: early preview Dec 18th (public side only)
      • navigation complete, can click through everything
      • install interaction
      • basic forum conversation-create, etc.
      • l10n finalized
    • beta: feature complete Jan 15th
      • sandbox interactions (reviewing of sandboxed stuff, user sandbox activation, search and view restrictions)
      • public side feature complete
      • public l10n freeze
    • post launch:
      • labs support (like sandbox, but not quite sandbox?)
    • launch doesn't require localizations to be all caught up, but we should give them a fighting chance (meaning that we have them able to start localizing in the next 2 weeks)
  • if we have pages that need design assistance (sandboxed addons? Forums? Install interaction?) we should start queuing them up with design folks soon, so please speak up if you know of them, and I'll start getting cycles on it
    • file bugs against shaver, alpha-blocker
  • what are our stat/metrics needs? Our current tools choke hard under the load, but we can get help from people if we have some idea of what questions we'd like to answer and what latency-of-update we can tolerate.
    • what stats do we want? send thoughts to shaver or wiki

morgamic:

  • what's a date when we will have an alpha version of the final policy?
    • alpha-blocker
  • shouldn't we create a page where the policy is posted on the site?
    • yes, beta-blocker; shaver will do
  • when should we plan on finishing the dynamic l10n migration?
    • sancus: dynamic l10n of public pages should be done this week
  • what additional changes need to happen to the migration script so lars can work on it?
    • permissions/roles
    • dynamic l10n (lars has ideas on this... so he will speak)
    • version approval -> files approval
    • Anything else?
  • team availability, other projects? how much time will everyone have over the next month? when are we planning to not work? US vs. Canada holidays?
    • fligtar: next week part time, finals week after, then available full time from Dec 15 to Jan 15.

wil:

  • what should we do for RTL languages? bootstrap.php doesn't have the database
  • morgamic: could just language direction in bootstrap.php in the valid-languages
  • shaver: not a key thing right now, suspect that we'll have bigger problems than just the dir="" settings for making the site usable in RTL (CSS, etc.)

lars:

  • translations table seems weird
  • if we put an ID in the translations table and then put the partial foreign key corresponding to that ID in the parent table, we could join on it and retrieve the whole set of data + strings-for-locale in a single query
  • lars will write up the Lars Method on the localization page, we'll make a decision before fligtar gets to the dynamic-data-entry part of the admin site (by next meeting -- Dec 9th).
  • working on load testing, needs to get connected to VPN to run X app
  • will take a day once the VPN stuff is set up, should have it completed by Dec 10th.

upcoming:

  • wil: navigation survey
  • sancus: dynamic l10n completion, then install script
  • fligtar: working on sandboxizing the review/approval queue
  • shaver: travelling next week, will be working on policy stuff
  • wenzel: getting the forums working (posting comments, etc.) and doing English localization of the strings
  • morgamic: more detailed schedule and task lists for alpha and beta; also more ACL work

Pre-Thanksgiving-Weak-Meeting (Nov 22)

  • present: fligtar, fred, sancus, cameron

Roundtable

  • fligtar: Haven't done anything since summit. Will start on new review system database changes tonight or tomorrow and start tackling that new system from the dev cp side.
  • sancus: Haven't done much since summit, fiddling with strange utf8 encoding problem on linux8, plan to go over display pages for unworking things(previews unworking on display page atm) and small fixes. Also, add dynamic localization code to all public pages.
  • wenzel: Have worked on the review section; will commit soon. Ratings are just a text box for now. Afterwards, I have to localize the emails as noted in the summit meeting.

Summit meeting (Nov 16)

  • present: fligtar, shaver, wil, fred, morgamic, sancus
  • Need to make schema changes, because it's a Thursday:
    • add per-file flags: needs-code-review
    • move approval to file from version
    • remove localized string columns from the master tables
    • add column to reviews table for testing-in-sandbox notes
    • translations table changes:
      • id -> foreign_id
      • pk_column -> foreign_table
      • translated_column -> foreign_column
      • change _ to - in language table names
  • some desiderata came out of labs meeting, need to get more detail on requirements so we can figure out when/if the different bits would be worked on
  • rustico styling on the current mockups for the layout of the site
    • if we need more pages designed, we should say so and get designer attention on them
  • sandbox/public proposal was well-received by various folk, we'll go ahead with that
  • developer agreement bug 359110
    • confirm that add-on meets each major policy requirement (trademark use, disclosure of any personal data collected)
    • confirm that they are the authors
    • agree that they are responsible for the software in question
    • mozilla may remove at any time
  • account signup
    • COPPA?

Summit meeting (Nov 15)

  • present: fligtar, shaver, lars, wil, fred, morgamic, sancus
  • If we don't migrate add-ons which are only compatible with fx 1.0, then people can upload add-ons with the same em:ID and then users who might have had the old add-ons still installed but disabled (or who are still using fx 1.0) will be updated to the new one Cameron 22:28, 11 November 2006 (PST)
    • We'll migrate all add-ons over, but none of the versions that aren't maxVersion >= 1.5
  • File paths: use only the add-on file name, not the full prefix or "type" directory prefix.
    • Will require rewrites for the current site
  • Justin Fitzhugh suggested that we not use the RDNS network for extension serving, because we don't need the bandwidth help and it just makes things more complex (see bug on mirror-delay)
  • Email component doesn't localize messages; we'll use a gettext entry for the whole message.
  • Need to use ordinal parameters for gettext localization strings.
  • Going to use the browse page for an example of dynamic l10n and as a target for load testing.
  • We'll need to update the migration script to use translation tables for all localizable strings.
  • Need to remove the columns for the localized strings from their "parent" tables.
  • Need to make sure that we use consistent naming of tables in the translations table (Cake naming convention)
  • Need to translate platform name "All", though not other ones.
  • Wil wants rename columns in the Translations table to use hyphen instead of underscore to separate language from region, etc. Unanimous support in the crowd.
  • How would we determine which side of the "sandbox"-vs-"public" line?
    • Looking at reviews written by users?
    • Testing by established Mozilla QA community?
    • Any automated validation? (Like lint?)
    • Always kept up-to-date with most recent Firefox release?
    • No bullshit!
    • User review-rating threshold for re-review?
  • Author blessing for auto-update?
  • Different review-needed states:
    • Needs initial evaluation (is description right, is it not total nonsense?)
    • Needs review-of-review?
    • Needs code/security review?
    • Let anyone self-select to review "raw" submitted
    • Then have a Editor look over resulting reviews/ratings
    • We'd need a better reviewers' guide!

November 9 meeting

  • Present: Cameron, Clouserw, Fligtar, Lars, Morgamic, Sancus, Shaver, Wenzel.

Agenda

  • Firefox Summit
    • Next week, set up a Remora Sprint session, coding or dinner? No concrete plans yet. Talk to people about hosting different kinds of add-ons on the site.
  • l10n checkup
    • are we settled on the dynamic-l10n strategy?
    • Seems to be that we are, pending performance results.
    • performance: what assumptions about the translations table size. 100k rows? English will be in there as well.
    • Cameron asked about releases-with-l10n-issues: Talk with localization people about release issues, break if there's a lacking l10n string, fallback, etc.
  • Gettext
    • Seem to be stuck with gettext right now, difficult to fix the caching issues. clouserw has asked the php-i18n list...
    • Server will need to be restarted frequently.
    • See what happens under load testing, vague possibility of SQLite switch and stuff, shaver to investigate.
    • Localization community people want to help, maybe they can do things like the static l10n on pages to speed things up?
  • Test Coverage
    • Should we go over the tests and see if our coverage is OK?
      • No probably not, add tests for bugs as they come up. Add stub tests when you don't have time to write a test or aren't sure how as a reminder.
  • l10n questions
    • are things baked enough that someone else, perhaps from the l10n community, could work on an admin tool for managing the translations of the "site metadata" (category names, application names, etc.)?
    • should we ask for help doing static l10nification of the HTML pages? might be able to get some parallelization there
  • migration
    • do we migrate existing comments into the discussions?
      • NO
    • do we migate ratings?
      • Might be useful, but probably not. Look at it again later.
    • not migrating fx2 add-ons
      • might be some special cases where we actually do migrate them
      • Many add-ons won't be migrated to the new site, but some add-ons that aren't hosted on AMO might be hosted on it, etc. Will be some case-by-case decision making to be made!
  • Rating System
    • Determine if people's ratings count based on threshold systems?
    • Expose ratings data via AJAX interface, allowing people to do math and experiment?
    • Possible to not expose numerical ratings.
    • There's a wiki page on this, please add your 2 cents there (including sales tax)
    • start with basic 0-10 field and move more complex from there.

Roundtable

  • fligtar: Added beforeFilters to the scaffolding pages to check login and function as a makeshift admin interface. Added a method to the AmoComponent that will return the appropriate javascript install trigger for the addontype - should also probably be used in the public pages. Still working on the Review Queue - layout is pretty much done for the single page, working on the backend for it.
  • wenzel:
    • static l10n to real German
    • Forum integration
    • Tests
    • Now: Reviews
  • lars: got access to 2 grinder machines (requested 3). Java/grinder installed. Running tests started.
    • Going to have grinder go to the wiki page and get the test urls there.
    • Need to know about URLs on grinder page?
      • dynamic l10n page
  • sancus: Worked on the dictionaries controller, writing tests for models and localized the l10n homepage, had some fun fights with gettext. Should check in dictionaries category lists by end of the week.
  • morgamic: talked about load testing. Updated the app_controller and had some conflicts, going to fix those. Spent time on creating the list of things to make Remora shippable, on the schedule page. Talked to phone people about meeting numbers!
    • Hard to schedule things more than 2-3 weeks in advance.
  • shaver: Talked to l10n leads, figure out how quickly they can move. Working on EULA Policies with partners. Legal Review/Privacy Policy requirements for Add-ons. Fighting with Apple!

November 2 meeting

Meeting opened: 5:07 PM UTC (9:07 PST)

Present: Cameron, Clouserw, Fligtar, Lars, Morgamic, Sancus, Shaver, Wenzel.

Agenda

  • (was there a meeting last week?)
  • Mark had questions about the status of load-testing for vanilla stuff; where are we?
  • shaver and Mark talked about some of the Vanilla integration bits for Remora, see Remora_Vanilla_Integration
  • some discussion of dictionaries page
    • we'll want a custom controller here, aping what we currently do on v2 for the foreseeable future
    • "informal" dictionaries are not a priority at all, don't let them confuse you!
    • User:Cameron/Dictionary_thoughts
  • rustico turns out to be the design target for Remora, yay; it's motorbike time!
  • Gavin working on opensearch-to-sherlock converter for us
  • what are the gaps between v2 and remora-trunk?
    • approval queue?
    • preview-image upload
    • comments/ratings
    • RSS?
    • user manager?
    • ACLs & services (morgamic!)
    • hash computation at upload?
    • other-app support
  • Can we change the meeting time? DST Means it's at 3:30 AM for me now (used to be 1:30 AM which wasn't so much a problem.) How does 3pm PST work for everyone else? Cameron 08:30, 2 November 2006 (PST)

Yes we did have a meeting last week, just nobody took notes. Cameron shall take notes this week!

Load test stalled at Firefox 2

We have Vanialla integration stuff from mark

Loadtesting of vanilla will be important

Rustico is going to be the theme.

  • Lets get rid of the huge header!
  • Need some sub-nav

Need to get on top of stuff that's already in v1/v2 before we go crazy with cool stuff like better rating system, extra dictionaries functionality, etc.

Next meeting Wednesday 3PM PST

Canned responses are good, lets keep them.

Possibility for reviewers to list their favourite add-ons to review (eg. you deny something for a specific reason and want to be notified when it's uploaded again.) RSS or email notifications.

Some sort of favourite type of add-on to review RSS notification stuff - eg. whenever mac-only themes come up, add it to a rss feed for me.

Do we want developers and/or users to be able to see the approval queue? Not yet, there's a big can o' worms there.

Clouserw has modified the l10n model, hasn't got tests done yet.

No need to have descriptions of categories.. would be better to have it in the l10n stuff so it doesn't have to look in the extra table. In fact, what's the point of having anything in English describing anything at all?

We're probably going to drop all the columns that just contain English stuff (add-on description, summary, platform name, app name, etc.) and use the l10n stuff. This is going to require some pretty wide-sweeping changes to the site's views.

Also need to modify the migration script to import stuff into the correct place. We might need to split core layout translations and add-on metadata translations for performance reasons, otherwise that's going to be one mother of a table.

Discussion forums not going to be split for language atm, we don't know how much they're going to get used.

Currently updated descriptions appear before the new version.. decided that this bug requires too much database churn to be looked at now. Maybe later we can do something where all metadata is just associated with the version, and the site offers to duplicate it over when you upload a new version, or you can modify it.

Roundtable

Sancus: Worked on category page. Dictionaries coming up next. Probably just going to reproduce v2 functionality to save time.

Wenzel: New html helper to rewrite links with locale in url. RSS layout too! Not got much to do now, give me work.

Fligtar: Localised description for add-ons.. which now won't work because of Clouserw's . Approval queue mainpage, way to unpack and examine the insides of add-ons. Doing approval queue, then going back through additem to fix up all the l10n stuff.

Lars: Sat on hands waiting for load testing machines. Shaver says: brainstorm ideas on stat gathering for downloads, updates, etc.

Shaver: Post Firefox 2 rusticization almost wrapped up, few more patches coming in. Did a bug triage and cleaned it up a bit, there's still a lot of crap though. Working on partner/policy stuff, hoping to have time to hack on remora though.

Cameron: Patching v2, wrote some thoughts on dictionaries.

Morgamic: Adding groups model & controller to track groupings of users. PFS stuff.. should be done this morning. Going to make milestones more granular. Working on planning and looking specifically at admin tools. Could use scaffolding for part of it?

Meeting closed: 6:31PM UTC (10 AM PST)

October 26 meeting

Regrets: shaver, sancus (both at FSOSS)

  • shaver items:
    • thanks to everyone for their help with the Fx2/rustico push!
    • load-testing status?
    • l10n status?
    • vanilla status?
    • looking forward to being back on Remora!
    • do we have a sense of where we are in terms of parity with v1/v2?
    • I love you guys so much!
    • random thought: should we see if the mycroft guys want to work with us on the search-engine stuff for Remora?
  • sancus items:
    • committed link helper
      • Basically helper functions to build urls to any part of the site. I thought it made sense to have all links built by functions for consistency and to make it easy to change them.
    • browse/category page taking longer than expected because I had to create a page we have no mockup for(category list) and fixed some random cake problems(invalidFields, hi2u).
    • Most of that is worked out though and should be done today/tomorrow, fsoss stuff is slowing me down a *little*
    • Do we need a user display page that lists information about that user and their addons?
    • Need to write model tests so that the invalidFields problem doesn't happen again(read from the db, write to the db, delete written data with each model)

October 19 meeting

Present: shaver, morgamic, sancus, clouserw, fligtar, lars, cameron (late)

  • Vanilla user profile information
    • is user_icon the only user-editable vanilla field we have to put on the edit page?
      • no others known right now
    • What processing does vanilla do with such an icon, and how do we want to handle that in our software
      • mark: ?
    • Will we use the user icon on our side too? How?
      • in forums, maybe next to reviews and in user pages?
  • modified field in the Addons table will be updated every time totaldownloads changes, making it useless?
    • download data will be maintained by another script out-of-band
    • what other stats do we want to track for trending, etc.?
  • sancus: remove reviews content from display currently?
    • shaver: yeah, let's remove it for now
  • lars: work beyond the next 2 weeks?
    • blocking on URLs for testing of load
      • some provided by morgamic, still need vanilla ones
    • what machines to run grinder on? (need 3)
      • seneca machines? not sure about the network latency/consistency
        • network doesn't look suitable at the moment, we can revisit when it gets sorted
      • will do the testing against remora.stage, IT will switch DNS to point to prod for "real" test
  • vanilla caching
    • need to figure out how to invalidate caches on the netscaler
      • shaver: the apache-esque headers should work
  • translation stuff
    • need to refine the examples and doc as guide for Mark and others
  • vanilla layouts
    • can we use cake views/layouts outside of cake?
      • shaver: can probably do it, not sure if it's worth it
  • ACLs:
    • do we want to do ACLs everywhere?
      • probably just on the stuff we know needs protection, not the usual views
        • explicitly list actions that are "public" for default deny?
        • var $publicActions; for those
  • association splitting
    • moved lesser-used associations to _full variants, call bindFully to get them in place for the next find
  • morgamic updated schedule to reflect time used
    • is this valuable? people move between tasks a bunch
      • probably good to
  • sancus: home page stuff done, but new tests are killing the web server
    • category page likewise
    • travelling Tuesday, at symposium Thu/Fri
  • mark (part played by morgamic): finishing the setting up of vanilla, working on l10n and caching next
  • clouserw: next week busy with mozilla.com, won't have cycles for l10n in the coming week
  • fligtar:
  • wenzel (part played by morgamic): working on edit-user, a bit stuck on l10n stuff, working on
  • morgamic: ACL stuff was painful, going to check in for wider review, then onto with load testing
  • shaver: Fx2 launch/static page work, some optimization stuff being done in the background, out at symposium on Thurs/Fri of next week

October 12 meeting

  • Microsummaries as add-on type?
    • We already answered that, kind of up in the air.
  • New search plugin format
    • In fx2 they are no longer using .src file, they are using .xml files.
  • Resolving the latest migration problem
    • Solution #2, cull bad data because it sucks.
  • Load testing
    • Set up URIs for Lars
    • Talk to Justin about setting up machines (multiple)
    • Stage the tests
    • Schedule window
    • Execute
    • Mark
      • Milestone of getting forum up so we can abuse it (by next Friday)
      • Add vanilla db, code, etc., get it up on stage
      • Will talk with Fred about session retrieval
      • Do you want user editing to be centralized or will vanilla stuff be edited from the forum interface?
    • Try to have at least one heavily translated page to test l10n load capability
  • ACL talk -- see Update:Remora_Permissions
  • Template/nav, look and feel update?
    • morgamic to work on crappyNav
  • l10n -- where/how to localize dynamic data
    • Wil to work on proof of concept, review by Monday
  • 2.0 release work?
    • Shaver, etc. has most of it covered, will use the HTML work for Remora to put up necessary pages -- may include some engr work, not sure how much.. ? (shaver please update if wrong)
  • Schedule
  • Roundtable
  • Tests
    • Mock models -- should they actually have access to the test datbase? If they do have access, wtf?
    • Why can't we see the session data?

October 5 meeting

Meeting opened: 4:09 PM UTC/GMT (9:09 AM PDT)

Present: Cameron, Clouserw, Lars, Morgamic, Sancus, Shaver, Wenzel

Schedule.

Have to get the html stuff done pronto so that it can be localised. devCP stuff isn't so important as it won't be localised at launch.


Stuff that's in the database like category names, descriptions, etc.

Localisers in the ACL so they can edit stuff through the devCP

Add-on descriptions can be the responsibility of the developer - the people they get to localise their add-on, they can also get to localise a description and summary.

Functionary milestones

15th october - l10n milestones

more milestones for user auth, search, devCP, ratings, reviews etc.

string freeze 2 weeks or so before launch.

need to finalise l10n url structure today or tomorrow

probably going to use cake to do this rather than mod_rewrite

6 pages for launch

featured extensions (20-50)

dictionaries

search engine plugins

bookmarks extensions

nobox is going to provide templates for all of these

need to get updated screenshots, blurb, summary for all those extensions

install interaction work correctly - want to have static pages on addons.mozilla.org rather than crapping around like the google stuff

fx2 between 17th and 24th

dictionaries page needs to be localised

not worried about TB because the product team isn't yet clear on how they want the installation experience to work.

1.3 for linux and 1.5 for windows? Fligtar wrote a nice essay on it.

Want to make this difficult to do because of the problems with approving them at different times.

Add approval state to files asap

cake created/modified fields for HABTM relationships

Roundtable

Shaver: Static pages for Fx2 launch. Hope to finish up search result stuff

Wenzel: Implemented search. User registration, login, logout, etc.

Lars: Tweaked migration script as stuff changed. Spent time working out grinder.

Sancus: Image controller. Category html.

Clouserw: Mozilla.com

Cameron: Sweet FA. Going to miss the next meeting due to 4wding, hiking and holidaying.

Morgamic: Scheduling with shaver, planning etc. Services today and tomorrow. Header/footer navigation etc. Going to sit down with Fligtar and talk about devcp

Going to spend more time on keeping everyone up to date with what's complete and what's not, what we need to do and how we're going with target feature milestones.

Meeting closed: 4:53 PM UTC/GMT (9:53 AM PDT)

September 28 meeting

Present: sancus, cameron, schrep, morgamic, clouserw, wenzel, lars, shaver

Agenda

  • Talk about search. (clouserw)
    • Some discussion here: Update:Remora_Idea_Dump#Search
      • shaver: I think we need order independence for launch (I've written a test), don't need boolean operations. Should have rating sort within each "group" of results (name, summary, description), not strictly a launch-stopper IMO.
  • Talk about l10n (clouserw)
    • Specifically, I want to cover database interactions - how are users going to contribute? (shaver says .csvs - shall we plan something friendlier/more managable?)
      • shaver: don't need anything more for things like category-name translations for launch, let's defer that planning until at least after we have the CSV stuff in place
  • Marketing/identity topics (cbeard):
    • Site presentation / layout
    • Additional graphics / design info
    • Developer relations
    • Top 50 vs. the rest of the universe -- how we will split the two, if at all
      • UI-driven separation between recommended items and the rest of the land?
      • Two sites?
        • shaver: Initially two sites, as per Update:Remora_Requirements
        • shaver: we need to figure out how to link from addons.mozilla.com to addons.mozilla.org and vice versa
  • IT topics (schrep):
    • Staging server for v3
      • shaver: as per conversations with justin a while back, we're going to be getting "read-only" access to the staging servers for log viewing and profiling; not sure where that's at
  • Layout elements, navigation helper
  • Master/slave database configs, how to switch in controllers
  • Routing standards, mapping to v2 URIs
    • do we need to support v2 URIs at launch? (shaver)
  • Wiki updates needed
    • Installation instructions for IT
  • Outstanding task list: User:Shaver/Remora_Task_Dump
  • l10n
    • not using translation2 any more, just the Translation model
    • won't be able to use cake list-generation helpers as-is, can just write code by hand
    • gettext: waiting on views to generate po files
    • locale selected based on lang= parameter
      • rewrite-based
      • needs test for selection process
    • gettext: state
      • clouserw to work on one view (add-on display) as example and test today
  • staging
    • morgamic to investigate

Roundtable

  • Cameron: version spreadsheet sent to Lars, has a lot of drinking to do this weekend
  • Lars: version rationalizations now in the migration script, and script updated to the current schema; available for SQL wizardry (search?!?)
  • sancus: updated test dataset for more test data info, working on image retrieval
    • working on HTML for home and browse pages (might get help from silverorange)
    • HABTMWTFBBQ? gotta do it by hand because the model doesn't fit Cake's association model
  • clouserw: pulled out T2, committed initial search
  • shaver: wrote some search tests, working on results output based on RC mockup
    • first, doing schedule/plan work with morgamic so that I don't get kicked off the island
  • morgamic: finished update tests, needs to add required dataset to remora-test.sql
    • need to figure out how to handle update-check for dual services
    • pfs and blocklisting straightforward
    • pfs should eventually be based on the db
    • acl: just for admin/users? fligtar has it working for developer
    • working on schedule/plan with shaver
  • fligtar: working on getting better!
    • going to plan more tests for additem/edititem
  • wenzel: welcome!
    • new web-apps intern from Germany and OSL, going to be working on Remora with us!

September 21 meeting

Present: Cameron, Clouserw, Lars, Morgamic, Sancus. Fligtar was sick :( Shaver notably absent for two weeks in a row... maybe he was actually doing his vacation thing!? Nahhh... couldn't be.

Binary data in database

Add-on xpi files are not in the database, so we're defining the path to them. It's in app/config/boostrap.php Should the screenshot data be in the database? Should it be in a a separate table, or just a column? Thinking column. Need binary info and mimetype. Going to test performance on this.

While we're at it, lets do the same and add columns for icons (logos) to the add-ons, applications and platforms tables.

No need to migrate the icon stuff, we'll create it.

Afterthought: Are we going to need multiple sizes for those icons? (specifically the application icons.) Don't think so, they only appear in the compatibility info.

Application versions

Not going to migrate public app version stuff, delete it from the sql. It's useless.

Had a bit of discussion about which application versions can't be used as maxversions and which can't be used as minversions (eg. 2.0.0.* is a stupid minversion. 2.0 is a silly maxversion (leads to bad user experience when people get 2.0.0.1 and the developer hasn't updated the add-on. That's the reason the * stuff was invented. It's in "their rules" somewhere that they're not supposed to release stuff with that format of version string if it breaks a current public api (extension, etc.))

appversion canbeusedasmin canbeusedasmax ?

Existing non-valid application versions

Update:TroublesInAddonMigration

What can we do about them? There was a lot of discussion in this, culminating with a decision that we're going to migrate them to what we guess is the correct version. We observed that it's different depending on if the version is being used as maxversion or as a minversion.

Action: Lars is going to compute a list of the versions which are currently being used for each application. Cameron will then go through and decide what it maps to if it's being used as a minversion, and what it maps to if it's being used as maxversion.

Navigation

Need to think about elements that can be called by the layout. Contents in elements folder, logic in a helper.

Sancus going to finish off the add-on listing page and then do homepage with links to other sections

Roundtable

Sancus: Check the dashboard for what's he's up to.

Cameron: licensing stuff done and checked in. When creating new pages or if you have queries, there's a wiki page. Still a small To-do list for that but it's no big deal. This week I'll be doing that appversion mapping and I might create some html for some minor interactions.

Clouserw: l10n stuff is on the standards page now. Talked with Mark Sullivan and dug around in Vanilla to see about localising that.

Morgamic: stubs for service tests, halfway through update.php, spent time reading through the cake manual to brush up. Going to work on tests/services.

Fligtar: Continued working on additem, hoping will be done soon, even though he's been saying that for a month. Lobbied against the "projects" directory in SVN. Plan on beginning a translation for the "l33t" locale, and should finish additem and the tests. Won't be at next week's meeting either because from Wednesday night - Friday he will be out of town. As a result that out-of-townage, his left elbow will be in a splint, but hopefully he'll still be able to type with both hands.

Lars: Going to get that table of versions to Cameron, then work on implementing it into the migration script when Cameron gets it back.

September 14 meeting

Present: Cameron, Clouserw, Lars, Morgamic, Sancus. Apologies: Shaver (sleeping), Fligtar (said he was going to be late, but never made it.)

Licensing

All the files we create need to be under the MPL/GPL/LGPL tri-license. How many files have we already created that aren't licensed? Guess about 50. clouserw going to talk to shaver about writing a script to do stuff. Read http://www.mozilla.org/MPL/ for info.

As you edit files and think of it, put in the tri-license HTML boilerplate, but don't worry about it and don't let licensing distract you from your righteous quests! "incorrect licensing on source files for server-side app" is one of those things that I would be gleeful to have on our "cut list" as we near the schedule singularity". (shaver)

Coding Guidelines

HTML 4.01 strict is the way to go. It's in the mozilla.org coding guidelines, transitional is sloppy and if we use xhtml we'll get into the content-type discussion.

Also, no javascript errors, (with javascript.options.strict set to true.)

Another "fix 'em if you notice 'em" thing, but please don't let the pursuit of strict distract or eat up time with discussions. We can fix that in post, if at all, and if having non-validating HTML is even in my top-ten list of problems at release, I will ascend to heaven on a chorus of angels, so strong will my joy be. (shaver)

SVN notificatons

Going to talk to shaver about getting something happening with IT...

Navigation

Going to have to look at page relationships and how to navigate the site. Radiant core mockups has some stuff, but what other ideas do we have on this? Need to think about it.

Roundtable

Sancus

  • Done MDC stuff, working 100% on Remora now
  • Working on major interactions
  • Where's our mockups from radiant core?
    • Schedule is suffering
    • need mockups asap
      • everything we're getting from RC we've already got, in the zip from last week (shaver)
    • not much room for slipping, Firefox is going to be released October sometime, aiming for concurrent release.
      • Any slip we do have will probably result in less QA/testing and a lower-quality product
      • we should prefer to slip number of features rather than quality; it's easier to recover from the former than the latter; example: slip localization of dev tools rather than test coverage for dev tools. We need to discuss specific things here, though, to really be helpful. (shaver)

clouserw

  • Simple search done
    • works, needs improvement
      • where is it? (shaver)
      • it's still a controller at this point, so /controllers/search_controller.php (clouserw)
    • currently title, then description
      • Should be title, summary, description as discussed previously
    • no tests yet.. need to figure out how to do that, going to wait for it to be further developed before writing more.
      • I wish I had my previous test stub :( happy to help sketch out tests, or write them if that's helpful and viable (shaver, shaking his fist at the MBP gods)
  • working on l10n string stuff
    • have some demo code which was discussed in IRC.
      • ugly, but doesn't seem to be another way.
    • open to suggestions, but need to get them in quick otherwise this is going to become a coding standard.


lars

  • got new database stuff yesterday,
    • haven't checked in changes to migration script yet

morgamic

  • going to work on Remora more from thisarvo
  • What's with the double slash?
    • Nobody knows, ask fligtar
    • shouldn't be a problem, likely an artifact of the test goop making sure that you don't blow up if you don't have a trailing/leading slash on one of the components (shaver)
  • shoot css queries at morgamic or clouserw, they've done plenty before

Cameron

  • Got SVN and CVS access - hoorah!
  • Learning about command line interfaces.

September 7 Meeting

fligtar's questions

  • additem related
    • localized addontypes?
      • same addontypes in all locales, human strings in translation table
    • summary maxlength? 200? 500? don't remember what shaver said
      • 250 chars for now
    • developer terms of use?
      • make them agree to terms of use and policies when signing up --- good idea!
    • are we localizing admin stuff?
      • later!
    • what HTML tags should be allowed and for what fields? suggested from bug 343573:
      <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <ul> <li> and <strong>
      • good set to start with; we'll have to add more later
  • other
    • future of the approval queue
      • refactoring UI to have a page per add-on with more data
      • collision detection on submit
      • review comments and developer correspondence later
    • separating developer and public methods by more than just ACL? ie, another controller/model?
      • separate controllers would be good for developer and admin actions; fligtar to rename existing
    • at what point do we close bugs with "fixed in v3"
      • when fixed in remora with a test
  • ID collisions
    • start at 10,000 for new add-ons, to reserve old AMO ids
  • zip of assets from RC in ~mike on linux8
  • need to document localization process for extension data (shaver)
  • per-locale preview images?
    • no facility right now for different images per locale
    • can localize captions now, though
  • search!
    • Zend search-lucene: doesn't support UTF-8
      • UTF-8 support coming, will require php5
    • first pass: LIKE %term% queries on name, summary, description?

roundtable status

  • fligtar
    • fighting off v1 issues. additem is 80% done (at least its first revision). currently stuck on HABTM problem which sancus will help on.
    • working on test helper so that controller tests will work and then I can actually write the additem tests. going to make second pass through current bugs and make list better.
  • morgamic
    • been doing some python test stuff for AUS; v1 stuff; working on tests for core services (version check, pfs, blocklist, etc.)
    • should be done tests by Monday, then working on auth and session stuff
  • clouserw
    • working on search now
  • sancus
    • MDC/nutch stuff turned into hell, done now!
    • working on HABTM issues and controller test fixups
  • shaver
    • policy and Fx2 extension-prep stuff
    • getting infrastructure in place for staging/deployment, incl php5
    • started on localization document, need to finish up quickly and send to Pascal
    • working in background on search-engine view
    • anime extensions coming out of T-shirt asses, I think
  • cameron
    • dashboard still exists!
    • 100% pooch-screwing this week
    • buying sunscreen
  • lars
    • so many tests for migration now!

August 31 Meeting

  • SVN is up, shaver importing today with morgamic's adult supervision
  • get accounts! get accounts! get accounts!
  • fligtar: almost done add-item, worked some v1 issues
  • clouserw: did l10n tests for templates, ready to help out
  • lars: database migration scripts still done! working on stats stuff as well, but has some bandwidth to help
  • cameron: dashboard template done, ready to help with HTMLizifications
  • shaver: working on infrastructure setup for staging/deploy, getting strings to localizers, wrapping up with RC
  • sancus: mdc work wrapping up, will work on controller test framework and getting tests grouped
  • mark: has been working on vanilla locally and pruning things we don't need; waiting for forum HTML
  • morgamic: pfs/v1 work behind him, also AUS work for Fx2b2; migrating services into remora (SVN), some db/schema changes

August 24 Meeting

  • Schema: applications_versions.public should maybe be appversions.public? Fligtar 07:57, 24 August 2006 (PDT)

August 17 Meeting

  • what's in version control?
    • Cake?
      • Yes
    • translation2?
      • No, install through PEAR
    • vanilla?
      • Yes
    • what else?
      • need to be careful where SimpleTest ends up, vendor vs. system-PEAR
        • symlink from vendors/ to SimpleTest in PEAR install?
  • l10n strategy
    • gettext for static content, explicit in templates
    • translation2 for database content selection
      • probably not for the flat strings
      • morgamic and wil to mail lorenzo with their questions
        • can we point to arbitrary foreign keys? addition of primary key column
        • performance differences between gettext-direct and gettext-via-translation2
        • a mystery third question!
  • outstanding schema issues
    • just audit and locale-limited flags
  • handling of dictionaries
    • add-ons type
    • will probably need specialized category-page for landing
  • installation guide
    • dependencies
    • VCS information
    • mod_rewrite rules
    • locale packs
  • audit trail questions?
    • one table for users, one table for add-ons
  • add-on flags per locale? (for profiling certain extensions in certain locales, f.e., or making sure that Japanese users don't see "Editor's Pick!" for things that are crappy with multi-byte input)
    • look at using hidden categories for this?
  • search engines
    • add-on type
    • custom install operation
      • already have to solve that for themes
    • where to host? in database? probably don't need bouncer/releases
  • version control
    • Need to rejig repository to import Cake cleanly
    • SVN should be up v. soon, may just move into there
  • Vanilla discussion
    • already supports split read/write database connections
    • can write custom authenticators to get user information from other cookies, etc.
    • forums per extension
    • localization support
  • Mockup status
    • browse mockup iterating, first versions on wiki
    • search results coming to HTML today
  • Schedule check
    • controller/model scaffolding done
    • l10n on track
  • Migration
    • scripts ready for test, waiting for Lars to get DB access
  • PFS/VersionCheck
    • their own appdirs
  • Agenda/status
    • morgamic: got AUS stuff done, migrating other apps to Cake stuff, then ACLs
    • fligtar: working on extension upload capabilities
    • sancus: working on MDC stuff for the rest of the week, then back to controllers and testing
    • clouserw: l10n work
    • shaver: working with Mark on the Vanilla stuff, worrying about infrastructure and localizers
    • osullivan: getting Vanilla rolling
    • lars: migration stuff, taking dumps of db
  • Standards/conventions
    • naming/layout of files and dirs
    • test practices and architecture
    • coding styles
    • preferred beverages

Action items:

  • db access for Lars
  • server access for Lars and Mark
  • questions to translation2