If Gmail were built with Drupal
bryanbraun.com
bryanbraun.com
"PDOException: SQLSTATE[42000] [1203] User bryanbra_drp1 already has more than 'max_user_connections' active connections in lock_may_be_available() (line 167 of /home4/bryanbra/public_html/includes/lock.inc)."
...is the punch line or not.
Heh, its a rant on Drupal. So the author is using Gmail as a "good thing" that would be made into a "bad thing" if it were implemented in Drupal.
Meta comment, I wonder when people using Gmail as an example of 'good' will figure out it doesn't have quite the approval rating they were thinking it had. Actual comment, its a known issue that programmers write things they like to use, not things other people like to use. It is one of the reasons programmers have an easier time figuring out modern technology that was built by other programmers, they already speak the underlying conceptual language. It is hard to see that gap unless you are a non-programmer.
Some sites I have had to deal with on initial inspection have 250+ queries per user (sometimes the same ones over and over due to plugins/modules) and people wonder why after 10 users it breaks the database/site.
Without cache on wordpress you might be in trouble, without cache on Drupal you don't run.
Still, Drupal is orders of magnitude more useable than other PHP frameworks like Joomla. The PHP that is fun is using microframeworks like limonade, flight etc if PHP is used.
Even with pages cached in Memcache, Drupal would open a DB connection by default (it's possible to override this using page_cache_without_database, but not everyone is going to do that).
Using something like Varnish as the primary page caching mechanism would work around this, albeit with some trade-offs.
Generally though, the fault with issues like this is often that the MySQL connection limit is set lower than it needs to be. Often, this is set at a level far below that which would actually cause the DB server to become overloaded, and it just starts rejecting further connections even if capacity exists to handle more.
EDIT: typos
Page runs on Drupal > Drupal uses database > Database connections were exhausted. I was suggesting caching up front to bypass calls to the database (not specifying a particular piece of caching software).
At the time I was looking at the page through a 3rd party cache. I didn't realise the page had inline comments, those would of course complicate the problem.
But people here are funny: "oh, it is giving max_user_connections errors, let me keep refreshing the page to see if it shows up"
I've had the 'pleasure' of working with a variety of content management systems over the course of my career and Drupal is easy-peasy-lemon-squeezy. You wouldn't believe the shit that is out there, especially in the Enterprise world.
Edit: I mean, I hate PHP with a fiery passion and it would never be my language of choice for a project, but I'd still rather be forced to use Drupal and its clunky EAV-Design than abominations such as Typo3 (also PHP/Typoscript), Joomla (also PHP), DotNetNuke (holy crap, please kill me now, this must be the worst CMS of all time), LifeRay Portal (Java)...
Of course, the fact that I was hired into a content management position when I applied for an entirely different one, and wasn't told until the day I rocked up didn't help matters.
Yes awful..... so exactly which companies are paying upwards of a million for this?
I just got an idea for a startup, I call it it Terrib.ly
All customer support by Roy Trenneman
That said, I think the drupal community is the single worst offender in the "our software can do anything and everything and is perfect and you never need to use another one and you can't tell me otherwise" camp
"Drupal doesn't scale well" is met with "there are sites doing XX mn pageviews a month in drupal. Not, "Yeah, it is really optimized for sites that will have less than 30,000 users and less than 500,000 pageviews a month."
It is software that tries to be all things to all people -- that's fine, its a swiss army knife. But I really hate the fact that when you tell a drupal-fan that "This problem really needs a cleever" they try to tell you that the saw blade on the back could do that fine.
I learned web dev by way of Wordpress -> Drupal -> Django. Of those, I still use and love Wordpress and Django -- they're great tools for their respective jobs. Drupal? I personally just can't use it. You can't trust the drupal community to accurately participate in a conversation about "what is this optimized for" (they always say "everything!"), so you have to fact check every claim and that takes as long as building it in django.
The original post is a direct criticism of Drupal from someone in the Drupal community.
That there are people in the drupal community who are circumspect does not invalidate the overall point that the drupal community on aggregate/average is far less circumspect than the average open source community.
EDIT: Looks like they went custom While Jekyll eliminates the need for a full-blown content management system for Healthcare.gov (and with it, related costs) people managing the site still need to be able to update it. That's where Prose.io comes in.
Prose.io is an open-source content editor developed by Development Seed that gives non-programmers a clean user interface to update pages. "If you create content and run Jekyll, it requires content editors to know code," said Cole. "Prose is the next piece. You can run it on your on own servers or use a hosted version. It gives access to content in a CMS-like interface, basically adding a WYSIWYG [What You See Is What You Get] skin, giving you a text editor in the browser."
To non-technical users, Prose.io looks much like the standard "What you see is what you get" interface, familiar from Wordpress or Microsoft Word, with a couple bells and whistles, such as mobile editing.
I run a pretty simple instance of Wordpress for my blog, but I've updated my custom, hacked-up Jekkyl site far more often than that, as well as my Tumblr (to say nothing of what I put out on Twitter, or, I guess, HN). CMS UIs matter, and kudos to the OP for trying to preach on that.
If a framework can give you that kind of a UI "for free" before you start working on customizing it, that's pretty interesting.
OTOH, I'll join the crowd in chuckling at their scaling problems. The funny thing is PHP is absolutely excellent for scaling. Call it a one trick bastardized pony, but if there's one thing PHP does well it's serving dynamic HTML pages using a mysql database while being 100% stateless. It's framework bloat that causes abominations like Magento.
Check out http://www.techempower.com/benchmarks/#section=data-r7&hw=i7... raw PHP shows up in the top 10, shoulder to shoulder with java, scala, and c++. To compare apples to apples (web frameworks), a popular php framework called codeignitor shows up about 35 spots ahead of something called "stripped rails" I'm not sure where fully clothed rails shows up because counting rows in that table is a PITA.
Call it a fractal of bad design and I won't blink twice (especially considering the latest fun I had with the fact that building a query string from an associative array is a third party library while splitting a query string into an associative array is builtin), but compare its performance to literally any other scripting language (including our beloved openresty nginx + lua stack).
PHP does one thing very well, I seem to remember that being part of something called "The UNIX philosophy".
Full disclaimer:
1. I hate writing PHP, the best way to write PHP is to avoid
stepping on land mines and use interfaces, OOP, and closures.
2. I write PHP (and golang) for a living, but have
professionally written python, java, perl, and TCL at various
times. I'm also doing everything I can to get away from PHP
while maintaining business continuity (mustache for views, new
services in go).
</rambling>[edit] formatting and grammer.
No, they don't. They don't produce them at all - that's left to the developer.
It's entirely possible to make a totally custom form UI in Drupal just like in Symfony et al. It just comes out-of-the-box with a default one.
I've used a wide variety of PHP frameworks and none of them do that sort of stuff with a line of YAML. Comparing the default node form of Drupal to a completely custom UI built in a framework is absurd.
Yes, it was kind of ugly, but consider I didn't write a single line of code... no css, no javascript, no php, no sql, nothing but HTML content? That's pretty slick.
I'm no longer involved with the site we built (http://quadropolis.us), but it still has an active userbase and has a beautiful hoard of stuff (although I'm a little disappointed they've conflated maps and model content now).
It compares a default Drupal install against a finished (as finished as Gmail can be, considering they keep tampering with it) product.
I bet Gmail looked pretty janky before the front-end devs got hold of it too.
Thanks to Drupal's module-based architecture and the massive community around it there's few limits on what one can do with it - it's rare that a module doesn't already exist for what you want to achieve.
This author (who is a huge Drupal proponent) is encouraging people to spend some design time and energy on the edit interface.
There. I fixed the title for you. I've built some Drupal sites in years and you can do a lot better than the shit form you have in the screen shot. There is a fabulous module that allows your node edit form to be in tabs on the left just like all the rest of form (less scrolling). There is a module that lets you create your own fields elements. You don't have to have forms like you show. If all you have to offer skill-wise is being able to install Drupal and use the edit node form... I don't think you have enough skill to build Gmail.
Sure, Drupal is not perfect but it does a lot of things and you can do a lot of things with it.
This means you could have a native app and a website powered by the same Drupal install. Or, you could ditch the theming and templating layer entirely and create your own.
For most CMS use-cases I've come across, I'd rather use Wordpress. It's simpler for most website needs and provides substantially better default UI to editors.
Then I got a Drupal project.
Drupal is a heaping, steaming pile of shit.
Now I happily work with Rails again.
Thanks Drupal!
It enraged a small number of people, who happen to be the ones that spoke up. The people who don't care, or who liked it, mostly didn't bother.
(heavy gmail user)
Not every gmail change is perfect, but I think they've really done a good job of it generally.
I keep trotting out the example of the Microsoft Office ribbon. In the old menu system of Office, I knew exactly where everything was. I didn't have to think about it. When the ribbon came out, I was lost. Using Office became a painful chore. I just abandonded it. Every time I have to use Office now, I do it with a taste of bitter hate in my mouth.
I was upset by this but have not complained anywhere.
Do people feel enraged when there is no more toilet paper or they are out of milk? I thought rage was more for racial injustice and displays of gross inconsideration... I'm just trying to figure out if my rage-dar needs a bit of a calibration.
I actually can't remember the last time I felt something I would call "rage". Am I missing out on something?!
A tool that is pretty central to a lot of people's work lives was changed in a non-trivial way without warning, without their input, and with no way to go back. For people who are really busy and need email to be something that "just works", I could see how this would be really frustrating.
Have you got any guide you can point to which shows how to do this in Drupal? The interface has been putting me off using it for a long time.
Thanks!
Since we're talking about messaging, try out the Private message module. Right off the bat, you'll get a much cleaner form than the ugly node form. Private messages are also fieldable so you can add additional fields like attachments, labels, etc. Using the API (hook_form_alter()), you can do anything you want to any form at all. Then once you introduce a good theme, the possibilities are as endless as any other solution.
I'd also take a look at some of the Drupal 8 backported modules for Drupal 7 (if you're going to use 7). They introduced a number of great UI changes and made some of them available for Drupal 7 via modules.
This is a really poor article, in my opinion.
The flexibility's great, but the code hooks felt like a maintainability nightmare ("just what's affecting this now? It's 6 months since I last looked at this module..."). A tradeoff I guess. I was also burned by broken modules (submitted a couple of patches, but it did defeat the point of off-the-shelf features), but Wordpress et al are no better at that either!
http://www.slideshare.net/bryanbr4un/empowering-content-crea...
Drupal is not a good piece of software.