****************************************************************** * $Id: TODO.txt,v 1.456 2006/04/16 17:27:35 minhnn Exp $ ****************************************************************** mvnForum Todo List ------------------------------------------------------- Author: Minh Nguyen - minhnn at MyVietnam net Last update on: $Date: 2006/04/16 17:27:35 $ NOTE: All feature suggestions should be discussed at http://www.mvnForum.com/mvnforum/index . Make sure that your feature suggestions are not in this TODO list TODO List: things must be done for version 1.0 final release ------------------------------------------------------ Discussion : After 4 year of development, the 1.0 GA is considered of having needed features for a complete forum software. The next release 1.1 will have major refactor and require JDK 1.4 The high priority is the documentation, which will be fully reviewed and more topic will be added. - Add small icon for mvnForum TODO List: things must be done for version 1.1.0 ------------------------------------------------------ - Update the test system in the Admin zone - [TOP PRIORITY] : Update all documentation - Bug that cannot show action (action is null) - Analyze source code with http://pmd.sourceforge.net/ - Not run when use ODBC-JDBC - OnlineUserManager should be mutual exclusive of Servlet and Portlet - If there is 1 category and no forum, the index display is not good - If the forum does not has any thread, the icon should show no new thread - Last IP in viewmember in admin zone always null - When forum with no thread, the icon should be "no new post" - JDBC Lucence http://www.compassframework.org - Add regulation page before registration, consider load content file file system - When config mvnforum and mvncore, make sure the class is assignable to the correct interface - Move jsp files to WEB-INF - trow0 still exist in viewthread.jsp - http://ha.ckers.org/xss.html http://quickwired.com/kallahar/smallprojects/php_xss_filter_function.php http://searchappsecurity.techtarget.com/featuredTopic/0,290042,sid92_gci1159317,00.html http://searchappsecurity.techtarget.com/featuredTopic/0,290042,sid92_gci1164790,00.html http://searchappsecurity.techtarget.com/originalContent/0,289142,sid92_gci1176445,00.html - Review and make improvements to the contrib daily mvnForum - processmessagesuccess.jsp : should split into 3 files? (also have dupplicated code) - In viewmessage, should have a link to mark as unread - Rewrite so that all code will depend on ContextListener and will not run if this class has not been called - Bug in addpost.jsp when swap characters in Danish language in IE - On portal on page viewmember, check if the first email is null or not - Set the language for Guest (thread=3455) - Test on MySql 5.0.x - Bug when run getBeans_withSortSupport_limit_general on 90.000 rows (thread=3463) - http://joda-time.sourceforge.net/ : see anything interested here - Pager that support portlet - Tomcat Realm based on mvnforum user database (use the patch that already in mvnForum.com) (thread=2782) - Show log.info when wrong captcha (need to read private data 'response' from class Gympy) - Support Derby and PointBase - WebTest: http://webtest.canoo.com/webtest/manual/WebTestHome.html - Security Framework: http://acegisecurity.org/ - Write class or tag lib to generate the css link : new CSSRow.getNextRowCSS() - Add method isRootAdmin(request) to check for the root admin - Add parameter to disable confirm current password (can be final variable, only change at compile time) - Publish the role "mvnforumadmin", if user has this role, then he will be come a root admin - Test context.xml to use JNDI datasource (thread=3252) - tuong [203.162.3.77] Mozilla/4.0 (compatible; MSIE 5.0; Windows NT) - Move Portal.java to mvncore-portlet - Fix new issue of javascript when Phong change addpost.jsp and addmessage.jsp - config a new folder for i18n properties files i18n mvncore mvnforum ... - Attachment moderation addon (Thanks Miranda) (thread=3090) - Maybe you could make a small enhancement that would not increment the view count if it came from the same user (ip check or something?) for a specified amount of time? (thread=3217) - How can I allow a Member to delete their own attachments? (thread=2509) - Wrong css in error.jsp - Support name in the MailMessageStruct - When in activation mode, warning when change email - addmembersuccess.jsp : change : String defaultUrl = "login.jsp"; - in viewmessage, the jump to folder is hard coded - Navigation in search member is not correct - Remove compression, the admin zone is not correct anymore - If not existed member, then editgroupowner.jsp?group=6 show bad error message - When submit send mail, the preview button is not disabled - In searchresult page, click reset hide the current VN type mode - This method could throw java.lang.InternalError when run on Linux com.mvnforum.common.MVNCaptchaService.buildInitialFactories() - Search Private forum does not okie - Edit group -> Jump to view group - The Oracle script should have the query to delete trigger - Some helper method in DAOImpl should be private - The database code in package auth should change to DAO and DAOImpl - Thread is lock, but still change the thread type ??? - When move to a moderated forum, what should we do? - CMS: not allow "." in nice name - Change the CSS to be compatible with the portlet - Portlet Mode should be exclusive -> use a new servlet mapping for download stuff - Add member, result in wrong day, maybe the problem is timezone - Show warning in admin zone if the urlpattern is default (/mvnforumadmin/*) - Move the init to global ContextListener, and make sure if init is not called, then servlet should not run - A new class in MVNCore to init this module - Accessing database from servlet thread (thread=3060) Issue on Websphere 5.0 - Not run when enable captcha and server does not support image - Support new method getMemberPostCount in the interface OnlineUser - Problem with compression in admin zone in Websphere and Jetty - Not run when MySql 4.1 and not use the new style of the connection string - Change Skin -> CSS Template - Change the dateformat, add to CHANGE.txt thread=3061 - Accessing database from servlet thread (thread=3060) - Translation error of Chinese taiwan (thread=3049) - watches for unmoderated posts for moderators (thread=3098) - The date format of Atom is not correct rome.dev.java.net - RSS2: Installation & Upgrade escape it, also check processAdd of cat and forum - Implementation of JNDI for mail sessions (Thanks Mat) One more remark that has to be added to the documentation: if using JNDI for mail then activation.jar and mail.jar must be removed from the WAR / EAR and placed into the application server lib directory (Tomcat: common/lib). - Text change in message (swedish in IE) (thread=3256) - Remove the font color in tag - Email notify the author of first post when move or delete a post/thread - admin/updatemembersuccess.jsp : redundant ??? - Action in form does not work, ex: edittemplate - "> - not encode Member_Html - RSS Summary auto refresh is not as other pages ??? - Another closed ToDo: table prefix from mvncore.xml (Thanks Mat) - Support phpBB2mvnForum (thread=3030) - Show only forum for selected category on forum list page (thread=2934) - Fix : In Opera 7.5, when you reply to a post, then choose some formatting, like bold or font, instead of launching a popup it will repeat the text in your post. (thread=2645) - Update the Japanese too - Review WYSIWYG editor (patch from ghpayne) (thread=2790) - Test on App Server: Sun Java System Application Server Platform Edition 8.1 2005Q1 (thread=2918) (thread=2790) - Support permission User Admin - Cannot run on Websphere 6 (thread=2904): need to move taglib from inc_common.jsp to outside - Localize <%if (memberBean.getMemberActivateCode().length()>0 ) {%> Pending <%} else {%> Not Activated - If login as customization, the ensurePassword should be checked - Bookmark a page - Authentication for RSS: Magnus\BasicAuthenticationFilter.java (thread=2572) - Review and add Realm contributor (thread=2782) - Review ClamAV mod (thread=2801) - Review http://pjl-comp-filter.sourceforge.net - Change the read/unread icons - Seperate DatabaseConfig.TABLE_PREFIX - About the upgrade script of SqlServer7 (thread=2814) - Issue when logout when integrate with realm - Fix bug in the upload file name (thread=2721) - Filter to remove the mvnCode - Write comment for important field in DB in the Bean - //if (!isUnsignedInteger(document.submitform.server_hour_offset, "server_hour_offset")) return false; - Problem with codepage (russian). (thread=2739) - Fix bug admin.ForumAdminServlet (ForumAdminServlet.java:117) - Error assertion java.io.IOException: This output stream has already been closed at net.myvietnam.mvncore.servlet.filter.CompressionResponseStream.close(CompressionResponseStream.java:188) at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:282) at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:111) (thread=2716) - mvnforum.common.member.name_visible = Name Visible in the language files may be misleading. (thread=2691) - Also, i'm interested in a feature that would email users when a moderator denies their message. Is this feature coming in any of your upcoming releases? (thread=2788) - Update all language translation - Check CSS with http://jigsaw.w3.org/css-validator - Check HTML with http://validator.w3.org - Missing localization in front end OnlineUserAction.java (thread=2675) - In index page, add link to delete cookie - Upgrade tool to update hsqldb from SMALLINT to INT - Remove the null System.out. that output to the console - Remove tab in jsp file - mvnforum.common.order is duplicated - Check ORDER BY issue of interbase as in firebird - Fix issue of caching of avatar (no change when new upload) - Change SMALLINT to INT to all databases - Fix null (return "cannot get description (action is null)";) - Test delete PmAttachment on DBMS: DB2, Sql Server - MVNForumPermissionFactory.java should change to interface and implementation - mvnforum.common.of -> need to review it - Think of a way to put more link to the menu in header - Image for each language - String.ReplaceAll on JDK 1.3 http://forum.java.sun.com/thread.jspa?threadID=249106&messageID=1912821 Du`ng treeMap for caching localize : Cannot activate an already activated member. Trong khi rebuild 1 index thi` disable rebuildall link luon - Rebuild tang dan cho Member - Research error (thread=2867) java.lang.NoClassDefFoundError net.myvietnam.mvncore.info.DatabaseInfo.(DatabaseInfo.java:71) com.mvnforum.MVNForumConfig.setMVNForumHome(MVNForumConfig.java:171) com.mvnforum.MVNForumConfig.reload(MVNForumConfig.java:768) com.mvnforum.MVNForumConfig.load(MVNForumConfig.java:757) MultipartStream multi = new MultipartStream(input, boundary); multi.setHeaderEncoding("UTF-8"); - Khi disable login thi` ko cho login qua cookie - Khi disable new post thi` ko cho hien thi link Add new Thread/Post ja.properties improvements http://www.mvnforum.com/mvnforum/viewthread?thread=2769 if enable portal_index, should have link all forums enable member_birthday enable member_gender Incidentally, I use realm authentication, and I've noticed in places where a user has insufficient rights to do something (in particular, if the user is not allowed to change an avatar) the user is directed to the STANDARD logon page instead of the realm logon page. (thread=2699) Adminpage tries to save "index" (thread=2779) Store avatars and attachments in database (thread=2772) - Consider to change MemberSignature from VARCHAR to TEXT DOC TODO: - Note that can use mvnplugin\mvnforum\testdatabase.jsp.txt - Note lucene implementation for Chinese, Japanese - Update docs for the RC4 (with Cord's help) - Write guide how to config utf-8 in MySql 4.1 - Question: do I need to setup transaction? (Answer: no, because mvnForum does not use transaction) - Question: I have a question about rank managment. How do I change specific users rank to be a personal rank based on the users status within the forum as opposed to how many posts they've made. (thread=2639) - Configuration guide - Update the docs of DEVELOPER.txt since it is quite outdated - I18N.txt : note that translator should review the daily mvnForum - RebuildIndexTask throws NullPointerException (thread=2658) - MySql 4.1.x create database mvnforum default character set utf8 - How to customize the "mvnForum" - How to install on the same context - What's the difference b/w a Locked thread and a Closed thread? (thread=2864) - NOTE: how to get around the search encoding issue - NOTE this URIEncoding="utf-8" in Tomcat - How to add new page (thread=3376) - difference between 'enabled' and 'activated' users - in INSTALL.txt, should mention testserver.jsp and testdatabase.jsp - why not show formatted text? (thread=3444) - Search problem with encoding (thread=3465) - Differences between Announcement, Global Announcement and Sticky (thread=3461) - Database parameter (thread=3462) - Note that if user dont have permission to edit own post, then he cannot add attachment TODO List: things must be done for version 1.2 ------------------------------------------------------ - [TOP PRIORITY] [All] review guest and reimplement full Import/Export feature These two are connected, since you need to handle situations with anonymous posts and attachments - [Need Imanic's help] Move the package of import/export outside current admin package - Bug in Recent Threads Display (thread=3494) - Copy thread from one forum to other forum (thread=3493) - Add option to limit the extension of upload file (thread=3475) - Send PM to a group if he is the admin (thread=3507) - Good forum software http://mysql.lybbs.net/ - Admin needs to specify which link makes error message on ListUserOnline page. - OnlineUser should have method to return collection of group and the user belong to (thread=3375) SELECT groupName from mvnforumGroups, mvnforumMemberGroup WHERE (mvnforumGroups.GroupID = mvnforumMemberGroup.GroupID) AND (mvnforumMemberGroup.MemberName = 'admin') - Highlight new or unread messages (thread=2729) - Suggesting a feature: it would be nice if each individual user could choose his own invisibility/visibility (for example, at the login stage; as I've observed from some other forum). (thread=2865) - List thread that a user participate (provide as web and as RSS) http://www.diendanlinux.org/diendanlinux/mvnforum/viewthread?thread=121 - support mail resources through JNDI (Mat's idea) - Support link "file://" - [ Minh Review ] - Integrate the build.xml of the docs to the mail build.xml - Separate mvncore.exception.AssertionException.not_exist_or_not_file_to_be_downloaded into 2 exception - Add FileUtil.checkExitedFile() and FileUtil.checkExitedDirectory() - Provide the quickstart disto such as uPortal - Add/remove permission page, the "Add" and "Remove" should be considered when localizing - Check keys should support the encoding - Check ophan Post: SELECT mvnforumPost.PostID , mvnforumThread.ThreadID, mvnforumPost.ThreadID FROM mvnforumPost LEFT JOIN mvnforumThread ON mvnforumPost.ThreadID = mvnforumThread.ThreadID WHERE mvnforumThread.threadID IS NULL - Research the login mechanism of RSS and ATOM - Allow login for the first time with the login information in the request - Sort By in Favorite Threads - localize changepassword in Admin zone - Do not filter emoticon if enable_emoticon = false - The color of quota usage should be in the css - Currently, when update new message, only check in the INBOX - RSS: have option to get the rowsToReturn and bytesToReturn - Localize the Email content - Fix bug that in listthreads, the mvncode is is removed or processed correctly - MVNForumConfig.ENABLE_AUTO_FORUM_OWNER = false - New permission: can AdminUser: view online status, usermanagement - I dont like the ability to post pictures.. I hope it's optional. Think the generic solution (limit some mime types) - Oracle cannot send mail to Tester - Change default behavior to search substring (thread=2660) - mvnforumMember : MemberPassword VARCHAR(200) : need test on DB2, Firebird, database not support: postgreSql 7.x (8.x is okie), hsqldb TODO List: things must be done for version 1.3 and later ------------------------------------------------------ - [TOP PRIORITY] Fix all known bugs - [TOP PRIORITY] Add a web setup tool - [TOP PRIORITY] Need a XML/database schema to store all config - Split thread - Preview attachment image, patch by Serobit (thread=3270) - Option to kick off user - Noisy thread/post option - a button on the register page to check the availability of the account name - When login via Customization, have method in Authenticator to validate current password (thread=2226) - Support enable PM_statistics - Option to run in Google like invitation mode - Allow/Deny list for moderation - Option to allow Admin to leave message when turn off forum - Watch management, allow admin can view, delete watch of any user - Max number of attachments (thread=2866) - Split thread - Show user Level determination by provide parameter to config the class name - Since a user may have many posting in one thread, in the results being return, should we collapse the all posting within one thread. (http://www.mvnforum.com/mvnforum/viewthread?thread=1316) - I'd much prefer to use the standard java timezones (Australia/Sydney, America/Los Angeles - see the java.util.TimeZone.getTimeZone() method). This is important for daylight saving issues (thread=2646) - 1) A list of related threads together with each thread, so it is possible to add the references mentioned above and they can be displayed in a structured way that does not cost the "on-screen overhead" (thread=2303) 2) for each thread, there could be a list (similar to the one of similar threads) repeating all hyperlinks used in the posts. 3) 3. similar to 1. and 2.: list of attachments for each thread - When sending activation mails the activation link is http://localhost:someport/mvn.... In my environment, mvnforum sits behind an apache which proxies the requests to tomcat. So, the resolved server name was wrong. I think it's a bad idea to call String serverName = ParamUtil.getServer2(request); (thread=2288) - Point and Level, like a RPG game (thread=2626) - Improve the issue of nest of mvnCode - Parse [..] and [/...] to lowercase when saving the post to the database (regular expression with option ig). The actual parsing off the UBB codes can than still be done before displaying the post. In this case all the UBB-codes are saved in lowercase in the database. (thread=893) - Can't use arrays in a code block? (thread=824) - Database update: * mvnforumForum : forumModerationEmails - Send mail to original author when move the thread - Support Jahia: (rss, attachment, form's action must be post, data in tag will be removed) - this feature will be very userfull when a user doesn't set a watch for a thread and a moderator move the thread in another forum. If the user found a link from the original forum it's easy looking for the thread. (thread=1832) - I suggest adding a menu for using CSS for the admin so he/she can change the colors and looks of the forums. (thread=1834) - new Config param: LoginMode: Normal/NoLoginWithSameID/KickoutSameID - Scan the attachment - Delete users even there are posts from this user - Category a link in ListForums (thread=1598) - Escape string in xml - Add new page to view report of all permission settings - Add a JSTL tag to escape the email (and begin to build MyVietnam JSTL lib) - It would be nice if the tag could be interpreted in the list as well, but if this is difficult (because the close tag isn't there) perhaps it could just be stripped out of the list text. (thread=1518) - Change build.xml so that mvnforum will use .jar from myvietnam Problem: duplicate jar in 2 modules mvnforum and myvietnam Sollution: change build.xml - Email thread to friend - I would suggest looking at securityfilter on sourceforge. It is a portable implementation of web container security with specific support for Tomcat. It also contains an easily extendable realm mechanism. (thread=899) - Fix bug that wrong Chinese file name when attach file http://www.mvnforum.com/mvnforum/viewthread?thread=1446 - Attachment Management - Total review of the css (style sheet) - Add #lastpost at the end of last post - Fix memory problem in attachment download Problem: currently load attach file to memory, may cause OutOfMemoryException Reason: I don't know what to do if some user are download attachment and the Moderator delete the attachment Sollution: make some test about concurrent read and delete Tomcat has a servlet called DefaultServlet, which serve the static file so we could refer and learn how to solve our problem Igor suggestion: see methods in ExportWebHandler getExportXmlZip() and sendToUser() - Search : show the relevance value - Show admin link in User zone, provide option to turn it off - Some text links in AdminZone (Next/Previous) should change to image link - Have a link to send Watch Mail immediately in Admin Zone - Search : stop word all mvnCode - Write Config tool for MyVietnam CoreLib - Support name invisible - Support Guest enable/disable, setting time zone, signature, name, option, ... - User moderation (normal, need approval, need activation, no registration) - Migration from Jive version 2.6 and later - Being able to collapse threads/sections could simplify navigation in certain cases, at least from my standpoint. This whether it was only the thread with subsequent replies, or hierarchically, that is level by level in the thread. (thread=2145) Features after final 1.4 release ------------------------------------------------------ - [TOP PRIORITY] Change to DAO + Hibernate - [TOP PRIORITY] Change to Struts + JSF - [ Phong ] - Interceptor to enforce password policy (min chars, alpha and numeric, not same as old pass,...) - [ Phong ] - Upgrade to use common-upload 1.0 (Also show the information of requestSize and maxSize) (thread=643) - [ Phong ] - Email notifications for topics on private messages (thread=3157) - [ Phong ] - Highlight when show searching (do it later) - [ Phong ] - Research JCache and JSR 107 (Slow in the index and viewthread) (lam` sau) - Support sorting in online user - Move post from one thread to other thread - About attachment picure auto resize display feature (thread=3270) - Who has me on their buddy list - Email address for individual forums (thread=3099) - URL Rewriting (thread=3094) - Mail gateway, refer to http://m2f.sourceforge.net - My buddy List/Ignore List - In public profile, add "Add to My buddy list" and "Add to My Ignore list" - Review and remove tab in build.xml in MyVietnam module - Remove CategoryCache.getInstance() and ForumCache.getInstance() in Jsp file - SequencedHashMap is deprecated in Common Collection, should we upgrade the common config? - Captcha in the login form (should only enable if login in cookie is disabled) - Localize alt text in (forum status, avatar, ...) - I think of class PostListener with methods: preAdd, postAdd, preDelete, postDelete, preEdit, postEdit. The params of these method could be: request and response (is it enough?). (thread=2003) (Please read the thread for the REAL detail) - When send email, allow more FreeMarker variables for Member table - Update the memberEmailVisable to include : accept email from webmaster - Add option member_moderation (normal = 0, disabled = 1, pending = 2) - Encode url in jsp file to keep session even cookie is disabled - In addpost.jsp add check Post length (So far, you have used 5 characters) - Check userAgent filter at http://www.psychedelix.com/agents.html (google: offline browser) - Load Timezone Offset when startup (in MyVietnam module) - There are a couple of time zones that are not offset by an even number of hours different then UTC (aka GMT) - they are x.5 hours different. Do you think the code shown below would be more appropriate? (thread=1566) private static long SERVER_TIME_OFFSET = timezone.getOffset(new Date().getTime()); public static Timestamp getCurrentGMTTimestamp() { return new Timestamp(System.currentTimeMillis() - SERVER_TIME_OFFSET); } - restore the configuration files - It would be nice if mvnForum would check the browser for people who were not logged in and then use the preference if people set one in their profile. thread=1947 - Change the combined permission from hard code to a array of individual permission - Ability for users to ignore other users posts - Track who banned a user and reporting on number of people a moderator banned, number of posts deleted - Delete all messages by username (across all forums or just a selected forum) - Defind some standard key in freemarker such as url, server, context,... - Able to prevent everyone on the boards apart from the gagged member from seing their posts - Related threads - Add information in Online users such as member post count, country - Check upload attachment in first post of thread (enable) - The attachment in moderation forum should be moderated. - Support attachment and avatar in database - https://aspirin.dev.java.net/source/browse/aspirin/ embeded smtp server - Automatical delete the post based on time valid range (thread=1607) - Finding the first unread post in a thread (thread=1596) - Support Private Category. - Active users in thread/forum - Who moderate what forum - User Vote, Post Vote, Thread Vote - 4. admin-interface for smile-management thread 1945 - It is simple, good, but lack possibility to add picture to each rank - for example, more postings - more stars. thread 1945 - Draft mode (thread=2126) We've used IBM Workplace and notes databases for among other things discussions/forums. Workplace (Former Quickplace) supports drraft mode besides of several other smart features. - Support Poll System - Support LDAP - Support Chatting (GujChat) www.jabber.org or opensource Jive Chat client: ajax http://www.eclipsezone.com/eclipse/forums/t60332.html http://j2s.sourceforge.net/demo/ - Support Gateway feature - Support Extended property ??? - Support Calendar - Customize forum: each picture for each forum (wassup's suggestion) - Member information/fields configuration in the registration page - Log the post modifications - Support Post Rating/ Member Rating - Allow to config database table name/prefix - Profanity filter - Have option to turn member's Post Count off for individual forum (such as Test forum) - Option to filter html tag or not - Admin can change the Member Login ID - Support thread/flat modes - Popular dicussion in each forum - support for j2ee login (thread 1684) I'd love to see mvnforum use the standard j2ee declarative security model (using J-security_check) because this way I could make it use the same logins as other applications developed internally for my intranet portal. Today users have one login (and password) for the forum and other for other apps, and have to re-login each time they click on a link from one app to another. You asked for tutorials and references. Here's some: http://www.informit.com/isapi/product_id~%7B116C8D3F-BE60-47A3-B8EC-EF132654A5A3%7D/content/index.asp http://archive.moreservlets.com/Chapter7.html http://www.onjava.com/pub/a/onjava/2001/08/06/webform.html?page=2