Derek Richardson wrote:
Hey. I'm writing a package to provide a Plone 3.0-compatible UI for PAS4CAS - a
replacement for PloneCASLogin, which has not been updated. The basics work. I
now want to hide the login portlet, since it is non-functional and confusing
with CAS.
Really? Why? If CAS (what is it?) means you're always logged in, then
the portlet shouldn't show up anyway (it only shows up for anonymous);
if CAS requires some kind of explicit log in/log out, then you could
customise/override/supplement the login portlet with that action.
I'm in a filesystem package, so my first thought was to remove the portlet using
GenericSetup. Alas, no luck - the handler in plone.app.portlets seems to only
support adding portlets, not removing them. I'm contemplating extending this
handler to remove portlets, as well. I'd then put the extended handler in my
product and submit a patch for plone.app.portlet.
Being able to remove portlets in the GS handler would be nice (and the
GS handler needs more work, as we've talked about before). However, this
is a bit extreme - it won't be possible to add a new login portlet
anymore once the portlet has been uninstalled like this; also, I'm not
sure if this would actually remove existing instances of the login portlet.
I'd say that this is not really something that belongs in a package that
contains a PAS plug-in, by the way. The PAS plug-in ought to be generic
enough not to have dependencies on Plone specifics such as the portlets
implementation. Perhaps a higher level package that had the PAS4CAS
package as a dependecy could contain this instead?
Questions:
1 - Is there a better way to hide the login portlet from a filesystem package
than to do it through GenericSetup?
You could just remove the assignment from the root of the site?
2 - If I patch the portlet handler, is this likely to be accepted back? If so,
what is the first plone version in which it is likely to be allowed in? I must
admit, I'm a little confused by 3.0.x vs 3.1 vs 3.5/4.0 and what is allowed in
each. ;)
If you extend, rather than change the handler, it'd be a good candidate
for 3.1.
You would need to do this work on a branch, by the way. :)
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers