-------------------------- FUTURE ---------------------------------------- - Plugin/Portlet Application infrastructure - Portlet's can become Portlications by defining within PML. An Application basicially is like a Turbine screen but this setting suggests that it runs only as a single Portlet runnign at 100% of the browser. - Discussion portlet which obtains it's information based on another portlet. -------------------- JetSpeed 1.0 Beta 3: ------------------------------- - Broken down tasks: - logon to turbine - subscribe and browse portlets - OCS content feeds - Caching is currently broken in JetSpeed... all portlets are always added to the cache. - This turns out to be a problem with Turbine and maybe a Classloader it uses The PortletCache uses a static instance but for some reason the VM doesn't thinks that this isn't a static reference when it actually is. Therefore everytime it hits the portlet that uses the cache the PortletCache is re-instantiated - Update docs to refer to JetSpeed as more of an Application server. - XML sybscription architecture - OCS Support - Add all OCS channels from Internet Alchemy - http://www.xmltree.com/export/ocs.cfm - http://theweb.startshere.net/channels.phtml?format=OCS - http://www.moreover.com - http://www.headlinewatch.com - XMLTree (RSS 0.91) - MoreOver.com - Improve Portlet subcription. You should be able to pick from a couple of generic portlets. Then you should also be able to search from additional portlets using keywords (from OCS) or domain name. - Release and publisize my RSS 0.92 format.. see if anything else addresses this. - Include RSS support for having an on all 's (this isn't supported in the current RSS version). This should become RSS 0.92 - Ability to logon to Turbine... - Content/Portlets should be able to be refreshed and not just get stale in the cache forever. - ability to set the refresh rate within portlet markup - All content fetcher. This will be used: - when you first setup jetspeed so that XML documents are in the cache - everytime you want to see if new documents are available. - Should load every URL and cache it within allportlets.xml - Bring back the meta search engine portlet - Redo the cache infrastucture. - Place PortletControllers and PortletControls within the cache. - make PortletController(s) cacheable within the Factory - make PortletControls cacheable within the Factory - Turbine authentication - (DONE) Home as a Turbine screen - (DONE)using ECS: - (DONE) Installing turbine and giving it a servlet name of "jetspeed" and defining it's own configuration. This configuration should point to the default jetspeed screen that I implement as my own code base. - (DONE) org.apache.jetspeed.Home should be a Turbine screen - (DONE) File Server portlet. One that serves files from a remote URL. - (DONE) ECS element that doesn't do any escaping - (DONE) Cocoon as a Portlet - (DONE) Rework the PersistentDocument cache to support multiple stores - (DONE) Don't have RSS images stored remotely... store them locally within the PersistentDocument cache. This should save some client time when loading the image from a Remote URL - (DONE) Move getTopicBar() to the default navigation. - (DONE) JetSpeed should work under Apache JServ - (DONE) Put the turbine RunData within Portlets - (DONE) Caching isn't working correctly - (DONE) 1. Throws an Exception within Cocoon - (DONE) 2. Return's only the default entries.. when they are first cached. - (DONE) factory for getting the current portlet controller -> PortletControllerFactory - (DONE) factory for getting Portlets -> PortletFactory - (DONE) default portlets and their controllers should be set via properties - (DONE) Improve cache API so that the only thing that can be cached is a Cacheable interface - (DONE)add String Cacheable.getHandle() method so that this is stored unique within the cache - (DONE) Tweak them Memory store to take in Cacheable(s) and not just objects. - (DONE) remove RESOURCES form JetSpeed.java - (DONE) any definitions should be done with JetSpeedResources - (DONE) remove legacy code - (DONE) Specify the width of default portlets within resources - (DONE) Specify the number of columns within the default porlet controller - (DONE) Support for adding a JetSpeed portlet to Avantgo to by synched with a handheld device. - (DONE) Store the portlet cache directory within JetSpeed resources - (DONE) Don't have PersistentDocument store right to the tmpdir... store the contents within /tmp/ or perhaps a property - (DONE) Write a LRU based cache based on hitcounts on PortletControls - (DONE) Portlets that don't throw an exception should be cached. - (DONE) Remove as many services from JetSpeed.java and use Turbine's features. If these aren't available within Turbine then make them new Turbine features ---------------- MISC ------------------------- - Portlets should have the the ability to be added to a users profile so they when they logon they get their own profile and their own portlets. - Feature to browse portlets by the URL's domain. - Portlets now have configuration options done via XML and XSL. This will probably have to be done through some sort of config markup. - Support for better browsing of Portlets - should enable the user to select how many pages at a time to view and to have grouping of the Portlets - make the various sections of JetSpeed (bookmarks, home, etc) a section portlet that the user can subscribe to. Bookmarks needs to be it's own portlet with its own persistence mechanism MISC TODO: - Non-immediate features. - JetSpeed should speak all XML... this will allow it to be skinned through XSL very easy. - JetSpeed support for placing the JavaMail transport and provider into debug... - connection throttling reading - once logged in... when you select "Messaging" you don't have to logon again - ability to page through 100s or thousands of messages - encode() all folders before sending them to the client: http://relativity.yi.org/bugzilla/show_bug.cgi?id=33 - Message "Forward" support - Support for Netscape 4, IE 4 and 5 - Support for deleting messages - JNDI/LDAP address book support - URL highlighting within message view - META tag for refresh so that newmail is detected. - Reply to all - re-org the Messaging.java servlet into smaller more descreet OO units. - ability to change the size of the reply/compose/forward form. - ability to search through all JavaMail messages - Make NNTP (any JavaMail provider) into a portlet - Messaging using cocoon and custom DTD - Four objects: - Transport - Store - Folder - Message which uses a URL/Session communications "protocol" and - ********************************** COMPLETE ********************************** - (DONE) Write documentation for developing Portlets - (DONE) Better support for using PortletMarkupLanguage - (DONE) should have it's own XML Schema - (DONE) should use castor - (DONE) Currently right now portlets are getting loaded by the PortletController 3 times... once for each colun. Fix this so that it is only loaded once. - (DONE) Move all portlet implemtnations under org.jetspeed.apache.portal.portlets - (DONE) Get JetSpeed configuration from a property file. - (DONE) org.apache.jetspeed.Home should become a stand alone servlet. - (DONE) Portlet docs - (DONE) Make it JDK 1.1 compatible - (DONE) Vector.toArray should migrate to Vector.copyInto - no System.setProperty() - (DONE) no add() remove() or get() within Vector - (DONE)Portlet interface gets an init() method with an optional URL and string settings - (DONE)Write JavaDoc for developing Portlets - (DONE) Ant build initiated - (DONE) Portlets use ECS - (DONE) RSSPortlet should use Castor generated code - (DONE)Add image support to RSS serialization. - (DONE)All portlets no longer use setUrl() and getUrl() - (DONE) Single document interface - (DONE) Add castor jars to CVS - (DONE)Portlet.init() should throw a PortletException so that I can catch this within the renderer and throw back a porlet with error content and an exception string - (DONE) ALL RSS should render 100%. This should never fail. - (DONE) Better portlet browsing support - (DONE) Setup a list of default portlet document for rendering the home page. This shouldn't be hard coded into the application