Foswiki is an enterprise collaboration and information sharing tool targeted for professional use in many types of companies: from small businesses to large organizations.
Foswiki is a wiki: fundamentally, a website with editable web pages. It looks like a normal web site but it encourages contributions, edits, updates, questions, and answers from its users. It's a powerful way of enabling a community to communicate asynchronously using intranet and public internet websites. Foswiki is simple to learn and use. It aims to provide a transparent way for you to publish and exchange your ideas with others over the web and eliminates the one-webmaster syndrome of outdated intranet content.
Foswiki is a structured wiki with tools that enable users without programming skills to build powerful yet simple applications to process information and support workflows. Developers can extend the functionality of Foswiki with plugins.
Foswiki is the old TWiki project under a new name. Restrictions on the use of the TWiki brand resulted in many of its developers continuing the project under the new Foswiki name. Foswiki is backwards compatible with all content from older TWiki installations. Foswiki 1.0 ships with a TWikiCompatibilityPlugin installed and activated by default, thus enabling most extensions made for TWiki to work under Foswiki. Foswiki is released under the GNU General Public License.
Foswiki 1.0 is shipped with the following:
mod_perl
and other similar runtime environments. Foswiki Stand Alone also enables future features such as running Foswiki by itself without a separate web server (for example, from a memory stick). You can ensure your applications and plugins will work properly on the new platform (and thus with any future capabilities dependent on the new architecture) by testing them out now with Foswiki 1.0. viewfile
script can be used as a webserver ErrorDocument enabling both more secure attachments and user focused error dialogs. '"<>%
which eliminates most XSS possibilities encountered with URLPARAM. This protects all topics using the URLPARAM macro without requiring any changes to them. See Foswiki:Support.SecurityFeatures for more information on these, and other, Foswiki security features. This is recommended reading for all Foswiki administrators.
Foswiki is compatible with content generated using TWiki releases up to and including 4.3.1, as part of its design. This compatibility is at the disk file level, and means that upgrading from TWiki is easy and reliable.
As part of the creation of the Foswiki project, the Foswiki community is evaluating all of the hundreds of extensions that are available for TWiki. All that are working are ported over to the Foswiki name space. Many of them are being enhanced through the removal of bugs and security vulnerabilities, resulting in better, more functional plugins for Foswiki. The most popular plugins are already ported and more are added every day.
As part of the first Foswiki product release, various topics and terms were changed to avoid using the TWiki brand name and to more accurately reflect their purpose, including the following:
TWiki term | Foswiki term |
---|---|
TWiki variable | Macro |
preference(s) variable | preference setting, or macro when referring to expansion of same |
TWiki form | Data form |
TWiki Plugin | Plugin |
TWiki Template | Skin Template |
Topic Template | Template Topic |
TWiki Markup Language (TML) | Topic Markup Language (TML) |
TWiki Application | Wiki Application |
Old name | New name |
---|---|
ATasteOfTWiki | BeginnersStartHere |
TWikiAccessControl | AccessControl |
TWikiAddOns | ContributedAddOns |
TWikiContribs | Contribs |
TWikiContributor | ProjectContributor |
TWikiCss | CascadingStyleSheets |
TWikiDocGraphics | DocumentGraphics |
TWikiDocumentation | CompleteDocumentation |
TWikiDownload | DownloadSources |
TWikiEditingShorthand | EditingShorthand |
TWikiEnhancementRequests | EnhancementRequests |
TWikiFaqTemplate | FaqTemplate |
TWikiFAQ | FrequentlyAskedQuestions |
TWikiForms | DataForms |
TWikiGlossary | GlossaryOfTerms |
TWikiHistory | ReleaseHistory |
TWikiInstallationGuide | InstallationGuide |
TWikiJavascripts | JavascriptFiles |
TWikiLogos | ProjectLogos |
TWikiMetaData | MetaData |
TWikiPlugins | Plugins |
TWikiPreferences | DefaultPreferences |
TWikiReferenceManual | ReferenceManual |
TWikiRegistration | UserRegistration |
TWikiReleaseNotes04x02 | ReleaseNotes01x00 |
TWikiRenderingShortcut | RenderingShortcut |
TWikiScripts | CommandAndCGIScripts |
TWikiShorthand | ShortHand |
TWikiSiteTools | SiteTools |
TWikiSkinBrowser | SkinBrowser |
TWikiSkins | Skins |
TWikiSystemRequirements | SystemRequirements |
TWikiTemplates | SkinTemplates |
TWikiTemplates | TemplateTopics |
TWikiTopics | TopicsAndWebs |
TWikiTutorial | TwentyMinuteTutorial |
TWikiUpgradeGuide | UpgradeGuide |
TWikiUserAuthentication | UserAuthentication |
TWikiUsersGuide | UsersGuide |
TWikiVariablesQuickStart | MacrosQuickStart |
TWikiVariables | Macros |
TWikiWebsTable | WebsTable |
TWikiRegistrationAgent | RegistrationAgent |
TWikiPlannedFeatures, TWikiReleaseNotes04x00, TWikiSite, and WhatDoesTWikiStandFor have been removed.
Old name | New name |
---|---|
TWikiAdminGroup | AdminGroup |
TWikiGroupTemplate | GroupTemplate |
TWikiPreferences | SitePreferences |
TWikiGroups | WikiGroups |
TWikiContributor | ProjectContributor |
TWikiUsers | WikiUsers |
TWikiGuest | WikiGuest |
TWikiRegistrationAgent | RegistrationAgent |
TWikiAdminUser | AdminUser |
These changes have the following consequences when upgrading from TWiki to Foswiki:
Please see UpgradeGuide for more information.
This release is expected to be the final bug fixing release for foswiki 1.0, and wraps up about 70 fixes found since 1.0.9.
Importantly, this release fixes an issue running configure on Perl 5.12, improves compatibility with proxy and enterprise search indexers, and updates the shipped plugins to the latest versions.
It resolves a number of issues for running foswiki on MS Windows.
This release fixes some of the new bugs that Tiny MCE Editor 3.2.7 introduced in previous release. This relates to bugs that are only seen in specific browser versions but are quite annoying to the users affected. This upgrade will improve the Wysiwyg experience.
The release includes many more minor bug fixes seen only by very advanced application developers and plugin developers.
It contains several bug fixes and enhancements related to security and spam fighting. The very advanced strikeone CSRF protection that was introduced in 1.0.6 has now also been implemented to make it harder to create registration bots. Reset of password and change of email address features are now both strike one protected and you can no longer change to an empty email address. Additionally logging has been added enabling the administrator to see both old and new email address after an email address change.
Default password length is now 7 instead of 1 character. Upgraders will be not be affected by this as the current used setting will already be in the LocalSite.cfg file.
A rare race condition has been identified where .htpasswd files could be truncated on a very busy site or during a spam robot attack. Foswiki now uses a file locking with a semaphore file to efficiently protect .htpasswd file from ever being changed by more than one process at a time.
The Wysiwyg editor is now using Tiny MCE editor version 3.2.7
The mailnotify feature has been fixed/enhanced so you can run newsletter in both 'changes' and 'news' mode so you can use the feature to automatically send newsletters independant of the normal change notices
The Wysiwyg editor has been upgraded to using Tiny MCE editor version 3.2.2 which solves many editor related bugs. The pickaxe icon has been replaced by a "Wiki Text" button as the pickaxe was hard to guess the function of. And the editor now has a full screen editing feature.
Several bugs fixed related to the Cross-Site Request Forgery feature.
Cross-Site Request Forgery feature has been enhanced to also protect against unwanted attachment of files
TablePlugin sorts numbers and dates better
EditTablePlugin handles SpreadSheetPlugin in footer rows correctly
Fixed a problem where Windows installations of Foswiki would create new users with non-working passwords
"Managing webs" feature redesigned for better usability
A major security enhancement against Cross-Site Request Forgery has been added. See Security Updates above.
EditTablePlugin has been through a major rewrite fixing many bugs and making it work much better with SpreadSheetPlugin.
Three new standard escapes $lt, $gt and $amp have been introduced to be used in formatted searches and other places that supports escapes in a format parameter.
A new footer parameter has been added to SEARCH
Two new parameters $ntopics and $nhits can be used in formatted searches to show the number of found items.
An additional security feature has been added so that saving data now requires the http method POST. This means that it is no longer possible to store data via an "
The template webs _default and _empty are frequent targets for spammers because these webs are normally not monitored very carefully by the community around a Foswiki installation. These webs are now write protected so on an administrator can edit topics in these webs. When an administrator creates a new web it is important to remember to remove the access restriction from the WebPreferences in the new web. SpreadSheetPlugin now has the new functions: $EMPTY(), $LEFTSTRING(), $RIGHTSTRING(), SUBSTRING(), $INSERTSTRING() Fixed 70 bugs since Foswiki 1.0.0. Quite many of these are bugs that originate from TWiki 4.2.3. The most important bugs are See full list of fixed bugs below. If this release had been a TWiki release it would have been 4.3.0 Since the fork of Foswiki happened while TWiki 4.2.3 was the current release, all changes since this release are listed below.
Important Changes since Foswiki 1.0.0
Important Changes since TWiki 4.2.3
Foswiki Release 1.0.0 Details
Fixes
Item38 | Replace backtick, exec and system calls to use Sandbox.. |
Item41 | Remove the duplicate TAG topics - like VarREVINFO and VarREVINFO2 |
Item42 | SECURITY: REVINFO reveals info for a topic the user does not have permission to view. |
Item67 | Any topic that contains a webform that does not exist, causes the topic to be uneditable. |
Item94 | SubscribePlugin trips up on missing _alert() |
Item109 | Rename all topics that have the T-word in them |
Item110 | Replace all occurences of TWiki in core, docs and default plugins with System |
Item113 | Rebrand css classes from twikiXxxxx to foswikiXxxxxx |
Item115 | Delete ClassicSkin |
Item116 | Rebrand javascript classes |
Item124 | undefined ICONTOPIC causes crash |
Item125 | Search error 'grep for \btest\b failed.. |
Item128 | Error in oopsmore |
Item136 | remove pattern skin css classes from default skin - replace with twiki* ready for re-brand |
Item137 | Register show user's a failure when sendmail returns non-zero |
Item139 | Do not use an Oops redirect when a URL is mistyped |
Item168 | Review all SEARCH statements in the docco & convert to query or more contemporary TML |
Item175 | Create TWiki compatibility plugin |
Item191 | remove the stupid kids from pattern skin |
Item203 | Rebrand the TipsContrib |
Item205 | Replace all TWiki webnames to System |
Item206 | Linking to Supplemental Documents |
Item212 | stop url(http://... something.png) from being made into a html link, so inline images in css style isn't terminal |
Item217 | Replace module/plugin of message at the top of source files |
Item218 | Change the links in plugins to foswiki.org |
Item221 | Change Interwiki links in docs to Foswiki |
Item230 | lib/CPAN/lib missing in INC path |
Item240 | Interval parser is a bit crap; no tests, and does too much work |
Item244 | nonwikiword is never really checked |
Item254 | add -Autoconf to pseudo-install.pl |
Item264 | Rebrand pattern skin |
Item265 | Rebranding EditTablePlugin for Foswiki |
Item267 | Update file table in plugins that contains TWiki directories |
Item273 | Rename twiki.tmpl -> foswiki.tmpl |
Item253 | Remove hack from Foswiki.pm |
Item287 | Plugins documentation is incomplete |
Item295 | Replacing TWiki with Foswiki in core docs and default plugins |
Item297 | viewfile can't be used as a dropin replacement for {pubUrl}, and when viewfile fails it redirects to an oops mess |
Item300 | Rebranding root-level documentation |
Item308 | Preview renders a zero byte page when topic uses a view_template |
Item309 | Checkpoint save fotgets edit_template |
Item312 | Main.UserForm does not override TWiki.UserForm |
Item314 | Potential inadvertant linking on registration completion page |
Item318 | if you have a trailing / on your url, foswiki assumes all preceeding parts of the URL are webnames |
Item319 | Rewrite all SEARCH's in the distributed topics to use querySearch |
Item327 | Rebranding TablePlugin |
Item328 | Rebranding SmiliesPlugin for Foswiki |
Item347 | Rebranding SpreadSheetPlugin |
Item367 | Rebranding RenderListPlugin |
Item370 | Replace the favicon to Foswiki - and make the default setting come from System.ProjectLogos |
Item375 | Eliminate use of URLPARAM in docs so it becomes an XSS trap |
Item384 | Improve function getElementsByClassName |
Item385 | Improve layout attachment button and form header. Add attachment counter |
Item386 | Form.pm calls javascript function launchWindow |
Item391 | QUERYPARAMSTRING and TOC only url encodes parameter values but not the names |
Item393 | Add default safe encoding for QUERYPARAMS and add "safe" type to ENCODE |
Item401 | OSX fails unit tests - notably UTF8 seg faults. |
Item405 | ORIGURL used in template login used for example for reset password is an XSS attach vector |
Item406 | WebSearch does not work with quoted word strings. |
Item407 | WebRss and Atom search does not work with quotes words |
Item417 | Undefined subroutine &Foswiki::Users:: ApacheHtpasswdUser::ListIterator called |
Item418 | Rebranding SlideShowPlugin |
Item427 | Url parameters lost after login, when login has triggered by the "login-link" |
Item444 | Adding a anchor "foswikiTOC" for the TOC to be able to jump up to it |
Item462 | Improved user interface and interaction on the topic that is shown when a topic does not exist |
Item471 | WebSearch and WebSearchAdvanced keep moveing the user to the TWiki web, rather than staying where the users asked to be |
Item474 | PreferencesPlugin does not understand Local |
Item486 | Beginners start here has obsolete content |
Item491 | UserListByPhotograph moved to Image Gallery plugin |
Item509 | Remove un-needed pub/WebPreferences/logo.gif files which are not used and still TWiki logos |
Item510 | Wysiwyg editor takes the background colour for the html body for the editor instead of applying a white background. |
Item511 | Twisty on login screen creates slightly invalid markup |
Item528 | Code validation is weak in places |
Item529 | fix_local_links needs to point to foswiki.org |
Item540 | Messages missing in Foswiki.pm for INCLUDE Errors |
Item541 | calling search bin with no empty search string results in white screen instead of response |
Item549 | FORMFIELD plugin does not render documented format variables; missing literal tokens |
Item567 | LoginManager not working with IP matching because of code error in Foswiki's interface to CGI::Session |
Item569 | ENCODE turns the value 0 into empty string '' |
Item570 | SPACEOUT fails if value or separator are the string 0 |
Item599 | Get a Foswiki working in Windows with strawberry perl |
Item602 | Release tarball could be in a subdirectory |
Item629 | Unable to access root docs on some installations of Apache. |
Item649 | Only see TWiki as a valid web if TWikiCompatibilityPlugin is installed and enabled. |
Item661 | Copy edits to Foswiki release 1.0.0 documentation |
Item667 | Add WebChangesForAllWebs to System web in the release |
Item669 | VarADDTOHEAD topic appears to be missing |
Item681 | can't access system webs like _default |
Item1607 | TOC does not distinguish two headlines that have the same text |
Item2525 | TablePlugin produces bad links for sorting when using "short" URLs |
Item4463 | Template Path is wrong for Skin customization using topics |
Item4835 | SpreadSheetPlugin functions SUBSTITUTE and REPLACE cannot return number 0 or empty string |
Item4868 | Bulk Register fails if Main web is Set ALLOWWEBCHANGE = TWikiAdminGroup |
Item4906 | Filename of attachments containing a wikiword inside ( ) messes up the file attachment table and other UI |
Item5006 | Interwiki rule: change Bugs: to Foswikitask:, and Rev: to Foswikirev: |
Item5176 | %SCRIPTSUFFIX is added twice in TOC links |
Item5213 | SCRIPTNAME not defined when using Sun One Web Server |
Item5350 | NONWIKIWORDFLAG is not resolved |
Item5351 | WebCreateNewTopic filters out international characters |
Item5406 | Don't let a skin update break existing left bars and top bar |
Item5453 | value of "0" improperly handled as param to ENCODE and SPACEOUT |
Item5637 | Move languages.cache to Working where webserver has permission to write so we can leave Locales read only |
Item5848 | Number of topics resulting from 2 SEARCH's onthe same topic seems in error (and seems to be duplicated too. |
Item5852 | Split out operators into seperate modules, so that extensions can plug in new operators. |
Item5859 | Plugin does not work if using NTLM |
Item5900 | PatternSkinCustomization and WysiwygPlugin still mention kupu and COMPOSER |
Item5910 | %TOC variable creates links with unnecessary query string |
Item5922 | $formfield data not being displayed in formatted searches |
Item5926 | Topics with Chinese in UTF8 destroys page view in Internet Explorer |
Item5937 | move initialization of SwitchBoard to TWiki.spec |
Item5939 | Rogue below |