Hey all,
I come from a wiki development background. have been involved in wiki communities and circles for a while now.
I have struggled with both Liquid and Wikitools in Drupal since Drupal 4.7, and have come to the conclusion that the problem is with Freelinking.
When I first used freelinking, I loved it. But, as I tried to customize and add functionality onto wiki in Drupal, Freelinking, and specifically the way that Freelinking makes links, has become a real bane to me in constructing wiki in Drupal.
If you feel the same as me, then what I am proposing here is a new way to make links specifically for wiki in Drupal. This way of making links would work with a wiki content-type (or content type of your choosing). Would work with Drupal's search system
I am thinking of something kind of like what is described here: http://drupal.org/node/156523 and in this patch http://drupal.org/files/issues/proper_links_0.patch but basically goes further into being more like the guts of actual wiki parsers (creating direct links to nodes that are run through regular expression filters, etc) basically, creating an actual parser, and one that can work with WYSIWYG editors (in my case FCKeditor).
I have someone asking me to make this already, so no matter what looks like it will come into existince. But, I thought I'd share this proposed (albeit somewhat vague at this point) direction for feedback from those interested.
Would it really be that bad to have an actual wiki parser for Drupal? Or, is it enough to simply have the patch that allows freelinking to point straight to nodes, given that the whole linking scheme works better in Drupal through Input Filters? What do you think?

Comments
It is desperately needed,
It is desperately needed, Sam. The way Freelinking works is very poor, and I won't even mention the apparent bug whereby the lists of wiki pages needing to be created are all linked incorrectly or don't work at all.
From an optimisation point of view, you need a direct link to the actual URL (when it exists), and that link could be further optimised by utilising the title attribute to display the name of the node, or repeat the anchor text being used. All of that needs to happen automatically.
Interoperability with WYSIWYG editors is worth looking at also. My approach to this on one of my sites is to allow formatting via WYSIWYG and allow Freelinking to deal with wiki-style links using double brackets, etc.
"My approach to this on one
"My approach to this on one of my sites is to allow formatting via WYSIWYG and allow Freelinking to deal with wiki-style links using double brackets, etc."
I think that data from freelinking, or any other input filter could be processed by a module that has a more "traditional" wiki engine parser, using preg_match for page titles of specific content types (instead of Drupal search.module) possibly, to create the links
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom
Is it possible to ditch
Is it possible to ditch freelinking all together and use flexifilter/or some kind of filter to create a freelinking equivalent?
I started with freelinking, moved to Pear_wiki
I started out the same as you, but I found that the backlinks block I wanted to use (via Views 2, or backlinks module pre 6) it wouldn't work because links went through freelinking, and didn't link directly with the pages. So I swapped out freelinking and markdown as the format, and went with Pear_wiki, which uses mediawiki's markup (I like markdown better, but at the end of the day if I ever want to port my wiki to mediawiki, i can easily). Pear_wiki's links link directly to the page, so backlinks work. I'm not sure this directly answers your question, but its how I got my wiki working (http://vegaswiki.trickybits.com).
One other thing missing from wiki functionality
How to resolve a situation where two users edit the same page at the same time.
IMO, this is equally -- if not more -- critical than the ability to create links on the fly.
Only a subset of users will want to create links on the fly -- all users get really frustrated if their edits are lost due to multiple users editing the same page.
FunnyMonkey
Tools for Teachers
FunnyMonkey
Bill, I have to agree with
Bill, I have to agree with you that this is equally needed.
We could either create a lock (best way IMO) or use an edit conflict system that marks conflicts after the fact (not as good but does the job)
edit locks seem to work the best, IMO (dokuwiki and moinmoin are good examples)
I thought I found someone working on edit locks for nodes, but maybe that stalled?
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom
Check out
Checkout: http://drupal.org/project/checkout
Sorry -- I couldn't resist. We did some work with it last spring, and it was a little buggy -- we've also done some thought work internally that has resulted in some wonderful vaporware.
Not enough hours in the day...
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
I was just going to post
I was just going to post that here (http://drupal.org/project/checkout)!
This is vital (edit locking), and eventually it would be great to pool efforts on this (both edit locking, and wiki in general).
Both Auto saving and edit locking have been very buggy.
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom
Just saw this
http://drupal.org/project/glossify
This has some nice potential.
FunnyMonkey
Tools for Teachers
FunnyMonkey
@trickybits I think your
@trickybits
I think your idea of using http://drupal.org/project/pearwiki_filter is great. the only problem is that for some of the applications I am working on, where people are downloading and installing versions of preconfigured and designed drupal sites, for instance, some people may not have access to install PEAR extensions on their own servers. So, I am interested in looking at making it all self contained right in one module, or collection of files.
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom
The PEAR Wiki Filter module
The PEAR Wiki Filter module looks for the PEAR_Text_Wiki extension inside its own directory (in sites/all/modules/pearwiki_filter/Text) so it's not necessary to install PEAR extensions as root, restart Apache, etc.
I'm curious if Flexifilter sufficiently replicates MediaWiki syntax. Has anyone used it?
According to this writeup,
According to this writeup, Flexifilter is not working currently, and Pearwiki was a better choice.
And I'd consider the author a VERY reliable source: http://starbowconsulting.com/node/111
FunnyMonkey
Click. Connect. Learn.
FunnyMonkey
Looks like Pear wiki is the best route
Pear wiki seems overall like a good basis to work with, given that it supports, or affords future support, for many different types of markup, etc.
Based on http://starbowconsulting.com/node/111 it seems like Pear wiki could be a good basis for what i was hoping to come up with here 9with some additional work).
I need to set this up, and see exactly what it does, and how it might work in place of freelinking. Once strategy that is a must-have for me is to be able to use the pear wiki filter in all content types, but have the "wiki links" lead to actual "wiki" pages (as controlled by wikitools)
If pearwiki_filter really makes direct links to nodes, then this is all that I have been looking for, to allow the use of backlinks module, etc
I still want to also address Bill's suggested equally important problem of edit conflicts, though.
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom
Writeup is
Writeup is inaccurate/outdated. Flexifilter was just updated. Also, there are other filter options that can be used to achieve similar purposes. Replacement Tags and Custom Filters were two that I looked at.
Found pearwiki useless.
I don't know, Miraploy,
I don't know, Miraploy, about Pear wiki anyway. From my perspective in the universe, thinking about "wiki" choices in Drupal, Pear wiki looks like it does a lot of what I am talking about in this thread. of course, that doesn't mean that anyone else needs to do what I am talking about here.
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom
Hi, if it works for you then
Hi, if it works for you then you should by all means use it. But the other options seem more sensible to me, and well, pear-less.
christefano, Cool! this
christefano,
Cool! this seems like a flexible way to do this (putting the extensions right into the module)
Sam Rose
Social Synergy
Open Source Ecology
P2P Foundation
Sam Rose
Hollymead Capital Partners
P2P Foundation
Social Media Classroom