User suggestions for the WikkiTikkiTavi script. These may or may not be implemented! See also TaviToDo for "official" plans, and TaviPatches for available extensions.
Add suggestion
Please do add your own suggestions right here on this page. Or extend entries from other people if you feel inclined to do so.
If you'd like to discuss the refactoring of TaviSuggestions, please go to TaviSuggestions/ReFactor. (This page will be refactored sometime soon after releasing the 0.25-version...)
-
TaviTransclusion/Suggestions [edit]
Page Rename
An admin function to rename a page and to update all links to that page. Pretty straight forward, I would think, but I am not a good programmer to tackle something like that. Thanks!
Frank
Simpler install process
The perl-stuff in the install-folder should be removed and replaced by an static config.php (not generated) and install.php (for the mysql stuff) and a php replacement for main.pl.
There are users out there without telnet or ssh access (like some of my friends - and 1000x others), which pre-install tavi (for later upload).
windows(linux)-system without perl/and mysql means (for "normal users")
Tavi is written in php why should we use perl for installing (there is absolutly no need)
- I didn't have DBI.pm available so I copied and pasted the SQL queries into phpMyAdmin... I would suggest that at the very least putting the queries into a simple .sql file. However, there seems to be no reason this shouldn't be a PHP file. In most cases it would/should be the first real test of the settings in config.php. The create config script worked, but again, is there any real reason why this is a perl script and not a PHP file? --WorldMaker
- I was just preparing to install this when I opened the install directory and was shocked. PERL? That is perhaps the most retarded installation idea I have seen in a very long time. How much work would it really be to have adump of the database from phpmyadmin and an annotated config.php. Most definitely a fraction of the time needed to put the PERL scripts together.
Mailing List and Usenet Posting Import
I'd like to see a method by which we could input Usenet or Mailing List postings into TAVI. For example, I've been looking for a Wiki solution that would enable me to build a Systems Admin knowledge base -- such items would include what compile flags were used to compile a local server, and any issues encountered, to perhaps some accompanying posts (as mentioned) which would supplement any fixes or work-a-rounds, etc. etc.
Forrest
Usability
diff for the windows users
http://gnuwin32.sourceforge.net/packages/diffutils.htm
htmlspecialchars over diff-output
this will prevent inline images to show in diff output
diff without shell_exec permissions on server
Image alt-attributes
Wouldn't it be a good idea to provide some image-alt-attributes for the visualy impaired?
Syntx could be something like [http://www.server.tld/picture.jpg alt-text-goes-here]
What do you think?
Image attributes, including alt
Other basic image attributes might be worth considering such as height, width, align, border, hspace, vspace and perhaps also class, style, name, title?
<p> instead of <br>
it would be nice, if paragraphs could be separated by <p></p> instead of producing those ugly <br />-deserts. ;-)
Democratic Wiki
It would be interesting if there could be a democratic decision to fix certain pages for different periods of time. Perhaps once a majority of the registered users have registered a page for fixing it could be fixed until a majority of registered users un-register the page. All alternatives could be linked to from the fixed page.
Possible Bad Language Filters?!
I run a site for kids and would love to use Tavi to allow the kids to document the site themselves as they discover things about it. There is the problem, however, of the possible use of bad language and you know kids, if they think they can get away with it, they will. So I was wondering if you could please impliment something to filter bad language, maybe it could be something that could be turned on/off by each site using the software?
Thanks!
Some Simple Additions?
Forgive me if they already exist... -- Jason Chown
Administration improvements
The administration area could be greatly improved.
Other improvements:
Ability to easily add new pages or to go directly targetted page, to the header linkbars ("WikkiTikkiTavi | RecentChanges | Preferences | input form here").
-- JeongheeKang
BreadCrumbNavigation
OpenWiki (see OpenWiki?:OpenWiki/Features?) has a cool feature they call BreadCrumbNavigation that lists the last several pages you've been to so you can backtrack easily. Very convenient. --AndrewJorgensen
Printable page
OpenWiki also has a nice printable version. This might be an answer to the html export idea too. --AndrewJorgensen
Example: ((CD)), ((Compact Disk)), ((CompactDisk))
All three pages should address the same page and it should be possible to add another alias later like ((Compact Disc)), ((CompactDisc))
And someone from Canada: ((Disque compact)), ((DisqueCompact))
Drop Page Recent garbage added here, not in the SandBox leads me to think it would be really good to have a way to really delete a page, not just let it slip into oblivion over the next 14 days. Of course only admin would be able to do this, but I think it would make life easier without offending WikiPurists.
Table Headers Would be nice to have a way to make <th> cells in tables. -- AndrewJorgensen
Remove extra margins for headings. Using CSS, set the margin-bottom for all heading levels to 0.
Here is the history page suggestion that I'd previously emailed: Remove the "Older" and "Newer" headings from the version selection columns, and have the program automatically set the latest of the two selected versions as the newer for the diff.
Backlinks
Create a macro such that you can find out what pages link back to the current page.
Removing [ ] from links
Is there an easy way to not have the [ ] show when making links such as [NY Times] ? --CurtisNelson
I just replaced the return statement of parse_hyperlink_description in parse/transforms.php:
return preg_replace("/\\[($UrlPtn) ([^]]+)]/e", "url_token(q1('\\1'), q1('\\2'))", $text, -1);
-- SimenBrekken
Page view script
How about a simple PHP script which will take a page name as a parameter and return the page's contents. This could be useful for publishing information from a Tavi admin system to a front-end-user website real-time. It's probably trivial to do so how about it.
Underline
Italic and Bold are in, but I'm still missing __Underlined__ or __Strikethrough___.
Dynamic CSS
How about the ability to place CSS <span> tags? Perhaps [[CSS StyleName]] and [[CSS]]
PHP Scripts
Calling a predefined PHP script from within a wiki page. [[PHP Scriptname]]. For security reasons there would have to be a predefined dir in which the scripts would reside and this dir should be set in the config.php file so only those scripts can be called. This could allow Tavi to be used to administer a "normal" website with forums, database access et all.
plz drop an e-mail to mailto:pikashole@hotmail.com for the above four ideas.
I know a lot of people like MySQL, but personally I'm a PostgreSQL fan. Right now, that's the only thing holding me back from using Tavi, as everything else looks sweet.
As of somewhere in the 4.0 release of PHP, there has been a new DB.php library, which is intended to be something of a PHP equivilent library to Perl's DBI. Supposedly it's fairly stable and mostly usable right now, especially for MySQL and PostgreSQL.
Status on making Tavi fully database independant can be found at DatabaseIndependence.
File upload ability So that serious groupware can be done with Tavi! Here's something you might find useful until it gets integrated... http://phpwiki.sourceforge.net/phpwiki/index.php?UploadScript.
Cache page existence checks. Until now, I had chosen not to cache page existence checks since there didn't seem to be any great performance benefit. But I think that it might help out RecentChanges, at least if some of the names on RecentChanges tend to appear a number of times. So we should at least test out a static associative-array cache to see if there's any benefit there.
Translations Translate all the strings.
Add a watch feature. It would be cool If I could select specific pages that I want to watch, and whenever one gets updated, it would e-mail me about the change. -- GerritPadgham
Minor edits. As on c2.com and UseModWiki. Allow minor edits to be administratively prohibited.
Flag new pages. In categories, have the history URL include the version number (perhaps make it irrelevant, though). The purpose of this is to allow the user's browser to mark history links as unvisited once a page has changed -- a subtle indication that the changes haven't yet been read.
QBullets Use QBullets [1] to show e.g. external links, instead of square brackets.
Performance. Implement support for the HTTP If-modified-since header. See [2].
Preview saving. For each IP (or UserName?) cache the last previewed edit. Delete after 24 hours or when the user actually saves the edit. (I just typed in a bunch of stuff on a page, only to lose it when my computer crashed!!!)
Automatic categorization. At the top (or bottom) of each page, list all pages that include it in a category list. How do we prevent it from being clogged with "User1/Favorites", "User2/Favorites", . . . ?
More intelligent diffs. Perhaps highlighting of individual words added or deleted. Or possibly a change-bar like Why:GoldBar?.
Edit-submission mode. Where all edits must be cleared by an "editor" before they are promoted. Not sure if on a page-basis or site-basis. Has some similarity to part of MeatBall:ViewPoint?. Also useful when the level of vitriol gets too high, to allow things to cool.
Password protection. See TaviLoginIdeas.
Hierarchichal structure. I like the way ZWiki's page hierarchy works. It seems a little confusing for newbies, however. If implemented, I'd want to make it a user-definable option for which the admin decided the default setting.
User customizable link bars. Choose which links to place where (e.g., add an edit/history link to the top of each page, etc.).
Meta-category lists. See DocumentSubscriptionIdeas.
Hidden pages. Different from Cliff's MeatBall:HiddenPages?. This merely indicates pages that shouldn't display in [[! *]], but for which we'd have another wildcard, something like [[! .]]. This allows us to use some pages for system purposes, like user preferences, etc. Not sure who should be able to hide / reveal pages. Alternatively, hidden pages may simply be those enumerated in the category list on the page HiddenPages. Hmm.
Literate programming. Really wacky, probably no way it can be elegantly implemented. How about some interface whereby one might use 'Tavi to edit its own script? A la Wiki:WikiBase?.
A title index. Macro that lists all pages in an index format. Should be easy to implement.
Multiple language support. We have Unicode support to emit the characters, why not add language support for translations? It could be as simple as this: if the user's language preference string (reported by the browser) is "xx,yy,zz", then search first for PageName/xx, then PageName/yy, then PageName/zz, and lastly PageName. (Possible quandary: which of the above should it try to create if you click on an undefined page name?) There'd have to be some facility to easily view other translations; perhaps they could be listed at the bottom or top of each page.
Steal any other nifty ideas from MeatBall:WikiIdeas?, MoinMoin:MoinMoinIdeas?, ZWiki:WikiStructuringIdeas?, TWiki:TWiki/WebHome?, and elsewhere.
Allow any chars as free links. We can enter Chinese as utf-8 now, but it can not work as free links. This may be very difficult but important to Chinese users.
Logos. It's quite good to do something like this for user specified logos (e.g.$WikiLogo )
<img src="<?php echo $WikiLogo; ?>" border="0" align="right" alt="[Home]" <?php echo GetImageSize ("$WikiLogo") [3]; ?> />
This fills in the width and height attributegories (search on "newly created pages") for an approximation of the latter. -- ScottMoonen
Colours It would be nice to have a way to colour text so maybe <BLUE>Text</BLUE> im not sure hypertext markup is the best way to go for that though
Underlining This has been mentioned before but would be really useful
Cheers
With these additions Tavi will be my wiki of choice! Right now I'm using [TikiWiki] but I'm not crazy about its feature bloat. However, I do need some of the above features so I can't use Tavi right now...
Two way RSS support
Please refer to http://www.openwiki.com/. It can use a interesting macro like <code><Syndicate></code> to include a RSS. I think that it is a nice feature - hlb
Here is an idea that might even be better than Breadcrumbs - actually, it would be a kind of supplement to it. I call it MenuTitles. The idea is fairly simple. I've noticed that some pages have slashes in the title, like this: "Root/Directory/Sub-Directory". I was thinking that when such a title appears it should be possible to click separately on each section. So, for instance, in the above example clicking on the word "Root" would take me to the page named "Root" and clicking on the word "Directory" would take me to the page "Root/Directory", and clicking on the word "Sub-Directory" would take me to "Root/Directory/Sub-Directory"!!! It seems fairly easy to implement, and then the naming system would give you an automatic navigation tree!!! And if you don't want to use it, you can just not use slashes in the title!
HTML Entities. It would be nice if HTML Entities would be properly handled: → ← etc...
Entity support is not needed if Tavi is set for UTF-8. For other character sets, the browser converts foreign characters to HTML entities. After all, the HTML character set tells only in which encoding the text is transmitted, not what characters the page may contain. To solve the problem, edit parse/transforms.php function parse_htmlisms:
function parse_htmlisms($text)
{
$text = preg_replace('/&(?!#\d+;)/', '&', $text);
$text = str_replace('<', '<', $text);
return $text;
}
It will not display all entities (it was a quick hack) but will show entities converted by the browser.
--Jmz
Neighboring wiki's. Whenever I'm viewing a wikki page, I feel like I'm all alone, a lonely Wikki, but each Wikki must have neighbors surely!! Somehow, for it to be possible, if the administrator of a site wants to, should be able to have a Tavi Macro that lists the NeighborWikkis. These would be pages that lead to this Wikki I am reading, in other words, sort of like the browsers back and forward buttons, but they would change depending on what page you were on. IF A leads to B and B leads to J which leads to Q and I am on J, my neighbours would be B and Q, not A, unless A leads to J directly. --Bojan
Upload ability with max size. Ability for site admin to specify max file size for uploads, and people to be able to upload small images. Although knowledge is best diseminated via words at the moment, images are very helpful in dealing with communication. The syntax could be something like [figure2-3 This is the caption] and then when you hit save, the page after it would ask for the images to be uploaded with a browse and upload buttons. The caption would appear next to it and the figure name. The data could be stored in a directory structure, accessible via regular HTTP requests, and that directory should be Apache protected to allow reqeusts only if the referrer is the site itself, thus not allowing external linking. Afterall, the purpose is to keep it in the wiki. After upload the [figuer2-3] the figure 2-3 would be replaced by a unique image identifier, thus allowing someone to move an image to any wikki they wanted to, or re-use it on that site. It might even be possible down the road to extend it via interwikki to use interwikiimage linking. That would be neat. --Bojan
How about a Peer to Peer Wikki system? -- Bojan :) Okay I'll stop now.?!
Attachements
Allow to attach some files. Very usefull to document a project, we can so add all Word/PDF/latex/etc. documents.
Aliasing free links
Something about ((mylink)) vs. ((my link aliase))
Suggest optional syntax of the form:
((mylink)(My link alias))
History in toolbar?. As a casual user, whenever I'm browsing tru Wiki's, after 10-15 pages I feel I'm lost in the web. I don't have overview anymore where I am (I am oldskool hierarchical thinker :). So it would be good if:
Alphabetized Category List. I'm setting up a new 'Tavi site and have just started using categories. This is a nice feature, but once you get more than a few pages in the category, the long, unordered list is a bit unmanageable. It would be much more usefull if the category list were alphabetized every time a new page was added to it. --bhhenry
Dereference WantedPages
When looking at WantedPages I see lots of pages not created, but I don't know where they are created. Therefore I'm wanting a change in the macro so that it also lists on which page it found the missing link, and hopefully this page could be an edit link directly. In this way, one could look at WantedPages and go directly to either creating the wanted page, or edit the page where it was referenced thus causing it to appear in WantedPages. Do you like the idea? --EvenHolen
PageIndex see TitleSearch
a PageIndex? (like the one Wakka have http://www.wakkawiki.com/PageIndex ) is a must have for listing all the Title in Tavi.
VisualTour?
VisualTour? (see an example: http://moniwiki.sourceforge.net/wiki.php/VisualTour and http://c2.com/cgi/wiki?VisualTour and http://c2.com/cgi/tour?w3.d2/MoinMoin ) is a auto-generated image/picture presenting the relationship between all the pages with in Wiki. I've seen it in MoinMoin (may be not in MoinMoin...I can't remember) , which is a Python-based Wiki, and it is very fun and useful for any "visual-guy".
Interesting concept! When the plugins-support is integrated, this sure could be a great plugin!'' --EvenHolen
Privacy/ Access Control
As a online data-warehouse, Tavi should provides Access Control (like the one Kwiki provided) for privacy (http://www.kwiki.org/index.cgi?KwikiPrivacy}.
Text Search
Besides Title Search, Tavi should have a Text Search like what Moin wiki (http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/FrontPage) has.
Multiple lines within cells of table
Is it possible to have multiple lines within a cell of a table? That is, we can add something like <br> or <p>. -- Drake
a better way to show Diff
Since the Diff fuction is a must on any Wiki system, and I'm not satisfied with the way how Tavi' shows the diff (i.e. showing the difference in 2 blockages of paragraph even there are a word changed within the same paragraph. I think it is better to show the changed-word only (i.e. not showing it in such a "blockage way")), I've done a search on other Wiki systems to find one that makes me satisfied.
Now, I've found a way to show the changes in a all-round-satisfied way. Pls check [this] out:
It shows a paragraph which has been changed in red (the old one) and green (the new one) as what Tavi' does. However, it provides a feature which tavi' doesn't have - Highlighting the text (a small piece of text) which has been changed within these blockage.
As you seen, it keeps the old way what tavi' does and help the people who don't want to search the changed text by eyes. And therefore I believe this feature helps improving tavi'. Hoping I can see this feature in the future of Tavi'.
P.S. The [example] I provide above using [PhpWiki] as the Wiki system. However, I don't find the feature on PhpWiki's wiki site.
--Aaron Law
When doing searches, it would be helpful for the search words to be highlighted when you follow a link from the search results page. Example: I'm searching for "widget", get a couple results, and click on one of them. The document appears as follows:
Another option is to highlight the matching words by changing the background color slightly, rather than using strong text. Would this be useful to other people, or am I just taking crazy pills?
PHPDoc action
I'm doing a project in php for 8 credits ( 40 hours per credit 4 people ) in computer science at the university of twente, and we wanted to use a wiki in the proces. I thought it would be handy to have the PHPDoc directly accesible in the wiki. I wrote an action, <random base url>/tavi/index.php?page=PHPDoc&action=PHPDoc&dir=/upload/doc/.
I'm in the proccess of cleaning it up. It makes an index page into the phpdoc and copies the rest into it. Any suggestions on how i should proceed getting it listed here?
--Jillis ter Hove
See the page for ideas regarding importing and exporting multiple pages in one swift operations.
Minimum number of pages
As of today, the history of a given pages is either limited to be within the ExpirationPeriod, or to store every version. If ExpirationPeriod is set to 0. I want to change this into adding another option stating something like: Keep at leaste this given number of versions. This would make it possible to always have, say 5 versions, of any page available. No matter how old/new this pages are. This would ease maintainance on larger sites, where it's possible to get only the last two versions if the changes were made a long time ago.
I have turned on the option to separate words in wiki names. Page titles look funny though when prepositions, 'the', 'a', 'an', and the like are capitalized. Thus a link to TheFarmerInTheDell should be presented as The Farmer in the Dell instead of The Farmer In The Dell.
TranscludeSubPages? - a variation on transclude, this macro would simply render as a list of the current page's SubPages?, with a little triangles (or whatever) which toggle out to show the whole subpage.
I see one suggestion for two-way RSS capability. How about just one way? I'd like to have wiki changelogs appear as RSS. What's required for this? I know there is a FeedCreator? php library out there, i use it. I guess it would be more interesting deciding what actually goes in the RSS feed itself.
Custom Persistent Page Elements
It seems useful to implement a persistent (on every page) header, footer, and sidebar which are configurable in Preferences such that one may simply use the defaults or specify custom values where the header/footer/sidebar is simply a wiki page. (See also: TaviPatches/TopBar, TaviPatches/SideMenu). ?RichardTater
How about a simple macro to insert the current date and time?
It would be cool to have a macro that generates drop-down selector boxes that many sites use for navigation:
[[Nav PageOne PageTwo PageThree]]
This would result in the following HTML being added (as well as appropriate scripts to navigate to the selected page when the user clicks):
<select> <option value="PageOne"> <option value="PageTwo"> <option value="PageThree"> </select>
I got tired for hand-numbering lists (like in multi-step instructions). So, I created this little bit of code. All you have to do to install it is add a 'parse_counter' entry in the $ParseEngine variable inside defaults.php. This entry should go BEFORE the 'parse_htmlisms' entry. Then add these functions to transforms.php:
function parse_counter($text)
{
global $CJL_COUNTERS;
$text = preg_replace("/<counter \s*(.*)\s*(start\s*=\s*(.*))?\s*(set\s*=\s*(.*))?\s*>/iseU", "handle_counter('\\1', '\\3', '\\5')", $text);
return $text;
}
function handle_counter($id, $start=false, $set=false)
{
global $CJL_COUNTERS;
if( !$start ) $start = 1;
if( !$CJL_COUNTERS[$id] ) $CJL_COUNTERS[$id] = $start;
if( $set ) $CJL_COUNTERS[$id] = $set;
if( preg_match('/^[0-9]+$/', $CJL_COUNTERS[$id]) ) return $CJL_COUNTERS[$id]++;
else if( preg_match('/^[a-zA-Z]+$/', $CJL_COUNTERS[$id]) ) return inc_ascii($id);
else return "";
}
function inc_ascii($id)
{
global $CJL_COUNTERS;
$ret = chr(ord($CJL_COUNTERS[$id]));
$CJL_COUNTERS[$id] = chr(ord($CJL_COUNTERS[$id])+1);
return $ret;
}
Then, you use the counters like this:
Step <counter blah start=2>. do some stuff
Step <counter blah>. more stuff
Step <counter blah set=5>. more stuff
Step <counter blah>. even more stuff
:Step <counter sub1 start=a>. sub stuff
:Step <counter sub1>. more sub stuff
Which would look like this:
Step 2. do some stuff
Step 3. more stuff
Step 5. more stuff
Step 6. even more stuff
-
This macro outputs a list of pages that link to the page provided. I find that it's useful to put in the header. That way, I can easily navigate to related pages and also back to the page I came from.
function view_macro_linksto($title)
{
global $pagestore, $LkTbl;
$esc_title = addslashes($title);
$q1 = $pagestore->dbh->query("SELECT page FROM $LkTbl WHERE link='$esc_title'");
if(($r1 = $pagestore->dbh->result($q1)) && !empty($r1[0]))
{
do $text .= html_ref($r1[0], $r1[0]) . " | ";
while( $r1 = $pagestore->dbh->result($q1) );
$text = substr($text, 0, -3);
}
return $text;
}
Erm, implement [this standard] would be nice.
Every time we view/save a 'Tavi page, the program calls $PageStore->Maintain() in file ./lib/main.php to delete expired pages.
I think this function may not be called so frequently because the deleting time is not so critical, whereas we just have to call Maintain() once 14 days (as $ExpireTime is set 14).
Also, function Maintain() is so time-comsuming that the more pages stored in the database, the more time it costs. I did one thing to view all the database queries:
in ./lib/db.php:
function query($text)
{
print $text."<br>"; // add this line
if(!($qid = mysql_query($text, $this->handle)))
{ die("<strong>".LIB_ErrorDatabaseQuery."</strong><p>$text</p>"); }
return $qid;
}
And I found the server spends more time expiring old pages (most time there're no such pages) than fetching data which we really need. My 'Tavi site had more than 250 pages, and there were also 250 lines of database queries of expiring, which actually does nothing...
Another side effect is that the size of the database log expands very fast.
I suggest a very simple modification which can speed up loading. but it doesn't get to the root:
Add one line as the following.
... // Expire old versions, etc. if ($action=='save' && (rand()%$ExpireLen)==0 /*probability of 1/$ExpireLen*/) // Add this line $pagestore->maintain(); ?>
The effect is that, maintain() is called once only when any page is saved $ExpireLen times.
So, to solve this problem completely, is there any good way to make just one database query to expire all unwanted pages? And shall we store a new variable which records the last time of the maintainance? -- MiGi
The loading time becomes longer when the Tavi site and database server are located in different hosts. Even more, if they are in different domains, the connection might stop for timeout of database querying. I don't mean the fault is totally because of maintain() function, however, disabling maintain() will ease such problem.
Other wiki engines such as UseModWiki and Jot solve this problem by making maintenance a URL action rather than having it in the mainline path. I.e., to run maintenance you must visit index.php?action=maint. This solves the problem very simply. If you remember to link to that URL somewhere, you can even let search bots take care of remembering to do maintenance for you. ;-)
Make the original whole-database fetch into one query:
In lib/pagestore.php
function maintain()
...
//original:
/*$qid = $this->dbh->query("SELECT title, MAX(version) FROM $PgTbl " .
"GROUP BY title");
if ($ExpireLen != 0)
{
while(($result = $this->dbh->result($qid)))
{
$result[0] = addslashes($result[0]);
$this->dbh->query("DELETE FROM $PgTbl WHERE title='$result[0]' AND " .
"(version < $result[1] OR body='') AND " .
"TO_DAYS(NOW()) - TO_DAYS(supercede) > $ExpireLen");
}
}*/
//This do the same thing but economic!
if ($ExpireLen != 0) {
$this->dbh->query("DELETE $PgTbl FROM $PgTbl AS t1, $PgTbl AS t2".
"WHERE t1.title=t2.title AND t1.version<t2.version".
"AND TO_DAYS(NOW()) - TO_DAYS(supercede) > $ExpireLen");
}
if($RatePeriod){
...
}
I think this modification would help the performance issue a lot. If there are any better solusions please tell me. -- MiGi
We use and love Tavi on our internal network, for nearly all aspects of our small 6 person company. We are primarily a software development outfit though and would LOVE to see automatic rendering of code/syntax highlighting etc. i.e. you'd surround the code segment with tags such as and it would automatically pretty print and syntax highlight any code within them. We primarily use Java, although it would be nice to include/highlight code for any language, perhaps by specifying the language as a parameter.
Integration of Tavi with an Open Source CMS
I love Tavi, it is a good Wiki. But for some applications you need a Wiki with a permission system, which means user registrations and so on. And installation is just horrible - sorry, but it is. If Tavi could be made to plug in to an existing system which took care of the users, and also provided one-click installation it would be a really great Wiki. I know this because I have done it.
WetWiki is an integration of Tavi with the [e107] CMS: the first public beta version is [here].
Auto-create free links to existing pages
Normally, Tavi only automatically assigns links if you use WordsSmashedTogether; if you create free links, then EVERY instance of that link must be explicitly declared. It would be nice if, once a non-WordsSmashedTogether page has been created, the Wiki could automatically create links.
For example, if the page "free links" already exists, then typing it in a page would result in the Wiki automatically linking it to "free links". The same could be done for single-word pages. The only problem would be page names which are subsets of other page names, such as "PHP", "Code", "PHP Code", "PHP Code Standards", etc.
"dynamic wiki pages"
It would be nice to use wiki instead of HTML to generate simple pages on the fly because it's simpler and the resulting scripts will be less cluttered. Also it would be great to be able to use a template system (like Savant, Smarty etc) with the wiki language instead of HTML and allowing the users to edit the templates even for "dynamic wiki pages". What do you think about? It seems no wiki implementation has these features yet.
As a dynamic web page developer that would make my life easier and provide users with a simple way to edit the static parts of dynamic web pages, without any risk of breaking my PHP code. Antonio Bonifati user=ant mailhost=venus.deis.unical.it
ppp
Having a place for discussion to happen would certainly ease the clutter of pages, making them less confusing, less like a bulletin board and easier to maintain. For example on this wiki it is very difficult to separate what is valid documentation and what is just commentary. The admins of this site, or the public even if you like could keep the pages of documentation "clean" with the latest working Patches on the main page and all speculation and discussion happening in the comments.
It would be nice to have embedded math rendering from a readable, perhaps LaTeX-like, syntax to HTML, MathML or (cached) image files. One of the existing systems should be integrated. There are approaches as different as [Texvc], [fed geo] (non-GPL), [aamath] or [ACSIIMathML] .
create-db.pl
I added an 'IF NOT EXISTS' to each create line to make it possible to run create-db.pl repeatedly without getting errors.