User:Anaaktgeboren/SearchEngineSync: Difference between revisions

no edit summary
No edit summary
Line 12: Line 12:
** implementation on mobile firefox
** implementation on mobile firefox


==  Requirements Gathering (deadline for input: july 26) ==
== Design ==
===  Requirements Gathering (deadline for input: july 26) ===
* Stakeholders
* Stakeholders
** Desktop: Gavin
** Desktop: Gavin
Line 33: Line 34:
** 3rd party plugins appear
** 3rd party plugins appear


==  Current Suggestions/Notes ==
===  Current Suggestions/Notes ===
* input
* input
** want to avoid syncing app-shipped search plugins,  origin: gavin
** want to avoid syncing app-shipped search plugins,  origin: gavin
Line 45: Line 46:
** what data represents a search plugin? and where are the keywords assoicated with it?
** what data represents a search plugin? and where are the keywords assoicated with it?


== Design & Design Review ==
=== Design Reviews if needed ===
* Data Model, core of sync
* privacy security?
** ordering of entries
** carrying code non-defaulted plugins
* Desktop design
** Major dependencies
** Product page can be made at this point
* Reviews? privacy security
* UI changes?
* UI changes?


Line 94: Line 89:
}
}
</pre></div>
</pre></div>
* Not Syncing
* Not Syncing
  * directory - machine specific
** directory - machine specific
  *lastModifiedTime - machine & directory specific. used to invalidate cache
** lastModifiedTime - machine & directory specific. used to invalidate cache
  *filepath - path to the xml, which wont exist since we arent syncing the xml and would be specific to a machine (where fx is installed, where profile is installed, etc)
** filepath - path to the xml, which wont exist since we arent syncing the xml and would be specific to a machine (where fx is installed, where profile is installed, etc)
 
 


* The OpenSearch plugins, ordering of search engines, keywords for search engines (both custom & default), and hidden flags (default engines only afaik) will be sync'ed across platforms (though the mobile client(s) will be written later)
* The OpenSearch plugins, ordering of search engines, keywords for search engines (both custom & default), and hidden flags (default engines only afaik) will be sync'ed across platforms (though the mobile client(s) will be written later)
Line 122: Line 116:
* Implement engine + xpc tests by 7-sep
* Implement engine + xpc tests by 7-sep
** most likely to get snagged here
** most likely to get snagged here
* Implement tps tests (if possible) and any remaining xpc tests by sep-14
* Implement tps tests (if possible, see dependencies) and any remaining xpc tests by sep-14
* Debugging (unknown)
* Debugging (unknown)
** 'cause there's going to a landmine somewhere
** 'cause there's going to a landmine somewhere
=== Dependencies ===
* TPS supporting desktop to mobile operations (jgriffin's team)
**TPS new data tupe addition (jgriffin's team)
* Desktop client supporting hijacked search detection (gavin?)
** so engine can be enabled by default for new or existing users
* Someone implementing the corresponding mobile engine (?)
* repositories rewrite (gps)


=== Test Plan ===
=== Test Plan ===
Line 131: Line 133:
** tps does not support the native mobile at this time. timeframe unknown for support
** tps does not support the native mobile at this time. timeframe unknown for support
** dependency - adding a new engine will require work on tps. timeframe unknown, but likely to be reasonable
** dependency - adding a new engine will require work on tps. timeframe unknown, but likely to be reasonable
*** tests cannot be written ahead of those changes to tps though
*** tests cannot really be written ahead of those changes to tps  
* Tests
* Tests
** only  reordering syncs between profile 1 & profile 2
** only  reordering syncs between profile 1 & profile 2
Line 142: Line 144:
* make sure there is heavy testing about reordering with hidden & default engines, as some of the calls may have unexpected side effects (and some functions consider hidden in counts and others do not, same deal with what counts as default)
* make sure there is heavy testing about reordering with hidden & default engines, as some of the calls may have unexpected side effects (and some functions consider hidden in counts and others do not, same deal with what counts as default)
* impacted by repositories re-write?
* impacted by repositories re-write?
== Dependencies ==
* TPS supporting desktop to mobile operations (jgriffen?)
**iirc, engine additions require changes to tps each time
* Desktop client supporting hijacked search detection (gavin?)
* Someone implementing the corresponding mobile engine (?)
* repositories rewrite (gps)
* Do we know how many custom search engines the average user has? (asa?)
* What happens when one of the default engines are removed? I do not see it reflected in the db nor json


== Scratch and Notes ==
== Scratch and Notes ==
* Insights
* Insights
** user created keywords are called 'alias'es in code, stored in search-metadata.json
** user created keywords are called 'alias'es in code, stored in search-metadata.json
Confirmed users
385

edits