On Jul 2, 2004, at 2:54 PM, Scott T Weaver wrote:
I have come to the conclusion through my own experience and through discussions with other developers here that automatically purging portlet entities/user prefs on undeployment is a BAD IDEA.
From a programmer's standpoint and referential integrity standpoint youshould remove these associations when a portlet definition is removed from the system. However, from a real world/usability stand point this is very bad. What if someone "accidentally" undeploys a portlet app?
If you are saying that undeploy only deletes the portlets and PA from the registry,
then when happens when the user visits the page that contains a portlet window with a ref
to the entity, which in turn contains a ref to the portlet def, which has been deleted?
You now have referential integrity violations and portlets displaying error messages or empty content
if undeploy doesn't undeploy everything, you are leaving your model in bad state
All the user info tied to that app (via prefs) is lost. I feel a betterI am +1 on that for the redeploy case
approach is to give admins the ability to go in and query for orphaned
entities (those whose app/portlet no longer exists in the system) and
remove them. Also, to make sure entities connect up to there associated
app across re-deployments, I changed the DB association between entities
and portlets to use app name and portlet name as opposed to the PK of
the portlet def since the PK is transient across redployment.
Im not saying I disagree, but it sounds to me like you are just trying to make an argument for using the existing
deploy and undeploy operations to implement redeploy
Please offer your suggestions/criticisms to this approach.
here is my suggestion offered on June 30, 2004
On Jun 30, 2004, at 9:30 AM, Scott T Weaver wrote:
Actually, IMOHO, redeployment should not delete the associated entities. The reason being is that every time you redeploy an app all of the user prefs get blown away.
On Wed, 2004-06-30 at 11:52, David Sean Taylor wrote:
yes, but you don't know if the portlet will exist again after redeploy The portlet could be removed from the deployment descriptor Does that mean the portal should remove the portlet and all entities? AFAIK the spec is not addressing this issue, so its up to us
When we undeploy now, the portlets are deleted
If the portlets are deleted, normal ref integrity rules would require also deleting the entities and psml refs
However this has some bad side effects
If you redeploy, you run undeploy, and lose all of your entities
To get to the root of the problem, I think redeploy should be smart enough to know which portlets are being deleted and which ones are being replaced
This would mean that redeploy is an atomic API, and shouldn't rely solely on undeploy and deploy to perform its transaction
I think that redeploy and undeploy should be 2 different operations
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
