I am attempting to teach myself Plone4. I am a long time user, but I have
never developed a project on the file system. I have many Plone books, but
they are of ancient date and now largely useless.
I decided to make a product that would store and process potential new site
users. I am sure there are probably already dozens of products out there
that do this, but I figured I would make my own as a way of learning (and to
get exactly what I want).
So far I have two archetype objects:
1. A collection that holds only new user requests, called something like
2. An archetype that holds data containing a new user request, called
The workflow would be something like this:
1. Anonymous user requests permission to use plone site when they edit and
add a PotentialNewUser archetype to the collection PotentialNewUsersFolder.
Upon submission/addition of the PotentialNewUser object, the object goes
straight to review status, and is now only readable by site users with the
manager role. At this time an email is sent to the potential new user
notifying them that their request is being reviewed. Another email is sent
to all site managers to let them know a potential new user wants to join the
2. Any manager can see and review the request (The PotentialNewUser type
contains a text field where the user lists reasons why they want to join the
site and the manager can review this information and make a decision). The
manager can choose to add the user to the site by Publishing the archetypes
object. Publishing the object registers the user with the site and then
deletes the object (since it is no longer needed). An email is sent to the
new user to tell them that they may now login.
3. To deny the request the manager just deletes it. I think this sends an
email, but I am not sure.
So I have most of the above working in some fashion. My main question is
1. Even when I go into the ZMI and turn every security setting to anonymous,
I cannot get my dev site to allow an unauthenticated user to add an
archetype object. Do I need to create a custom work flow to do this? Setting
custom permissions does not seem to work in the product or the ZMI. I have
googled this and searched on Plone and found some of the recommendations on
how to allow anonymous content, but the recommendations do not work in Plone
4 (at least as presented). Everything works as a regular site user, however.
Another question is about generic setup:
2. How do I use generic setup to manage the public/private rights of a
collection on install? I can get the collection installed (using structure),
but I cannot figure out how to make the collection public. Nor can I figure
out how to hide it from the default navigation. Removing the product also
leaves the collection behind, and I would like to uninstall it upon removal
And finally, I have a question about rerouting the view:
I would like the view the anonymous user sees after adding the object to
redirect to a nice "thank you" screen, since the anonymous user can not view
their request after adding it. I would like the view the manager sees after
publishing the object to redirect to the object container view, as the
object itself is deleted when published and cannot be viewed.
Many thanks in advance for any assistance or tips,
View this message in context: http://plone.293351.n2.nabble.com/Developing-New-archetypes-product-tp6199440p6199440.html
Sent from the Archetypes mailing list archive at Nabble.com.