Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSoC ideas - Zotonic #2

Open
mworrell opened this issue Mar 18, 2020 · 26 comments
Open

GSoC ideas - Zotonic #2

mworrell opened this issue Mar 18, 2020 · 26 comments

Comments

@mworrell
Copy link

mworrell commented Mar 18, 2020

Title

Zotonic - Elixir integration

Description

Zotonic is the Erlang Content Management System and Framework.

It provides a complete environment to build web sites, with integrated administrative
environment, module system, virtual hosting, users, media, content management,
templates, emailing, LetsEncrypt, etc.

We would like to make modules and sites with Elixir.

For this:

  • The build system (rebar3) must know how to handle Elixir applications;
  • The runtime module and site managers must be able to introspect Elixir modules;
  • The template compiler must be able to call into Elixir modules for filters and such;
  • The MQTT routines must understand models implemented in Elixir;
  • The notification system must understand observers written in Elixir;
  • The zotonic_filehandler must understand how to compile Elixir files and/or projects.

And probably some other changes here and there to make it a smooth experience for Elixir developers.

Recommended Skills

Experience with Elixir and Erlang. You must be willing to investigate how Elixir functions
are called from Erlang and dive into the runtime behavior of the Beam.

Mentor(s)

Marc Worrell @mworrell
Maas-Maarten Zeeman @mmzeeman
With help from Arjan Scherpenisse @arjan

GitHub project url

https://github.com/zotonic/zotonic

@mworrell
Copy link
Author

Hi @benoitc, is this mergeable/copyable as a project?

@benoitc
Copy link
Contributor

benoitc commented Mar 23, 2020 via email

@benoitc
Copy link
Contributor

benoitc commented Mar 23, 2020 via email

@mworrell
Copy link
Author

if you could merge it - then we have it for next year already :-)

@mworrell
Copy link
Author

We are a bit busy - so delayed with writing this :-(

@benoitc
Copy link
Contributor

benoitc commented Mar 28, 2020 via email

@mworrell
Copy link
Author

If it is no too much work for you. When it is there I will ask around if people have some students that are interested.

If all fails then we have a good project on the wiki for next year.

Hope you are feeling better now!

@benoitc
Copy link
Contributor

benoitc commented Feb 8, 2021

if you want to participate this year, please proceed with an updated ticket :)

@mworrell
Copy link
Author

mworrell commented Feb 8, 2021

Thanks! I think this project is still very relevant.

/cc @mmzeeman @michielklonhammer

@mworrell
Copy link
Author

mworrell commented Feb 8, 2021

@arjan, could you check this GSoC idea?

@arjan
Copy link

arjan commented Feb 8, 2021

Yep I think this is indeed still relevant and actually also pretty doable.

@mworrell
Copy link
Author

@benoitc this is still good to go! Would be great to have someone working in this.

@mworrell
Copy link
Author

@benoitc Did you see the previous message? We are happy with this project description, and it is good to go.

@pablocostass
Copy link
Member

Hey @mworrell, I totally forgot to ping you yesterday but I went ahead and added the project idea from this issue to the list of proposals! :)

@mworrell
Copy link
Author

mworrell commented Mar 9, 2021

@pablocostass Thanks! Hope we will find someone for this project.

@pablocostass
Copy link
Member

This seems to have become a yearly tradition, but @mworrell, if we get accepted for this year's GSoC, do you want to still have the Zotonic proposal on the list of ideas?

@arjan
Copy link

arjan commented Feb 18, 2022

👍

I think with Zotonic 1.x which is more OTP-oriented, this integraton will become a lot simpler. At least, having separate zotonic modules (which are now OTP applications) as Elixir projects seems perfectly possible using rebar_mix.

@pablocostass
Copy link
Member

So it stays, nice!

@mworrell
Copy link
Author

Yes please! It is actually still on our roadmap/wishlist. So would be great to find someone who can work on this.

@pablocostass
Copy link
Member

@mworrell @arjan so it seems that for this year's edition we have to add the following information to the project, would you be so kind to get back to me with it?

  • expected outcome
  • expected size of project (175 or 350 hour)
  • an easy, medium or hard difficulty rating of each project

@mworrell
Copy link
Author

mworrell commented Feb 25, 2022

Expected outcome

An extension to Zotonic that makes it possible to use Elixir OTP applications as modules and sites.

Expected size

350

@arjan, what do you think?

I estimated:

  • 1 week (40 hours) to get to know the system
  • 1 week (40 hours) figuring our Elixir / Erlang interop
  • 1 week (40 hours) getting elixir projects compiled, first introspection. draft of a plan
  • 1 week (40 hours) complete introspection, changing notifiers etc to hook into Erlang
  • 1 week (40 hours) miscellaneous / production ready / bug fixes
  • 1 week (40 hours) extra test sets
  • 1 week (40 hours) demo project, documentation

Total: 280 hours.

I estimate more hours than I would for one of us, as the student had to learn on the job.
I think 175 is a bit too short to get this done, especially with the learning involved.

Rating

Medium

@harshalmittal4
Copy link

Hi @mworrell ,
I am currently learning Elixir and am excited about its future. Could you please tell if erlef will be participating in GSoC 2023. Thanks

@mworrell
Copy link
Author

Hi @harshalmittal4, nice to hear that you are interested in Elixir and the beam (cq Erlang). Every year we try to join the GSoC, but there are more organizations that want to join than spots made available by Google. Last year we regretfully didn't get a spot. Let's hope that this year will be different.

@harshalmittal4
Copy link

Thanks @mworrell for replying.
If erlef gets selected this year could you please also tell what will some of the ideas be for this year.

@mworrell
Copy link
Author

@harshalmittal4 Definitely the project above. We are very interested in getting Elixir play nice with Zotonic.

Besides that we have many other possible projects, examples are Semantic Web data federation, Matrix support, fail-over handling, real-time communication and much more.

@harshalmittal4
Copy link

I will get a high level understanding of the codebase and hope the project gets selected for GSoC!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants