History: FOSDEM 2019 presentation making of
Source of version: 14 (current)
Copy to clipboard
! 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. ^ {maketoc} -=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. ''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. !! 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] * Blogs * Category * Group watches General configurations [http://fosdem.alsawiki.com/tiki-admin.php?page=general&cookietab=3] * Use group homepages * Go to the group homepage only if logging in from the default homepage Look & Feel → Custom CSS {CODE()} footer#footer { text-align: center; } footer { border-top: 1px solid; } {CODE} Admin Wiki * General Preferences ** Wiki URL scheme: ''Replace spaces with underscores'' ** uncheck --Display page name as page title -- ** Display page name above page ** List authors: collaborative ** Allow override per page * Features ** Comments below wiki pages ** Structures ** Make structure from page ** Categorize structure pages together ** Disable inherited direct object permissions ** Pages not in structure {FADE(label="Recap" icon="y")} 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) {FADE} !! Set up global permissions * Blogs + ''none'' * Category + ''none'' * Comments + add ''Registered can read comments'' + add ''Registered can post comments'' * File galleries + delete ''Can download files'' + ''none'' * Group + ''none'' * User + ''none'' * Wiki + delete ''Can view page/pages'' + ''none'' * wiki structure + ''none'' * Tiki + change ''Registered can search'' {FADE(label="Recap" icon="y")}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) {FADE} 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 {CODE()} ! 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. {CODE} Remove list of authors. Edit HomePage -+object permissions+- ''Anonymous can view'' !! Set Modules ''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) ! Create a new workspace for AACMEE Corp (aacmee) Totally fictitious Corporation, don't sue! :-) !! Create category aacmee *"Categories" → "Admin Categories" → Name : aacmee Uncheck ''Apply parent category permissions '' !! Create group aacmee * ''Description'': People involved in AACMEE Corp's projects. * ''Inherit permissions directly from following groups'': Registered * Group Home page: ''aacmee - Homepage'' * Set ''default Category'': aacmee +''Default category assigned to uncategorised objects edited by a user with this default group'' !! Set Group permissions for category aacmee "Categories" → "Admin Categories" → aacmee (spanner) → Permissions Select group aacmee for display. All permissions are set for group aacme * blogs + ''Can post to a blog (tiki_p_blog_post)'' + ''Can read blogs (tiki_p_read_blog)''' * category + ''Can see the category in a listing (tiki_p_view_category)'' + ''Can add objects to the category (tiki_p_modify_object_categories permission required) (tiki_p_add_object)'' + ''Can remove objects from the category (tiki_p_modify_object_categories permission required) (tiki_p_remove_object)'' * comments + ''Can post new comments (tiki_p_post_comments)'' + ''Can read comments (tiki_p_read_comments)'' * file galleries + (all but ''Can assign permissions to file galleries (tiki_p_assign_perm_file_gallery)'') * group + (none) * wiki + ''Can view page/pages (tiki_p_view)'' + ''Can edit pages (tiki_p_edit)'' + ''Can view wiki history (tiki_p_wiki_view_history)'' + ''Can roll back pages (tiki_p_rollback)'' + ''Can view wiki comments (tiki_p_wiki_view_comments)'' * wiki structure + ''Can create and edit structures (tiki_p_edit_structures)'' * Tiki + ''Can change the categories of an object (tiki_p_modify_object_categories)'' {FADE(label="Recap" icon="y")}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){FADE} !! Create user account ''Vile Fox'' "Admin Users" → fill ** username: ''Vile Fox'' ** × User must change password at next login. ** email ** × Send an email to the user in order to allow him to validate his account. (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. !! Create file Gallery ''aacmee'' First create a ''projects'' file gallery to keep things orderly. * Create file Gallery ''aacmee'' in ''Projects'' → Keep track of number NNN ** Optionally, create ''aacmee'' → ''Invoices'' Group Monitor: aacmee !! Create blog ''aacmee day-to-day interventions'' * Create blog ''aacmee day-to-day interventions'' Description: ^Tasks performed for AACMEE Corp. This is for keeping track of day-to-day interventions^ * Allow search Categorize: aacmee → ''Save'' → Note number NNN Group Monitor: aacmee !! Create page ''aacmee - Homepage'' {TABS(tabs="Tiki 21|Tiki 18" toggle="n" inside_pretty="n")}{CODE(caption="aacmee - Homepage")}-= 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} {CODE} ///// {CODE(caption="aacmee - Homepage")}-= 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} {CODE}{TABS} (Tiki 18 used Bootstrap 3 and the third-party fontawesome library glyphs changed names) *''Make Structure'' on ''aacmee - Homepage'' *Categorise all pages in structure together → aacmee 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: {CODE(caption="Data template" wrap="1")}__((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>__{CODE} {CODE(caption="Data already replaced with values you get if you start from scratch and follow the above instructions" wrap="1")}__((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>__{CODE} → 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.