GSoC 2018 Ideas: Users as Content

That's the goal, Products.membrane should not import any code from Archetypes and (if possible) should also not know much about dexterity. But in order to not have many packages all Archetypes specific code may live in Products.membrane.at.* and for dexterity in Products.membrane.dx.* using conditional imports (if needed) and conditional zcml.

1 Like

Thanks! That makes sense implementation-wise.

@cewing @pbauer The rough draft of my proposal is ready, should I upload it on the GSoC site or some other channel?

Project mentors will be notified when you upload it to GSoC site. But do notify them to check.

1 Like

@vedantc98, if you submit a draft proposal, we will see it and have a chance to work with you on it. Please do so as soon as you are ready for us to work with you.

c

I've uploaded the rough draft link to the GSoC site. Comments and suggestions of any kind would be really helpful!

A good first pass, @vedantc98. Please do pay attention to the questions we want you to answer that are spelled out in our organization description. What you have here is a good start on an answer for two of those questions, but there are quite a few more you need to address.

I would suggest treating the questions we ask as "headings" for an outline of what you should submit. Make sure each question has a solid answer.

I'll have some technical feedback as well, but this is a good place to start.

Hi @cewing! I’m Aditya and I am a second year student and this is my first experience with GSoc . Today only I came across plone and I found it very interesting and want to contribute to it as much as possible . I want to know whether this is an appropriate time to start or it's already late enough.

I've changed my draft to integrate all the questions as headings.
Please let me know where else I could improve!

Thanks for your interest, @bhardwajaditya, and welcome to our community.

I can't say that it is too late, but it is certainly growing later with each passing day. You will want to read and work through as many of our steps to getting started on this forum post as you can in the short time remaining before the deadline for student applications (March 27).

We welcome you to Plone, and be assured that if you are unable to get an application done in time for this year's GSoC, there is always next year.

@vedantc98, That's much better. I'll continue working with you in the doc itself. Look for some technical feedback this weekend.

1 Like

@jensens would it be a good idea to implement an entirely new module (called collectives.membrane) or would we be better off just absorbing dexterity.membrane into Products.membrane?

And would Archetypes support depend on this? @datakurre has suggested that if we implement a new module, we will no longer need to have AT support..

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?

Plone Foundation Code of Conduct