CMS+blog+e-commerce: django or web2py [closed]
Asked Answered
P

3

6

At the moment we are running few smaller PHP sites (small company, private, non-profit org, friends...) and would like to migrate them to Python in order to be able to tweak them more easily and/or extend their functionality due to being familiar with Python although without real experience using some of the Python frameworks.

In order not to write everything from the scratch, we'd need decent CMS, blog and some e-commerce module.

We did some research, installed and tried few apps in Django world and so far have arrived to the two possibilities:

  1. Django-CMS as CMS, Zinnia as blog engine and Django shop as e-commerce or
  2. Mezzanine which integrates CMS+blog and Cartridge as shopping cart application.

Both combinations are nice, although not perfect...At the moment there is problem integrating released versions of django-cms & zinnia due to their usage of non-compatible versions of django-mptt or e.g. Mezzanine is missing some features like linkback support in blog etc.

While playing with the above two sets of apps, we heard about Web2py and must say that we like lot of things there...

We are aware it's younger project with smaller community, less apps etc., but wonder if there is some set of web2py applications which can compare with the two above-mentioned Django sets so that we can choose to start with Web2py, learn it and in that process replace PHP sites with it?

So, we would like to have some capable CMS+blog with the following features:

  • tag cloud, categories
  • spam protection
  • RSS feeds
  • multiple authors
  • threaded comments (optional)
  • linkback (pingback/trackback) support
  • (easily) theme-able
  • markdown/reST markup for writing content/posting
  • multi-lingual support

As far as e-commerce is concerned, besides easy integration with CMS+blog apps we do not need anything spectacular - our 'company' is selling 'services', so no need for thousands of products (only 10s of them), no complicated shipping options so something like:

  • multi-lingual support
  • basic infrastructure for payment methods (e.g.) PayPal and we would need to write a custom module for form-based API
  • simple shopping cart able to handle simple product descriptions
  • tax calculations and
  • (optional) PDF support

would be everything what we would need.

Considering the features we would like to have, our (non)experience working with any framework, which one - Django or Web2py - you consider is more suitable in terms of ease of learning, ease of use, application support etc. ?

I've sent two posts to web2py list and (maybe) because my query was not specific-enough (or some other reason) I did not receive any reply there and I saw there are some apps like KPAX CMS which looks old/non-maintained. Otoh, there is Powerpack which incorporates Instant Press but I'm not sure about availability of e-commerce component. Finally, I've found out about plugin_wiki which seems to be new/young app, but, considering we found* out about possibilities in Django-world, we would like to learn about the situation on the Web2py scene in order to be able to evaluate both options better.

p.s. it would be nice if Appliances list would be organized a bit better so that it's easy to find out what is maintained, where is project page etc.

Pinelli answered 5/8, 2011 at 5:44 Comment(0)
U
2

web2py is a great framework, but currently light on reusable CMS, blog, and particularly e-commerce applications. It sounds like you have already stumbled upon the main options -- plugin_wiki, Powerpack, and Instant Press.

I don't think there is a mature and currently maintained e-commerce application, but you may be able to make use of web2py-estore. There are also some options for accepting credit card payments (see also).

plugin_wiki includes comment functionality, and there is also plugin_comments. For PDFs, pyfpdf comes with web2py, and there is also web2py_appreport. web2py also includes RSS support.

EDIT: Also, another web2py CMS under development, to be released soon: SimplrCMS

Ullrich answered 5/8, 2011 at 18:5 Comment(3)
"...the main options -- plugin_wiki, Powerpack, and Instant Press" - does plugin_wiki makes PowerPack redundant? Which one is supposed to be replacement for KPAX? Thank you for mentioning payment options from the book...I missed 'em. I was also not aware of plugin_comments. Similar with web2py_appreport...so it would really be nice, as I already wrote, to update/improve 'Appliances' page.Pinelli
There's some overlap between Powerpack and plugin_wiki, but they are not completely redundant. I suppose Powerpack/Instant Press is more of a replacement for KPAX, but again, plugin_wiki covers some of the same ground. Note, the widgets included with plugin_wiki can be used independent of its wiki pages, so you can use the widgets in any application (including one based on Powerpack).Ullrich
"...it would really be nice, as I already wrote, to update/improve 'Appliances' page." - Yes. A couple of the developers are working on a completely revamped web2pyslices site that will organize all appliances, plugins, recipes, etc.Ullrich
O
3

I've had a lot of success with Django-CMS. It's very, very easy to write custom content-type plugins, extend menu nodes with custom nav elements, such as a list of product categories, etc. It's dead-simple to hook custom application code to any page in the navigation hierarchy.

As you mentioned in your question, Zinnia also plugs into Django-CMS for a nice blogging solution that is also extensible. Adding a cart app, whether it's from the DIVIO team or not should be an easy task.

Django, DjangoCMS and Python in general, have very low learning curves in my opinion. In 14 years of development, Django is the only web framework that hasn't gotten in my way, and Python is an absolute pleasure to work with on a daily basis.

I think you'll find that the Django ecosystem is much more holistic than any of the other Python frameworks, it's also very, very well documented and there are literally hundreds of 3rd party apps. Plus, Django admin can potentially save you many weeks of dev time, and you can override, skin and extend it to do just about anything.

My $0.02 :)

Orman answered 5/8, 2011 at 12:57 Comment(1)
Seeing that there is beta1 for django-cms, it makes it interesting since it should work now with Zinnia...let's see what will come from web2py camp.Pinelli
D
3

-- EDIT --+

Yeah, right after I posted I realized I was heavy on comparison of frameworks but light on suggested solutions to your problem (i.e. existing appliances). I think that Django probably has more matured addins/apps. That being said, crafting your own blog in web2py (a simple blog) is probably only a little harder than configuring one for another framework.

There is the wordpressclone appliance: http://web2py.com/appliances/default/show/36 (you can extract existing wordpress data and get it in here, i'm pretty sure there's a WP export and an import function on this appliance)

There is an e-store (haven't used it): http://web2py.com/appliances/default/show/24

There is KPax CMS, as you said, but i think this one might be out of date, unless it was updated recently. The integration between these should be possible, you can share sessions across apps and I think if you have the same auth_user db, it should work.

I would try installing these and see if they are close to meeting your needs -- especially KPax since I'm not sure the state it's in.

-- END EDIT --

Both Django and Web2py are very good frameworks in my opinion. I think you would be happy with either. That being said, having not used frameworks I would say to with web2py, unless you NEED certain modules that only exist in the django world. Web2py probably has a little more gradual learning curve. Also, it can do RSS out of the box, there's a screencast somewhere showing how to create a blog app in about 5 minutes (including comments), and the community is (usually) very responsive. I don't think there is anything that web2py can do that django can't (except DB migrations -- but i think you can make django do them with some 3rd party code), or vice versa.

Django favors a "explicit is better than implicit" development methodology, which requires to you import various modules and doesn't have all the "magic" of web2py. Using django, you will be more aware of exactly what is going on under the hood. The django templating language is easy to learn and provides a lot of functionality for common markup tasks. Their is a LOT of documentation, a larger user-base and tons of 3rd party modules/plugins/whatever.

Web2py favors a "everything should have a default" approach, and enables to to focus on the big picture without getting bogged down by the minutia of web development. I'm not saying this is in contrast to django, but rather that web2py is very strong on this point. It allows you to rapidly develop applications, and takes the headache out of things like updating a table schema (i.e. it does database migrations). I also prefer web2py's templating language to django's, as it allows pure python and does not require one to learn a separate templating language at all.

I think both frameworks have decent internationalization/localization features. I'm not sure if Django's is still under development or not? Web2py's is easy to use, but I think you might have to provide a lot of the translations yourself.

As for the lack of replies on the web2py list, maybe it's because this topic is becoming more and more frequent? I'm not sure. You could ask people on the web2py freenode channel.

Also, definitely check out this link:

Django vs web2py for a beginner developer

The first response is from the lead developer of web2py, but I think he makes a fairly balanced comparison.

Also, the previous thread includes a link to here (the good and bad of web2py):

http://www.mengu.net/post/django-vs-web2py

Distributor answered 5/8, 2011 at 18:3 Comment(4)
Thank you for the post. I already read the posts you referenced, saw several web2py videos and I'm informed about some of the design's differences between Django and Web2py. However, the main thing is not resolved and this is concrete Web2py app(liance)s. I simply cannot conclude what is the state of concrete Web2py CMS, blog and e-commerce apps. Some seems to be outdated with replacement 'coming soon', some are new etc...That's the missing info I'm looking for...Pinelli
"As for the lack of replies on the web2py list, maybe it's because this topic is becoming more and more frequent? I'm not sure." - then it should be put into FAQ, right? "You could ask people on the web2py freenode channel." - I tried, but got no definitive answer...only plugin_wiki was suggested, iirc.Pinelli
I edited my response, I found a few appliances which may work. I would try them out and if you don't like them probably go with one of the django stacks you suggested.Distributor
I've decided to go with web2py...Everything what I see about the framework simply looks terrific...Yes, less apps, but the design of the framework, functionality..is so clean. However, I'll try to migrate less demanding sites first (private one & the one for non-profit org), leaving the 'business' site for some later time when I will become more familiar with web2py hoping that some decent e-commerce will emerge until then.Pinelli
U
2

web2py is a great framework, but currently light on reusable CMS, blog, and particularly e-commerce applications. It sounds like you have already stumbled upon the main options -- plugin_wiki, Powerpack, and Instant Press.

I don't think there is a mature and currently maintained e-commerce application, but you may be able to make use of web2py-estore. There are also some options for accepting credit card payments (see also).

plugin_wiki includes comment functionality, and there is also plugin_comments. For PDFs, pyfpdf comes with web2py, and there is also web2py_appreport. web2py also includes RSS support.

EDIT: Also, another web2py CMS under development, to be released soon: SimplrCMS

Ullrich answered 5/8, 2011 at 18:5 Comment(3)
"...the main options -- plugin_wiki, Powerpack, and Instant Press" - does plugin_wiki makes PowerPack redundant? Which one is supposed to be replacement for KPAX? Thank you for mentioning payment options from the book...I missed 'em. I was also not aware of plugin_comments. Similar with web2py_appreport...so it would really be nice, as I already wrote, to update/improve 'Appliances' page.Pinelli
There's some overlap between Powerpack and plugin_wiki, but they are not completely redundant. I suppose Powerpack/Instant Press is more of a replacement for KPAX, but again, plugin_wiki covers some of the same ground. Note, the widgets included with plugin_wiki can be used independent of its wiki pages, so you can use the widgets in any application (including one based on Powerpack).Ullrich
"...it would really be nice, as I already wrote, to update/improve 'Appliances' page." - Yes. A couple of the developers are working on a completely revamped web2pyslices site that will organize all appliances, plugins, recipes, etc.Ullrich

© 2022 - 2024 — McMap. All rights reserved.