 |
This page (and all pages in the Tech: namespace) is a developer discussion about a feature that is either proposed for inclusion in JAMWiki or one that has already been implemented. This page is NOT documentation of JAMWiki functionality - for a list of documentation, see Category:JAMWiki.
|
This document captures items that may be considered for implementation for the JAMWiki 1.0.0 release. Note that general feature requests should be discussed on the Feature Requests page, but feel free to add comments about items on this page below, or to suggest items already on the feature requests page for implementation in this release. If you would like to contribute to this release see How to Help.
[Edit]Description
Items in the lists below may or may not be included in the next major JAMWiki release. Those items marked as "DONE" are committed to trunk and ready for release. Items marked as "IN PROGRESS" have code committed to trunk, but further work may be required for full completion. Items marked as "DEFERRED" will most likely not be included in JAMWiki 1.0.0 and will instead appear in a later release.
[Edit]Items planned for implementation
- [DONE - JAMWiki 0.9.0] Resize images displayed on image pages ([[:Image:Foo.jpg]]) so that they fit in the available space. Currently huge images make a mess of the page.
- [IN PROGRESS] Further performance enhancements (index to speed up "Contributions" links, etc)
- Revisit Spring and Spring Security 3.0 to look for new functionality that can be better integrated into JAMWiki.
- [DEFERRED] Add support for parser extensions, such as Wikitravel's listing tags.
- [DONE] Add support for <h1> and other heading tags.
- [DONE] Move interwiki management to the database, and potentially other values that are currently file-based. Rationale is that upgrades are easier when there aren't a lot of different files that need to be individually managed.
- [DEFERRED] Refactor the spam blacklist to no longer be file-based. See mediawiki:Extension:SpamBlacklist for Mediawiki's implementation.
- [DONE] Fix HTTP response codes so that non-existent and redirect topics return appropriate codes (404 for non-existent, 301(?) for redirect - note that Mediawiki returns the standard 200 even for redirects).
- [DONE] Shared image repositories. It is unlikely that integration with Wikimedia Commons will be done for this release, but it should be possible to designate a virtual wiki to act as a shared image repository for all wikis installed within the same instance.
- [DEFERRED] Add support for wikitext in edit summaries.
- [DONE] Clean up the admin screens. They are getting too cluttered, so consolidate options and/or implement a new UI, such as the sub-tab interface used by Mediawiki.
- [DONE] Namespace all Javascript.
- [DONE] Per virtual-wiki logos, title, etc: Tech:Virtual Wiki Enhancements.
- [DONE] Update the Special:Diff UI to show edit time, author, comment, etc - basically, match Mediawiki.
- [DEFERRED] Update the UI on image pages to more closely match Mediawiki (thumbnails, dimensions, revision dates, etc).
- [DEFERRED] Move the system topics (StyleSheet, LeftMenu, BottomArea) to the JAMWiki: namespace.
- [DONE] Update the Special:Diff HTML to more closely match Mediawiki (see Feedback#Diff HTML).
- [DEFERRED] Display a broken image icon, rather than the image path, when an image is corrupt or can't be rendered (updates needed in both ImageLinkTag classes).
- [DONE] Add support for <onlyinclude> ("<onlyinclude> this content will render here and will render there </onlyinclude> but the rest of the article will be excluded from rendering there.")
- [DONE] Improve image resizing, both quality and performance.
- [DONE] Mediawiki treats "Topic" and "topic" the same (although "Topic" and "TopiC" are treated differently). JAMWiki should at least implement an option to support capitalizing topic names. See Bug Reports#Capitalization of article names MATTERS the first letter.
- [DONE] Copy all properties from the jamwiki.properties file into a database table. While this isn't of any use now, for JAMWiki 1.2.x (when upgrading from versions prior to 1.0.x is no longer an option) the upgrade process can be greatly simplified since the jamwiki.properties file could be mostly deleted and would no longer need to be copied during upgrades.
- [DONE] Consolidate logging with SLF4J.
- [IN PROGRESS] Add pagination to category pages when there are large numbers of images/topics.
- [DONE] Bug Reports#Employ consistent naming of special pages
- [DEFERRED] Add confirmation to Special:Admin when the user changes a value but does not save the form.
- [DONE] Bug Reports#Date and time are not in locale formatted in JSPs
- [DONE] Resized images should be placed in a directory outside of the normal upload folders to allow them to be easily deleted for cache clearing purposes.
These items were rolled over from JAMWiki 0.9.0. If a particular feature is of interest to you and you are willing to do some research, help with debugging, or write code, please leave a comment below and get involved - user enthusiasm is often a driving force behind getting features into a JAMWiki release.
[Edit]Author(s)
[Edit]Implemented
- Convert the "what links here" code to query a database table, rather than relying on the search engine, and update Special:OrphanPages appropriately. Added in revision 3081.
- Shared image repositories. revision 3115 adds the ability to specify a virtual wiki as a "shared repository". Users can then access any image/file from that virtual wiki as if it was uploaded on their current virtual wiki. -- Ryan • (comments) • 02-Jul-2010 12:55 PDT
- Add support for <h1> and other heading tags. Added in revision 3118
- Clean up the admin screens. They are getting too cluttered, so consolidate options and/or implement a new UI, such as the sub-tab interface used by Mediawiki.
- revision 3126 sub-divides all admin screens using Javascript tabs to better organize content. Non-Javascript browsers will still work, but those users will see all options at once, rather than per-tab. -- Ryan • (comments) • 11-Jul-2010 23:05 PDT
- revision 3129 moves interwiki link patterns to the database rather than in the
interwiki.properties file. A new admin UI (currently a tab on Special:VirtualWiki) provides capability for managing these records. Note that only a small number of the old interwiki records are automatically copied over, but users can easily create others that are needed. The reasoning behind this change is a desire to simplify upgrades and management by consolidating how things are configured, and this was a relatively easy opportunity to re-work a non-standard configuration. -- Ryan • (comments) • 14-Jul-2010 21:19 PDT
- revision 3138 adds support for displaying virtual wiki and interwiki links in boxes in the left nav. -- Ryan • (comments) • 25-Jul-2010 21:57 PDT
- revision 3131 namespaces all Javascript.
- Fix HTTP response codes so that non-existent and redirect topics return appropriate codes (404 for non-existent, canonical meta tag specified for redirects). Done in revision 3142. -- Ryan • (comments) • 31-Jul-2010 10:43 PDT
- revision 3143 updates the error page to always return HTTP 500 (Internal Server Error). -- Ryan • (comments) • 31-Jul-2010 11:28 PDT
- Update the Special:Diff UI to show edit time, author, comment, etc - basically, match Mediawiki.
- revision 3145 adds support for everything but user information. -- Ryan • (comments) • 31-Jul-2010 23:28 PDT
- revision 3146 adds support for displaying user information, but edit type (minor, import, etc) is still TODO. -- Ryan • (comments) • 01-Aug-2010 09:37 PDT
- revision 3149 adds support for edit type and refactors some of the diff.jsp code slightly. -- Ryan • (comments) • 01-Aug-2010 20:35 PDT
- revision 3151 updates the Special:History page to display additional revision information when viewing old topic versions. -- Ryan • (comments) • 02-Aug-2010 21:18 PDT
- Parser:
- Per virtual-wiki logos, title, etc: Tech:Virtual Wiki Enhancements.
- revision 3199 adds logo_image_url, site_name and meta_description to the jam_virtual_wiki table. -- Ryan • (comments) • 06-Sep-2010 16:45 PDT
- revision 3200 makes this functionality. There are still some enhancements that need to be done to the Special:VirtualWiki UI, and I think it may make sense to put the default values into a new database table, rather than in properties files, but I'm still giving that some thought. -- Ryan • (comments) • 06-Sep-2010 21:00 PDT
- revision 3201 cleans up the Special:VirtualWiki UI a bit and updates some message keys to reflect recent changes. This functionality is essentially complete, but it may still make sense to move the defaults out of the properties files, or at least move them from Special:Admin to Special:VirtualWiki. -- Ryan • (comments) • 07-Sep-2010 13:09 PDT
- Mediawiki treats "Topic" and "topic" the same (although "Topic" and "TopiC" are treated differently). JAMWiki should at least implement an option to support capitalizing topic names. See Bug Reports#Capitalization of article names MATTERS the first letter. Implemented in revision 3218. -- Ryan • (comments) • 18-Sep-2010 12:26 PDT
- Copy all properties from the jamwiki.properties file into a database table. While this isn't of any use now, for JAMWiki 1.2.x (when upgrading from versions prior to 1.0.x is no longer an option) the upgrade process can be greatly simplified since the jamwiki.properties file could be mostly deleted and would no longer need to be copied during upgrades.
- Bug Reports#Employ consistent naming of special pages
- Resized images should be placed in a directory outside of the normal upload folders to allow them to be easily deleted for cache clearing purposes.
- Improve image resizing, both quality and performance. Investigate something like ImageJ as an alternative image processing library.
- revision 3202 changes the image scaling algorithm to one suggested by http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html to produce much higher quality images. This change should also be moderately faster. -- Ryan • (comments) • 09-Sep-2010 19:13 PDT
- revision 3203 should speed up image processing and improve memory usage by avoiding the need to read and process full images in many cases. -- Ryan • (comments) • 09-Sep-2010 20:21 PDT
- Note that after reviewing available image libraries it doesn't look like there is a suitable open source library available, so improvements will likely just consist of enhancements to the existing JAMWiki image library code. -- Ryan • (comments) • 09-Sep-2010 20:43 PDT
- Particularly with Java 6, image resizing has been been vastly improved from both a quality and performance standpoint for JAMWiki 1.0.0. -- Ryan • (comments) • 14-Dec-2010 05:19 PST
- Consolidate logging with SLF4J.
- Bug Reports#Date and time are not in locale formatted in JSPs
- revision 3345 consolidates existing date patterns in the JSPs so that instead of four there are now three. This is similar to Mediawiki. -- Ryan • (comments) • 24-Dec-2010 13:14 PST
- revision 3346 converts the JSPs to use property values for patterns instead of hard-coded patterns. -- Ryan • (comments) • 24-Dec-2010 14:11 PST
- revision 3357 implements the Special:Admin UI for this functionality, including support for "SHORT", "LONG" and other default pattern types.
- Add support for <onlyinclude> ("<onlyinclude> this content will render here and will render there </onlyinclude> but the rest of the article will be excluded from rendering there.")
- revision 3367 adds support for this tag. I may create a few more test cases and look into some possibilities for cleaning up the code, so this issue will remain "In Progress" for now. -- Ryan • (comments) • 30-Dec-2010 09:08 PST
- Update the Special:Diff HTML to more closely match Mediawiki (see Feedback#Diff HTML).
[Edit]In Progress
- Further performance enhancements (index to speed up "Contributions" links, etc).
- revision 3167 adds indexes to jam_topic.namespace_id and jam_topic.virtual_wiki_id, slightly improving topic lookup performance. -- Ryan • (comments) • 15-Aug-2010 23:03 PDT
- revision 3170 improves topic lookup performance by ~10% by optimizing the code to split topic names into namespace & page name. -- Ryan • (comments) • 15-Aug-2010 23:03 PDT
- revision 3177 should speed up user contribution retrieval significantly by indexing key columns. -- Ryan • (comments) • 21-Aug-2010 21:09 PDT
- revision 3208 should noticeably improve the time it takes to import a file using Special:Import by reducing the amount of parsing that must be done. -- Ryan • (comments) • 11-Sep-2010 10:16 PDT
- Add pagination to category pages when there are large numbers of images/topics.
- Simplify the installation and upgrade process.
- A new jam_configuration table now stores configuration information and should allow eventual simplification of the upgrade process, but that benefit will not be seen until JAMWiki 1.2.0 when the ability to upgrade from JAMWiki versions prior to 1.0.0 is removed. -- Ryan • (comments) • 14-Dec-2010 05:19 PST
- In addition, several file-based configuration files such as interwiki.properties have been moved to the database for JAMWiki 1.0.0. -- Ryan • (comments) • 14-Dec-2010 05:19 PST
[Edit]Deferred
- Add support for parser extensions, such as Wikitravel's listing tags.
- At this point it is unlikely that there will be time to implement this feature without delaying the final JAMWiki 1.0.0 release. -- Ryan • (comments) • 11-Nov-2010 20:27 PST
- Refactor the spam blacklist to no longer be file-based. See mediawiki:Extension:SpamBlacklist for Mediawiki's implementation.
- At this point it is unlikely that there will be time to implement this feature without delaying the final JAMWiki 1.0.0 release. -- Ryan • (comments) • 11-Nov-2010 20:27 PST
- Add support for wikitext in edit summaries.
- At this point it is unlikely that there will be time to implement this feature without delaying the final JAMWiki 1.0.0 release. -- Ryan • (comments) • 11-Nov-2010 20:27 PST
- Implement user blocking by login & IP address.
- At this point it is unlikely that there will be time to implement this feature without delaying the final JAMWiki 1.0.0 release. -- Ryan • (comments) • 11-Nov-2010 20:27 PST
- Tech:Email - email integration.
- At this point it is unlikely that there will be time to implement this feature without delaying the final JAMWiki 1.0.0 release. -- Ryan • (comments) • 11-Nov-2010 20:27 PST
- Potentially allow JAMWiki to be installed without the need to use an exploded WAR structure.
- At this point it is unlikely that there will be time to implement this feature without delaying the final JAMWiki 1.0.0 release. -- Ryan • (comments) • 11-Nov-2010 20:27 PST
- Tech:FCKEditor Integration
- Move the system topics (StyleSheet, LeftMenu, BottomArea) to the JAMWiki: namespace.
- In order to finish the JAMWiki 1.0.0 release in a reasonable amount of time this feature is being deferred. -- Ryan • (comments) • 14-Dec-2010 05:19 PST
- Display a broken image icon, rather than the image path, when an image is corrupt or can't be rendered (updates needed in both ImageLinkTag classes).
- In order to finish the JAMWiki 1.0.0 release in a reasonable amount of time this feature is being deferred. -- Ryan • (comments) • 14-Dec-2010 05:19 PST
- Update the UI on image pages to more closely match Mediawiki (thumbnails, dimensions, revision dates, etc).
- For various reasons, including the fact that JAMWiki does not currently store image dimensions (although they do get cached), this feature is too involved to be a late addition, so it will be deferred. Note that some of the messaging and other non-functional aspects of the image page may be cleaned up slightly, but thumbnails and image dimensions will not be included. -- Ryan • (comments) • 30-Dec-2010 12:07 PST
have been waiting since the 0.6.x or 0.7.x days for a Rich Text Editor. No time to code or anything atm, but once that makes it in, am planning on hosting jamwiki for a few customers and from then can probably at least provide some fin support. —The preceding comment was added by 203.206.187.157 (comments • contribs) .
- I think this may actually get integrated for JAMWiki 1.0.0 - my current employers have asked about it, so I've started working on it locally. Tech:FCKEditor Integration#Status has additional details, but please continue to follow-up as user interest is an important driving force for feature implementation. If you're willing to help test please let me know and I'll make sure a beta release is available once the feature is ready. -- Ryan • (comments) • 27-Jun-2010 22:39 PDT
- Sadly it now looks like this will slip again. I got the Mediawiki-FCKEditor code working with JAMWiki, but it loses all non-HTML markup (categories, comments, TOC, etc) and fixing that is a major task. I will continue to revisit this each release cycle and hopefully something will eventually get done. -- Ryan • (comments) • 01-Dec-2010 23:11 PST