You are here:
Foswiki
>
System Web
>
WikiWorkbenchContrib
E
dit
A
ttach
Tags:
create new tag
,
view all tags
---+!! %TOPIC% %SHORTDESCRIPTION% %TOC% ---++ Introduction The !WikiWorkbench standardizes writing, deploying and using wiki applications on Foswiki. It builds on the core concepts of standard Foswiki and establishes a unified terminology to leverage concepts and key benefits known from conventional programming towards wiki applications. These are: * separation of programming code from net data: clearly distinguish the roles of wiki application programmers and wiki authors * reusability: bundle functions into libraries to be used in multiple places * abstraction: establish a multi-level architecture of wiki applications, one built upon the other * standardize model, view and control: share common concepts defining !DataForms, view and edit templates * typed content: establish a hierarchy of !TopicTypes to let topics participate in specific wiki applications * documentation: auto-generate complete documentation for a wiki application ready to be printed out While these concepts are nothing new for a normal programmer, they do have a clear equivalent using Foswiki as an application framework. Wiki applications still are written in TML using your browser on your Foswiki site. However, all bits are managed in a clean way to guarantee that you will still find them years later. People trained to write wiki applications the !WikiWorkbench way will immediately know where to look and fix applications written by others, as they all share the same concepts. So by establishing a clear teminology and best practice, you will be able to maintain even large wiki apps consisting of hundrets of different components working together long term. !WikiWorkbench has been developed over the last 5 years working together with a series of companies in need of large scale wiki applications, custom tailored to their business needs, covering fields like * human resource management * skills management * project management * tour planning * book reviewing * public relations management * employee training * knowledge management * vacation planning * corporate blogging * enterprise search applications Wiki applications can then be packaged and reused on different deployments like ordinary Foswiki plugins that extend your site. The main difference is that wiki applications are fully developed, documented and maintained using the browser. All parts of an application are a wiki page, so working on an application is done by interacting with the wiki directly. ---++ Getting started This chapter gives you a quick overview on how to start a new wiki application. We will create a first custom !TopicType and deploy it into a user web. Finally we will create a new topic of that type by using the standard topic factory. The new wiki application is a web that serves as the container and library for things that you are planning to build and which belong together as one. You might either consider creating one singular wiki application located in one subweb of its own, or separate it into several wiki applications that can be used individually without one another, or which other wiki applications build on top. When installing the !WikiWorkbenchContrib, you will get two new webs: * Applications: the core of the !WikiWorkbench * _WikiApplicationTemplate: an application template to bootstrap a new wiki app You won't need to change these as they make up the infrastructure. Take care not to mix up your own stuff with wiki applications coming from third parties. Instead, build up a separate wiki application that won't be harmed when you have to upgrade third party applications later. ---+++ Creating a new wiki application The [[Applications.WebHome][Applications web]] is the starting point accessing and creating all wiki applications. There's a button to create a new wiki application. And that's where we start. 1 Click on the button "New !WikiApplication". 1 Enter the name of your new wiki application, e.g. !MyCompanyApp (this must be a valid web name for Foswiki) 1 Enter a short description what this application is about. 1 Click "Submit". This will create a new subweb under the Applications web, that is !Applications.MyCompanyApp in our example. This newly created web is the container for all components part of this application. No part of the application is located outside of this web. In this sense a "wiki application" is the sum of all components stored in the Applications subweb (!Applications.MyCompanyApp). You will be able to write and maintain the wiki application by going to this web now. When finishing or installing a wiki application, the additional features are made available in other areas of your wiki site by a dedicated deployment step. The !WikiWorkbench infrastructure helps you in doing so. For example, each !TopicType that you will create will have an Install button that lets you establish a link between the area where you'd like to deploy the feature back to the application itself. ---+++ Creating a new !TopicType ---+++ Deploying a !TopicType into a user web ---++ The !WikiWorkbench type hierarchy The concept of "typed content" isn't new to Foswiki as a content management system. Many other CMSes out there have a concrete notion of different document types depending on the material that the site is going to host. If you are a programmer then types shouldn't be new to you. They most commonly come as a class hierarchy or set of structured data definitions. As we are dealing with topics, it is called <em>Topic</em>Types in Foswiki. !TopicTypes make up a hierarchy with a kind of "IS A" relation between parent and child types. So any child type inherits all structural properties of its parents. Parent topics can either be abstract only to let your write wiki applications for sub types not yet in existence but will inherit from this abstract parent topic some time later. For example: given there's a !ContactsApp to model contact data for persons and organizations. There are !TopicTypes "PersonTopic" and "OrganizationTopic". Both inherit from a "PartyTopic" as a common root in your application. So both - persons and organizations - are a "party" with regards to the rest of the wiki application. <div class="jqTreeview foswikiRight" style="border:1px solid #bbb;padding:1em;margin:0 0 1em 1em;"> *Fragment of the type hierarchy:* * !WikiTopic * !TaggedTopic, !CategorizedTopic * !ClassifiedTopic * !PartyTopic * !PersonTopic * !OrganizationTopic </div> %JQREQUIRE{"treeview"}% Furthermore, all !PartyTopics should be tagged and categorized, a feature being implemented in a separate wiki application that comes with a !ClassifiedTopic type. The !ClassifiedTopic type itself is implementing two features: that of !TaggedTopics and !CategorizedTopics. (footnote: these !TopicTypes are part of the [[Foswiki:Extensions/ClassificationPlugin][ClassificationPlugin]]) All topic types finally are some kind of a !WikiTopic, which finally is the root of all content types as definied in the !WikiWorkbench. In Foswiki a !TopicType establishes a label for a specific kind of !DataForm to be used by one or more wiki applications. A wiki application is made up of different components that are used when deploying it to one or more target webs... ---++ Installation Instructions You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server. Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install". If you have any problems, or if the extension isn't available in =configure=, then you can still install manually from the command-line. See http://foswiki.org/Support/ManuallyInstallingExtensions for more help. <!-- * Set SHORTDESCRIPTION = Framework for <nop>WikiApplications --> | Authors: | Foswiki:Main.MichaelDaum | | Copyright ©: | 2007-2013 Michael Daum http://michaeldaumconsulting.com | | License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | | Version: | 1.11 | | Release: | 1.11 | | Change History: | | | 05 May 2013 | implemented full-text rss and atom renderer | | 18 Feb 2013 | fixed topicinfo; removed legacy twb.js file breaking =configure= and/or the plugin installer | | 07 Jan 2013 | first public release | | 30 Oct 2007 | first version in svn | | 30 Apr 2007 | initial version | | Dependencies: | <table class="foswikiTable" border="1"><tr><th>Name</th><th>Version</th><th>Description</th></tr><tr><td align="left">Foswiki::Plugins::DBCachePlugin</td><td align="left">>=4.10</td><td align="left">Required.</td></tr><tr><td align="left">Foswiki::Plugins::FilterPlugin</td><td align="left">>=2.08</td><td align="left">Required; </td></tr><tr><td align="left">Foswiki::Plugins::FlexFormPlugin</td><td align="left">>=2.60</td><td align="left">Required.</td></tr><tr><td align="left">Foswiki::Plugins::FlexWebListPlugin</td><td align="left">>=1.61</td><td align="left">Required.</td></tr><tr><td align="left">Foswiki::Plugins::JQGridPlugin</td><td align="left">>=2.0</td><td align="left">Required.</td></tr></table> | | Perl Version: | - | | Home: | Foswiki:Extensions/%TOPIC% | | Support: | Foswiki:Support/%TOPIC% |
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
Edit
w
iki text
|
M
ore topic actions
Topic revision: r1 - 23 Dec 2012,
ProjectContributor
System
Log In
or
Register
Toolbox
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
User Reference
BeginnersStartHere
TextFormattingRules
Macros
FormattedSearch
QuerySearch
DocumentGraphics
SkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
AdminToolsCategory
InterWikis
ManagingWebs
SiteTools
DefaultPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Webs
Applications
ClassificationApp
Extensions
Main
System
Copyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki?
Send feedback