Using Drupal has left me with hating it. However, that hatred is waining. Buy the book, "Pro Drupal Development". I've only ready a few chapters and I began to realize that my hatred for Drupal only stems from my misunderstanding of it. Although I am still not impressed by the name space Drupal uses (i.e, Taxonomy, nodes, blocks...).
For people who are like me and strongly dislike Drupal, changing your perspective of web development will be required. Realizing that is not the tool that produces great projects, but the developer. Having an open mind with Drupal is requirement as well.
Just get the book "Pro Drupal Development" and be open to understanding Drupal better. And this is coming from a seasoned hater of Drupal.
Comments
Drupal Term.. strange?
My first impression same as you. But, after I use Drupal for several real projects (like building my customers website) then I understand and agree 100% with Drupal terms. Just remember this post for the future :)
Well I like Drupal. I got
Well I like Drupal. I got that book too, and it hit me how much I need to know about its structure. You don't come to this hunk of code thinking 'I'll tinker this and that'. I really does seem more 'core' or 'framework' than the other php CMSs around. I like that. And I consider myself a kind of mid-level developer/designer.
You have to engineer what you are going to accomplish with Drupal, after it's installed I like that too.
learning Drupal is a rite of passage
Developing for Drupal requires getting dirty with the code to figure out what is going on. If you are afraid to get into the code, then Drupal might not be for you. When I first got into Drupal, I was like WTF?!?! But after a few days tinkering with it, things begin to make sense. The Pro Drupal book REALLY helps!
The thing that Drupal really has going for it is its extensibility. With other CMSs, I've gotten stuck...unable to do certain things, but with Drupal, I don't encounter that often. The only thing I wish Drupal had was better version management and a better publishing mechanism so a stage/live site system could be implemented.
Rite of Passage?!$ I think
Rite of Passage?!$ I think it was easier to part the Red Sea. Honestly, I'm a nubie and a usability specialist. All I want to do right now is install the program on my USB stick and play with it to see if I like it. That ought to be easy but using XAMMP as sugguest by some commenters is the pits and I can't seem to get any help on the forums. Pleez, if you can take a look I will pray for you.
I'll probably pull the plug on XAMMP and try DeveloperSide.NET • 2.0 which was sugguested under documentation under Drupal Cookbook.
In any event, assuming that I will make a go of Drupal, I will definitely make some sugguestions on improving the usability of the drupal site.
Tom
the book is not very useful if you don't know PHP
The book is about how code extentions to Drupal, not necessarily how to use and administrate Drupal.
It seems like a solid book, but it is for an advanced user.
@jerimee I would like to see
@jerimee
I would like to see a book where the author showed you ways to
solve different needs or site purposes.
I mean like:
* Job bank site as good as Monster.com
* Event registration & management site ( like ABCsignup.com or http://www.regonline.com/ )
* Image / Media type site
* Working with existing systems, like at a University ( LDAP , authentication )
* Education / online learning site ( Courses, students, teachers, grades etc )
Moodle, I know. I don't like it as much.
Advanced users become
Advanced users gotta become advanced some how and it sure as hell isn't by reading beginner tutorials and introductory books all the time. You have to learn advanced techniques by looking at advanced examples. I'd suggest this book to any Drupal beginner. Cause lets face it, you need to know PHP anyway, beginner tutorials and books are great for getting wheels in motion and sucks for steering and navigating thereafter.\
I agree but . . .
I'm not sure everyone wants to be an advanced user. The best book for my needs would have been something that showed me the basics of what Drupal can do, and foolproof methods to use them.
That being said, the book is solid and I am glad I purchased it.
Is this what you are looking for?
Does this meet that simple what drupal can do need?
http://drupal.org/node/120612
It's a book in the handbook.
--
Matt
http://www.mattfarina.com
I've been burned!
Oh boy have I suffered at the hands of Drupal. It's probably 50/50 split on my inflexibility and Drupal not doing what I need. I've bought the book though and I'll stick with it to see what happens. It's not helped being reliant on the goodwill of other Drupal users for solutions when I was stuck - many questions unresolved and days lost trying to work it out myself.
Still I've nearly finished the first big ecommerce site - but I think I could have built it from scratch faster. Maybe that's the problem with wading in at the level I'm at; tending to know how to make things happen the way I want and then hacking the code to 'make it so' rather than going with the Drupal flow and delivering something simple and quick.
Ian
Getting burned is a sad truth of using Drupal
Like many have said, Drupal is a framework and requires a bit of PHP know-how to accomplish anything good. I've regarded Drupal as this..."Its like buying a pre-made house, tearing it down and building a completely new house in the same spot...".
Drupal is an expensive piece of software and I don't mean that in terms of money, but time and patience. I compare Drupal quite often to ExpressionEngine by EllisLabs. But then I realized I was comparing apples and oranges. While these systems are both built on PHP, each system approaches content management from different angles. Drupal provides a developer toolset to build a CMS with while EE builds everything in for you. However, Drupal nothing like Ruby on Rails in the sense that its relatively easy to build things out right away. And I think thats where people end their Drupal honeymoon.
While Drupal claims to be fast, its not fast at all. But learning Drupal would probably do wonders for your PHP skills.
Expectations
Ya know, I think this all has to do with expectations.
We have expectations what a CMS should do, how it should do it, what we would like to be able to do quickly, what the naming conventions should be like, and all kinds of other details.
Then, we expect that it's all easy to use and understand. This is where I think the problem is. We are used to things like wordpress that do what you expect it to do out of the box. But, with a CMS there is no out of the box. It isn't designed to do one thing like a blog engine but thousands of different things. This means there is a learning curve to it. And, no one likes a learning curve on these things.
On top of that this is all about web design and development. I point out both because that's really what's going on and they are both important. To makes sites work well there needs to be a basic understanding of these and to do advanced things you need more of an understanding. While web design and development are getting easier they are still not trivial tasks... especially to someone new to that world.
But, coming back to expectations... it's what we have. And, I think they are something we should rethink. Projects like this have some top designers and especially developers working on them. A lot of things are the way they are because experts have seen a reason for that. Now, that doesn't mean there isn't room for change and growth. Drupal is always changing and growing and that's good.
Now, the names... they should be addressed. Names like taxonomy, node, etc are there for a purpose. The names describe what they are technically. A node means something by definition that describes what is going on with it. The same with taxonomy and so many other things. If I go look up taxonomy in a disctionary that will tell me a definition that shines a light on the drupal taxonomy system.
--
Matt
http://www.mattfarina.com
Expectations Make Great Software
----
"Then, we expect that it's all easy to use and understand. This is where I think the problem is. We are used to things like wordpress that do what you expect it to do out of the box. But, with a CMS there is no out of the box. It isn't designed to do one thing like a blog engine but thousands of different things. This means there is a learning curve to it. And, no one likes a learning curve on these things."
----
There is a learning curve to everything. For example, Ruby on Rails has a huge learning curve, but while learning it you actually can get things done in the process. This is the pay off that Drupal has always lacked and is the very thing new comers (seasoned or not) are looking for. Why do you think frameworks like Ruby on Rails and Django are so successful?
----
"... On top of that this is all about web design and development. I point out both because that's really what's going on and they are both important. To makes sites work well there needs to be a basic understanding of these and to do advanced things you need more of an understanding. While web design and development are getting easier they are still not trivial tasks... especially to someone new to that world."
----
This is obvious. I agree whole heartedly. But that isn't an excuse for Drupal to be a usability nightmare for web developers (and designers). Reading the Pro Drupal Development book, I constantly see tasks being done by Drupal that can be done twice as fast, with less code and a bigger payoff with a similar system. Now granted, Drupal is powerful. But I wouldn't go as far as saying its agile by any means. Agility in web development is well on its way to being a standard for both clients and developers.
----
All in all I agree with you, but until people stop making excuses for why things are still buggy, why things are still slow, Drupal will never be something I'd propose to a client or even a developer.
Please help. :-)
Do you mean that there are inefficiencies in Drupal that you see solutions for? PLEASE contribute. Post your specific ideas. That's how change happens. :-)
If you mean that for many projects there are focused systems that will work better (wordpress for a blog, a dedicated cart system for a sales site, things like that), then I don't think you'll find any arguments.
--
Lullabot! | Eaton's blog | VotingAPI discussion
--
Eaton — Partner at Autogram
May 3 out of 10 developers have a big enough voice
The other 7 are just hoping and waiting for drupal to get better.
Hailing from the rails camp I've become accustomed to simple implementations that work together for intelligent solutions. Granted Ruby on Rails is not a CMS framework or anything like it, nevertheless methodologies therein can be applied to any software project.
Drupal is not simple. Ask 10 other developers experienced or not and they will tell you the same thing. As much as Dries puts out new releases, you'd think we'd see changes in the air of simplicity as opposed to just plain old feature creep.
I don't think developers want a streamlined system as much as they want a system that is easy to extend (without making lots of love to the source code), simple to customize (on a css/xhtml front) and easily upgradeable without too many backward incompatibilities.
Thats what I'm looking for. And if Drupal doesn't give me that, why should I suffer long project timelines and terrible upgradeability just so I can contribute to cause? Just seems strange is all.
If you don't talk, you don't have a voice.
You said that you keep looking through Drupal and seeing things that could be done much, much better. I asked you what they are, because we're always looking for ways to improve the system. You now seem to be saying that no one would listen if you spoke.
People are listening.
Speak. :-)
--
Lullabot! | Eaton's blog | VotingAPI discussion
--
Eaton — Partner at Autogram
Admin and Publicly Viewable UI
The first thing was separating the Admin from the template/theming interface. Why should I be bothered with trying to make sure that Drupal plays nice with my theme (naturally it should work any kind of theme, more on this further into the comment). What if my theme isn't Admin UI friendly which is extremely possible when creating non-drupal-esque layouts? How does Drupal and the community therein solve these problems? While this may not seem like a big deal for developers it would do wonders for content management work flow in a team environment. Developers focus on back end, usability, etc, while content publishers publish content. Is this not how most content management work flows work?
My biggest beef with Drupal at this point is content extraction and theming (as mentioned above). Those two tasks are one of the most important tasks in deploying websites on a CMS platform and it doesn't seem to be easily done in Drupal. It reminds of the idiom of letting me complete 90% of the work and then leaving the remaining 10% as the most impossible to complete. Well not impossible, but hard enough to push back deadlines. ExpressionEngine for example provides a means to publish content cause that is what CMS' do first and foremost. Then it separates admin tasks and interfaces from the template engine.
Are there modules/alternative theme engines that can separate the Admin UI (including the "create content" aspects)? If not is there anyone who has successfully done this via hacking, modules, extensions, etc?
Yes, there's modules and
Yes, there's modules and snippets to change the theme.
I use the sections module, patched for 5.1.
One of the first things I do
One of the first things I do when installing a site is to go to Administer -> Site Configuration -> Administration Theme, and set it to one of the included themes. This does several things.
First, it gives me a simple, tested, clean back end to the site. Second, it means I can still get in if I screw up something when developing my front end theme. Third, it gives me an instant visual cue letting me know where I am. Last, I try to always use the same theme, therefore I have a uniform environment across all clients, making it easier to find things, and tell my clients how to do things.
I agree with you that it is annoying that "Create content" will redirect you to the front end theme. There are several places where someone can hook in and fix this problem, and like you, I would like to know if anyone has already done this. Anyone?
--
Read more at iRolo.net
Try sections module. It does
Try sections module. It does not interfere with the core admin theme setting.
Some answers
First, choose a separate theme for the admin section. One of the 'stock' drupal themes works fine.
Second, the content creation screens (for posting blog entries, news stories, whatever) are considered an integral part of the Drupal UI, not a purely administrative function. If you want to use a different page layout for those screens, though, including page-node-edit.tpl.php and a page-node-add.tpl.php files in your theme can override just those URL paths. You can also use modules like 'sections' to switch themes entirely based on what url path you're currently on.
Sure. And Drupal does that, same as every other package. Well, other than wikis. If someone has permission to create content, they are a content publisher -- or a potential content publisher, at least.
I can sympathize with your difficulties in transitioning to a new system's way of doing things. It can be frustrating. I imagine I'd feel the same way if I was working in ExpressionEngine and my client asked me to make sure that the content editing screens look just like the rest of the site.
What's the second thing? :)
--
Lullabot! | Eaton's blog | VotingAPI discussion
--
Eaton — Partner at Autogram
And, now that I think about it...
It'd be pretty easy to add support for this to core. If you think it's a valuable feature, go and weigh in on http://drupal.org/node/147767 -- there's still a chance it could get in for 6.
--
Lullabot! | Eaton's blog | VotingAPI discussion
--
Eaton — Partner at Autogram
Thanks for your patient replies...
I never thought it to be smart mixing front and backend UI together. To be frank , no client really needs that kind of integration. Perhaps maybe integrating similar color schemes into the Admin UI, but completely meshing the interfaces together for the purpose of seamless branding? Its just not that necessary to the success of a project.
But thats the thing, why must content management be so heavily integrated into my themes? It seems as though Drupal is blurring the lines, but only a little bit. Its not fun trying to style both frontend and backend, especially when you're wanting to boost your productivity as far as developing and deploying a website. IMHO, I should not even have to worry about theming my backend. Isn't this separation the nirvana of using a CMS? So you don't have to futz with backend interfaces? For designers I think Drupal is completely missing that point of flexibility.
Sorry, there was no second thing. However, if Drupal was broken down even more into a framework tailored for building content management systems (which its sloooowly becoming), I think it would be great. Maybe take some notes from the web framework ecosystem around you. It seems as though no one has developed tailored web frameworks for specific purposes (i.e, CMS framework). Lol. I know it sounds somewhat preposterous as Drupal is regarded as exactly just that, a CMS framework. But I guess I'm just not seeing the resemblance.
Thanks for your patient replies.
Different ideas
I guess I just find the idea of 'editing content' as being the 'backend' to be kind of weird and baffling. For brochureware sites, and static stuff that will never be touched by anyone outside an internal team, I can see.
But that's not how the majority of the sites that I've built in the past several years worked. Instead, they needed users to post content, off-site editors to review it, internal administrators to manage other kinds, and so on. A UI was being designed for those portions just as much as the front-page splash screen, and the theming work took that into account. Again, I can see your frustration if you're trying to build a site that uses a really wildly different layout and UI, and the node editing/creation forms get munged up. :-) But the underlying decision to use the same systems for edit screens and display screens is (I think) a sound one. Some sites just need to treat the node edit/add screens as 'administrative' tools, and we should allow that when switching to the admin theme.
I don't know, that seems like a completely separate issue to me -- it all comes down to what one considers the 'backend'. :-) A CMS is a content management system, not just a 'Static site with an internal team of editors and a world of people browsing' management system. ;-) The nirvana comes from things like not having to double-enter content, not having to hard-code a custom script whenever you want to do a search listing page, having user authentication built in and node access APIs at your disposal when they're needed, and a relatively effective system for separating your business logic from your HTML rendering code.
I do hope you'll put a kind word in for the patch, by the way. It would, as best as I can tell, eliminate the issue for what you're describing by allowing site designers to build a theme that handles the whole kit and kaboodle, or to fall back on the admin theme for those pages.
--
Lullabot! | Eaton's blog | VotingAPI discussion
--
Eaton — Partner at Autogram
Content editing not admin
I'm with Eaton in not seeing content editing as being part of the back end. On my site, regular users will be able to enter events and area directory entries as well as forum posts, blog posts, etc. That would be terribly confusing if the whole theme went away just because they were entering content instead of reading it.
Michelle
--------------------------------------
My site: http://shellmultimedia.com
I read up on that patch for
I read up on that patch for turning on Admin theming for the node-add and node-create screens. And by the way, that patch is really nice. It solves most of my problems for now, lol. You mentioned in a comment (for that patch) that Drupal is a bit of an odd-ball in the world of CMS. I completely agree. It feels like its stuck between a world of pure content management and a web development platform. I think this is what causes most folk's frustrations. They're not sure what to expect and that can make any developer nervous without proper introductions.
If it doesn't make it into
If it doesn't make it into core for Drupal 6, I'll probably release a smallish module that lets users specify arbitrary paths that should be mapped to the admin theme. Defaulting to node/add/* and node/*/edit, for example.
--
Lullabot! | Eaton's blog | VotingAPI discussion
--
Eaton — Partner at Autogram
The sections module does
The sections module does this.
Made it in.
Just thought I'd let you know -- the patch that was spawned by this discussion made it in. Drupal 6 now has this feature and it should be pretty easy for someoen to add as a plugin module for Drupal 5. Thanks. :)
--
Lullabot! | Eaton's blog | VotingAPI discussion
--
Eaton — Partner at Autogram
Awesome!!
Awesome!!
expectations mismatch
I think we missed on the expectations part. I meant that people have massive expectations to do a lot with little to no learning curve. That just isn't going to happen.
Why is ruby on rails and django taking off? There are a lot of reasons. I am a fan of the right tool for the right job. Drupal has it's place and so to RoR and Django. Some types of sites you can develop much much faster and easier with drupal. Some, you can develop faster and easier with RoR or Django. It really depends on what you are going to do.
Then we have another angle. A lot of developers don't like to get from requirements to the end product but want to spend the time developing. And, not just developing but doing it they way they want to. In many of those cases they might not like drupal because so much of it is already done and out of the box. I know several people like this.
Does drupal provide for agile development? After coding from scratch, using RoR, using Django, Drupal, and others I have to say yes. It's very different from some of the other agile development environments but it still agile.
I don't think you'll find many developers making excuses where things are buggy. They are trying to make them better and meet the requirements they have as developers.
But, don't forget that everything has it's down sides. Django doesn't have a javascript framework with it yet they are looking at adding one. That could make for a painful upgrade path when they add on.
--
Matt
http://www.mattfarina.com
Who is agility meant for?
When you say agile, in what context do you mean? Agile for web designers, agile for developers, agile for CEOs who have no web development knowledge at all?
Doing it the way we want to shouldn't make a difference. A true framework should facilitate "the way we want to do it" by not tying us down to imperfect practices. Drupal's Template/Theme Engine is a perfect example. In order to display any content anywhere you must configure, tweak and hack the theme engine to death before getting desired results. God help you if upgrading is required.
All in all, Drupal requires a lot of apples to fall very very far from the tree in order acheive truly custom, undrupal-like results. And every developer hear can agree this isn't an easy or agile task.
Hacking the theme engine
Hacking the theme engine itself?
Theming functions to change default output is more frequent but it's a good feature to have.
Anyways, things have been progressing nicely since 5.x, at least compared with the 4.6 to 4.7 transition.
Hacking core neeeded for 'custom' results? I disagree...
Good thread. Nice conversation with Eaton back-and-forth and I'm glad to see it's made real benefit for the larger community.
This last point, however, is one I hear occasionally and take some exception to. Yes, there's a learning curve. But touching the code of contributed modules is not needed at all in most cases (and is never a good idea with core modules, in my opinion). Yes - there are sub-par contributed modules, but if you find one, don't use it (or - better yet - contribute improvements). Good CSS skills can handle most visual changes and functionality can always be extended/overridden/modified by modules.
I recognize that it may not always be obvious how to make major modifications and that the forums aren't always speedy to reply with answers, but there are a lot of people who do try. If you've got specific questions/issues, though - post a question. You may be surprised by the quality of the response!
Drew Gorton
Gorton Studios
Some of our Drupal Sites
After 9 weeks, Drupal is beginning to make alot more sense.
I have a background in web design and usability and little or no programming experience. To any of you who are lurking out there with similar backgrounds and wondering whether to take the plunge with Drupal, I will say this:
1) The learning curve is much steeper than most want to admit- the terminology alone will tax you
2) The forums are invaluable- it is nice to know you are not alone and there are great people who will help you. Sometimes though you just have to struggle through things,
3) The Drupal Cook Book is a must read for beginners, so is David Mercer's Book "Drupal- Creating Blogs, Forums, Portals and Community Websites
4) You definitely need a sandbox just to get familiar with the Apache server, MySQL and to play around with Drupal- I like XAMMP. Install it on your desktop or laptop
5) Stay away from the Category Module unless you are into anguish and pain- Taxonomy module is much easier
6) Read all the documentation on a contributed module before you go with it- error prone modules or those that are a bear to understand are your worst enemy--Avoid them at least for now
7) Don't be afraid to pull the plug on your work and start all over again- it might be easier in the long run. The second installation and effort should go much smoother and actually will reflect on how much you have learned.
That said, Drupal is beginning to make more sense and I am beginning to appreciate its power. Still you have to be careful and take your time. Everyday that I work on converting my website to drupal I learn something new. This is definitely not MS Frontpage or even Dreamweaver... but of course you knew that.
questioning the upgrade path
I know this post is a bit old, but I really need to get my frustration with Drupal off my chest.
I just upgraded to 6.x, and almost all of my modules stopped working. Is this how things are going to be moving foward?
So, I am stuck between ONLY using the modules that come with a default install or having things break every time there is an upgrade. This doesn't make much sense to me.
...
"Is this how things are going to be moving foward?"
That's how things have always been. See http://drupal.org/node/65922
And please don't bump up really old posts just to vent.
Michelle
--------------------------------------
See my Drupal articles and tutorials or come check out life in the Coulee Region.
Old Post but interesting read
I know this post is very old but as a newbie to drupal I wish I had found it much earlier, so thanks for reviving it.
I have been struggling with drupal for several weeks now and it is slowly starting to make sense. But I do not want to become a PHP developer. I develop websites. I am a designer and content creator. I am an architect but certainly not a coder. For me drupal is a mammoth mountain to climb and I have found the learning curve almost vertical compared with Joomla and other CMS systems.
Drupal is powerful - no escaping this fact and it is impressive. But it is not easy to learn and nothing prepares you for the huge time investment needed just to get a basic site up and running. The cookbooks are a great start but a newbie needs more hand-holding and step by step instructions in order to understand drupal. In fact what would really be better is a series of cookbooks building basic sites and each one focusing on a different aspect of drupal - thus teaching the newbie in a practical way with progressively more difficult tutorials. Not everyone is a developer but leading them by the hand can often create surprisingly good developers from people who have never developed before.
Another thing people need is a numpty board where they can ask dumb questions without fear of reprisal. Then maybe people would start answering some more posts. I get the feeling posts go unanswered because they have been answered before but the sheer volume of search results combined with frustration and inexperience for the newbie, means it is hard for a newbie to find the information they need.
All this said, the two books mentioned in this thread are invaluable after you have read them several times and things start to make sense. But the best part is going through all the frustration then finding you are not alone and it is a rite of passage everyone else has gone through. :)
Everything is easy when you know how, but impossible when you don't