Issue 15548:
Search Engines should be synced

Issue description

Chrome Version : 3.0.190.4
URLs (if applicable) :Other browsers tested:Add OK or FAIL after other browsers where you have tested this issue:Safari 4:
Firefox 3.x: OK
IE 7:IE 8:What steps will reproduce the problem?
1. Install Google Chrome somewhere else
2. Try to import exported bookmarks to the new installation
3. Note that none of the search engine settings are imported (they weren't exported in the first place).
What is the expected result?
One should be able to export/import both bookmarks and search engines.
What happens instead?
Search engines are not exported/imported.
Please provide any additional information below. Attach a screenshot ifpossible.
Firefox provides search engine export/import by treating search engines as bookmarks with a keyword to active them
from the url bar. Google chrome supports the same feature via the "Wrench" > Options > Default Search: Manage option.
I use this feature extensively for both search engines and quick access to common sites. For example, I use keyword
'r' to go to url 'http://www.google.com/reader/view/'. Whenever I install on a new PC, or suggest a few to a friends,
I need to manually recreate the search engines for Google Chrome. Besides being tedious, this is also very error-
prone. Being able to export/import these would be VERY useful.
This is somewhat related to issue 5589 :
http://code.google.com/p/chromium/issues/detail?
id=5589&q=search%20engines&colspec=ID%20Stars%20Pri%20Area%20Type%20Status%20Summary%20Modified%20Owner%20Mstone

thanks! just to have it all in one place: the import/export is as simple as copying the file "<user>\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data" from one installation or user to the other.

You can also use SQLite Database Browser to open the Web Data file (it's a sqlite database) and export the "keywords" table as CSV. Then it can be imported into another Chrome installation without changing other settings. Someone could probably pretty easily write a shell script to do this automatically using the command-line sqlite.

I turned on sync just so I wouldn't have to copy over all my search engines; I have a bunch that are really useful to me. I was very disappointed and surprised that this didn't happen, esp since it says my preferences would be synchronized when I enabled sync.
In general, search engines in Chrome don't work the way I am used to in ff. I might not be a typical user, but this was a big reason that stopped me from switching earlier.

Syncing search engines is a definite must.
As for using the Firefox model, I disagree.
There is the afore-mentioned problems with clicking a keyword enabled bookmark - most people seem to have a special folder just for keyword bookmarks.
Having them as bookmarks makes them less discoverable. A "keyword" field isn't very obvious for a very useful feature. By placing them on the first page of the Preference dialogue, it is much more obvious and should help more people to find the feature.
Chrome also has a feature that Firefox currently doesn't - the concept of a default search engine. It would be a lot harder to merge this into bookmarks effectively, and so it makes sense to have a section to manage all of the searching options in one place, rather than splitting it or creating an obscure UI.

And the integration patch is in:
http://codereview.chromium.org/7669052/ - r99114
Search engines are now synced!
A couple caveats:
- This is currently behind about:flags, and will remain there until we complete integration testing. Hopefully it'll be promoted out of the flag for M16.
- The server side changes are not fully complete/pushed, so this feature won't work for a couple weeks. It's out now so we can test against the mock Python server (see the run_testserver project)
One more patch coming in to retroactively address some code review comments, then we can close this off.

Congratulations to everyone: the Stable Channel Chrome version 15 is out and it contains the largest improvement and it is.... Yes, syncing Search engines.
Go to wrench/about and upgrade to Chrome 15 Stable. Then you go to
about:flags
and find "allow syncing search engines" (or whatever it says in English, I use Czech Chrome). At the bottom, restart Chrome. Then you go to Wrench/Options, and in PersonalData/Personalize, you may turn on Syncing Search Engines.
I hope that all others who are subscribed will either forgive or appreciate this message from mine - as well as the first (future) message from a regular Chrome Stable user who will confirm that the syncing actually works! :-)

I don't see anything saying flags in the About Google Chrome box. Or am I misunderstanding. When I go to the wrench menu, I don't see anything that just says "about".
And I haven't seen the "sync search engines" flag anywhere. I'm updated to Chrome 15.0.874.106.

The experimental "Enable syncing search engines" seems to be working on my Mac OS Lion but I haven't fully tested it yet.
Having that said, the same setup doesn't work on my Ubuntu machine. Whenever I have the "Search Engines" option under the Sync section checked, I get the error "Could not connect to the server" while Chrome tries to log in with my Google account to sync up.
In short, the feature is still buggy. But we are seeing progress, so that's good :>

The feature is available behind a flag in 15.0.874.106 ( beta / stable ) and up.
To enable either run Chrome with the --enable-sync-search-engines switch or enable from about:flags -> Enable syncing search engines.
If you are seeing issues, please feel free to file and search the tracker if it is something we are already tracking.

Thanks for the work! One question before trying. By design, Chrome will *not* delete any search engine during the first sync, right? (If it deletes a few because of a bug, it's fine. I am only asking about the intended behaviour.)

Yes - we attempt to add all the search engines between your Chrome instances, merging them if there are duplicates. In the merge process, if there is a conflict (let's say you have two machines both with different search engines using "w" as a keyword) then we choose one engine to keep it's keyword, and we preserve the second by uniquifying it's keyword (we just append a "_" to the keyword) so you can manually resolve the conflict if you want to keep both.
If you do see instances where the first sync deletes one or more search engines, please log a bug.

16.0.904.0, with "Enable syncing search engines" turned on.
When I set up a new PC, all my search engines were sync'd, but they *all* had the "_" appended.
PCs that are always leave on seem to work OK, but the PCs that I turn off each night got a little weird until I manually adjust them. After that, they seem to be fine.

Given that this feature-request has a record number of people and to help us track correctly, please file new issues that you might be seeing. :)
Test-wise behavior is stable enough (less anything outstanding already tracked) to close this.

Sorry, it still doesn't work for me. Whenever I check the "search engines" among the things that are synchronized in Personal Settings, I get "could not connect to server" and "error signing in" as photographed in Issue 100028 . When I uncheck it, the error goes away.

I'm experiencing a problem with Chrome 15 (release channel). It syncs once and then the customize button no longer does anything. You have to disable it to get the button working again, I've disabled Search Engine sync for now.
I suspect this is why it's currently an about:flags option. Leaving sync tabs enabled is fine but I've not actually synchronised any (never ticked it) because I don't need to sync tabs.
I hope this is fixed because all I have to do when installing Chrome is login, update my search engines, change any extension settings and Chrome is just the same as my main pc. It's much better than Firefox in this respect (I wish it would sync extensions). It would mean all I've got to do is change extension settings. Hopefully this will get added too.

Steve, do you think this is ready for another go at being enabled by default? If you'd prefer to track in a separate issue or mark as blocking on an outstanding bug, feel free to close/block accordingly.

I'm also seeing the "cound not connect to the server problem." I believe I've seen it on every machine on which I've tried syncing search engines. Mac OS X Snow Leopard, OS X Lion, Windows 7 64 bit, Windows XP.
Is this the right place to report that? Apologies if not, but I see that this is being considered for rollout? Seems to me something's not ready yet.

wind/logic/stephen - Thanks for your comments... this information will be useful in tracking down the culprit. I _believe_ that these issues have been fixed in some other patches that did not make it into 15 (Stable's current version)... so when 16 rolls around they should be fixed. We'll keep an eye out on this hypothesis.
Travis - I have a patch coming up that removes the patch from flags, combines it with preferences, and also syncs the default search engine. I'd like to get this out in canary ASAP so it can bake hard before the M17 cut. Let's use this bug as an umbrella for search engines sync on by default (along side prefs)... and the other ones to track individual issues users are seeing. Sounds good?

I am seeing the same problem when trying to synch after setting the flag - never connects to the server ... also when selecting 'customise' it does not open a page to allow deselecting the search engines option.

Hey all - for those who are interested, we believe that this issue has been fixed in r102119 and just missed the boat for the stable/beta releases. If you want to try out the bleeding edge and help verify if this problem still exists, you can try to reproduce it on Chrome Dev (http://www.chromium.org/getting-involved/dev-channel) and report your findings here. I can't seem to reproduce this on canary and everyone who's reported issues so far seem to be on v15 Stable.
We're also working on fixing the issue with "_"s being appended to search engines that aren't duplicates... that fix will be on the way. I'll track it in a separate bug, with evan.s' comment.

[quote]
Bookmarks are made to be clicked. Ever click a Custom Search bookmark? It's not pretty.
Keywords are not bookmarks.
[/quote]
Forcing any keyword to be a search engine is equally missing the boat. Most of my keywords on bookmarks in Firefox don't use a %s at all. I just want to type tt in the url bar and be taken to my company's ticket queue for our group. Setting that up as a "search engine" is completely unintuitive and forces me to create redundant bookmarks. One as a bookmark and one as a "search engine" that doesn't actually search for anything.

I agree with Jeff and partly Rick; and it was an older issue I proposed. I also have quite a few bookmarks aside from separately produced search engines with the same URL without %s - a completely useless redundancy. Every bookmark should have the right to get a keyword and every bookmark should get the right to get an %s query in it; and in other words, every search engine should be allowed to be added to bookmarks, clicked upon, and offered a small box to fill the query (%s).
In other words, bookmarks and search engines should be unified. This still doesn't prevent the right-click/omnibox/search-engines-edit: this page could simply open the bookmark manager and filter and list only all the generalized bookmarks that have (at least one) %s in them: there would be a checkbox saying "list bookmarks without %s" and checkbox "list bookmarks with %s" in the bookmark manager. One should also be able to do the other filter - listing bookmarks without %s only.
The bookmark manager should allow you to add a search engine i.e. a bookmark with %s, too. I guess you get my point. These search engines could also be naturally organized into the bookmark folders, just like other bookmarks. Those of us who use lots of search engines surely do realize that they're naturally divided to folders, too. I am using lots of search engines related to science - searches for papers etc. - that naturally belong to the science folders in bookmarks, and so on. Because there are no folders for search engines now etc., I surely have lots of redundant or obsolete ones and it's hard to find them.

So what you are proposing is extending the UI for keywords beyond just keywords, and possibly grouping the new UI with bookmarks.
I recommend creating a new issue on this proposal and posting your thoughts there.

Thanks, I don't feel that posting proposals randomly works. One would have to hire a P.R. agency. Moreover, I did exactly what you suggest 2 years ago, in Issue 17342 . Everyone is free to register for that old issue but I don't expect anything to happen. ;-)

For clarity on the bookmarks/keywords/search engines issue:
* I agree that keywords on bookmarks are a distinct feature from keywords on search engines (and one that we don't currently support well; making people add these as "search engines" is bad UX and a hack just like Firefox supporting %s in "bookmarks" instead of "search engines" is bad UX and a hack). That's bug 79835 .
* Supporting %s on bookmarks as opposed to "search engines" is WontFix. If it has a substitution portion we consider it to most properly be viewed as a "search". Similarly, unifying bookmarks and search engines is WontFix. They are different things.
* Supporting more organization of search engines is likely WontFix because the resulting utility is near zero. This would be different if we had some sort of pulldown for the address bar that you could get a hierarchical menu of search engines to select from to perform a search, but I don't see us as likely to add such a thing in the foreseeable future.
For future comments, please keep this bug focused only on syncing search engines and file separate bugs for other issues and concerns you have. This bug is already pretty sprawling and impossible to follow, so if we can't keep discussion here focused it will end up locked to comments from committers only, which isn't as nice as if people just police themselves.

as a programmer i am used to functions with zero, one, two, ... arguments.
so if i were to implement this, i would recognize bookmarks called by a keyword and search engines called by a keyword and an additional search string as the same thing. keyword is kind of the function which gets called with the argument(s) given. i would even allow arbitrary %s1 %s2 and so on, so the user can make his stuff behave as he likes. why implement the same thing twice? synching as well as organizing would automatically be unified and provided for everything.

Despite running 16.0.912.63 I don't see "search engines" as component for sync in the relevant preference pane. Worse, "enable syncing search engines" is still a flag on chrome://flags. Has this been enabled for OSX build?

Am I the only one who thinks that with syncing of search engines in chrome://flags enabled and turned on in options, I can successfully synchronize search engines in Chrome Stable 16 and the "cannot login" bug is gone?