6 ms·
I have heard anecdotal evidence that Pinax is a real pain to work with, because a lot of the apps are half-complete or not truly pluggable. My friend told me "i
by joshsharp 17y ago
I have heard anecdotal evidence that Pinax is a real pain to work with, because a lot of the apps are half-complete or not truly pluggable. My friend told me "in the time we've spent trying to get them to work as advertised we could've written it ourselves."
- flashingpumpkin 17y agoi have to second that. we've tried having a good time with pinax, it ended being a pita though and we went the roll your own way.
- californiaguy 17y agoPinax is a monstrous pain in the ass to install and use for the following reasons: 1) Bad documentation. 2) Bad installer (installer??? Django apps should be installed with cp and tar.) 3) They attempt to bundle everything with their cheeseball installation package yet I still spent 3 hours compiling external dependencies (not just PIL) which was a major pain in the ass. 4) Not compatible with Python 2.4, the default on a huge number of servers and this is not stated anywhere in the docs. I haven't deployed the code to a production web server with mod python or WSGI but I'm betting it's going to be a major pain in the ass, too. The Django apps that I've written from scratch, every single one of them, could be tarred and dropped into a working Django 1.0/WSGI environment with zero effort other than setting up the base environment - I know because I've done it many times. In my opinion they should really rethink this concept of an "installer". It's a red herring for productivity and doesn't even do what it says it does because there are external dependencies to compile and a bunch of undocumented details to sweat over.
- rufugee 17y agoWow...this it the first criticism of Django-related anything I've read on HN. Bravo! I welcome more honest critiques.
- forkqueue 17y agoDependencies are the exact reason a plain tarball isn't good enough. They're why package management was invented. For http://kutoken.com/ http://kutoken.com/, our Django hosting service, we've spent quite a while packaging Django apps into .deb format, so our users can for example just 'apt-get install python-django-tagging' to have tagging support in their app (for a really simple example). Now I've got used to working with a system like that, I really couldn't go back to individual tarballs and setup.py and the like.
- californiaguy 17y ago> Dependencies are the exact reason a plain tarball isn't good enough If your web app needs complicated deps, it sucks. Which is kind of my point about Pinax. It's fucking embarrassing that you can simply untar some very complicated PHP applications and they work fine right out of the box on insanely varied versions of php/httpd/db software and with something like Pinax you need to spend 3 hours chasing down bugs and asking people on IRC what the hell is going wrong. Django was designed to make things easy, not hard.
- forkqueue 17y agoI couldn't disagree more with the idea that it's embarrassing that PHP apps tend to run with just a simple untar and Django projects don't. For me, this highlights some of the weaknesses of PHP - that there is a lack of pre-built libraries out there, and the difficulties in reusing code. When I first started using PHP god knows how long ago (IIRC PHP 4 was still in beta), one of the things that shocked me was that there was no equivalent to Perl's CPAN. Things are better now, but not that much, and beyond DB libraries there is still far too much reinvention of the wheel in PHP. Django is very much in the Unix philosophy of code re-use, and anytime you re-use code there are going to be dependencies. Added to this, many apps are going to use Python, non Django-related libraries, creating more dependencies. Any good Django app that's doing anything moderately complex should have a pretty long list of INSTALLED_APPS. Many rails apps work with a simple untar because they include their libraries in vendor. I'm not a ruby guy, but Luke Kanies (creator of puppet) is, and wrote a great post on why this is stupid - see http://www.madstop.com/ruby/ruby_has_a_distribution_problem.html http://www.madstop.com/ruby/ruby_has_a_distribution_problem.... Basically what I'm saying is don't fear dependencies, embrace them.
- apgwoz 17y agoThe idea of django pluggables in general is a misnomer. There are very few applications out there that can be plugged in without a lot of extra work. I was hoping that pinax would establish a set of conventions for making this not the case, but it sounds as though there is plenty of room for improvement.
- megaman821 17y agoIs it pluggable like a Drupal module, no. But I wouldn't say adding a line to your installed apps, adding a line to your urls, and then creating your template files is a lot of extra work. I do agree it would be nice if there was a convention for template names and block names from within those templates. Which would reduce the work on the previously mentioned creating of your template files.
- apgwoz 17y ago> But I wouldn't say adding a line to your installed apps, adding a line to your urls, and then creating your template files is a lot of extra work. Of course there are some like this. A large majority however, are not thought out well enough to provide any real benefit without the user writing some other glue. The best example I can think of is django-favorites. The best example of a pluggable that works well though, imho, is django-tagging. It's well thought out, and works well.
- deleted 17y ago[deleted]
- larrykubin 17y agoI tried out Pinax last year. It's sort of like Drupal in that it gives you the building blocks for building your own community site or content management solution. It's a great idea, but unfortunately there were a lot of bugs at the time. Anyone tried it recently?
- ubernostrum 17y agoWell. My personal opinion as someone who works a lot with Django but not (for now, at least) Pinax is that they hit the problem, common in the open-source world, of starting to hit the popularity curve before they were really ready for it. Pinax started getting attention and flattering blog posts and such when there were still several issues to work out with the way Pinax itself was packaged, how applications were vetted for inclusion, etc., etc. Fortunately, popularity has also brought them plenty of new contributors, which means this stuff either has been worked out (e.g., for things like packaging -- now using pip with custom bootstraps, and requiring every app to be installable through it, which is pretty much the ideal) or is being subjected to a flurry of activity.