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 also explain how to manage permissions for various use cases, how to separate different topics, how to access stored knowledge.
Full Description
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.
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.
I did the demo on a local VM http://fosdem.alsawiki.com You need to adapt links shown below to your own site.
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.
Settings → Control Panel
Switch to advanced mode: Switch from Basic
to Advanced
then Set as my default.
→ Look & Feel → Theme
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.
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
footer#footer { text-align: center; } footer { border-top: 1px solid; }
Admin Wiki
Reload user browser: Lost access to everything, as expected.
Ugly message: Let's fix that.
For the benefit of visitors.
HomePage
! 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
Settings → Modules
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)
Totally fictitious Corporation, don't sue!
Uncheck Apply parent category permissions
"Categories" → "Admin Categories" → aacmee (spanner) → Permissions
Select group aacmee for display.
All permissions are set for group aacme
"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
Description:
Categorize: aacmee
→ Save → Note number NNN
Group Monitor: aacmee
-= 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 =- 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
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:
__((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>__
__((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
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.
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.