Difference between revisions of "WikiDB/Roadmap"
From TestWiki
< WikiDB
(→Bugs: Fixed bug.) |
m (→Bugs: better description of fix.) |
||
Line 5: | Line 5: | ||
** It ''was'' to do with the site notice. ParserBeforeStrip is being called once for each interface message that uses wiki text (I assume - it's being called for that one, anyway!). I now use a flag so that the code in my hook only executes the first time it is called for a page. This will only work if (a) the hook is called for every page view (i.e. it is not avoided by caching) and (b) it is always called first. I don't know the answer to either of these, so if the bug resurfaces please let me know! --[[User:HappyDog|HappyDog]] 03:30, 23 January 2007 (GMT) | ** It ''was'' to do with the site notice. ParserBeforeStrip is being called once for each interface message that uses wiki text (I assume - it's being called for that one, anyway!). I now use a flag so that the code in my hook only executes the first time it is called for a page. This will only work if (a) the hook is called for every page view (i.e. it is not avoided by caching) and (b) it is always called first. I don't know the answer to either of these, so if the bug resurfaces please let me know! --[[User:HappyDog|HappyDog]] 03:30, 23 January 2007 (GMT) | ||
* <s>If a table doesn't have a definition, the 'data' tab is not displayed in 1.6.8 (it's ok in 1.5.6). --[[User:HappyDog|HappyDog]] 03:33, 23 January 2007 (GMT)</s> | * <s>If a table doesn't have a definition, the 'data' tab is not displayed in 1.6.8 (it's ok in 1.5.6). --[[User:HappyDog|HappyDog]] 03:33, 23 January 2007 (GMT)</s> | ||
− | ** FIXED - In | + | ** FIXED - In 1.5.6 the first tab is always 'nstab-main' - at some point this changed to include the namespace (e.g. nstab-table). Now I just check the first 6 characters equal "nstab-". |
== Administration == | == Administration == |
Revision as of 04:44, 23 January 2007
This is an (incomplete) list of features and bugs that need fixing for v1.
Bugs
-
On table display, the definition is currently above the page title and sitenotice. This only seemed to happen since I set 'MediaWiki:Sitenotice', so maybe has something to do with that - or maybe I just never noticed it for some reason? --HappyDog 00:00, 6 January 2007 (GMT)- It was to do with the site notice. ParserBeforeStrip is being called once for each interface message that uses wiki text (I assume - it's being called for that one, anyway!). I now use a flag so that the code in my hook only executes the first time it is called for a page. This will only work if (a) the hook is called for every page view (i.e. it is not avoided by caching) and (b) it is always called first. I don't know the answer to either of these, so if the bug resurfaces please let me know! --HappyDog 03:30, 23 January 2007 (GMT)
-
If a table doesn't have a definition, the 'data' tab is not displayed in 1.6.8 (it's ok in 1.5.6). --HappyDog 03:33, 23 January 2007 (GMT)- FIXED - In 1.5.6 the first tab is always 'nstab-main' - at some point this changed to include the namespace (e.g. nstab-table). Now I just check the first 6 characters equal "nstab-".
Administration
- Update tables when page is moved.
- Update tables when page is deleted.
- Update tables when page is undeleted.
- (check that rollbacks work)
- 'What links here' should show templates that are included via data tags.
Syntax
- Better data syntax: Need to allow multiple rows in a single definition.
- Also, data definitions in a DB namespace shouldn't require the 'table' attribute (default to current).
- Repeat tag - some things to iron out (see below)
- Field names need to be limited to 255 chars (DB limit)
- Field names need to have leading underscores removed (Reserved for special uses)
Repeat tag
Still quite a way to go on this, but here's where I'm up to:
Done
- Basic sort/filter is implemented. Only limited filter options available, due to a parsing issue with MW/HTML.
- Contents of repeat tag are repeated for each row with variables expanded (see below for limitations).
To Do
- Tag Contents
- Aliases are currently expanding correctly, but not in a foolproof manner (e.g. aliases that point to aliases are not handled - this is a general issue, I think)
- Undefined fields - is their current handling OK? Currently they will be expanded if defined for the row, and left as they are if not. This might be the best behaviour, but perhaps not.
- Cannot currently supply default values for empty fields. In any case (given the above point) default values for undefined fields must, by definition, be ignored (I think).
- Cannot handle nested vars. Not a problem at the moment, but if default values are allowed, the default should be allowed to be an alternative variable (e.g.
{{{ShortName}}}
should be valid syntax). - Should strip blank lines at start and end. Maybe restrict to stripping 1 line only (so <repeat> need not be on the same line as the start of it's content). Should _not_ use trim(), as we need to allow for space at start of line (wiki <pre> syntax).
- Filtering
- Can't use > in attribute values, e.g. criteria="Field>Value", as it cripples parser. Need to decide how to specify criteria.
- In general - how detailed can we get?
- Other
- Ability to have header/footer? Ideally you put your header before the repeat tag, and the footer afterwards, but tables are screwed up by this (though I might be able to fix that somehow). There may also be other situations that cause problems.
Code Tidying
- Ensure all user-visible text uses the message cache.
- Add profiling statements.
- Move datatype handlers out of WikiDB class (into separate module).
Misc
- References to tables in table="..." attributes should follow redirects. This allows tables to be moved without screwing everything up!
- Special:UnusedTables to list tables that don't have any data (opposite of Special:UndefinedTables).