Creating a CMS framework with Elixir/Phoenix

Hello everyone!

Recently I’ve been developing several institutional websites with Elixir and Phoenix and, of course, I’m loving it! However I’ve noticed I’ve been doing much repetitive tasks like setting up accounts/users, guardian, views helpers (for bootstrap and common tasks), etc.

To make it easier I’ve created a “standard” CMS with basic features like users, pages and posts management, system settings and other minimal things, to use as a “boilerplate” for these institutional websites and then all I do is to extend the system with specific features for each website.

Although this method is working fine, I’d like to go one step-further and make it easier to maintain the core system through all projects and focus only on developing the “themes” for each website and “plugins” for specific features (like Wordpress does).

Is there anything like that in Elixir? What are your suggestions to implement a theme and plugin system within Elixir/Phoenix? Have anyone done similar work which could show as an example/reference?

Thanks everyone in advance!

6 Likes

Hi,

I do not see anything like that on Elixir and could be great to have a CMS in Elixir/Phoenix.

I have been working with Adobe Experience Manager (AEM), that is a complete CMS used today, you can take a look on that on the web and take some ideas from this framework.

Regards

1 Like

This thread might be of interest too:

There is also Zotonic a full featured CMS written in Erlang. It’s in the final stages of a big rewrite to make it more modular so it can interoperate with Phoenix.

2 Likes

There’s also thesis-phoenix that was introduced at a ElixirConf 2017 lightning talk.

EDIT: Also changelog open sourced their CMS

2 Likes

Thanks everyone for the feedback. There’s already much info to digest from! thesis-phoenix seems a great project to learn a few things and take some ideas for how to achieve what I want.

Guys, I’ve created a new topic that follows the discussion that was started here. Check it out!

2 Likes