My experience with Diem CMS

Diem CMS logoLately, I wanted to do a website for a non profit association in which I am involved. Since I really like symfony, I decided to do it using one of the CMS that extend symfony. Looks like there are three main choices: Apostrophe, Diem and Sympal.

I tried first Apostrophe, because I liked a lot the demo video they have in their page. The concept is awesome and it is really worth a shot. Unfortunatelly, we wanted to have a blog, and the blog plugin for apostrophe is not ready yet. I had to abandon it, although I want to use it back in the future.

Then, I asked other symfonians on Twitter (@davidcastello, @loalf & @ivandebenito are always very helpful :), and, after seeing the demo on the Diem site, I installed it and followed the tutorial A Week of Diem Ipsum.

The tutorial is just great. Well explained and illustrative, and the CMS itself suited my needs, although I was disappointed when I saw that the last lesson ends with “On the next chapter we will add comments to the blog.”, and… there is not next lesson. Anyways, I asked on IRC and they pointed me to dmCommentPlugin, which is the way to do it. #EDIT: That chapter of the tutorial is now available! :)

After following the tutorial you can notice that Diem gives what they promise:

  • You don’t need to develop all those boring thinks common to lots of pages. They are already implemented, as you can expect from a CMS, but moreover everything works smoothly.
  • The wysiwyg editor of layout of pages is great. It makes the task of designing the layout almost pleasing (I hate dealing with CSS).
  • Extending it is quite easy, if you know symfony.

I created two new widgets for the landing page, a sort of squares with rounding boxes, a background image and some text inside… not very complicated, but it was easy, although I had to dig a bit in the code of already implemented widgets to solve some issues. I suppose that the documentation will grow and this won’t be necessary in the future, but anyways it is not a big pain. It was quite easy. After all, I was new in Diem.

I developed a system to synchronize pages and the blog with pages in Mediawiki (so that you can edit the wiki and the content is shown on the Diem website) too, and this apparently not so easy task was just smooth because, hey, you have symfony there and you can write tasks using doctrine records and so on.

So, given that I was a total newbie at Diem and I could do everything I wanted without much pain (less than expected for a new platform), and that the base (layout, editor, admin panel, search engine, etc.) worked just fine, I am very glad.

PS: Given that I found that Diem suited my needs, I didn’t try Sympal, so I cannot say anything about it. It was a matter of luck and perhaps eye candy to try Diem before Sympal, I don’t have rational arguments for this choice. I will install it in the future and play a bit with it.

  1. If you want a blog, why don’t you just integrate wordpress?

    • nacho
    • May 16th, 2010

    It is not only a blog (although integrating a blog was a must), and has some particularities, since they want to write in a mediawiki (it is for a Wikimedia Chapter) and make the website take the content and publish it, for the blog and other pages… plus we may want to extend it in some other ways in the future. After all, we will want to talk about the wikis, and there is a lot of things that we can do to show automatically info from these wikis.

    With that in mind, I feel less limited with a CMS/CMF built on top of symfony, that I can extend it without pain. And the second reason is that I wanted to learn (at least) one symfony based CMS.

  2. My suggestion is to start with the CMS, and if you need to add a blog to the site, integrate wordpress.

    • nacho
    • May 17th, 2010

    But the pages of the blog must come from a wiki. The requeriment is to have a wiki page where they can add links to new posts (also wikipages), and then the real blog calls mediawiki for rendering them, allowing comments and all the blog stuff.

    This group is quite technical wise (or at least technical demanding), and may want further extensions later…

    Of course every CMS can be extended, but I think that diem is a good choice for this. At least for me.

    Anyways, thanks for the suggestion!

  3. Hola Nacho,
    Gracias por contar la experiencia. A ver si puedo jugar con él algún día.

    Saludos!

    • nacho
    • May 19th, 2010

    Muchas gracias, David.

  4. >>although I was disappointed when I saw that the last lesson ends with “On the next chapter we will add comments to the blog.”, and… there is not next lesson.

    The next 7th lesson is available at github: http://github.com/diem-project/diem-docs/tree/5.1/tuto/en/

    happy reading :)

    Evgeny

    • nacho
    • June 2nd, 2010

    Thanks, Evgeny. Updating the post…

    • Joan Teixidó
    • July 22nd, 2010

    Buenas,

    coincidimos en Castellón en #decharlas sobre symfony. Gracias por el post, ya que tengo algunas dudas sobre usar o no diem y por lo que veo de tu experiencia lo recomendarías… a ver si me decido para algún proyecto

    joan

    • nacho
    • July 24th, 2010

    Hola Joan. Claro que me acuerdo :). Es cuestión de probar. A mí sí que me gustó. En Castellón Alfonso Alba de nerium.es me dijo que ellos han estado usándolo y están contentos también.

  1. No trackbacks yet.