I maintain a web site as a hobby, using php and mysql. A friend suggested that I look at Drupal. I'm not familiar with content management systems. After poking around the Drupal web site for over an hour, I still can't figure out specifically how Drupal works. What do I do when I create a web site using Drupal?
Of course, I understand how php is used to access a mysql database and generate html. My activity as a web developer is to design a database and write php and html code. But, after designing the database, what is my activity as a Drupal web site developer? Do I write code? If so what? Ultimately, html must be generated. The Drupal web site doesn't seem to answer this basic question for absolute novices. I haven't found a "Hello World" example at Drupal that might illustrate the idea. Can anyone help me out? (with this question, not with amusing advice an how to get smarter.) Thanks.
Comments
Give the handbook a try
As a start, the handbook can help you with installation/upgrade, configuration/customization, and articles that may help you develop for drupal. It's located here: http://drupal.org/handbooks
=====
Drupal hosting - Up to $70 off, use coupon: HOTPROMO
The handbook sucks, that's
The handbook sucks, that's no answer. I get the feeling that Drupal is very powerful and flexible, but I'm beginning to wonder if it wouldn't be easier for me to continue writing my own stuff in php. Maybe I'm slow, but I just haven't gotten the Drupal way of doing things, I don't see any way to make it do the things I want, even though I can see that other people have.
Whoever writes a real handbook, a usable handbook for Drupal will be like the person who invents the proverbial new mousetrap.
In the spirit of seasonal generosity
any constructive suggestions for improvement?
-------
http://www.funnymonkey.com
Tools for Teachers
-------
http://www.funnymonkey.com
Wow, thanks for the kick in
Wow, thanks for the kick in the head there with your ever so helpful constructive comments. The rest of us volunteers will just sit back for you to save us.
-sp
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
first...
My first recommendation (if you have not done so already) would be to install Druapl and start playing with it. If you really want to know how Drupal WORKS then you should check out the handbook sections on Drupal's menu building mechanism and Drupal's page serving mechanism and Drupal's node building mechanism.
L looked at the handbook,
I looked at the handbook, and installed Drupal. I got a zipped tar file. The component files seem be various php files. (They're on another computer that I can't access right now.) This suggests that my activity will be to get into an editor, write php code, and include these files to get php functionality. Is this the idea? Is Drupal really a collection of php libraries? Is there a hello world example of this?
As easy as...
1. Install using install instructions
2. Go to main URL of Drupal installation...eg. mydomain.com/drupal or localhost if you have it on a local machine
3. Use web browser to create first account, configure and create content
No database design or PHP coding required at all. By reading and writing comments here, you are working with Drupal.
OK. This begins to give me
OK. This begins to give me the idea. I need to install Drupal in a directory at my hosting service. Then, instead of writing php/html source files, I use a browser interface (in a wysiwyg style?) to create web content. That's a start, if correct.
The heart of my web site is the management of queries to my database, which houses the information I want to display. If I am supposed to continue using my database, I don't see how I can get around writing queries.
Depends on the info
That depends on the information you display. If it's just text (eg blog posts) you can resubmit the info using drupal (or build queries to fill the drupal dbase once).
It's also possible to extend Drupal with modules; these modules can be used to extract the info you need from the database. Of course php + sql programming will be required to do this.
The resulting website will then be able to use all Drupals features and manage your info.
--
Tips for posting to the forums
CMS
Drupal is a content management system. It allows one to post content (stories, forumposts, comments) using a webinterface. Posts are stored in a database and pulled out on viewing the site.
There's no need to design a database with Drupal unless you want to add certain functionality. As a designer your task after installation is configuration; enabling/installing modules you need, setting permissions for users, changing/adapting the theme.
After that your focus is mainly on content and maintenance.
--
Tips for posting to the forums
I have set up a couple guides
on my site -- they are pre-configured downloads, and they come with documentation. While they are geared toward educational use, they can also be helpful for learning about some of what Drupal can do.
http://www.funnymonkey.com/configured-site and http://www.funnymonkey.com/blog-based-site
Hope this helps.
Cheers,
Bill
-------
http://www.funnymonkey.com
Tools for Teachers
-------
http://www.funnymonkey.com
Would you consider moving
Would you consider moving htem to http://drupal.org/node/40241 ?
-sp
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
I've been meaning to do that for the
last few weeks.
It's on my list of things to get done over the holidays.
The documentation for both sites is multiple pages, and is currently tied together in a book outline -- is there an easier way of getting this in than cut and paste?
Thanks,
Bill
-------
http://www.funnymonkey.com
Tools for Teachers
-------
http://www.funnymonkey.com
Not really. You can do
Not really. You can do multi-page in the handbook as well. Add a page, then a child page. It goes into moderation, so keep the link ;).
My outline start is something I intend to expand on. What I really want to do as we get more, is to consolidate the commonly done things so that anyone who creates a recipe can link to it once without have to rewrite it all.
We could say, setup a forum, and then link to the forum setup instructions. Setup an image gallery and then link to which image gallery your instructions use.
This way, recipes become even more convienient to write.
-sp
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
Make websites *without* coding
One of the primary goals of Drupal is to make websites without the need to code PHP. You install Drupal and after that, you generated content from your browser. Just like you posted a forum topic here, you post different types of content to your own Drupal website. If you want to create pages of content, you turn on the page module and create pages. If you want polls, you turn on the poll module and create polls. Soon you'll want to explore the contributed modules repository here and see what else you can do. The possibilities are nearly endless. You can have events calendars, images, audio, mailing lists, full-featured ecommerce with shopping cart and payment processing; you can even have Drupal initiate phone calls (Asterisk integration)!
One way that you will put your coding skills to good use is by adjusting your theme. Make sure you install the PHPTemplate theme engine (if you're using 4.6.3) as it is the default for 4.7. The engine that comes with 4.6 is now deprecated.
- Robert Douglass
-----
My Drupal book: Building Online Communities with Drupal, phpBB and WordPress
My current web page provides
My current web page provides forms for users to enter information into the database, and buttons to display results of various canned queries. I want to be able to display information in different aggregations defined by the queries. I'm not simply displaying text that users have entered, such as is done with this forum. It's beginning to sound like this is not Drupal's forte. I might as well stick with php/hml? Valid conclusion?
Just to get real, you can go to my book club web site at http://www.mnbc.org to see my application. Behind this web site is a database of hundreds of books and authors, which keep getting updated.
Taxonomy to the rescue
Drupal excels at categorizing content. You can create vocabularies. Vocabularies are like fields of interest, for example Author. A vocabulary has arbitrary number of terms. These would be author names in the author vocabulary.
In the example above, the terms are a mere list.
Now lets say that you wanted to categorize the books by type. You've got fiction and non-fiction. In fiction you've got novels, comics, and plays. In non-fiction you've got biographies, cookbooks and computer books. In computer books you've got Drupal books and other books. This is a hierarchical structure. Taxonomy can do this as well.
Now lets say you want to tag books (think technorati, del.iciu.us and flickr). Taxonomy (in 4.7) can do this as well.
Furthermore, you can use taxonomy to categorize a book with all three of those schemes at once.
Then, once you've categorized your content, you can use the taxonomy REST API to query it. You query to get things like page listings or RSS feeds of specific cross-cutting combinations. You could, for example, get an RSS feed of all plays that were written by the author Arthur Miller. Or you could get all computer books that were tagged with "CMS" and "PHP".
And this is just the taxonomy module! There is much that you can do with Drupal. So much that nobody, not even the founder of the project, has tried all the modules, seen all the themes, or explored all the concepts.
- Robert Douglass
-----
My Drupal book: Building Online Communities with Drupal, phpBB and WordPress
The best question, though, is for you;
What do you want to do that your current website is not doing?
Are you looking to port your website to Drupal? Integrate them to work alongside each other? Start a new website?
In the end, whether Drupal is interesting for you depends as much on what you want to do as on Drupal.
- Robert Douglass
-----
My Drupal book: Building Online Communities with Drupal, phpBB and WordPress
This question was prompted
This question was prompted by my friend's undirected suggestion that I look at Drupal. (He wasn't able to answer my question on how to use it.)
I'd day that I'm finding the php/mysql paradigm usable but a little tedious. I'd like to make it easier, if possible, to implement different ways to navigate through the database, such as replacing the rigid "Subject" taxonomy with a more flexible user-defined notion of a thread. Users can define book threads and add books to threads. A book can be in more than one thread. While I understand the database structure needed to support this, writing the forms to add this capability is a bit tedious.
I'd also like to have a more blog-style interface to book commentary than my forms provide.
These are a couple of ideas.
Take some time and use it
I'd really encourage you to take some time and use Drupal. Furthermore, read the development stuff in the handbook and the Drupal APIs documentation to get a feel for how one develops with Drupal. This will be the real attraction for you. Drupal is a fantastic development platform, and with your PHP skills, you'll be able to get 10x as much done as before, once you've started "Thinking Drupal".
- Robert Douglass
-----
My Drupal book: Building Online Communities with Drupal, phpBB and WordPress
It's seems that most of what
It's seems that most of what you have at your site can be done with Drupal.
There are modules for book reviews (didn't try) and plenty for Amazon (eg Amazon associate tools or Amazon items).
Before you can truly say if Drupal will work for you, you might need to play with it and some modules. It may require a bit of differnt thinking however.
--
Tips for posting to the forums
A quick start on that
A quick start on that different way of thinking is exactly what I'm looking for. It appears that with Drupal I don't start off writing code, but I have the ability to do that if I need to. I'll need it to access the database, I believe. If the different way of thinking entails abandoning the database entirely, then I have a further way to go than I thought.
Thanks to all for the feedback.
By George you've got it!
That's right, when you install Drupal you will have a running site immediately. Given your database experience you should have no trouble getting it running--just follow the directions in INSTALL.txt--but give a holler if you run into any snags.
Once you have your site running, play around with the available modules. You will find a number of preinstalled modules on the admin/modules page. Try enabling some of them and see what they do.
Then go to the contributed modules page, find some other modules that look interesting, and install them. The pathauto module is one of the more useful ones to start with.
Each module will have installation directions in INSTALL.txt, README.txt, or the like. Most of them are pretty similar:
After you've tried out some modules, take a look at their PHP code to see how they work. The module developer's handbook has lots of information, and the API documentation will tell you what all the Drupal functions do.
Database API
When programming for Drupal, your use of the database will be similar but more efficient than when using straightforward PHP/MySQL. And more secure. Here are just a couple of the features that our Database API provides:
- Robert Douglass
-----
My Drupal book: Building Online Communities with Drupal, phpBB and WordPress