CMS/CMF on top of Pylons

6 views
Skip to first unread message

lengani

unread,
Mar 20, 2009, 1:04:24 PM3/20/09
to pylons-discuss
Hi folks,
First, a big thank you to all who have worked on Pylons and related
projects. You are doing a great job!

Second, not an announcement, just a question on design thoughts :)

What sort of CMS/CMF do you secretly hope to be built on top of
Pylons?

Just to set the picture:
- Django has the django admin app, really nice.
- Codeigniter is having ExpressionEngine 2.0 built with it.
- Zope has the CMF, Plone..
- Rails has Radiant, which has a clone in PHP (madebyfrog.com)
- and then there's the Web2Py approach
- any others here

What would be the sweet spot for something on top of Pylons?
Something light as in Radiant or more comprehensive like
Drupal (CCK, etc)? Excellent projects to do some of the lifting for
some stuff seem to be there (e.g. formalchemy etc.)

TG has entry for something like this for GSoC (there is hope!),
are there any current or ongoing efforts for something similar
apart from the TG2 plans?

Your thoughts?

Regards,

Lengani

Isaac

unread,
Mar 20, 2009, 3:30:01 PM3/20/09
to pylons-discuss
Hi Lengani,

Have you seen this? http://code.google.com/p/tortugacms/

I don't know much about it other than that they've been working on it
for a long time and it sounds like it will be quite nice if/when they
reach a stable release. I believe it goes on top of TG2, so maybe it
can play nice with Pylons without much hacking... but that's just a
guess, I haven't actually tried to use it at all.

HTH
--i

askel

unread,
Mar 21, 2009, 10:22:10 AM3/21/09
to pylons-discuss
On Mar 20, 1:04 pm, lengani <leng...@gmail.com> wrote:
> What sort of CMS/CMF do you secretly hope to be built on top of
> Pylons?

If you need CMS why not use what was specifically designed that way? I
believe people who seek out-of-box CMS should not look at Pylons
because they dont need its power of not being a CMS.

As you've already mentioned there are others that would do that job
for you.

Cheers

Raoul Snyman

unread,
Mar 22, 2009, 5:29:45 AM3/22/09
to pylons-...@googlegroups.com
2009/3/21 askel:

> If you need CMS why not use what was specifically designed that way? I
> believe people who seek out-of-box CMS should not look at Pylons
> because they dont need its power of not being a CMS.

I agree with askel. I use Drupal as my CMS for sites that I work on.
It may be PHP, but it's extremely powerful and extensible. Besides, if
you wanted something as powerful and extensible as Drupal, you'd
probably want to write it from scratch in Python, rather than using a
framework like Pylons. As awesome as Pylons is, it would restrict the
extensibility of the CMS.

You want a CMS? Use Drupal.
You want to develop a web application? Use Pylons.

--
Raoul Snyman
B.Tech Information Technology (Software Engineering)
E-Mail: raoul....@gmail.com
Web: http://www.saturnlaboratories.co.za/
Blog: http://blog.saturnlaboratories.co.za/
Mobile: 082 550 3754
Registered Linux User #333298 (http://counter.li.org)

AD.

unread,
Mar 22, 2009, 6:55:42 AM3/22/09
to pylons-discuss
On Mar 22, 10:29 pm, Raoul Snyman <raoul.sny...@gmail.com> wrote:
> I agree with askel. I use Drupal as my CMS for sites that I work on.
> It may be PHP, but it's extremely powerful and extensible. Besides, if
> you wanted something as powerful and extensible as Drupal, you'd
> probably want to write it from scratch in Python, rather than using a
> framework like Pylons. As awesome as Pylons is, it would restrict the
> extensibility of the CMS.

Could you explain that last statement a bit further? I suspect I'm
naively missing something about Pylons extensibility (or lack
thereof) :)

> You want a CMS? Use Drupal.
> You want to develop a web application? Use Pylons.

I can relate to that thinking, but there is a lot of crossover between
sites and apps these days. It is a continuum rather than an either/or.

As a Drupal user (and fan - don't get me wrong) for the last 5 years
or so, I still have fantasies about using some hypothetical content
layer on top of Pylons or TG2 instead. Not something that cloned
Drupal mind you - just something pythonic and extensible that was
inspired by it but without the ever expanding PHP array boilerplate.

I wouldn't need the example themes, or the base CMS app, the exact
API, or the installer etc just the pluggable content framework. So it
would be approaching the middle ground from the other end ie adding
content handling to a webapp framework rather that coding a webapp in
a CMS framework.

Drupal is getting much more complex as it grows and is putting a huge
amount of effort into partially reinventing themselves (NIH) things
that Python web developers already have eg SQLAlchemy, TW, the repoze
libraries etc.

--
Cheers
Anton

Mike Orr

unread,
Mar 22, 2009, 4:26:23 PM3/22/09
to pylons-...@googlegroups.com
On Sun, Mar 22, 2009 at 5:29 AM, Raoul Snyman <raoul....@gmail.com> wrote:
> You want a CMS? Use Drupal.
> You want to develop a web application? Use Pylons.

Except that some applications may need a drop-in CMS for a section of
the application. You can supposedly embed Plone as a WSGI application
but I don't know anybody who has tried it. There's a wishlist in the
Pylons wiki for a CMS/blog/wiki component for Pylons, but so far it
hasn't been written. A few projects were started but stagnated or
weren't really a CMS. You can add your ideas on the wiki page.

http://wiki.pylonshq.com/display/pylonsprojects/Blog%2C+CMS%2C+and+Wiki+software


--
Mike Orr <slugg...@gmail.com>

Wichert Akkerman

unread,
Mar 22, 2009, 4:51:08 PM3/22/09
to Mike Orr, pylons-...@googlegroups.com
Previously Mike Orr wrote:
>
> On Sun, Mar 22, 2009 at 5:29 AM, Raoul Snyman <raoul....@gmail.com> wrote:
> > You want a CMS? Use Drupal.
> > You want to develop a web application? Use Pylons.
>
> Except that some applications may need a drop-in CMS for a section of
> the application. You can supposedly embed Plone as a WSGI application
> but I don't know anybody who has tried it.

I think OpenPlans is doing that. You can run Plone 3 as a WSGI
application using Repoze, and Plone trunk is WSGI by default.

Wichert.

--
Wichert Akkerman <wic...@wiggy.net> It is simple to make things.
http://www.wiggy.net/ It is hard to make things simple.

Wyatt Baldwin

unread,
Mar 22, 2009, 6:39:21 PM3/22/09
to pylons-discuss
On Mar 22, 2:29 am, Raoul Snyman <raoul.sny...@gmail.com> wrote:
> 2009/3/21 askel:
>
> > If you need CMS why not use what was specifically designed that way? I
> > believe people who seek out-of-box CMS should not look at Pylons
> > because they dont need its power of not being a CMS.
>
> I agree with askel. I use Drupal as my CMS for sites that I work on.
> It may be PHP, but it's extremely powerful and extensible. Besides, if
> you wanted something as powerful and extensible as Drupal, you'd
> probably want to write it from scratch in Python, rather than using a
> framework like Pylons. As awesome as Pylons is, it would restrict the
> extensibility of the CMS.
>
> You want a CMS? Use Drupal.
> You want to develop a web application? Use Pylons.

Um... A web-based CMS (such as Drupal) *is* a web app.

Raoul Snyman

unread,
Mar 23, 2009, 2:40:11 AM3/23/09
to pylons-...@googlegroups.com
2009/3/22 AD.:

> On Mar 22, 10:29 pm, Raoul Snyman <raoul.sny...@gmail.com> wrote:
>> I agree with askel. I use Drupal as my CMS for sites that I work on.
>> It may be PHP, but it's extremely powerful and extensible. Besides, if
>> you wanted something as powerful and extensible as Drupal, you'd
>> probably want to write it from scratch in Python, rather than using a
>> framework like Pylons. As awesome as Pylons is, it would restrict the
>> extensibility of the CMS.
>
> Could you explain that last statement a bit further? I suspect I'm
> naively missing something about Pylons extensibility (or lack
> thereof) :)

Note: I said that Pylons would restrict the extensibility of said CMS,
not that Pylons itself is not extensible.

Pylons is an MVC framework, that means that you have clearly defined
models, views, and controllers. Drupal, on the other hand has HTML
(view) code littered all over it's modules (controllers) and has no
models.

Pylons depends on it's fairly fixed MVC structure, and fairly fixed
directory structure, for it's mapping and layout of the application.
Sure you could probably hack the Pylons code to change the required
directory structure, but then you'd have a problem each and every time
Pylons releases a new version and you want to upgrade your version of
Pylons.

Drupal on the other hand doesn't have a fixed structure further than
"all module-related code must be in the module's directory" and it has
no module templates. Drupal has a much flatter, informal structure.

My point is not that you can't write a CMS in Pylons, nor that Pylons
is limited. My point is that if you want to write a "Drupal" in
Python, I don't think you're going to be able to do it in Pylons. They
just work totally differently.

(My apologies if I'm not being clear, I wrote most of this on Sunday
night at 22:00, and the rest on Monday morning.)

cropr

unread,
Mar 23, 2009, 7:56:05 AM3/23/09
to pylons-discuss
hi,

I am writing a very small CMS in Pylons. you can see it live at
http://decrop.net or at http://www.kosk.be. The first one is in 3
languages (Dutch, French and German) the latter is only in Dutch.

Currently I am cleaning up my code. By the end of April I will
release the source code for those who are interested.

Feature set
- group based security model
- people can add/modify content folders, rich text base pages,
calenders events and news items
- gui is written with YUI
- multiple language support, even for content
- easy to add customized content types with complex logic

Why am I developing my own CMS and why not using Drupal and/or Plone:
- both sites have a part that is not CMS related at all and that
requires a lot of customized programming. Here I definitely prefer a
Python solution versus a PHP solution
- memory footprint. both applications runs on the same virtual
server with 256 MB of RAM and no swap space
- speed. Pylons is fast. On my development server it takes 15
seconds to restart Plone, only 2 for a Pylons aplication

Dalius Dobravolskas

unread,
Mar 23, 2009, 3:04:41 AM3/23/09
to pylons-...@googlegroups.com
Raoul Snyman wrote:
> My point is not that you can't write a CMS in Pylons, nor that Pylons
> is limited. My point is that if you want to write a "Drupal" in
> Python, I don't think you're going to be able to do it in Pylons. They
> just work totally differently.
>
Could you be more specific what's impossible with Pylons? While your
arguments about MVC part of Pylons looks valid they are not! There are
number of discussions in this group about custom layouts (whatever you
mean by that). Pylons is really flexible framework. As well you do not
even mention WSGI part of Pylons (I guess that's because you don't
understand this part).

OK. Most probably I can't write Drupal in Pylons, but I can write CMS.
Actually I have written working CMS prototype in Pylons.

Regards,
Dalius

Olivier Lauzanne

unread,
Mar 23, 2009, 12:24:12 PM3/23/09
to pylons-...@googlegroups.com


2009/3/23 Dalius Dobravolskas <dal...@sandbox.lt>

I think the main problem is extensibility. How can you write an extention for a pylons project outside of the project ? Or do you just fork the CMS for your own projects ? I kinda like the idea, but it would be difficult to have reusable extentions in that case. You would have to use branches and merge extension branches together, hoping they don't conflict in a complicated way. Oh and of course you'd have to make something so good and simple that people like hacking it.

Regards,
--
Olivier Lauzanne

Raoul Snyman

unread,
Mar 23, 2009, 1:40:53 PM3/23/09
to pylons-...@googlegroups.com
2009/3/23 Dalius Dobravolskas <dal...@sandbox.lt>:

>
> Raoul Snyman wrote:
>> My point is not that you can't write a CMS in Pylons, nor that Pylons
>> is limited. My point is that if you want to write a "Drupal" in
>> Python, I don't think you're going to be able to do it in Pylons. They
>> just work totally differently.
>>
> Could you be more specific what's impossible with Pylons? While your
> arguments about MVC part of Pylons looks valid they are not! There are
> number of discussions in this group about custom layouts (whatever you
> mean by that). Pylons is really flexible framework. As well you do not
> even mention WSGI part of Pylons (I guess that's because you don't
> understand this part).

Please don't insult me by saying I don't understand WSGI. You don't
know what I know or understand.

Secondly, I never said it's "impossible" to write a CMS in Pylons, I
just said that I think that Pylons is unsuited to develop a
Drupal-style CMS in.

Thirdly, I never said that Pylons is not flexible. Once again, I said
that I think that Pylons is unsuitable for a Drupal-like CMS.

> OK. Most probably I can't write Drupal in Pylons, but I can write CMS.
> Actually I have written working CMS prototype in Pylons.

See my comments above.

Wyatt Baldwin

unread,
Mar 23, 2009, 1:49:58 PM3/23/09
to pylons-discuss
On Mar 23, 9:24 am, Olivier Lauzanne <olivier.lauza...@ingeniweb.com>
wrote:
> 2009/3/23 Dalius Dobravolskas <dal...@sandbox.lt>
>
>
>
>
>
> > Raoul Snyman wrote:
> > > My point is not that you can't write a CMS in Pylons, nor that Pylons
> > > is limited. My point is that if you want to write a "Drupal" in
> > > Python, I don't think you're going to be able to do it in Pylons. They
> > > just work totally differently.
>
> > Could you be more specific what's impossible with Pylons? While your
> > arguments about MVC part of Pylons looks valid they are not! There are
> > number of discussions in this group about custom layouts (whatever you
> > mean by that). Pylons is really flexible framework. As well you do not
> > even mention WSGI part of Pylons (I guess that's because you don't
> > understand this part).
>
> > OK. Most probably I can't write Drupal in Pylons, but I can write CMS.
> > Actually I have written working CMS prototype in Pylons.
>
> I think the main problem is extensibility. How can you write an extention
> for a pylons project outside of the project ?

This isn't a question about Pylons in particular. This is a question
about Python in general. The answer would be to create some kind of
plug-in architecture.

Jonathan Vanasco

unread,
Mar 23, 2009, 1:54:30 PM3/23/09
to pylons-discuss
on ArtWeLove.com :

everything under /news is MovableType
everything else is Pylons

SqlAlchemy + Views in Postgres made it ridiculously easy to make
MovableType content available to Pylons... and vice versa.

Wyatt Baldwin

unread,
Mar 23, 2009, 1:55:05 PM3/23/09
to pylons-discuss
On Mar 23, 10:49 am, Wyatt Baldwin <wyatt.lee.bald...@gmail.com>
wrote:
And I should mention that this is what Drupal has done with their
module system. I'm not convinced yet that it's impossible or even
particularly hard to do something functionally equivalent with Pylons,
Django, etc.

Raoul Snyman

unread,
Mar 23, 2009, 3:42:10 PM3/23/09
to pylons-...@googlegroups.com
2009/3/23 Wyatt Baldwin <wyatt.le...@gmail.com>:

> And I should mention that this is what Drupal has done with their
> module system. I'm not convinced yet that it's impossible or even
> particularly hard to do something functionally equivalent with Pylons,
> Django, etc.

I can see doing what Drupal did in Python, and probably quite easily
at that, but I still doubt you'd be able to do exactly what Drupal did
in Pylons... Pylon's structure would get in the way. Please once again
note, I'm not saying that you cannot build a CMS in Pylons.

I'd *love* to see a Drupyl ;-) especially using WSGI to get it
right... that would be awesome.

askel

unread,
Mar 23, 2009, 4:02:43 PM3/23/09
to pylons-discuss
It all depends on how much of CMS you need in your app. It could be as
simple as Wiki Pylons tutorial which I believe is classical (yet
rudimentary) CMS. My point is that Pylons is possible but not best bet
as long as CMS is concerned.

On Mar 20, 1:04 pm, lengani <leng...@gmail.com> wrote:

AD.

unread,
Mar 23, 2009, 5:26:22 PM3/23/09
to pylons-discuss
On Mar 24, 6:49 am, Wyatt Baldwin <wyatt.lee.bald...@gmail.com> wrote:
> This isn't a question about Pylons in particular. This is a question
> about Python in general. The answer would be to create some kind of
> plug-in architecture.

Yep

The question isn't so much about making a clone of Drupal (or
something like it) as much as something inspired by it. Drupal has a
lot of clever and creative (and often annoying) workarounds for
historical PHP limitations and low end shared hosting environments, in
fact that was what shaped a lot of the architecture. There is no point
cloning those things, and Drupal themselves are moving away from them
as they leave old versions of PHP behind.

I reckon the question is more about can a vaguely Drupal-like
extensible plug-in architecture/framework for handling content be
created on top of something like Pylons or TG2? eg the core framework
runs through a bunch of hooks registered by modules to alter the
contents data structures in different ways at different stages. Each
module could register its own extra chunks of model or view etc.

Jorge Vargas and Chris Perkins seem to be working on extensible DB
models for a TG2 based lightweight CMS called Pages (tgext.pages if
you need to google it) that looks promising (although not comparable
to Drupal). Supporting this kind of extensible system seems to be a
real goal for TG2.1, so it doesn't sound like there is anything
inherent in Pylons that prevents it.

But I'm hardly an expert on this stuff :)

--
Cheers
Anton

Wyatt Baldwin

unread,
Mar 23, 2009, 6:41:15 PM3/23/09
to pylons-discuss
On Mar 23, 12:42 pm, Raoul Snyman <raoul.sny...@gmail.com> wrote:
> 2009/3/23 Wyatt Baldwin <wyatt.lee.bald...@gmail.com>:
>
> > And I should mention that this is what Drupal has done with their
> > module system. I'm not convinced yet that it's impossible or even
> > particularly hard to do something functionally equivalent with Pylons,
> > Django, etc.
>
> I can see doing what Drupal did in Python, and probably quite easily
> at that, but I still doubt you'd be able to do exactly what Drupal did
> in Pylons... Pylon's structure would get in the way. Please once again
> note, I'm not saying that you cannot build a CMS in Pylons.

I think I see what you're saying with regards to the *way* Drupal is
built. That is, it might be hard to build a Pylons app that way. But
that's sort of the point, as AD seems to be getting at. There's no
reason or need to build apps that way.

As far as *functionality*, though, I can't see any reason why Drupyl
couldn't be built with Pylons (Django, TG2, ...), and I don't see
anything about Pylons' structure that would hamper building *any* sort
of web app, at least no more so than any other framework[1]. The
structure Pylons imposes in terms of both packaging (standard Python
packaging w/ a few conventions) and WSGI is fairly minimal and very
extensible.

Anyway, we seem to be saying roughly the same thing at this point,
except the part about Pylons' structure.

[1] Unless someone knows of a new, magical framework that I haven't
heard of yet. ;)

Wyatt Baldwin

unread,
Mar 23, 2009, 6:46:39 PM3/23/09
to pylons-discuss
On Mar 23, 1:02 pm, askel <dummy...@mail.ru> wrote:
> It all depends on how much of CMS you need in your app. It could be as
> simple as Wiki Pylons tutorial which I believe is classical (yet
> rudimentary) CMS. My point is that Pylons is possible but not best bet
> as long as CMS is concerned.

I'd say it really depends on the product you are building. If Drupal
works off-the-shelf for you or your client, that's great. If you need
to do anything custom, though, prepare to dive into the muckity-muck
of PHP (which may be just your thing; I'm not judging).

Out of curiosity, would you say the same thing about Django? It's got
a (very expensive) CMS built on top of it: http://www.ellingtoncms.com/.

Dalius Dobravolskas

unread,
Mar 24, 2009, 2:41:45 AM3/24/09
to pylons-...@googlegroups.com
Raoul Snyman wrote:
> 2009/3/23 Dalius Dobravolskas <dal...@sandbox.lt>:

> Please don't insult me by saying I don't understand WSGI. You don't
> know what I know or understand.
>
Please excuse me for insulting you ;-) I didn't had such intentions.

> Thirdly, I never said that Pylons is not flexible. Once again, I said
> that I think that Pylons is unsuitable for a Drupal-like CMS.
>

It might be possible that starting from scratch with plain WSGI
application and adding required components (session, templating and
etc.) is more suitable for that than Pylons if you need plug-ins.
However not every CMS needs plug-ins.

Regards,
Dalius

Randy Syring

unread,
Mar 24, 2009, 11:07:58 AM3/24/09
to pylons-discuss


On Mar 23, 12:24 pm, Olivier Lauzanne <olivier.lauza...@ingeniweb.com>
wrote:

> I think the main problem is extensibility.

I agree, which is why I developed pysmvt and pysapp:

http://pypi.python.org/pypi/pysapp
http://pypi.python.org/pypi/pysmvt

The idea is that pysmvt is a framework similar to Pylons (in fact I
took a lot of development ideas from Pylons), except that it is built
with the idea that a web application is made up of a single or
multiple applications stacked on top of each other with each
application having its own modules (i.e. what Django would call an
"app"). So, a typical web project for me consists of the following
apps with the following modules:

-examplewebsite (an application that represents the customer's
website)
- navigation (a custom navigation module for this customer)
- pyspages (overrides to the sharedmod's pyspages)
- home (a custom home module which handles the home page)
- emergencyannouncements (another custom module for this customer.
Like announcements, but significant enough changes that we didn't want
to inherit from announcements)
-sharedmods (an application in the virtualenv's path that is simply a
placeholder for modules I have built that get used on multiple
projects)
- announcements (news items)
- contactform (for a "Contact Us" page)
- contentbase (supports anything with "content" (i.e. announcements)
and provides CMS like functionality that other modules can use to do
work)
- filemanager
- newsletter (sends bulk emails, used by announcements and
emergencyannouncements to send emails when an announcement is made)
- pyspages (a simple module that we use for "static" pages so that
they are a part of our templating system)
-pysapp (a base application that handles DB setup, authentication,
default CSS, default templates, default error handling, etc.)
- users (a simple users module for authentication. Can be extended
by any module if you needed a "customer" for instance that would also
be a logged in user)
- apputil (some basic views/templates and other utilities for error
handling

The idea is that pysmvt simply provides a framework for easily
building applications on top of each other. pysapp provides basic
functionality and defaults for the way I like to build webapps. If
you don't like my way, no problem, just implement your own basic
application to replace pysapp and build all your applications on top
of that instead. The key part of pysmvt is a python-path like lookup
sequence that determines, down to the object, where something gets
imported from. So, when the view Users:Login is requested, pysmvt
first looks in examplewebsite, then sharedmods, and then pysapp for a
module named Users with a view named Login. The first place it is
found is used (an cached for the life of the app). This allows you to
override functionality in the apps higher in the stack. If I needed
to do a custom Users:Login view, I would just create a Users module in
examplewebsite with a Login view and the framework would automatically
use that instead.

The whole point of my framework is to be able to eventually build a
CMS application on top of it, while still retaining a good framework
for other needs. I had actually started my framework by trying to
modify Pylons, but some of the core concepts were too different.

Isaac

unread,
Mar 24, 2009, 4:34:42 PM3/24/09
to pylons-discuss
I know almost nothing about it, but there is a plugin style CMS called
Tortuga that is supposedly being worked on (used to be called Pagoda).
But it's been dormant for a while... may be worth a look...
http://code.google.com/p/tortugacms/

Lengani Kaunda

unread,
Mar 31, 2009, 1:05:55 PM3/31/09
to pylons-discuss
Really interesting thoughts. Thanks everyone, I'll be adding these
ideas and resources to
the wiki shortly as suggested.

Regards,

Lengani
Reply all
Reply to author
Forward
0 new messages