Mime Handler DLL
First, this must be done as a mime handler. NOT as a browser helper object.
1) When registering, the dll must determine it's own name (e.g. [url removed, login to view]), and any registry entries it makes must be under "abcd" in the example. We will be renaming the dll after you deliver it to us, so it is important that this functionality work properly.
2) Fetches an configuration file from a given server once every X days. The configuration file contains a list of keywords and a list of exclusions. A sample XML file is attached.
3) Verifies that the entire configuration file was downloaded properly.
4) If the configuration file was downloaded successfully, it writes the configuation file to an internal resource (self updating dll). it then writes the date/time to another internal resource so that next time ie starts it can check to see how long it has been since last update. If you are unable to make this a self updating dll, you can utilize the registry under the key mentioned in section 1.
5) When a document is loaded and parsed, any matching keywords should be linked to a url as defined in the application. For now you can use any url (e.g. [url removed, login to view])
6) If the keyword occurs within a tag or inside of an html tag no replacements should occur.
7) The parser should only replace X number of keywords. Meaning that even if 50 matching keywords are found in the document, but our X is set to 10, then only the first 10 matches will be linked.
exclusion: no keywords should ever be highlighted if the page is served from a site listed in the exclusion list or a subdomain of that site. meaning that [url removed, login to view] and [url removed, login to view] and [url removed, login to view] and [url removed, login to view] are all excluded by adding "mywebsite" to the exclusions list.
keyword: a word or phrase in an html document. search/highlighting needs to be case insensitive.
**Please note that this project is currently for IE only. If you have the capability to create this mime handler for Firefox/Mozilla as well as Opera, please bid accordingly because we would like the added functionality.**
Speed is of the utmost importance. The more keywords that your parser can handle without bogging down/slowing down the computer the better. I would like to have several thousand keywords listed.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).