Remove old TWiki pages
authorRuss Allbery <rra@stanford.edu>
Thu, 4 Nov 2010 23:55:14 +0000 (16:55 -0700)
committerRuss Allbery <rra@stanford.edu>
Thu, 4 Nov 2010 23:55:14 +0000 (16:55 -0700)
477 files changed:
TWiki/ATasteOfTWiki.mdwn [deleted file]
TWiki/AccessKeys.mdwn [deleted file]
TWiki/AdminDocumentationCategory.mdwn [deleted file]
TWiki/AdminSkillsAssumptions.mdwn [deleted file]
TWiki/AdminToolsCategory.mdwn [deleted file]
TWiki/AnApplicationWithWikiForm.mdwn [deleted file]
TWiki/AppendixEncodeURLsWithUTF8.mdwn [deleted file]
TWiki/BehaviourContrib.mdwn [deleted file]
TWiki/BookView.mdwn [deleted file]
TWiki/BulkRegistration.mdwn [deleted file]
TWiki/BulkResetPassword.mdwn [deleted file]
TWiki/BumpyWord.mdwn [deleted file]
TWiki/CGISessionDotPm.mdwn [deleted file]
TWiki/CGISessionDriverDBIDotPm.mdwn [deleted file]
TWiki/CGISessionDriverDb_fileDotPm.mdwn [deleted file]
TWiki/CGISessionDriverDotPm.mdwn [deleted file]
TWiki/CGISessionDriverFileDotPm.mdwn [deleted file]
TWiki/CGISessionDriverMysqlDotPm.mdwn [deleted file]
TWiki/CGISessionDriverPostgresqlDotPm.mdwn [deleted file]
TWiki/CGISessionDriverSqliteDotPm.mdwn [deleted file]
TWiki/CGISessionErrorHandlerDotPm.mdwn [deleted file]
TWiki/CGISessionIDIncrDotPm.mdwn [deleted file]
TWiki/CGISessionIDMd5DotPm.mdwn [deleted file]
TWiki/CGISessionSerializeDefaultDotPm.mdwn [deleted file]
TWiki/CGISessionSerializeFreezethawDotPm.mdwn [deleted file]
TWiki/CGISessionSerializeJsonDotPm.mdwn [deleted file]
TWiki/CGISessionSerializeStorableDotPm.mdwn [deleted file]
TWiki/CGISessionSerializeYamlDotPm.mdwn [deleted file]
TWiki/CGISessionTutorialDotPm.mdwn [deleted file]
TWiki/CategoryCategory.mdwn [deleted file]
TWiki/ChangeEmailAddress.mdwn [deleted file]
TWiki/ChangePassword.mdwn [deleted file]
TWiki/ClassMethod.mdwn [deleted file]
TWiki/ClassicSkin.mdwn [deleted file]
TWiki/CommentPlugin.mdwn [deleted file]
TWiki/CommentPluginExamples.mdwn [deleted file]
TWiki/CommentPluginTemplate.mdwn [deleted file]
TWiki/DeleteOrRenameATopic.mdwn [deleted file]
TWiki/DeleteOrRenameAnAttachment.mdwn [deleted file]
TWiki/DeveloperDocumentationCategory.mdwn [deleted file]
TWiki/DontNotify.mdwn [deleted file]
TWiki/EditDoesNotIncreaseTheRevision.mdwn [deleted file]
TWiki/EditTablePlugin.mdwn [deleted file]
TWiki/EmptyPlugin.mdwn [deleted file]
TWiki/ExampleTopicTemplate.mdwn [deleted file]
TWiki/FileAttachment.mdwn [deleted file]
TWiki/FileAttribute.mdwn [deleted file]
TWiki/ForceNewRevision.mdwn [deleted file]
TWiki/FormatTokens.mdwn [deleted file]
TWiki/FormattedSearch.mdwn [deleted file]
TWiki/GnuGeneralPublicLicense.mdwn [deleted file]
TWiki/GoBox.mdwn [deleted file]
TWiki/GoodStyle.mdwn [deleted file]
TWiki/HeadlinesPlugin.mdwn [deleted file]
TWiki/HiddenAttachment.mdwn [deleted file]
TWiki/HierarchicalNavigation.mdwn [deleted file]
TWiki/HierarchicalNavigationChildExample.mdwn [deleted file]
TWiki/IfStatements.mdwn [deleted file]
TWiki/IncludeTopicsAndWebPages.mdwn [deleted file]
TWiki/InstalledPlugins.mdwn [deleted file]
TWiki/InstantEnhancements.mdwn [deleted file]
TWiki/InterWikis.mdwn [deleted file]
TWiki/InterwikiPlugin.mdwn [deleted file]
TWiki/JSCalendarContrib.mdwn [deleted file]
TWiki/JSCalendarContribInline.mdwn [deleted file]
TWiki/LanguageSelector.mdwn [deleted file]
TWiki/LoginName.mdwn [deleted file]
TWiki/MailerContrib.mdwn [deleted file]
TWiki/MainFeatures.mdwn [deleted file]
TWiki/ManagingTopics.mdwn [deleted file]
TWiki/ManagingUsers.mdwn [deleted file]
TWiki/ManagingWebs.mdwn [deleted file]
TWiki/MonitorDotPm.mdwn [deleted file]
TWiki/MoveTopic.mdwn [deleted file]
TWiki/NewUserTemplate.mdwn [deleted file]
TWiki/ObjectMethod.mdwn [deleted file]
TWiki/PatternSkin.mdwn [deleted file]
TWiki/PatternSkinColorSettings.mdwn [deleted file]
TWiki/PatternSkinCss.mdwn [deleted file]
TWiki/PatternSkinCssCookbook.mdwn [deleted file]
TWiki/PatternSkinCssCookbookCenterPage.mdwn [deleted file]
TWiki/PatternSkinCssCookbookCenterPageBorder.mdwn [deleted file]
TWiki/PatternSkinCssCookbookEditTableStyle.mdwn [deleted file]
TWiki/PatternSkinCssCookbookFonts.mdwn [deleted file]
TWiki/PatternSkinCssCookbookNoLeftBar.mdwn [deleted file]
TWiki/PatternSkinCssCookbookNoTopBar.mdwn [deleted file]
TWiki/PatternSkinCustomization.mdwn [deleted file]
TWiki/PatternSkinElements.mdwn [deleted file]
TWiki/PatternSkinGraphics.mdwn [deleted file]
TWiki/PatternSkinHeaderArt.mdwn [deleted file]
TWiki/PatternSkinWebCreateNewTopicTemplate.mdwn [deleted file]
TWiki/PeterThoeny.mdwn [deleted file]
TWiki/PlainSkin.mdwn [deleted file]
TWiki/PreferencesPlugin.mdwn [deleted file]
TWiki/PreviewBackground.mdwn [deleted file]
TWiki/PrintSkin.mdwn [deleted file]
TWiki/QuerySearch.mdwn [deleted file]
TWiki/QuietSave.mdwn [deleted file]
TWiki/RegistrationApprovals.mdwn [deleted file]
TWiki/RegularExpression.mdwn [deleted file]
TWiki/RenameWeb.mdwn [deleted file]
TWiki/RenderListPlugin.mdwn [deleted file]
TWiki/ResetPassword.mdwn [deleted file]
TWiki/SearchDoesNotWork.mdwn [deleted file]
TWiki/SearchHelp.mdwn [deleted file]
TWiki/SearchPatternCookbook.mdwn [deleted file]
TWiki/SimultaneousEdits.mdwn [deleted file]
TWiki/SiteChanges.mdwn [deleted file]
TWiki/SiteMap.mdwn [deleted file]
TWiki/SitePermissions.mdwn [deleted file]
TWiki/SlideShowPlugin.mdwn [deleted file]
TWiki/SmiliesPlugin.mdwn [deleted file]
TWiki/SourceCode.mdwn [deleted file]
TWiki/SpreadSheetPlugin.mdwn [deleted file]
TWiki/StandardColors.mdwn [deleted file]
TWiki/StartingPoints.mdwn [deleted file]
TWiki/StaticMethod.mdwn [deleted file]
TWiki/TWikiAccessControl.mdwn [deleted file]
TWiki/TWikiAccessControlExceptionDotPm.mdwn [deleted file]
TWiki/TWikiAccessDotPm.mdwn [deleted file]
TWiki/TWikiAddOns.mdwn [deleted file]
TWiki/TWikiAggregateIteratorDotPm.mdwn [deleted file]
TWiki/TWikiAttachDotPm.mdwn [deleted file]
TWiki/TWikiAttrsDotPm.mdwn [deleted file]
TWiki/TWikiCompatibilityDotPm.mdwn [deleted file]
TWiki/TWikiConfigureLoadDotPm.mdwn [deleted file]
TWiki/TWikiConfigureUIsEXTENDDotPm.mdwn [deleted file]
TWiki/TWikiContribs.mdwn [deleted file]
TWiki/TWikiContributor.mdwn [deleted file]
TWiki/TWikiCss.mdwn [deleted file]
TWiki/TWikiDocGraphics.mdwn [deleted file]
TWiki/TWikiDocumentation.mdwn [deleted file]
TWiki/TWikiDotPm.mdwn [deleted file]
TWiki/TWikiDownload.mdwn [deleted file]
TWiki/TWikiEditingShorthand.mdwn [deleted file]
TWiki/TWikiEnhancementRequests.mdwn [deleted file]
TWiki/TWikiFAQ.mdwn [deleted file]
TWiki/TWikiFaqTemplate.mdwn [deleted file]
TWiki/TWikiFormDotPm.mdwn [deleted file]
TWiki/TWikiFormFieldDefinitionDotPm.mdwn [deleted file]
TWiki/TWikiFormListFieldDefinitionDotPm.mdwn [deleted file]
TWiki/TWikiFormSelectDotPm.mdwn [deleted file]
TWiki/TWikiForms.mdwn [deleted file]
TWiki/TWikiFuncDotPm.mdwn [deleted file]
TWiki/TWikiGlossary.mdwn [deleted file]
TWiki/TWikiHistory.mdwn [deleted file]
TWiki/TWikiI18NDotPm.mdwn [deleted file]
TWiki/TWikiI18NExtractDotPm.mdwn [deleted file]
TWiki/TWikiIfNodeDotPm.mdwn [deleted file]
TWiki/TWikiIfOP_iswebDotPm.mdwn [deleted file]
TWiki/TWikiIfParserDotPm.mdwn [deleted file]
TWiki/TWikiInfixErrorDotPm.mdwn [deleted file]
TWiki/TWikiInfixNodeDotPm.mdwn [deleted file]
TWiki/TWikiInfixParserDotPm.mdwn [deleted file]
TWiki/TWikiInstallationGuide.mdwn [deleted file]
TWiki/TWikiJavascripts.mdwn [deleted file]
TWiki/TWikiLineIteratorDotPm.mdwn [deleted file]
TWiki/TWikiListIteratorDotPm.mdwn [deleted file]
TWiki/TWikiLoginManagerApacheLoginDotPm.mdwn [deleted file]
TWiki/TWikiLoginManagerDotPm.mdwn [deleted file]
TWiki/TWikiLoginManagerTemplateLoginDotPm.mdwn [deleted file]
TWiki/TWikiLogos.mdwn [deleted file]
TWiki/TWikiMergeDotPm.mdwn [deleted file]
TWiki/TWikiMetaData.mdwn [deleted file]
TWiki/TWikiMetaDotPm.mdwn [deleted file]
TWiki/TWikiNetDotPm.mdwn [deleted file]
TWiki/TWikiNetHTTPResponseDotPm.mdwn [deleted file]
TWiki/TWikiNetSkin.mdwn [deleted file]
TWiki/TWikiNetSkinColorSettings.mdwn [deleted file]
TWiki/TWikiNetSkinPlugin.mdwn [deleted file]
TWiki/TWikiNetSkinWebCreateNewTopicTemplate.mdwn [deleted file]
TWiki/TWikiOopsExceptionDotPm.mdwn [deleted file]
TWiki/TWikiPlannedFeatures.mdwn [deleted file]
TWiki/TWikiPluginDotPm.mdwn [deleted file]
TWiki/TWikiPlugins.mdwn [deleted file]
TWiki/TWikiPluginsDotPm.mdwn [deleted file]
TWiki/TWikiPluralsDotPm.mdwn [deleted file]
TWiki/TWikiPreferences.mdwn [deleted file]
TWiki/TWikiPreferencesForm.mdwn [deleted file]
TWiki/TWikiPrefsDotPm.mdwn [deleted file]
TWiki/TWikiPrefsParserDotPm.mdwn [deleted file]
TWiki/TWikiPrefsPrefsCacheDotPm.mdwn [deleted file]
TWiki/TWikiQueryHoistREsDotPm.mdwn [deleted file]
TWiki/TWikiQueryNodeDotPm.mdwn [deleted file]
TWiki/TWikiQueryParserDotPm.mdwn [deleted file]
TWiki/TWikiReferenceManual.mdwn [deleted file]
TWiki/TWikiRegistration.mdwn [deleted file]
TWiki/TWikiReleaseNotes04x00.mdwn [deleted file]
TWiki/TWikiReleaseNotes04x01.mdwn [deleted file]
TWiki/TWikiReleaseNotes04x02.mdwn [deleted file]
TWiki/TWikiReleaseNotes04x03.mdwn [deleted file]
TWiki/TWikiRenderDotPm.mdwn [deleted file]
TWiki/TWikiRenderingShortcut.mdwn [deleted file]
TWiki/TWikiSandboxDotPm.mdwn [deleted file]
TWiki/TWikiScripts.mdwn [deleted file]
TWiki/TWikiSearchDotPm.mdwn [deleted file]
TWiki/TWikiShorthand.mdwn [deleted file]
TWiki/TWikiSite.mdwn [deleted file]
TWiki/TWikiSiteTools.mdwn [deleted file]
TWiki/TWikiSkinBrowser.mdwn [deleted file]
TWiki/TWikiSkins.mdwn [deleted file]
TWiki/TWikiStoreDotPm.mdwn [deleted file]
TWiki/TWikiStoreQueryAlgorithmsBruteForceDotPm.mdwn [deleted file]
TWiki/TWikiStoreRcsFileDotPm.mdwn [deleted file]
TWiki/TWikiStoreRcsLiteDotPm.mdwn [deleted file]
TWiki/TWikiStoreRcsWrapDotPm.mdwn [deleted file]
TWiki/TWikiStoreSearchAlgorithmsForkingDotPm.mdwn [deleted file]
TWiki/TWikiStoreSearchAlgorithmsPurePerlDotPm.mdwn [deleted file]
TWiki/TWikiSystemRequirements.mdwn [deleted file]
TWiki/TWikiTemplates.mdwn [deleted file]
TWiki/TWikiTemplatesDotPm.mdwn [deleted file]
TWiki/TWikiTimeDotPm.mdwn [deleted file]
TWiki/TWikiTip001.mdwn [deleted file]
TWiki/TWikiTip002.mdwn [deleted file]
TWiki/TWikiTip003.mdwn [deleted file]
TWiki/TWikiTip004.mdwn [deleted file]
TWiki/TWikiTip005.mdwn [deleted file]
TWiki/TWikiTip006.mdwn [deleted file]
TWiki/TWikiTip007.mdwn [deleted file]
TWiki/TWikiTip008.mdwn [deleted file]
TWiki/TWikiTip009.mdwn [deleted file]
TWiki/TWikiTip010.mdwn [deleted file]
TWiki/TWikiTip011.mdwn [deleted file]
TWiki/TWikiTip012.mdwn [deleted file]
TWiki/TWikiTip013.mdwn [deleted file]
TWiki/TWikiTip014.mdwn [deleted file]
TWiki/TWikiTip015.mdwn [deleted file]
TWiki/TWikiTip016.mdwn [deleted file]
TWiki/TWikiTip017.mdwn [deleted file]
TWiki/TWikiTip018.mdwn [deleted file]
TWiki/TWikiTip019.mdwn [deleted file]
TWiki/TWikiTip020.mdwn [deleted file]
TWiki/TWikiTip021.mdwn [deleted file]
TWiki/TWikiTip022.mdwn [deleted file]
TWiki/TWikiTip023.mdwn [deleted file]
TWiki/TWikiTip024.mdwn [deleted file]
TWiki/TWikiTip025.mdwn [deleted file]
TWiki/TWikiTip026.mdwn [deleted file]
TWiki/TWikiTip027.mdwn [deleted file]
TWiki/TWikiTip028.mdwn [deleted file]
TWiki/TWikiTip029.mdwn [deleted file]
TWiki/TWikiTips.mdwn [deleted file]
TWiki/TWikiTipsOfTheDay.mdwn [deleted file]
TWiki/TWikiTipsOfTheDayAddNew.mdwn [deleted file]
TWiki/TWikiTipsOfTheDayAdmin.mdwn [deleted file]
TWiki/TWikiTipsOfTheDayInclude.mdwn [deleted file]
TWiki/TWikiTipsOfTheDayTemplate.mdwn [deleted file]
TWiki/TWikiTopics.mdwn [deleted file]
TWiki/TWikiTutorial.mdwn [deleted file]
TWiki/TWikiUIChangeFormDotPm.mdwn [deleted file]
TWiki/TWikiUIDotPm.mdwn [deleted file]
TWiki/TWikiUIEditDotPm.mdwn [deleted file]
TWiki/TWikiUIManageDotPm.mdwn [deleted file]
TWiki/TWikiUIOopsDotPm.mdwn [deleted file]
TWiki/TWikiUIRDiffDotPm.mdwn [deleted file]
TWiki/TWikiUIRegisterDotPm.mdwn [deleted file]
TWiki/TWikiUISaveDotPm.mdwn [deleted file]
TWiki/TWikiUISearchDotPm.mdwn [deleted file]
TWiki/TWikiUIStatisticsDotPm.mdwn [deleted file]
TWiki/TWikiUIUploadDotPm.mdwn [deleted file]
TWiki/TWikiUIViewDotPm.mdwn [deleted file]
TWiki/TWikiUpgradeGuide.mdwn [deleted file]
TWiki/TWikiUserAuthentication.mdwn [deleted file]
TWiki/TWikiUserMappingContrib.mdwn [deleted file]
TWiki/TWikiUserMappingDotPm.mdwn [deleted file]
TWiki/TWikiUserSetting.mdwn [deleted file]
TWiki/TWikiUsersApacheHtpasswdUserDotPm.mdwn [deleted file]
TWiki/TWikiUsersBaseUserMappingDotPm.mdwn [deleted file]
TWiki/TWikiUsersDotPm.mdwn [deleted file]
TWiki/TWikiUsersGuide.mdwn [deleted file]
TWiki/TWikiUsersHtPasswdUserDotPm.mdwn [deleted file]
TWiki/TWikiUsersPasswordDotPm.mdwn [deleted file]
TWiki/TWikiUsersTemplate.mdwn [deleted file]
TWiki/TWikiVariables.mdwn [deleted file]
TWiki/TWikiVariablesQuickStart.mdwn [deleted file]
TWiki/TWikiWebsTable.mdwn [deleted file]
TWiki/TablePlugin.mdwn [deleted file]
TWiki/TemplateWeb.mdwn [deleted file]
TWiki/TextEditor.mdwn [deleted file]
TWiki/TextFormattingFAQ.mdwn [deleted file]
TWiki/TextFormattingRules.mdwn [deleted file]
TWiki/TimBernersLee.mdwn [deleted file]
TWiki/TimeSpecifications.mdwn [deleted file]
TWiki/TinyMCEPlugin.mdwn [deleted file]
TWiki/TinyMCEQuickHelp.mdwn [deleted file]
TWiki/TipsContrib.mdwn [deleted file]
TWiki/TwistyContrib.mdwn [deleted file]
TWiki/TwistyPlugin.mdwn [deleted file]
TWiki/UserDocumentationCategory.mdwn [deleted file]
TWiki/UserForm.mdwn [deleted file]
TWiki/UserToolsCategory.mdwn [deleted file]
TWiki/UsingHTML.mdwn [deleted file]
TWiki/VarACTIVATEDPLUGINS.mdwn [deleted file]
TWiki/VarALLVARIABLES.mdwn [deleted file]
TWiki/VarAQUA.mdwn [deleted file]
TWiki/VarATTACHURL.mdwn [deleted file]
TWiki/VarATTACHURLPATH.mdwn [deleted file]
TWiki/VarAUTHREALM.mdwn [deleted file]
TWiki/VarBASETOPIC.mdwn [deleted file]
TWiki/VarBASEWEB.mdwn [deleted file]
TWiki/VarBB.mdwn [deleted file]
TWiki/VarBB2.mdwn [deleted file]
TWiki/VarBB3.mdwn [deleted file]
TWiki/VarBB4.mdwn [deleted file]
TWiki/VarBLACK.mdwn [deleted file]
TWiki/VarBLUE.mdwn [deleted file]
TWiki/VarBR.mdwn [deleted file]
TWiki/VarBROWN.mdwn [deleted file]
TWiki/VarBULLET.mdwn [deleted file]
TWiki/VarCALC.mdwn [deleted file]
TWiki/VarCARET.mdwn [deleted file]
TWiki/VarCOMMENT.mdwn [deleted file]
TWiki/VarDATE.mdwn [deleted file]
TWiki/VarDISPLAYTIME.mdwn [deleted file]
TWiki/VarDISPLAYTIME2.mdwn [deleted file]
TWiki/VarEDITACTION.mdwn [deleted file]
TWiki/VarEDITTABLE.mdwn [deleted file]
TWiki/VarENCODE.mdwn [deleted file]
TWiki/VarENDCOLOR.mdwn [deleted file]
TWiki/VarENDSECTION.mdwn [deleted file]
TWiki/VarENV.mdwn [deleted file]
TWiki/VarFAILEDPLUGINS.mdwn [deleted file]
TWiki/VarFORMFIELD.mdwn [deleted file]
TWiki/VarGMTIME.mdwn [deleted file]
TWiki/VarGMTIME2.mdwn [deleted file]
TWiki/VarGRAY.mdwn [deleted file]
TWiki/VarGREEN.mdwn [deleted file]
TWiki/VarGROUPS.mdwn [deleted file]
TWiki/VarH.mdwn [deleted file]
TWiki/VarHOMETOPIC.mdwn [deleted file]
TWiki/VarHTTP.mdwn [deleted file]
TWiki/VarHTTPHOST.mdwn [deleted file]
TWiki/VarHTTPS.mdwn [deleted file]
TWiki/VarI.mdwn [deleted file]
TWiki/VarICON.mdwn [deleted file]
TWiki/VarICONURL.mdwn [deleted file]
TWiki/VarICONURLPATH.mdwn [deleted file]
TWiki/VarIF.mdwn [deleted file]
TWiki/VarINCLUDE.mdwn [deleted file]
TWiki/VarINCLUDINGTOPIC.mdwn [deleted file]
TWiki/VarINCLUDINGWEB.mdwn [deleted file]
TWiki/VarLANGUAGE.mdwn [deleted file]
TWiki/VarLANGUAGES.mdwn [deleted file]
TWiki/VarLIME.mdwn [deleted file]
TWiki/VarLOCALSITEPREFS.mdwn [deleted file]
TWiki/VarLOGIN.mdwn [deleted file]
TWiki/VarLOGOUT.mdwn [deleted file]
TWiki/VarM.mdwn [deleted file]
TWiki/VarMAINWEB.mdwn [deleted file]
TWiki/VarMAKETEXT.mdwn [deleted file]
TWiki/VarMAROON.mdwn [deleted file]
TWiki/VarMETA.mdwn [deleted file]
TWiki/VarMETASEARCH.mdwn [deleted file]
TWiki/VarN.mdwn [deleted file]
TWiki/VarNAVY.mdwn [deleted file]
TWiki/VarNOP.mdwn [deleted file]
TWiki/VarNOTIFYTOPIC.mdwn [deleted file]
TWiki/VarOLIVE.mdwn [deleted file]
TWiki/VarORANGE.mdwn [deleted file]
TWiki/VarP.mdwn [deleted file]
TWiki/VarPINK.mdwn [deleted file]
TWiki/VarPLUGINDESCRIPTIONS.mdwn [deleted file]
TWiki/VarPLUGINVERSION.mdwn [deleted file]
TWiki/VarPUBURL.mdwn [deleted file]
TWiki/VarPUBURLPATH.mdwn [deleted file]
TWiki/VarPURPLE.mdwn [deleted file]
TWiki/VarQ.mdwn [deleted file]
TWiki/VarQUERYPARAMS.mdwn [deleted file]
TWiki/VarQUERYSTRING.mdwn [deleted file]
TWiki/VarRED.mdwn [deleted file]
TWiki/VarREMOTEADDR.mdwn [deleted file]
TWiki/VarREMOTEPORT.mdwn [deleted file]
TWiki/VarREMOTEUSER.mdwn [deleted file]
TWiki/VarRENDERLIST.mdwn [deleted file]
TWiki/VarREVINFO.mdwn [deleted file]
TWiki/VarREVINFO2.mdwn [deleted file]
TWiki/VarS.mdwn [deleted file]
TWiki/VarSCRIPTNAME.mdwn [deleted file]
TWiki/VarSCRIPTSUFFIX.mdwn [deleted file]
TWiki/VarSCRIPTURL.mdwn [deleted file]
TWiki/VarSCRIPTURL2.mdwn [deleted file]
TWiki/VarSCRIPTURLPATH.mdwn [deleted file]
TWiki/VarSCRIPTURLPATH2.mdwn [deleted file]
TWiki/VarSEARCH.mdwn [deleted file]
TWiki/VarSERVERTIME.mdwn [deleted file]
TWiki/VarSERVERTIME2.mdwn [deleted file]
TWiki/VarSESSIONID.mdwn [deleted file]
TWiki/VarSESSIONVAR.mdwn [deleted file]
TWiki/VarSESSIONVARIABLE.mdwn [deleted file]
TWiki/VarSILVER.mdwn [deleted file]
TWiki/VarSLIDESHOWEND.mdwn [deleted file]
TWiki/VarSLIDESHOWSTART.mdwn [deleted file]
TWiki/VarSPACEDTOPIC.mdwn [deleted file]
TWiki/VarSPACEOUT.mdwn [deleted file]
TWiki/VarSTARTINCLUDE.mdwn [deleted file]
TWiki/VarSTARTSECTION.mdwn [deleted file]
TWiki/VarSTATISTICSTOPIC.mdwn [deleted file]
TWiki/VarSTOPINCLUDE.mdwn [deleted file]
TWiki/VarSYSTEMWEB.mdwn [deleted file]
TWiki/VarT.mdwn [deleted file]
TWiki/VarTABLE.mdwn [deleted file]
TWiki/VarTEAL.mdwn [deleted file]
TWiki/VarTOC.mdwn [deleted file]
TWiki/VarTOC2.mdwn [deleted file]
TWiki/VarTOPIC.mdwn [deleted file]
TWiki/VarTOPICLIST.mdwn [deleted file]
TWiki/VarTOPICURL.mdwn [deleted file]
TWiki/VarTWIKIWEB.mdwn [deleted file]
TWiki/VarU.mdwn [deleted file]
TWiki/VarURLPARAM.mdwn [deleted file]
TWiki/VarUSERINFO.mdwn [deleted file]
TWiki/VarUSERNAME.mdwn [deleted file]
TWiki/VarUSERSWEB.mdwn [deleted file]
TWiki/VarVAR.mdwn [deleted file]
TWiki/VarVBAR.mdwn [deleted file]
TWiki/VarWEB.mdwn [deleted file]
TWiki/VarWEBLIST.mdwn [deleted file]
TWiki/VarWEBPREFSTOPIC.mdwn [deleted file]
TWiki/VarWHITE.mdwn [deleted file]
TWiki/VarWIKIHOMEURL.mdwn [deleted file]
TWiki/VarWIKINAME.mdwn [deleted file]
TWiki/VarWIKIPREFSTOPIC.mdwn [deleted file]
TWiki/VarWIKITOOLNAME.mdwn [deleted file]
TWiki/VarWIKIUSERNAME.mdwn [deleted file]
TWiki/VarWIKIUSERSTOPIC.mdwn [deleted file]
TWiki/VarWIKIVERSION.mdwn [deleted file]
TWiki/VarX.mdwn [deleted file]
TWiki/VarY.mdwn [deleted file]
TWiki/VarYELLOW.mdwn [deleted file]
TWiki/WabiSabi.mdwn [deleted file]
TWiki/WebAtom.mdwn [deleted file]
TWiki/WebAtomBase.mdwn [deleted file]
TWiki/WebBottomBar.mdwn [deleted file]
TWiki/WebChanges.mdwn [deleted file]
TWiki/WebChangesAlert.mdwn [deleted file]
TWiki/WebCreateNewTopic.mdwn [deleted file]
TWiki/WebCreateNewTopicTemplate.mdwn [deleted file]
TWiki/WebHome.mdwn [deleted file]
TWiki/WebIndex.mdwn [deleted file]
TWiki/WebLeftBar.mdwn [deleted file]
TWiki/WebLeftBarCookbook.mdwn [deleted file]
TWiki/WebLeftBarExample.mdwn [deleted file]
TWiki/WebLeftBarLogin.mdwn [deleted file]
TWiki/WebLeftBarPersonalTemplate.mdwn [deleted file]
TWiki/WebLeftBarSearch.mdwn [deleted file]
TWiki/WebLeftBarWebsList.mdwn [deleted file]
TWiki/WebNotify.mdwn [deleted file]
TWiki/WebPreferences.mdwn [deleted file]
TWiki/WebPreferencesHelp.mdwn [deleted file]
TWiki/WebRss.mdwn [deleted file]
TWiki/WebRssBase.mdwn [deleted file]
TWiki/WebSearch.mdwn [deleted file]
TWiki/WebSearchAdvanced.mdwn [deleted file]
TWiki/WebSiteTools.mdwn [deleted file]
TWiki/WebStatistics.mdwn [deleted file]
TWiki/WebTemplateTopics.mdwn [deleted file]
TWiki/WebTopBar.mdwn [deleted file]
TWiki/WebTopicCreator.mdwn [deleted file]
TWiki/WebTopicEditTemplate.mdwn [deleted file]
TWiki/WebTopicList.mdwn [deleted file]
TWiki/WebTopicNonWikiTemplate.mdwn [deleted file]
TWiki/WebTopicViewTemplate.mdwn [deleted file]
TWiki/WelcomeGuest.mdwn [deleted file]
TWiki/WhatDoesTWikiStandFor.mdwn [deleted file]
TWiki/WhatIsWikiWiki.mdwn [deleted file]
TWiki/WikiCulture.mdwn [deleted file]
TWiki/WikiName.mdwn [deleted file]
TWiki/WikiNotation.mdwn [deleted file]
TWiki/WikiReferences.mdwn [deleted file]
TWiki/WikiSyntax.mdwn [deleted file]
TWiki/WikiSyntaxSummary.mdwn [deleted file]
TWiki/WikiWikiClones.mdwn [deleted file]
TWiki/WikiWord.mdwn [deleted file]
TWiki/WysiwygPlugin.mdwn [deleted file]
TWiki/WysiwygPluginSettings.mdwn [deleted file]
TWiki/WysiwygPluginTopicLister.mdwn [deleted file]
TWiki/YouAreHere.mdwn [deleted file]

diff --git a/TWiki/ATasteOfTWiki.mdwn b/TWiki/ATasteOfTWiki.mdwn
deleted file mode 100644 (file)
index 97fb91e..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-This is a short introductory training course for TWiki beginners.
-
-<a name="StartPresentation"></a> <span>[[Main/WebHome?slideshow=on;skin=print#GoSlide1]]</span>
-
-## <a name="Slide 1: A Taste of TWiki"></a> Slide 1: A Taste of TWiki
-
-<img src="http://www.dementia.org/twiki//view/hula.gif" width="113" height="111" alt="Hula girl" /> The basic function of TWiki is a Wiki (if that helps!)
-
-A Wiki is like a web site, except that you can edit the content in your browser
-
-- "Wiki" is short for "wiki wiki", the Hawaiian for "Quick"
-- The idea originates from [Macintosh Hypercard](http://www.hyperdictionary.com/computing/hypercard), via [Ward Cunningham](http://www.c2.com/cgi/wiki?WardCunningham)
-- In Ward's words, Wiki is _"the simplest online database that could possibly work"_
-- A Wiki is basically a shared, online, persistent whiteboard
-
-## <a name="Slide 2: TWiki Wiki"></a> Slide 2: TWiki Wiki
-
-<img src="http://www.dementia.org/twiki//view/whiteboard.gif" width="240" height="160" alt="Whiteboard" /> TWiki implements the basic Wiki idea of a shared whiteboard
-
-- Anyone can add content<br />... or change what is written<br />... or change the organisation of the content
-- Whatever what you write is<br />... nicely presented<br />... remembered... and never forgotten
-
-TWiki also acts as an "application platform" to integrate a number of other functions.
-
-TWiki is an Open-Source development on [TWiki.org](http://twiki.org/)
-
-- led by TWiki:Main.PeterThoeny
-- with over 100 regular contributors in many countries
-
-## <a name="Slide 3: Where is it used?"></a> Slide 3: Where is it used?
-
-TWiki is mainly used in commercial environments, often on corporate intranets
-
-- Examples: Disney, British Telecom, SAP, Wind River, Motorola, [Epic Games](http://udn.epicgames.com/Main/WebHome)<br /><table cellspacing="20">
-  <tr>
-    <td><img alt="Disney logo" height="31" src="http://www.dementia.org/twiki//view/Disney_logo.gif" width="80" /></td>
-    <td><img alt="British Telecom logo" height="41" src="http://www.dementia.org/twiki//view/BT_logo.gif" width="80" /></td>
-    <td><img alt="SAP logo" height="40" src="http://www.dementia.org/twiki//view/SAP_logo.gif" width="80" /></td>
-    <td><img alt="Motorola logo" height="65" src="http://www.dementia.org/twiki//view/Motorola_logo.gif" width="80" /></td>
-    <td><img alt="Epic Games logo" height="65" src="http://www.dementia.org/twiki//view/EpicGames_logo.gif" width="80" /></td>
-  </tr>
-</table>
-
-A number of public Wiki sites also use TWiki
-
-- Examples: <br /><https://twiki.cern.ch/twiki/bin/view/><br /><http://csci.mrs.umn.edu/twiki/view>
-
-## <a name="Slide 4: TWiki Features"></a> Slide 4: TWiki Features
-
-TWiki builds on the original Wiki concept and adds a number of features that make it very useful in a business environment.
-
-- TWiki pages are fully revision controlled, so a record of every change to every page is kept <table border="0" cellpadding="3" cellspacing="0">
-  <tr>
-    <td bgcolor="#D0D0D0"><font color="black" size="-1">r6 <a>&lt;</a> r5 <a>&lt;</a> r4</font></td>
-  </tr>
-</table>
-- The look-and-feel is highly configurable, through use of templates
-
-<table width="100%">
-  <tr>
-    <td valign="top">
-      <ul>
-        <li> A "plugins" interface eases <ul>
-            <li> customisation </li>
-            <li> extension </li>
-            <li> application integration </li>
-          </ul>
-        </li>
-      </ul>
-    </td>
-    <td align="right"><img alt="" src="http://www.dementia.org/twiki//view/lego.gif" /></td>
-  </tr>
-</table>
-
-## <a name="Slide 5: Applications of basic T"></a> Slide 5: Applications of basic TWiki
-
-Basic TWiki can be used as:
-
-- A whiteboard
-- A document repository
-- A collaborative authoring environment
-- A notebook / scrapbook
-- A chat room
-
-## <a name="Slide 6: Extended applications"></a> Slide 6: Extended applications
-
-TWiki-with-extensions has been used as:
-
-- A Content Management System (CMS) for websites
-- A presentation development tool
-- A Blog
-- A database
-- A project management system
-- A tracking tool
-- (_truth is, we don't really know its limits!_)
-
-## <a name="Slide 7: Structure of a TWiki pa"></a> Slide 7: Structure of a TWiki page
-
-TWiki pages are usually organised into three parts:
-
-- A header
-- A body
-- A footer
-
-- The header and the footer are generated by the system
-- The body contains the text of the page, as entered by you
-
-TWiki is very configurable, and the look can change. However the essentials will all be there on the page (somewhere!)
-
-## <a name="Slide 8: The Page Header"></a> Slide 8: The Page Header
-
-The header of a TWiki page is generally highlighted in colour, and will usually contain an icon that gives you an idea of where you are, such as a company logo.
-
-<table bgcolor="white" border="0" cellpadding="3" cellspacing="0" width="90%">
-  <tr>
-    <td bgcolor="#D0D0D0" rowspan="2" valign="top" width="1%"><img alt="TWiki home" border="0" height="63" src="http://www.dementia.org/twiki//view/myco.gif" width="62" /></td>
-    <td><font size="+0"> MyCo.MyTopic </font></td>
-    <td align="right"><font color="black" size="-1">Webs:<br /><a href="non">Myco</a> | <a href="non">Main</a> | <a href="non">TWiki</a> | <a href="non">Sandbox</a></font></td>
-  </tr>
-  <tr bgcolor="#D0D0D0">
-    <td colspan="2"><font color="black" size="-1">[[Main/WebChanges]] | [[Main/WebIndex]] | [[Main/WebSearch]] | Go <input name="topic" size="16" type="text" /></font></td>
-  </tr>
-</table>
-
-It will also usually contain a number of 'links' that you can click on. You will generally see:
-
-- [[Changes|Main/WebChanges]] - gives you a list of recent changes
-- [[Index|Main/WebIndex]] - gives you a full index
-- [[Search|Main/WebSearch]] - takes you to a search page, where you can search all the text
-- Go <input name="topic" size="16" type="text" />
- - lets you type in the name of a page you already know
-
-## <a name="Slide 9: The Page Header ... con"></a> Slide 9: The Page Header ... continued
-
-<table bgcolor="white" border="0" cellpadding="3" cellspacing="0" width="90%">
-  <tr>
-    <td bgcolor="#D0D0D0" rowspan="2" valign="top" width="1%"><img alt="TWiki home" border="0" height="63" src="http://www.dementia.org/twiki//view/myco.gif" width="62" /></td>
-    <td><font size="+0"> MyCo.MyTopic </font></td>
-    <td align="right"><font color="black" size="-1">Webs:<br /><a href="non">Myco</a> | <a href="non">Main</a> | <a href="non">TWiki</a> | <a href="non">Sandbox</a></font></td>
-  </tr>
-  <tr bgcolor="#D0D0D0">
-    <td colspan="2"><font color="black" size="-1">[[Main/WebChanges]] | [[Main/WebIndex]] | [[Main/WebSearch]] | Go <input name="topic" size="16" type="text" /></font></td>
-  </tr>
-</table>
-
-You may also see in the header (usually at the top right) a list of the TWiki "webs". A web is a collection of pages that are related closely together
-
-- For example, we might have a web called "Enemies", where we keep all we know about our enemies, and another called "Friends"
-- There's usually a safe play web called something like "Sandbox" or "Scratch", where you can create pages just to try things out
-- And some admin areas, like "%USERSWEB%" and "%SYSTEMWEB%"
-
-## <a name="Slide 10: The Page Footer"></a> Slide 10: The Page Footer
-
-The footer of the page is also highlighted in colour, and is usually where you will find the links that let you change the content.
-
-<table bgcolor="white" border="0" cellpadding="3" cellspacing="0" width="90%">
-  <tr bgcolor="#D0D0D0">
-    <td colspan="2" valign="top"><font color="black" size="-1"> <a href="none"><b>Edit</b></a> | <a href="none">Attach</a> | <a href="none">Diffs</a> | r2 <a href="none">&gt;</a> r1 | <a href="none">More</a> </font></td>
-  </tr>
-  <tr>
-    <td valign="top"><font color="black" size="-1">Revision r1.2 - 13 Feb 2004 - 09:09 GMT - <a href="none">TWikiPresenter</a> </font></td>
-    <td valign="top" width="40%"><font size="-2">%WEBCOPYRIGHT% </font></td>
-  </tr>
-</table>
-
-- The [Edit]() link takes you to an interactive page where you can change the page content
-- The [Attach]() link lets you attach files
-- The other links invoke other, more complex, functions, mainly to do with revision tracking - they can safely be ignored for now
-
-## <a name="Slide 11: Editing Pages"></a> Slide 11: Editing Pages
-
-- You've read a page, and you disagree with it violently! It says:<br />_Everyone_ **knows** that `the world` is an <font><u>OblateSpheroid</u></font><br />But you know for a fact it is flat! ;-)
-- You've clicked the edit link, and an edit page has appeared. But it doesn't look much like what was on the page before - it's full of strange hieroglyphics!
-
-`_Everyone_ *knows* that =the world= is an OblateSpheroid`
-
-- Now what?
-
-## <a name="Slide 12: What&#39;s in a page"></a> Slide 12: What's in a page
-
-- The hieroglyphics are what's known as "TWiki Markup" or "formatting"
-- They are a really simple way of telling the browser how you want the page to look
-- You don't have to use them
-  - TWiki understands pages in plain text just fine.<br /><br />`Actually it is perfectly and absolutely flat`<br /><br /> appears as <br /><br /> Actually it is perfectly and absolutely flat
-
-## <a name="Slide 13: Formatting just makes"></a><a name="Slide 13: Formatting just makes "></a> Slide 13: Formatting just makes pages prettier
-
-... and easier to read<br /><br />`_Actually_ it is *perfectly* and __absolutely__ flat`<br /><br /> appears as <br /><br />_Actually_ it is **perfectly** and **_absolutely_** flat
-
-- A full description of all the formatting can be found in the %SYSTEMWEB%.TextFormattingRules and %SYSTEMWEB%.TextFormattingFAQ
-- The best thing to do is just to type until you get stuck
-  - then follow the link on the edit page to the help.
-
-## <a name="Slide 14: Commonly used formatti"></a> Slide 14: Commonly used formatting
-
-TWiki understands pages in plain text just fine, but you can %RED% **_jazz_** %ENDCOLOR%%GREEN% _them_ %ENDCOLOR%%BLUE% **up** %ENDCOLOR% using some simple formatting shortcuts. Here are some of the more commonly used ones:
-
-- ---+ indicates a heading. Add more +'s for a deeper heading. <table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> You type </strong></th>
-    <th bgcolor="#99CCCC"><strong> You see </strong></th>
-  </tr>
-  <tr>
-    <td> %BLACK%<code>---+ This is a heading</code>%ENDCOLOR% </td>
-    <td>
-      <h1>%BLACK%This is a heading%ENDCOLOR%</h1>
-    </td>
-  </tr>
-  <tr>
-    <td> %BLACK%<code>---++ And so is this</code>%ENDCOLOR% </td>
-    <td>
-      <h2>%BLACK%And so is this%ENDCOLOR%</h2>
-    </td>
-  </tr>
-</table>
-- %TOC% will insert a table of contents<br />
-
-## <a name="Slide 15: More common formatting"></a> Slide 15: More common formatting
-
-- A blank line gives a paragraph break<br />
-- --- on a line of its own gives a horizontal bar
-- Text in stars \*like this\* looks **like this**<br />
-- Text in underscores \_like this\_ looks _like this_<br />
-- Text in equals signs =like this= looks `like this`<br />
-- Bulleted lists use three spaces followed by an asterisk (`*`) at the start of the line
-  - The depth of the bullet is given by the number of spaces, in multiples of three
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> You type </strong></th>
-    <th bgcolor="#99CCCC"><strong> You see </strong></th>
-  </tr>
-  <tr>
-    <td><font color="black"><code>   * Bullet</code><br /><code>      * Sub-bullet</code></font></td>
-    <td>
-      <ul>
-        <li><font color="black">Bullet</font><ul>
-            <li><font color="black">Sub-bullet</font></li>
-          </ul>
-        </li>
-      </ul>
-    </td>
-  </tr>
-</table>
-
-- Numbered lists use a number in place of the `*`. The list is numbered automatically, so you can just use a `1`
-
-## <a name="Slide 16: Even more....."></a> Slide 16: Even more.....
-
-- You can create a table using vertical bars:
-
-         | Cat | Feline |
-         | Bear | Ursine |
-         | Wolf | Lupine |
-
-- appears as <table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td><font color="black">Cat</font></td>
-    <td><font color="black">Feline</font></td>
-  </tr>
-  <tr>
-    <td><font color="black">Bear</font></td>
-    <td><font color="black">Ursine</font></td>
-  </tr>
-  <tr>
-    <td><font color="black">Wolf</font></td>
-    <td><font color="black">Lupine</font></td>
-  </tr>
-</table>
-- %RED% .... %ENDCOLOR% will change the colour of the enclosed text. Lots of colours are available (%RED%%RED%%ENDCOLOR%, %GREEN%%GREEN%%ENDCOLOR%, %BLUE%%BLUE%%ENDCOLOR% etc)
-
-## <a name="Slide 17: &lt;a href=">WikiWords</a>"&gt; Slide 17: WikiWords
-
-- One special hieroglyph that is **very important** is a [[BumpyWord]]
-  - a word that starts with uppercase, then some lowercase, then more uppercase (a.k.a CamelCase)
-- This has a special meaning to TWiki; if it matches the name of another topic, TWiki will automatically create a link to that page for you.
-- If there is no such page, then the word is highlighted and a question mark is put after the word, [[LikeThis]]
-- If you click on the question mark, then TWiki will invite you to create that page.
-
-- This lets you enter the names of topics you _think_ should exist, but don't yet
-  - You, or someone else, can always come along later and click on the question mark!
-
-## <a name="Slide 18: Referencing other page"></a> Slide 18: Referencing other pages and URLs
-
-- [[BumpyWords]] automatically link to the target page
-  - You can make these links easier to read using square brackets:
-    - <code>\[[BumpyWords]\[bumpy words]] appears as [[bumpy words|Main/BumpyWords]]</code>
-- An ordinary URL pasted into text will appear as a link - <http://www.google.com>
-  - You can also prettify URLs using square brackets:
-    - `[[http://www.google.com/][Google]]` appears as [Google](http://www.google.com/)
-- Use %SEARCH. This is an interface to a sophisticated search engine that embeds the results of the search in your page. See %SYSTEMWEB%.TWikiVariables for full details.
-
-## <a name="Slide 19: More formatting"></a> Slide 19: More formatting
-
-- There's **lots** more formatting available, see %SYSTEMWEB%.TextFormattingRules and %SYSTEMWEB%.TextFormattingFAQ
-- _If you are a real masochist, you can even enter raw HTML tags!_
-- **Important** to _disable_ unwanted formatting, use `<nop>`
-  - `<nop>_word_` appears as \_word\_
-
-## <a name="Slide 20: Creating new pages"></a> Slide 20: Creating new pages
-
-- Alternative ways:
-  - Click on the question mark after a [[BumpyWord]]
-  - Type in the name of the topic in the "Go:" box
-  - Type in the name of the topic in the URL
-- Any time you try to visit a page that doesn't exist, TWiki will invite you to create it.
-- Make sure the names of topics are always [[BumpyWords]].
-
-## <a name="Slide 21: Attachments"></a> Slide 21: Attachments
-
-- Attachments are files which have been uploaded and attached to a TWiki page using the 'Attach' function in the footer.
-
-<table bgcolor="white" border="0" cellpadding="1" cellspacing="2">
-  <tr>
-    <th align="center" bgcolor="#0c2577" valign="top"><a href="none"><font color="#FFFF99">Attachment</font> <img alt="sort" border="0" src="http://TWiki.org/p/pub/TWiki/TablePlugin/diamond.gif" /></a></th>
-    <th align="center" bgcolor="#0c2577" valign="top"><a href="none"><font color="#FFFF99"> Action</font></a></th>
-    <th align="center" bgcolor="#0c2577" valign="top"><a href="none"><font color="#FFFF99"> Size</font></a></th>
-    <th align="center" bgcolor="#0c2577" valign="top"><a href="none"><font color="#FFFF99"> Date</font></a></th>
-    <th align="center" bgcolor="#0c2577" valign="top"><a href="none"><font color="#FFFF99"> Who</font></a></th>
-    <th align="center" bgcolor="#0c2577" valign="top"><a href="none"><font color="#FFFF99"> Comment</font></a></th>
-  </tr>
-  <tr>
-    <td bgcolor="#F8F8F8" valign="top"><img align="top" alt="" border="0" height="16" src="http://TWiki.org/p/pub/icn/zip.gif" width="16" /> <font color="black"><a href="none">myco.gif</a></font></td>
-    <td align="center" bgcolor="#F8F8F8" valign="top"><font color="black"><a href="none">manage</a></font></td>
-    <td align="right" bgcolor="#F8F8F8" valign="top"><font color="black"> 9.6 K </font></td>
-    <td bgcolor="#F8F8F8" valign="top"><font color="black"> 13 Feb 2004 - 18:41 </font></td>
-    <td bgcolor="#F8F8F8" valign="top"><font color="black"> <a href="none">MushroomMagicMan</a> </font></td>
-    <td bgcolor="#F8F8F8" valign="top"><font color="black">Attached image file </font></td>
-  </tr>
-</table>
-
-- Attachments are simply files, in whatever format you want.
-- TWiki recognises some file formats, notably image files (.gif)
-  - Write `%ATTACHURL%/myco.gif` to see this: ![myco.gif](http://www.dementia.org/twiki//view/myco.gif)
-
-## <a name="Slide 22: Wiki Culture"></a> Slide 22: Wiki Culture
-
-Enough about mechanics; how is a wiki actually _used_ ? Well, that's really up to you, but there are a number of tricks that the wiki community has developed for collaborative writing that work pretty well:
-
-- What can I edit?
-  - Anything. But it's good etiquette to sign your contributions
-  - If someone doesn't want you to edit a page, it's up to them to say so, clearly, on the page
-- But what if somebody doesn't like my edits?
-  - In TWiki, they can always recover the old revision and re-instantiate it if they really want to
-  - Otherwise they should regard your changes as an opportunity for discussion
-- Pages in wiki are (usually) in one of three "modes"
-  - DocumentMode
-  - ThreadMode
-  - StructuredMode
-
-TWiki doesn't automatically distinguish between these modes; they are purely semantic.
-
-## <a name="Slide 23: &lt;a href=">DocumentMode</a>"&gt; Slide 23: DocumentMode
-
-- A page in DocumentMode usually comprises a contribution which is written in the third person and left unsigned.
-- The piece of text is community property
-  - It may have multiple and changing authors as it is updated to reflect the community consensus.
-
-## <a name="Slide 24: &lt;a href=">ThreadMode</a>"&gt; Slide 24: ThreadMode
-
-- Thread mode is a form of discussion where the community holds a conversation
-- The discussion usually starts out with a statement, at the top of the page, that is subsequently discussed
-- The page may be periodically "refactored" (edited) to remove some of the comments
-  - As long as the comment is accurately reflected in what replaces it, nobody usually minds.
-  - Remember to always maintain a complete list of contributors, though!
-
-You may see a comment box on a page in ThreadMode that makes it easy to quickly add your inputs. Typing in a comment and adding it to a page this way is known as "blogging" ;-)
-
-- ThreadMode is rather like an e-mail thread
-  - Except that new comments are usually added to the end
-- ThreadMode pages often get refactored into DocumentMode
-
-## <a name="Slide 25: &lt;a href=">StructuredMode</a>"&gt; Slide 25: StructuredMode
-
-- A page in StructuredMode follows some predefined structure for example
-  - An agenda
-  - A set of meeting minutes
-  - A requirement description.
-- Pages in StructuredMode will usually have rules governing how they are edited.
-
-## <a name="Slide 26: Other Wiki tricks - Ca"></a> Slide 26: Other Wiki tricks - Categories
-
-- A Wiki trick for grouping pages together
-- Example: to group together a set of pages all relating to the weather:
-  1. Create a page called 'CategoryWeather'
-  2. Put a SEARCH that contains the word 'CategoryWeather' into it
-    - `%SEARCH{"CategoryWeather" nosearch="on" nosummary="on"}%`
-  3. Put the [[BumpyWord]] 'CategoryWeather' on all the pages relating to the weather<br />(usually at the bottom, below a horizontal bar)
-
-## <a name="Slide 27: Contributed features"></a> Slide 27: Contributed features
-
-Basic TWiki is rich with features, but is enriched even further by the addition of optional plug-in modules that may (or may not!) be installed in your TWiki. These are classified as either **_skins_** (modules that change the look-and-feel) and **_plugins_** (modules that enhance functionality).
-
-Here's a brief description of some of the more common plugins, together with the tags you might expect to see in topics if they are used. You can find out more by visiting the plugin pages.
-
-- ActionTrackerPlugin: Support **action tags** in topics, with **automatic notification** of action statuses `%ACTION...`
-- CalendarPlugin: Show a **monthly calendar** with highlighted events `%CALENDAR...%`
-- CommentPlugin: Support **rapid entry of short comments** (also known as **blogging**) `%COMMENT...`
-- ChartPlugin: Create PNG or GIF **charts to visualize data in TWiki tables** `%CHART...`
-- EditTablePlugin: Edit TWiki tables using **edit fields and drop down boxes** `%EDITTABLE...`
-- InterwikiPlugin: Define **shortcuts** for links to **common external sites**
-
-## <a name="Slide 28: More plugins"></a> Slide 28: More plugins
-
-- RenderListPlugin: Render **bullet lists in a variety of formats** `%RENDERLIST...`
-- SlideShowPlugin: **Create web based presentations** based on topics with headings `%SLIDESHOWSTART...`
-- SpreadSheetPlugin: Add **spreadsheet calculations** like "$SUM( $ABOVE() )" to tables located in TWiki topics `%CALC...`
-- TablePlugin: Control **presentation and sorting of tables** `%TABLE...`
-- TWikiDrawPlugin: Add **quick sketches** to pages `%DRAWING...`
-
-The following plugins are installed on this TWiki: [[SpreadSheetPlugin]], [[CommentPlugin]], [[EditTablePlugin]], [[InterwikiPlugin]], [[PreferencesPlugin]], [[SlideShowPlugin]], [[SmiliesPlugin]], [[TablePlugin]], [[TwistyPlugin]]
-
-There are many other plugins, see <http://TWiki.org/cgi-bin/view/Plugins>
-
-## <a name="Slide 29: Credits and Acknowledg"></a> Slide 29: Credits and Acknowledgements
-
-- This training was developed by TWiki:Main.CrawfordCurrie on behalf of [Oxamer](http://www.oxamer.com/), one of the companies in the [Oxford Gene Technology](http://www.ogt.co.uk/) group.
-- Valuable contributions were also received from the TWiki Open Source community; special mentions go to:
-  - TWiki:Main.WalterMundt
-  - TWiki:Main.SvenDowideit
-- The latest version of this presentation is available at TWiki:%WEB%.%TOPIC%, where you can also provide feedback
-
-**_Related topics:_** [[WelcomeGuest]], [[TWikiTutorial]], [[ATasteOfTWikiTemplate]]
diff --git a/TWiki/AccessKeys.mdwn b/TWiki/AccessKeys.mdwn
deleted file mode 100644 (file)
index 344fd16..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# <a name="Access Keys"></a> Access Keys
-
-## <a name="What are access keys?"></a> What are access keys?
-
-Access keys are keyboard shortcuts which allow the user to navigate around a website or a piece of computer software without having to use a mouse or other pointing device.
-
-## <a name="What are the advantages of using"></a> What are the advantages of using access keys?
-
-Its an alternative to using a mouse, or other pointing device, and can sometimes be quicker than using a mouse.
-
-## <a name="How do I use access keys?"></a> How do I use access keys?
-
-This depends on the browser you are using (see also cross-browser support below):
-
-- If you use Internet Explorer
-  - Press and hold the 'Alt' key
-  - Press the required letter
-  - Release the keys and press the 'ENTER' key
-
-- If you use Netscape Navigator, Mozilla, or Firefox 1.0
-  - Press and hold the 'Alt' key
-  - Press the required letter
-
-- If you use Firefox 2.0
-  - Press and hold both the 'Shift' and the 'Alt' key
-  - Press the required letter
-
-- If you are using a Mac
-  - Press and hold the 'Ctrl' key
-  - Press the required letter
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/AdminDocumentationCategory.mdwn b/TWiki/AdminDocumentationCategory.mdwn
deleted file mode 100644 (file)
index 37bbc25..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# <a name="A List of TWiki Administrator Do"></a> A List of TWiki Administrator Documentation
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
diff --git a/TWiki/AdminSkillsAssumptions.mdwn b/TWiki/AdminSkillsAssumptions.mdwn
deleted file mode 100644 (file)
index 48e9ce3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# <a name="Administrator Skills Assumptions"></a> Administrator Skills Assumptions
-
-**_Note:_** If you aren't already fairly well-skilled in Linux/Unix/Windows, Apache, and so on, consider using TWiki:Codev.TWikiVMDebianStable - this can be installed on Windows or Linux, and makes it possible to get a working TWiki system within 5 minutes (after a fairly big download), ready to use from your browser. This is ideal for personal use or evaluations - if you decide to go for production use then these AdminSkillsAssumptions apply to some degree, but you are starting from a working system.
-
-If you need to install TWiki you'll need to either have or learn the following skills (even with TWikiVMDebianStable, you'll need these for upgrades). For each of these, the requirement is either pre-existing knowledge/skill, or the willingness to spend significant time (i.e. from hours to days) learning them:
-
-- **Operating system administration:** Ability to use Unix/Linux command line tools (or equivalent Windows tools), including ability to move/copy/delete files, change permissions, view web server log files, set environment variables, use a text editor, etc.
-- **Web server administration:** Ability to do basic setup, e.g. ability to edit config files or use GUI configuration tools to enable CGI scripts on a directory.
-- **Program compilation:** _Where Revision Control System (RCS) is not pre-installed_ (that is most Unix systems), the ability to download and compile the RCS program from source, including use of `configure`, `make`, etc. This is often **not** necessary on Linux or Windows.
-- **Troubleshooting**: Ability to perform tests, inspect error logs, talk to technical support (whether in an IT department or web hosting provider) and read documentation in order to help with diagnosing installation problems.
-
-Installing TWiki is **not** recommended for people who only know HTML and web design, unless they are willing to learn the above, or team up with someone who can handle the installation.
-
-Although the [[TWikiInstallationGuide]] is quite complete, there will on occasion be parts that don't work in your local environment (particularly with TWiki:Codev/TWikiOnWebHostingSites, which are sometimes challenging even for those with good OS and web server skills).
-
-There are many excellent resources for learning how to administer your OS and web server, including books, web sites, web forums, IM and e-mail lists. The TWiki:Support web must **not** be depended on as a resource for this purpose - in other words, it is not there to answer basic questions about operating system and web server administration. Asking and answering questions is time consuming for all concerned and is best used for specific _TWiki related_ issues, rather than helping you learn the OS and web server.
-
-To get started with Linux, visit [LinuxBasics.org](http://linuxbasics.org/). LinuxBasics.org offers Linux tutorials, a mailing-list and an IRC-channel to answer questions, and links to sites with information to install and use Linux. LinuxBasics.org now also offers a downloadable Linux 'virtual machine' (LBox) that runs on Windows - you can use this as a completely safe learning environment, and feel free to make mistakes without any chance of damaging your Windows setup.
-
-A nice tool for people migrating from Windows is <http://www.MidnightCommander.org/>. It is already installed on Linux systems: try <code>**mc -ac**</code> and <code>**ESC 1**</code> to get help.
-
-**_Related Topics:_** [[AdminDocumentationCategory]]
diff --git a/TWiki/AdminToolsCategory.mdwn b/TWiki/AdminToolsCategory.mdwn
deleted file mode 100644 (file)
index 7a9e3a3..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-# <a name="Admin tools"></a> Admin tools
-
-Manage whole **TWiki** site from one screen.
-
-- <img src="http://www.dementia.org/twiki//view/Main/WebHome/help.gif" width="16" height="16" alt="help" /> Documentation: [[TWiki Reference Manual|Main/TWikiReferenceManual]]
-- <img src="http://www.dementia.org/twiki//view/Main/WebHome/wrench.gif" width="16" height="16" alt="wrench" /> [[Site Tools|Main/TWikiSiteTools]]: [Configure](http://www.dementia.org/twiki/configure), [[TWikiPreferences]], [[InterWikis]], [[Variables|Main/TWikiVariables]], [[Doc Graphics|Main/TWikiDocGraphics]]
-- <img src="http://www.dementia.org/twiki//view/Main/WebHome/persons.gif" width="16" height="16" alt="persons" /> Manage [[Users|USERSWEB/TWikiUsers]]: [[Register|Main/TWikiRegistration]], %SYSTEMWEB%.NewUserTemplate, %SYSTEMWEB%.UserForm, [[ResetPassword]], [[ChangePassword]]
-- <img src="http://www.dementia.org/twiki//view/Main/WebHome/indexlist.gif" width="16" height="16" alt="indexlist" /> Manage Content: [[Topics|Main/ManagingTopics]], [[Webs|Main/ManagingWebs]], [[YouAreHere]]
-- <img src="http://www.dementia.org/twiki//view/Main/WebHome/folder.gif" width="16" height="16" alt="folder" /> Webs: <table bgcolor="#000000" border="0" cellpadding="3" cellspacing="2" width="100%">
-  <tr bgcolor="#99CCCC">
-    <th>Web</th>
-    <th>Tools</th>
-    <th>Use to...</th>
-  </tr>
-  <tr>
-    <td>
-      <h1>TWiki Installation Error</h1>Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags) </td>
-  </tr>
-  <tr bgcolor="#ffffff">
-    <td colspan="3">This table is updated automatically based on WebPreferences settings of the individual webs.</td>
-  </tr>
-</table>
-<table border="0" cellpadding="3" cellspacing="2">
-  <tr bgcolor="#ffffff">
-    <td valign="top"> Legend: </td>
-    <td valign="top">  </td>
-    <td valign="top"><img alt="Home of web" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/home.gif" width="16" /> WebHome </td>
-    <td valign="top"><img alt="Search web" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/searchtopic.gif" width="16" /> WebSearch </td>
-    <td valign="top"><img alt="Recent changes in the web" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/recentchanges.gif" width="16" /> WebChanges </td>
-    <td valign="top"><img alt="Get notified of changes to the web" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/notify.gif" width="16" /> WebNotify </td>
-  </tr>
-  <tr bgcolor="#ffffff">
-    <td valign="top">  </td>
-    <td valign="top">  </td>
-    <td valign="top"><img alt="Preferences of web" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/wrench.gif" width="16" /> WebPreferences </td>
-    <td valign="top"><img alt="Statistics of web" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/statistics.gif" width="16" /> WebStatistics </td>
-    <td valign="top"><img alt="Bullet list of all topics" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/indexlist.gif" width="16" /> WebTopicList </td>
-    <td valign="top"><img alt="Index of all topics" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/index.gif" width="16" /> WebIndex </td>
-  </tr>
-</table>
-
-## <a name="All Admin Tools Category topics"></a> All Admin Tools Category topics
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-
-## <a name="Plugins"></a> Plugins
-
-Administrators can enable and disable plugins using [configure](http://www.dementia.org/twiki/configure).
-
-- [[SpreadSheetPlugin]] <span>(any TWiki, 10197)</span>:
-- [[CommentPlugin]] <span>(Dakar, 11359)</span>: Allows users to quickly post comments to a page without an edit/preview/save cycle
-- [[EditTablePlugin]] <span>(any TWiki, 11646)</span>:
-- [[InterwikiPlugin]] <span>(Dakar, $Rev: 11935$)</span>:
-- [[PreferencesPlugin]] <span>(Dakar, 9839)</span>:
-- [[SlideShowPlugin]] <span>(Any TWiki, $Rev: 12847$)</span>:
-- [[SmiliesPlugin]] <span>(Dakar, 8154)</span>:
-- [[TablePlugin]] <span>(1.020, 12339)</span>:
-- [[TwistyPlugin]] <span>(1.2.0, $Rev: 12154$)</span>:
-
-see also: [[TWikiPlugins]]
-
-## <a name="TWiki Version"></a> TWiki Version
-
-- TWiki engine: TWiki-4.1.2, Sat, 03 Mar 2007, build 13046
-- Plugin API: 1.11
-
-**_Related Topics:_** [[AdminDocumentationCategory]]
diff --git a/TWiki/AnApplicationWithWikiForm.mdwn b/TWiki/AnApplicationWithWikiForm.mdwn
deleted file mode 100644 (file)
index 8ac2bec..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-## <a name="FAQ:"></a> FAQ:
-
-How can I create a simple [[TWiki Form|Main/TWikiForms]] based application?
-
-## <a name="Answer:"></a> Answer:
-
-1. Create a TWiki Form and define fields (see [[TWikiForms]] for details)
-2. Add the form in the list of Web Forms. Set the variable WEBFORMS in [[WebPreferences]]
-3. Create a Template Topic
-4. In edit mode add the [[TWiki Form|Main/TWikiForms]] you defined to the Template Topic using the "Add Form" button
-5. Create a HTML Form with necessary fields
-6. Define `SEARCH` function for listing items (see [[VarSEARCH]] for details)
-
-For more information follow the links...
-
-The following is the code source of [[TWikiFAQ]]:
-
-    <form action="%SCRIPTURLPATH{edit}%/%WEB%/">
-    New FAQ topic: &nbsp; (Use a name in TWiki.WikiNotation) <br />
-    <input type="text" name="topic" size="32" />&nbsp;<input type="submit" class="twikiSubmit" value="Create Topic" />
-    <input type="hidden" name="onlywikiname" value="on" />
-    <input type="hidden" name="templatetopic" value="TWikiFaqTemplate" />
-    <input type="hidden" name="topicparent" value="%TOPIC%" />
-    <br />
-    </form>
-
-----
-
-And the `SEARCH` function:
-
-    %SEARCH{ "Back to\:__ TWikiFAQ" casesensitive="on" type="regex" nosearch="on" nototal="on"}%
-
-**_Back to:_** [[TWikiFAQ]]
-
-**_Related Topics:_** [[UserDocumentationCategory]]
-
--- **_Contributors:_** TWiki:Main.MiyokoTakushima - 18 Oct 2004
diff --git a/TWiki/AppendixEncodeURLsWithUTF8.mdwn b/TWiki/AppendixEncodeURLsWithUTF8.mdwn
deleted file mode 100644 (file)
index b29b40e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<a name="EncodeURLsUTF8"></a>
-
-# <a name="Appendix B: Encode URLs With UTF"></a> Appendix B: Encode URLs With UTF8
-
-_Use internationalised characters within WikiWords and attachment names_
-
-This topic addresses implemented UTF-8 support for URLs only. The overall plan for UTF-8 support for TWiki is described in TWiki:Codev.ProposedUTF8SupportForI18N.
-
-<div>
-  <ul>
-    <li><a href="#Appendix B: Encode URLs With UTF"> Appendix B: Encode URLs With UTF8 </a><ul>
-        <li><a href="#Current Status"> Current Status</a></li>
-        <li><a href="#Details of Implementation"> Details of Implementation</a></li>
-        <li><a href="#Testing and Limitation"> Testing and Limitation</a></li>
-      </ul>
-    </li>
-  </ul>
-</div>
-
-## <a name="Current Status"></a> Current Status
-
-To simplify use of internationalised characters within [[WikiWords]] and attachment names, TWiki now supports UTF-8 URLs, converting on-the-fly to virtually any character set, including ISO-8859-\*, KOI8-R, EUC-JP, and so on.
-
-Support for UTF-8 URL encoding avoids having to configure the browser to turn off this encoding in URLs (the default in Internet Explorer, Opera Browser and some Mozilla Browser URLs) and enables support of browsers where only this mode is supported (e.g. Opera Browser for Symbian smartphones). A non-UTF-8 site character set (e.g. ISO-8859-\*) is still used within TWiki, and in fact pages are stored and viewed entirely in the site character set - the browser dynamically converts URLs from the site character set into UTF-8, and TWiki converts them back again.
-
-System requirements are updated as follows:
-
-- ASCII or ISO-8859-1-only sites do not require any additional CPAN modules to be installed.
-- Perl 5.8 sites using any character set do not require additional modules, since CPAN:Encode is installed as part of Perl.
-- This feature still works on Perl 5.005\_03 as per [[TWikiSystemRequirements]], or Perl 5.6, as long as CPAN:Unicode::MapUTF8 is installed.
-
-The following 'non-ASCII-safe' character encodings are now excluded from use as the site character set, since they interfere with TWiki markup: ISO-2022-\*, HZ-\*, Shift-JIS, MS-Kanji, GB2312, GBK, GB18030, Johab and UHC. However, many multi-byte character sets work fine, e.g. EUC-JP, EUC-KR, EUC-TW, and EUC-CN. In addition, UTF-8 can already be used, with some limitations, for East Asian languages where EUC character encodings are not acceptable - see TWiki:Codev.ProposedUTF8SupportForI18N.
-
-It's now possible to override the site character set defined in the `{SiteLocale}` setting in [configure](http://www.dementia.org/twiki/configure) - this enables you to have a slightly different spelling of the character set in the server locale (e.g. 'eucjp') and the HTTP header sent to the browser (e.g. 'euc-jp').
-
-This feature should also support use of Mozilla Browser with TWiki:Codev.TWikiOnMainframe (as long as mainframe web server can convert or pass through UTF-8 URLs) - however, this specific combination is not tested. Other browser-server combinations should not have any problems.
-
-Please note that use of UTF-8 as the site character set is not yet supported - see Phase 2 of TWiki:Codev.ProposedUTF8SupportForI18N for plans and work to date in this area.
-
-This feature is complete in TWiki releases newer than February 2004.
-
-Note for skin developers: is no longer required (TWiki:Plugins.InternationalisingYourSkin).
-
-## <a name="Details of Implementation"></a> Details of Implementation
-
-URLs are not allowed to contain non-ASCII (8th bit set) characters: <http://www.w3.org/TR/html4/appendix/notes.html#non-ascii-chars>
-
-The overall plan for UTF-8 support for TWiki is described in two phases in TWiki:/Codev.ProposedUTF8SupportForI18N - this page addresses the first phase, in which UTF-8 is supported for URLs only.
-
-UTF-8 URL translation to virtually any character set is supported as of TWiki Release 01 Sep 2004, but full UTF-8 support (e.g. pages in UTF-8) is not supported yet - this will be phase 2.
-
-The code automatically detects whether a URL is UTF-8 or not, taking care to avoid over-long and illegal UTF-8 encodings that could introduce TWiki:Codev.MajorSecurityProblemWithIncludeFileProcessing (tested against a comprehensive [UTF-8 test file](http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt), which IE 5.5 fails quite dangerously, and Opera Browser passes). Any non-ASCII URLs that are _not_ valid UTF-8 are then assumed to be directly URL-encoded as a single-byte or multi-byte character set (as now), e.g. EUC-JP.
-
-The main point is that you can use TWiki with international characters in [[WikiWords]] without changing your browser setup from the default, and you can also still use TWiki using non-UTF-8 URLs. This works on any Perl version from 5.005\_03 onwards and corresponds to Phase 1 of TWiki:Codev.ProposedUTF8SupportForI18N. You can have different users using different URL formats transparently on the same server.
-
-UTF-8 URLs are automatically converted to the current [\{Site\}\{Charset\}](http://www.dementia.org/twiki/configure#Localisation), using modules such as CPAN:Encode if needed.
-
-TWiki generates the whole page in the site charset, e.g. ISO-8859-1 or EUC-JP, but the browser dynamically UTF-8 encodes the attachment's URL when it's used. Since Apache serves attachment downloads without TWiki being involved, TWiki's code can't do its UTF-8 decoding trick, so TWiki URL-encodes such URLs in ISO-8859-1 or whatever when generating the page, to bypass this URL encoding, ensuring that the URLs and filenames seen by Apache remain in the site charset.
-
-TWiki:Codev.TWikiOnMainframe uses EBCDIC web servers that typically translate their output to ASCII, UTF-8 or ISO-8859-1 (and URLs in the other direction) since there are so few EBCDIC web browsers. Such web servers don't work with even ISO-8859-1 URLs if they are URL encoded, since the automated translation is bypassed for URL-encoded characters. For TWiki on Mainframe, TWiki assumes that the web server will automatically translate UTF-8 URLs into EBCDIC URLs, as long as URL encoding is turned off in TWiki pages.
-
-## <a name="Testing and Limitation"></a> Testing and Limitation
-
-It should work with TWiki:Codev.TWikiOnMainframe. Tested with IE 5.5, Opera 7.11 and Mozilla (Firebird 0.7).
-
-Opera Browser on the P800 smartphone is working for page viewing but leads to corrupt page names when editing pages.
-
-For up to date information see TWiki:Codev.EncodeURLsWithUTF8
-
-**_Related Topics:_** [[AdminDocumentationCategory]]
diff --git a/TWiki/BehaviourContrib.mdwn b/TWiki/BehaviourContrib.mdwn
deleted file mode 100644 (file)
index 0e40bb0..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-# <a name="Behaviour Javascript framework C"></a><a name=" Behaviour Javascript framework "></a> Behaviour Javascript framework Contrib
-
-This contrib packages the third-party `Behaviour` Javascript event library, available from <http://bennolan.com/behaviour/>.
-
-Behaviour uses CSS selectors to subscribe to javascript event handlers. This allows to create clean code, separated from HTML (and well suited to create javascript based interaction that degrades nicely when javascript is not available).
-
-<div><span>On this page:</span><ul>
-    <li><a href="#Introduction"> Introduction</a></li>
-    <li><a href="#Usage"> Usage</a><ul>
-        <li><a href="#Example"> Example</a></li>
-        <li><a href="#Leaking danger"> Leaking danger</a></li>
-      </ul>
-    </li>
-    <li><a href="#Development"> Development</a></li>
-    <li><a href="#License"> License</a></li>
-    <li><a href="#Links"> Links</a></li>
-    <li><a href="#Installation Instructions"> Installation Instructions</a></li>
-    <li><a href="#Contrib Settings"> Contrib Settings</a></li>
-    <li><a href="#Contrib Info"> Contrib Info</a></li>
-  </ul>
-</div>
-
-## <a name="Introduction"></a> Introduction
-
-From the website:
-
-> After all the work of WASP and others to promote clean markup, valid pages and graceful degradation via css - it sucks that we're going back to tag soup days by throwing javascript tags into our html.
->
-> The better way to do javascript is to do it unobtrusively. PPK and Simon Willison have been recommending this approach for ages. And it's definitely the way to go. The only problem is that it's a bit of a pain in the ass.
->
-> That's why I came up with Behaviour - my solution to unobtrusive javascript behaviours.
->
-> **How does it work?**
->
-> Behaviour lets you use CSS selectors to specify elements to add javascript events to. This means that instead of writing:
->
->     <li>
->        <a onclick="this.parentNode.removeChild(this)" href="#">
->           Click me to delete me
->        </a>
->     </li>
->
-> You can use:
->
->     <ul id="example">
->        <li>
->           <a href="/someurl">Click me to delete me</a>
->        </li>
->     </ul>
->
-> And then use css selectors to select that element and add javascript functions to it.
->
->     var myrules = {
->        '#example li' : function(el){
->           el.onclick = function(){
->              this.parentNode.removeChild(this);
->
->           }
->        }
->     };
->
->     Behaviour.register(myrules);
-
-## <a name="Usage"></a> Usage
-
-Include the javascript file:
-
-> <script type="text/javascript" src="%PUBURL%/%TWIKIWEB%/BehaviourContrib/behaviour.js"></script>
-
-In your code you create a "rules" object, with sub-objects for each html element class name or id:
-
-> var myrules = {
->        '.classname' : function(element) {
->           // element event
->           element.onclick = function() {
->              // code here
->           }
->        },
->
->        '#id' : function(element) {
->           // element event
->           element.onclick = function() {
->              // code here
->           }
->        }
->     };
->
-> Or use nested identifiers:
->
->     var myrules = {
->        '.menu li a' : function(element) {
->           element.onclick = function() {
->              // code here
->           }
->        }
->     };
-
-Apply the rules with:
-
-> Behaviour.register(myrules);
-
-### <a name="Example"></a> Example
-
-If we have a 'normal' link to TWiki Web hometopic: [[TWiki Web Home|TWiki/WebHome]], we can use javascript to make it open a popup window. When javascript is not available the link behaviour defaults to opening the page in the current window.
-
-> <div id="demoblock" style="padding:1em; width:100px; text-align:center;">
->     MOUSE OVER ME
->     </div>
->
->     <script type="text/javascript">
->     // <![CDATA[
->     var myrules = {
->        '#demoblock' : function(el) {
->           var defaultColor = '#A3D6F8';
->           var highlightColor = '#4A7FB5';
->
->           el.style.backgroundColor = defaultColor;
->
->           el.onmouseover = function() {
->              this.style.backgroundColor = highlightColor;
->              return false;
->           }
->           el.onmouseout = function() {
->              this.style.backgroundColor = defaultColor;
->              return false;
->           }
->        },
->        '#demoblock span' : function(el) {
->
->           var text = el.innerHTML;
->
->           var fisherYates = function (inArray) {
->             var i = inArray.length;
->             if ( i == 0 ) return false;
->             while ( --i ) {
->               var j = Math.floor( Math.random() * ( i + 1 ) );
->               var tempi = inArray[i];
->               var tempj = inArray[j];
->               inArray[i] = tempj;
->               inArray[j] = tempi;
->              }
->           }
->
->           var randomize = function(inText) {
->              var letters = inText.split('');
->              fisherYates(letters);
->              return letters.join('');
->           }
->           el.onmouseover = function() {
->              this.innerHTML = randomize(text);
->              return false;
->           }
->           el.onmouseout = function() {
->              this.innerHTML = text;
->              return false;
->           }
->        }
->     };
->     Behaviour.register(myrules);
->     // ]]>
->     </script>
->
-> Creates:
->
-> <div id="demoblock" style="padding: 1em; width: 150px; text-align: center"><span>MOUSE OVER ME</span></div>
->
-> ### <a name="Leaking danger"></a> Leaking danger
->
-> Behaviour code leaks memory on Windows Explorer prior to version 7. To prevent leaking, set the element variable to
->
-> `null`
->
-> :
->
-> > var myrules = {
-> >        'table.test td' : function(element) {
-> >           element.onmouseover = function() {
-> >              this.style.backgroundColor = highlightColor;
-> >              return false;
-> >           }
-> >           element = null; // by setting this IE will not leak
-> >        }
-> >     };
-> >     Behaviour.register(myrules);
->
-> ## <a name="Development"></a> Development
->
-> - [Google Groups: Behaviour Javascript Library](http://groups.google.com/group/behaviour)
-> - [Nabble - Behaviour Javascript Library forum &amp; mailing list archive](http://www.nabble.com/Behaviour-Javascript-Library-f16264.html)
-> - [Behaviour2](http://groups.google.com/group/behaviour/browse_thread/thread/e9828f9fdb482ac1/8ca704730053e23f?#8ca704730053e23f) - update in the making, since 2006
->
-> ## <a name="License"></a> License
->
-> Behaviour is freely distributable under the terms of an BSD license. For details see the Behaviour website.
->
-> ## <a name="Links"></a> Links
->
-> - [Behaviour website](http://bennolan.com/behaviour/)
-> - [Behaviour Google Group](http://groups.google.com/group/behaviour)
->
-> ## <a name="Installation Instructions"></a> 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 where TWiki is running.
->
-> Like many other TWiki extensions, this module is shipped with a fully automatic installer script written using the BuildContrib.
->
-> - If you have TWiki 4.2 or later, you can install from the `configure` interface (Go to Plugins-&gt;Find More Extensions)
->   - See the [installation supplement](http://twiki.org/cgi-bin/view/Plugins/BuildContribInstallationSupplement) on TWiki.org for more information.
-> - If you have any problems, then you can still install manually from the command-line:
->   1. Download one of the `.zip` or `.tgz` archives
->   2. Unpack the archive in the root directory of your TWiki installation.
->   3. Run the installer script ( `perl <module>_installer` )
->   4. Run `configure` and enable the module, if it is a plugin.
->   5. Repeat for any missing dependencies.
-> - If you are **still** having problems, then instead of running the installer script:
->   1. Make sure that the file permissions allow the webserver user to access all files.
->   2. Check in any installed files that have existing `,v` files in your existing install (take care **not** to lock the files when you check in)
->   3. Manually edit LocalSite.cfg to set any configuration variables.
->
-> <div class="twikiAlert">%X% WARNING: SYSTEMWEB is not defined in this TWiki. Please add these definitions to your [[Main/TWikiPreferences]], if they are not already there:<br /><pre>   * Set SYSTEMWEB = %TWIKIWEB%<br />   * Set USERSWEB = %MAINWEB%</pre></div>
->
-> ## <a name="Contrib Settings"></a> Contrib Settings
->
-> - Set SHORTDESCRIPTION = `Behaviour` Javascript event library to create javascript based interactions that degrade well when javascript is not available
->
-> You can also set the global TWiki variable BEHAVIOURCONTRIB\_DEBUG to 1 to make the contrib use uncompressed javascript sources, in the event of problems.
->
-> ## <a name="Contrib Info"></a> Contrib Info
->
-> <table border="1" cellpadding="0" cellspacing="0">
->   <tr>
->     <td align="right"> Author: </td>
->     <td> TWiki:Main.ArthurClemens </td>
->   </tr>
->   <tr>
->     <td align="right"> Copyright: </td>
->     <td> Code: <code>behaviour.js</code> version 1.1 - Copyright (c) Ben Nolan and Simon Willison. TWiki distribution and updates/additions: TWiki:Main.ArthurClemens. </td>
->   </tr>
->   <tr>
->     <td align="right"> License: </td>
->     <td> BSD </td>
->   </tr>
->   <tr>
->     <td align="right"> Version: </td>
->     <td> 15675 (30 Mar 2009) </td>
->   </tr>
->   <tr>
->     <td align="right"> Dependencies: </td>
->     <td> None </td>
->   </tr>
->   <tr>
->     <td align="right"> Contrib Version: </td>
->     <td> 1.3.1 </td>
->   </tr>
->   <tr>
->     <td align="right"> Change History: </td>
->     <td>  </td>
->   </tr>
->   <tr>
->     <td align="right"> 17 Oct 2007 </td>
->     <td> 1.3 Replaced "faster code" by other code from Dean Edwards, [[ packed by <a href="http://groups.google.com/group/behaviour/browse_thread/thread/85137977bedf5ed/3cf3ba8065d41a8c#3cf3ba8065d41a8c][Raymond" target="_top">http://groups.google.com/group/behaviour/browse_thread/thread/85137977bedf5ed/3cf3ba8065d41a8c#3cf3ba8065d41a8c][Raymond</a> Irving]]. </td>
->   </tr>
->   <tr>
->     <td align="right"> 02 Jul 2007 </td>
->     <td> 1.2 Integrated other faster code by Dean Edwards: <a href="http://dean.edwards.name/weblog/2006/06/again/" target="_top">faster onload (again)</a>. </td>
->   </tr>
->   <tr>
->     <td align="right"> 08 Mar 2007 </td>
->     <td> 1.1 Integrated code by Dean Edwards (see [[Main/WebHome#CodeUpdate]]). </td>
->   </tr>
->   <tr>
->     <td align="right"> 04 Jun 2006 </td>
->     <td> 1.0 First Version. Included Behaviour version: 1.1. </td>
->   </tr>
->   <tr>
->     <td align="right"> Home: </td>
->     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
->   </tr>
->   <tr>
->     <td align="right"> Feedback: </td>
->     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
->   </tr>
->   <tr>
->     <td align="right"> Appraisal: </td>
->     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal</a></td>
->   </tr>
-> </table>
->
-> **_Related Topics:_** [[TWikiPreferences]]
diff --git a/TWiki/BookView.mdwn b/TWiki/BookView.mdwn
deleted file mode 100644 (file)
index 3d904f2..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-**BookView** is an option available from the [[advanced search|Main/WebSearchAdvanced]] topic. It allows you to display the result in "book view", that is, the whole content of topics is shown instead of a topic summary. This allows you to easily see a whole set of pages, which is useful for printing.
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/BulkRegistration.mdwn b/TWiki/BulkRegistration.mdwn
deleted file mode 100644 (file)
index 722d75b..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-# <a name="Bulk Registration"></a> Bulk Registration
-
-Administrators can use this topic to register (i.e. create logins and user topics) for a group of people in one batch.
-
-Unlike normal registration the administrator is assumed to have correct e-mail addresses for the users, so **no verification is required.** Note that the new users are not notified that they have an account. This is so you can prepare and verify the accounts before announcing them. To announce them use the [[BulkResetPassword]] feature: this will assign a new random password and notify users.
-
-## <a name="Bulk Registration usage"></a> Bulk Registration usage
-
-Note: this is an administrator job - only admistrators can run this.
-
-If you are administrator, you will take these actions:
-
-1. (First time use) Create new bulk registration topics (see [[Settings|Main/WebHome#Settings]] below).
-2. In the REGISTERTOPIC topic: create a table of new users. An example table is provided below to copy.
-3. Return to this topic and press the button "Bulk Register" to create the new topics.
-4. Read %LOGTOPIC% to verify if all has gone well.
-5. When you are ready, use the [[BulkResetPassword]] page to assign passwords and notify the users of their new accounts.
-
-Below are the details.
-
-## <a name="Settings"></a> Settings
-
-- Define where to pick up the table of users to register
-  - Set REGISTERTOPIC = [[UnprocessedRegistrations]]
-- Use this to define where to log the bulk registration process. It needs to be a topic name in this web.
-  - Set LOGTOPIC = %REGISTERTOPIC%Log
-- Set this to 1 to make the bulk registration overwrite any existing user topics. By default, existing user topics are left alone.
-  - Set OVERWRITEHOMETOPICS = 0
-
-## <a name="The user table"></a> The user table
-
-This table is a template for user data that will be written to the new user topics. If you stick to these basic fields you can just use the first example below. If you want to write more data (like phone number or country) read the section [[Customizing user data|Main/WebHome#CustomizingUserData]] as well.
-
-### <a name="Example format"></a> Example format
-
-The following should be inserted into your %REGISTERTOPIC% as a table. This is the most simple format:
-
-    <noautolink>
-    %EDITTABLE{}%
-    | FirstName | LastName | Email | WikiName |
-    | Test | User | you@example.com | TestUser |
-    </noautolink>
-
-**Usage:**
-
-1. Copy this text to your clipboard
-2. Click through and paste this on %REGISTERTOPIC%.
-3. Add and customize entries, save table. Note that the first row must not contain bolded entries, so don't apply any formatting.
-4. Return here
-
-<a name="CustomizingUserData"></a>
-
-### <a name="Customizing user data"></a> Customizing user data
-
-You can write additional data to the new user topics. Do this by enhancing the user table with additional field names as table headers.
-
-Any fields you define in this table will end up in the User's topic. If a form (such as [[UserForm]]) is attached to [[NewUserTemplate]] then the data will go in as META:FIELDS, meaning that you can use SEARCH formfield constructs to search.
-
-If you use the [[UserForm]] then ensure that it contains all the fields you define here. Otherwise they will disappear when the user edits their home topic!
-
-#### <a name="Mandatory fields"></a> Mandatory fields
-
-- WikiName
-- FirstName
-- LastName
-
-#### <a name="Optional fields"></a> Optional fields
-
-- [[LoginName]] - if not set will register with [[WikiName]]
-
-#### <a name="Customized table example"></a> Customized table example
-
-Make sure that the extra fields also appear on the [[UserForm]].
-
-    <noautolink>
-    %EDITTABLE{}%
-    | FirstName | LastName | Email | WikiName | CustomFieldThis | SomeOtherRandomField | WhateverYouLike |
-    | Test | User | you@example.com | TestUser | A | B | C |
-    </noautolink>
-
-----
-
-**Sorry, the password system is currently read only, please contact 0**<br />
-
-<form action="http://www.dementia.org/twiki/manage/%REGISTERTOPIC%" method="post" name="bulkRegister"><input name="action" type="hidden" value="bulkRegister" />  <input %notmodifyable%="%NOTMODIFYABLE%" type="submit" value="Bulk Register these people" /> <input name="LogTopic" type="hidden" value="%LOGTOPIC%" /> <input name="OverwriteHomeTopics" type="hidden" value="%OVERWRITEHOMETOPICS%" /></form>
-
-## <a name="%REGISTERTOPIC%"></a> %REGISTERTOPIC%
-
-## <a name="%LOGTOPIC%"></a> %LOGTOPIC%
-
-**_Related Topics:_** [[AdminToolsCategory]]
diff --git a/TWiki/BulkResetPassword.mdwn b/TWiki/BulkResetPassword.mdwn
deleted file mode 100644 (file)
index 221a6a2..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# <a name="Bulk Reset Passwords"></a> Bulk Reset Passwords
-
-**Administrators can use this topic to reset any number of user passwords.**
-
-Users whose passwords are reset with this will be sent an e-mail at the address recorded **in their home topic**. The administrator will **not** be told the new passwords.
-
-**Follow these two steps:**
-
-<form action="http://www.dementia.org/twiki/manage/%WEB%/%TOPIC%" method="post">
-  <div>
-    <div>
-      <h3><a name="Select users"></a> Select users </h3><strong>Sorry, the password system is currently read only, please contact 0</strong><h1><a name="TWiki Installation Error"></a> TWiki Installation Error </h1>Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags) <p><strong><em>Note</em></strong> if you don't see all the users you expect in this table, make sure their home topic has an attached [[TWiki/UserForm]]. This is used to identify users. </p>
-    </div>
-    <div>
-      <h3><a name="Write message"></a> Write message </h3>
-      <p><strong>This text will be sent to users in their "reset" e-mail.</strong> The login name and password will be filled in automatically. </p>
-      <textarea cols="70" name="Introduction" rows="4" style="width: 99%">
-Welcome! The site is ready for your use. Please use the login name and password listed below and contact me if you have any questions.
-</textarea>
-    </div>
-    <div><input name="action" type="hidden" value="resetPassword" /> <input %notmodifyable%="%NOTMODIFYABLE%" type="submit" value="Reset selected user passwords and send message" /></div>
-  </div>
-</form>
-
-%BR% %BR%
-
-----
-
-%BR% **_Related Topics:_** [[AdminToolsCategory]]
-
-- - Set ALLOWTOPICVIEW = [[TWikiAdminGroup]]
-  - Set ALLOWTOPICCHANGE = [[TWikiAdminGroup]]
diff --git a/TWiki/BumpyWord.mdwn b/TWiki/BumpyWord.mdwn
deleted file mode 100644 (file)
index f14a25e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-See %WEB%.WikiWord
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/CGISessionDotPm.mdwn b/TWiki/CGISessionDotPm.mdwn
deleted file mode 100644 (file)
index af597c1..0000000
+++ /dev/null
@@ -1,571 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-**extends** `CGI::Session::ErrorHandler `
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session - persistent session data in CGI applications
-
-=head1 SYNOPSIS
-
-# Object initialization: use CGI::Session; $session = new CGI::Session();
-
-$CGISESSID = $session-&gt;id();
-
-# send proper HTTP header with cookies: print $session-&gt;header();
-
-# storing data in the session $session-&gt;param('f\_name', 'Sherzod'); # or $session-&gt;param(-name=&gt;'l\_name', -value=&gt;'Ruzmetov');
-
-# flush the data from memory to the storage driver at least before your # program finishes since auto-flushing can be unreliable $session-&gt;flush();
-
-# retrieving data my $f\_name = $session-&gt;param('f\_name'); # or my $l\_name = $session-&gt;param(-name=&gt;'l\_name');
-
-# clearing a certain session parameter $session-&gt;clear(["l\_name", "f\_name"]);
-
-# expire '\_is\_logged\_in' flag after 10 idle minutes: $session-&gt;expire('is\_logged\_in', '+10m')
-
-# expire the session itself after 1 idle hour $session-&gt;expire('+1h');
-
-# delete the session for good $session-&gt;delete();
-
-=head1 DESCRIPTION
-
-CGI-Session is a Perl5 library that provides an easy, reliable and modular session management system across HTTP requests. Persistency is a key feature for such applications as shopping carts, login/authentication routines, and application that need to carry data across HTTP requests. CGI::Session does that and many more.
-
-=head1 TRANSLATIONS
-
-This document is also available in Japanese.
-
-=over 4
-
-=item o
-
-Translation based on 4.14: <http://digit.que.ne.jp/work/index.cgi?Perldoc/ja>
-
-=item o
-
-Translation based on 3.11, including Cookbook and Tutorial: <http://perldoc.jp/docs/modules/CGI-Session-3.11/>
-
-=back
-
-=head1 TO LEARN MORE
-
-Current manual is optimized to be used as a quick reference. To learn more both about the philosophy and CGI::Session programming style, consider the following:
-
-=over 4
-
-=item \*
-
-L&lt;CGI::Session::Tutorial|CGI::Session::Tutorial&gt; - extended CGI::Session manual. Also includes library architecture and driver specifications.
-
-=item \*
-
-We also provide mailing lists for CGI::Session users. To subscribe to the list or browse the archives visit <https://lists.sourceforge.net/lists/listinfo/cgi-session-user>
-
-=item \*
-
-B - "HTTP State Management Mechanism" found at <ftp://ftp.isi.edu/in-notes/rfc2965.txt>
-
-=item \*
-
-L&lt;CGI|CGI&gt; - standard CGI library
-
-=item \*
-
-L&lt;Apache::Session|Apache::Session&gt; - another fine alternative to CGI::Session.
-
-=back
-
-=head1 METHODS
-
-Following is the overview of all the available methods accessible via CGI::Session object.
-
-=head2 new()
-
-=head2 new( $sid )
-
-=head2 new( $query )
-
-=head2 new( $dsn, $query||$sid )
-
-=head2 new( $dsn, $query||$sid, \\%dsn\_args )
-
-Constructor. Returns new session object, or undef on failure. Error message is accessible through L&lt;errstr() - class method|CGI::Session::ErrorHandler/errstr&gt;. If called on an already initialized session will re-initialize the session based on already configured object. This is only useful after a call to L&lt;load()|/"load"&gt;.
-
-Can accept up to three arguments, $dsn - Data Source Name, $query||$sid - query object OR a string representing session id, and finally, \\%dsn\_args, arguments used by $dsn components.
-
-If called without any arguments, $dsn defaults to I&lt;driver:file;serializer:default;id:md5&gt;, $query||$sid defaults to C&lt;&lt; CGI-&gt;new() &gt;&gt;, and C&lt;\\%dsn\_args&gt; defaults to I.
-
-If called with a single argument, it will be treated either as C&lt;$query&gt; object, or C&lt;$sid&gt;, depending on its type. If argument is a string , C&lt;new()&gt; will treat it as session id and will attempt to retrieve the session from data store. If it fails, will create a new session id, which will be accessible through L&lt;id() method|/"id"&gt;. If argument is an object, L&lt;cookie()|CGI/cookie&gt; and L&lt;param()|CGI/param&gt; methods will be called on that object to recover a potential C&lt;$sid&gt; and retrieve it from data store. If it fails, C&lt;new()&gt; will create a new session id, which will be accessible through L&lt;id() method|/"id"&gt;. C&lt;name()&gt; will define the name of the query parameter and/or cookie name to be requested, defaults to I.
-
-If called with two arguments first will be treated as $dsn, and second will be treated as $query or $sid or undef, depending on its type. Some examples of this syntax are:
-
-$s = CGI::Session-&gt;new("driver:mysql", undef); $s = CGI::Session-&gt;new("driver:sqlite", $sid); $s = CGI::Session-&gt;new("driver:db\_file", $query); $s = CGI::Session-&gt;new("serializer:storable;id:incr", $sid); # etc...
-
-Following data source components are supported:
-
-=over 4
-
-=item \*
-
-B - CGI::Session driver. Available drivers are L&lt;file|CGI::Session::Driver::file&gt;, L&lt;db\_file|CGI::Session::Driver::db\_file&gt;, L&lt;mysql|CGI::Session::Driver::mysql&gt; and L&lt;sqlite|CGI::Session::Driver::sqlite&gt;. Third party drivers are welcome. For driver specs consider L&lt;CGI::Session::Driver|CGI::Session::Driver&gt;
-
-=item \*
-
-B - serializer to be used to encode the data structure before saving in the disk. Available serializers are L&lt;storable|CGI::Session::Serialize::storable&gt;, L&lt;freezethaw|CGI::Session::Serialize::freezethaw&gt; and L&lt;default|CGI::Session::Serialize::default&gt;. Default serializer will use L&lt;Data::Dumper|Data::Dumper&gt;.
-
-=item \*
-
-B - ID generator to use when new session is to be created. Available ID generator is L&lt;md5|CGI::Session::ID::md5&gt;
-
-=back
-
-For example, to get CGI::Session store its data using DB\_File and serialize data using [[FreezeThaw]]:
-
-$s = new CGI::Session("driver:DB\_File;serializer:FreezeThaw", undef);
-
-If called with three arguments, first two will be treated as in the previous example, and third argument will be C&lt;\\%dsn\_args&gt;, which will be passed to C&lt;$dsn&gt; components (namely, driver, serializer and id generators) for initialization purposes. Since all the $dsn components must initialize to some default value, this third argument should not be required for most drivers to operate properly.
-
-undef is acceptable as a valid placeholder to any of the above arguments, which will force default behavior.
-
-=head2 load()
-
-=head2 load($query||$sid)
-
-=head2 load($dsn, $query||$sid)
-
-=head2 load($dsn, $query, \\%dsn\_args);
-
-Accepts the same arguments as new(), and also returns a new session object, or undef on failure. The difference is, L&lt;new()|/"new"&gt; can create new session if it detects expired and non-existing sessions, but C&lt;load()&gt; does not.
-
-C&lt;load()&gt; is useful to detect expired or non-existing sessions without forcing the library to create new sessions. So now you can do something like this:
-
-$s = CGI::Session-&gt;load() or die CGI::Session-&gt;errstr(); if ( $s-&gt;is\_expired ) \{ print $s-&gt;header(), $cgi-&gt;start\_html(), $cgi-&gt;p("Your session timed out! Refresh the screen to start new session!") $cgi-&gt;end\_html(); exit(0); \}
-
-if ( $s-&gt;is\_empty ) \{ $s = $s-&gt;new() or die $s-&gt;errstr; \}
-
-Notice, all I sessions are empty, but not all I sessions are expired!
-
-=head2 id()
-
-Returns effective ID for a session. Since effective ID and claimed ID can differ, valid session id should always be retrieved using this method.
-
-=head2 param($name)
-
-=head2 param(-name=E$name)
-
-Used in either of the above syntax returns a session parameter set to $name or undef if it doesn't exist. If it's called on a deleted method param() will issue a warning but return value is not defined.
-
-=head2 param($name, $value)
-
-=head2 param(-name=E$name, -value=E$value)
-
-Used in either of the above syntax assigns a new value to $name parameter, which can later be retrieved with previously introduced param() syntax. C&lt;$value&gt; may be a scalar, arrayref or hashref.
-
-Attempts to set parameter names that start with I will trigger a warning and undef will be returned.
-
-=head2 param\_hashref()
-
-B. Use L&lt;dataref()|/"dataref"&gt; instead.
-
-=head2 dataref()
-
-Returns reference to session's data table:
-
-$params = $s-&gt;dataref(); $sid = $params-&gt;\{\_SESSION\_ID\}; $name= $params-&gt;\{name\}; # etc...
-
-Useful for having all session data in a hashref, but too risky to update.
-
-=head2 save\_param()
-
-=head2 save\_param($query)
-
-=head2 save\_param($query, \\@list)
-
-Saves query parameters to session object. In other words, it's the same as calling L&lt;param($name, $value)|/"param"&gt; for every single query parameter returned by C&lt;&lt; $query-&gt;param() &gt;&gt;. The first argument, if present, should be either CGI object or any object which can provide param() method. If it's undef, defaults to the return value of L&lt;query()|/"query"&gt;, which returns C&lt;&lt; CGI-&gt;new &gt;&gt;. If second argument is present and is a reference to an array, only those query parameters found in the array will be stored in the session. undef is a valid placeholder for any argument to force default behavior.
-
-=head2 load\_param()
-
-=head2 load\_param($query)
-
-=head2 load\_param($query, \\@list)
-
-Loads session parameters into a query object. The first argument, if present, should be query object, or any other object which can provide param() method. If second argument is present and is a reference to an array, only parameters found in that array will be loaded to the query object.
-
-=head2 clear()
-
-=head2 clear('field')
-
-=head2 clear(\\@list)
-
-Clears parameters from the session object.
-
-With no parameters, all fields are cleared. If passed a single parameter or a reference to an array, only the named parameters are cleared.
-
-=head2 flush()
-
-Synchronizes data in memory with the copy serialized by the driver. Call flush() if you need to access the session from outside the current session object. You should at least call flush() before your program exits.
-
-As a last resort, CGI::Session will automatically call flush for you just before the program terminates or session object goes out of scope. This automatic behavior was the recommended behavior until the 4.x series. Automatic flushing has since proven to be unreliable, and in some cases is now required in places that worked with 3.x. For further details see:
-
-<http://rt.cpan.org/Ticket/Display.html?id=17541> <http://rt.cpan.org/Ticket/Display.html?id=17299>
-
-=head2 atime()
-
-Read-only method. Returns the last access time of the session in seconds from epoch. This time is used internally while auto-expiring sessions and/or session parameters.
-
-=head2 ctime()
-
-Read-only method. Returns the time when the session was first created in seconds from epoch.
-
-=head2 expire()
-
-=head2 expire($time)
-
-=head2 expire($param, $time)
-
-Sets expiration interval relative to L&lt;atime()|/"atime"&gt;.
-
-If used with no arguments, returns the expiration interval if it was ever set. If no expiration was ever set, returns undef. For backwards compatibility, a method named C&lt;etime()&gt; does the same thing.
-
-Second form sets an expiration time. This value is checked when previously stored session is asked to be retrieved, and if its expiration interval has passed, it will be expunged from the disk immediately. Passing 0 cancels expiration.
-
-By using the third syntax you can set the expiration interval for a particular session parameter, say I&lt;~logged-in&gt;. This would cause the library call clear() on the parameter when its time is up. Note it only makes sense to set this value to something I than when the whole session expires. Passing 0 cancels expiration.
-
-All the time values should be given in the form of seconds. Following keywords are also supported for your convenience:
-
-+-----------+---------------+
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td align="center"> alias </td>
-    <td align="center"> meaning </td>
-  </tr>
-</table>
-
-+-----------+---------------+
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td align="center"> s </td>
-    <td align="center"> Second </td>
-  </tr>
-  <tr>
-    <td align="center"> m </td>
-    <td align="center"> Minute </td>
-  </tr>
-  <tr>
-    <td align="center"> h </td>
-    <td align="center"> Hour </td>
-  </tr>
-  <tr>
-    <td align="center"> d </td>
-    <td align="center"> Day </td>
-  </tr>
-  <tr>
-    <td align="center"> w </td>
-    <td align="center"> Week </td>
-  </tr>
-  <tr>
-    <td align="center"> M </td>
-    <td align="center"> Month </td>
-  </tr>
-  <tr>
-    <td align="center"> y </td>
-    <td align="center"> Year </td>
-  </tr>
-</table>
-
-+-----------+---------------+
-
-Examples:
-
-$session-&gt;expire("2h"); # expires in two hours $session-&gt;expire(0); # cancel expiration $session-&gt;expire("~logged-in", "10m"); # expires '~logged-in' parameter after 10 idle minutes
-
-Note: all the expiration times are relative to session's last access time, not to its creation time. To expire a session immediately, call L&lt;delete()|/"delete"&gt;. To expire a specific session parameter immediately, call L&lt;clear([$name])|/"clear"&gt;.
-
-=head2 is\_new()
-
-Returns true only for a brand new session.
-
-=head2 is\_expired()
-
-Tests whether session initialized using L&lt;load()|/"load"&gt; is to be expired. This method works only on sessions initialized with load():
-
-$s = CGI::Session-&gt;load() or die CGI::Session-&gt;errstr; if ( $s-&gt;is\_expired ) \{ die "Your session expired. Please refresh"; \} if ( $s-&gt;is\_empty ) \{ $s = $s-&gt;new() or die $s-&gt;errstr; \}
-
-=head2 is\_empty()
-
-Returns true for sessions that are empty. It's preferred way of testing whether requested session was loaded successfully or not:
-
-$s = CGI::Session-&gt;load($sid); if ( $s-&gt;is\_empty ) \{ $s = $s-&gt;new(); \}
-
-Actually, the above code is nothing but waste. The same effect could've been achieved by saying:
-
-$s = CGI::Session-&gt;new( $sid );
-
-L&lt;is\_empty()|/"is\_empty"&gt; is useful only if you wanted to catch requests for expired sessions, and create new session afterwards. See L&lt;is\_expired()|/"is\_expired"&gt; for an example.
-
-=head2 delete()
-
-Deletes a session from the data store and empties session data from memory, completely, so subsequent read/write requests on the same object will fail. Technically speaking, it will only set object's status to I and will trigger L&lt;flush()|/"flush"&gt;, and flush() will do the actual removal.
-
-=head2 find( \\&amp;code )
-
-=head2 find( $dsn, \\&amp;code )
-
-=head2 find( $dsn, \\&amp;code, \\%dsn\_args )
-
-Experimental feature. Executes \\&amp;code for every session object stored in disk, passing initialized CGI::Session object as the first argument of \\&amp;code. Useful for housekeeping purposes, such as for removing expired sessions. Following line, for instance, will remove sessions already expired, but are still in disk:
-
-The following line, for instance, will remove sessions already expired, but which are still on disk:
-
-CGI::Session-&gt;find( sub \{\} );
-
-Notice, above \\&amp;code didn't have to do anything, because load(), which is called to initialize sessions inside find(), will automatically remove expired sessions. Following example will remove all the objects that are 10+ days old:
-
-CGI::Session-&gt;find( \\&amp;purge ); sub purge \{ my ($session) = @\_; next if $session-&gt;is\_empty; # &lt;-- already expired?! if ( ($session-&gt;ctime + 3600\*240) &lt;= time() ) \{ $session-&gt;delete() or warn "couldn't remove " . $session-&gt;id . ": " . $session-&gt;errstr; \} \}
-
-B: find will not change the modification or access times on the sessions it returns.
-
-Explanation of the 3 parameters to C&lt;find()&gt;:
-
-=over 4
-
-=item $dsn
-
-This is the DSN (Data Source Name) used by CGI::Session to control what type of sessions you previously created and what type of sessions you now wish method C&lt;find()&gt; to pass to your callback.
-
-The default value is defined above, in the docs for method C&lt;new()&gt;, and is 'driver:file;serializer:default;id:md5'.
-
-Do not confuse this DSN with the DSN arguments mentioned just below, under \\%dsn\_args.
-
-=item \\&amp;code
-
-This is the callback provided by you (i.e. the caller of method C&lt;find()&gt;) which is called by CGI::Session once for each session found by method C&lt;find()&gt; which matches the given $dsn.
-
-There is no default value for this coderef.
-
-When your callback is actually called, the only parameter is a session. If you want to call a subroutine you already have with more parameters, you can achieve this by creating an anonymous subroutine that calls your subroutine with the parameters you want. For example:
-
-CGI::Session-&gt;find($dsn, sub \{ my\_subroutine( @\_, 'param 1', 'param 2' ) \} ); CGI::Session-&gt;find($dsn, sub \{ $coderef-&gt;( @\_, $extra\_arg ) \} );
-
-Or if you wish, you can define a sub generator as such:
-
-sub coderef\_with\_args \{ my ( $coderef, @params ) = @\_; return sub \{ $coderef-&gt;( @\_, @params ) \}; \}
-
-CGI::Session-&gt;find($dsn, coderef\_with\_args( $coderef, 'param 1', 'param 2' ) );
-
-=item \\%dsn\_args
-
-If your $dsn uses file-based storage, then this hashref might contain keys such as:
-
-\{ Directory =&gt; Value 1, [[NoFlock]] =&gt; Value 2, UMask =&gt; Value 3 \}
-
-If your $dsn uses db-based storage, then this hashref contains (up to) 3 keys, and looks like:
-
-\{ [[DataSource]] =&gt; Value 1, User =&gt; Value 2, Password =&gt; Value 3 \}
-
-These 3 form the DSN, username and password used by DBI to control access to your database server, and hence are only relevant when using db-based sessions.
-
-The default value of this hashref is undef.
-
-=back
-
-B&lt;Note:&gt; find() is meant to be convenient, not necessarily efficient. It's best suited in cron scripts.
-
-=head1 MISCELLANEOUS METHODS
-
-=head2 remote\_addr()
-
-Returns the remote address of the user who created the session for the first time. Returns undef if variable REMOTE\_ADDR wasn't present in the environment when the session was created.
-
-=head2 errstr()
-
-Class method. Returns last error message from the library.
-
-=head2 dump()
-
-Returns a dump of the session object. Useful for debugging purposes only.
-
-=head2 header()
-
-Replacement for L&lt;CGI.pm|CGI&gt;'s header() method. Without this method, you usually need to create a CGI::Cookie object and send it as part of the HTTP header:
-
-$cookie = CGI::Cookie-&gt;new(-name=&gt;$session-&gt;name, -value=&gt;$session-&gt;id); print $cgi-&gt;header(-cookie=&gt;$cookie);
-
-You can minimize the above into:
-
-print $session-&gt;header();
-
-It will retrieve the name of the session cookie from C&lt;$session-&gt;name()&gt; which defaults to C&lt;$CGI::Session::NAME&gt;. If you want to use a different name for your session cookie, do something like following before creating session object:
-
-CGI::Session-&gt;name("MY\_SID"); $session = new CGI::Session(undef, $cgi, \\%attrs);
-
-Now, $session-&gt;header() uses "MY\_SID" as a name for the session cookie.
-
-=head2 query()
-
-Returns query object associated with current session object. Default query object class is L&lt;CGI.pm|CGI&gt;.
-
-=head2 DEPRECATED METHODS
-
-These methods exist solely for for compatibility with CGI::Session 3.x.
-
-=head3 close()
-
-Closes the session. Using flush() is recommended instead, since that's exactly what a call to close() does now.
-
-=head1 DISTRIBUTION
-
-CGI::Session consists of several components such as L&lt;drivers|"DRIVERS"&gt;, L&lt;serializers|"SERIALIZERS"&gt; and L. This section lists what is available.
-
-=head2 DRIVERS
-
-Following drivers are included in the standard distribution:
-
-=over 4
-
-=item \*
-
-L&lt;file|CGI::Session::Driver::file&gt; - default driver for storing session data in plain files. Full name: B&lt;CGI::Session::Driver::file&gt;
-
-=item \*
-
-L&lt;db\_file|CGI::Session::Driver::db\_file&gt; - for storing session data in [[BerkelyDB]]. Requires: L. Full name: B&lt;CGI::Session::Driver::db\_file&gt;
-
-=item \*
-
-L&lt;mysql|CGI::Session::Driver::mysql&gt; - for storing session data in [[MySQL]] tables. Requires L&lt;DBI|DBI&gt; and L&lt;DBD::mysql|DBD::mysql&gt;. Full name: B&lt;CGI::Session::Driver::mysql&gt;
-
-=item \*
-
-L&lt;sqlite|CGI::Session::Driver::sqlite&gt; - for storing session data in SQLite. Requires L&lt;DBI|DBI&gt; and L&lt;DBD::SQLite|DBD::SQLite&gt;. Full name: B&lt;CGI::Session::Driver::sqlite&gt;
-
-=back
-
-=head2 SERIALIZERS
-
-=over 4
-
-=item \*
-
-L&lt;default|CGI::Session::Serialize::default&gt; - default data serializer. Uses standard L&lt;Data::Dumper|Data::Dumper&gt;. Full name: B&lt;CGI::Session::Serialize::default&gt;.
-
-=item \*
-
-L&lt;storable|CGI::Session::Serialize::storable&gt; - serializes data using L. Requires L. Full name: B&lt;CGI::Session::Serialize::storable&gt;.
-
-=item \*
-
-L&lt;freezethaw|CGI::Session::Serialize::freezethaw&gt; - serializes data using L. Requires L. Full name: B&lt;CGI::Session::Serialize::freezethaw&gt;
-
-=item \*
-
-L&lt;yaml|CGI::Session::Serialize::yaml&gt; - serializes data using YAML. Requires L or L&lt;YAML::Syck&gt;. Full name: B&lt;CGI::Session::Serialize::yaml&gt;
-
-=item \*
-
-L&lt;json|CGI::Session::Serialize::json&gt; - serializes data using JSON. Requires L&lt;JSON::Syck&gt;. Full name: B&lt;CGI::Session::Serialize::json&gt;
-
-=back
-
-=head2 ID GENERATORS
-
-Following ID generators are available:
-
-=over 4
-
-=item \*
-
-L&lt;md5|CGI::Session::ID::md5&gt; - generates 32 character long hexadecimal string. Requires L&lt;Digest::MD5|Digest::MD5&gt;. Full name: B&lt;CGI::Session::ID::md5&gt;.
-
-=item \*
-
-L&lt;incr|CGI::Session::ID::incr&gt; - generates incremental session ids.
-
-=item \*
-
-L&lt;static|CGI::Session::ID::static&gt; - generates static session ids. B&lt;CGI::Session::ID::static&gt;
-
-=back
-
-=head1 CREDITS
-
-CGI::Session evolved to what it is today with the help of following developers. The list doesn't follow any strict order, but somewhat chronological. Specifics can be found in F file
-
-=over 4
-
-=item Andy Lester
-
-=item Brian King Emrbbking@mac.comE
-
-=item Olivier Dragon Edragon@shadnet.shad.caE
-
-=item Adam Jacob Eadam@sysadminsith.orgE
-
-=item Igor Plisco Eigor@plisco.ruE
-
-=item Mark Stosberg
-
-=item Matt [[LeBlanc]] Emleblanc@cpan.orgE
-
-=item Shawn Sorichetti
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright (C) 2001-2005 Sherzod Ruzmetov Esherzodr@cpan.orgE. All rights reserved. This library is free software. You can modify and or distribute it under the same terms as Perl itself.
-
-=head1 PUBLIC CODE REPOSITORY
-
-You can see what the developers have been up to since the last release by checking out the code repository. You can browse the Subversion repository from here:
-
-<http://svn.cromedome.net/>
-
-Or check it directly with C from here:
-
-svn://svn.cromedome.net/CGI-Session
-
-=head1 SUPPORT
-
-If you need help using CGI::Session consider the mailing list. You can ask the list by sending your questions to <cgi-session-user@lists.sourceforge.net> .
-
-You can subscribe to the mailing list at <https://lists.sourceforge.net/lists/listinfo/cgi-session-user> .
-
-Bug reports can be submitted at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CGI-Session>
-
-=head1 AUTHOR
-
-Sherzod Ruzmetov Esherzodr@cpan.orgE, <http://author.handalak.com/>
-
-Mark Stosberg became a co-maintainer during the development of 4.0. C&lt;markstos@cpan.org&gt;.
-
-=head1 SEE ALSO
-
-=over 4
-
-=item \*
-
-L&lt;CGI::Session::Tutorial|CGI::Session::Tutorial&gt; - extended CGI::Session manual
-
-=item \*
-
-B - "HTTP State Management Mechanism" found at <ftp://ftp.isi.edu/in-notes/rfc2965.txt>
-
-=item \*
-
-L&lt;CGI|CGI&gt; - standard CGI library
-
-=item \*
-
-L&lt;Apache::Session|Apache::Session&gt; - another fine alternative to CGI::Session
-
-=back
diff --git a/TWiki/CGISessionDriverDBIDotPm.mdwn b/TWiki/CGISessionDriverDBIDotPm.mdwn
deleted file mode 100644 (file)
index 242d9f9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Driver::DBI - Base class for native DBI-related CGI::Session drivers
-
-=head1 SYNOPSIS
-
-require CGI::Session::Driver::DBI; @ISA = qw( CGI::Session::Driver::DBI );
-
-=head1 DESCRIPTION
-
-In most cases you can create a new DBI-driven CGI::Session driver by simply creating an empty driver file that inherits from CGI::Session::Driver::DBI. That's exactly what L&lt;sqlite|CGI::Session::Driver::sqlite&gt; does. The only reason why this class doesn't suit for a valid driver is its name isn't in lowercase. I'm serious!
-
-=head2 NOTES
-
-CGI::Session::Driver::DBI defines init() method, which makes DBI handle available for drivers in I - object attribute regardless of what C&lt;\\%dsn\_args&gt; were used in creating session object. Should your driver require non-standard initialization you have to re-define init() method in your F&lt;.pm&gt; file, but make sure to set 'Handle' - object attribute to database handle (returned by DBI-&gt;connect(...)) if you wish to inherit any of the methods from CGI::Session::Driver::DBI.
-
-=head1 STORAGE
-
-Before you can use any DBI-based session drivers you need to make sure compatible database table is created for CGI::Session to work with. Following command will produce minimal requirements in most SQL databases:
-
-CREATE TABLE sessions ( id CHAR(32) NOT NULL PRIMARY KEY, a\_session TEXT NOT NULL );
-
-Your session table can define additional columns, but the above two are required. Name of the session table is expected to be I by default. You may use a different name if you wish. To do this you have to pass I as part of your C&lt; \\%dsn\_args &gt;:
-
-$s = new CGI::Session("driver:sqlite", undef, \{TableName=&gt;'my\_sessions'\}); $s = new CGI::Session("driver:mysql", undef, \{ [[TableName]]=&gt;'my\_sessions', [[DataSource]]=&gt;'dbi:mysql:shopping\_cart'\});
-
-=head1 DRIVER ARGUMENTS
-
-Following driver arguments are supported:
-
-=over 4
-
-=item [[DataSource]]
-
-First argument to be passed to L&lt;DBI|DBI&gt;-&gt;L&lt;connect()|DBI/connect()&gt;. If the driver makes the database connection itself, it will also explicitly disconnect from the database when the driver object is DESTROYed.
-
-=item User
-
-User privileged to connect to the database defined in C.
-
-=item Password
-
-Password of the I privileged to connect to the database defined in C
-
-=item Handle
-
-An existing L database handle object. The handle can be created on demand by providing a code reference as a argument, such as C&lt;&lt;sub\{DBI-&gt;connect\}&gt;&gt;. This way, the database connection is only created if it actually needed. This can be useful when combined with a framework plugin like L&lt;CGI::Application::Plugin::Session&gt;, which creates a CGI::Session object on demand as well.
-
-C will override all the above arguments, if any present.
-
-=item [[TableName]]
-
-Name of the table session data will be stored in.
-
-=back
-
-=head1 LICENSING
-
-For support and licensing information see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionDriverDb_fileDotPm.mdwn b/TWiki/CGISessionDriverDb_fileDotPm.mdwn
deleted file mode 100644 (file)
index 8897b99..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Driver::db\_file - CGI::Session driver for [[BerkeleyDB]] using DB\_File
-
-=head1 SYNOPSIS
-
-$s = new CGI::Session("driver:db\_file", $sid); $s = new CGI::Session("driver:db\_file", $sid, \{FileName=&gt;'/tmp/cgisessions.db'\});
-
-=head1 DESCRIPTION
-
-B stores session data in [[BerkelyDB]] file using L&lt;DB\_File|DB\_File&gt; - Perl module. All sessions will be stored in a single file, specified in I driver argument as in the above example. If I isn't given, defaults to F&lt;/tmp/cgisess.db&gt;, or its equivalent on a non-UNIX system.
-
-If the directory hierarchy leading to the file does not exist, will be created for you.
-
-This module takes a B option which will be used if DB\_File has to create the database file for you. By default the umask is 0660.
-
-=head1 LICENSING
-
-For support and licensing information see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionDriverDotPm.mdwn b/TWiki/CGISessionDriverDotPm.mdwn
deleted file mode 100644 (file)
index 92d54cd..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-**extends** `CGI::Session::ErrorHandler`
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Driver - CGI::Session driver specifications
-
-=head1 WARNING
-
-Version 4.0 of CGI::Session's driver specification is B backward compatible with previous specification. If you already have a driver developed to work with the previous version you're highly encouraged to upgrade your driver code to make it compatible with the current version. Fortunately, current driver specs are a lot easier to adapt to.
-
-If you need any help converting your driver to meet current specs, send me an e-mail. For support information see L&lt;CGI::Session|CGI::Session&gt;
-
-=head1 SYNOPSIS
-
-require CGI::Session::Driver; @ISA = qw( CGI::Session::Driver );
-
-=head1 DESCRIPTION
-
-CGI::Session::Driver is a base class for all CGI::Session's native drivers. It also documents driver specifications for those willing to write drivers for different databases not currently supported by CGI::Session.
-
-=head1 WHAT IS A DRIVER
-
-Driver is a piece of code that helps CGI::Session library to talk to specific database engines, or storage mechanisms. To be more precise, driver is a F&lt;.pm&gt; file that inherits from CGI::Session::Driver and defines L&lt;retrieve()|/"retrieve($self, $sid)"&gt;, L&lt;store()|/"store($self, $sid, $datastr)"&gt; and L&lt;remove()|/"remove($self, $sid)"&gt; methods.
-
-=head2 BLUEPRINT
-
-The best way of learning the specs is to look at a blueprint of a driver:
-
-package CGI::Session::Driver::your\_driver\_name; use strict; use base qw( CGI::Session::Driver CGI::Session::ErrorHandler );
-
-sub init \{ my ($self) = @\_; # optional \}
-
-sub DESTROY \{ my ($self) = @\_; # optional \}
-
-sub store \{ my ($self, $sid, $datastr) = @\_; # Store $datastr, which is an already serialized string of data. \}
-
-sub retrieve \{ my ($self, $sid) = @\_; # Return $datastr, which was previously stored using above store() method. # Return $datastr if $sid was found. Return 0 or "" if $sid doesn't exist \}
-
-sub remove \{ my ($self, $sid) = @\_; # Remove storage associated with $sid. Return any true value indicating success, # or undef on failure. \}
-
-sub traverse \{ my ($self, $coderef) = @\_; # execute $coderef for each session id passing session id as the first and the only # argument \}
-
-1;
-
-All the attributes passed as the second argument to CGI::Session's new() or load() methods will automatically be made driver's object attributes. For example, if session object was initialized as following:
-
-$s = CGI::Session-&gt;new("driver:your\_driver\_name", undef, \{Directory=&gt;'/tmp/sessions'\});
-
-You can access value of 'Directory' from within your driver like so:
-
-sub store \{ my ($self, $sid, $datastr) = @\_; my $dir = $self-&gt;\{Directory\}; # &lt;-- in this example will be '/tmp/sessions' \}
-
-Optionally, you can define C&lt;init()&gt; method within your driver to do driver specific global initialization. C&lt;init()&gt; method will be invoked only once during the lifecycle of your driver, which is the same as the lifecycle of a session object.
-
-For examples of C&lt;init()&gt; look into the source code of native CGI::Session drivers.
-
-=head1 METHODS
-
-This section lists and describes all driver methods. All the driver methods will receive driver object ($self) as the first argument. Methods that pertain to an individual session (such as C&lt;retrieve()&gt;, C&lt;store()&gt; and C&lt;remove()&gt;) will also receive session id ($sid) as the second argument.
-
-Following list describes every driver method, including its argument list and what step of session's life they will be invoked. Understanding this may help driver authors.
-
-=over 4
-
-=item retrieve($self, $sid)
-
-Called whenever a specific session is requested either via C&lt;&lt; CGI::Session-&gt;new() &gt;&gt; or C&lt;&lt; CGI::Session-&gt;load() &gt;&gt; syntax. Method should try to retrieve data associated with C&lt; $sid &gt; and return it. In case no data could be retrieved for C&lt; $sid &gt; 0 (zero) or "" should be returned. undef must be returned only to signal error. Error message should be set via set\_error(), which can be inherited from L&lt;CGI::Session::ErrorHandler|CGI::Session::ErrorHandler&gt;.
-
-Tip: set\_error() always returns undef. Use it for your advantage.
-
-=item store($self, $sid, $datastr)
-
-Called whenever modified session data is to be stored back to disk. This happens whenever CGI::Session-&gt;flush() is called on modified session. Since CGI::Session-&gt;DESTROY() calls flush(), store() gets requested each time session object is to be terminated.
-
-C&lt; store() &gt; is called both to store new sessions and to update already stored sessions. It's driver author's job to figure out which operation needs to be performed.
-
-$datastr, which is passed as the third argument to represents B session data that needs to be saved.
-
-store() can return any true value indicating success or undef on failure. Error message should be passed to set\_error()
-
-=item remove($self, $sid)
-
-Called whenever session data is to be deleted, which is when CGI::Session-&gt;delete() is called. Should return any true value indicating success, undef on failure. Error message should be logged in set\_error().
-
-=item traverse($self, \\&amp;coderef)
-
-Called only from within CGI::Session-&gt;find(). Job of traverse() is to call \\&amp;coderef for every single session stored in disk passing session's id as the first and only argument: C&lt;&lt; $coderef-&gt;( $sid ) &gt;&gt;
-
-=item init($self)
-
-Optional. Called whenever driver object is to be initialized, which happens only once during the lifecycle of CGI::Session object. Here you can do driver-wide initialization, such as to open connection to a database server.
-
-=item DESTROY($self)
-
-Optional. Perl automatically calls this method on objects just before they are to be terminated. This gives your driver chance to close any database connections or close any open file handles.
-
-=back
-
-=head2 NOTES
-
-=over 4
-
-=item \*
-
-All driver F&lt;.pm&gt; files must be lowercase!
-
-=item \*
-
-DBI-related drivers are better off using L&lt;CGI::Session::Driver::DBI|CGI::Session::Driver::DBI&gt; as base, but don't have to.
-
-=back
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;.
diff --git a/TWiki/CGISessionDriverFileDotPm.mdwn b/TWiki/CGISessionDriverFileDotPm.mdwn
deleted file mode 100644 (file)
index afc6eb8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Driver::file - Default CGI::Session driver
-
-=head1 SYNOPSIS
-
-$s = new CGI::Session(); $s = new CGI::Session("driver:file", $sid); $s = new CGI::Session("driver:file", $sid, \{Directory=&gt;'/tmp'\});
-
-=head1 DESCRIPTION
-
-When CGI::Session object is created without explicitly setting I, I will be assumed. I - driver will store session data in plain files, where each session will be stored in a separate file.
-
-Naming conventions of session files are defined by C&lt;$CGI::Session::Driver::file::FileName&gt; global variable. Default value of this variable is I&lt;cgisess\_%s&gt;, where %s will be replaced with respective session ID. Should you wish to set your own [[FileName]] template, do so before requesting for session object:
-
-$CGI::Session::Driver::file::FileName = "%s.dat"; $s = new CGI::Session();
-
-For backwards compatibility with 3.x, you can also use the variable name C&lt;$CGI::Session::File::FileName&gt;, which will override the one above.
-
-=head2 DRIVER ARGUMENTS
-
-If you wish to specify a session directory, use the B option, which denotes location of the directory where session ids are to be kept. If B is not set, defaults to whatever File::Spec-&gt;tmpdir() returns. So all the three lines in the SYNOPSIS section of this manual produce the same result on a UNIX machine.
-
-If specified B does not exist, all necessary directory hierarchy will be created.
-
-By default, sessions are created with a umask of 0660. If you wish to change the umask for a session, pass a B option with an octal representation of the umask you would like for said session.
-
-=head1 NOTES
-
-If your OS doesn't support flock, you should understand the risks of going without locking the session files. Since sessions tend to be used in environments where race conditions may occur due to concurrent access of files by different processes, locking tends to be seen as a good and very necessary thing. If you still want to use this driver but don't want flock, set C&lt;$CGI::Session::Driver::file::NoFlock&gt; to 1 or pass C&lt;&lt; [[NoFlock]] =&gt; 1 &gt;&gt; and this driver will operate without locks.
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionDriverMysqlDotPm.mdwn b/TWiki/CGISessionDriverMysqlDotPm.mdwn
deleted file mode 100644 (file)
index f7c4158..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-**extends** `CGI::Session::Driver::DBI `
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Driver::mysql - CGI::Session driver for [[MySQL]] database
-
-=head1 SYNOPSIS
-
-$s = new CGI::Session( "driver:mysql", $sid); $s = new CGI::Session( "driver:mysql", $sid, \{ [[DataSource]] =&gt; 'dbi:mysql:test', User =&gt; 'sherzodr', Password =&gt; 'hello' \}); $s = new CGI::Session( "driver:mysql", $sid, \{ Handle =&gt; $dbh \} );
-
-=head1 DESCRIPTION
-
-B stores session records in a [[MySQL]] table. For details see L&lt;CGI::Session::Driver::DBI|CGI::Session::Driver::DBI&gt;, its parent class.
-
-It's especially important for the [[MySQL]] driver that the session ID column be defined as a primary key, or at least "unique", like this:
-
-CREATE TABLE sessions ( id CHAR(32) NOT NULL PRIMARY KEY, a\_session TEXT NOT NULL );
-
-=head2 DRIVER ARGUMENTS
-
-B driver supports all the arguments documented in L&lt;CGI::Session::Driver::DBI|CGI::Session::Driver::DBI&gt;. In addition, I argument can optionally leave leading "dbi:mysql:" string out:
-
-$s = new CGI::Session( "driver:mysql", $sid, \{DataSource=&gt;'shopping\_cart'\}); # is the same as: $s = new CGI::Session( "driver:mysql", $sid, \{DataSource=&gt;'dbi:mysql:shopping\_cart'\});
-
-=head2 BACKWARDS COMPATIBILITY
-
-For backwards compatibility, you can also set the table like this before calling C&lt;new()&gt;. However, it is not recommended because it can cause conflicts in a persistent environment.
-
-$CGI::Session::MySQL::TABLE\_NAME = 'my\_sessions';
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;.
diff --git a/TWiki/CGISessionDriverPostgresqlDotPm.mdwn b/TWiki/CGISessionDriverPostgresqlDotPm.mdwn
deleted file mode 100644 (file)
index b91bf7d..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-**extends** `CGI::Session::Driver::DBI `
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Driver::postgresql - [[PostgreSQL]] driver for CGI::Session
-
-=head1 SYNOPSIS
-
-use CGI::Session; $session = new CGI::Session("driver:PostgreSQL", undef, \{Handle=&gt;$dbh\});
-
-=head1 DESCRIPTION
-
-CGI::Session::PostgreSQL is a L&lt;CGI::Session|CGI::Session&gt; driver to store session data in a [[PostgreSQL]] table.
-
-=head1 STORAGE
-
-Before you can use any DBI-based session drivers you need to make sure compatible database table is created for CGI::Session to work with. Following command will produce minimal requirements in most SQL databases:
-
-CREATE TABLE sessions ( id CHAR(32) NOT NULL PRIMARY KEY, a\_session BYTEA NOT NULL );
-
-and within your code use:
-
-use CGI::Session; $session = new CGI::Session("driver:PostgreSQL", undef, \{Handle=&gt;$dbh, [[ColumnType]]=&gt;"binary"\});
-
-Please note the I argument. [[PostgreSQL]]'s text type has problems when trying to hold a null character. (Known as C&lt;"\\0"&gt; in Perl, not to be confused with SQL I). If you know there is no chance of ever having a null character in the serialized data, you can leave off the I attribute. Using a I column type and C&lt;&lt; [[ColumnType]] =&gt; 'binary' &gt;&gt; is recommended when using L&lt;Storable|CGI::Session::Serialize::storable&gt; as the serializer or if there's any possibility that a null value will appear in any of the serialized data.
-
-For more details see L&lt;CGI::Session::Driver::DBI|CGI::Session::Driver::DBI&gt;, parent class.
-
-Also see L, which exercises different method for dealing with binary data.
-
-=head1 COPYRIGHT
-
-Copyright (C) 2002 Cosimo Streppone. All rights reserved. This library is free software and can be modified and distributed under the same terms as Perl itself.
-
-=head1 AUTHORS
-
-Cosimo Streppone &lt;cosimo@cpan.org&gt;, heavily based on the CGI::Session::MySQL driver by Sherzod Ruzmetov, original author of CGI::Session.
-
-Matt [[LeBlanc]] contributed significant updates for the 4.0 release.
-
-=head1 LICENSING
-
-For additional support and licensing see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionDriverSqliteDotPm.mdwn b/TWiki/CGISessionDriverSqliteDotPm.mdwn
deleted file mode 100644 (file)
index 2a391fe..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Driver::sqlite - CGI::Session driver for SQLite
-
-=head1 SYNOPSIS
-
-$s = new CGI::Session("driver:sqlite", $sid, \{DataSource=&gt;'/my/folder/sessions.sqlt'\}); $s = new CGI::Session("driver:sqlite", $sid, \{Handle=&gt;$dbh\});
-
-=head1 DESCRIPTION
-
-B driver stores session data in SQLite files using L&lt;DBD::SQLite|DBD::SQLite&gt; DBI driver. More details see L&lt;CGI::Session::Driver::DBI|CGI::Session::Driver::DBI&gt;, its parent class.
-
-=head1 DRIVER ARGUMENTS
-
-Supported driver arguments are I and I. B only one of these arguments can be set while creating session object.
-
-I should be in the form of C&lt;dbi:SQLite:dbname=/path/to/db.sqlt&gt;. If C&lt;dbi:SQLite:&gt; is missing it will be prepended for you. If I is present it should be database handle (C&lt;$dbh&gt;) returned by L&lt;DBI::connect()|DBI/connect()&gt;.
-
-As of version 1.7 of this driver, the third argument is B optional. Using a default database in the temporary directory is a security risk since anyone on the machine can create and/or read your session data. If you understand these risks and still want the old behavior, you can set the C option to I&lt;'/tmp/sessions.sqlt'&gt;.
-
-=head1 BUGS AND LIMITATIONS
-
-None known.
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionErrorHandlerDotPm.mdwn b/TWiki/CGISessionErrorHandlerDotPm.mdwn
deleted file mode 100644 (file)
index cfcd0ee..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::ErrorHandler - error handling routines for CGI::Session
-
-=head1 SYNOPSIS
-
-require CGI::Session::ErrorHandler @ISA = qw( CGI::Session::ErrorHandler );
-
-sub some\_method \{ my $self = shift; unless ( $some\_condition ) \{ return $self-&gt;set\_error("some\_method(): \\$some\_condition isn't met"); \} \}
-
-=head1 DESCRIPTION
-
-CGI::Session::ErrorHandler provides set\_error() and errstr() methods for setting and accessing error messages from within CGI::Session's components. This method should be used by driver developers for providing CGI::Session-standard error handling routines for their code
-
-=head2 METHODS
-
-=over 4
-
-=item set\_error($message)
-
-Implicitly defines $pkg\_name::errstr and sets its value to $message. Return value is B undef.
diff --git a/TWiki/CGISessionIDIncrDotPm.mdwn b/TWiki/CGISessionIDIncrDotPm.mdwn
deleted file mode 100644 (file)
index 414d43d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-**extends** `CGI::Session::ErrorHandler `
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::ID::incr - CGI::Session ID driver
-
-=head1 SYNOPSIS
-
-use CGI::Session; $session = new CGI::Session("id:Incr", undef, \{ Directory =&gt; '/tmp', IDFile =&gt; '/tmp/cgisession.id', IDInit =&gt; 1000, IDIncr =&gt; 2 \});
-
-=head1 DESCRIPTION
-
-CGI::Session::ID::incr is to generate auto incrementing Session IDs. Compare it with L&lt;CGI::Session::ID::md5|CGI::Session::ID::md5&gt;, where session ids are truly random 32 character long strings. CGI::Session::ID::incr expects the following arguments passed to CGI::Session-&gt;new() as the third argument.
-
-=over 4
-
-=item IDFile
-
-Location where auto incremented IDs are stored. This attribute is required.
-
-=item IDInit
-
-Initial value of the ID if it's the first ID to be generated. For example, if you want the ID numbers to start with 1000 as opposed to 0, that's where you should set your value. Default is C&lt;0&gt;.
-
-=item IDIncr
-
-How many digits each number should increment by. For example, if you want the first generated id to start with 1000, and each subsequent id to increment by 10, set I to 10 and I to 1000. Default is C&lt;1&gt;.
-
-=back
-
-=head1 LICENSING
-
-For support and licensing information see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionIDMd5DotPm.mdwn b/TWiki/CGISessionIDMd5DotPm.mdwn
deleted file mode 100644 (file)
index 61d3d27..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-**extends** `CGI::Session::ErrorHandler `
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::ID::md5 - default CGI::Session ID generator
-
-=head1 SYNOPSIS
-
-use CGI::Session; $s = new CGI::Session("id:md5", undef);
-
-=head1 DESCRIPTION
-
-CGI::Session::ID::MD5 is to generate MD5 encoded hexadecimal random ids. The library does not require any arguments.
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionSerializeDefaultDotPm.mdwn b/TWiki/CGISessionSerializeDefaultDotPm.mdwn
deleted file mode 100644 (file)
index f3ebe60..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Serialize::default - Default CGI::Session serializer
-
-=head1 DESCRIPTION
-
-This library is used by CGI::Session driver to serialize session data before storing it in disk.
-
-All the methods are called as class methods.
-
-=head1 METHODS
-
-=over 4
-
-=item freeze($class, \\%hash)
-
-Receives two arguments. First is the class name, the second is the data to be serialized. Should return serialized string on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=item thaw($class, $string)
-
-Received two arguments. First is the class name, second is the I data string. Should return thawed data structure on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=back
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionSerializeFreezethawDotPm.mdwn b/TWiki/CGISessionSerializeFreezethawDotPm.mdwn
deleted file mode 100644 (file)
index 1a24994..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Serialize::freezethaw - serializer for CGI::Session
-
-=head1 DESCRIPTION
-
-This library can be used by CGI::Session to serialize session data. Uses L&lt;FreezeThaw|FreezeThaw&gt;.
-
-=head1 METHODS
-
-=over 4
-
-=item freeze($class, \\%hash)
-
-Receives two arguments. First is the class name, the second is the data to be serialized. Should return serialized string on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=item thaw($class, $string)
-
-Received two arguments. First is the class name, second is the I data string. Should return thawed data structure on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=back
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CGISessionSerializeJsonDotPm.mdwn b/TWiki/CGISessionSerializeJsonDotPm.mdwn
deleted file mode 100644 (file)
index a7b4376..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Serialize::json - serializer for CGI::Session
-
-=head1 DESCRIPTION
-
-This library can be used by CGI::Session to serialize session data. Requires L&lt;JSON::Syck|JSON::Syck&gt;. JSON is a type of L&lt;YAML|CGI::Session::Serialize::yaml&gt;, with one extension: serialized JSON strings are actually valid [[JavaScript]] code that a browser can execute. Any langauge that has a YAML parser (Perl, PHP, Python, Ruby, C, etc) can also read data that has been serialized with JSON.
-
-=head1 METHODS
-
-=over 4
-
-=item freeze($class, \\%hash)
-
-Receives two arguments. First is the class name, the second is the data to be serialized. Should return serialized string on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=item thaw($class, $string)
-
-Received two arguments. First is the class name, second is the I data string. Should return thawed data structure on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=back
-
-=head1 SEE ALSO
-
-L&lt;CGI::Session&gt;, L&lt;JSON::Syck&gt;.
diff --git a/TWiki/CGISessionSerializeStorableDotPm.mdwn b/TWiki/CGISessionSerializeStorableDotPm.mdwn
deleted file mode 100644 (file)
index 674675c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Serialize::storable - Serializer for CGI::Session
-
-=head1 DESCRIPTION
-
-This library can be used by CGI::Session to serialize session data. Uses L&lt;Storable|Storable&gt;.
-
-=head1 METHODS
-
-=over 4
-
-=item freeze($class, \\%hash)
-
-Receives two arguments. First is the class name, the second is the data to be serialized. Should return serialized string on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
diff --git a/TWiki/CGISessionSerializeYamlDotPm.mdwn b/TWiki/CGISessionSerializeYamlDotPm.mdwn
deleted file mode 100644 (file)
index 67d0382..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Serialize::yaml - serializer for CGI::Session
-
-=head1 DESCRIPTION
-
-This library can be used by CGI::Session to serialize session data. It uses L&lt;YAML|YAML&gt;, or the faster C implementation, L&lt;YAML::Syck|YAML::Syck&gt; if it is available. YAML serializers exist not just for Perl but also other dynamic languages, such as PHP, Python, and Ruby, so storing session data in this format makes it easy to share session data across different languages.
-
-YAML is made to be friendly for humans to parse as well as other computer languages. It creates a format that is easier to read than the default serializer.
-
-=head1 METHODS
-
-=over 4
-
-=item freeze($class, \\%hash)
-
-Receives two arguments. First is the class name, the second is the data to be serialized. Should return serialized string on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=item thaw($class, $string)
-
-Received two arguments. First is the class name, second is the I data string. Should return thawed data structure on success, undef on failure. Error message should be set using C&lt;set\_error()|CGI::Session::ErrorHandler/"set\_error()"&gt;
-
-=back
-
-=head1 SEE ALSO
-
-L&lt;CGI::Session&gt;, L, L&lt;YAML::Syck&gt;.
diff --git a/TWiki/CGISessionTutorialDotPm.mdwn b/TWiki/CGISessionTutorialDotPm.mdwn
deleted file mode 100644 (file)
index eca6e14..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-# <a name="Package &lt;code&gt;="></a> Package =
-
-<div>
-  <ul>
-    <li><a href="#Package =="> Package ==</a></li>
-  </ul>
-</div>
-
-=head1 NAME
-
-CGI::Session::Tutorial - Extended CGI::Session manual
-
-=head1 STATE MAINTENANCE OVERVIEW
-
-Since HTTP is a stateless protocol, each subsequent click to a web site is treated as new request by the Web server. The server does not relate a visit with a previous one, thus all the state information from the previous requests are lost. This makes creating such applications as shopping carts, web sites requiring users to authenticate, impossible. So people had to do something about this despair situation HTTP was putting us in.
-
-For our rescue come such technologies as I and Is that help us save the users' session for a certain period. Since I and Is alone cannot take us too far (B), several other libraries have been developed to extend their capabilities and promise a more reliable solution. L&lt;CGI::Session|CGI::Session&gt; is one of them.
-
-Before we discuss this library, let's look at some alternative solutions.
-
-=head2 COOKIE
-
-Cookie is a piece of text-information that a web server is entitled to place in the user's hard disk, assuming a user agent (such as Internet Explorer, Mozilla, etc) is compatible with the specification. After the cookie is placed, user agents are required to send these cookies back to the server as part of the HTTP request. This way the server application ( CGI, for example ) will have a way of relating previous requests by the same user agent, thus overcoming statelessness of HTTP.
-
-Although I seem to be promising solution for the statelessness of HTTP, they do carry certain limitations, such as limited number of cookies per domain and per user agent and limited size on each cookie. User Agents are required to store at least 300 cookies at a time, 20 cookies per domain and allow 4096 bytes of storage for each cookie. They also rise several Privacy and Security concerns, the lists of which can be found on the sections B&lt;6-"Privacy"&gt; and B&lt;7-"Security Considerations"&gt; of B.
-
-=head2 QUERY STRING
-
-Query string is a string appended to URL following a question mark (?) such as:
-
-<http://my.dot.com/login.cgi?user=sherzodr;password=top-secret>
-
-As you probably guessed, it can also help you pass state information from a click to another, but how secure is it do you think, considering these URLs tend to get cached by most of the user agents and also logged in the servers access log, to which everyone can have access.
-
-=head2 HIDDEN FIELDS
-
-Hidden field is another alternative to using query strings and they come in two flavors: hidden fields used in POST methods and the ones in GET. The ones used in GET methods will turn into a true query strings once submitted, so all the disadvantages of QUERY\_STRINGs apply. Although POST requests do not have limitations of its sister-GET, the pages that hold them get cached by Web browser, and are available within the source code of the page (obviously). They also become unwieldily to manage when one has oodles of state information to keep track of ( for instance, a shopping cart or an advanced search engine).
-
-Query strings and hidden fields are also lost easily by closing the browser, or by clicking the browser's "Back" button.
-
-=head2 SERVER SIDE SESSION MANAGEMENT
-
-This technique is built upon the aforementioned technologies plus a server-side storage device, which saves the state data on the server side. Each session has a unique id associated with the data in the server. This id is also associated with the user agent either in the form of a I, a I, hidden field or any combination of the above. This is necessary to make the connection with the client and his data.
-
-Advantages:
-
-=over 4
-
-=item \*
-
-We no longer need to depend on User Agent constraints in cookie size.
-
-=item \*
-
-Sensitive data no longer need to be traveling across the network at each request (which is the case with query strings, cookies and hidden fields). The only thing that travels is the unique id generated for the session (B&lt;5767393932698093d0b75ef614376314&gt;, for instance), which should make no sense to third parties.
-
-=item \*
-
-User will not have sensitive data stored in his/her computer in unsecured file (which is a cookie file).
-
-=item \*
-
-It's possible to handle very big and even complex data structures transparently (which I do not handle).
-
-=back
-
-That's what CGI::Session is all about - implementing server side session management. Now is a good time to get feet wet.
-
-=head1 PROGRAMMING STYLE
-
-Server side session management system might be seeming awfully convoluted if you have never dealt with it. Fortunately, with L&lt;CGI::Session|CGI::Session&gt; all the complexity is handled by the library transparently. This section of the manual can be treated as an introductory tutorial to both logic behind session management, and to CGI::Session programming style.
-
-All applications making use of server side session management rely on the following pattern of operation regardless of the way the system is implemented:
-
-=over 4
-
-=item 1
-
-Check if the user has session cookie dropped in his computer from previous request
-
-=item 2
-
-If the cookie does not exist, create a new session identifier, and drop it as cookie to the user's computer.
-
-=item 3
-
-If session cookie exists, read the session ID from the cookie and load any previously saved session data from the server side storage. If session had any expiration date set it's useful to re-drop the same cookie to the user's computer so its expiration time will be reset to be relative to user's last activity time.
-
-=item 4
-
-Store any necessary data in the session that you want to make available for the next HTTP request.
-
-=back
-
-CGI::Session will handle all of the above steps. All you have to do is to choose what to store in the session.
-
-=head2 GETTING STARTED
-
-To make L&lt;CGI::Session|CGI::Session&gt;'s functionality available in your program do either of the following somewhere on top of your program file:
-
-use CGI::Session; # or require CGI::Session;
-
-Whenever you're ready to create a new session in your application, do the following:
-
-$session = new CGI::Session() or die CGI::Session-&gt;errstr;
-
-Above line will first try to re-initialize an existing session by consulting cookies and necessary QUERY\_STRING parameters. If it fails will create a brand new session with a unique ID, which is normally called I, I for short, and can be accessed through L&lt;id()|CGI::Session/id()&gt; - object method.
-
-We didn't check for any session cookies above, did we? No, we didn't, but CGI::Session did. It looked for a cookie called C, and if it found it tried to load existing session from server side storage (B in our case). If cookie didn't exist it looked for a QUERY\_STRING parameter called C. If all the attempts to recover session ID failed, it created a new session.
-
-NOTE: For the above syntax to work as intended your application needs to have write access to your computer's I folder, which is usually F in UNIX. If it doesn't, or if you wish to store this application's session files in a different place, you may pass the third argument like so:
-
-$session = new CGI::Session(undef, undef, \{Directory=&gt;'../tmp/sessions'\});
-
-Now it will store all the newly created sessions in (and will attempt to initialize requested sessions from) that folder. Don't worry if the directory hierarchy you want to use doesn't already exist. It will be created for you. For details on how session data are stored refer to L&lt;CGI::Session::Driver::file|CGI::Session::Driver::file&gt;, which is the default driver used in our above example.
-
-There is one small, but very important thing your application needs to perform after creating CGI::Session object as above. It needs to drop Session ID as an I into the user's computer. CGI::Session will use this cookie to identify the user at his/her next request and will be able to load his/her previously stored session data.
-
-To make sure CGI::Session will be able to read your cookie at next request you need to consult its C&lt;name()&gt; method for cookie's suggested name:
-
-$cookie = $query-&gt;cookie( -name =&gt; $session-&gt;name, -value =&gt; $session-&gt;id ); print $query-&gt;header( -cookie=&gt;$cookie );
-
-C&lt;name()&gt; returns C by default. If you prefer a different cookie name, you can change it as easily too, but you have to do it before CGI::Session object is created:
-
-CGI::Session-&gt;name("SID"); $session = new CGI::Session();
-
-Baking the cookie wasn't too difficult, was it? But there is an even easier way to send a cookie using CGI::Session:
-
-print $session-&gt;header();
-
-The above will create the cookie using L&lt;CGI::Cookie|CGI::Cookie&gt; and will return proper http headers using L&lt;CGI.pm|CGI&gt;'s L&lt;CGI|CGI/header()&gt; method. Any arguments to L&lt;CGI::Session|CGI::Session/header()&gt; will be passed to L&lt;CGI::header()|CGI/header()&gt;.
-
-Of course, this method of initialization will only work if client is accepting cookies. If not you would have to pass session ID in each URL of your application as QUERY\_STRING. For CGI::Session to detect it the name of the parameter should be the same as returned by L&lt;name()|CGI::Session/name()&gt;:
-
-printf ("[click me](\"$ENV{SCRIPT_NAME}?%s=%s\")", $session-&gt;name, $session-&gt;id);
-
-If you already have session id to be initialized you may pass it as the only argument, or the second argument of multi-argument syntax:
-
-$session = new CGI::Session( $sid ); $session = new CGI::Session( "serializer:freezethaw", $sid ); $session = new CGI::Session( "driver:mysql", $sid, \{Handle=&gt;$dbh\} );
-
-By default CGI::Session uses standard L&lt;CGI|CGI&gt; to parse queries and cookies. If you prefer to use a different, but compatible object you can pass that object in place of $sid:
-
-$cgi = new CGI::Simple(); $session = new CGI::Session ( $cgi ); $session = new CGI::Session( "driver:db\_file;serializer:storable", $cgi); # etc
-
-See L&lt;CGI::Simple|CGI::Simple&gt;
-
-=head2 STORING DATA
-
-L&lt;CGI::Session|CGI::Session&gt; offers L&lt;param() method|CGI::Session/param()&gt;, which behaves exactly as L&lt;CGI.pm's param()|CGI/param()&gt; with identical syntax. L&lt;param()|CGI::Session/param()&gt; is used for storing data in session as well as for accessing already stored data.
-
-Imagine your customer submitted a login form on your Web site. You, as a good host, wanted to remember the guest's name, so you can a) greet him accordingly when he visits your site again, or b) to be helpful by filling out I part of his login form, so the customer can jump right to the I field without having to type his username again.
-
-my $name = $cgi-&gt;param('username'); $session-&gt;param('username', $name);
-
-Notice, we're grabbing I value of the field using CGI.pm's (or another compatible library's) C&lt;param()&gt; method, and storing it in session using L&lt;CGI::Session|CGI::Session&gt;'s L&lt;param()|CGI::Session/param()&gt; method.
-
-If you have too many stuff to transfer into session, you may find yourself typing the above code over and over again. I've done it, and believe me, it gets very boring too soon, and is also error-prone. So we introduced the following handy method:
-
-$session-&gt;save\_param(['name']);
-
-If you wanted to store multiple form fields just include them all in the second list:
-
-$session-&gt;save\_param(['name', 'email']);
-
-If you want to store all the available I parameters you can omit the arguments:
-
-$session-&gt;save\_param();
-
-See L&lt;save\_param()|CGI::Session/save\_param&gt; for more details.
-
-When storing data in the session you're not limited to strings. You can store arrays, hashes and even most objects. You will need to pass them as references (except objects).
-
-For example, to get all the selected values of a scrolling list and store it in the session:
-
-my @fruits = $cgi-&gt;param('fruits'); $session-&gt;param('fruits', \\@fruits);
-
-For parameters with multiple values save\_param() will do the right thing too. So the above is the same as:
-
-$session-&gt;save\_param($cgi, ['fruits']);
-
-All the updates to the session data using above methods will not reflect in the data store until your application exits, or C&lt;$session&gt; goes out of scope. If, for some reason, you need to commit the changes to the data store before your application exits you need to call L&lt;flush()|CGI::Session/flush()&gt; method:
-
-$session-&gt;flush();
-
-I've written a lot of code, and never felt need for using C&lt;flush()&gt; method, since CGI::Session calls this method at the end of each request. There are, however, occasions I can think of one may need to call L&lt;flush()|CGI::Session/flush()&gt;.
-
-=head2 ACCESSING STORED DATA
-
-There's no point of storing data if you cannot access it. You can access stored session data by using the same L&lt;param() method|CGI::Session/param()&gt; you once used to store them. Remember the Username field from the previous section that we stored in the session? Let's read it back so we can partially fill the Login form for the user:
-
-$name = $session-&gt;param("name"); printf "
-
-<input name="\"name\"" type="\"text\"" value="\"%s\"" />
-
-", $name;
-
-To retrieve previously stored @fruits do not forget to de reference it:
-
-@fruits = @\{ $session-&gt;param('fruits') \};
-
-Very frequently, you may find yourself having to create pre-filled and pre-selected forms, like radio buttons, checkboxes and drop down menus according to the user's preferences or previous action. With text and textareas it's not a big deal - you can simply retrieve a single parameter from the session and hard code the value into the text field. But how would you do it when you have a group of radio buttons, checkboxes and scrolling lists? For this purpose, CGI::Session provides L&lt;load\_param()|CGI::Session/load\_param()&gt; method, which loads given session parameters to a CGI object (assuming they have been previously saved with L&lt;save\_param()|CGI::Session/save\_param()&gt; or alternative):
-
-$session-&gt;load\_param($cgi, ["fruits"]);
-
-Now when you say:
-
-print $cgi-&gt;checkbox\_group(fruits=&gt;['apple', 'banana', 'apricot']);
-
-See L&lt;load\_param()|CGI::Session/load\_param()&gt; for details.
-
-Generated checkboxes will be pre-filled using previously saved information. To see example of a real session-powered application consider <http://handalak.com/cgi-bin/subscriptions.cgi>
-
-If you're making use of L&lt;HTML::Template|HTML::Template&gt; to separate the code from the skin, you can as well associate L&lt;CGI::Session|CGI::Session&gt; object with HTML::Template and access all the parameters from within HTML files. We love this trick!
-
-$template = new HTML::Template(filename=&gt;"some.tmpl", associate=&gt;$session); print $template-&gt;output();
-
-Assuming the session object stored "first\_name" and "email" parameters while being associated with HTML::Template, you can access those values from within your "some.tmpl" file now:
-
-Hello [ ](mailto:<TMPL_VAR email>)!
-
-See L&lt;HTML::Template's online manual|HTML::Template&gt; for details.
-
-=head2 CLEARING SESSION DATA
-
-You store session data, you access session data and at some point you will want to clear certain session data, if not all. For this purpose L&lt;CGI::Session|CGI::Session&gt; provides L&lt;clear()|CGI::Session/clear()&gt; method which optionally takes one argument as an arrayref indicating which session parameters should be deleted from the session object:
-
-$session-&gt;clear(["~logged-in", "email"]);
-
-Above line deletes "~logged-in" and "email" session parameters from the session. And next time you say:
-
-$email = $session-&gt;param("email");
-
-it returns undef. If you omit the argument to L&lt;clear()|CGI::Session/clear()&gt;, be warned that all the session parameters you ever stored in the session object will get deleted. Note that it does not delete the session itself. Session stays open and accessible. It's just the parameters you stored in it gets deleted
-
-See L&lt;clear()|CGI::Session/clear()&gt; for details.
-
-=head2 DELETING A SESSION
-
-If there's a start there's an end. If session could be created, it should be possible to delete it from the disk for good:
-
-$session-&gt;delete();
-
-The above call to L&lt;delete()|CGI::Session/delete()&gt; deletes the session from the disk for good. Do not confuse it with L&lt;clear()|CGI::Session/clear()&gt;, which only clears certain session parameters but keeps the session open.
-
-See L&lt;delete()|CGI::Session/delete()&gt; for details.
-
-=head2 EXPIRATION
-
-L&lt;CGI::Session|CGI::Session&gt; provides limited means to expire sessions. Expiring a session is the same as deleting it via delete(), but deletion takes place automatically. To expire a session, you need to tell the library how long the session would be valid after the last access time. When that time is met, CGI::Session refuses to retrieve the session. It deletes the session and returns a brand new one. To assign expiration ticker for a session, use L&lt;expire()|CGI::Session/expire()&gt;:
-
-$session-&gt;expire(3600); # expire after 3600 seconds $session-&gt;expire('+1h'); # expire after 1 hour $session-&gt;expire('+15m'); # expire after 15 minutes $session-&gt;expire('+1M'); # expire after a month and so on.
-
-When session is set to expire at some time in the future, but session was not requested at or after that time has passed it will remain in the disk. When expired session is requested CGI::Session will remove the data from disk, and will initialize a brand new session.
-
-See L&lt;expire()|CGI::Session/expire()&gt; for details.
-
-Before CGI::Session 4.x there was no way of intercepting requests to expired sessions. CGI::Session 4.x introduced new kind of constructor, L&lt;load()|CGI::Session/load()&gt;, which is identical in use to L&lt;new()|CGI::Session/new()&gt;, but is not allowed to create sessions. It can only load them. If session is found to be expired, or session does not exist it will return an empty CGI::Session object. And if session is expired, in addition to being empty, its status will also be set to expired. You can check against these conditions using L&lt;empty()|CGI::Session/empty()&gt; and L&lt;is\_expired()|CGI::Session/is\_expired()&gt; methods. If session was loaded successfully object returned by C&lt;load()&gt; is as good a session as the one returned by C&lt;new()&gt;:
-
-$session = CGI::Session-&gt;load() or die CGI::Session-&gt;errstr; if ( $session-&gt;is\_expired ) \{ die "Your session expired. Please refresh your browser to re-start your session"; \} if ( $session-&gt;is\_empty ) \{ $session = $session-&gt;new(); \}
-
-Above example is worth an attention. Remember, all expired sessions are empty sessions, but not all empty sessions are expired sessions. Following this rule we have to check with C&lt;is\_expired()&gt; before checking with C&lt;is\_empty()&gt;. There is another thing about the above example. Notice how its creating new session when un existing session was requested? By calling C&lt;new()&gt; as an object method! Handy thing about that is, when you call C&lt;new()&gt; on a session object new object will be created using the same configuration as the previous object.
-
-For example:
-
-$session = CGI::Session-&gt;load("driver:mysql;serializer:storable", undef, \{Handle=&gt;$dbh\}); if ( $session-&gt;is\_expired ) \{ die "Your session is expired. Please refresh your browser to re-start your session"; \} if ( $session-&gt;is\_empty ) \{ $session = $session-&gt;new(); \}
-
-Initial C&lt;$session&gt; object was configured with B as the driver, B as the serializer and B&lt;$dbh&gt; as the database handle. Calling C&lt; new() &gt; on this object will return an object of the same configuration. So C&lt; $session &gt; object returned from C&lt; new() &gt; in the above example will use B as the driver, B as the serializer and B&lt;$dbh&gt; as the database handle.
-
-See L&lt;is\_expired()|CGI::Session/is\_expired()&gt;, L&lt;is\_empty()|CGI::Session/is\_empty()&gt;, L&lt;load()|CGI::Session/load()&gt; for details.
-
-Sometimes it makes perfect sense to expire a certain session parameter, instead of the whole session. I usually do this in my login enabled sites, where after the user logs in successfully, I set his/her "\_logged\_in" session parameter to true, and assign an expiration ticker on that flag to something like 30 minutes. It means, after 30 idle minutes CGI::Session will L&lt;clear|CGI::Session/clear()&gt; "\_logged\_in" flag, indicating the user should log in over again. I agree, the same effect can be achieved by simply expiring() the session itself, but by doing this we would loose other session parameters, such as user's shopping cart, session-preferences and the like.
-
-This feature can also be used to simulate layered authentication, such as, you can keep the user's access to his/her personal profile information for as long as 60 minutes after a successful login, but expire his/her access to his credit card information after 5 idle minutes. To achieve this effect, we will use L&lt;expire()|CGI::Session/expire()&gt; method again:
-
-$session-&gt;expire(\_profile\_access, '1h'); $session-&gt;expire(\_cc\_access, '5m');
-
-With the above syntax, the person will still have access to his personal information even after 5 idle hours. But when he tries to access or update his/her credit card information, he may be displayed a "login again, please" screen.
-
-See L&lt;expire()|CGI::Session/expire()&gt; for details.
-
-This concludes our discussion of CGI::Session programming style. The rest of the manual covers some L&lt;"SECURITY"&gt; issues. Driver specs from the previous manual were moved to L&lt;CGI::Session::Driver|CGI::Session::Driver&gt;.
-
-=head1 SECURITY
-
-"How secure is using CGI::Session?", "Can others hack down people's sessions using another browser if they can get the session id of the user?", "Are the session ids easy to guess?" are the questions I find myself answering over and over again.
-
-=head2 STORAGE
-
-Security of the library does in many aspects depend on the implementation. After making use of this library, you no longer have to send all the information to the user's cookie except for the session id. But, you still have to store the data in the server side. So another set of questions arise, can an evil person get access to session data in your server, even if he does, can he make sense out of the data in the session file, and even if he can, can he reuse the information against a person who created that session. As you see, the answer depends on yourself who is implementing it.
-
-=over 4
-
-=item \*
-
-First rule of thumb, do not store users' passwords or other sensitive data in the session, please. If you have to, use one-way encryption, such as md5, or SHA-1-1. For my own experience I can assure you that in properly implemented session-powered Web applications there is never a need for it.
-
-=item \*
-
-Default configuration of the driver makes use of L&lt;Data::Dumper|Data::Dumper&gt; class to serialize data to make it possible to save it in the disk. Data::Dumper's result is a human readable data structure, which, if opened, can be interpreted easily. If you configure your session object to use either L&lt;Storable|CGI::Session::Serialize::storable&gt; or L&lt;FreezeThaw|CGI::Session::Serialize::freezethaw&gt; as a serializer, this would make it more difficult for bad guys to make sense out of session data. But don't use this as the only precaution. Since evil fingers can type a quick program using L&lt;Storable|Storable&gt; or L&lt;FreezeThaw|FreezeThaw&gt; to decipher session files very easily.
-
-=item \*
-
-Do not allow anyone to update contents of session files. If you're using L serialized data string needs to be eval()ed to bring the original data structure back to life. Of course, we use L&lt;Safe|Safe&gt; to do it safely, but your cautiousness does no harm either.
-
-=item \*
-
-Do not keep sessions open for very long. This will increase the possibility that some bad guy may have someone's valid session id at a given time (acquired somehow). To do this use L&lt;expire()|CGI::Session/expire()&gt; method to set expiration ticker. The more sensitive the information on your Web site is, the sooner the session should be set to expire.
-
-=back
-
-=head2 SESSION IDs
-
-Session ids are not easily guessed (unless you're using L)! Default configuration of CGI::Session uses L&lt;Digest::MD5|CGI::Session::ID::md5&gt; to generate random, 32 character long identifier. Although this string cannot be guessed as easily by others, if they find it out somehow, can they use this identifier against the other person?
-
-Consider the scenario, where you just give someone either via email or an instant messaging a link to a Web site where you're currently logged in. The URL you give to that person contains a session id as part of a query string. If the site was initializing the session solely using query string parameter, after clicking on that link that person now appears to that site as you, and might have access to all of your private data instantly.
-
-Even if you're solely using cookies as the session id transporters, it's not that difficult to plant a cookie in the cookie file with the same id and trick the web browser to send that particular session id to the server. So key for security is to check if the person who's asking us to retrieve a session data is indeed the person who initially created the session data.
-
-One way to help with this is by also checking that the IP address that the session is being used from is always same. However, this turns out not to be practical in common cases because some large ISPs (such as AOL) use proxies which cause each and every request from the same user to come from different IP address.
-
-If you have an application where you are sure your users' IPs are constant during a session, you can consider enabling an option to make this check:
-
-use CGI::Session ( '-ip\_match' );
-
-For backwards compatibility, you can also achieve this by setting $CGI::Session::IP\_MATCH to a true value. This makes sure that before initializing a previously stored session, it checks if the ip address stored in the session matches the ip address of the user asking for that session. In which case the library returns the session, otherwise it dies with a proper error message.
-
-=head1 LICENSING
-
-For support and licensing see L&lt;CGI::Session|CGI::Session&gt;
diff --git a/TWiki/CategoryCategory.mdwn b/TWiki/CategoryCategory.mdwn
deleted file mode 100644 (file)
index b1e20e4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# <a name="List of all Category topics"></a> List of all Category topics
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
diff --git a/TWiki/ChangeEmailAddress.mdwn b/TWiki/ChangeEmailAddress.mdwn
deleted file mode 100644 (file)
index 9de9b23..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# <a name="Change E-mail Address"></a> Change E-mail Address
-
-**This form is used to change your registered e-mail addresses. Your registered e-mails are used by TWiki for sending you e-mails, include notifications of password changes. The addresses you register via this form are kept secret and will **not** be published anywhere on this site.**
-
-%X% **_Security Note_**: You really ought to register a valid e-mail address. If TWiki can't find a registered e-mail for you in the secret database, it will look in your user topic for a line like this:
-
-       * Set Email = user@example.com
-
-If your user topic is not protected from changes by other people, and you don't register an e-mail address using this form, then your user account could be hijacked by someone else.
-
-If your old e-mail addresses are all invalid (you can't receive mail there any more) and you have forgotten your password, please contact 0 for help.
-
-<form action="http://www.dementia.org/twiki/manage/%WEB%/%TOPIC%" method="post" name="manage">
-  <div>
-    <div><strong>Sorry, the password system is currently read only, please contact 0</strong></div>
-    <div> Registered e-mail addresses for currently logged in user (<code>admin</code>): </div>
-    <div>
-      <table border="0" cellpadding="0" cellspacing="0" rules="none" style="border-width: 0px">
-        <tr>
-          <td bgcolor="transparent" style="">   </td>
-          <td bgcolor="transparent" style=""> Fields marked <code><font color="red">**</font></code> are required </td>
-        </tr>
-        <tr>
-          <td align="right" bgcolor="transparent" style=""> Your [[TWiki/LoginName]]: </td>
-          <td bgcolor="transparent" style=""><input %notmodifyable%="%NOTMODIFYABLE%" name="username" size="40" type="text" value="admin" /> <code><font color="red">**</font></code></td>
-        </tr>
-        <tr>
-          <td align="right" bgcolor="transparent" style=""> Password: </td>
-          <td bgcolor="transparent" style=""><input %notmodifyable%="%NOTMODIFYABLE%" name="oldpassword" size="40" type="password" value="" /> <code><font color="red">**</font></code></td>
-        </tr>
-        <tr>
-          <td align="right" bgcolor="transparent" style=""> New e-mails (space-separated list): </td>
-          <td bgcolor="transparent" style=""><input %notmodifyable%="%NOTMODIFYABLE%" name="email" size="40" type="text" /> <code><font color="red">**</font></code></td>
-        </tr>
-      </table>
-    </div>
-    <div><input name="TopicName" type="hidden" value="%TOPIC%" /> <input name="action" type="hidden" value="changePassword" /> <input %notmodifyable%="%NOTMODIFYABLE%" type="submit" value="Change e-mail address" /></div>
-  </div>
-</form>
-
-<div>
-  <ul>
-    <li><img align="top" alt="info" border="0" height="16" src="http://www.dementia.org/twiki//view/Main/WebHome/info.gif" width="16" /> If you have any questions, please contact 0 </li>
-    <li><img align="top" alt="info" border="0" height="16" src="http://www.dementia.org/twiki//view/Main/WebHome/info.gif" width="16" /> [[Main/TWikiUsers]] has a list of other TWiki users </li>
-  </ul>
-</div>
-
-**_Related topics:_** [[ChangePassword]], [[ResetPassword]], [[UserToolsCategory]], [[AdminToolsCategory]]
diff --git a/TWiki/ChangePassword.mdwn b/TWiki/ChangePassword.mdwn
deleted file mode 100644 (file)
index efcdfd2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# <a name="Change Password"></a> Change Password
-
-**_Forgotten your password?_** Use [[ResetPassword]] instead.
-
-<form action="http://www.dementia.org/twiki/manage/TWiki/WebHome" method="post" name="manage">
-  <div>
-    <div><strong>Sorry, the password system is currently read only, please contact 0</strong></div>
-    <div>
-      <table border="0" cellpadding="0" cellspacing="0" rules="none" style="border-width: 0px">
-        <tr>
-          <td bgcolor="transparent" colspan="2" style=""> Fields marked <code><font color="red">**</font></code> are required </td>
-        </tr>
-        <tr>
-          <td align="right" bgcolor="transparent" style=""> Your [[TWiki/LoginName]]: </td>
-          <td bgcolor="transparent" style=""><input %notmodifyable%="%NOTMODIFYABLE%" name="username" size="40" type="text" value="admin" /> <code><font color="red">**</font></code></td>
-        </tr>
-        <tr>
-          <td align="right" bgcolor="transparent" style=""> Current password: </td>
-          <td bgcolor="transparent" style=""><input %notmodifyable%="%NOTMODIFYABLE%" name="oldpassword" size="40" type="password" value="" /> <code><font color="red">**</font></code></td>
-        </tr>
-        <tr>
-          <td align="right" bgcolor="transparent" style=""> New password: </td>
-          <td bgcolor="transparent" style=""><input %notmodifyable%="%NOTMODIFYABLE%" name="password" size="40" type="password" /> <code><font color="red">**</font></code></td>
-        </tr>
-        <tr>
-          <td align="right" bgcolor="transparent" style=""> Retype new password: </td>
-          <td bgcolor="transparent" style=""><input %notmodifyable%="%NOTMODIFYABLE%" name="passwordA" size="40" type="password" /> <code><font color="red">**</font></code></td>
-        </tr>
-      </table>
-    </div>
-    <div><input name="TopicName" type="hidden" value="%TOPIC%" /> <input name="action" type="hidden" value="changePassword" /> <input %notmodifyable%="%NOTMODIFYABLE%" type="submit" value="Change password" /></div>
-  </div>
-</form>
-
-<div>
-  <ul>
-    <li><img align="top" alt="info" border="0" height="16" src="http://www.dementia.org/twiki//view/Main/WebHome/info.gif" width="16" /> If you have any questions, please contact 0 </li>
-    <li><img align="top" alt="info" border="0" height="16" src="http://www.dementia.org/twiki//view/Main/WebHome/info.gif" width="16" /> [[Main/TWikiUsers]] has a list of other TWiki users </li>
-  </ul>
-</div>
-
-**_Related topics:_** [[ResetPassword]], [[ChangeEmailAddress]], [[UserToolsCategory]], [[AdminToolsCategory]]
diff --git a/TWiki/ClassMethod.mdwn b/TWiki/ClassMethod.mdwn
deleted file mode 100644 (file)
index 514bdaa..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-A [[ClassMethod]] is a method that must be called relative to the containing class object. This normally only applies to the `new` method used to create new object instances. For example,
-
-# <a name="package Telecoms"></a> package Telecoms
-
-## <a name="ClassMethod new()"></a> [[ClassMethod]] new()
-
-    my $mobile = new Telecoms();
-
-or
-
-    my $mobile = Telecoms->new();
-
-**_Related Topics:_** [[DeveloperDocumentationCategory]], [[StaticMethod]], [[ObjectMethod]]
diff --git a/TWiki/ClassicSkin.mdwn b/TWiki/ClassicSkin.mdwn
deleted file mode 100644 (file)
index ffdc59f..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-# <a name="Classic Skin"></a> Classic Skin
-
-The classic TWiki skin is a bare bone and functional skin, supporting any browser, and has a minimum of graphics
-
-This is not really a skin. It is the set of default templates, shown if no skin is activated. The default templates are part of every TWiki distribution.
-
-## <a name="Skin Info"></a> Skin Info
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td align="right"> Description: </td>
-    <td> The classic TWiki skin, bare bone and functional, for any browser, with a minimum of graphics </td>
-  </tr>
-  <tr>
-    <td align="right"> Screenshot: </td>
-    <td><a href="http://www.dementia.org/twiki//view/fullscreen.gif"><img alt="Click for full screen image" height="130" src="http://www.dementia.org/twiki//view/screenshot.gif" width="600" /></a></td>
-  </tr>
-  <tr>
-    <td align="right"> Base Name: </td>
-    <td> classic </td>
-  </tr>
-  <tr>
-    <td align="right"> Skin Author: </td>
-    <td> TWiki:Main/PeterThoeny </td>
-  </tr>
-  <tr>
-    <td align="right"> Skin Version: </td>
-    <td> 03 Aug 2008 </td>
-  </tr>
-  <tr>
-    <td align="right"> Change History: </td>
-    <td>  </td>
-  </tr>
-  <tr>
-    <td align="right"> 03 May 2008 </td>
-    <td> TWiki 4.2.1 release version </td>
-  </tr>
-  <tr>
-    <td align="right"> 21 May 2007 </td>
-    <td> Bugs:Item3969 - 8bit email fix (TWiki:Main.WillNorris) </td>
-  </tr>
-  <tr>
-    <td align="right"> 25 Jul 2004: </td>
-    <td> Initial version (v1.000) </td>
-  </tr>
-  <tr>
-    <td align="right"> Dependencies: </td>
-    <td>   </td>
-  </tr>
-  <tr>
-    <td align="right"> Skin Home: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
-  </tr>
-  <tr>
-    <td align="right"> Feedback: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
-  </tr>
-</table>
-
-**_Note:_** The Description, Screenshot and Base Name rows are needed by the [[TWikiSkinBrowser]]
-
-**_Related topic:_** [[TWikiSkins]], [[TWikiSkinBrowser]]
-
--- TWiki:Main/PeterThoeny - 25 Jul 2004
diff --git a/TWiki/CommentPlugin.mdwn b/TWiki/CommentPlugin.mdwn
deleted file mode 100644 (file)
index 7dd1fe4..0000000
+++ /dev/null
@@ -1,536 +0,0 @@
-# <a name="Comment Plugin"></a><a name=" Comment Plugin"></a> Comment Plugin
-
-**Comment Plugin lets users quickly post comments to a page without an edit/preview/save cycle.**
-
-<div><span>On this page:</span><ul>
-    <li><a href="#Features"> Features</a></li>
-    <li><a href="#Syntax"> Syntax</a><ul>
-        <li><a href="#Positioning the comment"> Positioning the comment</a><ul>
-            <li><a href="#Location relative to %COMMENT ta"> Location relative to <code>%COMMENT</code> tag</a></li>
-            <li><a href="#Location relative to a TWiki anc"> Location relative to a TWiki anchor</a></li>
-            <li><a href="#Location relative to an arbitrar"> Location relative to an arbitrary text string</a></li>
-          </ul>
-        </li>
-        <li><a href="#Default templates"> Default templates</a></li>
-      </ul>
-    </li>
-    <li><a href="#Customisation"> Customisation</a><ul>
-        <li><a href="#Defining custom templates"> Defining custom templates</a></li>
-        <li><a href="#Customisation example"> Customisation example</a></li>
-        <li><a href="#The <code>PROMPT</code> template"> The PROMPT template</a><ul>
-            <li><a href="#Providing attribute values"> Providing attribute values</a></li>
-            <li><a href="#Special variables"> Special variables</a></li>
-            <li><a href="#Customisation example with custo"> Customisation example with custom form template</a></li>
-          </ul>
-        </li>
-        <li><a href="#The <code>OUTPUT</code> template"> The OUTPUT template</a></li>
-      </ul>
-    </li>
-    <li><a href="#Settings"> Settings</a></li>
-    <li><a href="#Plugin Installation Instructions"> Plugin Installation Instructions</a></li>
-    <li><a href="#Plugin Info"> Plugin Info</a></li>
-  </ul>
-</div>
-
-Related topics: [[CommentPluginTemplates]], [[CommentPluginExamples]]
-
-<div style="background-color: #ffc">WARNING: TWiki-4 only. If you want to use this plugin with an earlier version of TWiki, please use <a href="http://twiki.org/cgi-bin/attach/Plugins/CommentPlugin?filename=CommentPlugin.zip&revInfo=1" target="_top">revision 31 of the zip</a>.</div>
-
-## <a name="Features"></a> Features
-
-Inserts an edit box into the page that allows users to type in and save comments. Comments can be made
-
-- in different formats (as defined by a template),
-- in both forward and reverse chronological order,
-- signed or unsigned, dated or undated (as defined by a template),
-- in other topics, or other positions within the current topic.
-
-## <a name="Syntax"></a> Syntax
-
-<a name="StandardAttrs"></a> Write <code>%COMMENT\{_attributes_\}%</code> anywhere in a TWiki topic.
-
-(See also [[additional attributes|Main/WebHome#MoreAttrs]])
-
-### <a name="Positioning the comment"></a> Positioning the comment
-
-`%COMMENT` supports several ways to specify _where_ a comment should be inserted in the target topic. This is referred to as the _location_ of the comment.
-
-#### <a name="Location relative to %COMMENT ta"></a> Location relative to `%COMMENT` tag
-
-The default _location_ is the `%COMMENT` tag itself. For example:
-
-    %COMMENT{type="below"}%
-
-will add comments in the current topic, directly below the `%COMMENT` tag.
-
-#### <a name="Location relative to a TWiki anc"></a> Location relative to a TWiki anchor
-
-The `target` attribute may specify a web, and may also specify an anchor within the target topic; for example,
-
-    %COMMENT{type="above" target="%MAINWEB%.PersonalRemarks#InsertHere"}%
-
-This uses a standard TWiki in-topic anchor as the insertion location. See [[TextFormattingRules]] for more about TWiki anchors.
-
-#### <a name="Location relative to an arbitrar"></a> Location relative to an arbitrary text string
-
-Getting more sophisticated, you can also specify a regular expression for the target location using the `location` parameter. The target topic is searched for the regular expression, and the comment inserted relative to the string that the search matched. For example,
-
-    %COMMENT{type="above" location="Flights of Fancy"}%
-
-will place comments above the first occurence of the string `Flights of Fancy` in the current topic.
-
-**Warning** of course, if a user's comment contains the string "Flights of Fancy" they may and up _changing the location_ for the next comment! Also, if you use a tag in the location, then you've just inserted another tag in the page that contains the `%COMMENT`! So be very careful how you specify the RE for `location`. Note that the RE is matched using perl "multiple line" mode, so ^ and $ match the start of a line and the end of a line respectively. %BR% Also note that you cannot have the text `location="` just before the location.
-
-I look forward to someone leveraging this feature to create - for example - threaded conversations using `%COMMENT`.
-
-If you specify an anchor _and_ a `location`, the anchor will be ignored.
-
-### <a name="Default templates"></a> Default templates
-
-Templates are used to define the "comment style" i.e. how comments appear in the page. The default is to add comments in "Blog like" style using bulleted lists, with the most recent comment at the top, but many other styles are available such as tables or Wiki thread mode comments. It is easy to define your own customer styles as well.
-
-A set of default comment templates are shipped with the plugin - see also [[CommentPluginTemplates]]:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Template type </strong></th>
-    <th bgcolor="#99CCCC"><strong> Description </strong></th>
-  </tr>
-  <tr>
-    <td><code>top</code></td>
-    <td> Comments, signed and dated (server time), added at top of the topic (the anchor is ignored) </td>
-  </tr>
-  <tr>
-    <td><code>bottom</code></td>
-    <td> Comments, signed and dated (server time), added at end of the target topic (the anchor is ignored) </td>
-  </tr>
-  <tr>
-    <td><code>above</code></td>
-    <td> Comments, signed and dated (server time), added immediately before the target anchor, or the <code>%COMMENT</code> if no anchor is specified </td>
-  </tr>
-  <tr>
-    <td><code>below</code></td>
-    <td> Comments, signed and dated (server time), added immediately below the target anchor, or the <code>%COMMENT</code> if no anchor is specified </td>
-  </tr>
-  <tr>
-    <td><code>belowthreadmode</code></td>
-    <td> Comments, signed and dated, added recurse after comment box </td>
-  </tr>
-  <tr>
-    <td><code>threadmode</code></td>
-    <td> Wiki thread mode comment, signed and dated (server time) </td>
-  </tr>
-  <tr>
-    <td><code>tableprepend</code></td>
-    <td> Comments, signed and dated (server time), formatted as an HTML table row, added below the anchor (which must be in an HTML &lt;table&gt;) </td>
-  </tr>
-  <tr>
-    <td><code>tableappend</code></td>
-    <td> Comments, signed and dated (server time), formatted as an HTML table row, added above the anchor (which must be in an HTML &lt;table&gt;) </td>
-  </tr>
-  <tr>
-    <td><code>action</code></td>
-    <td> Action added to action table directly above comment box (see <a href="#Installation">Plugin Installation Instructions</a> below for immportant notes) </td>
-  </tr>
-  <tr>
-    <td><code>table</code></td>
-    <td> Tablerows adding on end </td>
-  </tr>
-  <tr>
-    <td><code>toctalk</code></td>
-    <td> Talk using TOC adding on end </td>
-  </tr>
-  <tr>
-    <td><code>bookmark</code></td>
-    <td> Create a list of annotated bookmarks </td>
-  </tr>
-  <tr>
-    <td><code>return</code></td>
-    <td> Post to a different topic and return </td>
-  </tr>
-</table>
-
-Your local installation may add more template types as well - see [[Customisation|Main/WebHome#TemPlates]], below.
-
-<a name="TemPlates"></a>
-
-## <a name="Customisation"></a> Customisation
-
-Customisation of the comment plugin requires
-
-- familiarity with HTML forms
-- some familiarity with the [[TWiki templating language|TWiki/TWikiTemplates]].
-
-To define a comment type, you have to provide two simple template definitions in the template file; one for the prompt box, and one for the generated output. If we have a template type "mytype", these are named `PROMPT:mytype` and `OUTPUT:mytype` respectively. See `comments.tmpl` in the templates directory for examples.
-
-The plugin picks up these template definitions from a standard TWiki template file, `templates/comments.tmpl`. This allows different templates to be defined for different TWiki skins.
-
-### <a name="Defining custom templates"></a> Defining custom templates
-
-By default, `templates/comments.tmpl` includes the topic [[CommentPluginTemplate]], which contains all the shipped standard templates and in turn includes TWiki.UserCommentsTemplate that can include non-standard customisations.
-
-This allows for several levels of customisation:
-
-1. To **override all default templates, everywhere**, change `comments.tmpl` to include a different topic (this customisation will be lost next time you upgrade, though).
-2. To add **site-wide local template customisations**, add them to [[UserCommentsTemplate]] (create if it does not exist yet). You can redefine the standard templates here if you want, and your definitions will override the standard definitions.
-3. To override templates on a **web-by-web basis**, add a topic `UserCommentsTemplate` to the web (this will replace TWiki.UserCommentsTemplate)
-4. To override templates **for a specific skin**, add them to TWiki.UserComments&lt;Skin&gt;Template (where &lt;Skin&gt; is the name of the skin with the first letter capitalised, e.g. Pattern)
-
-You can also define a **comment template in a topic**, by passing the topic location with `templatetopic`. For example:
-
-> %COMMENT{type="blogpost" templatetopic="BlogPostCommentTemplate" target="%TOPIC%" button="Add comment" }%
->
-> `templatetopic` accepts `topic` or `web.topic` syntax. See an example in [[CommentPluginExamples:templatetopic|Main/CommentPluginExamples#TemplateTopic]].
-
-%X% Templates are picked up by following the [[standard TWiki rules|Main/TWikiTemplates#Finding_Templates]] for locating template files. Note that you can use `%TMPL:INCLUDE` to include other files of templates. %BR% %X% Note that from TWiki release 4.1.0 leading and trailing whitespace is no longer stripped. This means that when you upgrade to TWiki 4.1.X you may need to remove the first line break in your custom comment templates. See [[TWikiReleaseNotes04x01]] for more information.
-
-### <a name="Customisation example"></a> Customisation example
-
-Provide both a `PROMPT` and an `OUTPUT` definition:
-
-    %TMPL:DEF{PROMPT:myComment}%%TMPL:P{promptbox}%%TMPL:END%
-    %TMPL:DEF{OUTPUT:myComment}%%TMPL:P{outputoneliner}%%POS:TOP%
-    %TMPL:END%
-
-Call your custom comment with:
-
-    %COMMENT{type="myComment"}%
-
-### <a name="The &lt;code&gt;PROMPT&lt;/code&gt; template"></a> The `PROMPT` template
-
-The `PROMPT` template defines the contents of an HTML form that is used to capture the comment. This form invokes the comment generator when submitted. Parameters to the comment generator are defined using standard HTML input fields, such as `input`, `textarea` and `select`. The user enters values for these parameters, and these are then available when the `OUTPUT` template is expanded, in the form of `%URLPARAM%`s.
-
-Only the input fields of the form need be defined. The plugin automatically generates the `<form>` and `</form>` tags, unless you specify `noform="on"`, in which case you have to provide them yourself. **Note** that you must define a "submit" button if you want the form to work!
-
-<a name="MoreAttrs"></a>
-
-#### <a name="Providing attribute values"></a> Providing attribute values
-
-If an attribute is given to the `%COMMENT` tag that is not one of the [[standard attributes|Main/WebHome#StandardAttrs]], then that attribute is taken as the name of a parameter to be expanded in the `PROMPT` template. Expressions in the template of the form `%`_param_`|`_default_`%` (e.g. `%rows|3%`, `%button|Push me%`) are expanded to the values given in the `%COMMENT`. For example, if the `PROMPT` template 'example' contains:
-
-    <textarea rows=%rows|3% cols="%cols|50%" value="%tval|Rubbish%">
-
-and the %COMMENT tag is:
-
-    %COMMENT{type="example" cols="75"}%
-
-then the template will be expanded as
-
-    <textarea rows="3" cols="75" value="Rubbish">
-
-#### <a name="Special variables"></a> Special variables
-
-As well as support for all the usual TWiki variables in templates, the following special variables are supported in the `PROMPT` definition:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Variable </strong></th>
-    <th bgcolor="#99CCCC"><strong> Description </strong></th>
-  </tr>
-  <tr>
-    <td><code>%DISABLED%</code></td>
-    <td> Set to 'disabled' when you cannot comment (e.g. in preview mode). </td>
-  </tr>
-  <tr>
-    <td><code>%MESSAGE%</code></td>
-    <td> The text specified by <code>default</code>. This may be overridden by a helpful message when the prompt is DISABLED. </td>
-  </tr>
-</table>
-
-**EXPERT** Note that when a comment is saved, the TWiki `save` script is invoked on the target topic, with a number of parameters provided by the comment form. Normally the [[CommentPlugin]] will provide these fields in the form, but experts can also provide the fields themselves in order to get finer control over what is submitted, or you might want to define your own HTML forms that do comment submission. The parameters that the [[CommentPlugin]] recognises are as follows:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> CGI parameter </strong></th>
-    <th bgcolor="#99CCCC"><strong> Description </strong></th>
-  </tr>
-  <tr>
-    <td><code>comment_action</code></td>
-    <td> Must be <code>save</code> to get the [[Main/CommentPlugin]] to perform </td>
-  </tr>
-  <tr>
-    <td><code>comment_type</code></td>
-    <td> Type of the OUTPUT template </td>
-  </tr>
-  <tr>
-    <td><code>comment_index</code></td>
-    <td> Zero-based index of the %COMMENT in the source topic. Used to place a post relative to an existing %COMMENT. </td>
-  </tr>
-  <tr>
-    <td><code>comment_anchor</code></td>
-    <td> Anchor taken from the <code>target</code> spec </td>
-  </tr>
-  <tr>
-    <td><code>comment_location</code></td>
-    <td> As passed to %COMMENT </td>
-  </tr>
-  <tr>
-    <td><code>comment_nonotify</code></td>
-    <td> As passed to %COMMENT </td>
-  </tr>
-  <tr>
-    <td><code>comment_remove</code></td>
-    <td> Zero-based index of a %COMMENT to remove from the target topic </td>
-  </tr>
-  <tr>
-    <td><code>comment_nopost</code></td>
-    <td> As passed to %COMMENT </td>
-  </tr>
-  <tr>
-    <td><code>comment_templatetopic</code></td>
-    <td> As passed to %COMMENT </td>
-  </tr>
-</table>
-
-Note that `comment_location` overrides `comment_anchor`, and both override `comment_index`. Example, shows an "I Approve" button that adds your approval signature to the end of the topic:
-
-    <form method="post" action="%SCRIPTURL{save}%/%WEB%/%TOPIC%">
-    <input type="submit" value="I Approve" />
-    <input type="hidden" name="comment_action" value="save" />
-    <input type="hidden" name="comment_type" value="bottom" />
-    <input type="hidden" name="comment" value="I Approve" />
-    </form>
-
-#### <a name="Customisation example with custo"></a> Customisation example with custom form template
-
-Write a custom form in a topic.
-
-- In the form set the location of the prompt with `%COMMENTPROMPT%`; the prompt will be positioned here.
-- In %COMMENT use parameter `noform="on"`
-- In %COMMENT use parameter `templatetopic` to point to the topic with the form template
-
-Example form:
-
-    %TMPL:DEF{FORM:example}%
-    <form method="post" action="%SCRIPTURL{save}%/%BASEWEB%/%BASETOPIC%" enctype="application/x-www-form-urlencoded" name="examplecomment" id="examplecomment">
-    <input type="hidden" name="redirectto" value="%BASEWEB%.%BASETOPIC%" />
-    %COMMENTPROMPT%
-    </form>
-    %TMPL:END%
-
-Example comment:
-
-    %COMMENT{noform="on" type="example" templatetopic="Sandbox.CommentPluginTemplateExample" target="%TOPIC%" button="Add comment" }%
-
-### <a name="The &lt;code&gt;OUTPUT&lt;/code&gt; template"></a> The `OUTPUT` template
-
-The `OUTPUT` template defines the format for the text that actually gets embedded into the topic. All the usual TWiki variables are available in the `PROMPT` definition, but note that they get expanded _when the comment is inserted in the text_, so time, date and username will refer to the time and date when the comment was made, and the user who made it.
-
-There are also four position tags that are used to indicate where the comment should be placed, relative to the `location` defined in the `%COMMENT` tag:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td><code>%POS:TOP%</code></td>
-    <td> If present, comments will be inserted <strong>at the top of the topic</strong> i.e. before any other text </td>
-  </tr>
-  <tr>
-    <td><code>%POS:BOTTOM%</code></td>
-    <td> If present, comments will be inserted <strong>at the end of the topic</strong> i.e. after all existing text </td>
-  </tr>
-  <tr>
-    <td><code>%POS:BEFORE%</code></td>
-    <td> If present, comments will be inserted <b>immediately before the <code>%COMMENT%</code> tag</b></td>
-  </tr>
-  <tr>
-    <td><code>%POS:AFTER%</code></td>
-    <td> If present, comments will be inserted <b>immediately after the <code>%COMMENT%</code> tag</b></td>
-  </tr>
-</table>
-
-Note that these position tags are obviously mutually exclusive. If you define more than one, the result is undefined. If none is present, the default is taken from the plugin setting `DEFAULT_TYPE`
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td><code>%COMMENTPROMPT%</code></td>
-    <td> Use with a custom form. If present, the comment prompt will be positioned here. </td>
-  </tr>
-</table>
-
-All the usual [[TWikiVariables]] that can be used in a topic template can also be used in an `OUTPUT` template. See [[TWikiVariables]] for details.
-
-## <a name="Settings"></a> Settings
-
-Two TWiki Preference variables are recognised by the [[CommentPlugin]]:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Preference </strong></th>
-    <th bgcolor="#99CCCC"><strong> Default </strong></th>
-    <th bgcolor="#99CCCC"><strong> Description </strong></th>
-  </tr>
-  <tr>
-    <td><code>%COMMENTPLUGIN_TEMPLATES%</code></td>
-    <td><code>comments</code></td>
-    <td> Name of template file in the 'templates' directory that contains the comment templates. The default 'comments.tmpl' automatically includes user templates from [[TWiki/CommentPluginTemplate]], which in turn includes [[TWiki/UserCommentsTemplate]]. </td>
-  </tr>
-  <tr>
-    <td><code>%COMMENTPLUGIN_DEFAULT_TYPE%</code></td>
-    <td><code>above</code></td>
-    <td> Default template type </td>
-  </tr>
-</table>
-
-These can be set in TWikiPreferences, in WebPreferences or in individual topics.
-
-#Installation
-
-## <a name="Plugin Installation Instructions"></a> Plugin Installation Instructions
-
-- This plugin is pre-installed in most TWiki releases. However if you need to upgrade the plugin for any reason:
-- Download the archive file from the Plugin web (see below)
-- Unpack the archive in your twiki installation directory.
-  - You may need to correct file permissions
-- Run <code>**%TOPIC%\_installer**</code> to automatically check and install other modules that this module depends on, and enable the plugin.
-- Alternatively,
-  - Manually resolve the dependencies listed below. None
-- Use `configure` to enable the plugin
-
-Note that if you want to use the `action` template then you must also:
-
-1. Install the TWiki:Plugins/ActionTrackerPlugin;
-2. Put the CommentPlugin **before** the ActionTrackerPlugin in the `{PluginsOrder}` configuration option (in `configure`)
-
-## <a name="Plugin Info"></a> Plugin Info
-
-Another great TWiki extension from the [![](http://www.dementia.org/twiki//view/wikiringlogo20x20.png) **WikiRing** ](http://wikiring.com) - working together to improve your wiki experience!
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td align="right"> Plugin Author: </td>
-    <td> TWiki:Main.CrawfordCurrie <a href="http://www.c-dot.co.uk" target="_top">http://www.c-dot.co.uk</a> inspired by the work of TWiki:Main.DavidWeller and TWiki:Main.PeterMasiar </td>
-  </tr>
-  <tr>
-    <td align="right"> Plugin Version: </td>
-    <td> 03 Aug 2008 17791 (30 Mar 2009) </td>
-  </tr>
-  <tr>
-    <td align="right"> Change History: </td>
-    <td>   </td>
-  </tr>
-  <tr>
-    <td align="right"> 03 Aug 2008 </td>
-    <td> The TWiki 4.2.1 release version </td>
-  </tr>
-  <tr>
-    <td align="right"> 11 Apr 2008 </td>
-    <td> TWikibug:Item5518 corrected the template definition for bulletabove </td>
-  </tr>
-  <tr>
-    <td align="right"> 5 Sep 2007 </td>
-    <td> TWikibug:Item3689 corrected <code>location</code> handling TWikibug:Item4181 added [[Main/VarCOMMENT]] TWikibug:Item4402 corrected access check </td>
-  </tr>
-  <tr>
-    <td align="right"> 22 Jun 2007 </td>
-    <td> Removed the long-deprecated <code>%TIME</code> (use %GMTIME instead). Minor doc changes </td>
-  </tr>
-  <tr>
-    <td align="right"> 14021 </td>
-    <td> TWikibug:Item3755 Fixed incorrect handling of line terminators when targeting an anchor </td>
-  </tr>
-  <tr>
-    <td align="right"> 13311 </td>
-    <td> Added option to define a comment template in any topic. Pass the topic location with <code>templatetopic</code> (either <code>topic</code> or <code>web.topic</code>). See an example in [[Main/CommentPluginExamples#TemplateTopic]]. </td>
-  </tr>
-  <tr>
-    <td align="right"> 12822 </td>
-    <td> TWikibug:Item3598 minor doc fixes </td>
-  </tr>
-  <tr>
-    <td align="right"> 12750 </td>
-    <td> TWikibug:Item3510 added a note about the changed template spec in TWiki 4.1.0. Code remains unchanged </td>
-  </tr>
-  <tr>
-    <td align="right"> 11358 </td>
-    <td> TWikibug:Item2802 moved SHORTDESCRIPTION to .pm. Coded up TWiki:main.PankajPant's suggestions as <code>nopost</code> and <code>remove</code>. Added default text for the %COMMENT as requested by TWiki:Main.AndyGlew </td>
-  </tr>
-  <tr>
-    <td align="right"> 11118 </td>
-    <td> TWikibug:Item2322 removed span tag around oneliner bullet output </td>
-  </tr>
-  <tr>
-    <td align="right"> 8788 </td>
-    <td> TWikibug:Item1465 Item1577: reverted 8433 to fix inclusion of correct user templates </td>
-  </tr>
-  <tr>
-    <td align="right"> 8787 </td>
-    <td> TWikibug:Item1573 renamed standard templates topic to avoid naming clash on Windows, where filenames are case-insensitive </td>
-  </tr>
-  <tr>
-    <td align="right"> 8433 </td>
-    <td> TWikibug:Item1465 Fix 'TWiki.' to 'TWiki.'; also fixed include 'UserComments' to 'UserCommentsTemplate' (at least that is what the doc suggests) </td>
-  </tr>
-  <tr>
-    <td align="right"> 7427 </td>
-    <td> TWikibug:Item845 removed duplicate date in default comments; stick with server time </td>
-  </tr>
-  <tr>
-    <td align="right"> 7251 </td>
-    <td> TWikibug:Item810 fix for user template inclusion; reorganised templates to make customisation easier </td>
-  </tr>
-  <tr>
-    <td align="right"> 5906 </td>
-    <td> TWikibug:Item143 apache warning from comment plugin when CommentsTmpl.txt not found </td>
-  </tr>
-  <tr>
-    <td align="right"> 5519 </td>
-    <td> CommentPluginOnAnchorsBroken: incorporated JacobEisinger's fix </td>
-  </tr>
-  <tr>
-    <td align="right"> 5518 </td>
-    <td> CommentPluginOnAnchorsBroken: incorporated OlivierBerger's fix </td>
-  </tr>
-  <tr>
-    <td align="right"> 5455 </td>
-    <td> On Niels Kodslo's prompting, removed the global recursion prevention that I believe is no longer needed. </td>
-  </tr>
-  <tr>
-    <td align="right"> 5280 </td>
-    <td> Removed templates, and some minor fixes </td>
-  </tr>
-  <tr>
-    <td align="right"> 5250 </td>
-    <td> Removed newlines from prompt box </td>
-  </tr>
-  <tr>
-    <td align="right"> 4902 </td>
-    <td> Changed to use viewauth. Moved templates into user topics. </td>
-  </tr>
-  <tr>
-    <td align="right"> 4901 </td>
-    <td> Added templates in user webs support </td>
-  </tr>
-  <tr>
-    <td align="right"> 4897 </td>
-    <td> Fixes for disabling during preview; re-enabled old legacy parameters </td>
-  </tr>
-  <tr>
-    <td align="right"> 4889 </td>
-    <td> Chopped down from PeterMasiar version, removing several parameters, savecomment script, changing way templates are done. Major rewrite, atcherly. </td>
-  </tr>
-  <tr>
-    <td align="right"> 4882 </td>
-    <td> Update from PeterMasiar's 2.0 version, plus documentation and small code improvements. </td>
-  </tr>
-  <tr>
-    <td align="right"> 4745 </td>
-    <td> 06 Mar 2002 initial commit </td>
-  </tr>
-  <tr>
-    <td align="right"> Copyright: </td>
-    <td> © 2004, TWiki:Main.CrawfordCurrie<br />© 2004-2007 TWiki:TWiki.TWikiContributor </td>
-  </tr>
-  <tr>
-    <td align="right"> License: </td>
-    <td> GPL (<a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License</a>) </td>
-  </tr>
-  <tr>
-    <td align="right"> Plugin Home: </td>
-    <td> TWiki:Plugins/%TOPIC% </td>
-  </tr>
-  <tr>
-    <td align="right"> Feedback: </td>
-    <td> TWiki:Plugins/%TOPIC%Dev </td>
-  </tr>
-</table>
-
-**_Related Topics:_** [[TWikiPreferences]], [[TWikiPlugins]]
diff --git a/TWiki/CommentPluginExamples.mdwn b/TWiki/CommentPluginExamples.mdwn
deleted file mode 100644 (file)
index 3ee7602..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-- Top comment output 2 -- [[TWikiContributor]] - 26 Nov 2006
-- Top comment output 1 -- [[TWikiContributor]] - 26 Nov 2006
-
-# <a name="CommentPlugin examples"></a><a name=" _CommentPlugin examples"></a> [[CommentPlugin]] examples
-
-<div>
-  <ul>
-    <li><a href="#!_CommentPlugin templates"> CommentPlugin templates</a><ul>
-        <li><a href="#Default"> Default</a></li>
-        <li><a href="#=top="> top</a></li>
-        <li><a href="#=bottom="> bottom</a></li>
-        <li><a href="#=above="> above</a></li>
-        <li><a href="#=below="> below</a></li>
-        <li><a href="#=bulletabove="> bulletabove</a></li>
-        <li><a href="#=threadmode="> threadmode</a></li>
-        <li><a href="#=belowthreadmode="> belowthreadmode</a><ul>
-            <li><a href="#Main._TWikiContributor - 26 Nov"> TWikiContributor - 26 Nov 2006 - 12:09</a></li>
-            <li><a href="#Main._TWikiContributor - 26 Nov"> TWikiContributor - 26 Nov 2006 - 12:09</a></li>
-          </ul>
-        </li>
-        <li><a href="#=tableprepend="> tableprepend</a></li>
-        <li><a href="#=tableappend="> tableappend</a></li>
-        <li><a href="#=after="> after</a></li>
-        <li><a href="#=action="> action</a></li>
-        <li><a href="#=table="> table</a></li>
-        <li><a href="#=toctalk="> toctalk</a><ul>
-            <li><a href="#26 Nov 2006 - 00:45 Main._TWikiC"> 26 Nov 2006 - 00:45 TWikiContributor: Toctalk output summary 1</a></li>
-            <li><a href="#26 Nov 2006 - 11:09 Main._TWikiC"> 26 Nov 2006 - 11:09 TWikiContributor: Toctalk output summary 2</a></li>
-          </ul>
-        </li>
-        <li><a href="#=bookmark="> bookmark</a></li>
-        <li><a href="#=return="> return</a></li>
-        <li><a href="#=noform="> noform</a></li>
-        <li><a href="#=templatetopic="> templatetopic</a></li>
-      </ul>
-    </li>
-  </ul>
-</div>
-
-## <a name="CommentPlugin templates"></a><a name="_CommentPlugin templates"></a> CommentPlugin templates
-
-### <a name="Default"></a> Default
-
-Default comment output 1
-
--- [[TWikiContributor]] - 26 Nov 2006
-
-Default comment output 2
-
--- [[TWikiContributor]] - 26 Nov 2006
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="above0" method="post" name="above0"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="above" /><input name="comment_index" type="hidden" value="0" /></form>
-
-### <a name="=top="></a> `top`
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="top1" method="post" name="top1"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="top" /><input name="comment_index" type="hidden" value="1" /></form>
-
-### <a name="=bottom="></a> `bottom`
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="bottom2" method="post" name="bottom2"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="bottom" /><input name="comment_index" type="hidden" value="2" /></form>
-
-### <a name="=above="></a> `above`
-
-Above comment output 1
-
--- [[TWikiContributor]] - 26 Nov 2006
-
-Above comment output 2
-
--- [[TWikiContributor]] - 26 Nov 2006
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="above3" method="post" name="above3"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="above" /><input name="comment_index" type="hidden" value="3" /></form>
-
-### <a name="=below="></a> `below`
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="below4" method="post" name="below4"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="below" /><input name="comment_index" type="hidden" value="4" /></form>
-
-- Below comment output 2 -- [[TWikiContributor]] - 26 Nov 2006
-- Below comment output 1 -- [[TWikiContributor]] - 26 Nov 2006
-
-### <a name="=bulletabove="></a> `bulletabove`
-
-Example with `inputsize="20"`:
-
-- Bullet above comment output 1
-- Bullet above comment output 2
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="bulletabove5" method="post" name="bulletabove5"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="bulletabove" /><input name="comment_index" type="hidden" value="5" /></form>
-
-### <a name="=threadmode="></a> `threadmode`
-
-Threadmode comment output 1
-
--- [[TWikiContributor]] - 26 Nov 2006
-
-Threadmode comment output 2
-
--- [[TWikiContributor]] - 26 Nov 2006
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="threadmode6" method="post" name="threadmode6"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="threadmode" /><input name="comment_index" type="hidden" value="6" /></form>
-
-### <a name="=belowthreadmode="></a> `belowthreadmode`
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="belowthreadmode7" method="post" name="belowthreadmode7"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="belowthreadmode" /><input name="comment_index" type="hidden" value="7" /></form>
-
-#### <a name="Main._TWikiContributor - 26 Nov"></a><a name="Main._TWikiContributor - 26 Nov "></a> [[TWikiContributor]] - 26 Nov 2006 - 12:09
-
-Belowthreadmode comment output 2
-
-#### <a name="Main._TWikiContributor - 26 Nov"></a><a name="Main._TWikiContributor - 26 Nov "></a> [[TWikiContributor]] - 26 Nov 2006 - 12:09
-
-Belowthreadmode comment output 1
-
-### <a name="=tableprepend="></a> `tableprepend`
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="tableprepend8" method="post" name="tableprepend8"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="tableprepend" /><input name="comment_index" type="hidden" value="8" /></form>
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td> Tablepreprend comment output 2 </td>
-    <td>[[Main/TWikiContributor]]</td>
-    <td> 26 Nov 2006 - 11:03 </td>
-  </tr>
-  <tr>
-    <td> Tablepreprend comment output 1 </td>
-    <td>[[Main/TWikiContributor]]</td>
-    <td> 26 Nov 2006 - 11:02 </td>
-  </tr>
-</table>
-
-### <a name="=tableappend="></a> `tableappend`
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td> Tableappend comment output 1 </td>
-    <td>[[Main/TWikiContributor]]</td>
-    <td> 26 Nov 2006 - 10:38 </td>
-  </tr>
-  <tr>
-    <td> Tableappend comment output 2 </td>
-    <td>[[Main/TWikiContributor]]</td>
-    <td> 26 Nov 2006 - 10:39 </td>
-  </tr>
-</table>
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="tableappend9" method="post" name="tableappend9"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="tableappend" /><input name="comment_index" type="hidden" value="9" /></form>
-
-### <a name="=after="></a> `after`
-
-- After comment output 1 -- [[TWikiContributor]] - 26 Nov 2006
-- After comment output 2 -- [[TWikiContributor]] - 26 Nov 2006
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="after10" method="post" name="after10"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="after" /><input name="comment_index" type="hidden" value="10" /></form>
-
-### <a name="=action="></a> `action`
-
-(requires TWiki:Plugins/ActionTrackerPlugin)
-
-%ACTION\{ due="1-Dec-2007" creator="Main.TWikiContributor" uid="000001" state="open" created="26-Nov-2006" who="Main.TWikiContributor" \}% &lt;&lt;EOF Action comment output 1 - Created by [[TWikiContributor]], 26 Nov 2006 - 10:58 EOF %ACTION\{ due="1-Jan-2008" creator="Main.TWikiContributor" uid="000003" state="open" created="26-Nov-2006" who="Main.TWikiContributor" \}% &lt;&lt;EOF Action comment output 2 - Created by [[TWikiContributor]], 26 Nov 2006 - 10:58 EOF
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="action11" method="post" name="action11"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="action" /><input name="comment_index" type="hidden" value="11" /></form>
-
-### <a name="=table="></a> `table`
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td> 1 Dec 2007 </td>
-    <td>[[Main/TWikiContributor]]</td>
-    <td> Athens </td>
-  </tr>
-  <tr>
-    <td> 1 Jan 2008 </td>
-    <td>[[Main/TWikiContributor]]</td>
-    <td> Beijing </td>
-  </tr>
-</table>
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="table12" method="post" name="table12"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="table" /><input name="comment_index" type="hidden" value="12" /></form>
-
-### <a name="=toctalk="></a> `toctalk`
-
-#### <a name="26 Nov 2006 - 00:45 Main._TWikiC"></a> 26 Nov 2006 - 00:45 [[TWikiContributor]]: Toctalk output summary 1
-
-Toctalk output message 1
-
-#### <a name="26 Nov 2006 - 11:09 Main._TWikiC"></a> 26 Nov 2006 - 11:09 [[TWikiContributor]]: Toctalk output summary 2
-
-Toctalk output message 2
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="toctalk13" method="post" name="toctalk13"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="toctalk" /><input name="comment_index" type="hidden" value="13" /></form>
-
-### <a name="=bookmark="></a> `bookmark`
-
-- [Bookmark output link label](http://twiki.org)
-- [TWiki](http://twiki.org) - Bookmark output comment
-
-<form action="http://www.dementia.org/twiki/save" enctype="multipart/form-data" id="bookmark14" method="post" name="bookmark14"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="bookmark" /><input name="comment_index" type="hidden" value="14" /></form>
-
-### <a name="=return="></a> `return`
-
-Post to a different topic and return to here. In this example comments are written to [[%COMMENT_TOPIC%|Main/COMMENT_TOPIC]]. %RED% Available with TWiki 4.1. %ENDCOLOR%
-
-_Comments:_
-
->
-
-----
-
-<form action="http://www.dementia.org/twiki/save/Main/%COMMENT_TOPIC%" enctype="multipart/form-data" id="return15" method="post" name="return15"><input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="return" /><input name="comment_index" type="hidden" value="15" /></form>
-
-%BR%
-
-### <a name="=noform="></a> `noform`
-
-Example of a custom form to save a comment to a new topic. When the topic is created the parent will be our Sandbox [[example topic|Sandbox/CommentPluginExampleComments]].
-
-<form action="http://www.dementia.org/twiki/save/Sandbox/" enctype="application/x-www-form-urlencoded" id="noformcomment0" method="post" name="noformcomment0"><input name="topicparent" type="hidden" value="CommentPluginExampleComments" /> <input name="comment_action" type="hidden" value="save" /> <input name="nonwikiword" type="hidden" value="off" /> <input name="onlywikiname" type="hidden" value="on" /><div>
-    <div><strong>New topic name:</strong> %BR% <input %disabled%="%DISABLED%" id="topic" name="topic" size="40" type="text" value="" /> <span>Enter a WikiWord topic name</span></div>
-    <div><strong>Topic text:</strong> %BR% <input name="comment_action" type="hidden" value="save" /><input name="comment_type" type="hidden" value="above" /><input name="comment_index" type="hidden" value="16" /></div>
-  </div>
-</form>
-
-<a name="TemplateTopic"></a>
-
-### <a name="=templatetopic="></a> `templatetopic`
-
-Example of a form definition in a topic. The comment template is located in [[CommentPluginTemplateExample]].
-
-<a name="CommentDate1176024819"></a> [[TWikiContributor]] - 08 Apr 2007:
-
-templatetopic example comment output 1
-
-----
-
-<input name="comment_action" type="hidden" value="save" />
-<input name="comment_type" type="hidden" value="example" />
-<input name="comment_index" type="hidden" value="17" />
-
-----
-
-- Bottom comment output 1 -- [[TWikiContributor]] - 26 Nov 2006
-- Bottom comment output 2 -- [[TWikiContributor]] - 26 Nov 2006
diff --git a/TWiki/CommentPluginTemplate.mdwn b/TWiki/CommentPluginTemplate.mdwn
deleted file mode 100644 (file)
index e6694ef..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-# <a name="Templates for _CommentPlugin"></a><a name=" Templates for _CommentPlugin"></a> Templates for [[CommentPlugin]]
-
-See [[CommentPlugin: Customisation|TWiki/CommentPlugin#Customisation]] for help.
-
-While this topic can be viewed as a TWiki topic, it is used by the [[CommentPlugin]] as a template file - see [[TWikiTemplates]]. The important content in here is in the verbatim blocks. The rest of the topic is just comments.
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See [[CommentPluginExamples]] to view rendered templates
-
-<div style="background-color: #ffc">WARNING: THIS FILE WILL BE OVERWRITTEN WHEN YOU UPGRADE THE COMMENT PLUGIN</div>
-
-Put your local templates into [[UserCommentsTemplate]] (create if it does not exist yet). **Local templates defined in that topic will override templates defined below.**
-
-<div><span>Table of Contents</span><ul>
-    <li><a href="#Template definitions"> Template definitions</a><ul>
-        <li><a href="#Templates used in rest of file"> Templates used in rest of file</a></li>
-        <li><a href="#User templates"> User templates</a><ul>
-            <li><a href="#top"> top</a></li>
-            <li><a href="#bottom"> bottom</a></li>
-            <li><a href="#above"> above</a></li>
-            <li><a href="#bulletabove"> bulletabove</a></li>
-            <li><a href="#threadmode"> threadmode</a></li>
-            <li><a href="#belowthreadmode"> belowthreadmode</a></li>
-            <li><a href="#below"> below</a></li>
-            <li><a href="#tableprepend"> tableprepend</a></li>
-            <li><a href="#tableappend"> tableappend</a></li>
-            <li><a href="#after: Add before the comment bo"> after: Add before the comment box, after the last comment</a></li>
-            <li><a href="#action"> action</a></li>
-            <li><a href="#table"> table</a></li>
-            <li><a href="#toctalk"> toctalk</a></li>
-            <li><a href="#bookmark"> bookmark</a></li>
-            <li><a href="#return"> return</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-    <li><a href="#Include _UserComments"> Include UserComments</a></li>
-  </ul>
-</div>
-
-## <a name="Template definitions"></a> Template definitions
-
-### <a name="Templates used in rest of file"></a> Templates used in rest of file
-
-Generic prompt box used by other templates
-
-    %TMPL:DEF{promptbox}%<div class="commentPlugin commentPluginPromptBox"><table border="0" cellpadding="0" cellspacing="0"><tr valign="middle"><td><textarea %DISABLED% rows="%rows|3%" cols="%cols|70%" name="comment" class="twikiInputField" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea></td><td>&nbsp;<input %DISABLED% type="submit" value="%button|Add comment%" class="twikiButton" /></td></tr></table></div><!--/commentPlugin-->%TMPL:END%
-
-Short comment, signed and dated
-
-    %TMPL:DEF{outputoneliner}%   * %URLPARAM{"comment"}% -- %WIKIUSERNAME% - %GMTIME{"$day $month $year"}%%TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[Default|Main/CommentPluginExamples#Default]]
-
-### <a name="User templates"></a> User templates
-
-#### <a name="top"></a> top
-
-Comments, signed and dated, added at top of file
-
-    %TMPL:DEF{PROMPT:top}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:top}%%TMPL:P{outputoneliner}%%POS:TOP%
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[top|Main/CommentPluginExamples#top]]
-
-#### <a name="bottom"></a> bottom
-
-Comments, signed and dated, added at end of file
-
-    %TMPL:DEF{PROMPT:bottom}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:bottom}%%POS:BOTTOM%%TMPL:P{outputoneliner}%%TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[bottom|Main/CommentPluginExamples#bottom]]
-
-#### <a name="above"></a> above
-
-Comments, signed and dated, added immediately before anchor
-
-    %TMPL:DEF{PROMPT:above}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:above}%%POS:BEFORE%%TMPL:P{OUTPUT:threadmode}%%TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[above|Main/CommentPluginExamples#above]]
-
-#### <a name="bulletabove"></a> bulletabove
-
-Bullet item added immediately before anchor. The input field width is passed with variable `inputsize`, for example:
-
-> %COMMENT{type="bulletabove" inputsize="20"}%
-
-    %TMPL:DEF{PROMPT:bulletabove}%<input class="twikiInputField" name="bullet_above_item" id="bullet_above_item" type="text" size="%inputsize|40%" value="%URLPARAM{"bullet_above_item"}%" />&nbsp;<input %DISABLED% type="submit" value="%button|Add item%" class="twikiButton" />%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:bulletabove}%   * %URLPARAM{"bullet_above_item"}%%POS:BEFORE%
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[bulletabove|Main/CommentPluginExamples#bulletabove]]
-
-#### <a name="threadmode"></a> threadmode
-
-Wiki thread mode comment, signed and dated
-
-    %TMPL:DEF{PROMPT:threadmode}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:threadmode}%%POS:BEFORE%
-
-    %URLPARAM{"comment"}%
-
-    -- %WIKIUSERNAME% - %DATE%
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[threadmode|Main/CommentPluginExamples#threadmode]]
-
-#### <a name="belowthreadmode"></a> belowthreadmode
-
-Comments, signed and dated, added recurse after comment box.
-
-    %TMPL:DEF{PROMPT:belowthreadmode}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:belowthreadmode}%%POS:AFTER%
-    ---++++ %WIKIUSERNAME% - %SERVERTIME%
-
-    %URLPARAM{"comment"}%
-
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[belowthreadmode|Main/CommentPluginExamples#belowthreadmode]]
-
-#### <a name="below"></a> below
-
-Comments, signed and dated, added immediately below anchor
-
-    %TMPL:DEF{PROMPT:below}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:below}%%POS:AFTER%%TMPL:P{outputoneliner}%
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[below|Main/CommentPluginExamples#below]]
-
-#### <a name="tableprepend"></a> tableprepend
-
-Comments, signed and dated, added at top of table below the anchor/location/COMMENT
-
-    %TMPL:DEF{PROMPT:tableprepend}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:tableprepend}%%POS:AFTER%| %URLPARAM{"comment" newline="<br />"}% | %WIKIUSERNAME% | %SERVERTIME% |
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[tableprepend|Main/CommentPluginExamples#tableprepend]]
-
-#### <a name="tableappend"></a> tableappend
-
-Comments, signed and dated, added at end of table above the anchor/location/COMMENT
-
-    %TMPL:DEF{PROMPT:tableappend}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:tableappend}%%POS:BEFORE%| %URLPARAM{"comment" newline="<br />"}% | %WIKIUSERNAME% | %SERVERTIME% |
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[tableappend|Main/CommentPluginExamples#tableappend]]
-
-#### <a name="after: Add before the comment bo"></a> after: Add before the comment box, after the last comment
-
-    %TMPL:DEF{PROMPT:after}%%TMPL:P{promptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:after}%%NOP%%TMPL:P{outputoneliner}%
-    %POS:BEFORE%%TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[after|Main/CommentPluginExamples#after]]
-
-#### <a name="action"></a> action
-
-Action added to action table directly above comment box (requires TWiki:Plugins/ActionTrackerPlugin)
-
-    %TMPL:DEF{PROMPT:action}%
-
-    %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}%
-    |        <label for="action_who">Action for</label>| <input class="twikiInputField" name="action_who" id="action_who" type="text" size="50" value="%URLPARAM{"who"}%" /> |
-    | <label for="action_due">Due date</label>| <input class="twikiInputField" name="action_due" id="action_due" type="text" size="30" value="%URLPARAM{"due"}%" /> |
-    |    <label for="action_comment">Comment</label>| <textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="action_comment" id="action_comment" class="twikiInputField" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea> |
-    || <input %DISABLED% type="submit" class="twikiButton" value="Add action" /> |
-    %TMPL:END%
-
-    %TMPL:DEF{OUTPUT:action}%%POS:BEFORE%%AC%NOP%TION{who="%URLPARAM{"action_who"}%" due="%URLPARAM{"action_due"}%"}% %URLPARAM{"action_comment" newline="<br />"}%<br />- Created by %WIKIUSERNAME%, %SERVERTIME%
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[action|Main/CommentPluginExamples#action]]
-
-#### <a name="table"></a> table
-
-Tablerows adding on end - TWiki:Main/FranzJosefSilli
-
-    %TMPL:DEF{PROMPT:table}%
-    %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}%
-    |        <label for="comment_date">Date</label>| <input class="twikiInputField" %DISABLED% type="text" size="40" name="comment_date" id="comment_date" /> |
-    |        <label for="comment_city">City</label>| <input class="twikiInputField" %DISABLED% type="text" size="40" name="comment_city" id="comment_city" value="" /> |
-    || <input %DISABLED% type="submit" class="twikiButton" value="%button|Add entry%" /> |
-    %TMPL:END%
-
-    %TMPL:DEF{OUTPUT:table}%%POS:BEFORE%| %URLPARAM{"comment_date"}% | %WIKIUSERNAME% | %URLPARAM{"comment_city" }% |
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[table|Main/CommentPluginExamples#table]]
-
-#### <a name="toctalk"></a> toctalk
-
-Talk using TOC adding on end - TWiki:Main/FranzJosefSilli
-
-    %TMPL:DEF{PROMPT:toctalk}%
-    %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}%
-    |        <label for="comment_summary">Summary</label>| <input class="twikiInputField" %DISABLED% type="text" size="40" name="comment_summary" id="comment_summary" /> |
-    |        <label for="toctalk_comment_text">Message</label>| <textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="toctalk_comment_text" id="toctalk_comment_text" class="twikiInputField" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea> |
-    || <input %DISABLED% type="submit" value="%button|Add%" class="twikiButton" /> |
-    %TMPL:END%
-
-    %TMPL:DEF{OUTPUT:toctalk}%
-    %POS:BEFORE%---++++ %SERVERTIME% %WIKIUSERNAME%: %URLPARAM{"comment_summary"}%
-    %POS:BEFORE%%URLPARAM{"toctalk_comment_text" }%
-    %POS:BEFORE%
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[toctalk|Main/CommentPluginExamples#toctalk]]
-
-#### <a name="bookmark"></a> bookmark
-
-Create a list of annotated bookmarks - TWiki:Main/FranzJosefSilli
-
-    %TMPL:DEF{PROMPT:bookmark}%
-    %TABLE{databg="#ffffff" tableborder="0" cellborder="0"}%
-    |        <label for="comment_url">Url</label>| <input class="twikiInputField" %DISABLED% type="text" size="40" name="comment_url" id="comment_url" value="http://" /> |
-    | <label for="comment_link">Link label</label>| <input class="twikiInputField" %DISABLED% type="text" size="40" name="comment_link" id="comment_link" /> |
-    |    <label for="bookmark_comment_text">Comment</label>| <input class="twikiInputField" %DISABLED% type="text" size="40" name="bookmark_comment_text" id="bookmark_comment_text" value="%MESSAGE%" /> |
-    || <input %DISABLED% type="submit" value="%button|Add bookmark%" class="twikiButton" /> |
-    %TMPL:END%
-
-    %TMPL:DEF{OUTPUT:bookmark}%%POS:BEFORE%   * [[%URLPARAM{"comment_url" encode="entity"}%][%URLPARAM{"comment_link" encode="entity"}%]] %IF{" '%URLPARAM{"bookmark_comment_text" encode="entity"}%' = '' " then="" else="- "}%%URLPARAM{"bookmark_comment_text" encode="entity"}%
-    %TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[bookmark|Main/CommentPluginExamples#bookmark]]
-
-#### <a name="return"></a> return
-
-Post to a different topic and return to here. The comment `target` is set in the `PROMPT`. In the form below the `redirectto` is set to the current (including) topic. %RED% Available with TWiki 4.1. %ENDCOLOR%
-
-    %TMPL:DEF{returnpromptbox}%
-    <input type="hidden" name="redirectto" value="%BASEWEB%.%BASETOPIC%" />
-    %TMPL:P{promptbox}%
-    %TMPL:END%
-
-    %TMPL:DEF{PROMPT:return}%%TMPL:P{returnpromptbox}%%TMPL:END%
-
-    %TMPL:DEF{OUTPUT:return}%%POS:BEFORE%%TMPL:P{OUTPUT:threadmode}%%TMPL:END%
-
-<img src="http://www.dementia.org/twiki//view/Main/WebHome/hand.gif" width="16" height="16" alt="hand" /> See rendered template [[return|Main/CommentPluginExamples#return]]
-
-## <a name="Include _UserComments"></a> Include UserComments
-
-Including [[UserComments]]:
-
-%TMPL:INCLUDE\{"UserComments"\}%
diff --git a/TWiki/DeleteOrRenameATopic.mdwn b/TWiki/DeleteOrRenameATopic.mdwn
deleted file mode 100644 (file)
index c085dbd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-## <a name="FAQ:"></a> FAQ:
-
-How do I delete or rename a topic?
-
-## <a name="Answer:"></a> Answer:
-
-These two questions are answered together because often when you think you want to delete a page, more often it makes sense to rename the page to contain more context, e.g. rename it to include the date.
-
-You can rename, move and delete topics directly from your browser. Moving lets you transfer a topic from one web to another. The soft delete moves a topic to the special <code>**Trash**</code> web, where it's hidden but can be "undeleted" with system administrator access.
-
-Click <code>**[More]**</code> on the control bar at the bottom of the page you want to change, then choose <code>**[Rename/move]**</code>, and make your changes to that screen. There's a link that launches to the [[ManagingTopics]] reference page in a pop-up window.
-
-**_NOTE:_** The configuration of your site and your own access permissions determine whether you can access these functions.
-
-Note for site administrators: To remove a topic permanently move it to the Trash web, then with file-level access, delete the `.txt` and `.txt,v` files manually from `/twiki/data/Trash`.
-
-**_Back to:_** [[TWikiFAQ]]
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/DeleteOrRenameAnAttachment.mdwn b/TWiki/DeleteOrRenameAnAttachment.mdwn
deleted file mode 100644 (file)
index 9c1bde3..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-## <a name="FAQ:"></a> FAQ:
-
-How do I delete or rename a file attachment?
-
-## <a name="Answer:"></a> Answer:
-
-You can move and delete attachments directly from your browser. Moving lets you transfer an attachment from one topic to another. The soft delete moves an attachment to the special <code>**TrashAttachment**</code> topic in the <code>**Trash**</code> web, where it's hidden but can be "undeleted" with system administrator access. Please note that you cannot rename an attachment in the current TWiki release.
-
-Click on <code>**action**</code> on the file in the [[FileAttachment]] table, then in the **Update attachment** screen choose <code>**[Move attachment]**</code>, and make your changes to that screen.
-
-**_NOTE:_** The configuration of your site and your own access permissions determine whether you can access these functions.
-
-Note for system administrators: To remove an attachment permanently move it to the Trash.TrashAttachment topic, then with file-level access, delete the file attachment and its `,v` repository file manually from `twiki/pub/Trash/TrashAttachment`.
-
-**_Back to:_** [[TWikiFAQ]]
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/DeveloperDocumentationCategory.mdwn b/TWiki/DeveloperDocumentationCategory.mdwn
deleted file mode 100644 (file)
index 3a43f4c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# <a name="A List of TWiki Developer Docume"></a> A List of TWiki Developer Documentation
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
diff --git a/TWiki/DontNotify.mdwn b/TWiki/DontNotify.mdwn
deleted file mode 100644 (file)
index 186834b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Use the "Minor changes, don't notify" checkbox in preview in case you only make a minor change to a topic and you do not want to inform everybody who is on the [[WebNotify]] list of the current web of this change.
-
-**_Note:_** No new revision is created in case you save the same topic again within a certain time frame (default is one hour). You only need to checkmark the "Minor change, don't notify" checkbox once within this time frame, because subsequent save operations do not notify users.
-
-**_Note:_** The initial state of the checkbox can be set to on with the `DONTNOTIFYCHECKBOX` preferences variable. See [[TWikiPreferences]] for more.
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/EditDoesNotIncreaseTheRevision.mdwn b/TWiki/EditDoesNotIncreaseTheRevision.mdwn
deleted file mode 100644 (file)
index 33c84ab..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-## <a name="FAQ:"></a> FAQ:
-
-Why does the topic revision not increase when I edit a topic?
-
-## <a name="Answer:"></a> Answer:
-
-The same topic revision will be used when you save a topic again within a certain time frame (one hour by default, configurable with configure item `{ReplaceIfEditedAgainWithin}`). This is to prevent unnecessary topic revisions when you do several edit cycles in a row. Note that a new revision **_is_** created if another person edits the same topic, regardless of the time.
-
-**_Back to:_** [[TWikiFAQ]]
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/EditTablePlugin.mdwn b/TWiki/EditTablePlugin.mdwn
deleted file mode 100644 (file)
index d96c2a0..0000000
+++ /dev/null
@@ -1,473 +0,0 @@
-# <a name="Edit Table Plugin"></a><a name=" Edit Table Plugin"></a> Edit Table Plugin
-
-Edit TWiki tables in place, using edit fields and drop down boxes, without having to edit the complete topic.
-
-Simply add an **[ Edit table ]** button to an existing table by writing `%EDITTABLE{}%` directly above the table. This can be added to tables that are formatted with [[TablePlugin]]: add the `EDITTABLE` variable just above or below the `TABLE` tag. It can also be used without any `TABLE` tag.
-
-Customize entry fields by specifying the format: use a text field, a drop down box, a date field, radio buttons or checkboxes.
-
-Multiple tables per topic are editable, but only one at a time can be edited.
-
-<div>
-  <ul>
-    <li><a href="#Per Table Settings"> Per Table Settings</a><ul>
-        <li><a href="#Using TWiki Variables in the For"> Using TWiki Variables in the Format Parameter</a></li>
-        <li><a href="#Date Field Type"> Date Field Type</a></li>
-      </ul>
-    </li>
-    <li><a href="#Per Cell Settings"> Per Cell Settings</a></li>
-    <li><a href="#Table Buttons"> Table Buttons</a></li>
-    <li><a href="#Examples"> Examples</a></li>
-    <li><a href="#Plugin Settings"> Plugin Settings</a></li>
-    <li><a href="#Limitations and Known Issues"> Limitations and Known Issues</a></li>
-    <li><a href="#Installation Instructions"> Installation Instructions</a></li>
-    <li><a href="#License"> License</a></li>
-    <li><a href="#Plugin Info"> Plugin Info</a></li>
-  </ul>
-</div>
-
-## <a name="Per Table Settings"></a> Per Table Settings
-
-Add a `%EDITTABLE{...}%` variable just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table.
-
-### <a name="Using TWiki Variables in the For"></a> Using TWiki Variables in the Format Parameter
-
-By default, variables in `<initial value>` (of text input field) and `<label text>` (of fixed label) get expanded when a new row is added. This can be used for example to add a timestamp to a label. You can escape characters with format tokens if you do not want that.
-
-Any TWiki variable inside a table cell will be preserved. For instance, `%TOPIC%` will not get expanded to the current topic name.
-
-The format tokens are the same as with [[FormattedSearch]]:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Escape: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Expands To: </strong></th>
-  </tr>
-  <tr>
-    <td><code>$n</code> or <code>$n()</code></td>
-    <td> New line. Use <code>$n()</code> if followed by alphanumeric character, e.g. write <code>Foo$n()Bar</code> instead of <code>Foo$nBar</code></td>
-  </tr>
-  <tr>
-    <td><code>$nop</code> or <code>$nop()</code></td>
-    <td> Is a "no operation". </td>
-  </tr>
-  <tr>
-    <td><code>$quot</code></td>
-    <td> Double quote (<code>"</code>) </td>
-  </tr>
-  <tr>
-    <td><code>$percnt</code></td>
-    <td> Percent sign (<code>%</code>) </td>
-  </tr>
-  <tr>
-    <td><code>$dollar</code></td>
-    <td> Dollar sign (<code>$</code>) </td>
-  </tr>
-</table>
-
-<a name="DateField"></a>
-
-### <a name="Date Field Type"></a> Date Field Type
-
-<img src="http://www.dementia.org/twiki//view/EditTablePluginCalendarExample.gif" width="638" height="250" alt="Edit Table Calendar Example" />
-
-The `date` field type allows one to choose a date with a popup calendar. Popup calendar works with all modern browsers. The date picker button is inactive if the browser cannot support the popup calendar or if javascript is disabled.
-
-## <a name="Per Cell Settings"></a> Per Cell Settings
-
-An individual edit field type can be defined for each table cell. Place an `%EDITCELL{ "type, ..." }%` variable at the end of the cell content. This is useful to override the per column `%EDITTABLE{ format="..." }%` settings, or to create tables with key/value rows. All edit field types of the `format="..."` parameter are supported. For example, to define a text field, type: `| cell content %EDITCELL{ "text, 20" }% |`
-
-It is also possible to place the edit button inside a cell instead of default location below the table. Type `| %EDITCELL{ "editbutton, 1, Edit this table" }% |` to show a button, or `| %EDITCELL{ "editbutton, 1, Edit table, Image-URL" }% |` to show a button image with alternate text.
-
-**_Note:_** The `%EDITCELL{ }%=variable cannot be used by itself; place an =%EDITTABLE{ }%=variable at the beginning of a table where you want to use =%EDITCELL{ }%` variables.
-
-## <a name="Table Buttons"></a> Table Buttons
-
-<form>
-  <ul>
-    <li> In page view mode: <ul>
-        <li><input name="et" onclick="return(false);" type="submit" value="Edit table" /> - turn the table into edit mode </li>
-      </ul>
-    </li>
-    <li> In edit mode: <ul>
-        <li><input name="etsave" onclick="return(false);" type="submit" value="Save table" /> - save your changes </li>
-        <li><input name="etqsave" onclick="return(false);" type="submit" value="Quiet save" /> - save your changes without alerting subscribed [[Main/WebNotify]] users </li>
-        <li><input name="etaddrow" onclick="return(false);" type="submit" value="Add row" /> - add row to the table (if enabled) </li>
-        <li><input name="etdelrow" onclick="return(false);" type="submit" value="Delete last row" /> - remove last row from the table (if enabled) </li>
-        <li><input name="etcancel" onclick="return(false);" type="submit" value="Cancel" /> - cancel without saving and release edit lock </li>
-        <li><img src="http://www.dementia.org/twiki//view/btn_move.gif" /> - Move a row by clicking this button next to the row to be moved, then at a destination. </li>
-        <li><img src="http://www.dementia.org/twiki//view/btn_delete.gif" /> - Deletes the row next to this button. </li>
-      </ul>
-    </li>
-  </ul>
-</form>
-
-## <a name="Examples"></a> Examples
-
-Line before table: `%EDITTABLE{ format="| row, -1 | text, 20, init | select, 1, one, two, three, four | radio, 3,:-),:-I,:-( | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%` <a name="edittable1"></a>
-
-<div>
-  <form action="http://www.dementia.org/twiki/viewauth#edittable1" method="post" name="edittable1"><input name="ettablenr" type="hidden" value="1" /> <input name="etedit" type="hidden" value="on" /><table border="1" cellpadding="0" cellspacing="0">
-      <tr>
-        <th bgcolor="#99CCCC"><strong> Nr </strong></th>
-        <th bgcolor="#99CCCC"><strong> Text field </strong></th>
-        <th bgcolor="#99CCCC"><strong> Drop down </strong></th>
-        <th bgcolor="#99CCCC"><strong> Mood </strong></th>
-        <th bgcolor="#99CCCC"><strong> Timestamp </strong></th>
-      </tr>
-      <tr>
-        <td> 1 </td>
-        <td> hello table </td>
-        <td> one </td>
-        <td> :-) </td>
-        <td> 26 Jun 2002 12:30 </td>
-      </tr>
-      <tr>
-        <td> 2 </td>
-        <td>   </td>
-        <td> two </td>
-        <td> :-( </td>
-        <td> 27 Jun 2002 12:40 </td>
-      </tr>
-    </table><input name="etrows" type="hidden" value="3" /> <input type="submit" value="Edit table" /></form>
-</div>
-
-%RED% **_Note:_** Please do not save this example table! Use TWiki:Sandbox.EditTablePluginTesting if you want to try out this Plugin %ENDCOLOR%
-
-If this plugin is installed you will see an **[ Edit table ]** button above; if you were to click on it (please don't, use TWiki:Sandbox.EditTablePluginTesting for testing) you get this form:
-
-<a name="edittable1"></a>
-
-<div><input name="ettablenr" type="hidden" value="1" /><table border="1" cellpadding="0" cellspacing="0" id="default" rules="rows">
-    <thead>
-      <tr>
-        <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=0;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Nr<input name="etcell1x1" type="hidden" value="*Nr*" /></font></a></th>
-        <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=1;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Text field<input name="etcell1x2" type="hidden" value="*Text field*" /></font></a></th>
-        <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=2;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Drop down<input name="etcell1x3" type="hidden" value="*Drop down*" /></font></a></th>
-        <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=3;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Mood<input name="etcell1x4" type="hidden" value="*Mood*" /></font></a></th>
-        <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=4;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Timestamp<input name="etcell1x5" type="hidden" value="*Timestamp*" /></font></a></th>
-      </tr>
-    </thead>
-    <tr>
-      <td bgcolor="#ffffff" valign="top"><span>1<input name="etcell2x1" type="hidden" value="1" /></span></td>
-      <td bgcolor="#ffffff" valign="top"><input name="etcell2x2" size="20" type="text" value="hello table" /></td>
-      <td bgcolor="#ffffff" valign="top"><select name="etcell2x3" size="1"><option selected>one</option>
-          <option>two</option>
-          <option>three</option>
-          <option>four</option></select></td>
-      <td bgcolor="#ffffff" valign="top"><input checked name="etcell2x4" type="radio" value=":-)" /> <img alt="smile" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/smile.gif" title="smile" /> <input name="etcell2x4" type="radio" value=":-I" /> <img alt="indifferent" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/indifferent.gif" title="indifferent" /> <input name="etcell2x4" type="radio" value=":-(" /> <img alt="frown" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/frown.gif" title="frown" /></td>
-      <td bgcolor="#ffffff" valign="top"> 26 Jun 2002 12:30<input name="etcell2x5" type="hidden" value="26 Jun 2002 12:30" /></td>
-    </tr>
-    <tr>
-      <td bgcolor="#edf4f9" valign="top"><span>2<input name="etcell3x1" type="hidden" value="2" /></span></td>
-      <td bgcolor="#edf4f9" valign="top"><input name="etcell3x2" size="20" type="text" value="" /></td>
-      <td>
-        <p>
-        </p>
-      </td>
-      <td bgcolor="#edf4f9" valign="top"><select name="etcell3x3" size="1"><option>one</option>
-          <option selected>two</option>
-          <option>three</option>
-          <option>four</option></select></td>
-      <td bgcolor="#edf4f9" valign="top"><input name="etcell3x4" type="radio" value=":-)" /> <img alt="smile" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/smile.gif" title="smile" /> <input name="etcell3x4" type="radio" value=":-I" /> <img alt="indifferent" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/indifferent.gif" title="indifferent" /> <input checked name="etcell3x4" type="radio" value=":-(" /> <img alt="frown" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/frown.gif" title="frown" /></td>
-      <td bgcolor="#edf4f9" valign="top"> 27 Jun 2002 12:40<input name="etcell3x5" type="hidden" value="27 Jun 2002 12:40" /></td>
-    </tr>
-  </table><input name="etrows" type="hidden" value="3" /> <input id="etsave" name="etsave" type="submit" value="Save table" /> <input id="etqsave" name="etqsave" type="submit" value="Quiet save" /> <input id="etaddrow" name="etaddrow" type="submit" value="Add row" /> <input id="etdelrow" name="etdelrow" type="submit" value="Delete last row" /> <input id="etcancel" name="etcancel" type="submit" value="Cancel" /></div>
-
-The following example shows a simple table with key/value rows. The default edit field type for the value column is a text field. This is overloaded by a selector for the Gender, and a date picker for the DOB. This is typically used by TWiki applications where new topics with tables are created based on a template topic.
-
-<table cellpadding="6" style="background: #f2f2f2">
-  <tr>
-    <th> You type: </th>
-    <th> You get: </th>
-    <th> Table in edit mode: </th>
-  </tr>
-  <tr>
-    <td valign="top"><pre>
-%TABLE{"headerrows="1"}%
-%EDITTABLE{ format="| label | text, 40 |" changerows="off" }%
-|*Key*|*Value*|
-| Name: | John Smith |
-| Gender: | M %EDITCELL{select, 1, , F, M}% |
-| DOB: | 1999/12/31 %EDITCELL{date, 10}% |
-| City: | New York |
-</pre></td>
-    <td valign="top"><img alt="EDITCELL Example in view mode" height="172" src="http://www.dementia.org/twiki//view/ScreenshotEditCell1.gif" width="150" /></td>
-    <td valign="top"><img alt="EDITCELL Example in edit mode" height="198" src="http://www.dementia.org/twiki//view/ScreenshotEditCell2.gif" width="436" /></td>
-  </tr>
-</table>
-
-## <a name="Plugin Settings"></a> Plugin Settings
-
-Plugin settings are stored as preferences variables. To reference a plugin setting write <code>**%&lt;plugin&gt;\_&lt;setting&gt;%**</code>, for example, <code>**%EDITTABLEPLUGIN\_SHORTDESCRIPTION%**</code>
-
-- One line description, shown in the [[TextFormattingRules]] topic:
-  - Set SHORTDESCRIPTION = Edit TWiki tables using edit fields, date pickers and drop down boxes
-
-- Set DEBUG to 1 to get debug messages in `data/debug.txt`. Default: `0`
-  - Set DEBUG = 0
-
-- Set JAVASCRIPTINTERFACE to 1 to be able to directly move and delete row without page refresh. Can be overridden with parameter `javascriptinterface`.
-  - Set JAVASCRIPTINTERFACE = 1
-
-- Default for change rows flag: `on`, `off`, `add`
-  - Set CHANGEROWS = on
-
-- Default flag for quiet save option: `on` to show the Quiet Save button, `off` to hide
-  - Set QUIETSAVE = on
-
-- Default edit button: Specify `button text`, or specify `alternate text, image URL`. Note: Texts inside `%MAKETEXT{}%` are translated into other languages.
-  - #Set EDIT\_BUTTON = Edit table
-  - Set EDIT\_BUTTON = Edit this table, ![edittable.gif](http://www.dementia.org/twiki//view/edittable.gif)
-  - Set SAVE\_BUTTON = Save table
-  - Set QUIET\_SAVE\_BUTTON = Quiet save
-  - Set ADD\_ROW\_BUTTON = Add row
-  - Set DELETE\_LAST\_ROW\_BUTTON = Delete last row
-  - Set CANCEL\_BUTTON = Cancel
-
-- Default help texts
-  - Set INCLUDED\_TOPIC\_DOES\_NOT\_EXIST = <span>Warning: 'include' topic does not exist!</span>
-
-**_Note:_** The Plugin uses base settings like date format, language and style from the [[JSCalendarContrib]].
-
-## <a name="Limitations and Known Issues"></a> Limitations and Known Issues
-
-- This Plugin does not support TWiki table formatting like Multi-span cells (e.g. `| ... ||`) and cell justification (e.g. `|  centered  |   right |`)
-- There is a performance issue when editing a large table, say, with more then 50 rows
-- You cannot put two `%EDITTABLE{}%` statements on the same line in the source
-- You can include %-vars now in select values, by quoting them with &lt;nop&gt;, as in %&lt;nop&gt;X% for %X%, say for instance: <br />`select,1,%<nop>X%,%<nop>Y%`
-
-## <a name="Installation Instructions"></a> Installation Instructions
-
-- Download the ZIP file from the Plugin web (see below)
-- Unzip <code>**%TOPIC%.zip**</code> in your ($TWIKI\_ROOT) directory.
-- Alternatively,
-  - Manually resolve the dependencies listed below. None
-- The Plugin depends on the `viewauth` script to authenticate the user. As described in [[TWikiAccessControl]], copy the `view` script to `viewauth` (or better, create a symbolic link) and add `viewauth` to the list of authenticated scripts in the `.htaccess` file.
-- (Dakar) Visit `configure` in your TWiki installation, and enable the plugin in the \{Plugins\} section.
-- Test if the Plugin is correctly installed:
-  - Check above example if there is an **[ Edit table ]** button below the table in above example
-  - Click on **[ Edit table ]**, make changes and save the table
-
-## <a name="License"></a> License
-
-- The Edit Table Plugin is released under the [GPL](http://www.gnu.org/licenses/gpl.html)
-
-## <a name="Plugin Info"></a> Plugin Info
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td align="right"> Plugin Author: </td>
-    <td> Arthur Clemens, TWiki:Main/PeterThoeny </td>
-  </tr>
-  <tr>
-    <td align="right"> Copyright: </td>
-    <td> © 2008 Arthur Clemens, 2002-2008 TWiki:Main.PeterThoeny (<a href="http://www.twiki.net/" target="_top">TWIKI.NET</a>) and TWiki Contributors </td>
-  </tr>
-  <tr>
-    <td align="right"> License: </td>
-    <td> GPL (<a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License</a>) </td>
-  </tr>
-  <tr>
-    <td align="right"> Plugin Version: </td>
-    <td> 4.9 (01 Nov 2008) </td>
-  </tr>
-  <tr>
-    <td align="right"> Change History: </td>
-    <td>  </td>
-  </tr>
-  <tr>
-    <td align="right"> 01 Nov 2008: </td>
-    <td> 4.9: Arthur Clemens: Fixed rendering of <code>verbatim</code> blocks when editing. Added parameter <code>buttonrow="top"</code> to allow the buttons to be positioned at the top of the table. </td>
-  </tr>
-  <tr>
-    <td align="right"> 26 Sep 2008: </td>
-    <td> 4.8.7: Arthur Clemens: Let empty table initialize more than one column from <code>header</code> parameter </td>
-  </tr>
-  <tr>
-    <td align="right"> 24 Sep 2008: </td>
-    <td> 4.8.6: Arthur Clemens: Fix parsing of header labels </td>
-  </tr>
-  <tr>
-    <td align="right"> 21 Sep 2008: </td>
-    <td> 4.8.5: Arthur Clemens: Fix rendering of TML inside label </td>
-  </tr>
-  <tr>
-    <td align="right"> 03 Aug 2008: </td>
-    <td> 4.8.4: TWiki 4.2.1 release version </td>
-  </tr>
-  <tr>
-    <td align="right"> 19 Jul 2008: </td>
-    <td> 4.8.3: Bugfix release </td>
-  </tr>
-  <tr>
-    <td align="right"> 20 Mar 2008: </td>
-    <td> 4.8: Arthur Clemens: Code refactoring; disabled table sort when editing; removed usage of <code>$percnt</code> to prevent variable expansion (is now done automatically); made Javascript interface aware of headers and footers, and of <code>changerows="off"</code>; improved feedback on row move. </td>
-  </tr>
-  <tr>
-    <td align="right"> 25 Dec 2007: </td>
-    <td> 4.7.1: Arthur Clemens: Added warning if <code>include</code> parameter topic does not exist. </td>
-  </tr>
-  <tr>
-    <td align="right"> 22 Dec 2007: </td>
-    <td> 4.7: Arthur Clemens: Changed handling of escaped variables. To escape TWiki variable, use formatting tokens such as <code>$percnt</code>. </td>
-  </tr>
-  <tr>
-    <td align="right"> 16 Dec 2007: </td>
-    <td> 4.6: Kenneth Lavrsen: The plugin prevents [[Main/TablePlugin]] from initsorting the table being edited. This is done by temporarily appending the attribute disableallsort="on" to the TABLE tag of a table being edited. Additionally all header sorting is disabled while editing a table by setting a hidden formfield <code>sort</code> to "off". Disabling sorting while editing is needed now that the [[Main/EditTablePlugin]] supports moving rows up and down. </td>
-  </tr>
-  <tr>
-    <td align="right"> 01 Dec 2007: </td>
-    <td> 4.3: Arthur Clemens: added support for [[Main/TablePlugin]] <code>headerrows</code> and <code>footerrows</code>; updated edit button </td>
-  </tr>
-  <tr>
-    <td align="right"> 16 Oct 2007: </td>
-    <td> 4.2: Arthur Clemens: refactoring, bug fixes. </td>
-  </tr>
-  <tr>
-    <td align="right"> 07 Oct 2007: </td>
-    <td> 15182: PTh: Added [[TWiki/VarEDITTABLE]] to have it listed in [[TWiki/TWikiVariables]]</td>
-  </tr>
-  <tr>
-    <td align="right"> 15 Mar 2007: </td>
-    <td> Arthur Clemens: Fixed eating of double newlines; icons for javascript buttons and interface improvements. By default the javascript interface is turned off, set <code>JAVASCRIPTINTERFACE</code> to use it in edit mode. </td>
-  </tr>
-  <tr>
-    <td align="right"> 05 Mar 2007: </td>
-    <td> Byron Darrah: Added ability to dynamically move and delete rows. </td>
-  </tr>
-  <tr>
-    <td align="right"> 12 Oct 2006: </td>
-    <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2982" rel="nofollow">Item2982</a> Use default date format from [[Main/JSCalendarContrib]]</td>
-  </tr>
-  <tr>
-    <td align="right"> 02 Oct 2006: </td>
-    <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2884" rel="nofollow">Item2884</a> Check also for access permission in meta data; proper fix to not warn if oneself has a lock on topic </td>
-  </tr>
-  <tr>
-    <td align="right"> 30 Aug 2006: </td>
-    <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2829" rel="nofollow">Item2829</a> Remove whitespace from select, radio and checkbox items; restored topic lock if $TWiki::Plugins::VERSION &lt; 1.1 </td>
-  </tr>
-  <tr>
-    <td align="right"> 29 Jul 2006: </td>
-    <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2684" rel="nofollow">Item2684</a> - Quietly ignore topic edit locks on table edit </td>
-  </tr>
-  <tr>
-    <td align="right"> 21 Jan 2006: </td>
-    <td> TWiki:Main.CrawfordCurrie ported to TWiki-4.0.0, changed to use [[Main/JSCalendarContrib]]</td>
-  </tr>
-  <tr>
-    <td align="right"> 16 Sep 2004: </td>
-    <td> Added radio buttons and checkbox controls; escaped "%VBAR%" pipe symbol found in input fields to preserve tables </td>
-  </tr>
-  <tr>
-    <td align="right"> 01 Aug 2004: </td>
-    <td> Fixed bug where edittable did not work if at the end of a topic </td>
-  </tr>
-  <tr>
-    <td align="right"> 07 Apr 2004: </td>
-    <td> Fixed bug where two tables got updated when you edit and save a table included into a topic containing other edit tables </td>
-  </tr>
-  <tr>
-    <td align="right"> 02 Mar 2004: </td>
-    <td> Default for <code>%EDITCELL{editbutton}%</code> is EDITBUTTON preference </td>
-  </tr>
-  <tr>
-    <td align="right"> 27 Feb 2004: </td>
-    <td> Added QUIETSAVE setting and <code>quietsave</code> parameter; image for Edit button </td>
-  </tr>
-  <tr>
-    <td align="right"> 18 Feb 2004: </td>
-    <td> Doc fixes; allow edit button anywhere in a cell not just at the end of a cell </td>
-  </tr>
-  <tr>
-    <td align="right"> 17 Feb 2004: </td>
-    <td> Added per cell definition of edit field types with <code>%EDITCELL{}%</code> variable; added <code>headerislabel</code> and <code>editbutton</code> parameters </td>
-  </tr>
-  <tr>
-    <td align="right"> 20 Dec 2003: </td>
-    <td> Fixed bug where calendar did not work after adding a row (TWiki:Main/PaulineCheung); added all language files of Mishoo DHTML calendar 0.9.5 </td>
-  </tr>
-  <tr>
-    <td align="right"> 13 Dec 2003: </td>
-    <td> Added CHANGEROWS, JSCALENDARDATEFORMAT, JSCALENDARLANGUAGE, JSCALENDAROPTIONS settings </td>
-  </tr>
-  <tr>
-    <td align="right"> 16 Oct 2003: </td>
-    <td> small typo fixed (garbled if ---+ header on top) </td>
-  </tr>
-  <tr>
-    <td align="right"> 15 Oct 2003: </td>
-    <td> new date field type with javascript calendar - CN </td>
-  </tr>
-  <tr>
-    <td align="right"> 14 Oct 2003: </td>
-    <td> docfix: the documentation page was an old one - CN </td>
-  </tr>
-  <tr>
-    <td align="right"> 13 Oct 2003: </td>
-    <td> bugfix: %-vars in select were resetted to first on add/del row - CN </td>
-  </tr>
-  <tr>
-    <td align="right"> 18 Sep 2003: </td>
-    <td> incompatibility: changed default of <code>changerows</code> to <code>on</code>; support for %-vars, Quiet save for saving without notification; all other fixes in Dev topic integrated - CN </td>
-  </tr>
-  <tr>
-    <td align="right"> 08 Nov 2002: </td>
-    <td> Prevent variable expansion in label text; added escape characters </td>
-  </tr>
-  <tr>
-    <td align="right"> 27 Jun 2002: </td>
-    <td> New <code>helptopic</code> parameter </td>
-  </tr>
-  <tr>
-    <td align="right"> 26 Jun 2002: </td>
-    <td> Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells </td>
-  </tr>
-  <tr>
-    <td align="right"> 21 May 2002: </td>
-    <td> Added fixed label format; new <code>changerows="add"</code> parameter </td>
-  </tr>
-  <tr>
-    <td align="right"> 27 Apr 2002: </td>
-    <td> Fixed bug where text after a double quote in a cell disappeared </td>
-  </tr>
-  <tr>
-    <td align="right"> 18 Apr 2002: </td>
-    <td> Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix </td>
-  </tr>
-  <tr>
-    <td align="right"> 08 Apr 2002: </td>
-    <td> Check for change permission and edit lock of topic </td>
-  </tr>
-  <tr>
-    <td align="right"> 05 Apr 2002: </td>
-    <td> Initial version </td>
-  </tr>
-  <tr>
-    <td align="right"> Dependencies: </td>
-    <td> None </td>
-  </tr>
-  <tr>
-    <td align="right"> Perl Version: </td>
-    <td> 5.0 </td>
-  </tr>
-  <tr>
-    <td align="right"> TWiki:Plugins/Benchmark: </td>
-    <td>[[TWiki/GoodStyle]] 98%, [[TWiki/FormattedSearch]] 98%, %TOPIC% 95% </td>
-  </tr>
-  <tr>
-    <td align="right"> Plugin Home: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
-  </tr>
-  <tr>
-    <td align="right"> Feedback: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
-  </tr>
-  <tr>
-    <td align="right"> Appraisal: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal</a></td>
-  </tr>
-</table>
-
-**_Related Topics:_** [[VarEDITTABLE]], [[TWikiPreferences]], [[TWikiPlugins]]
diff --git a/TWiki/EmptyPlugin.mdwn b/TWiki/EmptyPlugin.mdwn
deleted file mode 100644 (file)
index 07fe02c..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-# <a name="Empty TWiki Plugin"></a> Empty TWiki Plugin
-
-This is an empty Plugin you can use as a template to build your own [[TWikiPlugins]]. This Plugin does nothing, but is ready to be used.
-
-To create your own Plugin:
-
-- Copy file <code>**TWiki/Plugins/EmptyPlugin.pm**</code> to <code>**&lt;name&gt;Plugin.pm**</code> and customize the plugin.
-- Create a <code>**&lt;name&gt;Plugin**</code> topic in the TWiki web. Do so by visiting <http://TWiki.org/cgi-bin/view/Plugins/PluginPackage#NewPlugin> and starting a new topic to get the default plugin topic text (don't save the topic). Customize your plugin topic to your needs.
-- See details in [[TWikiPlugins]].
-
-## <a name="Syntax Rules"></a> Syntax Rules
-
-(none)
-
-## <a name="Plugin Settings"></a> Plugin Settings
-
-Plugin settings are stored as preferences variables. To reference a plugin setting write <code>**%&lt;plugin&gt;\_&lt;setting&gt;%**</code>, i.e. <code>**%EMPTYPLUGIN\_SHORTDESCRIPTION%**</code>
-
-- One line description, is shown in the [[TextFormattingRules]] topic:
-  - Set SHORTDESCRIPTION = Empty Plugin used as a template for new Plugins
-
-- Your own setting, for example:
-  - Set EXAMPLE = got it!
-
-- Debug plugin: ( TWiki sets `$debug` in your plugin. See output in `data/debug.txt`.)
-  - Set DEBUG = 0
-
-## <a name="Plugin Installation Instructions"></a> Plugin Installation Instructions
-
-- This plugin is preinstalled, you do not need to install it.
-
-## <a name="Plugin Info"></a> Plugin Info
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td align="right"> Plugin Author: </td>
-    <td> TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie </td>
-  </tr>
-  <tr>
-    <td align="right"> Copyright: </td>
-    <td> © 2001-2007, [[TWiki/TWikiContributor]]</td>
-  </tr>
-  <tr>
-    <td align="right"> License: </td>
-    <td> GPL (<a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License</a>) </td>
-  </tr>
-  <tr>
-    <td align="right"> Plugin Version: </td>
-    <td> 15942 (30 Mar 2009) </td>
-  </tr>
-  <tr>
-    <td align="right"> Change History: </td>
-    <td>  </td>
-  </tr>
-  <tr>
-    <td align="right"> 20 May 2007 </td>
-    <td> Added renderWikiWordHandler </td>
-  </tr>
-  <tr>
-    <td align="right"> 01 Feb 2006: </td>
-    <td> Dakar changes </td>
-  </tr>
-  <tr>
-    <td align="right"> 21 Mar 2004: </td>
-    <td> Added afterSaveHandler </td>
-  </tr>
-  <tr>
-    <td align="right"> 14 Jul 2001: </td>
-    <td> Changed to plug&amp;play </td>
-  </tr>
-  <tr>
-    <td align="right"> 27 Feb 2001: </td>
-    <td> Initial version </td>
-  </tr>
-  <tr>
-    <td align="right"> TWiki Dependency: </td>
-    <td> $TWiki::Plugins::VERSION 1.1 </td>
-  </tr>
-  <tr>
-    <td align="right"> Dependencies: </td>
-    <td> %$DEPENDENCIES </td>
-  </tr>
-  <tr>
-    <td align="right"> TWiki:Plugins/Benchmark: </td>
-    <td>[[TWiki/GoodStyle]] 99%, [[TWiki/FormattedSearch]] 99%, %TOPIC% 99% </td>
-  </tr>
-  <tr>
-    <td align="right"> Plugin Home: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
-  </tr>
-  <tr>
-    <td align="right"> Feedback: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
-  </tr>
-  <tr>
-    <td align="right"> Appraisal: </td>
-    <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal</a></td>
-  </tr>
-</table>
-
-**_Related Topics:_** [[TWikiPlugins]], [[DeveloperDocumentationCategory]], [[AdminDocumentationCategory]], [[TWikiPreferences]]
-
--- [[TWikiContributor]] - 01 Feb 2006
diff --git a/TWiki/ExampleTopicTemplate.mdwn b/TWiki/ExampleTopicTemplate.mdwn
deleted file mode 100644 (file)
index 56d18f4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-(just an example illustrating how to create a new topic based on a specific template topic. [[TWikiTemplates]] has more)
-
--- Main.admin - 29 Jun 2010
diff --git a/TWiki/FileAttachment.mdwn b/TWiki/FileAttachment.mdwn
deleted file mode 100644 (file)
index d52b914..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-# <a name="File Attachments"></a> File Attachments
-
-_Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from your local PC. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved._
-
-<div>
-  <ul>
-    <li><a href="#File Attachments"> File Attachments</a><ul>
-        <li><a href="#What Are Attachments Good For?"> What Are Attachments Good For?</a><ul>
-            <li><a href="#Document Management System"> Document Management System</a></li>
-            <li><a href="#File Sharing"> File Sharing</a></li>
-            <li><a href="#Web Authoring"> Web Authoring</a></li>
-          </ul>
-        </li>
-        <li><a href="#Uploading Files"> Uploading Files</a></li>
-        <li><a href="#Downloading Files"> Downloading Files</a></li>
-        <li><a href="#Moving Attachment Files"> Moving Attachment Files</a></li>
-        <li><a href="#Deleting Attachments"> Deleting Attachments</a></li>
-        <li><a href="#Linking to Attached Files"> Linking to Attached Files</a></li>
-        <li><a href="#File Attachment Contents Table"> File Attachment Contents Table</a></li>
-        <li><a href="#File Attachment Controls"> File Attachment Controls</a><ul>
-            <li><a href="#Attach new file"> Attach new file </a></li>
-            <li><a href="#Comment"> Comment </a></li>
-            <li><a href="#Properties"> Properties </a></li>
-          </ul>
-        </li>
-        <li><a href="#Known Issues"> Known Issues</a></li>
-      </ul>
-    </li>
-  </ul>
-</div>
-
-## <a name="What Are Attachments Good For?"></a> What Are Attachments Good For?
-
-File Attachments can be used to archive data, or to create powerful customized groupware solutions, like file sharing and document management systems, and quick Web page authoring.
-
-### <a name="Document Management System"></a> Document Management System
-
-- You can use Attachments to store and retrieve documents (in any format, with associated graphics, and other media files); attach documents to specific TWiki topics; collaborate on documents with full revision control; distribute documents on a [[need-to-know basis|Main/WebHome#AttachmentAccess]] using web and topic-level access control; create a central reference library that's easy to share with an user group spread around the world.
-
-### <a name="File Sharing"></a> File Sharing
-
-- For file sharing, [[FileAttachments]] on a series of topics can be used to quickly create a well-documented, categorized digital download center for all types of files: documents; graphics and other media; drivers and patches; applications; anything you can safely upload!
-
-### <a name="Web Authoring"></a> Web Authoring
-
-- Through your Web browser, you can easily upload graphics (or sound files, or anything else you want to link to on a page) and place them on a single page, or use them across a web, or site-wide.
-  - **_NOTE:_** You can also add graphics - any files - directly, typically by FTP upload. This requires FTP access, and may be more convenient if you have a large number of files to load. FTP-ed files can't be managed using browser-based Attachment controls. You can use your browser to create [[TWikiVariables]] shortcuts, like this %H% = %H%.
-
-## <a name="Uploading Files"></a> Uploading Files
-
-- Click on the <code>**Attach**</code> link at the bottom of the page. The `Attach` screen lets you browse for a file, add a comment, and upload it. The uploaded file will show up in the [[File Attachment table|Main/WebHome#FileAttachmentTable]].
-  - **_NOTE:_** The topic must already exist. It is a two step process if you want to attach a file to a non-existing topic; first create the topic, then add the file attachment.
-  - Any type of file can be uploaded. Some files that might pose a security risk are renamed, ex: `*.php` files are renamed to `*.php.txt` so that no one can place code that would be read in a .php file.
-  - The previous upload path is retained for convenience. In case you make some changes to the local file and want to upload it, again you can copy the previous upload path into the Local file field.
-  - TWiki can limit the file size. This is defined by the `%ATTACHFILESIZELIMIT%` variable of the [[TWikiPreferences]], currently set at %ATTACHFILESIZELIMIT% KB.
-    - %X% It's not recommended to upload files greater than a few hundred K through a browser. Large files can be extremely slow-loading, and often time out. Use an FTP site for large file uploads.
-- Automatic attachments:
-  - When enabled, all files in a topic's attachment directory are shown as attachments to the topic - even if they were directly copied to the directory and never attached by using an 'Attach' link. This is a convenient way to quickly "attach" files to a topic without uploading them one by one; although at the cost of losing audit trail and version control.
-  - To enable this feature, set the \{AutoAttachPubFiles\} configuration option.
-  - **_NOTE:_** The automatic attachment feature can only be used by an administrator who has access to the server's file system.
-
-## <a name="Downloading Files"></a> Downloading Files
-
-- Click on the file in the [[File Attachment table|Main/WebHome#FileAttachmentTable]].
-
-<a name="AttachmentAccess"></a>
-
-- %X% _NOTE:_ There is no access control on individual attachments. If you need control over single files, create a separate topic per file and set topic-level [[access restrictions|Main/TWikiDocumentation#TWikiAccessControl]] for each.
-
-## <a name="Moving Attachment Files"></a> Moving Attachment Files
-
-An attachment can be moved between topics.
-
-- Click <code>**Manage**</code> on the Attachment to be moved.
-- On the control screen, select the new web and/or topic.
-- Click <code>**Move**</code>. The attachment and its version history are moved. The original location is stored as [[topic Meta Data|Main/TWikiDocumentation#Meta_Data_Definition]].
-
-## <a name="Deleting Attachments"></a> Deleting Attachments
-
-Move unwanted Attachments to web `Trash`, topic `TrashAttachment`.
-
-## <a name="Linking to Attached Files"></a> Linking to Attached Files
-
-- Once a file is attached it can be referenced in the topic. Example:
-  1. <code>**Attach**</code> file: `Sample.txt`
-  2. <code>**Edit**</code> topic and enter: `%ATTACHURL%/Sample.txt`
-  3. <code>**Preview**</code>: `%ATTACHURL%/Sample.txt` text appears as: <http://www.dementia.org/twiki//view/%WEB%/%TOPIC%/Sample.txt>, a link to the text file.
-
-- To reference an attachment located in another topic, enter:
-  - `%PUBURLPATH%/%WEB%/OtherTopic/Sample.txt` (if it's within the same web)
-  - `%PUBURLPATH%/Otherweb/OtherTopic/Sample.txt` (if it's in a different web)
-
-- Attached HTML files and text files can be inlined in a topic. Example:
-  1. <code>**Attach**</code> file: `Sample.txt`
-  2. <code>**Edit**</code> topic and write text: `%INCLUDE{"%ATTACHURL%/Sample.txt"}%`
-    - Content of attached file is shown inlined.
-    - Read more about INCLUDE in [[TWikiVariables|Main/VarINCLUDE]]
-
-- GIF, JPG and PNG images can be attached and shown embedded in a topic. Example:
-  1. <code>**Attach**</code> file: `Smile.gif`
-  2. <code>**Edit**</code> topic and write text: `%ATTACHURL%/Smile.gif`
-  3. <code>**Preview**</code>: text appears as ![Smile.gif](http://www.dementia.org/twiki//view/%WEB%/%TOPIC%/Smile.gif), an image.
-
-<a name="FileAttachmentTable"></a>
-
-## <a name="File Attachment Contents Table"></a> File Attachment Contents Table
-
-Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click **Attach**.
-
-<div>
-  <table border="1" cellpadding="0" cellspacing="0" id="twikiAttachmentsTable" rules="rows" style="border-width: 1px" summary="Topic attachments">
-    <caption>Topic attachments</caption>
-    <tr>
-      <th align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: middle" valign="middle"><a href="%TOPIC%?sortcol=0;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#0066cc">I</font></a></th>
-      <th align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: middle" valign="middle"><a href="%TOPIC%?sortcol=1;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#0066cc">Attachment</font></a></th>
-      <th align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: middle" valign="middle"><a href="%TOPIC%?sortcol=2;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#0066cc">Action</font></a></th>
-      <th align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: middle" valign="middle"><a href="%TOPIC%?sortcol=3;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#0066cc">Size</font></a></th>
-      <th align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: middle" valign="middle"><a href="%TOPIC%?sortcol=4;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#0066cc">Date</font></a></th>
-      <th align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: middle" valign="middle"><a href="%TOPIC%?sortcol=5;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#0066cc">Who</font></a></th>
-      <th align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: middle" valign="middle"><a href="%TOPIC%?sortcol=6;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#0066cc">Comment</font></a></th>
-    </tr>
-    <tr>
-      <td align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: top" valign="top"><img align="top" alt="txt" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/txt.gif" width="16" /><span>txt</span></td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"><a href="/twiki4/MAIN/bin/viewfile/TWiki/FileAttachment?rev=;filename=Sample.txt">Sample.txt</a></td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"><a href="/twiki4/MAIN/bin/attach/TWiki/FileAttachment?filename=Sample.txt&revInfo=1" rel="nofollow" title="change, update, previous revisions, move, delete...">manage</a></td>
-      <td align="right" bgcolor="#ffffff" style="text-align: right; vertical-align: top" valign="top"> 0.1 K </td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"> 22 Jul 2000 - 19:37 </td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"><a href="TWikiContributor">TWikiContributor</a></td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"> Just a sample </td>
-    </tr>
-    <tr>
-      <td align="center" bgcolor="#ffffff" style="text-align: center; vertical-align: top" valign="top"><img align="top" alt="gif" border="0" height="16" src="http://www.dementia.org/twiki//view/%SYSTEMWEB%/TWikiDocGraphics/gif.gif" width="16" /><span>gif</span></td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"><a href="/twiki4/MAIN/bin/viewfile/TWiki/FileAttachment?rev=;filename=Smile.gif">Smile.gif</a></td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"><a href="/twiki4/MAIN/bin/attach/TWiki/FileAttachment?filename=Smile.gif&revInfo=1" rel="nofollow" title="change, update, previous revisions, move, delete...">manage</a></td>
-      <td align="right" bgcolor="#ffffff" style="text-align: right; vertical-align: top" valign="top"> 0.1 K </td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"> 22 Jul 2000 - 19:38 </td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"><a href="TWikiContributor">TWikiContributor</a></td>
-      <td align="left" bgcolor="#ffffff" style="text-align: left; vertical-align: top" valign="top"> Smiley face </td>
-    </tr>
-  </table>
-</div>
-
-## <a name="File Attachment Controls"></a> File Attachment Controls
-
-Clicking on a <code>**Manage**</code> link takes you to a new page that looks a bit like this (depending on what [[skin|Main/TWikiSkins]] is selected):
-
-<div>
-  <div>
-    <h3><a name="Attach new file"></a><a name=" Attach new file"></a> <a name="Attach_new_file"></a> Attach new file </h3>
-    <p> Select a new local file to update attachment <code>Sample.txt</code> <span>(<a href="#">UploadingUser</a>)</span><br />Upload up to 10000 KB. </p>
-    <p>
-    </p><input name="filepath" size="30" type="file" value="Sample.txt" /><input name="filename" type="hidden" value="Sample.txt" /></div>
-  <div>
-    <h3><a name="Comment"></a><a name=" Comment"></a> <a name="Comment"></a> Comment </h3>
-    <p> Describe the file so other people know what it is. </p>
-    <p>
-    </p><input maxlength="256" name="filecomment" size="50" type="text" value="Just a sample" /></div>
-  <div>
-    <h3><a name="Properties"></a><a name=" Properties"></a> <a name="Properties"></a> Properties </h3>
-    <p>
-    </p><input id="createlink" name="createlink" type="checkbox" /><label for="createlink">Create a link to the attached file</label><span>Images will be displayed, for other attachments a link will be created.</span><p>
-    </p><input id="hidefile" name="hidefile" type="checkbox" /><label for="hidefile">Do not show attachment in table</label><span>Attachments will not be shown in topic view page.</span></div>
-  <div><input name="changeproperties" type="submit" value="Change comment and properties only" /></div>
-</div>
-
-<a name="topic-actions"> </a>
-
-<div>
-  <div style="margin-top: -1px"><span> <input type="submit" value="Upload file" /> or <a accesskey="c" href="#" rel="nofollow" title="Back to topic"><span class="twikiAccessKey">C</span>ancel</a></span></div>
-</div>
-
-- The first table is a list of all attachments, including their attributes. An `h` means the attachment is hidden, it isn't listed when viewing a topic.
-
-- The second table is all the versions of the attachment. Click on **View** to see that version. If it's the most recent version, you'll be taken to an URL that always displays the latest version, which is usually what you want.
-  - **To change the comment** on an attachment, enter a new comment and then click **Change properties**. Note that the comment listed against the specific version will not change, however the comment displayed when viewing the topic does change.
-  - **To hide/unhide** an attachment, enable the <code>**Hide file**</code> checkbox, then click <code>**Change properties**</code>.
-
-## <a name="Known Issues"></a> Known Issues
-
-- Unlike topics, attachments are not locked during editing. As a workaround, you can change the comment to indicate an attachment file is being worked on - the comment on the specific version isn't lost, it's there when you list all versions of the attachment.
-- Attachments are not secured. Anyone can read them if they know the name of the web, topic and attachment.
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/FileAttribute.mdwn b/TWiki/FileAttribute.mdwn
deleted file mode 100644 (file)
index 8ceec42..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Each [[FileAttachment]] in a Topic has an attribute string. At present only the hidden attribute is supported. If the attribute includes _h_ then the attachment is considered to be hidden. It is not listed in the topic, but is displayed when attach page is displayed.
-
-**_Related Topics:_** [[UserDocumentationCategory]], [[DeveloperDocumentationCategory]]
diff --git a/TWiki/ForceNewRevision.mdwn b/TWiki/ForceNewRevision.mdwn
deleted file mode 100644 (file)
index 2a94a20..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-Normally, if you make subsequent edits within a one hour period (configuration item `ReplaceIfEditedAgainWithin`), %WIKITOOLNAME% will fold together your changes. This is often the "right thing to do", as it can reduce the visual clutter of diffs.
-
-The "Force New Revision" checkbox is a way to force it to create a separate revision each time you save.
-
-The [[%SYSTEMWEB%.TWikiPreferences|SYSTEMWEB/TWikiPreferences]] variable `FORCENEWREVISIONCHECKBOX` controls whether this is checked by default or not.
-
-On a related note, you can force **_every_** save to be a new revision number by setting `ReplaceIfEditedAgainWithin` to 0.
-
-**_Related Topics:_** [[UserDocumentationCategory]], [[AdminDocumentationCategory]]
diff --git a/TWiki/FormatTokens.mdwn b/TWiki/FormatTokens.mdwn
deleted file mode 100644 (file)
index dda7107..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-## <a name="Formatting Tokens"></a> Formatting Tokens
-
-TWiki defines some standard special tokens that can be used to replace characters in some parameters - notably those to [[FormattedSearch]] and [[IfStatements]] - to defer evaluation of the parameter until later. These special tokens are often called "escapes", because they allow the character to "escape" from its normal meaning.
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <td><code>$n</code> or <code>$n()</code></td>
-    <td> New line. Use <code>$n()</code> if followed by alphanumeric character, e.g. write <code>Foo$n()Bar</code> instead of <code>Foo$nBar</code></td>
-  </tr>
-  <tr>
-    <td><code>$nop</code> or <code>$nop()</code></td>
-    <td> Is a "no operation". This variable gets removed; useful for nested search </td>
-  </tr>
-  <tr>
-    <td><code>$quot</code></td>
-    <td> Double quote (<code>"</code>) (\" also works) </td>
-  </tr>
-  <tr>
-    <td><code>$percnt</code></td>
-    <td> Percent sign (<code>%</code>) </td>
-  </tr>
-  <tr>
-    <td><code>$dollar</code></td>
-    <td> Dollar sign (<code>$</code>) </td>
-  </tr>
-</table>
-
-If you ever find yourself needing to escape an escape, you can use `$dollar` to escape the leading dollar, thus: `$dollarpercnt`.
diff --git a/TWiki/FormattedSearch.mdwn b/TWiki/FormattedSearch.mdwn
deleted file mode 100644 (file)
index 7eb1297..0000000
+++ /dev/null
@@ -1,410 +0,0 @@
-# <a name="TWiki Formatted Search"></a> TWiki Formatted Search
-
-_Inline search feature allows flexible formatting of search result_
-
-The default output format of a <code>[[%SEARCH{...}%|Main/VarSEARCH]]</code> is a table consisting of topic names and topic summaries. Use the `format="..."` parameter to customize the search result. The format parameter typically defines a bullet or a table row containing variables, such as `%SEARCH{ "food" format="| $topic | $summary |" }%`. See <code>[[%SEARCH{...}%|Main/VarSEARCH]]</code> for other search parameters, such as `separator=""`.
-
-<div>
-  <ul>
-    <li><a href="#TWiki Formatted Search"> TWiki Formatted Search</a><ul>
-        <li><a href="#Syntax"> Syntax</a><ul>
-            <li><a href="#1. <code>header="..."</code> parameter"> 1. header="..." parameter</a></li>
-            <li><a href="#2. <code>footer="..."</code> parameter"> 2. footer="..." parameter</a></li>
-            <li><a href="#3. <code>format="..."</code> parameter"> 3. format="..." parameter</a></li>
-          </ul>
-        </li>
-        <li><a href="#Examples"> Examples</a><ul>
-            <li><a href="#Bullet list showing topic name a"> Bullet list showing topic name and summary</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-    <li><a href="#TWiki Installation Error">TWiki Installation Error</a><ul>
-        <li>
-          <ul>
-            <li><a href="#Table showing form field values"> Table showing form field values of topics with a form</a></li>
-            <li><a href="#Extract some text from a topic u"> Extract some text from a topic using regular expression</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-    <li><a href="#TWiki Installation Error">TWiki Installation Error</a><ul>
-        <li>
-          <ul>
-            <li><a href="#Nested Search"> Nested Search</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-    <li><a href="#TWiki Installation Error">TWiki Installation Error</a><ul>
-        <li>
-          <ul>
-            <li><a href="#Most recently changed pages"> Most recently changed pages</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-    <li><a href="#TWiki Installation Error">TWiki Installation Error</a><ul>
-        <li>
-          <ul>
-            <li><a href="#Search with conditional output"> Search with conditional output</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-    <li><a href="#TWiki Installation Error">TWiki Installation Error</a><ul>
-        <li>
-          <ul>
-            <li><a href="#Embedding search forms to return"> Embedding search forms to return a formatted result</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-    <li><a href="#TWiki Installation Error">TWiki Installation Error</a></li>
-  </ul>
-</div>
-
-## <a name="Syntax"></a> Syntax
-
-Two parameters can be used to specify a customized search result:
-
-### <a name="1. &lt;code&gt;header=&quot;...&quot;&lt;/code&gt; parameter"></a> 1. `header="..."` parameter
-
-Use the header parameter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional. <br /> Example: `header="| *Topic:* | *Summary:* |"`
-
-Variables that can be used in the header string:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Name: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Expands To: </strong></th>
-  </tr>
-  <tr>
-    <td><code>$web</code></td>
-    <td> Name of the web </td>
-  </tr>
-</table>
-
-### <a name="2. &lt;code&gt;footer=&quot;...&quot;&lt;/code&gt; parameter"></a> 2. `footer="..."` parameter
-
-Use the footer parameter to specify the footer of a search result. It should correspond to the format of the format parameter. This parameter is optional. <br /> Example: `footer="| *Topic* | *Summary* |"`
-
-Variables that can be used in the footer string:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Name: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Expands To: </strong></th>
-  </tr>
-  <tr>
-    <td><code>$web</code></td>
-    <td> Name of the web </td>
-  </tr>
-  <tr>
-    <td><code>$ntopics</code></td>
-    <td> Number of topics found in current web </td>
-  </tr>
-  <tr>
-    <td><code>$nhits</code></td>
-    <td> Number of hits if <code>multiple="on"</code>. Cumulative across all topics in current web. Identical to <code>$ntopics</code> unless <code>multiple="on"</code></td>
-  </tr>
-</table>
-
-### <a name="3. &lt;code&gt;format=&quot;...&quot;&lt;/code&gt; parameter"></a> 3. `format="..."` parameter
-
-Use the format parameter to specify the format of one search hit. <br /> Example: `format="| $topic | $summary |"`
-
-Variables that can be used in the format string:
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Name: </strong></th>
-    <th bgcolor="#99CCCC"><strong> Expands To: </strong></th>
-  </tr>
-  <tr>
-    <td><code>$web</code></td>
-    <td> Name of the web </td>
-  </tr>
-  <tr>
-    <td><code>$topic</code></td>
-    <td> Topic name </td>
-  </tr>
-  <tr>
-    <td><code>$topic(20)</code></td>
-    <td> Topic name, "<tt>- </tt>" hyphenated each 20 characters </td>
-  </tr>
-  <tr>
-    <td><code>$topic(30, -&lt;br /&gt;)</code></td>
-    <td> Topic name, hyphenated each 30 characters with separator "<tt>-&lt;br /&gt;</tt>" </td>
-  </tr>
-  <tr>
-    <td><code>$topic(40, ...)</code></td>
-    <td> Topic name, shortended to 40 characters with "<tt>...</tt>" indication </td>
-  </tr>
-  <tr>
-    <td><code>$parent</code></td>
-    <td> Name of parent topic; empty if not set </td>
-  </tr>
-  <tr>
-    <td><code>$parent(20)</code></td>
-    <td> Name of parent topic, same hyphenation/shortening like <code>$topic()</code></td>
-  </tr>
-  <tr>
-    <td><code>$text</code></td>
-    <td> Formatted topic text. In case of a <code>multiple="on"</code> search, it is the line found for each search hit. </td>
-  </tr>
-  <tr>
-    <td><code>$locked</code></td>
-    <td> LOCKED flag (if any) </td>
-  </tr>
-  <tr>
-    <td><code>$date</code></td>
-    <td> Time stamp of last topic update, e.g. <code>29 Jun 2010 - 16:14</code></td>
-  </tr>
-  <tr>
-    <td><code>$isodate</code></td>
-    <td> Time stamp of last topic update, e.g. <code>2010-06-29T16:14Z</code></td>
-  </tr>
-  <tr>
-    <td><code>$rev</code></td>
-    <td> Number of last topic revision, e.g. <code>4</code></td>
-  </tr>
-  <tr>
-    <td><code>$username</code></td>
-    <td> Login name of last topic update, e.g. <code>jsmith</code></td>
-  </tr>
-  <tr>
-    <td><code>$wikiname</code></td>
-    <td> Wiki user name of last topic update, e.g. <code>JohnSmith</code></td>
-  </tr>
-  <tr>
-    <td><code>$wikiusername</code></td>
-    <td> Wiki user name of last topic update, like <code>%USERSWEB%.JohnSmith</code></td>
-  </tr>
-  <tr>
-    <td><code>$createdate</code></td>
-    <td> Time stamp of topic revision 1 </td>
-  </tr>
-  <tr>
-    <td><code>$createusername</code></td>
-    <td> Login name of topic revision 1, e.g. <code>jsmith</code></td>
-  </tr>
-  <tr>
-    <td><code>$createwikiname</code></td>
-    <td> Wiki user name of topic revision 1, e.g. <code>JohnSmith</code></td>
-  </tr>
-  <tr>
-    <td><code>$createwikiusername</code></td>
-    <td> Wiki user name of topic revision 1, e.g. <code>%USERSWEB%.JohnSmith</code></td>
-  </tr>
-  <tr>
-    <td><code>$summary</code></td>
-    <td> Topic summary, just the plain text, all formatting and line breaks removed; up to 162 characters </td>
-  </tr>
-  <tr>
-    <td><code>$summary(50)</code></td>
-    <td> Topic summary, up to 50 characters shown </td>
-  </tr>
-  <tr>
-    <td><code>$summary(showvarnames)</code></td>
-    <td> Topic summary, with <code>%ALLTWIKI{...}%</code> variables shown as <code>ALLTWIKI{...}</code></td>
-  </tr>
-  <tr>
-    <td><code>$summary(noheader)</code></td>
-    <td> Topic summary, with leading <code>---+ headers</code> removed%BR% <strong><em>Note:</em></strong> The tokens can be combined, for example <code>$summary(100, showvarnames, noheader)</code></td>
-  </tr>
-  <tr>
-    <td><code>$changes</code></td>
-    <td> Summary of changes between latest rev and previous rev </td>
-  </tr>
-  <tr>
-    <td><code>$changes(n)</code></td>
-    <td> Summary of changes between latest rev and rev n </td>
-  </tr>
-  <tr>
-    <td><code>$formname</code></td>
-    <td> The name of the form attached to the topic; empty if none </td>
-  </tr>
-  <tr>
-    <td><code>$formfield(name)</code></td>
-    <td> The field value of a form field; for example, <code>$formfield(TopicClassification)</code> would get expanded to <code>PublicFAQ</code>. This applies only to topics that have a [[Main/TWikiForms]]</td>
-  </tr>
-  <tr>
-    <td><code>$formfield(name, 10)</code></td>
-    <td> Form field value, "<tt>- </tt>" hyphenated each 10 characters </td>
-  </tr>
-  <tr>
-    <td><code>$formfield(name, 20, -&lt;br /&gt;)</code></td>
-    <td> Form field value, hyphenated each 20 characters with separator "<tt>-&lt;br /&gt;</tt>" </td>
-  </tr>
-  <tr>
-    <td><code>$formfield(name, 30, ...)</code></td>
-    <td> Form field value, shortended to 30 characters with "<tt>...</tt>" indication </td>
-  </tr>
-  <tr>
-    <td><code>$pattern(reg-exp)</code></td>
-    <td> A regular expression pattern to extract some text from a topic (does not search meta data; use <code>$formfield</code> instead). In case of a <code>multiple="on"</code> search, the pattern is applied to the line found in each search hit.%BB% Specify a [[Main/RegularExpression]] that covers the whole text (topic or line), which typically starts with <code>.*</code>, and must end in <code>.*</code> %BB% Put text you want to keep in parenthesis, like <code>$pattern(.*?(from here.*?to here).*)</code> %BB% Example: <code>$pattern(.*?\*.*?Email\:\s*([^\n\r]+).*)</code> extracts the e-mail address from a bullet of format <code>* Email: ...</code> %BB% This example has non-greedy <code>.*?</code> patterns to scan for the first occurance of the Email bullet; use greedy <code>.*</code> patterns to scan for the last occurance %BB% Limitation: Do not use <code>.*)</code> inside the pattern, e.g. <code>$pattern(.*foo(.*)bar.*)</code> does not work, but <code>$pattern(.*foo(.*?)bar.*)</code> does %BB% Note: Make sure that the integrity of a web page is not compromised; for example, if you include an HTML table make sure to include everything including the table end tag </td>
-  </tr>
-  <tr>
-    <td><code>$count(reg-exp)</code></td>
-    <td> Count of number of times a regular expression pattern appears in the text of a topic (does not search meta data). Follows guidelines for use and limitations outlined above under <code>$pattern(reg-exp)</code>. Example: <code>$count(.*?(---[+][+][+][+]) .*)</code> counts the number of &lt;H4&gt; headers in a page. </td>
-  </tr>
-  <tr>
-    <td><code>$ntopics</code></td>
-    <td> Number of topics found in current web. This is the current topic count, not the total number of topics </td>
-  </tr>
-  <tr>
-    <td><code>$nhits</code></td>
-    <td> Number of hits if <code>multiple="on"</code>. Cumulative across all topics in current web. Identical to <code>$ntopics</code> unless <code>multiple="on"</code></td>
-  </tr>
-</table>
-
-## <a name="Examples"></a> Examples
-
-Here are some samples of formatted searches. The [[SearchPatternCookbook]] has other examples, such as [[creating a picklist of usernames|Main/SearchPatternCookbook#SearchUsernames]], [[searching for topic children|Main/SearchPatternCookbook#SearchTopicChildren]] and more.
-
-<a name="SearchBulletList"></a>
-
-### <a name="Bullet list showing topic name a"></a> Bullet list showing topic name and summary
-
-**Write this:**
-
-`%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary"  footer="   * *Topic: Summary*"  }%`
-
-**To get this:**
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-
-### <a name="Table showing form field values"></a><a name="Table showing form field values "></a> Table showing form field values of topics with a form
-
-In a web where there is a form that contains a `TopicClassification` field, an `OperatingSystem` field and an `OsVersion` field we could write:
-
-`| *Topic:* | *OperatingSystem:* | *OsVersion:* |`<br />`%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" type="regex" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%`
-
-To get this:
-
-<table border="1" cellpadding="1" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong>Topic:</strong></th>
-    <th bgcolor="#99CCCC"><strong>OperatingSystem:</strong></th>
-    <th bgcolor="#99CCCC"><strong>OsVersion:</strong></th>
-  </tr>
-  <tr>
-    <td>[[Sandbox/IncorrectDllVersionW32PTH10DLL]]</td>
-    <td>[[Sandbox/OsWin]]</td>
-    <td> 95/98 </td>
-  </tr>
-  <tr>
-    <td>[[Sandbox/WinDoze95Crash]]</td>
-    <td>[[Sandbox/OsWin]]</td>
-    <td> 95 </td>
-  </tr>
-</table>
-
-### <a name="Extract some text from a topic u"></a> Extract some text from a topic using regular expression
-
-**Write this:**
-
-`%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" type="regex" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%`
-
-**To get this:**
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-
-### <a name="Nested Search"></a> Nested Search
-
-Search can be nested. For example, search for some topics, then form a new search for each topic found in the first search. The idea is to build the nested search string using a formatted search in the first search.
-
-Here is an example. Let's search for all topics that contain the word "culture" (first search), and let's find out where each topic found is linked from (second search).
-
-- First search:
-  - `%SEARCH{ "culture" format="   * $topic is referenced by: (list all references)" nosearch="on" nototal="on" }%`
-- Second search. For each hit we want this search:
-  - `%SEARCH{ "(topic found in first search)" format="$topic" nosearch="on" nototal="on" separator=", " }%`
-- Now let's nest the two. We need to escape the second search, e.g. the first search will build a valid second search string. Note that we escape the second search so that it does not get evaluated prematurely by the first search:
-  - Use `$percnt` to escape the leading percent of the second search
-  - Use `\"` to escape the double quotes
-  - Use `$dollar` to escape the `$` of `$topic`
-  - Use `$nop` to escape the `}%` sequence
-
-**Write this:**
-
-`%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"$dollartopic\" nosearch=\"on\" nototal=\"on\" separator=\", \" }$nop%" nosearch="on" nototal="on" }%`
-
-**To get this:**
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-
-**_Note:_** Nested search can be slow, especially if you nest more then 3 times. Nesting is limited to 16 levels. For each new nesting level you need to "escape the escapes", e.g. write `$dollarpercntSEARCH{` for level three, `$dollardollarpercntSEARCH{` for level four, etc.
-
-### <a name="Most recently changed pages"></a> Most recently changed pages
-
-**Write this:**
-
-`%SEARCH{ "\.*" scope="topic" type="regex" nosearch="on" nototal="on" order="modified" reverse="on"  format="| [[$topic]] | $wikiusername  | $date |" limit="7" }%`
-
-**To get this:**
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-
-### <a name="Search with conditional output"></a> Search with conditional output
-
-A regular expression search is flexible, but there are limitations. For example, you cannot show all topics that are up to exactly one week old, or create a report that shows all records with invalid form fields or fields within a certain range, etc. You need some additional logic to format output based on a condition:
-
-1. Specify a search which returns more hits then you need
-2. For each search hit apply a spreadsheet formula to determine if the hit is needed
-3. If needed, format and output the result
-4. Else supress the search hit
-
-This requires the TWiki:Plugins.SpreadSheetPlugin. The following example shows all topics that are up to exactly one week old.
-
-**Write this:**
-
-`%CALC{$SET(weekold, $TIMEADD($TIME(), -7, day))}%` %BR% `%SEARCH{ "." scope="topic" type="regex" nosearch="on" nototal="on" order="modified" reverse="on" format="$percntCALC{$IF($TIME($date) < $GET(weekold), <nop>, | [[$topic]] | $wikiusername | $date | $rev |)}$percnt" limit="100" }%`
-
-- The first line sets the `weekold` variable to the serialized date of exactly one week ago
-- The SEARCH has a deferred CALC. The `$percnt` makes sure that the CALC gets executed once for each search hit
-- The CALC compares the date of the topic with the `weekold` date
-- If topic is older, a `<nop>` is returned, which gets removed at the end of the TWiki rendering process
-- Otherwise, the search hit is formatted and returned
-
-**To get this:**
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-
-### <a name="Embedding search forms to return"></a> Embedding search forms to return a formatted result
-
-Use an HTML form and an embedded formatted search on the same topic. You can link them together with an `%URLPARAM{"..."}%` variable. Example:
-
-**Write this:**
-
-    <form action="%SCRIPTURLPATH{"view"}%/%WEB%/%TOPIC%">
-    Find Topics:
-    <input type="text" name="q" size="32" value="%URLPARAM{"q" encode="entity"}%" />&nbsp;<input type="submit" class="twikiSubmit" value="Search" />
-    </form>
-    Result:
-    %SEARCH{ search="%URLPARAM{"q" encode="quote"}%" type="keyword" format="   * $web.$topic: %BR% $summary" nosearch="on" }%
-
-**To get this:**
-
-<form action="http://www.dementia.org/twiki/view/%WEB%/%TOPIC%"> Find Topics: <input name="q" size="32" type="text" value="" /> <input type="submit" value="Search" /></form>
-
-Result:
-
-# <a name="TWiki Installation Error"></a> TWiki Installation Error
-
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-
-**_Related Topics:_** [[UserDocumentationCategory]], [[SearchHelp]], [[TWikiVariables#VarSEARCH]], [[SearchPatternCookbook]], [[RegularExpression]]
-
--- **_Contributors:_** TWiki:Main.PeterThoeny, TWiki:Main.CrawfordCurrie, TWiki:Main.SopanShewale
diff --git a/TWiki/GnuGeneralPublicLicense.mdwn b/TWiki/GnuGeneralPublicLicense.mdwn
deleted file mode 100644 (file)
index 175d916..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-## <a name="FAQ:"></a> FAQ:
-
-TWiki has a GPL (GNU General Public License). What is GPL?
-
-## <a name="Answer:"></a> Answer:
-
-TWiki is distributed under the GNU General Public License, see [[TWikiDownload]]. GPL is one of the free software licenses that protects the copyright holder, and at the same time allows users to redistribute the software under the terms of the license. Extract:
-
-- This program is open source software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU General Public License for more details, published at <http://www.gnu.org/copyleft/gpl.html>
-
-**_Back to:_** [[TWikiFAQ]]
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/GoBox.mdwn b/TWiki/GoBox.mdwn
deleted file mode 100644 (file)
index cd0a98a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# <a name="Go Box"></a> Go Box
-
-The box at the top or sidebar of each page, also called Jump box.
-
-Enter a topic name to quickly jump to the topic, for example:
-
-- **WebNotify** to jump to WebNotify in the current web
-- **%USERSWEB%.WebNotify** to jump to WebNotify in the %USERSWEB% web
-- **%USERSWEB%.** to jump to the home of the %USERSWEB% web
-- **BrandNewTopic** to jump to a non existing topic in the current web, which is useful to create orphaned topics
-
-Enter part of a topic name to get a list of similar topics, for example:
-
-- **faq** to get
-# TWiki Installation Error
-Incorrect format of searchformat template (missing sections? There should be 4 %SPLIT% tags)
-- **%USERSWEB%.users** to jump to the %USERSWEB% web from any web, and get a list of topics about users (all in one step)
-
-**_%T% Tip:_** Entering part of a topic name is a simple, yet powerful way to quickly navigate to content of interest, also in a large wiki.
-
-**_Note:_** The Go box is not a search box
-
-**_Related Topics:_** [[UserDocumentationCategory]]
diff --git a/TWiki/GoodStyle.mdwn b/TWiki/GoodStyle.mdwn
deleted file mode 100644 (file)
index 4f2ed4a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# <a name="GoodStyle Collaboration Tips"></a><a name="_GoodStyle Collaboration Tips"></a> GoodStyle Collaboration Tips
-
-- TWiki has a very simple **[[text formatting shorthand|Main/TWikiShorthand]]**. In any case, you won't go wrong if you simply:
-  - start each line without spaces
-  - separate paragraphs with a blank line
-
-- Run together capitalized words to form **[[WikiWords]]:**
-  - [[WikiWords]] automatically appear as hyperlinks
-  - make up meaningful, reasonably brief Wiki names - it can be a challenge (it'll sharpen you up!)
-  - [[WikiWords]] has name-creation tips that may help
-
-<a name="SignAndDate"></a>
-
-- If a **discussion** is going on:
-  - separate each follow-up with a space
-  - add your [[WikiName]] and the date at the end. Example:%BR% `-- Main.admin - 29 Jun 2010`
-  - OR, by all means, insert your comment where it seems to fit best:
-    - you may want to inset it with a bullet and/or _set it in italics_ so it's clear (always sign and date)
-  - if you'd like to use an initial, use a link with label. Example:%BR% `-- [[Main.admin][ZXQ]] - 29 Jun 2010`
-
-- A good format for a **new topic** is "dissertation followed by discussion":
-  - start with a brief, factual introduction, followed by double horizontal rules
-  - let the discussion begin
-
-- When a discussion dies down and the page becomes static, if you're clear on your course, feel free to **refactor mercilessly**:
-  - fearlessly edit down to capture the key points
-  - reduce the noise without losing the facts or the flavor
-  - if you merge or delete comments, group credit `Contributors:` at the end of the page
-  - _This is how Wiki content matures and grows in value over time._
-
-- For **external site links**, you can type URLs directly into the text - `http://etcete.ra/...` - it'll be clear to anyone where they're headed on click.
-
-- TWiki is intended for world-wide use, and an internationally understood date format like <code>**01 Sep 2010**</code> or <code>**2010-09-01**</code> is preferred. It's clearer than the xx/xx/xx format, where a date like 9/1/01 can mean either Jan or Sep, depending on the local conventions of the readers. For months, use the first three letters: Jan, Feb, Mar, Apr,...
-
-- **TIP:** Check the source when you want to find out how something is formatted: click <code>**Edit**</code> on the lower toolbar. To see earlier versions, click <code>**More**</code>, then check <code>**Raw text format**</code> and click <code>**View revision**</code>. A bit of HTML experience can't hurt, but you'll soon see with [[TWikiShorthand]] how far that is from necessary.
-
-**_Related Topics:_** [[UserDocumentationCategory]]
-
--- **_Contributors:_** TWiki:Main.MikeMannix, TWiki:Main.PeterThoeny
diff --git a/TWiki/HeadlinesPlugin.mdwn b/TWiki/HeadlinesPlugin.mdwn
deleted file mode 100644 (file)
index 2a91881..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-# <a name="Headlines Plugin"></a><a name=" Headlines Plugin"></a> Headlines Plugin
-
-<div>
-  <ul>
-    <li><a href="#Description"> Description</a></li>
-    <li><a href="#Syntax Rules"> Syntax Rules</a><ul>
-        <li><a href="#Rendering the <code>dc</code> namespace"> Rendering the dc namespace</a></li>
-        <li><a href="#Rendering the <code>image</code> namespace"> Rendering the image namespace</a></li>
-        <li><a href="#Rendering the <code>content</code> namespac"> Rendering the content namespace</a></li>
-      </ul>
-    </li>
-    <li><a href="#Examples"> Examples</a><ul>
-        <li><a href="#Slashdot News"> Slashdot News</a></li>
-        <li><a href="#Business Opportunities Weblog"> Business Opportunities Weblog</a></li>
-      </ul>
-    </li>
-    <li><a href="#Plugin Settings"> Plugin Settings</a></li>
-    <li><a href="#Style sheets"> Style sheets</a></li>
-    <li><a href="#Plugin Installation Instructions"> Plugin Installation Instructions</a></li>
-    <li><a href="#Plugin Info"> Plugin Info</a></li>
-  </ul>
-</div>
-
-## <a name="Description"></a> Description
-
-This plugin displays RSS and ATOM feeds from news sites. Use it to build news portals that show headline news.
-
-**_Note:_** Syndic8.com ( <http://www.syndic8.com/> ) is a good site listing many RSS feeds.
-
-## <a name="Syntax Rules"></a> Syntax Rules
-
-`%HEADLINES{"..."}%`
-
-<table border="1" cellpadding="0" cellspacing="0">
-  <tr>
-    <th bgcolor="#99CCCC"><strong> Parameter </strong></th>
-    <th bgcolor="#99CCCC"><strong> Explanation </strong></th>
-    <th bgcolor="#99CCCC"><strong> Default </strong></th>
-  </tr>
-  <tr>
-    <td><code>"..."</code></td>
-    <td> source of RSS feed; this can be an url (starting with http) or a web.topic location for internal feeds </td>
-    <td> None; is required </td>
-  </tr>
-  <tr>
-    <td><code>href="..."</code></td>
-    <td> (Alternative to above) </td>
-    <td> N/A </td>
-  </tr>
-  <tr>
-    <td><code>refresh="60"</code></td>
-    <td> Refresh rate in minutes for caching feed; <code>"0"</code> for no caching </td>
-    <td> Global <code>REFRESH</code> setting </td>
-  </tr>
-  <tr>
-    <td><code>limit="12"</code></td>
-    <td> Maximum number of items shown </td>
-    <td> Global <code>LIMIT</code> setting </td>
-  </tr>
-  <tr>
-    <td><code>header</code></td>
-    <td> Header. Can include these variables: - $channeltitle, $title: title of channel (channel.title) %BR% - $channellink, $link: link of channel (channel.link) %BR% - $channeldescription, $description: description (channel.description) %BR% - $channeldate, $date: publication date of the channel (channel.pubDate) %BR% - $rights: copyrights of the channel (channel.copyright) %BR% - $imagetitle: title text for site (image.title) %BR% - $imagelink: link for site (image.link) %BR% - $imageurl: URL of image (image.url) %BR% - $imagedescription: description of image (image.description) </td>
-    <td> Global <code>HEADER</code> setting </td>
-  </tr>
-  <tr>
-    <td><code>format</code></td>
-    <td> Format of one item. Can include these variables: %BR% - $title: news item title (item.title) %BR% - $link: news item link (item.link) %BR% - $description: news item description (item.description) %BR% - $date: the publication date (item.pubDate, item.date) %BR% - $category: the article category (item.category) </td>
-    <td> Global <code>FORMAT</code> setting </td>
-  </tr>
-</table>
-
-The `header` and `format` parameters might also use variables rendering the `dc`, `image` and `content` namespace information. Note, that only bits of interest have been implemented so far and those namespaces might not be implemented fully yet.
-
-### <a name="Rendering the &lt;code&gt;dc&lt;/code&gt; namespace"></a> Rendering the `dc` namespace
-
-The following variables are extracting the `dc` namespace info, that could be used in `header` and `format`. Nnote, that some of the variables are already used above. This is done by purpose to use different feeds with the same formating parameters. If there's a conflict the non-dc tags have higher precedence, i.e. a &lt;title&gt; content &lt;/title&gt; is prefered over &lt;dc:title&gt; content &lt;/dc:title&gt; .
-
-- $title: channel/article title (dc:title)
-- $creator: channel creator (dc:creator)
-- $subject: subject text; this will also add an image according to the subject hash list, see [[above|Main/WebHome#Subject_Images]] (dc:subject)
-- $description: ... (dc:description)
-- $publisher: the channel/article publisher (dc:publisher)
-- $contributor: ... (dc:contributor)
-- $date: ... (dc:date)
-- $type: ... (dc:type)
-- $format: ... (dc:format)
-- $identifier: ... (dc:identifier)
-- $source: ... (dc:source)
-- $language: ... (dc:language)
-- $relation: ... (dc:relation)
-- $coverage: ... (dc: coverage)
-- $rights: ... (dc: rights)
-
-### <a name="Rendering the &lt;code&gt;image&lt;/code&gt; namespace"></a> Rendering the `image` namespace
-
-An `image:item` is converted into an &lt;img&gt; tag using the following mappings:
-
-- `src`: image url (rdf:about attribute of the image.item tag)
-- `alt`: image title (title)
-- `width`: image width (image:width)
-- `height`: image height image:height)
-
-### <a name="Rendering the &lt;code&gt;content&lt;/code&gt; namespac"></a> Rendering the `content` namespace
-
-The variable $content is refering to the &lt;content:encoding&gt; content &lt;/content:encoding&gt;.
-
-## <a name="Examples"></a> Examples
-
-### <a name="Slashdot News"></a> Slashdot News
-
-Write
-
-    %HEADLINES{"http://slashdot.org/slashdot.rdf"
-      header="*[[$link][$title]]:* $description"
-      format="$t* [[$link][$title]]"
-    }%
-
-to get the latest Slashdot news as a bullet list format:
-
-%HEADLINES\{"http://slashdot.org/slashdot.rdf" header="---+!! [[$title|Main/Link]]$n $description" format="$t\* [[$title|Main/Link]]"\}%
-
-### <a name="Business Opportunities Weblog"></a> Business Opportunities Weblog
-
-Write
-
-    %HEADLINES{"http://www.business-opportunities.biz/feed" limit="3"}%
-
-to get the latest postings on the "Business Opportunities" weblog:
-
-%HEADLINES\{"http://www.business-opportunities.biz/feed" limit="3"\}%
-
-## <a name="Plugin Settings"></a> Plugin Settings
-
-Plugin settings are stored as preferences variables. To reference a plugin setting write <code>**%&lt;plugin&gt;\_&lt;setting&gt;%**</code>, for example, <code>**%HEADLINESPLUGIN\_SHORTDESCRIPTION%**</code>. **Note:** Don't modify the settings here; copy and customize the settings in [[Main.TWikiPreferences|Main/TWikiPreferences]]. For example, to customize the USERAGENTNAME setting, create a HEADLINESPLUGIN\_USERAGENTNAME setting in Main.TWikiPreferences.
-
-- One line description, shown in the [[TextFormattingRules]] topic:
-  - Set SHORTDESCRIPTION = Show headline news in TWiki pages based on RSS and ATOM news feeds from external sites
-
-- Refresh rate in minutes for cached feeds. Disable caching: `0`, default: `60`
-  - Set REFRESH = 60
-
-- Maximum number of items shown. Default: `100`
-  - Set LIMIT = 100
-
-- Use LWP::UserAgent, or fallback to TWiki's internal `getUrl()` method. Default: `yes`
-  - Set USELWPUSERAGENT = yes
-
-- Timeout fetching a feed using the LWP::UserAgent. Default: `20`
-  - Set USERAGENTTIMEOUT = 20
-
-- Name of user agent. Default: `TWikiHeadlinesPlugin/2.21`
-
-          * Set USERAGENTNAME = TWikiHeadlinesPlugin/2.21
-
-- Default header: (variables are explained in the syntax rules)
-
-          * Set HEADER = <div class="headlinesChannel"><div class="headlinesLogo"><img src="$imageurl" alt="$imagetitle" border="0" />%BR%</div><div class="headlinesTitle">$n---+!! <a href="$link">$title</a></div><div class="headlinesDate">$date</div><div class="headlinesDescription">$description</div><div class="headlinesRight">$rights</div></div>
-
-- Default format of one item: (variables are explained in the syntax rules)
-
-          * Set FORMAT = <div class="headlinesArticle"><div class="headlinesTitle"><a href="$link">$title</a></div>$n<span class="headlinesDate">$date</span> <span class="headlinesCreator"> $creator</span> <span class="headlinesSubject"> $subject </span>$n<div class="headlinesText"> $description</div></div>
-
-- Values taken from configure: (only supported if CPAN:LWP is installed)
-  - `$TWiki::cfg{PROX