You can edit almost every page by Creating an account and confirming your email.

WackoWiki

From EverybodyWiki Bios & Wiki


WackoWiki
Wacko logo
WackoWiki edit-preview
Developer(s)WackoWikiTeam
Initial releaseMarch 25, 2003; 23 years ago (2003-03-25)[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 inPHP >= 7.0
Engine
    Operating systemCross-platform
    Size≈ 2 MB (compressed)
    TypeWiki
    LicenceBSD
    Websitewackowiki.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
    • Wiki editing
    • Markup
    • Linking and creating pages
    • tracking edits
    • Searching
    All features from WakkaWiki
    Common WackoWiki features [21]'[22]
    • Clusters (subpages) & relative addressing
    • Page watching & email notification on changes/comments (simple diff included in the email)
    • Supports entering text in different languages / alphabets (subject to browser limitations)
    • Uploads per page or global
    • Wiki-compatible markup
    • What You Think Is What You Get editing — table markup
    • Automatic Table Of Contents generation
    • Links can be Camel Case or Free Links
    • On-the-fly correction of punctuation typos & special characters
    • Five different forms of diff between revisions
    • Different levels of caching (backlinks, pages) bring performance gain compared to Wakka
    • Multilingual
    • Design themes (skins) support.
    • Admin panel for configuration, backup and restore

    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.

    Navigation

    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

    WackoWiki syntax (code used in edit mode to add formatting to text) Equivalent HTML (another type of code used in edit mode to add formatting to text) Rendered output (seen onscreen by a regular web user)
    "Take some more [[tea]]," the March Hare said to Alice, very earnestly.
    
    "I've had **nothing** yet," Alice replied in an offended tone, "so I can't take more."
    
    "You mean you can't take //less//," said the Hatter. "It's very easy to take //more// than nothing."
    
    <p>"Take some more <a href="/wiki/Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p>
    
    <p>"I've had <b>nothing</b> yet," Alice replied in an offended tone, "so I can't take more."</p>
    
    <p>"You mean you can't take <i>less</i>," said the Hatter. "It's very easy to take <i>more</i> than nothing."</p>
    
    "Take some more tea," the March Hare said to Alice, very earnestly.

    "I've had nothing yet," Alice replied in an offended tone, "so I can't take more."

    "You mean you can't take less," said the Hatter. "It's very easy to take more than nothing."

    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 R6.1 Database Scheme

    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

    References

    1. WikiData. wikidata.org. Retrieved 2020-01-26.
    2. Download WackoWiki. wackowiki.org. Retrieved 2020-02-14.
    3. History of WakkaWiki. wackowiki.org. Retrieved 2018-08-21.
    4. WakkaWiki. wiki.c2.com. Retrieved 2018-08-21.
    5. Linux Magazin Tool Tip. linux-magazin.com. Retrieved 2020-01-26.
    6. 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
    7. 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.
    8. Nicolae Sfetcu (2011). Web Design & Development. LULU Press. ISBN 9781470932886. Search this book on
    9. WackoWiki repository. wackowiki.org. Retrieved 2020-01-26.
    10. WackoWiki About contributing Patches. wackowiki.org. Retrieved 2020-01-26.
    11. 11.0 11.1 WackoWiki CodeConventions. wackowiki.org. Retrieved 2020-01-26.
    12. WackoWiki documentation in English. About History. wackowiki.org. Retrieved 2018-08-21.
    13. WackoWiki documentation in English. Development. wackowiki.org. Retrieved 2019-06-09.
    14. 14.0 14.1 https://wackowiki.org/doc/Dev/ChangeLog
    15. "WackoWiki ChangeLog".
    16. "WakkaWikiChangeLog".
    17. 17.0 17.1 17.2 Tramp S., Heino N., Auer S., Frischmuth P. (2010). "RDFauthor: Employing RDFa for Collaborative Knowledge Engineering" (PDF). In: Cimiano P., Pinto H.S. (eds) Knowledge Engineering and Management by the Masses. EKAW 2010. Lecture Notes in Computer Science, vol 6317. Springer, Berlin, Heidelberg.CS1 maint: Multiple names: authors list (link)
    18. web site of the department of Business Information Systems at the University of Leipzig. bi.informatik.uni-leipzig.de. Retrieved 2020-02-14
    19. "wiki.yandex.ru".
    20. About WackoWiki wackowiki.org. Retrieved 2019-06-09.
    21. 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.
    22. 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)
    23. "FSFE Newsletter - September 2019".
    24. "WackoWiki Installation Guide". WackoWiki Team. Archived from the original on December 15, 2019. Retrieved 2020-02-04.
    25. 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
    26. WackoWiki Formatting. wackowiki.org. Retrieved 2020-02-12.
    27. https://wackowiki.org/doc/Dev/Projects/SafeHTML
    28. "WackoWiki Markup". WackoWiki. September 22, 2019. Retrieved 2020-01-25.
    29. 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.
    30. 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.
    31. wacko parser and unified markup, see also:https://wiki.c2.com/?WikiEngines. uverse.i-forge.net. Retrieved: 2020-02-14
    32. "WhatYouThinkIsWhatYouGet". wiki.c2.org. Retrieved 2020-02-14.
    33. ""Broken" markup should not break HTML around text". WackoWiki. September 22, 2019. Retrieved 2020-01-25.
    34. 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)
    35. 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
    36. https://wackowiki.org/doc/Dev/Guidelines/SecurityHeaders
    37. 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
    38. WackoWiki /Dev/Translation. wackowiki.org. Retrieved 2018-08-21.
    39. https://wackowiki.org/doc/Dev/Guidelines/ContributingPatches
    40. 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
    41. https://wackowiki.org/doc/Org/CallForFeature
    42. 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
    43. https://wackowiki.org/doc/Dev
    44. https://wackowiki.org/doc/Org/Tools/Repository
    45. "My View - WackoWiki Bug Tracker".
    46. "0000433: Needed support for postgresql - WackoWiki Bug Tracker".
    47. 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
    48. https://wackowiki.org/doc/Dev/Database

    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

    External links


    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.