Maybe it's that I'm older (and crotchety!) and have been working in drupal since the 4.x days, but I was seeing a marked improvement in the way Drupal was progressing for those actually building the sites... and then Drupal 7 came along and took twenty steps back for me in regards to simplicity, performance and versatility...
Am I alone in this feeling, or are there other seasoned Drupal vets out there who feel that Drupal 7 isn't the cat's meow like all the trendy kids late to the show or fanboys are touting it as?
I'll spare my full opinion for later in the discussion as I don't want this to be about how I'm wrong. I want to see more if people who've been around a bit (having been around for a version change to know the headaches from transitioning to 5-6 would be nice) are seeing this as an annoying step backwards... or is this really the most recent development in becoming a strong CMS that's easy to use yet capable enough for rapid site development and developer usage?
A side question: If you are a veteran Drupal user (used 4-6 extensively) and have successfully and happily made the transition to 7, what is your trick? What modules help, what do you change in or out to make this experience less of a drag. I swear to god if I sit around and wait for another AJAX call that may or may not go anywhere and may or may not do anything I'll kill a new drupal user!
I'm also posting anonymously for fear that saying Drupal 7 isn't the cat's meow would be a career limiting move. With all the fandom D7 has, it's practically blasphemy to question the wisdom of some of the decisions made in building D7 by what feels like a flood of newcomers.
Comments
Drupal 7
I've been using Drupal since 2003, so I've been around a while. And I definitely know what you mean in the 5-6 transition (ouch!).
I've found that I really like D7. I like how cck is built into the system and therefore I don't have to have a million different modules that are all basically doing the same thing a million different ways. I also feel like views fits into D7 better than it did in D6. I guess I haven't run into the issues you have. I've found that I can develop much faster in 7 than I could 6, and I need a lot less custom stuff to do what I want.
Jenni Simonis
http://www.forwardsupport.com
Is your server the old and crotchety one?
This makes it sound like you might be experiencing undue pain when interacting with the site because of performance reasons.
Drupal 7 definitely does more by default and moved things around and many of your other complaints, but in my experience they are almost all things that you come to enjoy eventually. It may just be that your ability to adjust to the changes is being hampered by waiting for overly-long request times. (CMSes are known for being user-friendly over server-friendly and Drupal 7 is no exception; taking further strides in that direction.)
Drupal 7 has been good for my new site admins, and for me
I started on Drupal 5 before it was released, have had steady work in Drupal 6, and now work mainly in Drupal 7. A good portion of my work in all three major versions has involved supporting the administrators of Drupal sites, who often don't know or care to know much about Drupal. That support experience has convinced me that, at least for new Drupal users - especially those who wouldn't care if they were using WordPress or MS Word to build their websites - 7 is a major step forward. It used to be that all my support calls were from people who couldn't figure out how to do simple stuff. Now in 7, half my calls from new site admins are when they're trying to do something funky like create a slideshow view of a particular taxonomy, and I go to the site and discover that they've changed all their blocks around, added a few webforms, changed the theme, etc. That didn't happen before, and I can't believe that it's all due to an increase in the quality of my training.
As a site builder and developer, I found the transition mostly painless. I haven't had any trouble with the ajax calls being slow. I don't like the way the admin toolbar works, because of the click-click-clicking necessary, but I can just disable that module and use admin_menu the same as always. I always put "Create content" in the user menu with the login/logout stuff, because I think it makes more sense there. I still have trouble finding some of the admin pages that I need, since they're nested two levels deep (e.g. "Site Information" under "System") but I think that's just something to which I will have to accustom myself.
It's hard to know what advice to give without some more specifics about the things you find annoying. :)
All this said, I would not judge anyone harshly for not liking D7 better.
You're Not Alone
I'm shocked to be the first responder to fundamentally agree with you. I started working in Drupal with version 4.6. At that time, I choose it because it was one of the only open source PHP CMS tools that allowed full customization of the outputted HTML (i.e. "theming"). Joomla was trash by comparison in this regard.
In version 4.6, CCK didn't exist, so any custom functionality needed to be hand-built in a kind of "model" (Same "M" as in MVC, but it was by no means an MVC tool). This work was tedious, but it was straightforward to debug.
CCK saved a lot of time, because 90% of the modules I built just needed to have a couple custom fields added. Views too eliminated a lot of the need for custom modules. These modules weren't quite polished and refined well in Drupal 5. It took until Drupal 6 to get a stable platform of Views and CCK construction.
In theory, Drupal 7 should be awesome, then. Now everything is "fieldable" from the start, and the Views/CCK tools have been core-ified. In addition, a massive project to improve usability brought lots of UI layer improvements. Reality hasn't matched expectations. We've built 3 large Drupal 7 projects this year that have gone well over our cost estimates. In all three cases, 100% of the extra time has been spent debugging seemingly absurdly simple tasks. We see random Ajax response errors. We've seen Taxonomy data have it's hierarchy be reorganized. We've seen blocks that refuse to render. The quality problems seem like they're coming from everywhere at the same time.
In looking back over these 3 projects, I'm confident we would have been faster and cheaper to custom-build the entire sites in something like Rails, Django, or CakePHP. And this includes custom building the "free-in-box" features like Users, Roles, Permissions, and in-browser node editing. Platforms like Drupal are supposed to be more efficient than frameworks like CakePHP or Rails.
I think a house construction metaphor is apt. Drupal is an already-built house. Rails and other "frameworks" are just toolboxes... you're on your own to make the house. Trouble is... I'm feeling more and more like that the already-built house that Drupal gives you is made out of bike racks welded together. None of the corners are square and there are holes everywhere. And most of your construction process is really just banging your head on the metal until it's the right shape.
It used to be that "remodeling" the Drupal house was the right approach as long as your desired result was roughly similar to the existing house (i.e. you needed something that was mostly a CMS). But the remodeling projects seem to be getting increasingly fraught with problems that make building from scratch an increasingly better bet for a larger number of projects.
Agreed :)
+1 taxonomies getting resorted
+1 random AJAX errors, especially with batch processes
i18n + taxonomy is a mess, some functions don't even work (taxnomy_term_delete() = nope)
I remember when first running D7 we were seeing PHP notices and such, most have been cleaned up now, but a lot seemed to stem from OO stuff (and everyone knows I hate OO, just saying...) - I thought it was nuts to see so many errors and notices.
D7 may very well be the Windows ME or Windows Vista of Drupal; it's made a lot of changes from D6, so it is a new animal, and I have a strong sense that D8 is going to be done "right" - all the learnings of the whole "everything is an entity now that can be fieldable" etc. will be adopted more, the different initiatives seem to be focused directly on the main things lacking "love" - so I am hopeful. Sadly, D8 is replacing a lot of its guts with Symfony and more OO, and I loved Drupal because of its procedural roots, but to each their own.
Side note: I am in my "pipe dream" of free time forking/rewriting Drupal to be 100% procedural, strip out cruft, remove PDO (so incredibly fragile, I have had so many headaches due to PDO) and a bunch of other fun stuff. You'll probably never see it, because it's just to much work for one person, and I am such a perfectionist I'll never consider it good. But I do think Drupal is an awesome model to begin from when designing something like it; not just a code "framework" but a turn-key site "framework" (note I don't say CMS, I still consider Drupal to be a "framework" of sorts, but just shipping with CMS capabilities by default)
took me awhile to warm up to
took me awhile to warm up to but i love d7, been using Drupal since 4.6 and 4 and 5 don't hold a candle to 6 and 7
Ex Uno Plures
http://elmsln.org/
http://btopro.com/
http://drupal.psu.edu/
In my opinion, D7 is great
In my opinion, D7 is great for point and click quick build. It can build fairly complex site by just using contrib modules.
On theme level, renderable arrays makes it easier (once you fully understand the concept) for themer to build more complex theme.
But working with field + entity in modular level is a nightmare, sometimes just trying to get a value in deep nested arrays is like finding a needle in haystack.
Overall, D7 is better compared to D6 from a developer point of view.