GSoC 2018 Ideas: Users as Content

Just to clarify. I don't have strong opinion on should the project refactor Products.membrane or develop a new add-on collective.membrane. Yet, I understood that the goal is to merge Products.membrane and dexterity.membrane, and because this would require changes into depending add-ons anyways, all options could be on the table.

I think, yes, it would be much cleaner if we implement everything in a new package. First we can skip Archetypes, second would not need a separate catalog anymore. Also we can implement all user-specific stuff in behaviours. It would simplify membrane a lot.

Then, I would not name it no longer membrane. Because its a new package.

The cons are, existing installations with current membrane would need a good path to migrate to the new package.

OR, I think we anyway can do a new major release of Products.membrane with no traces of Archetypes left. We can rethink if we really need an own catalog. Waking up Dexterity objects from the database is (most of the time) much cheaper than waking up Archetypes. We can modernize the PAS-plugins parts where needed. This way we would not need complex migrations.

If I would be in the situation to decide this, I would go for the evolutionary path. At the end there is a Products.membrane with DX and w/o AT support. Cleaned up. Maybe with a base-profile not installing user-as-conent and a second profile with a simple user content type (with simple approval-workflow), used as the type installed as members folder or such (to get a goof OOTB feeling).

2 Likes

This is essentially what I was going for in my project, but with a renamed package(except the part about the AT support).
So should I assume that everyone is behind making a refactored Products.membrane minus AT support and including a user-as-content profile(@datakurre does this sound good?)
Also @jensens maybe you could give my proposal a glance to see if it sounds okay?

2 Likes

Sure, may you tell me where I can find it?

@jensens @cewing should be able to invite you.

I will add @jensens to the mentor list this evening after work. That will give access to the proposal listing.

c

@jensens, I've sent an invitation to your email address. Once you accept it you should be able to get access to the Plone organization plages at "summerofcode.withgoogle.com". This draft submission is available under the "proposals" section.

In Dexterity.membrane, we have local authentication for users (https://github.com/collective/dexterity.membrane/blob/master/dexterity/membrane/behavior/password.py)
Meanwhile in Product.membrane, as noted above, we have decoupled authentication to the user object itself.

Is there a reason we do this?