Foswiki

Last updated
Developer(s) Foswiki Community
Initial releaseJanuary 9, 2009;15 years ago (2009-01-09) [1] [2]
Stable release
2.1.8 [3] / 2023-08-06 [±]
Repository
Written in Perl, JavaScript
Operating system Linux, Windows, BSD, Solarix, OSX
Predecessor TWiki
Available in21 [4] languages
Type Wiki software
License GPL v2 [4]
Website foswiki.org

Foswiki is an enterprise wiki, typically used to run a collaboration platform, [5] [6] [7] knowledge base [8] [9] or document management system. Users can create wiki applications using the Topic Markup Language (TML), and developers can extend its functionality with plugins.

Contents

The Foswiki project was launched in October 2008 [2] when a dispute about the future direction of TWiki could not be settled, resulting in the decision of nearly all key TWiki contributors to fork. [10] [11] [12] [13] Since then the codebases have diverged significantly. However, Foswiki continues to maintain compatibility with content written for TWiki. Foswiki stands for "free and open source" wiki to emphasize its commitment to open source software. The project is governed by the Foswiki Association e.V, a volunteer run, non-profit foundation.

The Foswiki website is seen by some as one of the more popular Perl-related websites based upon Alexa rankings of all websites in the world. [14]

Features

Foswiki features an open architecture programmed and implemented in the Perl and JavaScript languages [4] and runs on standard web servers such as Apache, Nginx and lighttpd. With almost 70 contributors providing over 56,000 commits since its inception, [15] [16] the Foswiki team not only develops the code but also offers on-line support, including on IRC and Slack_(software). [17] Core features include a TinyMCE WYSIWYG editor, built-in search engine, default text database, and skinnable user interface, as well as RSS/Atom feeds, e-mail support, and database interfaces to support scalable database solutions[ buzzword ] such as MongoDB and MySQL. [18] [19] [20] Additional security-related features include an auditable version control system, user authentication, an access control system, cross-site request forgery protection, and improved spam-prevention extensions. [21]

Extensions

Users have contributed over 300 extensions. [22] Most of these extensions have been developed by or for corporate users, and are maintained by developers and users, as documented in the individual extension histories. Extensions have been developed to link into databases, create charts, tags, sort tables, write spreadsheets, create image gallery and slideshows, make drawings, write blogs, plot graphs, interface to many different authentication schemes, including single sign-on, track Extreme Programming projects, and others.

Application platform

Foswiki is a structured wiki [23] that acts as an application platform for web-based applications. Specifically it provides database-like manipulation of fields stored on pages, [24] and offers a SQL-like query language to support the embedding reports in wiki pages. [25] [26] [27]

Wiki applications are often called situational applications because they are created ad-hoc by users for very specific needs. For example, users have built Foswiki applications that include call center status boards, to-do lists, inventory systems, employee handbooks, bug trackers, blog applications, discussion forums, status reports with rollups and more.[ citation needed ]

User interface

The user interface is customizable through use of templates, themes and CSS. It includes support for internationalization, with support for multiple character sets, UTF-8 URLs etc. [20] [28] The English user interface has been translated by users into Bulgarian, Chinese, Czech, Danish, Dutch, French, German, Greek, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish and Klingon. [4] [29]

Deployment

Foswiki is expected to be used primarily at the workplace as a corporate wiki [30] to coordinate team activities, track projects, implement workflows [31] and as an Intranet Wiki, for example in academia.

Foswiki (among other components) was used in several research programs including Data Integration Platform for Systems Biology Collaborations, an interactive data integration platform supporting collaborative research projects, based on Foswiki, Solr/Lucene, and custom helper applications. [32]

Implementation

Foswiki is implemented in Perl and JavaScript [4] [33] (using jQuery), though it can be used without JavaScript being enabled in the browser.

By default, wiki pages are stored on the server in plain text files. Everything, including meta-data such as access control settings, are version controlled using RCS. RCS is optional since an all-Perl version control system is provided. Other server-side databases, such as MongoDB, are supported through use of extensions. [18]

Informal user reports suggest that Foswiki scales reasonably well even though it uses plain text files and no relational database to store page data, especially where load balancing and caching are used to improve performance.

Support

Foswiki is an entirely community-driven project, and has no controlling commercial interest behind it. User support is provided by the community, via the mechanisms of IRC, Slack_(software) and the main website at https://foswiki.org/Support/WebHome. Commercial support and consultancy services in many countries can be found on the Foswiki consultant web page: https://foswiki.org/Support/WikiConsultants

History

Foswiki started life as a fork of the TWiki project. Since the fork it has been worked on continuously by a relatively large development team. [15] Notable developments since the fork include adoption of the jQuery JavaScript user interface framework, [34] interfacing to the MongoDB NoSQL database, interfacing to the Solr [35] search system, page caching [36] and a modified editing interface. [37]

See also

Related Research Articles

<span class="mw-page-title-main">MySQL</span> SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

<span class="mw-page-title-main">PostgreSQL</span> Free and open-source object relational database management system

PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.

<span class="mw-page-title-main">Wiki software</span> Software to run a collaborative wiki (Including private wiki)

Wiki software is collaborative software that runs a wiki, which allows the users to create and collaboratively edit pages or entries via a web browser. A wiki system is usually a web application that runs on one or more web servers. The content, including previous revisions, is usually stored in either a file system or a database. Wikis are a type of web content management system, and the most commonly supported off-the-shelf software that web hosting facilities offer.

TWiki is a Perl-based structured wiki application, typically used to run a collaboration platform, knowledge or document management system, a knowledge base, or team portal. Users can create wiki pages using the TWiki Markup Language, and developers can extend wiki application functionality with plugins.

<span class="mw-page-title-main">MediaWiki</span> Free and open-source wiki software

MediaWiki is a free and open-source wiki software originally developed by Magnus Manske for use on Wikipedia on January 25, 2002, and further improved by Lee Daniel Crocker, after which it has been coordinated by the Wikimedia Foundation. It powers several wiki hosting websites across the Internet, as well as most websites hosted by the Foundation including Wikipedia, Wiktionary, Wikimedia Commons, Wikiquote, Meta-Wiki and Wikidata, which define a large part of the set requirements for the software. MediaWiki is written in the PHP programming language and stores all text content into a database. The software is optimized to efficiently handle large projects, which can have terabytes of content and hundreds of thousands of views per second. Because Wikipedia is one of the world's largest and most visited websites, achieving scalability through multiple layers of caching and database replication has been a major concern for developers. Another major aspect of MediaWiki is its internationalization; its interface is available in more than 400 languages. The software has more than 1,000 configuration settings and more than 1,800 extensions available for enabling various features to be added or changed. Besides its usage on Wikimedia sites, MediaWiki has been used as a knowledge management and content management system on websites such as Fandom, wikiHow and major internal installations like Intellipedia and Diplopedia.

Apache Lucene is a free and open-source search engine software library, originally written in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License. Lucene is widely used as a standard foundation for production search applications.

<span class="mw-page-title-main">OTRS</span> Service management software

OTRS is a service management suite. The suite contains an agent portal, admin dashboard and customer portal. In the agent portal, teams process tickets and requests from customers. There are various ways in which this information, as well as customer and related data can be viewed. As the name implies, the admin dashboard allows system administrators to manage the system: Options are many, but include roles and groups, process automation, channel integration, and CMDB/database options. The third component, the customer portal, is much like a customizable webpage where information can be shared with customers and requests can be tracked on the customer side.

In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.

<span class="mw-page-title-main">LAMP (software bundle)</span> Acronym for a common web hosting solution

LAMP is an acronym denoting one of the most common software stacks for the web's most popular applications. Its generic software stack model has largely interchangeable components.

<span class="mw-page-title-main">Catalyst (software)</span> Open-source web application framework

Catalyst is an open-source web application framework written in Perl. It closely follows the model–view–controller (MVC) architecture and supports a number of experimental web patterns. It is written using Moose, a modern object system for Perl. Its design is heavily inspired by frameworks such as Ruby on Rails, Maypole, and Spring.

<span class="mw-page-title-main">DSpace</span> Repository software package

DSpace is an open source repository software package typically used for creating open access repositories for scholarly and/or published digital content. While DSpace shares some feature overlap with content management systems and document management systems, the DSpace repository software serves a specific need as a digital archives system, focused on the long-term storage, access and preservation of digital content. The optional DSpace registry lists almost three thousand repositories all over the world.

A personal wiki is wiki software that allows individual users to organize information on their desktop or mobile computing devices in a manner similar to community wikis, but without collaborative software or multiple users.

<span class="mw-page-title-main">Apache Solr</span> Open-source enterprise-search platform

Solr is an open-source enterprise-search platform, written in Java. Its major features include full-text search, hit highlighting, faceted search, real-time indexing, dynamic clustering, database integration, NoSQL features and rich document handling. Providing distributed search and index replication, Solr is designed for scalability and fault tolerance. Solr is widely used for enterprise search and analytics use cases and has an active development community and regular releases.

<span class="mw-page-title-main">Navicat</span> SQL database management software

Navicat is a series of graphical database management and development software produced by CyberTech Ltd. for MySQL, MariaDB, Redis, MongoDB, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners.

<span class="mw-page-title-main">History of wikis</span> History of wiki collaborative platforms

The history of wikis began in 1994, when Ward Cunningham gave the name "WikiWikiWeb" to the knowledge base, which ran on his company's website at c2.com, and the wiki software that powered it. The wiki went public in March 1995, the date used in anniversary celebrations of the wiki's origins. c2.com is thus the first true wiki, or a website with pages and links that can be easily edited via the browser, with a reliable version history for each page. He chose "WikiWikiWeb" as the name based on his memories of the "Wiki Wiki Shuttle" at Honolulu International Airport, and because "wiki" is the Hawaiian word for "quick".

The following outline is provided as an overview of and topical guide to the Perl programming language:

The following outline is provided as an overview of and topical guide to MySQL:

<span class="mw-page-title-main">RocksDB</span> Embedded key-value database

RocksDB is a high performance embedded database for key-value data. It is a fork of Google's LevelDB optimized to exploit multi-core processors (CPUs), and make efficient use of fast storage, such as solid-state drives (SSD), for input/output (I/O) bound workloads. It is based on a log-structured merge-tree data structure. It is written in C++ and provides official language bindings for C++, C, and Java. Many third-party language bindings exist. RocksDB is free and open-source software, released originally under a BSD 3-clause license. However, in July 2017 the project was migrated to a dual license of both Apache 2.0 and GPLv2 license. This change helped its adoption in Apache Software Foundation's projects after blacklist of the previous BSD+Patents license clause.

<span class="mw-page-title-main">DBeaver</span> Multi-platform database administration software

DBeaver is a SQL client software application and a database administration tool. For relational databases it uses the JDBC application programming interface (API) to interact with databases via a JDBC driver. For other databases (NoSQL) it uses proprietary database drivers. It provides an editor that supports code completion and syntax highlighting. It provides a plug-in architecture that allows users to modify much of the application's behavior to provide database-specific functionality or features that are database-independent. This is a desktop application written in Java and based on Eclipse platform.

References

  1. Ercolani, Emilien (January 12, 2009). "Foswiki 1.0 : un wiki libre et open source professionnel". Linformaticien.com. Retrieved November 9, 2012.
  2. 1 2 "Foswiki 1.0 est de la revue". TooLinux.com. January 13, 2009. Retrieved November 9, 2012.
  3. "Releases - foswiki/distro". github.com. Retrieved August 6, 2023.
  4. 1 2 3 4 5 "Foswiki". SourceForge. Retrieved November 9, 2012.
  5. Fuchs, Roger (2010). Kooperieren statt Koordinieren [Cooperate rather than coordinate](PDF) (Master thesis). University of Freiburg . Retrieved September 11, 2012.
  6. Kussmaul, Clif (2011). "Wikis for Education - Helping Students Communicate and Collaborate". T4e. 2011 IEEE International Conference on Technology for Education, 2011: 274–278.
  7. Salustri, F.A.; Weerasinghe, J.S. (2010). Anandarajan, Murugan; Ananarajan, Asokan (eds.). "e-Research Collaboration - Theory, Techniques and Challenges". E-Research Collaboration. Springer: 215f. doi:10.1007/978-3-642-12257-6. ISBN   978-3-642-12256-9.
  8. Grzeganek, K.; Frost, I.; Gross, D. "Spoilt for Choice - Wiki Software for Knowledge Management in Organisations". Pumacy Technologies. Retrieved September 11, 2012.
  9. Kussmaul, Clif (2011). "Wikis for Collaboration and Knowledge Management: Current Practices and Future Directions". Organizational Learning and Knowledge: Concepts, Methodologies, Tools and Applications. IGI Global Snippet. p.  1141. ISBN   9781609607845 . Retrieved September 11, 2012.
  10. Thoeny, Peter; Barton, Tom (October 31, 2008). "Relaunch TWiki.org Project". twiki . Retrieved February 4, 2009.
  11. Asay, Matt (October 29, 2008). "TWiki's hunt for cash fractures its community". CNet . Retrieved February 4, 2009.
  12. Baader, Hans-Joachim (October 31, 2008). "Hauptentwickler verlassen TWiki". Pro-Linux. Retrieved November 9, 2012.
  13. "Why this fork?". Foswiki. January 31, 2009. Retrieved February 4, 2009.
  14. Szabo, Gabor (September 8, 2012). "The most popular Perl web sites". home of szabgab. Retrieved November 9, 2012.
  15. 1 2 "Foswiki". BlackDuck . Retrieved November 9, 2012.
  16. "Foswiki - Contributors". BlackDuck. Retrieved November 9, 2012.
  17. "Get Live Support". foswiki.org. Retrieved April 21, 2024.
  18. 1 2 Currie, Crawford (October 26, 2010). "Foswiki is getting SQL RDBMS support!". WikiRing Blog. Archived from the original on March 1, 2012. Retrieved November 9, 2012.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  19. "Foswiki-1.1.4 comes with major feature enhancements and fixes". PRLog. December 21, 2011. Retrieved November 9, 2012.
  20. 1 2 Johnston, Mike (April 18, 2011). "Foswiki 1.1.3 has been released". CMS Critic. Retrieved November 9, 2012.
  21. Huber, Mathias (April 12, 2012). "Foswiki 1.1.5 behebt Sicherheitsschwäche". Linux Magazin. Retrieved November 9, 2012.
  22. "All Extensions". foswiki. Retrieved September 11, 2012.
  23. Matthes, Florian; Neubert C.; Steinhoff A. "Hybrid Wikis: Empowering Users to Collaboratively Structure Information" (PDF). In: 6th International Conference on Software and Data Technologies (ICSOFT), Seville, 2011. pp. 250-259. Foswiki is mentioned as one of two structured wikis. This paper was awarded as best paper at the International Conference on Software and Data Management 2011 (ICSOFT 2011), Sevilla, Spain. Retrieved September 11, 2012.
  24. "Data Forms". Foswiki. January 9, 2009. Retrieved February 4, 2009.
  25. "SEARCH macro". Foswiki. January 9, 2009. Retrieved February 4, 2009.
  26. "Formatted Search". Foswiki. January 9, 2009. Retrieved February 4, 2009.
  27. "Query Search". Foswiki. January 9, 2009. Retrieved February 4, 2009.
  28. "User Interface Internationalization". foswiki. Retrieved January 8, 2009.
  29. "Foswiki 2.0 erfreut Klingonen". Linux Magazine. Retrieved July 10, 2015.
  30. Paper on corporate wiki users Archived September 26, 2011, at the Wayback Machine (slides Archived September 12, 2012, at the Wayback Machine )
  31. "The wiki as online conveyor belt" section in BusinessWeek article Make Some Noise - How web 2.0 tools can help you communicate with customers more effectively
  32. Dreher1, Felix; Kreitler, Thomas; Hardt, Christopher; Kamburov, Atanas; Yildirimman, Reha; Schellander, Karl; Lehrach, Hans; Lange, Bodo M.H.; Herwig, Ralf (May 8, 2012). "DIPSBC - data integration platform for systems biology collaborations". BMC Bioinformatics . 13 (85): 85. doi: 10.1186/1471-2105-13-85 . PMC   3424966 . PMID   22568834.{{cite journal}}: CS1 maint: numeric names: authors list (link)
  33. "Foswiki: Languages - BlackDuck". BlackDuck. Retrieved November 9, 2012.
  34. "Foswiki Release 1.1.0". Foswiki. Retrieved August 16, 2012.
  35. "Solr Plugin". Foswiki. Retrieved August 16, 2012.
  36. "Page Caching". Foswiki. Retrieved August 16, 2012.
  37. "Add Nat Edit To Core". Foswiki. Retrieved August 16, 2012.