I've been developing web sites using Drupal for over 18 months now, for me the flexibility and modules available for Drupal make it the best and quickest way to develop a website. Here are some of my top tips:
1. If you want to edit the layout of the site maintenance page you can find the CSS file in misc/maintenance.css.
2. After I have installed Drupal I first enable clean URLs then enable the path module. This means I can build basic SEO in from the start. If building a blog or articles based site I like to use the path auto module to automatically specify the URL.
3. When designing a site I like to build it in Dreamweaver first, then I copy the PHP template tags in from another template (often bluemarine). In the past I would customise the garland theme however there was a lot of extra CSS that I would often remove.
4. To create a template for an individual node type create a file in your template directory called node-nodetype.tpl.php where nodetype is the node type. (ie node-story.tpl.php for a story node).
This is really useful for customising individual nodes especially when using CCK and the views module. For instance I recently built a ticket support system for a company, by integrating a view into the company node you could immediately see the open tickets for that company.
//load the view by name
$view = views_get_view('view ticket');
//output the top three items in the view with the node title as an argument
print views_build_view('embed', $view, array($node->nid), false, 3);
The above code is for inserting a view into a node - more in the views documentation.
5. When first developing a theme I change the administrative theme to Garland or Bluemarine so that I can still access all the administration sections in order to enable menus, blocks, CCK and other configuration options.
6. In Drupal 5 a top border is added to tables. If this messes up your theme edit modules/system/system.css and comment out or remove line 18 ( border-top: 1px solid #ccc; ).
7. The TinyMCE module allows you to turn a text area into a WYSIWYG editor giving you formatting options such as bold, italic, underline, text direction, links and images. The module IMCE adds image upload and resizing support to TinyMCE.
9. If you enable a lot of modules you may get php memory errors, to fix this add:
to the sites/default/settings.php file. You may also have to do this on the pages that have the errors to.
I usually add it after the other ini_set variables in the settings.php file.
10. When developing I like to have the cache disabled, once the site is ready to launch I will set it to normal mode. The same goes for aggregating and compressing CSS files.
11. When having to create user profiles I use the node profile module along with the CCK (content construction kit) module rather than the profile module included with Drupal as default. CCK gives you a lot more flexibility and there are many more customization options. Also by making a profile a node you can theme it easier (see #4).
12. In Drupal 5 you can specify a default front page from the site information page however an easy way to create different front pages for authenticated and non authenticated users it to use the front page module.
Here are some of my top tips for additional OS X functions, most have come from my experience at home and work.
1. Plugging in a TV or Second Monitor
Most Mac models come with an external connector for attaching additional screens (normally a mini DVI connector). From this you need a mini DVI to DVI connector then another cable to plug into your screen, this can be a DVI to VGA cable, DVI to DVI cable or as I have a DVI to HDMI cable. All the cables are very cheap and can normally be picked up from Ebay.
OS X should automatically detect the second screen plugged in and you can open system preferences to adjust the resolution. You may have to play around with the settings, my 26" LG HD TV looks best on 1280 x 720 rather than its native resolution.
I've had my iMac plugged into my TV for the past 6 months and people still think its cool how I can move my mouse from one screen to another.
2. Sharing your Internet over Wireless.
While I was at University our local cable supplier didn't give out free wireless routers so to save buying one I shared the Internet out through my iMac's wireless. In Leopard the Internet can be shared from the Sharing section in System Preferences.
3. Bluetooth Internet Through Your Phone
It usually takes ISP's about two weeks to put ADSL on a phone line. Clearly I couldn't be without Internet for two weeks so I turned to my mobile phones provider (T-Mobile) to hook me up to the net. Now that 3G signal is well established (and I have a 3G phone) I got speeds of around 3mb for
***Unfortunately the remainder of this article has become corrupt and lost :(***
I use many of these plugins on a daily basis and would recommend them to any web developer.
Firebug allows you to inspect elements on a web page and see the associated attributes. You can edit in real time allowing you to quickly make changes to an elements colour, position, border or behavior.
Firebug has a number of extensions that will be covered later on in this article.
Clicking display alt tags under the images menu is a quick way to see if you have missed any. The resize menu lets you test your site in different resolutions.
Extended statusbar is useful to way to see how large a page is to download and how long it takes to load. I often use this to help monitor slow loading pages.
Colorzila allows you to mouse over elements on the screen to see the colour. Its very useful if you need to match a colour or check a colour is correct.
(Note US spelling 'color').
MeasureIT simply allows you to measure elements on a screen and gives you the measurement in pixels. Very useful for checking the height of objects, text spacing and the overall width of the page.
An easy way to take screen shots of a page. Especially useful if the page includes scroll bars as it saves you copying and pasting multiple screen shots together.
YSlow shows you various options on how to speed up your website. Clearly not all are suitable/cost effective for a website such as ImAFish however many are very relevant. Each item is given a rating from A to F and a full explanation on how to implement. YSlow is developed by Yahoo.
8. Page Speed
Linkification is a simply little plugin that converts any URL on the screen into a clickable link. Quite useful for those times someone has forgotten to turn a URL into a link.
10. IE Tab
IE Tab is a nice plugin to test your page in Internet Explorer without actually having to open the Browser. It's also useful if you want a fresh session for a website without having to open another browser.
2009 has been a tough year for Bloggers to make money compared to 2008 but there have been opportunities and ad networks have matured to become better accepted by marketers. Gone are the large amounts of money for private ad sales in favor of link exchange agreements and PPC amounts have tumbled.
Here is how some of my sites have fared over the past year for monetization.
Sponsored reviews have fared well in 2009 with advertisers keen to show their products in a natural way to consumers and search engines. They are often criticized for degrading the quality of a blogs content but I've found a sponsored review mixed in between a number of good quality posts to perform well. Strict new rules for Bloggers in the US may mean some good opportunities for non-US blogs in 2010.
Pay Per Click (PPC)
It's been a rough year for Pay Per Click marketing, the amount made per click in 2009 has plummeted on a number of my sites, hopefully 2010 will see the PPC market performing much better.
Google Adsense - Has been a reliable income throughout the year though relies heavily on people clicking high value ads. Adsense performed well on my iPodHistory site before I sold it however has failed to do well on 12stix or ImAFish.
Clicksor - Has replaced Adsense on a couple of sites where they are not suitable for Adsense or have been banned. The amount per click is fairly poor even compared to Adsense.
Monthly ads are where you are paid a set amount per month for an advert though these often base prices on Google Page Rank and Alexa ranking. There are a number of key players:
TNX - Has been a consistent payer throughout the year but relies on paying a small amount for a lot of adverts.
LinkLift - Recently out of beta, LinkLift is one of the newer players but has shown good growth throughout the year.
Linkworth - Advertising revenue has dried up significantly from Linkworth over the past year.
Text-Link-Ads - TLA has paid consistently low amounts all year.
Teliad - Has paid consistently for higher Page Ranked pages.
Private Ad Sales
This time last year there was a lot of money for private ad sales however this has declined significantly. Companies are now turning to link exchange programs rather than paying directly for ads. Even the better paying gambling sites have been cutting back on their advertising budget.
Hopefully we are over the worst in 2009 with the slump in the advertising market. There are plenty of opportunities out there for Blog monetization but Bloggers need to work that extra bit harder to attract the advertisers.
Next week is when webcasters in America will have to pay their first payment to the government next week in order to comply with the new webcasting laws. This will effect many big companies such as Microsoft?s MSN which will have to now pay per listener per song for everything streamed off its site. This may not be too bad for larger organisations that make a lot of revenue but for smaller webcasters such as DigitallyImported.com, which up to now has relied on donations from the listeners to pay for the small costs the organisation has. It will now have massive royalty fees to pay.
Smaller webcasters were close to winning separate rules in a compromise Congressional bill. The measure was blocked before the Senate adjourned Thursday night. It has now been decided that the smaller webcasters will not have to pay the fees just yet until all congressional work has been sorted out.
Failure for this bill to come through will mean the death to nearly all small webcasters in America as up to now they have been free to listen too. Webcasters may now have to charge a subscription or put adverts into their stream. People will be reluctant to pay as there counterparts in the rest of the world can still broadcast for free giving a distinct advantage.
The future of webcasting still remains very bleak, which is a great shame for thousands of people every day who like to tune into the popular stations for good free music. Radio companies do not have to pay royalty fees per listener per song so why should webcasters!