Wednesday, October 24, 2007

Set up a wiki with Drupal 5

This how-to will provide you with a Drupal installation which has wiki functionality:

  • Diff for revisions and a recent changes view
  • Mediawiki input format
    • Wikilinks for the whole page and interwiki links
    • Easy image addition through image assist
    • Mediawiki style templates
  • Various views for the site



Prerequisites

Enable modules

Go to administer > site building > modules and activate the following modules:

  • Core - optional
    • blog (if you want blogs for your users)
    • book (if you need a book style part of your website)
    • path
    • search
    • upload
  • Other
    • Diff
    • Pathauto
    • PEAR wiki filter
    • Recent changes
    • Template filter
    • Wikitools
  • Views
    • Views
    • Views UI
    • Views RSS

Node types

Go to administer > content > content types and add new content types:

Wiki pages

  • Name = Wiki Page
  • Type = wiki
  • Description = A wiki page can be edited by all users.
  • Workflow options:
    • uncheck Promoted to front page
    • check Create new revision

Templates

  • Name = Template
  • Type = template
  • Description = A template can be used in other pages as replacement.
  • Workflow options:
    • uncheck Promoted to front page
    • check Create new revision

Other node types

Depending on your needs, you can set other node types like blog, page, story and image also to create new revisions.

Access rules

Go to administer > users > access control and give the authenticated user role the following permissions:

  • blog module:
    • edit own blog
  • book module:
    • create book pages
    • edit book pages
    • edit own book pages
  • comment module:
    • access comments
    • post comments withouht approval
  • image module:
    • create images
    • edit own images
    • view original images
  • img_assist module:
    • access all images
    • access img_assist
    • use original size
  • node module:
    • access content
    • create wiki content
    • edit own wiki content
    • edit wiki content
    • view revisions
  • search module:
    • search content
    • use advanced search

Wikitools

Go to administer > site configuration > wikitools and set the following options:

  • Wikipath: locate
  • Title of main page: Main Page
  • Wiki node types: select Blog entry, Page, Story, Wiki Page
    • If you have other content types for you site, you can select them too. The image and template types are not needed.
  • Options:
    • Select the options depending on your needs. If you want to allow different pages with the same name - for example a blog entry and a wiki page with the same name - then deselect the Unique Titles option. If users should be able to change the node titles then deselect the Move Protection option.

Input format

Go to administer > site configuration > input format and create a new input format:

  • Name = Mediawiki
  • Filters:
    • PEAR Wiki Filter
    • Template Filter

Select the newly created format and set it the default format.

Click configure on the Mediawiki format. And then the Rearrange Tab. Give PEAR Wiki filter a weight of 0 and the Template filter a weight of 3 and save.

Click the Configure Tab and setup the following options:

  • PEAR Wiki filter:
    • Path of PEAR packages: If you don't see the available formats alredy, set the path to the Text_Wiki PEAR package.
    • Format: Mediawiki
    • Ignore regexp: #(?<!{){{(?!})([^}]|(}}}))*(?<!{)}}(?!})#s
    • Use wikilinks: yes
    • Use wikitools: yes
    • Interwiki mapping: Set desired interwiki links
    • Use image module: yes
  • Template filter:
    • Node type for templates: Template

Image attach

Go to administer > site configuration > image assist and set the following options:

  • Other properties:
    • Default link behaviour: Link to image page
    • Default insert mode: Mediawiki (if this option does not show up, make sure the patch is applied correctly)

Set other options as desired.

Pathauto

Go to administer > site configuration > pathauto and set the following options:

  • General settings:
    • Separator: _
    • Strings to remove: remove all entries
  • Node path settings:
    • Default pattern: none
    • Pattern for Blog entry pages: blog/[user]/[title] (if blog module activated)
    • Pattern for Book pages: [book]/[title] ((if book module activated)
    • Pattern for Wiki pages: wiki/[title]

Set other options as desired.

Views

All pages

...

Images

...

Templates

...

Theme

Go to administer > site building > themes and select the Configure tab.

  • Display post information
    • uncheck Wiki pages and Book pages (if you have book module enabled)

Syntax highlighting

If syntax highlighting is needed, install the GeSHi filter module and enable it on the Mediawiki input format. Then go to administer > site configuration > geshi filter and set the desired options. Make sure to check the Try to auto-configure other filters. If problems arise, make sure that the activated filters in the Mediawiki format have the order:

  1. PEAR wiki filter
  2. Template filter
  3. GeSHi filter

Talk pages

If you want talk pages, install the Talk Pages module. This module will break direct links to comments, for example from the recent changes module!

Known problems

Due to a bug in Drupal the revisions are not working correctly at the moment. See this issue: http://drupal.org/node/114822 for the patch.

Original post: http://drupal.tschannen.net/wiki/set_up_a_wiki_with_drupal_5

16 comments:

Sifaan said...

Hi!

Thanks for this step-by-step guide!
Unfortunately, the drupal.tschannen.net has been down for some days now... I managed to find some of the modules hosted there on other sites, except for the Template Filter.

Do you have any suggestions as to where I can find this?

Thanks!
/Sifaan

Anonymous said...

I don't but look here

http://cwgordon.com/how-to-create-a-wiki-with-drupal

Doug Holton said...

I did it a bit more simply. Wiki syntax is pretty arcane to 99.9% of people out there. I just use FCKEditor + IMCE instead for WYSIWYG editing and image upload support.

Those plus wikitools and freelinking (for [[these style links]] to give folks another way to create new pages) and pathauto and you are set, after doing some configuration.
No need for img_assist or the pear filter and so forth.

I use a pathauto node path like this for wiki pages, and it even handles sub-wiki spaces for groups if you use organic groups:

wiki/[ogname-raw]/[title-raw]

I also liked Chris' suggestion at the page above to use the book module and content type for wiki pages instead of creating a new wiki page content type if you want to have your wiki pages arranged hierarchically, but I'm not using that myself at the moment.

Also I installed the talk module to have separate talk pages for wiki pages: http://drupal.org/project/talk

Instead of the recent_changes module though, I just modified the built-in drupal tracker view to use for recent changes.

Also I installed the interwiki input filter for now for links to other wikis, but again I don't need the whole mediawiki syntax support:
http://drupal.org/project/interwiki

Anonymous said...

Hi,

I followed the mentioned approach and having two doubts.
1. The final wiki page i am seeing is not able to handle wiki links. I am able to see my data with the links eg.

Java is also one of the most [[Population density|densely populated]] regions on Earth.

in the text.

Other problem include display of wiki pages. I am able to see them in the Content Module but they are not published in site anywhere.

Ram said...

Download the Template Filter module from here

Matt Robison said...

Thanks for the post. We're seriously considering Drupal for our wiki system.

Quick question though. Is it possible to have so every edit sends an email to an admin or admin group, and requires they're approval before it goes live?

Thanks!

Anonymous said...

I have just had my ColdFusion sites duplicated in Drupal 6.5. I am a newbie and just getting my bearings. I have been looking at mediawiki hosted on one of the wiki farms. Is there an advantage to hosting it on Drupal? A disadvantage in terms of maintenance? Is it available in Drupal 6.5?

Is anyone familiar with Crispy News or is there a Drupal module that allows Digg It type voting?

Thanks,

Mariyn

Anonymous said...

термометры настенные производство часов.
ручки parker шариковая Паркер Соннет .

Anonymous said...

I am grateful to you for this great content.aöf thanks radyo dinle cool hikaye very nice sskonlycinsellik very nice ehliyet turhoq home free kadın last go korku jomax med olsaoy hikaye lesto go mp3 indir free only film izle love aşk

BUY WOW GOLD said...

WOW GOLD, nice blog. its worth reading. I liked it very much

Unknown said...
This comment has been removed by the author.
Unknown said...
This comment has been removed by the author.
Unknown said...

Excellent post very interesting and very important know about this topic I was looking information about it but I couldn't find it and I need to read something about Impotence because I suffer ED and I am tired with this situation.

Soft Cialis said...

This information is very important Thanks for sharing..I really enjoyed this information =D

Anonymous said...

Excellent Job!
Premium Drupal Templates

Anonymous said...

I Know you have to pay 200$ for the iphone but i know you probably have to pay for your plan and tax charges at that moment or what ? Please help me with this question! I'm in need of an iphone.



________________
[url=http://unlockiphone22.com]unlock iphone[/url]