application development platform than Drupal 6, and it will fuel a lot of Drupal's large enterprises on all phases of their Drupal experience, from pre-planning. pro drupal as an pdf pro drupal as an enterprise development platformpro drupal development In Pro Drupal as an Enterprise Development Platform authors. In Pro Drupal as an Enterprise Development Platform authors Jamie Kurtz ISBN ; Digitally watermarked, DRM-free; Included format: PDF.
|Language:||English, Spanish, Dutch|
|Genre:||Politics & Laws|
|ePub File Size:||20.42 MB|
|PDF File Size:||12.27 MB|
|Distribution:||Free* [*Sign up for free]|
In Pro Drupal as an Enterprise Development Platform authors Jamie Kurtz and Thomas Besluau Файл формата pdf; размером 13,00 МБ. Pro Drupal as an. Enterprise Development. Platform. Jamie Kurtz. Thomas Besluau . Chapter Software Development Best Practices with Drupal. □. Pro Drupal as an. Enterprise Development Platform (Expert's Voice in Web Development) PDF, you should follow the link below and download the ebook or.
My current position in the Drupal community is that of the Release Manager for the latest release of Drupal, version 7. Dries downloadtaert and I work together with the core contributor team to help prioritize initiatives, encourage people attacking similar problems to work together, act as final quality assurance reviewers on patches, and ultimately commit changes to the project once they're ready. Drupal 7 represents a tremendous leap forward from previous releases. The core contributor team together took a very serious look at Drupal's limitations, from almost all angles. Usability testing research was done at several universities, highlighting long-standing problems with Drupal's user interface, and a usability team emerged to tackle the problems.
Drupal 7 is a remarkable release for a number of reasons, but particularly for the diversity of the team involved in creating it. As a result of all of this effort, however, there is very little in Drupal 7 that hasn't changed over previous releases.
The database abstraction layer has been completely re-written and is now based on the PHP Data Objects PDO library, which introduces a new object-oriented syntax to queries. In addition to forms and certain content, such as node and user data, in Drupal 7 the entirety of the page is built on renderable arrays, which has tremendous and exciting implications for themes.
Adding metadata fields to various system entities is now possible through Drupal 7's integrated field and entity API, which previously required an additional module, and was limited to only being able to expand content.
There are literally hundreds of other under-the-hood improvements. The Drupal 7 Module Development book offers a project-based approach that walks readers through the most important, new, and changed concepts in-depth, allowing you to put these into practice. Now the number of modules you need is getting far less -- we have more general purpose, extremely powerful modules like Views, Rules, Display Suite, Features, and Context.
As a result, the single-purpose modules are becoming obsolete, and developers pretty much abandon them.
This is actually a good thing -- these power modules really let a site builder build exactly what they want. But they also each have their own learning curve -- it's not as simple to drop in and turn on the functionality you want, you generally need to configure the behavior you want after installing the power module.
This makes the Drupal learning curve even tougher for people who just want a site -- if you don't know how to use the power modules effectively, you can easily get frustrated when you find exactly the module you want -- but it hasn't been updated for 2 years. Or if you've been using a module for years, and it's no longer supported -- and there is no clear upgrade path to something else.
This is where Drupal has turned professional. Site building in Drupal takes a lot of knowledge to do rapidly.
And that's not knowledge even the best non-Drupal developers can get quickly -- so much of this knowledge is very specific to Drupal. Knowing which power modules can address the shortcomings of Drupal core, knowing when it's time to drop in a power module, knowing how to use the interface -- these you can figure out.
But how do you even know the power module exists?
That's why good Drupal freelancers and shops are expensive -- they're in demand, and they can do amazing things very quickly. We may have a high rate, but we know how to get the job done Caching Caching in Drupal is perhaps the biggest thing that mitigates the memory hogging, the performance issues, and so much more, making Drupal as fast as most any other platform out there.
But it's also a curse. In short, if your Drupal site is misbehaving, a surprising number of times clearing the cache fixes it. Drupal caches things at a lot of levels: during a request it caches every node it loads. Blocks and pages can be cached -- but by the time you reach the page level, you can no longer use caching if you have anything personalized on the page such as shopping cart contents.
And then there's Memcache for yet another layer of caching. The problem with caching is making sure it gets regenerated when something changes. Generally the system is pretty good about clearing out changed data, but there are definitely lots of cases where this doesn't happen correctly. Caching is really a band-aid for the poor performance of Drupal, the dark side of having so much programmer power.
The upside is that it works surprisingly well, and makes Drupal competitive. But it takes knowledgeable system administration to get the maximum performance, or to scale to handle large traffic loads. And it is a source of quirkiness, a bit of an X-factor that can make problems harder to identify and locate.
Lots of people claim to develop in Drupal, but there's a huge range in the quality of the result you get, and it's very hard to tell without working with somebody a while whether they know the platform well, or whether they're going to be learning at your expense. We are all going to be learning at your expense. Generally we need to allow PHP to use at least MB per request, and on some large sites running lots of modules, even more. Fortunately, hardware is relatively cheap, and with the various caching strategies we typically use with Drupal, we can get sites speeding along.
But this does mean you need quite a bit more hardware to run a large site than you would with a static site or a leaner, more efficient framework.
I actually really like coding in PHP -- it's easy to learn, easy to understand, and pretty powerful. But it has a number of flaws. Historically it has had a slew of security problems due to a bunch of convenience things that went so far as to conveniently include remote code in every request, if you passed a certain GET parameter!
But PHP has kept the reputation for having shoddy security baked in Lack of long-running threads, worker threads, or other things along those lines means that a huge percentage of the Drupal framework needs to get loaded on every request -- it can't just sit there in RAM waiting to get called. Drupal does not really have a way of registering functions that implement hooks -- it does cache many of them, but not all.
The Unicode issue almost seems criminal. This is supposed to be fixed in PHP 6, but for the time being, this means doing much localization work in PHP involves having your own string management functions. So our assessment: Security issues are no longer worse than most other available languages, caching can mitigate some of the lack of threading and it does make it a lot easier to program , and Drupal works around the lack of UTF-8 support with its own functions but why should it have to?
Version wars. Drupal 7 has been out for 10 months now. Drupal 8 is in development. Drupal 5 is no longer supported. And we're still building most of our sites in Drupal 6.
Anybody who has built a Drupal site starts out with the big question: what version should I use? Drupal 7 isn't yet the slam-dunk answer.
The reason? There are still a ton of very useful modules that are not yet available for Drupal 7 -- and many that are not even close. Drupal 7 is a far better platform to develop on.
However, there is so much already done on 6 that we can roll out D6 sites much quicker for our clients, at much lower cost, for all but the most simple brochure sites. We have done 2 D7 sites so far, and over 50 D6. D7 isn't even faster it turns out -- the main reason for going to D7 is that D6 is going to get left behind when D8 gets rolled out -- but at the current rate that's still a couple more years.
Drupal has a horrible reputation for painful upgrades. I would say that's largely an issue of the past -- most module maintainers provide decent upgrade scripts, upgrades tend to happen with no data loss and very little functionality change.
But as a highly commercial platform not proprietary, mind you, just used by lots of businesses customers need to pay to get modules updated to the new releases, since most of the development of contributed modules is done by companies like Freelock, who get paid to do the work. And as long as it's cheaper to roll out a D6 site, and few other compelling functionality reasons to upgrade to D7, not many clients are willling to foot the bill to get the job done.