HOME

TheInfoList



OR:

Foswiki is an enterprise wiki, typically used to run a
collaboration platform Collaborative software or groupware is application software designed to help people working on a common task to attain their goals. One of the earliest definitions of groupware is "intentional group processes plus software to support them." Regar ...
,
knowledge base In computer science, a knowledge base (KB) is a set of sentences, each sentence given in a knowledge representation language, with interfaces to tell new sentences and to ask questions about what is known, where either of these interfaces migh ...
or
document management system A document management system (DMS) is usually a computerized system used to store, share, track and manage files or documents. Some systems include history tracking where a log of the various versions created and modified by different users is r ...
. Users can create
wiki application Wiki software (also known as a wiki engine or a wiki application) 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 ...
s using the Topic Markup Language (TML), and developers can extend its functionality with plugins. The Foswiki project was launched in October 2008 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. 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 Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
. 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.


Features

Foswiki features an
open architecture Open architecture is a type of computer architecture or software architecture intended to make adding, upgrading, and swapping components with other computers easy. For example, the IBM PC, Amiga 2000 and Apple IIe have an open architecture supp ...
programmed and implemented in the
Perl Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language". Perl was developed ...
and
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
languages and runs on standard web servers such as
Apache The Apache ( ) are several Southern Athabaskan language-speaking peoples of the Southwestern United States, Southwest, the Southern Plains and Northern Mexico. They are linguistically related to the Navajo. They migrated from the Athabascan ho ...
,
Nginx (pronounced "engine x" , stylized as NGINX or nginx) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Russian developer Igor Sysoev and publicly released in 20 ...
and
lighttpd lighttpd (prescribed pronunciation: "lighty") is an open-source web server optimized for speed-critical environments while remaining standards-compliant, secure and flexible. It was originally written by Jan Kneschke as a proof-of-concept of the ...
. With almost 70 contributors providing over 56,000 commits since its inception, the Foswiki team not only develops the code but also offers on-line support, including on
IRC IRC (Internet Relay Chat) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called '' channels'', but also allows one-on-one communication via private messages as well as chat ...
and Slack. Core features include a TinyMCE
WYSIWYG In computing, WYSIWYG ( ), an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web ...
editor, built-in search engine, default text database, and skinnable user interface, as well as
RSS RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many ...
/
Atom Atoms are the basic particles of the chemical elements. An atom consists of a atomic nucleus, nucleus of protons and generally neutrons, surrounded by an electromagnetically bound swarm of electrons. The chemical elements are distinguished fr ...
feeds, e-mail support, and database interfaces to support scalable database services such as
MongoDB MongoDB is a source-available, cross-platform, document-oriented database program. Classified as a NoSQL database product, MongoDB uses JSON-like documents with optional database schema, schemas. Released in February 2009 by 10gen (now MongoDB ...
and
MySQL MySQL () is an Open-source software, 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 rel ...
. Additional security-related features include an auditable
version control Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
system, user authentication, an access control system, cross-site request forgery protection, and improved spam-prevention extensions.


Extensions

Users have contributed over 300 extensions. 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
database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
s, create
chart A chart (sometimes known as a graph) is a graphics, graphical representation for data visualization, in which "the data is represented by symbols, such as bars in a bar chart, lines in a line chart, or slices in a pie chart". A chart can repres ...
s, tags, sort tables, write
spreadsheet A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in c ...
s, create image gallery and slideshows, make
drawing Drawing is a Visual arts, visual art that uses an instrument to mark paper or another two-dimensional surface, or a digital representation of such. Traditionally, the instruments used to make a drawing include pencils, crayons, and ink pens, some ...
s, write
blog A blog (a Clipping (morphology), truncation of "weblog") is an informational website consisting of discrete, often informal diary-style text entries also known as posts. Posts are typically displayed in Reverse chronology, reverse chronologic ...
s, plot graphs, interface to many different
authentication Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an Logical assertion, assertion, such as the Digital identity, identity of a computer system user. In contrast with iden ...
schemes, including single sign-on, track
Extreme Programming Extreme programming (XP) is a software development methodology intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development,"Human Centred Technology Workshop 2006 ", 2006, ...
projects, and others.


Application platform

Foswiki is a structured wiki that acts as an
application platform A computing platform, digital platform, or software platform is the infrastructure on which software is executed. While the individual components of a computing platform may be obfuscated under layers of Abstraction (software engineering), abstr ...
for web-based applications. Specifically it provides database-like manipulation of fields stored on pages, and offers a SQL-like query language to support the embedding reports in wiki pages. 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 Inventory (British English) or stock (American English) is a quantity of the goods and materials that a business holds for the ultimate goal of resale, production or utilisation. Inventory management is a discipline primarily about specifying ...
systems,
employee handbook An employee handbook, sometimes also known as an employee manual, staff handbook, or company policy manual, is a book given to employees by an employer. The employee handbook can be used to bring together employment and job-related information w ...
s, bug trackers,
blog A blog (a Clipping (morphology), truncation of "weblog") is an informational website consisting of discrete, often informal diary-style text entries also known as posts. Posts are typically displayed in Reverse chronology, reverse chronologic ...
applications, discussion forums, status reports with rollups and more.


User interface

The user interface is customizable through use of templates, themes and CSS. It includes support for
internationalization Internationalization or Internationalisation is the process of increasing involvement of enterprises in international markets, although there is no agreed definition of internationalization. Internationalization is a crucial strategy not only for ...
, with support for multiple character sets, UTF-8 URLs etc. 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.


Deployment

Foswiki is expected to be used primarily at the workplace as a corporate wiki to coordinate team activities, track projects, implement
workflow Workflow is a generic term for orchestrated and repeatable patterns of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a seque ...
s 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.


Implementation

Foswiki is implemented in Perl and JavaScript (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. Informal user reports suggest that Foswiki scales reasonably well even though it uses plain text files and no
relational database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
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 IRC (Internet Relay Chat) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called '' channels'', but also allows one-on-one communication via private messages as well as chat ...
, Slack 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. Notable developments since the fork include adoption of the jQuery JavaScript user interface framework, interfacing to the MongoDB NoSQL database, interfacing to the
Solr Solr (pronounced "solar") 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 ...
search system, page caching and a modified editing interface.


See also

* Comparison of wiki software


References

{{Use mdy dates, date=September 2012 Free software programmed in Perl Free software programmed in JavaScript Free wiki software Enterprise wikis Free content management systems Groupware Cross-platform software