Zhong ZHENG wrote:
Hi,
I am thinking of separating the pluto admin app into a single
subproject, like the testsuite, as mentioned earlier. For the
requirements, there will be no problem for the file upload and war
deployment functionalities, because they are independent to the portal
driver. But the ability to update the portal's configuration object
seems a little bothering to me.
The portal configuration is an object private to the portal webapp.
Currently it is saved in the portal's servlet context as an attribute.
So how should the portal expose the operation on the config to the admin
app?
One way is to separate the portal config API into a single jar file
(like the descriptors) and put it into tomcat's shared/lib directory, to
make it shared by all the webapps. But that may have some serious problems:
1) That gives all the webapps the ability to operate the portal's
configuration object. In fact, only the admin app should have that
ability, but we cannot prevent other webapps from doing that, if some of
them really want to do something bad.
2) Even for the admin app, it needs to use tomcat's cross context
functionality to retrieve the current configuration object from the
portal's servlet context. That depends heavily on the servlet
container's implementation. We have already had an issue about that.
Ya, we don't want to code ourselves into a whole of being stuck on a
single container.
Now I am thinking if we may have an alternate way to perform the
deployment. Maybe we may ask the portal driver to detect automatically
the deployed portlet apps, something like how tomcat does to deploy
webapps. I am not sure if that is feasible...
Yes, something like this is possible. What about implementing
deployment within the portal and providing a mechanism (perhaps ws?) for
connecting to the portal and sending the deploy/undeploy commands. This
would allow us to have multiple interfaces to the functionality - a
portlet, a command line utility, etc. . .
For the design pattern: if we use the command pattern, we do not need to
use a portlet framework any more (such as portals-bridges/struts or
tapestry-portlets). So, what is your preference? To implement the admin
all by ourselves, or to use an existing framework that supports portlets?
Either one of those is fine with me. My point is simply that we don't
need to develop our own framework. To me, the choices are:
1) Simple Command Patter Portlet
2) Reuse an existing framework.
I look forward to working with you on the admin. Regards.
ZHENG Zhong
2005/9/5, [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
Hi Zheng,
I'd like to collaborate on the Admin portlets for Pluto 1.1 too. I
like the command pattern that you used in your first try at admin
portlets for Pluto 1.1. The only change I'd like is too add
role-based security by checking security-role-ref in portlet.xml and
doing a PortletRequest.isUserInRole() check before control is passed
to the action.
Here are my minimum requirements for admin portlets:
1. File upload and war deployment into webapps directory.
a. Modify web.xml and Pluto configuration files as necessary
2. Ability to undeploy portlets by removing configurations and
deleting deployments.
3. Ability to configure and change layout of a portlet application.
We should also plan for the administration of authenticated users
and user information attributes (PLT.17) in the admin console.
/Craig
*Zhong ZHENG <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>*
09/03/2005 01:12 PM
Please respond to
pluto-dev@portals.apache.org <mailto:pluto-dev@portals.apache.org>
To
pluto-dev mailing list <pluto-dev@portals.apache.org
<mailto:pluto-dev@portals.apache.org>>
cc
Subject
refactoration of Pluto Admin 1.1
Hi there,
Since you have made some modifications on the Pluto Driver
subproject, the previous Pluto Admin did not work any more. So I am
thinking of refactoring the admin app:
1. Provide a pluto-independent Struts-like MVC framework for
portlet. I don't know whether Struts supports portlet currently, but
I think it not necessary to require Struts to run the admin. I can
write a very simple yet not full-featured MVC framework based on
which I may facilitate the admin development.
2. Separate the pluto portal driver dependent codes into a single
package. Since Pluto 1.1 is still on development, there will
probably be midifications on the portal driver. So separating the
dependent code will make it easier to meet the future need.
I'd like to collaborate with you on the admin app. So what you think
about the refactoring plan?
Regards.
--
ZHENG Zhong
heavyzheng {AT} gmail {D0T} com_
__http://heavyz.sourceforge.net_ <http://heavyz.sourceforge.net/>
--
ZHENG Zhong
1 Avenue Alphand
75116 Paris, France
+33 6 76 80 45 90
heavyzheng {AT} gmail {D0T} com
http://heavyz.sourceforge.net
http://heavyz.blogspot.com
http://spaces.msn.com/members/zhengzhong