Wiki 기술과 관련된 드루팔 기능 및 모듈 소개 (정리 중)

Wiki 기술과 관련된 드루팔 기능 및 모듈 소개 (정리 중)

드루팔로도 위키를 구현하는 것은 가능하지만, 전용 위키보다는
사용이 다소 번거롭고 불필요한 기능이 많아 Wiki에 적합치 않을 수도...

어느 누구 말대로, "드루팔은 웹상의 스위스 만능칼 세트"이지만
딱 하나의 기능을 놓고 보면은 다소 장황스럽다는 느낌이 들긴 한다.
즉 오버 스펙이다.

아래 참고 글들은 "위키 구현"에 관한 기능 명세에 관한 글들이다.


The problem that I think people are having (correct me if I'm wrong) is that all of the modules used to create a wiki-like system are scattered across Drupal in an uncoordinated, difficult-to-find manner. There should be a massive reorganization of these modules. Here is a hierarchical structure of how the wiki system should be (as I view it):

Entire Drupal Wiki Functionality

* Wiki tools
o Basic wiki framework
+ Display a link to create content on page not found
+ Automatic redirect to moved pages
+ Unique title enforcement
+ Search when title typed in is not found
+ Protection from deletion and moving
+ Treating certain characters in titles as spaces
o Wiki blocks
+ Mediawiki style search box with a "go" button
+ Mediawiki style "toolbox" for each wiki node
o Wiki revisions
+ Force revisions for those without "administer nodes" permissions (without having to edit the cck fields for a node type).
+ "View changes" (diff module)
* Wiki filters
o Basic wiki filters
+ Configurable wiki filters, choosing from several standards
o Mediawiki style filters
+ Basic mediawiki syntax
+ "Category" links link to taxonomy pages
+ Integration with image modules
* Wiki display
o Basic wiki display
+ Table of Contents w/ clickable links
+ "Edit" links next to each "section" which, when clicked on, bring the user to a page to edit only that section
o Wikimedia style talk page
+ Comments on separate page
+ Link to "talk page" as a tab


* Editing for anonymous users
* Moderator role which can revert / delete pages
* Revisions for pages
* Mediawiki input format + Image assist
* Categorization via free tagging vocabulary
* Views: All pages / All categories / All Images
* Recent changes

Feature Requests (5.x only)

Feel free to add your own
1. Basic editing
2. Creating new pages
3. Linking to pages
4. TOC
5. Discussion (Talk)
6. User Friendliness
7. Classification & Hierarchies
8. History
9. Access control


Basic and necessary

・ Access control
This may be related to also the ability to have multiple wikis, but it is about who can edit the wiki. A possible approach is node access based on cck type, or a module that allows full node access awareness for cck nodes (right now it is just whether a role can create a certain type, but no viewing by role is handled).

Write in wiki format or in html
Ability to use tinyMCE or just the plain textarea, switch back and forth, etc. and tinyMCE should never gobble anything up. This was discussed at the DrupalCon presentation, but I do not have links to anything yet.

・ Category assignment
this can just be done using a textfield and free tagging, it's better than writing Category: blah blah on every page you make.

・ Revisioning and rollback
this is already done. Save as draft is helpful if you want to moderate your wiki.

・ Diffing revisions
This is handled to an extent in but Moshe explained it could work better, maybe work better with HTML.

・ Links back to a page
this may be done using the links module, but it's the idea of what links to a given story which is like the References section on the bottom here It would be nice to have this automated as opposed to having to manually assign node references.

・ CamelCase
Make a new page using new page or whatever - this is already done, but may just be buggy


1. Content Versioning - don't know
2. Content Access Control - don't know
3. Good Editor(not necessarily the wiki style markup, WYSYWYG editor would be preferable)
- TinyMCE(I use) and FCKEditor
4. WikiPage should allow for multiple independently editable, versioned Wiki Sub-content that forms the page.
- CCK Subforms. It allows for subforms(read wiki sub-content) to be visible/edited from the main CCK Page(read new Wiki Page content type)
- Has some bugs that needs fixing, or I would have been able to show how I see this working.
5. Some sort of indexing or TOC for the content.
- CCK Calculated Field should do this job by going through the page and its sub-forms to create a TOC.
6. Linking to other wikipages and sub-content
- TinyMCE has link capabilities that allow for adding links to other content