

Mezzanine, a Django powered CMS, reaches 1.0 - stephen_mcd
http://groups.google.com/group/django-users/browse_thread/thread/c798413197b6f29b

======
randlet
Congrats on the 1.0 release! This looks very polished and a strong contender
for the king of the django cms's title.

I've been evaluating Django cms's over the last couple days and have narrowed
it down to Mezzanine or django-cms. Would love to hear if anyone (especially
developers from either package) has any compelling arguments for one vs the
other.

~~~
stephen_mcd
Thanks randlet!

I can't really comment objectively on Django CMS, as I've had no exposure to
it. Too busy working on Mezzanine.

I did at one point take at look at their page model, which I imagine in both
projects is the heart of the CMS. It was a relative mess compared to
Mezzanine's, which has always strictly strived to keep a painstakingly clean
code base and design, to make jumping in and hacking on as easy as possible.

I've also seen a lot more complaints from frustrated Django CMS users than I
have with Mezzanine, many of those who have come to Mezzanine afterwards and
really enjoyed it. But that is most likely a result of Django CMS being much
more popular - something Mezzanine has a much harder time achieving without a
generic name :-)

But please, take that comparison with a grain of salt. Go ahead and try both!

~~~
aDemoUzer
It does looks good. I need a BLOG system and have been working on rewiring
django-article module to have the twitter-bootstrap and lot of other
modifications. After reading the feature list of MZ, I was ready to make the
switch but when I tried it out and saw the system missing the features I
needed, I decided to stay with what I got. \- writing article in
Textile/Markup/restructured text \- thumbnail generation

side-note: How about a rename to something with django in it? i.e Better
Django CMS?

Personally, Mezzanine does not rolls right off my tongue and my brain is just
refusing to memorize it.

~~~
stephen_mcd
There's a third party app that integrates Markdown into Mezzanine:
<https://bitbucket.org/onelson/mezzanine-mdown>

Mezzanine also contains automated thumbnailing for any images at the template
level:
[http://mezzanine.jupo.org/docs/packages.html#mezzanine.core....](http://mezzanine.jupo.org/docs/packages.html#mezzanine.core.templatetags.mezzanine_tags.thumbnail)

Can't help you out with the project name however, sorry :-)

------
mrweasel
I can't really tell if it's possible to start with a plain Django project and
then add Mezzanine. I have a project or two that could use a better CMS, but
only for a very small subsection of the pages.

The documentation seems to indicate that you really need to start with a
Mezzanine project, and then add all your Django bits. It makes a lot of sense
for a huge number of sites, but perhaps not so much for the type of projects
that are primarily need an easy editor for just a few pages of the overall
site.

~~~
j4mie
Agree completely. This should be front-and-centre in the documentation. A CMS
built on top of Django should, by default, be just another Django reusable
app. It shouldn't take over your entire project.

The `mezzanine-project myproject` bootstrapping command should be just an
optional shortcut for projects which are completely CMS-based. Which, in my
experience, is the minority of projects.

~~~
joshcartme
Mezzanine provides a platform that allows you to do a lot more than just CMS
stuff, so some projects aren't completely CMS-based. The mezzanine-project
command just creates a django project that has some settings already
configured (installed_apps, middleware, urls, etc...) so you definitely could
integrate Mezzanine into an existing project. In reality Mezzanine is a Django
reusable app.

------
anonymous_mouse
I've done some testing with the previous version of Mezzanine (0.12?) and
preferred it to Django-CMS. I preferred mezzanine to django-cms but with this
latest version does not contain the css files in the static directory, which
leave the populated demo version broken.

I was also unsure how to get (South?) to update to my Postgre db instead of
the dev.db.

~~~
stephen_mcd
I'd suggest going over the Django docs a bit more.

Mezzanine 1.0 makes full use of Django's staticfiles app. With DEBUG enabled,
all your static content will be served dynamically from within each app's
static directory. Once DEBUG is off, as you'd do for production, you need to
run the collectstatic command to move all those files into a single static
directory, which you then alias to in your web server's config, be it Apache,
NGINX or something else.

<https://docs.djangoproject.com/en/dev/howto/static-files/>

As for your database settings, simply define those in your project's settings
module. Mezzanine will create a local_settings module for you with the SQLite
settings defined for development. This shouldn't be checked into version
control, as it will be different per environment.

[https://docs.djangoproject.com/en/dev/ref/settings/#database...](https://docs.djangoproject.com/en/dev/ref/settings/#databases)

If you hit any other things like these, please feel free to post to the
mailing list where I and others will be only too happy to guide you.

<http://groups.google.com/group/mezzanine-users>

------
dwyer
Hi Stephen. Congratulations, it looks great. I can't wait to play around with
it.

Quick question: have you any idea if it works with django-nonrel or if it
could be ported to a non-relational database? I've thought building a CMS on
App Engine but I may just try porting one of the Django solutions instead.

~~~
stephen_mcd
Thank you!

Using a non-relational store with Mezzanine would be an ambitious task, as
Mezzanine makes heavy use of Django's ORM in a relational way.

However I was recently contacted by someone from the App Engine team offering
to help ensure Mezzanine deployed smoothly onto it. I mentioned the above and
was told that Django is now a first class citizen on App Engine, with
relational data supported via "Google Cloud SQL" which is their MySQL
offering: <https://developers.google.com/cloud-sql/docs/django>

I haven't gotten around to making sure everything works smoothly, but it's
toward the top of my todo list, so if it doesn't deploy cleanly at the moment,
it will soon.

------
SolarUpNote
I love the name. In fact, that's the name I've been kicking around for my CMS
:D

Man, what a coincidence.

Now, I shall call it ... "Hot Website Makr"! (without the "e") I'd like to see
someone take THAT!

------
ciupicri
Too bad it requires Django 1.3, given the fact that RHEL 6 comes with Django
1.2.

~~~
stephen_mcd
I would suggest that if you're using your system's version of Django, you're
not doing things optimally. Check out virtualenv for more info:
<http://www.virtualenv.org/en/latest/index.html>

