XWiki
Encyclopedia
XWiki is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 wiki software
Wiki software
Wiki software is collaborative software that runs a wiki, i.e., a website that allows users to create and collaboratively edit web pages via a web browser. A wiki system is usually a web application that runs on one or more web servers...

 platform written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 with a design emphasis on extensibility. XWiki Enterprise, the enterprise wiki edition, includes WYSIWYG
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...

 editing, OpenOffice based document import/export, semantic annotations and tagging, and advanced permissions management.

As an application wiki, XWiki allows for the storing of structured data and the execution of server side script within the wiki interface. Scripting languages including Velocity
Jakarta Velocity
Apache Velocity is an open source software project directed by the Apache Software Foundation. Velocity is a Java-based template engine that provides a simple yet powerful template language to reference objects defined in Java code...

, Groovy, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

 and PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 can be written directly into wiki pages using wiki macros. User created data structures can be defined in wiki documents and instances of those structures can be attached to wiki documents, stored in a database, and queried using either Hibernate
Hibernate (Java)
Hibernate is an object-relational mapping library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database...

 query language or XWiki's own query language.

XWiki.org's extension wiki is home to hundreds of XWiki extensions ranging from code snippets
Snippet (programming)
Snippet is a programming term for a small region of re-usable source code, machine code or text. Ordinarily, these are formally-defined operative units to incorporate into larger programming modules...

 which can be pasted into wiki pages to loadable core modules. Many of XWiki Enterprise's features are provided by extensions which are bundled with it.

The Wiki syntax is rendered using the XWiki Rendering Engine which extends WikiModel and Doxia
Doxia
Doxia is a content generation framework that provides its users with powerful techniques for generating static and dynamic content. Doxia can be used in web-based publishing context to generate static sites, in addition to being incorporated into dynamic content generation systems like blogs,...

 systems, allowing it to parse, Confluence
Confluence (software)
Confluence is an enterprise wiki software. Written in Java and mainly used in corporate environments, Confluence is developed and marketed by Atlassian. Confluence is sold as either on-premises software or as a hosted solution...

, JSPWiki
JSPWiki
JSPWiki is wiki software built around the standard J2EE components of Java, servlets and JSP. It was written by Janne Jalkanen and released under the LGPL. It is currently undergoing incubation with Apache and its license has been changed to the Apache License. The Sun Java System Portal Server...

, Creole
Creole (markup)
Creole is a lightweight markup language for formatting wikitext, aimed at being a common markup language for wikis, enabling and simplifying the transfer of content between different wiki engines....

, MediaWiki
MediaWiki
MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...

, and TWiki
TWiki
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...

 syntaxes as well as XWiki's own syntax.

Development

XWiki code is licensed under the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

 and hosted on GitHub
Github
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects...

 where everyone is free to fork
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

 the source code and develop changes in their own repository. The content included in the XWiki Enterprise wiki is licensed under a Creative Commons attribution license so that it can be redistributed as long as it references XWiki; derivatives can be re-licensed entirely. While most of the active developers are funded by commercial support company XWiki SAS
Société par actions simplifiée
Société par actions simplifiée is the first hybrid law enacted under French law and based on common law principles rather than civil. It is similar to a limited liability company under United States law, as the Delaware limited liability company was the model used by the French Government...

, XWiki SAS maintains a strict boundary between itself and the XWiki free software project. All decisions about the direction of the XWiki software project are made by consensus of the committers must go through the developers' mailing list

XWiki uses Jenkins (software)
Jenkins (software)
Jenkins, previously known as Hudson, is an open source continuous integration tool written in Java. The project renamed itself after a dispute with Oracle who claims the right to trademark the Hudson name and has applied for such a trademark as of December 2010...

 for continuous integration
Continuous integration
In software engineering, continuous integration implements continuous processes of applying quality control — small pieces of effort, applied frequently...

 http://ci.xwiki.org/ and JIRA
JIRA
Jira may refer to:* JIRA, software-engineering package* Journal of Iranian Research and Analysis* Jira, also known as Zilla, fictional character* Jira * Jira...

 as a bug (and feature request) tracker.

History

XWiki was originally written by Ludovic Dubost who founded XPertNet SARL
Société à responsabilité limitée
A Société à responsabilité limitée, also known by the acronym SARL , is a private limited liability corporate entity that exists in France, Switzerland, Luxembourg, Macau, Algeria, Morocco, Tunisia, and Lebanon and has commerce as its purpose.A SARL is a company whose liability is limited to the...

 later to become XWiki SAS, and it was first released in January 2003 under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

. The first version of the Wiki Farm xwiki.com was released in April 2003.

In 2006, the license was changed to the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

 to give the developer community greater flexibility, Apache Maven
Apache Maven
Maven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...

 developer Vincent Massol became the lead developer and XWiki won the Lutece d'Or award for best open source software developed for the enterprise.

After 6 beta versions and 5 release candidates, XWiki 1.0 was released on May 22, 2007 bringing new features such as stand-alone installer and semantic tagging. 2007 also brought the introduction of XWiki Watch for allowing teams to collaboratively follow RSS
RSS
-Mathematics:* Root-sum-square, the square root of the sum of the squares of the elements of a data set* Residual sum of squares in statistics-Technology:* RSS , "Really Simple Syndication" or "Rich Site Summary", a family of web feed formats...

 feeds.

Features

  • Structured content and inline scripting, which allows to build wiki applications
  • User rights management (by wiki / space / page, using groups, etc...)
  • PDF export
  • Full-text search
  • Version control
  • Import office documents into wiki syntax through OpenOffice
  • Various protocols for accessing the wiki (WebDAV, REST, XmlRpc, GWT)
  • Content and site design Export and Import
  • Plugins, API, Programming...
  • More features on the official website.


On top of this, XWiki is also an application wiki that allows the creation of objects
Object (computer science)
In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...

 and classes
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...

 within the wiki. This way, forms
Form (web)
A webform on a web page allows a user to enter data that is sent to a server for processing. Webforms resemble paper or database forms because internet users fill out the forms using checkboxes, radio buttons, or text fields...

 can be developed in a very short time span and be reused to enter data on the wiki following a specific template. This means that end users can be presented with a page on which the layout is already drawn, where they can directly fill in the fields needed.

Open-Source projects

XWiki relies heavily on other Open-Source projects to work. They include:
  • Groovy: for advanced scripting requirements
  • Hibernate
    Hibernate (Java)
    Hibernate is an object-relational mapping library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database...

    : relational database storage
  • Lucene
    Lucene
    Apache Lucene is a free/open source information retrieval software library, originally created in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License....

    : to index all the content of a wiki and its attachments and allow the search within their content.
  • Velocity
    Jakarta Velocity
    Apache Velocity is an open source software project directed by the Apache Software Foundation. Velocity is a Java-based template engine that provides a simple yet powerful template language to reference objects defined in Java code...

    : a powerful template language

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK