JetSpeed 1.0 TODO Last Modified: $Date$ Latest version at: http://www.working-dogs.com/jetspeed/cvsweb/index.cgi/jetspeed/docs/misc/ Author: burton@apache.org ********************************** 1.0 ***************************************** - have the default portlets describe better content... the current default portlets never really change. Go through multiple ones an redo defaultPortlets.xml to include these. - Admin interface: - view cache hit ratio - purge cache - number of items in cache - Implement scheduler support into Turbine/Jetspeed. Place PersistentDocumentDaemon and FeedDaemon in the Scheduler as tasks - 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. - Broken down tasks for 1.0: - (DONE) logon to turbine - subscribe and browse portlets - (DONE) OCS content feeds - Caching is currently broken in JetSpeed... all portlets are always added to the cache (only under Linux IBM JDK 1.1.8 is this reproducable) - 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 - XML sybscription architecture - OCS Support - Add all OCS channels from Internet Alchemy - (DONE) http://www.xmltree.com/export/ocs.cfm - http://theweb.startshere.net/channels.phtml?format=OCS - http://www.moreover.com - http://www.headlinewatch.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. - Bring back the meta search engine portlet - Feature to browse portlets by the URL's domain. - 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 - Build in support to have Jetspeed dump out it's content on a psuedo basis. This can be used to build a static version of a website ********************************** 1.1 ***************************************** - DefaultPortletController needs to handle PortletExceptions better. Provide the user with a better dialog box ... ie this portlet couldn't render... - Remove the use of RunData. This is servlet specific. Instead only provide objects that are necessary for content presentation. Not HTTP servlet presentation. - Rework JetSpeedResources.properties - should become JetspeedResources.properties. - Make it more like TurbineResources.properties - Improve RSS support. Only use 1 stylesheet this should be *very* smart and work across RSS 0.90, 0.91, and 0.92. - Support the ability for portlets to do their own posts. Each portlet needs to define it's own namespace. If they don't define their own namespace then two portlets might conflict and one might accidentally realize it was posted. also might want to thing about a service() method of a portlet. - require all portlets to use XHTML. Then we can process the
data and add namespaces within the Factory and pull them out when we call service() on a Portlet - PortletMarkup - ability to have colums that only have a certain number of portlets - Portlets provide layout hints which the Portlet controller is supposed to pay attention to. - Add support for a Portlet "state" Include the state in the cache engine so that different cache states are correctly displayed. this.getPortletConfig().getState() - STATE_NORMAL - STATE_MINIMIZED - STATE_MAXIMIZED This is necessary so that portlets can determine how much information to display when the user changes their state. For example a maximized portlet might display extra graphics, etc. - Develop 3rd party authentication API for Portlets that need to authenticate with other non-Jetspeed systems. IE Mail, NNTP, SQL, etc - develop a secure password store that stores portlets and authentication mappings - Create a webapp (about.html) that is just a FileServerPortlet that has icons for Cocoon, Jakarta, Apache, etc... also should thank everyone within the Apache project. - redo this as about.xml and XSL it. - think about having all portlets referenced via a GUID. This way you can reference all portlets (with complex parameters) without having a huge URL that contains all params. - Support for different "instances" of Jetspeed. This should be done with servlet aliases but make sure this works - Redo the cache infrastucture. - Place PortletControllers and PortletControls within the cache - Note: need a better way to get cache handles before their impls are instantiated. - Note: Portlets handles shouldnt be obtained by the AbstractPortlet - 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 - Make NNTP (any JavaMail provider) into a portlet - Mail-XSP and integrate it with my current messaging - iCalendar Support - Project Support - Discussion Forum Support - Discussion portlet which obtains it's information based on another portlet. - Move some of the screens to become properties so they can be easily created by the user: PortletViewerScreen, etc - Place a disk space cap on the PersistentDocument cache - AvantGo synch should have a "JetSpeed Channel" added to it - Further abstract JetSpeed runtime: - Place defaultPortlet.xml as a JetSpeed property. - The public cache URL should be virtual and the servername url should be determined. You shouldn't have to set this up manually right now. - PortletFactory.getPortlets(RunData rundata) should cache its initial result. This really would never change during JetSpeed's runtime. In the current setup it would just fetch itself from disk all the time. - Have a boolean property defined so that people can run JetSpeed but that it doesn't *require* user authentication. This would just run JetSpeed but never give you the option to logon. - 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 - Messaging TODO: - JetSpeed support for placing the JavaMail transport and provider into debug... - Message "Forward" support - Support for deleting messages - JNDI/LDAP address book support - URL highlighting within message view - Reply to all - ability to search through all JavaMail messages - Messaging using cocoon and custom DTD - Four objects: - Transport - Store - Folder - Message which uses a URL/Session communications "protocol" and