History: PhpLayersDev
Preview of version: 5
This page concerns Tiki 1.9 (BRANCH-1-9)
- Where are we?
- Where do we want to be?
- Who is working on what? (Priorities/goals/majors issues/roles)
Who is working here generally? Link UserPage.
- Bugs
- RFEs
- tech support
- patches
List of other products with similar/interesting/related features.
Here I would like to see some "editorial" content. How do our features compare to others?
This is where new features being developed and only in CVS are documented. When the CVS becomes RC/official release, the info in the CVS docs is transferred to update the official docs (FeatureXDoc).
marclaporte reports annoying js error in both IE & FireFox but can't pinpoint when & where it happens:
Line: 41
Char: 12
Error: 'numl' is undefined
Code: 0
URL: http://tikiwiki.org/tiki-index.php
Another (probably related) annoyance:
another variant is "null" or "o"
also getting "undefined" in Konqueror 3.23 (Knoppix 3.6)
Tiki seems to be using PHP Layers Menu 3.1.1 whilst several more recent versions are available
Cause
The problem is caused by certain browsers validity checking all javascript in a page - even functions that are never called in that page. Where phplayers aren't being used on a particular page, the layersmenu.js is still included. This defines the shutdown() function and several others that use variables that are defined when {phplayersmenu} is used but not defined in other cases. (LayersMenu->printHeaders() doesn't get called under these circumstances, and so numl and friends never get defined.
Experimental fix
Comment out the inclusion of layersmenu.js in header, poped the contents into lib/phplayers/libjs/layersmenu-header.ijs, which gets included by LayersMenu->printHeaders() and friends?
Committed to BRANCH-1-9 on 13th Feb 2005. May cause duplicate declaration of variable javascript errors for multiple horizontal or multiple vertical menus (but they don't currently work properly with Tiki anyway).
Tested with:
- IE6 (Windows)
- Mozilla 1.6 (Solaris) and 1.8a6 (Windows)
- Opera 7.54u2 (Windows)
- Firefox 1.0 (Windows)
...by mdavey and marclaporte
This is a temporary fix - it will go next time phplayers is updated. If the fix works for all, we need to find a more permanent way of doing the same. Probably be related to getting multiple phplayers menus working in pages, see MultiLevelMenus.
Robust fix
A permanent fix would require some major work to Tiki. The page builder needs to be re-engineered to build the HTML body first (into a buffer), keeping track of usage of things like phplayers, then once the body is done, prepare the HTML header (with only the appropriate includes) and prepend to the buffer. Finally, send the HTTP headers followed by HTTP body (from the buffer). This approach has a number of other benefits:
- Possible to calculate the content-length and content-md5 and include those HTTP headers.
- Might make some of the caching algorithms simpler
- If #2 is true, once cached, sending HTTP HEAD responses is much easier
- If #2 is true, once cached, sending HTTP caching headers is possible
Where ideas can be exchanged, debated, etc. Interested people can subscribe to the wiki page and/or to these forums as they would a mailing list.
Notes
[+]History
| Information | Version | |||||
|---|---|---|---|---|---|---|
| Marc Laporte cleanup | 8 | |||||
| luci | 7 | |||||
| luci | 6 | |||||
| Michael Davey fix typos | 5 | |||||
| Michael Davey | 4 | |||||
| Michael Davey | 3 | |||||
| Marc Laporte | 2 | |||||
| Marc Laporte | 1 | |||||