Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
1. Container
assigned: DST
status: implementing
- Portlet Cache (done)
- Portlet Factory (done)
- Portalside: use pool to create request/response
- Pluto Integration
2. Portal Content Retriever (the PCR - for better name)
assigned: PS, DST
status: design
- determining how to multithread content retrieval
- determining if 2 phase retrieval is possible (phase one retrieval, phase two aggregation)
- determining how to buffer (one buffer per portlet, multiple buffers)
- determining how to stream large buffers and multithread
- implement content caching
3. Capability Map, Media Types
assigned: RR, RL(?)
status: design
4. Database Services
assigned: SW
status: design
5. Registry Object Model
assigned: SW
status: look into converting from old registry model
look into converting existing Portal registry to OJB
6. PSML Object Model
assigned: SW
status: look into converting from old PSML model
7. Simple Aggregation Engine
- basic aggregation without template engine (DST)
8. Advanced Aggregation Engine
assigned: RL
status: design
- need to work with PS, DST on integrating with PCR
- call render of portlets here, or somehow get from buffer...
9. Security
assigned:
status:
Quite a bit of design work, decisions needed
We could port over the current system
I see a need for 3 services (out-of-the-box, ldap, jaas)
SecurityValve
SecurityWrappers
10. Preferences, Preferences Validator
assigned: PS
status: design
11. Action Phase
assigned:
status:
12. Portlet API Tag Libraries
assigned:
status:
13. Portlet URL class
assigned:
status:
14. Session Management
assigned:
status:
15. Request Dispatcher
assigned:
status: partially implemented
16. User Attributes
assigned:
status:
17. Localization and Resource Bundles
assigned:
status:
18. Window State and Portlet Mode Management
assigned:
status:
-----------------
Services from J1
------------------
1. Localization Service
For Portlets, not necessary. Handled by Portlet Descriptor
For the Portal, will be necessary to handle strings presented by the Portal
2. Daemon Factory
Move out into Syndication Portal Application
3. Forward Service, JSLinks
Forwards and JSLinks will need to be implemented as Portlet API extensions
For example, to jslink to another page:
For example, to forward to another page:
Of course this is not portable, but these attributes will be ignord in other portals.
The downside is that your application, which builds links by page, will not port.
4. IdGenerator - done
5. JSP - see Portlet API Custom Tags
6. LDAP Service
7. Logger
8. Lucene
9. Persistence - see Portlet API Preferences
10. Portal Toolkit
This service is very much dependent on the old engine
A new Portal Toolkit for JSP (or Velocity, Jelly) would
be useful as custom tags or pull tools when creating
layouts and controls
11. PortletCache (Container)
Runs in Container, DST is working on it 05/29
Assigned: DST
12. PortletFactory (Container)
Runs in Container, DST is working on it 05/29
Assigned: DST
13. PortletStats service
14. Profiler service
Has been ported
14. Castor PSML Service
Has been ported - should be deprecated
15. Database PSML Service
Deprecated
16. New PSML Service
based on OJB
17. Registry Service
has been ported, should be deprecated eventually
There is a lot of leverage in the existing
Registry service. The Registry service
should be left in until a complete replacement
is ready for all registries.
18. Resources Service
Deprecated, use commons Configuration
19. Rundata Service
Deprecated
20. Security Service
This will take a lot of design and refactoring
The user community has some great ideas
I believe Jetspeed Security, especially securing
all types of portal resources, is a very powerful
feature of Jetspeed. Jetspeed-2 should try to
support three (woah nelly) Security Service implementations
- out-of-box Security (Lets not call it Turbine please)
drop all Turbine dependencies (there aren't many left)
- JAAS Security
- LDAP Security
21. StateManager Service
22. Template Service
Still necessary in the Portal for locating controllers(layouts) and controls,
although we could consider dropping it
- remove all references to screens
- in a portlet application, we can supply a template locator class
that MVC portlets can leverage. However we must be careful
not to make it dependent on Jetspeed if its to be portable
23. ThreadPool service
24. URL Manager service
25. WebPage Service
-----------------------------------------------------------------------------
Utilities
---------
These can be ported as needed
-----------------------------------------------------------------------------
Modules
---------
- deprecate layouts
- deprecate pages
- parameters - this is portlet application specific
perhaps it could be used as a CPS
- localization - needs sorting out. localized strings for portlets need to be moved to PAs,
and localized strings for the portal moved to the portal resource bundle
- actions
- convert all turbine actions to portlets
* Change Password - move to the Jetspeed Admin App
* Create New User and Confirm - move to the JAA
* Send Confirmation Email - move to the JAA
* Send New User Notification Email - move to the JAA
* Update Account - move to the JAA
- JetspeedAccessController, JetspeedSessionValidator
* Convert to AccessControllerValve (SecurityValve), tie into new Security Model
- controllers - port to new Aggregation engine, decouple from Turbine
- controls - port to new Aggregation engine, decouple from Turbine
- portlet actions - convert to portlets
- ClientUpdateAction ---> JAA
- ControllerUpdateAction
- ControlUpdateAction
- CustomizeAction ---> JAA
- ForwardDemoAction ---> Jetspeed Demo App (DEMO)
- GenericMVCAction ---> Jetspeed Abstract Portlets (standalone jar)
- HelloAction ---> DEMO
- JspPortletAction - deprecate (convert to MVC)
- LuceneSearchAction ---> JAA
- MediaUpdateAction ---> JAA
- PortletUpdateAction ---> JAA
- PortletBrowserAction ---> JAA
- QuestionairreAction ---> DEMO
- RegistryBrowserAction ---> JAA
- SecurityUpdateAction ---> JAA
- StockQuoteAction ---> DEMO
- VelocityPortletAction - deprecate (convert to MVC)
- WeatherAction ---> DEMO
- security/ ---> JAA
- browser/ ---> DEMO
modules/portlets
- admin/ ---> JAA
- browser --> DEMO
- viewprocessor --> Jetspeed Abstract Portlets
- AbstractInstance - deprecate
- AbstractPortlet - deprecate
- CustomizerVelocity - deprecate for MVC
- FileServerPortlet --> DEMO
- FileWatch
- GenericMVCPortlet
- IFramePortlet
- JetspeedContent
- JspPortlet
- LinkPortlet
- NewRSSPortlet
- PortletInfoPortlet
- PreviewPortlet
- RSSPortlet
- ServletInvokerPortlet
- TurbineScreenPortlet
- VelocityPortlet
- WebPagePortlet
- WebPagePortlet2
- WMLFilePortlet
- XMLPortlet
- XSLPortlet
- controllers - port to new Aggregation engine, decouple from Turbine
- controls - port to new Aggregation engine, decouple from Turbine
- security - security wrappers