Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

SimpleWiki - interest check and feature requests


Go to End
Reply


19 Posts   4418 Views

Avatar
Marcus

Administrator, 87 Posts

9 November 2009 at 12:10am

Edited: 21/12/2009 10:53am

Having come across the need for wiki-like functionality for a couple of projects, and not needing a complete wiki solution as provided by something like dokuwiki, I've spent some time creating a simple page type for SilverStripe that is the beginning of something to fill that gap.

Current features

  • Wiki Page pagetype that should be created via the CMS as the main page of the 'wiki'
  • Editing wiki pages on the frontend using TinyMCE
  • Draft editing/saving, as well as publishing from the frontend
  • Creating new subpages from the frontend through the use of [[new page]] syntax
  • Simple TinyMCE plugins for creating links to other pages in the site, and inserting images
  • Ability to use HTML wysiwyg editing OR markitup based wiki editing

There's a few things I'm still working on before a proper stabilised release is submitted to silverstripe.org/modules, but it'd be great to get some feedback on what does/doesn't work for people at this stage, and feature ideas for future releases.

To install, you can download simplewiki2.tar.gz (seems attachment deletion is broken?) attached the module from http://silverstripe.org/simple-wiki-module/ and unzip it to your SilverStripe folder (note that > 2.4.x is needed because of a reliance on the changes made with nested URLs). Alternatively, if you just want to play around with a demo, go to [url]http://demo.silverstripe.com.au/modules/simplewiki/[/url] and login with demo:demo.

Attached Files
Avatar
Willr

Forum Moderator, 5513 Posts

9 November 2009 at 6:09pm

How does it compare with the current community wiki module? Ideally having 1 good wiki module is better then a couple little ones - http://open.silverstripe.org/browser/modules/wiki

Avatar
Marcus

Administrator, 87 Posts

9 November 2009 at 6:40pm

From what I've been able to determine (and this may not be 100% accurate, but based on trying it and looking through the code), the existing module is more about trying to make general pages editable on the frontend than providing specific wiki-style functionality. The existing module is built using a SiteTreeDecorator, allowing it to be attached to any page type for editing, and potentially pulls all the fields of the backend CMS through to the frontend so users can edit pages without needing to go into the CMS backend. There's also additional code in there relating to user and group creation and management that appears to have been built to meet a specific requirement, not necessarily for a generic module.

The simplewiki module is a discrete page type specifically for providing a wiki style page editing experience. The editing interface is directly in-page of the site, maintaining the existing design around the content while you're editing, and providing some additional functionality not present in the above module such as automated page creation, link selection/insertion and image selection/insertion. It's deliberately not meant to be anything approaching a more general frontend editing solution.

TLDR; The existing module seems to be trying to provide a solution to frontend editing for general pages, the simplewiki module is targetted specifically at providing wiki-style interaction with pages.

Avatar
HansR

Community Member, 140 Posts

1 December 2009 at 9:24am

I am interested in a wiki module, and was very surprised to see not one, but two modules in development.

@willr

How come that the other module is not even in the unsupported list? I searched through the modules list first and found nothing; then I searched the forums and this was the first result from someone who was actually writing a wiki module.

@Marcus

I just tried the demo, and there are a few things missing that I think are important:
- log-in and log-out buttons. There needs to be at least a link saying "log in to edit"
- The ability to register a new account (need a link on the wiki page). Naturally the website owner should be able to choose if new users have to be approved before they can edit or not
- Buttons to add and remove new pages and sub-pages

Some way of viewing edit history, and detecting an edit "war" would be useful too, along with the ability of moderators to lock a page if things get out of hand.

I think that I prefer your approach of creating a separate wiki page type to what you think that the other wiki module is doing. It's much clearer if you create a wiki with a specific page type rather than flicking a switch on an existing page.

Hans

Avatar
Willr

Forum Moderator, 5513 Posts

1 December 2009 at 9:32am

How come that the other module is not even in the unsupported list?

Because it hasn't been released yet. The list on open.silverstripe.org/browser/modules includes modules that are currently being working on and they may or may not have been deemed safe for public release yet.

Avatar
Marcus

Administrator, 87 Posts

1 December 2009 at 3:18pm


- log-in and log-out buttons. There needs to be at least a link saying "log in to edit"
- The ability to register a new account (need a link on the wiki page). Naturally the website owner should be able to choose if new users have to be approved before they can edit or not

I may add something to the module for making this process easier at a later point in time, but for now this is really up to the site builder to use their own method for letting users register and sign-in to frontend pages. As the 'edit' url for a page is just its link + /edit, it's relatively trivial for a site designer to incorporate a link however they wish to


- Buttons to add and remove new pages and sub-pages

At the moment sub-pages can be added by using the [[link]] syntax, but there's no way to nicely manage the deletion of pages without accessing the backend. I might add something like a 'delete this page' button in a later release.


Some way of viewing edit history, and detecting an edit "war" would be useful too, along with the ability of moderators to lock a page if things get out of hand.

Edit history with comparison is a definite feature for down the line. I've actually just added the functionality that locks a page as soon as someone starts editing it.

I should have a proper release available late this week.

Avatar
HansR

Community Member, 140 Posts

1 December 2009 at 5:18pm

I may add something to the module for making this process easier at a later point in time, but for now this is really up to the site builder to use their own method for letting users register and sign-in to frontend pages. As the 'edit' url for a page is just its link + /edit, it's relatively trivial for a site designer to incorporate a link however they wish to

Currently your wiki demo site doesn't show an "edit page" link if you're not logged in. I realize that it's not too hard to add it yourself, but it is common functionality, so it makes sense for the module to provide this in an easy to access method. The same is true for registration; many people are likely to want something similar to the forum module's registration process, plus the ability to require moderator approval before new users can edit pages.

At the moment sub-pages can be added by using the [[link]] syntax, but there's no way to nicely manage the deletion of pages without accessing the backend. I might add something like a 'delete this page' button in a later release.

Explicit new page, sub-page and delete page buttons would be more intuitive then it happening implicitly when you create a link. That actually raises an another important item, wiki documentation, although that could come later.

I should have a proper release available late this week.

Sounds good, I'll have a look at it when you're done.

Hans

Avatar
HansR

Community Member, 140 Posts

14 December 2009 at 1:29pm

@Marcus

One other thing, is it possible to add creating/editing tables to the editor? One of the things that I'd be using a wiki for is a page listing hardware compatibility with a driver, and having a table is essential for this.

Hans

Go to Top