Drupal 8.0.0 released
drupal.org
drupal.org
Can't wait to start building much larger sites with D8 and when there's more contributed content for it.
In terms of user-facing features, I think the greatly improved support for multilingual sites is the most exciting new feature (especially as just this week I've been encountering headaches related to i18n implementation on a D7 site… argh).
However, this reasoning feels wrong:
If we were to ignore these market forces, Drupal would be caught flat-footed and quickly become irrelevant.
Wordpress is still the same big ball of mud it was 10 years ago and it powers 1/4 of the internet.
This is mainly because a front end developer can vomit into a PHP file and Wordpress will gladly display it.
This made me laugh, but it's, alas, very true. In WP's ecosystem, the code you find in plugins, themes and WP itself will just makes your eyes bleed.
but honestly that is what many clients want, make it look pretty and don't bore me with your "best practice" and "you need to apply 12months worth of critical security patch's" mumbo jumbo.
Where WP falls short is in the enterprise market, and this is where Drupal's ideal customer is. Drupal powers Tesla, Whitehouse.gov, Weather.com, Economist, NY.gov, and other major sites. So for Drupal to remain relevant to these types of clients it has had to play catchup. D7 changed a lot from it's initial release, and a lot of contrib modules helped make it a decent enterprise-level solution. But D8 is a whole new beast that really sets the bar pretty high. You can literally build anything in Drupal, and with it's new focus on having "headless" RESTful services, it can be used to power your entire content strategy (pushing content to apps, other sites, etc).
I would argue that this is faster than most Wordpress setups:
drush dl drupal
drush si drupal ...
drush en "name of theme"
Wordpress is easier to set up only for the "I still use tools from a decade or two ago" crowd.There are solutions catering to SAAS/application-specific hosting for both. Wordpress.com / Drupal Gardens as well as containers and configurations scripts you can use to get a jump start.
Both have similar philosophies in the sense you can login and immediately start switching on modules/extensions you want to use. Both are CMS.
wp-cli is extremely brittle even for very simple download+install, produces very poor defaults in terms of file/directory permissions and general on-filesystem stuff, and this is before you get into things like drush's many other functions for general admin or its extensibility.
That is not a criticism of wp-cli's developers though, as about 99.9% of its limitations are down to the Wordpress core team's complete disinterest in accommodating its functionality well or in providing a codebase that fits into a modern deployment setup in any reliable, well-considered way.
The work done on wp-cli is really commendable: it seems to be battling against quite a tide.
WordPress's out-of-the-box post install experience is a lot nicer and a lot closer to being a "finished" and ready site.
Do you have any blog posts on how you manage to scale with drupal? Have you considered alternative solutions?
His blog also running D7 with 2 posts on Drupal, nothing on scale that I noticed quickly. http://johnhaller.com/development
Performance has been a specialty for me in my own drupal career. Drupal 8 is a whole new ballgame, though. Cache tags are built in from the ground up, and the page render/caching engine is built to mimic a reverse proxy. Rasmus Lerdorf (creator of the PHP language) benchmarked a pre release of drupal 8 at >2500 page views per second with 20 concurrents.
1: https://www.drupal.org/project/advagg 2: https://www.drupal.org/project/labjs
Don't forget https://www.whitehouse.gov - it's a Drupal 7 site, and I imagine it gets a fair amount of traffic.
I'm going to look closely at other options. It seems at this level that Drupal has been outgrown and that once you hit that point, for me, it feels like pressing the reset button and starting over. I'm bummed it has a growth ceiling.
I also feel strongly that the productivity level is deceiving. You race out of the gate with clicky this and module that, to later find working with a custom data model to be extremely painful or that you can only do things via interface and not in code. Unit testing, at least in 7 is non existent. Short term gains and long term pains. It does not feel like it was ever designed with developer speed and procutivity in focus.
So while I'm curious to hear of the new release I also just feel you can't teach an old dog new tricks. Part of this is the.community it has built for itself. Time will tell. I have a feeling D8 is between a rock and a hard place. At some point a framework is just way better. Tool for the job I guess.
For very simple sites I'm inclined to use a static site generator.
For relatively simple sites that need a CMS, I use Wordpress (much as I dislike it). The clients are often familiar with it, and it is pretty easy to set things up. And if I'm going the Wordpress route, I might as well take advantage of the high amount of plugins and the complete (and often cheap) themes that target specific industries.
For anything more complicated, I used to be in the Drupal camp, but now I opt for a framework approach. Rails, Express, or something like that. With every single site I've built in Drupal I always ran into the problem that the time spent on 'clicky this and module that' eventually outgrew the initial speed advantage, and I would have been better off doing these things in code in a environment optimized for this approach ('true' frameworks).
I think it's analogous to how many of my clients insist on using Wordpress and paying more for that instead of a static site. They would've been better off with a static site that I update for a small fee, or perhaps even a small lesson in FTP-ing and editing a file, but they wanted the 'option' of logging in and changing stuff. But many of them never do.
Similarly, the choice of Drupal sometimes seems to be primarily project managers who want the 'option' of making complex changes through the admin interface, just so they have the option. Never mind that the complexity tends to be high enough that you need a programmer anyways to pull it off, so you might as well just go the framework way.
The biggest challenge was the UI; I had to build something against mocks from photoshop, meaning it had to be pixel-perfect and identical to what the client had agreed to. Most contrib modules didn't have a way to easily customize the output (as far as I could tell), so I either had to modify the code of the module to produce exactly what I needed or just write the functionality myself (typically choosing the latter). Had I been working with a Drupal guru there may have been a way to avoid this, but who knows? It seems other commenters have mentioned needing to customize the modules themselves.
This was a very poor experience for me. D8 looks like a large improvement, but I was so thoroughly burned by the lack of clarity and community support that I doubt I will touch Drupal again.
There are so many contributed modules that can help build things out, but I always need some type of customizations requiring (usually a few) custom modules per project. It all depends... I did one project that had dozens of crazy features that we broke out into 70+ custom modules...
But yea, I would say the sweet spot is a customer who needs a pretty large site with a lot of functionality. My 2 cents anyway.
You can literally build anything in Drupal, although I'm not sure you should...
In a Drupal custom module you can do or change literally anything, and you can write whatever architecture you like for your individual component. You just have to integrate with the Symfony2 router and dependency injection container. Pretty cool stuff.
This looks interesting indeed.
May I ask what is your preferred way to learn Drupal for a total newcomer, albeit a truly seasoned developer?
It's a paid monthly service, but well worth the educational value you get out of it (for a few months at least).
Good luck!
This is in part due to the relative complexity of setup. You do not get your grandma performing a one click install of Drupal and then spending $40 on a theme and buying an extension or two from a marketplace.
The focus on earning money with Drupal really seems to be in being a good developer and knowing how to use the thousands of opensource tools that are available to Drupal. You do not see people cranking out apps or modules for drupal and selling them in a marketplace. This really sets it apart from it's php cousins Magento and Wordpress.
Legos - Custom built web app
Duplos - Drupal, fully customized with some coding
Pre-Built Toy - SquareSpace, Wix, even Wordpress to a certain extent
It's a nice middle ground when you need something more custom than Wordpress and others can provide, but don't want to build everything from scratch.It replaced a commercial solution bringing more clarity (but that was also thanks to stricter rules in place defining types of docs, fields etc..), better graphic appeal (but just because the previous one was really crap) and also great search experience thanks to Apache Solr.
As I am a sysadmin, not a developer, I used all built-in modules except one that I modified in order to integrate the authentication with another business system via webservices (only code I developed). As I am also not a graphic, I worked with an external one (that prepared design in PSP so it was a bit a pain to convert it to template)
At that time (2009 I think) I reviewed few other options (WP, ezPublish, plone) but I chose Drupal because the authorisation system with roles etc.. was much more powerful than WP one.
There's over 60 videos. It's sponsored by http://Acquia.com (the biggest fish in the Drupal pond) and created by http://OSTraining.com, who are one of the top sources for Drupal videos.
Yes, there's definitely very few UI changes between D7 and D8 ... so sitebuilders should feel right at home.
However, everything has changed in the codebase, so developers have a lot of learning to do.
Also, Overlay is gone. (Sorry about that showing up in D7. Some of us tried to stop it, but…)
It's been in the making a long long time. I guess I will have to give this a spin.
Another issue is maintenance. I don't think I've ever met a well-maintained contrib module; even ones that seem to be actively maintained aren't what I would call "well" maintained...reported bugs don't get fixed, patches don't get accepted or commented on (I have a half dozen bugfix patches spread across three or four projects, including one for something in core, that have gotten no response, some for months). While Drupal doesn't suffer from the crass commercialization that has befallen much of the WordPress ecosystem, it seems only companies paying for development get any sort of response. I don't have a problem with developers prioritizing paying customers (I do it with my own Open Source software, as well); but, when someone sends a patch that fixes a bug, at least comment on why you don't want to integrate it or give some guidance on what would make it acceptable for integration. I am beginning to feel like submitting a ticket to the Drupal issue tracker, even with a patch to fix the problem I'm reporting, is a waste of my time. If it were one project or module, this wouldn't be such a big deal; individuals get busy. But, I can't think of any Drupal module or project that I've ever had a good experience reporting issues on. And, if I didn't know that development is still ongoing, and that many new sites are being developed with Drupal, I would assume this extraordinarily poor level of interaction in the tracker was indicative of the impending death of the project.
There is also an academic love of complexity and abstraction in Drupal, almost to the point of absurdity, at times. Every new release introduces vast swaths of new terminology (often used in ways slightly unlike the rest of the industry use the term). Entities, nodes, rules, entity bundles, content types, views, entity references, delta, features, fields, hook, machine name, taxonomy, etc. About half of these do not mean what I would have guessed or are used in subtly different ways from what I would have guessed. And, it's impossible for a casual Drupal developer to stay on top of this stuff; it moves so rapidly, and is so poorly documented, one has to read code. And, there's a lot of code. Somehow, despite all the abstraction, most modules include huge swaths of code, and aren't particularly re-usable. Even very simple functionality seems to require pages of code. It's often more of a pain in the ass to make the re-usable components work in some way that the developers didn't think of than it is to implement from scratch. Partly this is my own shallow knowledge of Drupal, but I see experts building out entirely new modules to address very similar use cases to other modules they've made, so I'm not alone. Somehow, despite WordPress' much uglier code base, I'm generally able to implement stuff more rapidly than in Drupal; and many things that seem really locked down and hard to change in Drupal seem easy in WordPress.
The upgrade path is literally disastrous for non-core modules. One literally can't get from point A (a Drupal 6 site) to point B (a Drupal 7 site) without writing a lot of migration code, unless you're only using the most basic of core functionality. I'm months into a migration from D6 to D7. The new(-ish) Migrate module requires writing code, sometimes significant amounts of it, and is extremely poorly documented (and uses a bunch of its own jargon in confusing ways; the number of contexts in which the word "migration" is used for different purposes makes my head explode), and in-place upgrades don't exist for a large number of modules, including pretty important ones (like Project Issue, the module used by Drupal.org for its own issue tracker...it has no working upgrade path, at all).
I see the benefits that Drupal 8 brings. And, having worked with Drupal 7 for a few months now during this migration, I see that the direction is a positive one. But, I find myself being angry a lot whenever I work with it, because there's so much forward momentum (everything changes! all the time!) but nobody seems to give a shit about bugs, major usability problems, or providing a reasonable upgrade path. Really basic stuff that ought to go without saying, really doesn't in Drupal.
So, it's a real love/hate relationship. Which is true of every CMS I've ever used (and I've used a lot). I have decided to stick with Drupal through at least one more iteration and will launch our Drupal 7 site in a few days (if I'm lucky), but I don't know if I'll ever migrate to Drupal 8.
https://www.drupal.org/node/339384
5 months ago, a maintainer with direct commit access to Views (a module with ~1M reported installs, probably the highest priority module, has been included into core in the latest Drupal release) committed and released some code without tests. Change intends to add help text to an admin UI, but also causes that text appear on the end-user UI. These changes made it into a release without any kind of oversight, and could have been reverted easily after being discovered and reported 2 months ago, but the issue remains in the released stable version.
https://www.drupal.org/node/2599248
Someone added some code which tries to filter an array, but forgot to pass the array in as an argument -- the code immediately complains and puts many red notices on the page when invoked -- how this was missed I have no idea. This was fixed hours after the bug was introduced a month ago, but the bug made it to a "stable release" and not the fix, so anyone installing the module in the typical fashion is affected for basically no reason.
This has bothered me for a long time. I don't see the need to make up new words, unless the new technology/feature absolutely requires a new word.
I'm greatful for Drupal though.
I use Drupal for commerce with subscriptions, support ticket tracking, forums, software license management, and, only peripherally, for content management. So, it's not the "CMS" part of Drupal that matters to me. I need an ecosystem that contains a bunch of functionality that operates reasonably well together. Drupal, for all its warts, does actually have most of the code I need already written. While it's taken me months to migrate to Drupal 7, it would have taken years to implement all of the functionality I need from scratch (our website is not our core competency or what we're selling, it's a tool for supporting our actual products, so I don't have a team...it's just me).
I am looking for to have a separate site for: example.com/, example.com/a, example.com/b, example.com/a/123, example.com/a/234?
If not drupal, is there an alternative (wordpress plugin?) to achieve the same?
project_root/sites/example.com.a
project_root/sites/example.com.b
project_root/sites/example.com.a.123
project_root/sites/example.com.a.234
Create these directories. Add a settings.php file to each. Add stuff to sites.php if needed. example.com.a and example.com.b should definitely work. Not too sure about the other two because I haven't created a site in a multi-site setup that is 2 subdirs deep, but it is easy enough to try.
You may also need to symlink the subdirectories (e.g. a) in project_root. See "Subdirectory multi-site" here: https://www.drupal.org/documentation/install/multi-site