Know that I labour long into the night to scrawl this tale of cunning and
deceit. Forgive my terseness and neglect of details, for even now my candle
threatens to extinguish itself and I'm obliged to render in an economy of words
this righteous letter. This letter, for history's sake, that the past is not
forgotten. The forthcoming to reveal the future which, by the time you read
this, will surely already be in motion.
You know what? I was 3 chapters into a story about how Greater Percona was invaded and its inhabitants had to be ferried across the
river to Amoville because all of their knights had long since strayed to other provinces when I realized a couple things. Firstly, all the witty
banter between the protaganists (I'm not too ashamed to say I had a crudely drawn map of the provinces too) were the opposite of being succinct because
of my burning candle. Secondly, and more pressing, it was really early in the morning at this point, and the whole story was turning quite
maudlin, coming from the point of view of letters written by someone living in Greater Percona. I decided to scrap the whole story idea because it
was depressing and this project is the opposite of that. :) But I left the intro to jazz up this page.
Step 1
To fully support the way personas are advertised (per-locale, with constantly changing recommendations) we need to adjust the way AMO features
add-ons. This is a wanted change on AMO, but substantial, and will block this migration from finishing. This can be done in parallel with the
next few steps.
FIXED 635331 - Create an admin tool to manage featured collections
FIXED 635332 - Adjust featured add-ons page to use new collection system
FIXED 635333 - Adjust home page to use new collection system
FIXED 635334 - Adjust category landing page to use new collection system
FIXED 635335 - Adjust API to use new featured collection system
FIXED 635336 - Adjust the disco pane to use the new featured collection system
FIXED 635337 - Adjust the disco pane to use the new featured collection system
FIXED 635338 - Disable category changes with new featured collection system
FIXED 641637 - Provide JSON output of [cr|f]eatured add-ons
641640 - Ensure VAMO is setup to handle Personas pings
open question: Do we want a separate "favorite personas" collection or just combine it with your "favorites" on AMO. Combining it is simpler (Clicking "add to favorites" on a
persona goes into your favorites, not one of two places), but the extension will need to be modified to ignore add-ons that aren't personas.
Step 3
Reviewer Tools
We need to be able to review personas on AMO. There are new designs for this which are quite nice and will be a big improvement to what exists
today. See an example.
641141 - [backend] Implement personas review queue
641142 - [frontend] Implement personas review queue
FIXED 641643 - Add a "flagged for legal" filter to the review queue
Other random bugs that we need to support before we can launch
Should start thinking of getting the FAQ and and any other docs on AMO or MDN. Other docs are: /getting_started and /reviewguidelines
Step 4
Shutting down getpersonas.com is becoming a higher priority since the name has been hijacked. I'm replacing the old
plan with a new and improved one that lets us turn off getpersonas as soon as possible. The new plan:
Turn off persona submissions to getpersonas.com
Make sure the queues on getpersonas.com are at zero
Run the persona sync one last time and then disable personas sync to AMO
Turn off user registrations to getpersonas.com
FIXED 726184Written, not run yet! Run a script that imports all persona users into AMO. The script:
Uses email address as a primary key
Creates new users on AMO if they don't exist yet pulling relevant data including password hash
If user does exist, no action on users table (no data is updated)
Script retrieves user's favorite personas from getpersonas.com. Adds these to the users existing "My Favorites" collection on AMO. (Does this mess up one of our add-ons?)
FIXED 726186Written, not run yet! Run a script that correlates users and personas. The script:
Inserts rows into addons_users for each user and persona
726190 Run a script that rsync's all images from getpersona's FS to AMO's FS. We should get CDN for free.
Update personas' VAMO so it's pointing at AMO for the update_check URL and the AMO CDN for persona images. Solve 544907 and 544908 while we're in there. Note that getpersona's IDs aren't the same as AMO IDs. Also need to base64 the images and put them in this (see current script).
Make getpersonas.com/update_check/ 301 to VAMO in a usable way. This is because only active personas ping so old ones will be hitting this URL for a long time.
Once this step is completed users can log in to AMO - new users will use the same login as on getpersonas. Users with an account already on AMO will use their old credentials but will see their personas in their profiles now.
Old and busted!
Now we're getting somewhere. At this point we need to disable all editing/admin on getpersonas and point users back to AMO. These bugs need
filing still.
- Ensure the review queue is at zero, then disable admin/editor pages on getpersonas.com
- Add friendly notes for logged in authors about migrating user accounts. See
one,
two,
three.
- Disable getpersonas sync script on AMO. No more changes will be coming from getpersonas
- Add a migration assistance page/processor on getpersonas (see diagram below)
- Add a "welcome to AMO" page/processor on AMO (see diagram below)
- (optionally) make the final "welcome to AMO" page the user's profile. example
Step 5
If you're here, you're over the hump! At this point we should start redirecting pages. Personas detail pages, category pages, etc. I happen
to have a list of all the URLS
on getpersonas.com which will be handy. We should continue to allow migrations, even if all other pages redirect. I'll need to file the bugs for this too.
The Personas Plus add-on will need to be altered to support (no bugs filed yet):
New favorites URLs (and potentially filtering out only personas)
New Featured add-ons URLs (currently /static/index_1.json. wtf.)
New Category featured personas URLs
Step 6
At some point in the future we should make some decisions:
At what point do we assume users will not be coming back to getpersonas.com to migrate their accounts? At that point, what happens to their
personas which will be unowned on AMO?
If that point ^^ ever happens, we should remove all code from getpersonas.com and just have it be a list of redirects.
Other interesting and relelvent bugs
Mobile Designs (ETA: Early April):
FIXED 636483 - Create mobile design for personas landing page
FIXED 636484 - Create mobile design for personas category page
FIXED 636485 - Create mobile design for personas detail page
Mobile Implementation (No ETA yet):
FIXED - Not filed but mobile pages are up and running
Unfiled - Redirect mobile UAs from getpersonas.com to AMO
These would be nice to have sometime, but aren't going to block us: