Need help or direction in site design.. feeling a bit lost here

msmixedcutie - September 23, 2009 - 01:15

So Drupal community!

I've done some research on various CMS softwares that are available..and for various reasons I've decided that Drupal is the way to go! Okay! So I've installed the Acquia version of Drupal and have a very basic site currently stored locally on my machine with dreams of it being live one day.

I have a website idea that I feel it a bit complicated since I'm not quite sure what modules or exactly what I'll need to do to get it going. I'm wondering what is the best way for a rather tech savy person, not so much Drupal, PHP savy.. to go about planning this out. At this point, I understand how to install modules and themes and am really wondering how I can map out my site so that I can attempt to connect my vision with Drupal's potential. Any suggestions on how I can get started, books that can help, websites, supporters in the Drupal community! Anyone who knows more that I do.. would help! :)

The site would have a social network component to it, people would need to have their won "Page" to display personal photos, I would like random pieces of these personal photos go be displayed in a constantly updating basis on the front page, as well as new members and different categories.. and on and on.. I have an very good idea of what I want to happen.. but just translating that to Drupal seems like a bit much...

Again.. ANY help or direction would be oh so appreciated!

I was in a similar place at

bsenftner - September 23, 2009 - 02:12

I was in a similar place at the start of the summer, I'd installed Drupal a few times, different versions, and was comfortable with installing modules, but confused past that.
I tried the documentation here at drupa.org, but found the content to be deeper than I was ready for... then I got this book:
Front End Drupal: Designing, Theming, Scripting from amazon. Reading that, I found a concise description of a ton of stuff, and a very good intro to java script and jQuery, including the details of getting them all communicating with the Drupal subsystem. However, that book did not really get into making modules.
After about 6 weeks of using that book as a guide, I make a few web sites for 3rd parties. I just jumped into them, and figured everything out on a deadline. Nice forced learning.
Here's the main link, going to what turned into three different sites:
http://www.usmnebc.org (Montenegrin Version being a different site, and Documentary being the 3rd.)
Then I got this book:
Learning Drupal 6 Module Development: A practical tutorial for creating your first Drupal 6 modules with PHP
and I've been getting into module development with the Services module, working on a web API.
Overall, I'm really pleased with both books as a foundation to creating really sophisticated web sites and web applications with Drupal.

start with your sketch

JJ - September 23, 2009 - 02:13

When I build a Drupal site, I sketch out my blocking first so I can visualize what features I want and where I want them regardless of whether I know about a module for the feature. Since Drupal is designed around modular design, whether you can find the exact module for your feature or not you will still want to build your component as a module so you can drop it into a block, or at least thats the approach I take.

Once you have your sketch, build your template or find a template from drupal.org that seems to have the overall layout and flow you envision. By starting with a completed theme, you can speed up the process of creating cross browser compatible/validated CSS. Since Drupal is a CMS, there are alot of in and outs for what should be in your CSS to support any modules, views, or whatever that may come down the line. For example, most themes at Drupal.org have styles included for all possible objects that may pop up in your pages like tabs or bread crumbs -- take a look at a completed theme to see what I mean. This is one major reason Drupal lets you set a separate theme for administration. It takes forever to lay a foundation for the styles needed to support the admin side of the platform. For themes to start with, I usually use Garland because it includes that nice color interface for my clients to change their branding when they get bored of their logo. I also like Zen, but it takes a while to get a sense of what styles affect what and what is inheriting from what. The theme you chose, Acquia, is also good for that reason... nice simple layout with intuitive styles.

So now you have your grid... just like in a printing press, you now have to place your block elements into your grid. This is where the modules start to play in. Since you have your features mapped out in a sketch, see if you can find contributed modules by searching for keywords at the modules ection of drupal.org. I suggest these modules to get you going:

node queue - will let you do nice stuff with your articles
cck - will let you expand the customization of content types
image - will give you ability to batch upload images
file field - will give you a nicer interface for unploading files to posts
terms of use or the agreement module - will give you a fast way to create end user agreements
views - will let you create custom HTML chunks to associate with different content displays
xmlsitemap - will help you create a sitemap from nodes
addtoany - will add the addtoany widget to nodes of your choice
lightbox - will give you a modal interface for your image galleries
nice menus - will give you fast way to make those cool javascript multi-tiered drop down menus

For Social Networking features, I suggest:

activity - like the facebook activity log
invite - lets users invite others to join
privatemessage - gives you a private messaging framework
notifications - allows you to trigger different notifications for actions on the site
organic groups - nice interface for user created groups and groupwise functionality.. lots of modules to expand its usefulness
user badges - cool module to associate different behaviors and roles on your site with icons
userpoints - cool module that lets users acrue points based on their participation on the site.
pirate - lets you change the language of your site to pirate speak

So, once you nail down your modules and configure them drop them into your grid according to how you sketched them. Make sure to address any alerts that come up on the status page, it will tell you what else you need to do to get a module setup correctly. Also, remember that Drupal is designed to let you overload blocks with modules and tell the modules which page it renders on. For example, most themes have a 'content' block. You can drop a zillion modules into the content block and in each block level configuration tell it which page it loads on using Drupal notation.... for front page... node/whatever for nodes, etc. consult the manual for a list of ways to reference your content. You can also control visibility by public display, vs. admin display, vs. logged in user display... which will be key for you to designate a different set of features for your logged in users rather than the stuff people see when they first go to the site.

Now you should have most of your foundation in place. Next, you want to create your different site roles and lock down the permission for those roles. For example, on a newspaper site I created a role CMS admin who can work on everything but a few of the platform features and another for Editor which only has control over content.

Lastly, go through and tighten up anything that seems amiss.

That should cover almost the whole process of setting up a production Drupal site. I have skipped some admin steps and probably a few more. The authorized documentation can give you a full run down.

Here are a few points to remember when you work on the server end of the site:

-the Sites directory is where you should add all your modules and themes, not the main folders for themes and modules. You will see a directory under sites for all and default. Default is the site you are working on, all means any and all sites on that build -- Drupal supports multi-site which is why they are segregated. Create a new folder named modules for modules, and themes for themes.

-the permissions for your directories should be accessible by the web server. This usually means 755

-the 'files' directory in your sites/default/ is typically where Drupal will look and store any temp or resource files required by its modules

Ok, I bored you enough... hope this gets you started with a solid foundation using Drupal -- my favorite CMS.

.

dbeall - September 23, 2009 - 07:42

Install a server on your local computer, such as wamp or xamp as it will give you a play ground.
Then get Drupal and install it. A module to help with your test site is devel as it can produce sample content for your play ground.

I would define what the site needs. Such as events, blogs, forums and on.... You can do the wire frame stuff as it is helpful. But getting to know the system and how to work with it equally important..
Look through the themes and see if there is something that is close to what you like... download it, install it.
Work with the system to get the feel of it, turn on some modules and see what you like.

Here is my partial list for a community / social type of site, Just to name a few.

admin_menu, advanced_forum, advanced_profile, author_pane, avatar_selection, backup_migrate, birthdays,
captcha, cck, comment_notify, contact_user_anon, custom_breadcrumbs, date, ed_readmore, event, faq,
fckeditor, globalredirect, guestbook, image, imageapi, imagecache, imagefield, imce, jstools, lightbox2, nodewords, panels, pathauto, poormanscron, privatemsg, profile_blog_info, search404, signature_forum, site_verify, subscriptions, token, user_badges, user_register_notify, user_relationships, user_stats, user_titles, user_visits, userpoints, userpoints_votingapi, views, votingapi, weblinks by NancyDru, 6.x-2.x-unstable4 xmlsitemap.

The whole list is huge, sometimes it will help by looking at the module list and see which ones have the highest usage. http://drupal.org/project/usage

You don't have to worry about different things in the site changing as Drupal is highly dynamic and content is Drupal's friend. Yes, this page can go on and on.. dive in with a test site and have some fun with it. You will get ideas as you mess around in the playground.

.

dbeall - September 23, 2009 - 07:22

Should have put this on the last post:
Some good places to do a little reading are on Drupal.org. Yes there are books and they are good too. However, The Drupal site has a wealth of good information.
http://drupal.org/getting-started
Understanding how Drupal works (overview) and look at the Drupal Flow part too:
http://drupal.org/getting-started/before/overview
Questions and/or trouble? search and read the Drupal forum:
http://drupal.org/forum
Also use Google and end your search phrase with Drupal
View videos to help you learn HowTo do it, a short list.
http://drupal.org/handbook/customization/videocasts
http://acquia.com/community
http://www.learnbythedrop.com/
http://awakenedvoice.com/
http://www.masteringdrupal.com/

Also

NancyDru - October 7, 2009 - 15:37

figures..

dbeall - October 12, 2009 - 06:46

I always forget to list the most important pages.. I won't forget the next time.
Thinking back a year ago, I was one of the people requesting a cookbook.

 
 

Drupal is a registered trademark of Dries Buytaert.