Providing an Effective Intranet Knowledge Base Using Linux and Open Source Software

https://www.kbcasestudy.info
Presenters
Clay Wells :: Systems Programmer Sr., University of Pennsylvania Lance Barbour :: Systems Administrator, University of Florida Sept. 3rd, 2009 :: Red Hat in Reality :: Strategize

1

Red Hat Summit 2009 | Clay Wells & Lance Barbour

:: Overview ::
• Introduction Definitions Concepts Roadmap System Setup Using MediaWiki Conclusion

2

Red Hat Summit 2009 | Clay Wells & Lance Barbour

:: Introduction :: Mission ::
• Apply concepts of a knowledge management • Use a software development process as a roadmap • Use RHEL (Red Hat Enterprise Linux) • Use Apache (Webserver) • Use MySQL (Database) • Use PHP (scripting/programming language) - LAMP! • Use MediaWiki

3

Red Hat Summit 2009 | Clay Wells & Lance Barbour

:: Introduction :: This IS Important! :: • Knowledge & information that is easily accessible • Provides a mechanism for sharing knowledge • Facilitates individual growth • Facilitates institutional learning 4 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Overview :: Introduction • Definitions Concepts Roadmap System Setup Using MediaWiki Conclusion 5 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

org/wiki/Knowledge_base 6 Red Hat Summit 2009 | Clay Wells & Lance Barbour . providing the means for the computerized collection.wikipedia.:: Definitions :: Knowledge Base :: “A knowledge base is a special kind of database for knowledge management. and retrieval of knowledge.” http://en. organization.

Such insights and experiences comprise knowledge.” http://en. either embodied in individuals or embedded in organizational processes or practice.wikipedia. represent. distribute and enable adoption of insights and experiences.:: Definitions :: Knowledge Management :: “Knowledge Management (KM) comprises a range of practices used in an organization to identify.org/wiki/Knowledge_management 7 Red Hat Summit 2009 | Clay Wells & Lance Barbour . create.

capture.” http://en. storage and dissemination of information.:: Definitions :: Knowledge Management System :: “Knowledge Management System (KMS) refers to a (generally IT based) system for managing knowledge in organizations for supporting creation.wikipedia.org/wiki/Knowledge_management_system 8 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Overview :: Introduction Definitions • Concepts Roadmap System Setup Using MediaWiki Conclusion 9 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Concepts :: • Knowledge Base Components • Knowledge Management • Strategic Planning • A Software Development Model 10 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Concepts :: Knowledge Base :: Knowledge base components • FAQ • How-to • Tutorial • Best Practices • White Papers 11 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

“ – The Ark Group * • Detailed KMS information beyond the scope of this paper http://www. understanding and practical know-how that individuals and organizations possess.:: Concepts :: Knowledge Management :: "Knowledge management aims to manage the ways in which we create. discover.com 12 Red Hat Summit 2009 | Clay Wells & Lance Barbour . disseminate and retain the expertise.ark-group. exploit.

Knowledge that is articulated in formal language and easily transmitted among individuals. perspective. 13 Red Hat Summit 2009 | Clay Wells & Lance Barbour . instinct and values.:: Concepts :: Types of Knowledge :: • Tacit .Personal knowledge embedded in individual experience and involving intangible factors such as personal belief. • Explicit .

:: Concepts :: Applications of Knowledge Mgmt :: • Intermediation .brokering knowledge owner to knowledge seeker • Externalization .capturing and categorizing knowledge • Internalization .retrieving knowledge in a personal manner • Cognition .applying knowledge to the business process 14 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

Where are we going? • What is the long-term objective? • What are some short-term goals? 2.:: Concepts :: Strategic Planning :: 1. How are we going to get there? • Define a roadmap • Implement LAMP & MediaWiki technologies 15 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

Why use LAMP & MediaWiki? • Very low cost for licensing and software • Proven technology! • Fully customizable • Familiar interface • Writing and retrieving documentation is very easy • Built-in revision tracking and easy rollback • The website framework already exists 16 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: Concepts :: Strategic Planning (cont.) :: 3.

and control the process of developing software. plan. Iterative and Incremental Model (Phases) • Planning & Requirements Phase • Design & Implementation Phase • Testing Phase • Evaluation Phase 17 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: Concepts :: Software Development Model :: A framework used to structure.

:: Concepts :: Iterative Model :: 18 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Overview :: Introduction Definitions Concepts • Roadmap System Setup Using MediaWiki Conclusion 19 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Roadmap :: • Analyze & Plan • Design & Review • Implement • Deployment & Maintenance 20 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Roadmap :: Analyze & Plan :: • What is useful knowledge for your company? • Where is this knowledge? • How is it stored and how can you get access to it? • What information do users need? • What information would users like? • Access and other obstacles/challenges? • Prioritize goals and objectives 21 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Roadmap :: Design & Review ::
• Which knowledge base components will be implemented • Define the ‘Categories’ of knowledge • Set milestones and timelines • Have the goals and objectives been met? • Ask a few users to review the plan & design • Modify objectives and priorities as needed

22

Red Hat Summit 2009 | Clay Wells & Lance Barbour

:: Roadmap :: Implement ::
• Get to work! • Stay focused on goals and objectives • Get feedback as features are implemented • Does anything need to be reviewed? • Are the defined milestones being met?

23

Red Hat Summit 2009 | Clay Wells & Lance Barbour

:: Roadmap :: Deploy & Maintain ::
• Deploy any milestones • Stay up-to-date with existing knowledge • Add new knowledge when available • Knowledge maintenance is key to success

24

Red Hat Summit 2009 | Clay Wells & Lance Barbour

:: Overview :: Introduction Definitions Concepts Roadmap • System Setup Using MediaWiki Conclusion 25 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: System Setup :: • LAMP • Installing MediaWiki • Customizing MediaWiki • Extending MediaWiki • Wiki Backup • The Intranet 26 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

PHP.:: System Setup :: LAMP :: Install Apache. * yum is a Linux utility used to maintain RPM packages # yum install httpd php php-mysql mysql mysql-server 27 Red Hat Summit 2009 | Clay Wells & Lance Barbour . and MySQL in one step using yum.

5) • Start Apache # /etc/init.com Displays "Red Hat Enterprise Linux Test Page" 28 Red Hat Summit 2009 | Clay Wells & Lance Barbour .Starting httpd: [ OK ] # service httpd start • Test Apache Browse to http://localhost/ or http://example.d/httpd start . 3.:: System Setup :: Apache :: • Make Apache start automatically on (re)boot # chkconfig httpd on (run levels 2. 4.

:: System Setup :: Apache :: 29 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: System Setup :: MySQL :: • Make MySQL start automatically on reboot # chkconfig mysqld on • Start MySQL for the first time # /etc/init.d/mysqld start • Set MySQL’s admin password # /usr/bin/mysqladmin -u root password ‘set-a-good-password' • Test: Connect to MySQL with the mysql client # mysql -u root -p mysql> quit. 30 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

php <?php phpinfo().php 31 Red Hat Summit 2009 | Clay Wells & Lance Barbour .com/phpinfo.:: System Setup :: PHP :: • Create a simple PHP script # cd /var/www/html/ # vi phpinfo. ?> • Test PHP Browse to http://example.

:: System Setup :: PHP :: 32 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

php) • Test your wiki 33 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: System Setup :: Installing MediaWiki :: • Get the MediaWiki install files ( by hand or use EPEL ) • Untar archive and then rename directory (by hand) • Prep the MediaWiki web-based installer (permissions) • MediaWiki Installer (web based) • Wiki database setup (web based) • Perform final steps (edit LocalSettings.

com/pub/epel/5/i386/epelrelease-5-3.fedora.:: System Setup :: Installing MediaWiki :: Using Extra Packages for Enterprise Linux (EPEL Repo) # rpm -Uvh http://download.rpm' # yum install mediawiki 34 Red Hat Summit 2009 | Clay Wells & Lance Barbour .redhat.noarch.

:: System Setup :: Installing MediaWiki :: 35 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

require login to edit .extending functionality with 3rd party plugins 36 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: System Setup :: Customizing MediaWiki :: • Changing the logo and style (CSS) • Enabling useful features in MediaWiki .short URLs .image/file uploads .

:: System Setup :: Extending MediaWiki :: 3rd Party Plug-ins by hand (some can use yum) # yum install mediawiki-Cite mediawiki-wikicalendar • • • • Code Syntax Highlighting Extension Cite Extension Semantic MediaWiki …hundreds of other extensions 37 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

tag. browse.:: System Setup :: Extending MediaWiki :: Semantic MediaWiki A free extension of MediaWiki that helps to search. and share the wiki's content. 38 Red Hat Summit 2009 | Clay Wells & Lance Barbour . evaluate. organize.

search index.:: System Setup :: Wiki Backups :: It is important to make regular backups! MediaWiki stores important data in two places: 1. metadata.Software configuration files. 2. users and their preferences. etc. Database . custom skins. images (inc.Pages and their contents. File System . deleted images) etc. 39 Red Hat Summit 2009 | Clay Wells & Lance Barbour . extensions.

This will write a backup file with the weekday in the filename so you would have a rolling set of backups.gz Use valid values for $USER.) :: A sample command to run from a crontab may look like: /usr/bin/nice -n 19 /usr/bin/mysqldump -u $USER --password=$PASSWORD $DATABASE -c | /usr/bin/nice -n 19 /bin/gzip -9 > ~/backup/wiki-$DATABASE-$(date '+%Y%m%d'). $PASSWORD.sql. $DATABASE.:: System Setup :: Wiki Backup (cont. 40 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: System Setup :: The Intranet :: • Protect your wiki and wiki server • MediaWiki Authentication Extensions .Shibboleth 41 Red Hat Summit 2009 | Clay Wells & Lance Barbour .LDAP.SSL .HTTP/Apache . LDAP/AD .

:: Overview :: Introduction Definitions Concepts Roadmap System Setup • Using MediaWiki Conclusion 42 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Using MediaWiki :: • Basic editing and formatting • Organizing with Categories • Suggested workflow for creating documentation • Wiki Management 43 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Using MediaWiki :: Editing & Formatting :: The wiki markup language • A simplified way of splitting content into sections • Adding basic emphasis to text • Interlinking concepts between articles 44 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

etc. and define the maintainers of the document. simply add this text: [[Category:MyCategory]] 45 Red Hat Summit 2009 | Clay Wells & Lance Barbour . • To make an article part of a category. define states that the particular article is in (DRAFT.:: Using MediaWiki :: Organizing :: Categorize each article in a wiki • Organize your data. FINAL.).

:: Using MediaWiki :: Workflow :: • Information dump • Create an outline for the article • Categorization • Write some documentation. apply formatting • Interlink to other articles • Revision • Tying up the last lose threads 46 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Using MediaWiki :: Wiki Management :: • Define categories and document states • Review process for documents • Using the Discussion page • Policing (Special:Pages) 47 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

• NeedsReview . or in rough draft stages.use this to denote an article that is in progress.) :: Define categories for document states • Draft . 48 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: Using MediaWiki :: Wiki Management (cont. but requires outside review of other knowledge-base team members.used to denote that an article is finished.

) :: Review process for documents • Use category state tags to find documents that need review • If needed changes are found. and are simple. make the change yourself. make comments on the Discussion (or "Talk") page of the article.:: Using MediaWiki :: Wiki Management (cont. 49 Red Hat Summit 2009 | Clay Wells & Lance Barbour . • If changes are drastic and require major rewriting.

) :: Using the Discussion page of a wiki • Allows for discussion of the article in question. without changes to the article itself.:: Using MediaWiki :: Wiki Management (cont. 50 Red Hat Summit 2009 | Clay Wells & Lance Barbour . • This can save on revisions and rollbacks required on the article.

) :: Policing the wiki Use the special pages to help you watch the state of your wiki and find articles that need attention.:: Using MediaWiki :: Wiki Management (cont. 51 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

) :: Highlights from Special:SpecialPages • Special:ShortPages • Special:LongPages • Special:WantedPages • Special:LonelyPages • Special:NewPages • Special:RecentChanges 52 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: Using MediaWiki :: Wiki Management (cont.

Often they are pages that were created as part of a larger article but were never properly finished.) :: Special:ShortPages Find especially short pages.:: Using MediaWiki :: Wiki Management (cont. Usually these are incomplete "stub" articles that have only very basic information on them. 53 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

54 Red Hat Summit 2009 | Clay Wells & Lance Barbour .) :: Special:LongPages Find overly large articles. these types of articles might benefit from being separated into several smaller articles. While not necessarily a bad thing.:: Using MediaWiki :: Wiki Management (cont.

:: Using MediaWiki :: Wiki Management (cont. 55 Red Hat Summit 2009 | Clay Wells & Lance Barbour .) :: Special:WantedPages A type of article that does not exist yet but has been referred to with an internal link from another article.

56 Red Hat Summit 2009 | Clay Wells & Lance Barbour .) :: Special:LonelyPages Articles are not linked from or transcluded into other pages.:: Using MediaWiki :: Wiki Management (cont. pages whose parent article that referenced them has been changed to no longer mention them. In other words.

57 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: Using MediaWiki :: Wiki Management (cont.) :: Special:NewPages Tracks new pages that have been recently created.

58 Red Hat Summit 2009 | Clay Wells & Lance Barbour .:: Using MediaWiki :: Wiki Management (cont.) :: Special:RecentChanges Tracks most recent changes to the entire wiki.

:: Overview :: Introduction Definitions Concepts Roadmap System Setup Using MediaWiki • Conclusion 59 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

:: Conclusion :: By utilizing a software development process as our roadmap. we are able to apply basic concepts of a knowledge management system that will provide an efficient knowledge base using Linux and open source software.kbcasestudy.info 60 Red Hat Summit 2009 | Clay Wells & Lance Barbour . https://www.

:: Conclusion :: Take Home :: • Do objectives and goals for knowledge management exist within your organization? • How can your organization refine/improve it's current knowledge base? • How can your organization benefit from the concepts and technologies presented here? 61 Red Hat Summit 2009 | Clay Wells & Lance Barbour .

62 Red Hat Summit 2009 | Clay Wells & Lance Barbour .