On Tue, Jan 18, 2011 at 9:43 PM, Cal Leeming [Simplicity Media Ltd]
<cal.leem...@simplicitymedialtd.co.uk> wrote:
> I would be interested to hear from anyone who has used Pinax in production.
> Although I am discouraged by the maturity (only 2 years old?), it does seem
> to contain some useful features.
> Personally, I would have liked to have seen some of these features merged
> into the Django core, rather than forked into a separate project, but that's
> just me.

I think we need to clear up some misconceptions here.

Pinax isn't a "fork" of Django. That would be like saying Zope is a
"fork" of Python. It isn't a fork - one is a tool built using the
facilities provided by the other.

Django is a low level tool. It provides the essentials to route HTTP
requests to views, and return responses. Django doesn't mandate what
you build, or how you build it, or the right apps for the job. Django
only specifies something when it's clearly in the interest of all (or
at least, most) web developers to  -- thus, Django provides a Forms
framework, a template rendering system, and a Sessions framework.

However, there are many things that Django *doesn't* have an opinion
on. For example, there are many ways to implement tagging. There are
many tagging applications available. Depending on your circumstances,
one implementation might be better than another. So Django doesn't
ship with a tagging app -- it's up to end users to find a tagging app
that meets their needs.

There are some exceptions to this rule. For example, the auth
framework isn't as good as it could be, and not every website has a
need for comments. However, the broad principle stands -- Django isn't
trying to provide every tool for every possible web job.

Pinax, on the other hand, works at a higher level. Pinax targets a
specific domain -- social web apps -- and as a result, they *are* in a
position to be opinionated about the best way to do tasks like
tagging. They haven't done this by "forking" Django. They have taken
Django, and the wide community of available apps, and selected a
subset of apps that complement each other, integrate well together,
and are appropriate for their target class of websites. Pinax is more
like a meta-packaging framework for Django apps. Every Pinax site has,
at it's core, a completely vanilla Django install.

And, to follow up on the criticism/wish -- elements of Pinax *have*
made it back to Django. For example, the static files framework that
will be in Django 1.3 started life as an external app, and proved
itself to be a useful tool due, in part, to being a recommended part
of Pinax installs.

So - you really don't have to make a "Pinax or Django" decision. Any
app that can be installed in a Django site can also be installed in a
Pinax site, and every Pinax site is a Django site.

As for the original question -- are there any drawbacks? Well, not
really. Pinax suggests a particular collection of apps, but you can
use any other app you want in parallel. Pinax mandates a few standards
for project layout and the like, but for the most part, they're just
using the best practices commonly understood by experienced members of
the Django community, but the Django project itself hasn't gone to the
trouble of formalizing.

About the only potential downside I can see is that If you're not
building something in Pinax's sweet spot -- i.e., a social web site --
you won't get all the benefits that Pinax has to offer. If you're
building something *really* different, you might find that Pinax's
conventions obstruct you in ways that a raw Django install wouldn't.
However, for most "websitey" websites, this won't be an issue --
Pinax's conventions are, for the most part, a bunch of practices that
you should probably be following anyway -- Pinax just forces/provides
the tools to help you to follow them :-)

Yours,
Russ Magee %-)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to