Very simple IE plugin development.
Mainly it's to read/write cookies and set the default search provider.
## Plug-in specifications
This short document describes the functionality of the plug-in. it's very basic plug-in where its all purpose is to change the default search engines and communicate a bit with our site via reading and setting cookies.
This is a full description of the requirements. The exact settings (cookies to read / write, url to use, etc.) will be delivered upon accepting the project. The final specification will not include any additional requirements other than what is already mentioned in here.
### Plug-in requirements
1. Upon every page load we need to:
a. Set cookies to our domain with some parameters (plugin_installed=true, platform=[FF/IE], version=[ver], etc.)
b. Read some other cookies from our domain, such as the 'user id' and 'product id' and store them locally in the plug-in (for later use)
Note: as set and get cookies should be on our domain and not the current loaded page/domain, usage of Win32 InternetSetCookie and InternetGetCookie (or similar) is required.
c. In case the 'product id' was changed (i.e., what we read from the cookie is different than what was stored locally in the plug-in) we need to run a function that will change all searches to our domain (let's call it "SetSearchEngines" as reference)
d. If our search provider isn't installed or not the default then we should also run "SetSearchEngines" function.
e. What "SetSearchEngines" function will do?
i. Reinstall our search provider (via AddSearchProvider function that takes url to OpenSearch xml file as parameter) without prompting the user.
ii. Change the address bar url to our "address bar url" search (i.e., this is the url that will be opened in case the user didn't enter valid url)
iii. Note: this function gets the 'product id' as param as it will be added to the OpenSearch and "address bar url" (query string or part of the url ??" this is done in order to differentiate between different products search)
2. If it's first run ever of the plug-in then:
a. Run "SetSearchEngines" (with the newly retrieved 'product id')
b. Set the default homepage to our "homepage URL"
c. Open "thank you page" on a new tab
3. When new window or tab are opened the default page to display is our page (url such as "[url removed, login to view]") ??" i.e., on "NavigateComplete" event you should set the url if it's about:blank, etc.
4. Upon disable or uninstall of the plug-in we should ask the user whether (s)he really wants to disable/uninstall the plugin and in case (s)he still wants then we should open a "feedback page" and cleanup of all internal plug-in locally stored preferences (it's just a better coding :-)
### Additional requirements:
1. Silent auto-update: every X hours the plug-in should check the latest version with the server and if there is a new version it should update itself without prompting the user.
2. Easy installation process (either download or web installation) without any user input (or 'Next' buttons).
### Browser compatibility
· IE 6-8 including support for protected mode in IE7 and IE8
· FF 3+ - only the auto-update feature is required (plug-in itself is already developed)
Code (C++) must be well-documented and fully tested on all platforms (OS / browsers).
Pseudo code will be provided before starting the project.