Activities for November 1-3
Posted by mholmes on 03 Nov 2006 in Activity log
November 1 2006:
- Added a Help topic for the Translation screen (interactive, with IMT).
- Added an Acknowledgements topic (DocBook XML directly coded).
- Began testing the output across various browsers.
- Determined that IE7 still has the bug relating to the absence of text in a div -- can only respond to onmouseover if there is text.
- Added some text to mitigate this, but it's impossible to make the text large enough and position it correctly to make it work well. This will have to be studied in more depth.
- Determined that Safari and Konqueror have a bug related to positioning, so offsets of click areas are wrong.
- Discovered that offsetTop and offsetLeft are calculated differently by the different browsers -- some are relative only to the offsetParent, which may be the doc and may be the actual parent. Adapted an function from the Web for calculating it recursively, which fixes that problem.
- Found another problem related to the hash in the location.hash property; Safari and Konqueror may sometimes double it. Worked around that.
One more problem with Safari not finding the data it needs to show in a popup. The problem may relate to this:
- I'm using innerHTML to copy the contents of a node to another node.
- The contents which are copied contain elements with unique ids.
- Therefore the copy operation will create duplicate ids.
This might be a solution:
- Move elements which are to be displayed as popups, rather than copying them.
- Move them back to be children of the body element and set them to display: none; before moving another element into the popup box.
- This will change the basic document structure, but none of the JavaScript will care at this point, since pointers have already been harvested on load.
- Tested on IE6 and found it's close enough to working to make it worthwhile to hack the popup code and make the popup position itself correctly in IE6. Will also do this tomorrow.
November 2 2006:
- Rewrote the DOM code to avoid innerHTML and intelligently move elements around instead of copying them.
- After proving the concept works, encapsulated this code in a DisplayHost object which can handle popups automatically.
- Tested on all browsers -- OK!
- Decided it's worth trying to support IE6, so added some special handling to make the popup work on IE6 too.
- Tested -- working.
- Began working on the problem of empty div areas not being clickable in IE. No decent solution, so we currently have a hack which does the best job possible but still leaves the edges of divs unclickable. Sad, but unavoidable; IE is crap all round (even 7, which has the same bug).
- Updated the source code on the server, and documented mdhHelp.pas library.
- Built an installer, and tested it. Seems OK.
- Tested the Help invocation system when IE is the default browser. It launches the browser, but fails to add the hash to the URL, so it doesn't navigate to the context. Will have to work on this.
- Updated the source code on the server, and added new description files where required.
November 3 2006
- Tested help system on IE6 and IE7. 6 is OK, but 7 can't handle the hash in the path which directs to a specific topic, so it's hopeless for context-sensitive help. Tested on Opera and that works fine, so:
- Rewrote the Help launching system so it looks specifically for Firefox, and failing that for Opera, before falling back to the default handler for .htm. That means that if Opera or FF is installed on the system, they will be used in preference to IE.
- Reworked the Transformer Website. In the process, added more files to the Help system, and more items to the glossary.
- Rebuilt the Help and tested it.
- Built the installer, and tested it.
- Released the application by updating the Website information.
- Posted a topic to the TAPoR news thread.
- Created an updated description of the project for the new HCMC site, and posted an inc file that can be pulled in to the HCMC projects page.