2007-07-12 Christoph Sauer * 2.5.98 * Added jspwiki.basicAttachmentProvider.disableCache property. It takes a regex that let you define for which filename patterns to disable the browser cache. See more on this in the jspwiki.properties.tmpl comment * Fixed Bug in CreolePageFilter: Two tables seperated by a blank line where rendered as one table * Checked in German localisation for CoreResources 2007-07-12 Janne Jalkanen * 2.5.97 * Changed "validate.unsafechars" i18n pattern to fix a fatal bug with it. Also deleted "validate.invalidid", since it's no longer needed. * Updated Finnish localization (fi). 2007-07-11 Janne Jalkanen * 2.5.96 * Added a bunch of missing localizations, reported by Youheng Hu. New localizable strings in CoreResources are: - security.error.createprofilebeforelogin - security.error.blankpassword - security.error.passwordnomatch - security.error.illegalfullname - security.error.illegalloginname - security.user.loginname - security.user.fullname - security.user.email - validate.unsafechars - validate.invalidemail - validate.invalidid * WikiSession gains getLocale() method, which provides a cached locale object. 2007-07-10 Janne Jalkanen * [BUG 81] Added the _en resource bundles to the JAR build by copying the default bundles in build.xml. No bump, no functionality change. 2007-07-09 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.95 * Stabilising 2.5.94. * Remove editor type selector from CommentContent.jsp * Bugfix on tab switching in the Login and UserPreferences pages * Bugfix: the SIGN shortcut was not working in Edit Assist * Bugfix: typo in commonheader.jsp caused jspwiki-edit.js to be loaded twice * Bugfix: z-index adjusted for More.. menu to satisfy IE editors. * Fixed remaining xhtml issues. (BUG 9) 2007-07-08 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.94 * Cookie handling has been refactored. JSPWikiUserPrefs is now JSON based. Also the height of the edit textarea is 'cookiefied', so jspwiki remembers your prefered height of the editor area. (BUG 67) The RecentSearches memory has been added to the JSPWikiUserPrefs and doesn't require an additional cookie. (less cookie dirt) * Replace all hardcoded references to 'Main' by 'wiki.frontPage' (BUG 42) * Improved the loading of additional Javascript chunks. jspwiki-edit.js is now only loaded with plain.jsp, so no more interference with WikiWizard (BUG 78) * Major refactoring of the 'More...' dropdown menu. It now perfectly runs on Firefox, Opera, Camina, Safari and (i hope ;-) on IE. Plse test test test on IE6 and IE7 and report bugs. The new menu is also XHTML compliant. Many improvements have been done on the remaining XHTML compliancy issues. * The Editor type selector is now moved to the UserPreferences page, instead of the Edit.jsp. Changing the editor type during an edit session was dangerous, as changes to the page are not saved. Now you can set your preferred editor in MyPrefs. * The editor textarea has been boosted with Posteditor (see http://icebeat.bitacoras.com/mootools/posteditor/ for a demo) The textarea now supports the TAB key, smart 'typing pairs' (suchs as () [] {} ) and has some fancy tab-completion of commonly used commands. Try entering toc+TAB to see the effect. The PostEditor is only functional on non-IE browsers, and if Javascript is on. * The Editor assist toolbar provides a set of buttons to assist newbies in entering wiki markup. Supports both non-IE as IE, only if Javascript is on. 2007-07-06 Janne Jalkanen * 2.5.93 * RESOURCE_HTTPHEADER didn't work if adding dates. * AdminBeanManager is now a bit more robust if a bean is already registered. Thanks to Alex Samad for the patch. 2007-07-04 Janne Jalkanen * 2.5.92 * DiffProviders are now localized. Unfortunately, this meant an API change, so WikiEngine.makeDiff() now takes a WikiContext as a parameter. I don't think many people were using it, though, so it's not a major issue. * New localizations in CoreResources-bundle: - diff.traditional.added - diff.traditional.changed - diff.traditional.removed - diff.traditional.oneline - diff.traditional.lines 2007-07-03 Janne Jalkanen * 2.5.91 * There have been loads and loads of fixes to Checkstyle warnings. * Added RESOURE_HTTPHEADER from Alex Samad. Thanks! 2007-06-30 Janne Jalkanen * 2.5.90 * [Bug 71]: Login.jsp is now localized. All localizers, please note that there are three new strings to localize in "templates.default" -bundle: - login.error.capslock - login.error.password - login.error.noaccess * In addition, there are further localization done in top-level JSPs. New strings in CoreResources are: - security.error.noaccess.logged - security.error.noaccess - security.error.wrongip - rename.empty - rename.error.title - rename.error.reason - rename.identical - rename.exists - rename.unknownerror - lostpwd.newpassword.email - lostpwd.newpassword.subject - lostpwd.nouser - lostpwd.nomail - lostpwd.emailed - lostpwd.reset.title - lostpwd.reset.clickhere - lostpwd.reset.login - lostpwd.reset.unable - lostpwd.reset.blurb - lostpwd.reset.submit * Updated English and Finnish localizations (and fixed a couple of sillinesses in the Finnish localization) 2007-06-23 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.89 * Cookie handling has been refactored. JSPWikiUserPrefs is now JSON based. Also the height of the edit textarea is 'cookiefied', so jspwiki remembers your prefered height of the editor area. (BUG 67) * Fixed handling of form focus() logic. JSPWiki now correctly puts the focus on the first visible form element. This also resolves a JS crash on IE. * Some improvement on XHTML compliance (BUG 9) Still some refactoring needed on dropdown menu to improve compliance. * Added UTF8 support to AJAXSearch.jsp 2007-06-18 Janne Jalkanen * 2.5.88 * [Bug 24]: BugReportHandler no longer talks about "bug reports", but pages. Reported by Gregor Hagedorn. 2007-06-16 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.87 * BUG 62 resolved: no sensitve info in LeftMenu during Login. * Fix some SkinName issue relate to the new preferences object. * BUG 52 resolved: Diff.jsp and PageInfo.jsp should not be indexed * TextArea resize bar image. 2007-06-16 Janne Jalkanen * 2.5.86 * [Bug 29], search path is now trim()med properly. Thanks to David Au. * A couple of fixes to warnings courtesy of Alex Samad. * [Bug 12], AM/PM are now correct in preferences. * Created new Preferences object, and refactored some old preferences code from commonheader.jsp into it. This also means that instead of using ${prefTimeZone} you would use ${prefs["TimeZone"]} in your variables. This is far more extensible and future-proof than before. The HttpSession now gets a Preferences object under the name "prefs". There are also some utility methods in the Preferences class which abstract this away. (It's also a lot faster because we do not parse the cookie every single time.) * [Bug 63]: The default eclipse coding style file now has .xml suffix. * Checkstyle config under doc/eclipse also now gains a .xml suffix. 2007-06-14 Janne Jalkanen * 2.5.85 * Bug fix: Bug 58, BreadcrumbsTag.java does not compile under JDK 6 2007-06-13 Janne Jalkanen * 2.5.84 * Bug fix: Bug 8, Multiple spaces in page names are not cleaned 2007-06-11 Janne Jalkanen * Added Finnish localization. No version bump, as there is no functionality change. 2007-06-11 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.83 * Fixed blocking IE javascript bug. 2007-06-11 Christoph Sauer (sauer@hs-heilbronn.de) * 2.5.82 * Added German localisation. * Added missing i18n tags in PageInfo and UserPreferences 2007-06-10 Janne Jalkanen * 2.5.81 * Fixed a couple of localization issues (diff tab was not localized properly). 2007-06-09 Dirk Frederickx (dirk.frederickx@gmail.com) * Several XHTML STRICT compliance issues fixed. 2007-06-09 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.80 * Refactoring of SubmitOnce functionality, such that is doesn't harm when javascript is off. Wiki.SubmitOnce() prevents you from pressing submit buttons multiple times. Editing is now possible (and login etc.) while javascript is off. (ref. http://bugs.jspwiki.org/show_bug.cgi?id=3) * Added experimental GroupTab. * Info tab added to Upload.jsp * Minor missing i18n fixed. Small css fixes 2007-06-09 Janne Jalkanen * 2.5.79 * Fixed minor issue with default template saying "go" instead of "find". * First alpha release of JSPWiki 2.6. 2007-06-09 Andrew Jaquith * 2.5.78 * Even more little fixes to remove Checkstyle issues. 2007-06-09 Janne Jalkanen * 2.5.77 * Refactored EditorIteratorTag; Added editor changes to the UserPreferences. 2007-06-09 Dirk Frederickx (dirk.frederickx@gmail.com) * Info tab is back, now making use of the new tab url parameter. * Stylesheets of the Smart and OrderedList skins have been refactored. * Submit of the quick Navigation menu now defaults back to the advanced Search page. The same applies to clicking the looking-glass icon. * Upgraded to mootools v1.11 2007-06-05 Christoph Sauer (sauer@hs-heilbronn.de) * 2.5.76 * JSPWiki now supports WikiCreole 1.0: Checked in CreoleToJSPWiki renderer plus CreolePageFilter. This will allow users to operate JSPWiki in WikiCreole mixed mode. see http://www.wikicreole.org for more infos about WikiCreole. 2007-06-03 Dirk Frederickx (dirk.frederickx@gmail.com) * Same version * Progress bar fixed to run on Safari or Opera as well. It uses now css style visibility:hidden iso display:none. * Minor css fixes. 2007-06-04 Janne Jalkanen * 2.5.75 * JSON interface now actually checks whether the user has permission to call the methods. This was a relatively major security hole... :-) * Performance optimization to JSONSearch. 2007-06-03 Janne Jalkanen * 2.5.74 * Remaining patches from David to FCK editor support. 2007-06-03 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.73 * In-page Upload Progress Bar has been added based on jsonrpc backend. (i'm not yet 100% sure on the cross browser compatibility - can anybody check this on ie win ?) This replaces the Progress.Popup jsp. * Cookie handling fixed. Bug caused text-area size to be mixed up with font size. * New sort-icons added. Sortable tables have a better visibility now. 2007-06-02 Janne Jalkanen * 2.5.72 * D'oh, David's patch didn't make it completely to CVS. Now it should be there. 2007-06-01 Janne Jalkanen * 2.5.71 * Added UserManager.JSONUserModule * Fixed Admin.jsp such that it can no longer be invoked accidentally (don't expect it to be available in initial alphas). Turn on "jspwiki-x.adminui.enable=true" to see how it works. * Added initial, non-functional user management tab in Admin.jsp. * Added new AjaxWiki object to jspwiki-common.js to simplify AJAX calls (mootools is nice, but their AJAX API is insanely complex). * Added Murray's patch to enable event monitoring. * Added David Au's patch to fix remaining issues in FCK integration. * fckconfig.js: Disabled 'Insert Flash' button. * FCK.jsp: Fixed issue where image attachments would not be displayed when accessing JSPWiki via https. * PluginContent.java: Fixed issue where plugin error messages were appearing in FCK's editor area. * WysiwygEditingRenderer.java: Fixed issue where pagenames were appearing in their URL-encoded format in the href. * XHtmlElementToWikiTranslator.java: Beautify the generated wiki markup by printing a newline character after a linebreak. Fixed issue when generating wiki links with spaces in the pagename. Don't print a extraneous space after a link or an image anymore. * WysiwygEditingRendererTest.java: Added tests for pagenames with spaces. * HtmlStringToWikiTranslatorTest.java: Fixed several unit tests broken by this latest set of changes. 2007-05-30 Andrew Jaquith * 2.5.70 * Many, many little fixes to remove Checkstyle issues. * Removed the two-argument constructor from GroupPrincipal and its associated "wiki" field. This interacted in a very subtle way with LocalPolicy to prevent GroupPrincipal privilege grants from being processed correctly. We concluded that this "feature", while intended to be used with multi-wiki environments, was fatally broken from the start. This change is purely "under the covers" and users will not notice the difference or need to do anything special. * Minor tweaks to SessionMonitor and AuthorizationManager that should slightly reduce memory leak potential. * Introduced a new exception called DecisionRequiredException that denotes when an operation cannot complete because a person must make a decision. It is thrown by WikiEngine.saveText() and UserManager.setProfile(). 2007-05-29 Janne Jalkanen * 2.5.69 * Renamed TEST plugin as Test to be more in line with Java class naming conventions. Updated jspwiki_module.xml to still use TEST as an alias. * Tiny tweaks to some tests, who should now tell you what to do if they cannot connect to a database. 2007-05-29 Andrew Jaquith * 2.5.68 * Fixed a bug in the Ant script that were causing tests to refuse to run sometimes because of an (erroneous) Hypersonic error. * As of this build, we have eliminated the need to sign JSPWiki JARs for 95% of most users' deployments. The only case where you need to sign them, now, is when you wish to create a JVM-wide, consolidated security policy. We have retained an Ant target "signjar" for that purpose. If you are upgrading from an earlier version of JSPWiki and are using a customized policy, however, you MUST MUST MUST remove any "signedBy jspwiki" and "keystore" references, otherwise JSPWiki might act odd. * The container-specific/JVM-wide parts of the Java security policy have been moved to a new file, etc/jspwiki-container.policy. This is NOT bundled into the WAR because it isn't needed there in any event... 2007-05-28 Dirk Frederickx (dirk.frederickx@gmail.com) * SMART skin updated. Few bugfixes 2007-05-27 Janne Jalkanen * 2.5.67 * WeblogPlugin now considers ACLs - if the user does not have view permission on an entry, it's ignored on display. Also refactored the WeblogPlugin slightly to be more legible. * 2.5.66 * Added "url" parameter to TabTag to allow for Javascript-less tabs. * Removed WikiEventManager.WikiEventDelegate.m_client field, as it was not used anywhere. * UploadTemplate.jsp now uses the "url" parameter so that it's not possible to get broken URLs anymore (i.e. it looks just like a regular page view, but the URL says "Upload.jsp"). This would be pretty confusing to an user if you sent the wrong URL in email, and the recipient didn't e.g. have access to Upload.jsp, but did to Wiki.jsp... * Added doc/eclipse/jspwiki-checkstyle Checkstyle Eclipse preferences. * Added patch from Juan Pablo Santos Rodriques to add i18n targets to build.xml. 2007-05-26 Andrew Jaquith * 2.5.65 * Lots of little fixes for bugs FindBugs found. 2007-05-26 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.64 - 4th Brushed Template commit (still more to come) * Font size fixed. Various css enhancements. Skins not yet finished. * Enhanced Find page, including search scope (author, pagename, attachement), and on/off checkbox for find details. Find page is now ajax driven, but also functions properly when javascript is off. * Edit textarea is resizeable, with a cool drag effect. * GoToBottom and GoToTop links have icons instead of >> and << * Refactoring of Collapse and CollapseBox. New icons (+ and -) are being used. * Bugfixes on Tips JSPWiki style * Test Plugin added, to enhance use of JSPWiki variables. EG you can now use [{TEST name="context" match="edit" ...some body... }] for specific content in your leftmenu. More info at http://www.jspwiki.org/wiki/BrushedConditionalPlugin 2007-05-25 Janne Jalkanen * 2.5.63 * Fixed a couple of typos in default template (thanks to Frank Fischer). * Fixed a couple of typos in code (thanks to Murray Altheim). * Fixed HTML editor crashing when editing (thanks to David Au). 2007-05-22 Janne Jalkanen * 2.5.62 * Added CookieAuthenticationLoginModule. This module stores an UID in the user's browser, and automatically logs the user in, if the cookie exists. This can be a security hazard, so it is a good idea to disable it in jspwiki.jaas, if you are worried about local users being able to spoof identities. For this reason, it's by default disabled in jspwiki.jaas * Modified LoginContent.jsp to contain "Remember me?" checkbox. 2007-05-20 Andrew Jaquith * 2.5.61 * Fixed the last of the failing JWebUnit tests. Also added a new one that verifies that profile renaming operations correctly re-set group memberships and page ACLs. 2007-05-20 Janne Jalkanen * 2.5.60 * New, improved SpamFilter with Captcha recognition, if we suspect you to be a spammer. Captcha system is currently based on Microsoft Research's Asirra, though we will probably want to make it pluggable. I have to admit that this required far too much surgery in Edit.jsp to be nothing but a hack, but I have to get it off my hard drive. In addition, commenting does not work, if spam is detected. 2007-05-19 Janne Jalkanen * 2.5.59 * Again, a number of CheckStyle issues fixed. * Switched to new HttpMultipartRequest library (2.00b9) * Added upload progress bar. Unfortunately, it's still kinda kludgy, but we'll try to fix it. The backend stuff works; it's just the UI which looks like a brick of legos built by a two-year old. * New package: com.ecyrd.jspwiki.ui.progress, which manages different kinds of progress systems. 2007-05-14 Dirk Frederickx (dirk.frederickx@gmail.com) * i18n default.properties included, inline with last BrushedTemplate commit 2007-05-11 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.58 - 3nd Brushed Template commit (still more to come) * Quick Navigation box has been refactored and now uses the new RPC-JSON in the backend. Search icon added. * Update of all Editors, including FCK and WikiWizard. (i18n alignment) you can now also use wysiwyg editors in the Comment.jsp. There is still a widht/heigh bug in the combination WikiWizard & FireFox (visible in Comment.jsp) * Font-size is based on the default browser settings. For FF this is pretty large. You can now adjust the font-size in the UserPreferences. * Many bugfixes: e.g cookie handling. 2007-05-13 Janne Jalkanen * Installed "FindBugs" and "Checkstyle", and found about 1500 problems. This update fixes a number of minor code style issues. No functionality changes, therefore no revision bump. 2007-05-11 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.57 - 2nd Brushed Template commit (more to come) * Remove Info tab from all screens, as it causes overload on the wiki server, but also to avoid confusion when similar screens are served from different URLs. The info page has back it own existence, with small optimalisations. * Mootools library upgraded to v1.1, just released * Added code prettifier from Google. (use %%prettify around code blocks) * Several smaller refactorings on jsp's and i18n default.properties The new more-info menu gets replaced by dropdown when browser has javascript on. * Bugfix on numberformat reported by Frank Fisher. See http://www.jspwiki.org/wiki/BugAttachmentAndInfoTabsAreBlank 2007-05-08 Janne Jalkanen * 2.5.56 * Tiny refactorings all over the place; removing unnecessary imports, renaming fields, removing compiler warnings, that sort of stuff. * Removed jmxri.jar and jmxtools.jar from the distro - since we require 1.5 anyway to compile, there's not much point in putting them in here. Most J2EE containers already ship with a JMX implementation anyway. 2007-05-08 Janne Jalkanen * 2.5.55 * Tiny optimization for PageManager, improving the performance for pageExists(String,int), if CachingProvider is in use. This should help considerably in listing page histories. 2007-05-07 Janne Jalkanen * 2.5.54 * Several performance optimizations, including: * Added PermissionFactory, which caches the permissions using a WeakHashMap. Creation of PagePermissions is relatively expensive due to permissions parsing, so this should help a lot. All routines should be using the PermissionFactory.getPagePermission(), if possible. * Refactored AbstractCommand constructor so that it no longer uses String.replaceAll(), which is a very expensive operation due to regular expressions. It's still expensive, but the biggest pain point is now resolved. * InfoTab just lists ReferringPages one deep - three-level deep nesting ended up using something like 30% of all CPU power on a moderately link-heavy page. * Bug fix: if the user updated his account (e.g. by requesting a new password) AND his account was created in the old days when XMLUserDatabase was using platform default formatting for dates, the dates were in different formats, causing XMLUserDatabase to behave irrationally. * ReferredPagesPlugin now allocates a bigger buffer for creating html to avoid allocation overhead. Ditto for TabbedSectionTag. 2007-05-06 Andrew Jaquith * 2.5.53 * Changed the behavior of the UserDatabase and GroupDatabase classes so that the save/delete methods are atomic. Consequently, the commit() methods in these classes are deprecated and will be removed in a future release. The reason for this change is simple: the commit() methods made no sense and were never *not* used. Also, added a new method, rename(), that permits renaming of profile login names. References to commit() were removed from all classes, including test classes. * Recently added status flags for UserCheckTag were moved to UserProfileTag and renamed. The new property values are "canChangePassword" and "canChangeLoginName" and are used in ProfileTab.jsp to selectively display input fields. These properties also allow negation too (e.g., !canChangePassword). * UserManager receives final tweaks to allow profile renaming. Modified ProfileTab.jsp slightly to accommodate this new feature. * Minor de-stringification and anal-retentive i18n tweaks. * Fixed several failing web unit tests. A few still fail, though. 2007-05-05 Janne Jalkanen * 2.5.52 * Fixed TemplateManager.listSkins() so that it returns only directories, not everything. * Added SearchManager.JSONSearch.findPages(), though be warned that it can be really slow. An API change to SearchProvider needs to be done before this can be fixed. * Reformatted ChangeLog to word wrap at column 80 to make it more readable... * A major commit of new Admin.jsp and AdminTemplate.jsp and all the related paraphernalia. It's not yet complete, but the framework is getting there. Due to the use of JMX, JSPWiki now requires JDK 1.5 to compile (though it should happily continue to run under 1.4 as well). 2007-05-03 Dirk Frederickx (dirk.frederickx@gmail.com) * 2.5.51 - Brushed Template incorporated. * Bulk commit of Brushed Template. Expect things to be broken :-) JSPWiki now has a tabbed-user interface, skins, slimbox attach-viewer, improved jspwiki-styles suchs as table-filters, accordions, tips, etc. etc... Look 'n feel is still very ikea like. Read the jspwiki.css to change color scheme. Additional menu items are now visible via a "More...." dropdown. * Javascript is based on the mootools library. * Many JSPs are now driven by JSTL's EL. Not yet 100% completed. * Only plain editor has been updated. No work done yet on WikiWizard, FCK * The JSPWiki template has been tested on safari and FF. Feedback on IE 6.x and 7.x. is appreciated. * RecentChanges plugin now sets colspan correctly. (formatting of recent changes page) * Two skins added: Smart and OrderedList. These skins are not yet tested 100%. 2007-05-01 Andrew Jaquith * Enhancement: checked in back-end code that removes the restriction on changing login names and user names ("full names") after registration. To do this, UserManager emits a new WikiSecurityEvent called PROFILE_NAME_CHANGED that signals when the login name or user name changes. PageManager and GroupManager listen for this event, and will make all appropriate changes to page ACLs and groups that contain the old user name(s). The front-end changes (JSP tweaks) are nearly finished and will be checked in shortly. * Added a new method for AclManager, setPermissions(), that persists Acls. The DefaultAclManager (which extracts Acls from wiki page markup) implements setPermissions() by injecting the [{ALLOW ....}] markup into the wiki page. * Synchronized thread-sensitive methods in the AclImpl/AclEntryImpl class. 2007-04-28 Andrew Jaquith * Enhancement: user profile JSPs no longer request a distinct wiki name when a user registers. The wiki name is now computed automtically; it is the user name without any whitespace. This change should make registration even easier. In the various user manager/database classes, UserProfile/DefaultUserProfile.setWikiName() is hereby deprecated and will be removed in a future release. However, getWikiName() remains, as does the UserDatabase method findByWikiName(). The UserDatabase classes do not change their public APIs, and they still persist WikiNames so that they can be searched. However, when UserManager loads a profile from the UserDatabase, it always re-computes the wiki name. * Tweaked i18n resource file to remove references to "wiki names" in favor of just plain old "names." Typographically correct curly quotes were substituted wherever needed. 2007-04-23 Christoph Sauer * 2.5.48 - Bugfix * Bugfix: NullPointer Exception on initReferenceManager, reason was that it indirectly uses the filterManager -> m_filterManager has to be initialized before. 2007-04-23 Andrew Jaquith * 2.5.47 aka the JavaMail refactoring release * Enhancement: To increase security, MailUtil gains the ability to use container-managed JNDI JavaMail session factories, in addition to the standalone factory configured via jspwiki.properties. JNDI is now the preferred method of obtaining mail sessions, and will always be attempted first before falling back to the stand-alone method. See the JavaDocs for MailUtil. All of MailUtil's internal code, test properties and JavaDocs were also totally refactored. A sample JNDI block for JavaMail was added to web.xml; it is commented out by default. * Enhancement LostPassword.jsp now uses POST for form submission. * Enhancement: Profile registrations now automatically trigger an e-mail confirmation to the user, if an e-mail address was supplied. * Bug fix: page-save workflow does no longer sends rejection SimpleNotifications to users unless they have already authenticated when they save the page. Also, the submitter's authentication status is added as a Fact for the approver to consider. * WorkflowBuilder.buildApprovalWorkflow now interprets a null value for the rejectedMessageKey parameter as meaning "don't send a notification" upon rejection. * MailTest moved to the *.util package, which was where it belonged. 2007-04-22 Janne Jalkanen * 2.5.46 - my birthday release! * PermissionTag now allows a list of permissions just like CheckRequestContextTag, as well as negative permissions. Based on an idea by Dirk Frederickx (whose last name I will learn to spell one of these days). 2007-04-17 Andrew Jaquith * 2.5.45 * Checked in workflow support for user profile creation. Now, new profiles can be routed for approval before they become active. The name of the user, role or group that approves new profiles is contained in jspwiki.properties under the property jspwiki.approver.workflow.createUserProfile. If not supplied (the default), user profiles are created without requiring approval. * UserManager receives a proper unit test, at long last. We test with approval workflows turned on and off. * Minor bug fixes to the Fact and WorkflowBuilder classes. 2007-04-15 Andrew Jaquith * 2.5.44 * Found the b*****d. VariableManager makes an unsafe assumption that WikiContexts will always have an associated request and HttpSession. This isn't always true with a WikiContext passed along in a Workflow, which will come from an earlier point in, and from a potentiallly different, Http session. We now check explictly for the presence of the HttpSession before querying it for wiki variables. 2007-04-15 Andrew Jaquith * 2.5.43 * Many incremental changes to the workflow package to increase ease of use. A new WorkflowBuilder class includes a factory method for composing simple approval workflows. SaveWikiPageWorkflow and the workflow.impl package goes away, and instead the workflow code for saving pages moves to inner classes in PageManager (it is now much smaller because it uses WorkflowBuilder). * Unit tests for the page-save workflow now simulate PageFilter failures so that proper propagation of exceptions is verified. Should help Janne a lot. * Workflow.jsp receives minor UI tweaks, notably the replacement of submit buttons with a JavaScript-driven dropdown. The default.properties localization file receives properties in preparation for the new user profile workflow (not checked in yet, because it isn't debugged). * The UI for approving workflows currently contains a nasty, intermittent NPE that is resisting my best efforts to debug. It usually occurs when selecting the 'approve' option. It results in Decisions being removed from the workflow inbox, and the page does save correctly -- so it is essentially "cosmetic". However, it's ugly and we need to fix it. Assistance is most welcome. * If you are a US citizen, it is that time of year again. Many happy returns. 2007-04-09 Andrew Jaquith * 2.5.42 * Modified the PagePermission implies() algorithm so that the "rename" permission no longer implies "modify" (or "upload"). This will allow separation of uploading attachments from page edit/rename actions. Thanks to Tim Koop for the suggestion. * Added WikiContext.MESSAGE to support workflows and other processes that need to send a non-exception-related UI message in response to user events. Also added a top-level Message.jsp and template. Changed DisplayMessage.jsp slightly to use the tag, which gives us protection against cross-site scripting. * Added 'throws WikiException' to all methods meant to be implemented by workflow subclases: notably Step.start(), Decision.decide(), Workflow.start()/restart(). Now, if these methods encounter exceptions they will abort the workflow and propagate the exceptions to callers. * Many tiny little Javadoc fixes. * Fixed failing PageRenamerTest. 2007-04-10 Janne Jalkanen * 2.5.41 * Added David Au's new set of patches for WYSIWYG editing. * WikiEngine.scanWikiLinks() no longer renders the page; it just parses it. This should provide some speedup at startup. * Changed the default template resource bundle from webdocs/templates/DefaultResources.properties to etc/i18n/templates/default.properties (more logical). * Added class remapping ability. See etc/ini/classmappings.xml and ClassUtil.java for further information. This is not yet a complete feature, but it brings some simple AOP to JSPWiki. * Javascript is now localized. The key-string mappings reside in templates/