WackoWiki
![]() | |
| Developer(s) | WackoWikiTeam |
|---|---|
| Initial release | March 25, 2003[1] |
| Stable release | {{#statements:software version identifier|from=Q1304185}}[2] / Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).
|
| Repository | {{#statements:source code repository|from=Q1304185}} |
| Written in | PHP >= 7.0 |
| Engine | |
| Operating system | Cross-platform |
| Size | ≈ 2 MB (compressed) |
| Type | Wiki |
| Licence | BSD |
| Website | wackowiki.org |
Search WackoWiki on Amazon.
WackoWiki is a lightweight, expandable, multilingual wiki engine based on WakkaWiki[3]'[4].[5] The software is written in PHP, and uses MySQL/MariaDB to store pages.
WackoWiki supports different languages, localizations, email notification on changes/comments, five cache levels, design themes (skins) support, HTML5 compliance, page rights (ACLs), and page comments. WackoWiki is licensed under BSD license.
WackoWiki is developed by a small community of programmers. It is currently maintained in Germany. The latest release features UTF-8 compatibility.
WackoWiki allows the use of HTML capabilities, and uses the SafeHTML parser (written by the same developers) to strip out potentially dangerous content (JavaScript, etc.) which may cause cross-site scripting vulnerabilities.
Developers of WackoWiki also created WikiEdit, a JavaScript multi-language editor that generates wiki markup using keyboard shortcuts and toolbar buttons.
WackoWiki is used in Russia as a wiki-engine, by IT companies as a lightweight CMS and a knowledge management system, by research groups[6] and in educational context[7]. It shares several modules, developers, and a bugtracker with the NPJ engine.[8]
License
WackoWiki is free and open-source software and is distributed under the terms of the BSD license.
Development
WackoWiki has an active volunteer community for development and maintenance. Users who have made meaningful contributions to the project by submitting patches are generally, upon request, granted access to commit revisions to the project's Bitbucket/Git repository.[9].[10]'[11]. WackoWiki Community uses Mantis Bug Tracker. Standards set by the W3C and PHP Standard Recommendation (PSR) are also foundations of WackoWiki development.[11]
History
Organisational History
WackoWiki was forked from the WakkaWiki engine in 2003 when Hendrik Mans and Carlo Zottmann, the original developers, abandoned it. WackoWiki is an authorized and official "reboot" of the WakkaWiki project."[12] The software development has since been driven by a team of international contributors who are working on WackoWiki in their spare time.[13] WakkaWiki-forks like WikkaWiki, and openspaceWiki also contributed to WackoWiki code basis.
Technical/Release History
The first version of WackoWiki, R2.0, was released as a fork of WakkaWiki in March 2003.
| Version | Date | Significant changes[14] |
|---|---|---|
| R2.0 | 2003-03-25 | Initial WackoWiki release,[15] Fork from lates WakkiWiki release,[16] link function, user bookmarks, page watching, WakkaWiki formatters enhanced, community actions added |
| R3.0 | 2003-04-20 | multilingual installer, themes, XSS problem fixed |
| R3.5 | 2003-06-28 | bug fixes, diff and e-mail notification |
| R4.0 | 2004-07-31 | bug fixes, safehtml integration, new actions |
| R4.2 | 2005-03-27 | complete PHP5 compatibility, mysql 4.1 compatibility (DB locale Latin-1 only), Dozen of XSS vulnerabilities fixed |
| R4.3 | 2011-03-20 | wacko is officially alive again, number of bug fixes to the wacko community, primarily bugfixing whilst implementing user requested extra features along the way |
| R5.0 | 2012-04-22 | major feature release, normalize database second to back port, merge openSpace features, last PHP5.3 compatibility. |
| R5.1 | 2012-06-17 | major release, old legacy code removed |
| R5.4 | 2014-04-17 | major release, mainly PHP5.4 / PHP5.5 compatibility |
| R5.5 | 2018-08-02 | major release and a security update for the stable 5.x branch. mainly migration to HTML5, security related features and PHP 7.0/7.2 compatibility |
| R6.0 | 2019-12-31 | mainly Unicode support and UTF-8 migration tools, PHP 7.4 compatibility |
| R6.1 | 2021-09-04 | Implements new PHP 8 functionality and responsive GUI with improved usability, uses IntlDateFormatter for setting timezone offset and DST, PHP 8 compatibility |
Sites using WackoWiki
WackoWiki is often used in small and medium-sized companies as well as in small organizations such as research groups.[17] Notable usages of WackoWiki within governments include websites of AKSW Research Group and of the department of Business Information Systems at the University of Leipzig, Germany[18] The Russian internet search engine company Yandex uses WackoWiki for intranet workgroups.[19] WackoWiki is listed in the Free Software Directory, Open Hub, PHP Extension and Application Repository and also hosted at SourceForge.
Noteably there is a mediawiki conversion tool for transferring content from WackoWiki R.4.3 (2008) to MediaWiki databases. See: https://m.mediawiki.org/wiki/Manual:WackoWiki_Conversion
WackoWiki Features
General overview
WackoWiki inherits all features from WakkaWiki including installer and upgrader[20], utilizes common wiki software features, improvements and the following noteworthy new features.
| Common wiki software features |
|---|
|
| All features from WakkaWiki |
|
| Common WackoWiki features [21]'[22] |
|
Description of WackoWiki features
Installation
Since WackoWiki depends on a database and server software, it requires that the user have administrative privileges on a server running both PHP and a compatible type of SQL database. The Installation of WackoWiki on an existing server can also be done by non-expert users. Files need to be placed e.g. via FTP/FileZilla to /htdocs/yourwiki folder of a Linux/Apache/MySQL/PHP (LAMP) software bundle. An installation script is accessed via a Web browser to initialize the wiki's setup.[23] The WackoWiki community publishes a comprehensive installation guide.[24]
Configuration and Admin Panel
The AdminPanel provides access to numerous settings and data of your Wiki. Among other things, you can create and delete users and groups, view logs and create a backup of the database.
Tracking edits
To prevent vandalism, but also to get an overview of personal contributions or simply to easily retrieve interesting content to collaborate on, the following tracking edits features are helpful.
The Recent Changes feature, that nearly all wikis use, displays a list that contains the pages last edited, the edit summary, the timestamp and the name of the user. Also, Recent Changes and Recent Comments through the utilization of RSS can be exported as an XML file and be imported in a news aggregator. The page index also is a good feature to get an overview of the wiki and find pages to read and contribute to.
Like most wikis also WackoWiki allows us to view the version history of any given and not access a restricted page. When using the revision control link the user can choose to compare two versions of a page. WackoWiki helps users in tracking edits by providing powerful diffs between revisions. Since WackoWiki R5.5 the advanced Diff utility gives the user full revision control by displaying differences between changes made to pages in various ways e.g. full, simple, inline or source.
Authors can choose to watch/unwatch a wiki page. These page watches also appear in a watchlist when calling WackoWiki action {{mychangeswatches}}. Users are notified via email (simple diff included in the email) when anyone changed or commented page. WackoWiki also has user profile pages where the users' changes to pages, their latest comments, and uploads are shown.
Other tools for tracking edits are bookmarking, tagging and categories.
A basic principle of any wiki is hypertextual linking via concise URLs.[25] Links are a means for navigation. So is the main navigation of WackoWiki, which consists of general items like recent changes, recent comments and page index. WackoWiki software enables user bookmarks to easily be added to the main navigation for any page.
Editing interface
Clicking on the edit link of an existing page or creating a new page will enable the edit mode. WikiEdit, a JavaScript-driven GUI (Graphical User Interface) toolbar also starts by double-clicking on a WackoWiki page. The interface helps with editing a wiki web page not only by on-the-fly correction of punctuation typos & special characters. By clicking on the respective toolbar buttons or when using keyboard shortcuts - known from word processing programs - text gets converted into WackoWiki markup. Plain text in multiple-languages / alphabets is formatted, text-layout added, links and tables created, a user signature and WackoWiki actions are called also by typing WackoWiki markup into the editing interface.[26] When previewing and saving a wiki page WackoFormatter, a parser, which is a WikiText to HTML renderer, converts all input. The SafeHTML parser used when saving Wiki pages is an anti-XSS HTML parser, written in PHP.[27]
Wiki-compatible markup
The editor of WackoWiki allows the use of WackoWiki specific syntax and keywords to format a page. That way users, with a minimum visual distortion of the "source text", get a beautiful HTML after the program conversion. [28] WackoWiki uses a markup similar but not equal to TWiki and MediaWiki-Wiki-Markup, also since there is no commonly accepted standard for wiki markup.[29]
For easy conversion between wikis, there is Creole (markup) - a project "aimed at being a common markup language for wikis, enabling and simplifying the transfer of content between different wiki engines."[30]'[31] There is also a MediaWiki2WackoWiki conversion tool.
Like any wiki markup also WackoWiki markup is based on the principles WYSIWYG and WhatYouThinkIsWhatYouGet - WYTIWYG[32] That way HTML around the formatted text is protected from possible formatting errors.[33]
Basic syntax
Groups and restriction of access
WackoWiki has very good means of content access control.[29] When creating new pages, users can assign access permissions on a per-page basis. Plain text lists give the owner, who created a page, control who may read, write, comment, create subpages and upload to this page. There are special pages for integrated user management, that shows few user statistics and groups. Groups and default permissions for working with pages can also be defined through an administration panel.
Content organization
Providing means for arranging and assembling distributed information is a notable strength of WackoWiki. The software uses hyperlinks and the so-called include, export, import, category and forum actions for content organization.
Practice: URL adressing
Among the most notable are means for clustering via URL adressing. "Directories" are created by using slashes and an addressing method similar to that used for URLs:
https://example.com/yourwiki/cluster/subpage/news. In WackoWiki comments are appended to the bottom of a page, in a separate space. Users can choose through usersettings whether to show or hide a page’s comments. [34] Comments are appended to page url: https://example.com/yourwiki/cluster/comment1. URLs are also useful for processing page handler information. For example https://example.com/yourwiki/page/rename will enable users to rename pages and clusters.
Practice: action
"Actions are small scripts that prepare some content and output it at the given position in the wiki page."[17] There are actions for WackoWiki similar to Help:SpecialPages plus the option to add parameters using wiki markup.
An include action for example writes the content of the included page directly into the body of another page. The have to write {{inlude page="/cluster/subpage/news" [first_anchor="..." last_anchor="..."]}} into the wiki page. When including text segments anchors have to be defined in the included page {{anchor name="plan_start"}} your text {{anchor name="plan_end"}}.
For the owners of WackoWiki pages export and import of pages and clusters of pages to other WackoWiki instances is done by using the {{export}} and {{import}} actions. Another means for content organisation is the use of categories and forum action.
Action can be added to WackoWiki independently from program core and have to be placed into folder /action.
Caching
The caching mechanism for WackoWiki has been subject to many improvements over time.[14] Several levels of caching (backlinks, pages) bring significant performance gain compared to Wakka. For caching data WackoWiki uses the /cache folder and several subfolders for pages, templates, RSS newsfeeds, SQL-queries, and sessions. WackoWiki also supports database caching.
Templates
WackoWiki supports content templating. Content templating enables reuse of content structures among wiki pages. WackoWiki supports functional templating without parameter passing. The include page action is also usefull for reusing contents in many wiki pages.[35]
Security headers
WackoWiki supports the content security policiy standard and HTTP Strict Transport Security. The admin panel helps admin users to implement and define CSPs.[36]'[37]
Internationalization and localisation
Internationalization and localization are an integral part of software development. WackoWiki language files are separated from code and stored in special folders or files. The user interface, the installer, themes and actions (comparable to MediaWiki Special Pages), javascript files and admin panel have been translated in 14 different languages.[38]
WackoWiki Development
WackoWiki is a free software project and builds upon open source software development practices[39]'[40].[41]
Scientific findings
WackoWiki Software has been studied by international scientists. Findings help improve not only WackoWiki software but also other software and internet technologies. Research results on WackoWiki storing and cache mechanisms helped to raise questions to improve Linux NFS kernel module.[37] The usage of different security mechanisms in combination with the markup context of commonly used input sanitization or validation mechanisms in "25 popular PHP applications" with WackoWiki being one of those applications, were studied. This empirical study "helps researchers, web developers, and tool developers to focus on error-prone markup contexts and security mechanisms in order to detect and mitigate vulnerabilities".[42] Other researchers implemented the RDF authoring tool in WackoWiki. The full read/write integration of RDFauthor allows users to edit both the wiki page and the structured information/basic elements for the description of ontologies in one place.[17]
Resources to developers
The following tools help foster WackoWiki development:
- Communication channels: WackoWiki development team uses e-mail to discuss development ideas and a Forum to ask help questions.[43]
- Repository: git repository hosted by GitHub[44]
- Bug Tracking: Mantis Bugtracker to report bugs and feature requests also /dev/FeatureRequest[45]
Database

WackoWiki supports MySQL databases and PHP data objects, but the project has no contributions for PostgresSQL related code.[46] This has been studied and criticized for many open-source projects. [47]
The database of WackoWiki consists mainly of tables with data of users, pages, links, media, logging, caching and taxonomy.[48]
Limitations
Compared to other wiki software there is no section editing, but an include action. By using the include action sections of text are editable based on user/page rights. There is good English and German documentation but besides Russian only a few other languages are supported, though UTF-8 implemented. WackoWiki has a small but serious team of developers.
See also
- List of content management systems
- Comparison of wiki software
- List of wiki software
- https://tr.frwiki.wiki/wiki/WackoWiki
References
- ↑ WikiData. wikidata.org. Retrieved 2020-01-26.
- ↑ Download WackoWiki. wackowiki.org. Retrieved 2020-02-14.
- ↑ History of WakkaWiki. wackowiki.org. Retrieved 2018-08-21.
- ↑ WakkaWiki. wiki.c2.com. Retrieved 2018-08-21.
- ↑ Linux Magazin Tool Tip. linux-magazin.com. Retrieved 2020-01-26.
- ↑ R. C. Rodríguez-Hidalgo, A. M. Torres-Alfonso, Chang Zhu and F. Questier (2011). Wikis supporting research workshops in higher education. IEEE. 6th Iberian Conference on Information Systems and Technologies (CISTI 2011). Chaves. pp. 1–10.CS1 maint: Multiple names: authors list (link) Search this book on
- ↑ Torekeyev Bakhytzhan Asylkhanovich (2019). "The role of Digital Educational Resources (OER) in the field of education in teaching foreign language in a new paradigm of education". JOURNAL of Language Research and Teaching Practice. Volume #5.: 16.
- ↑ Nicolae Sfetcu (2011). Web Design & Development. LULU Press. ISBN 9781470932886. Search this book on
- ↑ WackoWiki repository. wackowiki.org. Retrieved 2020-01-26.
- ↑ WackoWiki About contributing Patches. wackowiki.org. Retrieved 2020-01-26.
- ↑ 11.0 11.1 WackoWiki CodeConventions. wackowiki.org. Retrieved 2020-01-26.
- ↑ WackoWiki documentation in English. About History. wackowiki.org. Retrieved 2018-08-21.
- ↑ WackoWiki documentation in English. Development. wackowiki.org. Retrieved 2019-06-09.
- ↑ 14.0 14.1 https://wackowiki.org/doc/Dev/ChangeLog
- ↑ "WackoWiki ChangeLog".
- ↑ "WakkaWikiChangeLog".
- ↑ web site of the department of Business Information Systems at the University of Leipzig. bi.informatik.uni-leipzig.de. Retrieved 2020-02-14
- ↑ "wiki.yandex.ru".
- ↑ About WackoWiki wackowiki.org. Retrieved 2019-06-09.
- ↑ Looks Jorge, Pedro (Adler) (2005). Looking for inspiration: a technology review for nomadic support (Report). Interaction and Presentation Laboratory (IPLab). Numerical Analysis and Computing Science (Nada). Royal Institure of Technology (KTH). Stockholm, Sweden. Retrieved 2020-02-03.
- ↑ Rafael Araújo Pires (2010). Software Knowledge Management using Wikis:a needs and features analysis (PDF) (Report of Dissertation). Faculty of Engineering of the University of Porto. Retrieved 2020-02-03.CS1 maint: Uses authors parameter (link)
- ↑ "FSFE Newsletter - September 2019".
- ↑ "WackoWiki Installation Guide". WackoWiki Team. Archived from the original on December 15, 2019. Retrieved 2020-02-04.
- ↑ Zundert, Joris van (2016). Barely Beyond the Book? (Digital Scholarlyiting: Theories and Practices, by Matthew James Driscoll and Elena Pierazzo ed.). Open Book Publishers. pp. 83–106. ISBN 9781783742400. Retrieved 29 February 2020. Search this book on
- ↑ WackoWiki Formatting. wackowiki.org. Retrieved 2020-02-12.
- ↑ https://wackowiki.org/doc/Dev/Projects/SafeHTML
- ↑ "WackoWiki Markup". WackoWiki. September 22, 2019. Retrieved 2020-01-25.
- ↑ 29.0 29.1 Lane, A. (July 2004). "Wiki: A Liberating Model of Web-Based Collaboration" (PDF). XXXIII Number 7: 29–31. Retrieved 15 February 2020.
- ↑ Sauer, Christoph; Smith, Chuck; Benz, Tomas (2007). "WikiCreole: : a common wiki markup". Association for Computing Machinery, New York, NY, USA. Proceedings of the 2007 international symposium on Wikis (WikiSym '07): 131–142. CiteSeerX 10.1.1.105.2153. doi:10.1145/1296951.1296966.
- ↑ wacko parser and unified markup, see also:https://wiki.c2.com/?WikiEngines. uverse.i-forge.net. Retrieved: 2020-02-14
- ↑ "WhatYouThinkIsWhatYouGet". wiki.c2.org. Retrieved 2020-02-14.
- ↑ ""Broken" markup should not break HTML around text". WackoWiki. September 22, 2019. Retrieved 2020-01-25.
- ↑
Richard S. Lavin, Paul A. Beaufait, and Joseph Tomei (2008). https://socialsci.libretexts.org/Bookshelves/Education_and_Professional_Development/Book%3A_Education_for_a_Digital_World_-_Advice_Guidelines_and_Effective_Practice_from_Around_Globe_(Hirtz)/25%3A_Tools_for_Online_Engagement_and_Communication/25.3%3A_Wiki_Technology_for_Online_Education
|chapter-url=missing title (help). [25] Tools for online engagement and communication (Report). In: Education for a Digital World: Advice, Guidelines, and Effective Practice from Around the Globe. Vancouver: Commonwealth of Learning; Part 5, Engagement and Communication. pp. 381–412. ISBN 9781894975292. Retrieved 2020-02-03.CS1 maint: Uses authors parameter (link) - ↑
Di Iorio, Angelo; Vitali, Fabio; Zacchiroli, Stefano (2008). Wiki Content Templating. Association for Computing Machinery. doi:10.1145/1367497.1367581. ISBN 9781605580852. Search this book on
- ↑ https://wackowiki.org/doc/Dev/Guidelines/SecurityHeaders
- ↑ 37.0 37.1
Irtegov, Dmitry; Knyazev, Igor; Mallaeva, Julia; Oleynikov, Sergey; Rootman, Michael; Solovyev, Dmitry (2014). About one approach to building low latency network file system (Proceedings of the 10th Central and Eastern European Software Engineering Conference in Russia). CEE-SECR ’14. New York, NY, USA: Association for Computing Machinery. doi:10.1145/2687233.2687248. ISBN 9781450328890. Search this book on
- ↑ WackoWiki /Dev/Translation. wackowiki.org. Retrieved 2018-08-21.
- ↑ https://wackowiki.org/doc/Dev/Guidelines/ContributingPatches
- ↑ https://events19.linuxfoundation.org/wp-content/uploads/2017/12/Methodology-of-Multi-Criteria-Comparison-and-Typology-of-Open-Source-Project-Fedir-Rykhtik-Stratis-1.pdf 5 types of open source software. One of the guiding principles is to develop in small steps
- ↑ https://wackowiki.org/doc/Org/CallForFeature
- ↑
Johannes Dahse and Thorsten Holz (2015). Experience report: an empirical study of PHP security mechanism usage (In Proceedings of the 2015 International Symposium on Software Testing and Analysis). ISSTA 2015. Association for Computing Machinery. New York, NY, USA. pp. 60–70. doi:10.1145/2771783.2771787. ISBN 9781450336208.CS1 maint: Uses authors parameter (link) Search this book on
- ↑ https://wackowiki.org/doc/Dev
- ↑ https://wackowiki.org/doc/Org/Tools/Repository
- ↑ "My View - WackoWiki Bug Tracker".
- ↑ "0000433: Needed support for postgresql - WackoWiki Bug Tracker".
- ↑ Fabien Coelho, Alexandre Aillos, Samuel Pilot, Shamil Valeev. A Field Analysis of RelationalDatabase Schemas in Open-source Software (Extended). The Third International Conference on Advances in Databases, Knowledge, and Data Applications, Jan 2011, St Marteen, Netherlands Antilles.p. 9-15. hal-00903676/DBKDA 2011 : The Third International Conference on Advances in Databases, Knowledge, and Data Applications | A Field Analysis of Relational DatabaseSchemas in Open-source Software (Extended)Fabien Coelho, Alexandre Aillos, Samuel Pilot, and Shamil ValeevCRI, Maths & Systems, MINES ParisTech,35, rue Saint Honor ́e, 77305 Fontainebleau cedex, France., https://hal-mines-paristech.archives-ouvertes.fr/hal-00903676/document
- ↑ https://wackowiki.org/doc/Dev/Database
External links
- WackoWiki homepage
- Wackowiki download
- http://c2.com/cgi/wiki?WackoWiki
- http://www.wikimatrix.org/show/WackoWiki
- PHP wiki engines at Curlie
Thanks for help!
This article "WackoWiki" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:WackoWiki. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.

