Easy setup of a wiki-based knowledge management system using Tiki


Link to event: https://fosdem.org/2019/schedule/event/collab_tiki_wiki_knowledge_base/
Link to longer, uninterrupted video (tutorial): https://www.dailymotion.com/video/x72oqxe

Abstract:

I will demonstrate an easy and fast way of configuring Tiki Wiki CMS Groupware for the purpose of having a central repository for a knowledge base.

I will also explain how to manage permissions for various use cases, how to separate different topics, how to access stored knowledge.


Full Description

This presentation will start with a minimal Tiki site and show how to build structures of pages and file repositories.


I will show how to configure permissions for a publically visible and editable knowledge base, or separate knowledge bases which are restricted to groups of users and invisible to others, or intermediate scenarios with groups of editors and groups of read-only viewers.

I will show the basics of how to make the knowledge acessible, searchable, navigatable and allow comments from people who can only view it.


Table of contents

HOWTO


We start with a real-life Tiki website right after the installer was run.
Tiki version is Tiki 18 LTS (Long Term Support)

Nothing special except I put my email in Sender email field because I want people who get automated notifications to reply to me in an easy way.

Setting Tiki


I did the demo on a local VM http://fosdem.alsawiki.com You need to adapt links shown below to your own site.

Special for the FOSDEM presentation: theme trick


I set a different theme for admins than normal users to make it clear if it's an admin's view or a user's view for the people who watch the vidéo.
SettingsControl Panel
Switch to advanced mode: Switch from Basic to Advanced then Set as my default.
Look & FeelTheme
Site theme: Slate
Group theme: check

Settings → Groups → Admins
Admins group theme: Default

Now admin views are mostly white and anonymous browsing or normal users are grey.

General Tiki improvements


I set a number of configurations which make sense for our use case or are required for the site to perform as we want.

activate features http://fosdem.alsawiki.com/tiki-admin.php?page=features


General configurations http://fosdem.alsawiki.com/tiki-admin.php?page=general&cookietab=3


Look & Feel
→ Custom CSS

Copy to clipboard
footer#footer { text-align: center; } footer { border-top: 1px solid; }


Admin Wiki

Recap

Preference wiki url scheme set (Preference name: wiki_url_scheme)
Preference feature page title disabled (Preference name: feature_page_title)
Preference wiki page name above enabled (Preference name: wiki_page_name_above)
Preference wiki authors style set (Preference name: wiki_authors_style)
Preference wiki authors style by page enabled (Preference name: wiki_authors_style_by_page)
Preference feature wiki comments enabled (Preference name: feature_wiki_comments)
Preference feature wiki structure enabled (Preference name: feature_wiki_structure)
Preference feature wiki open as structure enabled (Preference name: feature_wiki_open_as_structure)
Preference feature wiki make structure enabled (Preference name: feature_wiki_make_structure)
Preference feature wiki categorize structure enabled (Preference name: feature_wiki_categorize_structure)
Preference feature listorphanStructure enabled (Preference name: feature_listorphanStructure)

Set up global permissions

Recap

Global permissions:
Added
Registered: tiki_p_search (tiki)
Deleted
Anonymous and all the children groups: tiki_p_download_files (file galleries)
Anonymous and all the children groups: tiki_p_view (wiki)
Anonymous and all the children groups: tiki_p_search (tiki)


Reload user browser: Lost access to everything, as expected.
Ugly message: Let's fix that.

Reorganise modules and HomePage

For the benefit of visitors.

HomePage

Copy to clipboard
! Welcome to this FOSDEM talk demo site The purpose of this website is to demonstrate how to set up a site for collaborating efficiently with different customers which don't know about each other. As a Tiki and Free Software specialist freelancer, I have been using this system for my own communication with my customers for 8 years. They like it.


Remove list of authors.

Edit HomePage object permissions
Anonymous can view

Set Modules


SettingsModules

Move login module from top to left
position: 1
mode: module

Add Since last visit to right section
Only visible to Registered

Add Search module to right (with more time, it might be nicer in top section but detailed placing requires CSS)

Restrict Menu 42 module to Admins

Reload user browser: View the site for Anonymous users (not logged in)

Create a new workspace for AACMEE Corp (aacmee)

Totally fictitious Corporation, don't sue! :-)

Create category aacmee

Uncheck Apply parent category permissions

Create group aacmee

Set Group permissions for category aacmee


"Categories" → "Admin Categories" → aacmee (spanner) → Permissions

Select group aacmee for display.

All permissions are set for group aacme

Recap

Object permissions for the category aacmee (ID 1):
Added

aacmee: tiki_p_blog_post (blogs)
aacmee: tiki_p_read_blog (blogs)
aacmee: tiki_p_view_category (category)
aacmee: tiki_p_add_object (category)
aacmee: tiki_p_remove_object (category)
aacmee: tiki_p_download_files (file galleries)
aacmee: tiki_p_upload_files (file galleries)
aacmee: tiki_p_list_file_galleries (file galleries)
aacmee: tiki_p_view_file_gallery (file galleries)
aacmee: tiki_p_admin_file_galleries (file galleries)
aacmee: tiki_p_batch_upload_files (file galleries)
aacmee: tiki_p_create_file_galleries (file galleries)
aacmee: tiki_p_edit_gallery_file (file galleries)
aacmee: tiki_p_remove_files (file galleries)
aacmee: tiki_p_view_fgal_explorer (file galleries)
aacmee: tiki_p_view_fgal_path (file galleries)
aacmee: tiki_p_upload_javascript (file galleries)
aacmee: tiki_p_view (wiki)
aacmee: tiki_p_edit (wiki)
aacmee: tiki_p_wiki_view_history (wiki)
aacmee: tiki_p_rollback (wiki)
aacmee: tiki_p_wiki_view_comments (wiki)
aacmee: tiki_p_edit_structures (wiki structure)
aacmee: tiki_p_modify_object_categories (tiki)

Create user account Vile Fox


"Admin Users" → fill

(no self-registration, only professional contacts known beforehand here)

Set him in group aacmee, also as the default group

There won't be a confirmation mail (this is a demo running on a VM). Force validation as admin (right-hand spanner for user)

Log in and set the password for Vile Fox
Tip: For the demo, we create it early and actually use it. In real life, use "switch user" as an admin in the login module for testing what he can see and do.


First create a projects file gallery to keep things orderly.


Group Monitor: aacmee

Create blog aacmee day-to-day interventions

Description:
Tasks performed for AACMEE Corp. This is for keeping track of day-to-day interventions


Categorize: aacmee

Save → Note number NNN

Group Monitor: aacmee

Create page aacmee - Homepage

aacmee - Homepage
Copy to clipboard
-= aacmee =- This section is reserved for people involved in ACME Corp and can be accessed by the following. {userlist sort="asc" link="userinfo" realname="y" group="aacmee"} {DIV(class="row")}{DIV(class="col")} __Pages of interest__ __((aacmee - HomePage))__ {toc showdesc="0"}{DIV}{DIV(class="col")}[tiki-view_blog.php?blogId=XXX|Last posts] [tiki-blog_post.php?blogId=XXX|{div type="span" class="icon icon-post fa fa-pen fa-fw " title="New post" alt="New post"}] {bloglist Id="XXX" simpleList="y"}[tiki-view_blog.php?blogId=XXX|Last posts] [tiki-blog_post.php?blogId=XXX|{div type="span" class="icon icon-post fa fa-pen fa-fw " title="New post" alt="New post"}]{DIV}{DIV} {FADE(label="Documents" icon="y")} {files galleryId="XXX" showaction="y" showfind="y" showtitle="n" showicon="y" showfilename="n" recursive="y" withsubgals="y"}{FADE}

aacmee - Homepage
Copy to clipboard
-= aacmee =- This section is reserved for people involved in ACME Corp and can be accessed by the following. {userlist sort="asc" link="userinfo" realname="y" group="aacmee"} {DIV(class="col-md-6")} __Pages of interest__ __((aacmee - HomePage))__ {toc showdesc="0"}{DIV}{DIV(class="col-md-6")}[tiki-view_blog.php?blogId=XXX|Last posts] [tiki-blog_post.php?blogId=XXX|{div type="span" class="icon icon-post fa fa-pencil fa-fw " title="New post" alt="New post"}] {bloglist Id="XXX" simpleList="y"}[tiki-view_blog.php?blogId=XXX|Last posts] [tiki-blog_post.php?blogId=XXX|{div type="span" class="icon icon-post fa fa-pencil fa-fw " title="New post" alt="New post"}]{DIV} {FADE(label="Documents" icon="y")} {files galleryId="XXX" showaction="y" showfind="y" showtitle="n" showicon="y" showfilename="n" recursive="y" withsubgals="y"}{FADE}


(Tiki 18 used Bootstrap 3 and the third-party fontawesome library glyphs changed names)

Note structure number: NMM
http://projects.alsawiki.com/tiki-edit_structure.php?page=aacmee+-+Homepage&page_ref_id=NMM

Group monitor structure: aacmee

Create custom module


So as to let users and yourself find their way.

Admin → Modules
Create new custom module

Name: Custom menu aacmee
Title: aacmee
x ← Must be wiki parsed.

Data:

Data template
Copy to clipboard
__((aacmee - HomePage))__ {module module="menu" notitle="y" nobox="y" structureId="XXX" type="vert"} __[fileXXX|Documents]__ __[blogXXX|Day-to-day activity] <a href="tiki-blog_post.php?blogId=XXX"><span class="icon icon-post fa fa-pencil fa-fw " title="New post" alt="New post" ></span></a>__

Data already replaced with values you get if you start from scratch and follow the above instructions
Copy to clipboard
__((aacmee - HomePage))__ {module module="menu" notitle="y" nobox="y" structureId="1" type="vert"} __[file5|Documents]__ __[blog5|Day-to-day activity] <a href="tiki-blog_post.php?blogId=5"><span class="icon icon-post fa fa-pencil fa-fw " title="New post" alt="New post" ></span></a>__



→ Create

Click Assign
Position: Left
Order: 2
Groups: aacmee

Assign

Edit again (double click)
Groups: aacmee
Flip: y


Exit Modules
Validate

That's it


You can add other customers and other companies and they won't see each other.
Yet you can communicate with them and changes trigger email notifications.

Extensions and improvements


Please remember that more communication channels does not necessary lead to better communication. As an example, a small addition to the above would be to create a bug tracker for a customer/project. This would be done just like adding the blog or the file galleries above. Yet, in 8 years only a single customer of mine wanted to communicate using a bug tracker.

If you feel constrained by the end result of the above and you would like full control of forms, processes and such, you can have a much more elaborate site and more customisation using Tiki's trackers feature (which really stands for our inbuilt database/forms system).
That's more complex than the above, but also way more powerful.
Yes, if you want more control than a plain blog, you can rewrite the blog feature using trackers. Same for file galleries.

But that's off-topic.

History Source