GSoC 2022: Web Authn

Greetings all, This is Marwan Atef, a recent Computer and Software Engineering University graduate and a GSoC'20 student who is interested in contributing to Plone in GSoC'22, specially in the Web Authn project idea.
I love open source contribution generally, and contribution in an organized manner/program as GSoC specially, I contributed in GSoC'20 with "Submitty" and it was a fruitful experience, that's why I'm aiming to doing it once again but this time with "Plone", hopefully.
I worked with different stacks including Python, php, ASP .NET Core on C#, Angular on Typescript, I have worked as well with different authentication frameworks/protocols as SAML, oAuth, and OpenID connect, that's why "Web Authn" as a project idea seems the most interesting to me but I'm still open for other ideas as well.

I have a question tho, I managed to run a local instance of Plone, thanks to the clear documentation, and I found what needs to be fixed in an open issue that I'm willing to tackle with a PR. However, Should I sign the Contributor Agreement first before I can open the PR?

2 Likes

Hello Marwan,

thanks a lot for your interest in the WbAuthn topic for GSOC 2022.

My name is Andreas Jung, working with Plone since almost 20 years and I wrote the proposal for WebAuthn.

You clearly need to sign the Plone Contributor Agreement if your GSOC application is successful and when you start contributing code to the project.

https://docs.plone.org/develop/coredev/docs/agreement.html

You do not need to sign up now, unless you have anything else (outside the scope of the GSOC project) to contribute at this time.

With your experience in SAML, oAuth, and OpenID, your contributions and work could be very helpful and beneficial for Plone.

If you have any particular questions, feel free to ask here or to contact me by email (into@zopyx.com).

Andreas

Hello Andreas, nice to meet you.

Thank you for your reply, will surely get back to you soon.

Which repo are you interested in submitting a PR for?

Products.CMFPLone -> https://github.com/plone/Products.CMFPlone

One other related question tho, I managed to run a local instance for development as described here ->
https://docs.plone.org/develop/plone/getstarted/index.html, Is this for developing add-ons (custom modules) only, while to develop for the core I should make my changes in the instance following the docs here -> https://docs.plone.org/develop/coredev/docs/intro.html as I feel a little bit confused.

Thanks in advance :pray:

Sorry for this but I can't seem to add links in my posts.

You should be able to now. We have a delay for new users before they can include links in their posts.

1 Like

Ah, yes, to contribute code to that repo (or anything in the plone GitHub organization) you would have to sign the contributor's agreement first. Maybe for now please hold off doing that. Anything in the collective or anything in the Plone documentation (or training documentation) can be contributed to without that contributor agreement.

maybe we should update the GSoC intro material on Plone.org with this ^ @ebrehault ?

Indeed! We need to streamline our developer docs. That has been in progress for some time now.

You should follow this training to learn how to set up Plone for development. It is regularly and very well maintained Mastering Plone 5 Development — Plone Training 2022 documentation

( This is mentioned in Google Summer of Code — Plone: Enterprise Level CMS - Free and OpenSource - Community Driven - Secure )

I'm afraid I've done so already, is there a problem with that or can it just be queued till needed?

Yes sure. I already started following it but I thought I could start tackling an easy issue in parallel with a small PR, will continue in the training anyway and then get back to my first contribution :v:

Thanks a lot for helping and the quick response :pray:

Dears, I'm following the training, but all the changes I have to take like in here

Add a file browser/templates/training.pt

<h1>Hello World</h1>

are already done for me (even with further changes that I'll probably meet later on in the training), and changing them doesn't seem to make any effect, even though I have configured the buildout.cfg to use ploneconf.site = fs ploneconf.site path=src instead of the remote version and re-ran the buildout, but trying to access http://localhost:8080/Plone/@@training as described in the training gives me this error

Does anyone have any idea what I'm missing/doing wrong here?

Did you restart Plone after changing the ZCML file? Changes to ZCML files require a full restart.

I'm running Plone in debug (foreground) mode with ./bin/instance fg so restarting it means stopping with ctrl + c the re running it, but I don't think this is what you mean by a full restart, right?

Correct. Only changes to templates and static resources do not requires a full restart (afaik).

then why do I get "This Page does not seem to exist" ?

I do not know anything about the training material but did you install the demo aka training addon in the Plone extenions/add-ons control panel?

I recommend hoping over to the Plone discord channel

Tell them you'll be fixing all our OAuth and Saml problems :slight_smile:
I'm sure they'll be happy to help you get started!

2 Likes

Yes I think that was it, it says so as well in the training documentation but I haven't noticed, thank you so much :slight_smile: :pray: