Mercurial > defr > drupal > ad
diff documentation/README.txt @ 0:d8a3998dac8e ad
ajout module ad
author | pierre |
---|---|
date | Fri, 20 Feb 2009 14:04:09 +0000 |
parents | |
children | 948362c2a207 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/documentation/README.txt Fri Feb 20 14:04:09 2009 +0000 @@ -0,0 +1,318 @@ +--------- +Overview: +--------- +The ad module is a powerful advertising system for Drupal-powered websites. It +supports the random display and tracking of graphical (banner), text and raw +html ads. Ads can easily be displayed in themes, blocks, or embedded in site +content. The module records comprehensive statistics about when and how often +ads are viewed and clicked, including a plug-in module for generating graphical +time-based reports. Ads can be assigned to multiple owners, each of which can +be assigned their own set of permissions. Installation is simple by design. An +API is provided allowing the development of additional functionality and +integration with other Drupal modules. + +Features: + * auto-generated ad blocks supporting a configurable number of ads + * automatically or manually embed ads into site content + * collection of comprehensive statistics allowing time-based reporting and + analysis + * tracking of when and where ads are clicked, by which user and which IP + * advertisements can have multiple owners + * granular per-advertisement/per-owner permissions system + * activation/expiration scheduling based on time, clicks or impressions + * an ad_image plug-in for image (aka banner) ads + * an ad_text plug-in for simple text ads + * an ad_html plug-in for raw html ads + * an externally maintained ad_geoip plug-in provides support for + geotargeting ads + * an ad_report plug-in for basic graphical reports + * an ad_notify plug-in for scheduling automatic email notifications + * an ad_remote plug-in for hosting ads on remote (non-Drupal) websites + * an administrative statistics overview page + * support for any number of configurable ad groups, utilizing Drupal's + taxonomy (category) subsystem + * display ads based on node ids (nids) or taxonomy terms (categories) + * file-based caching for improved performance + * memcache-based caching for improved performance + * support for external caching methods + * MySQL and PostgreSQL support + + +------ +Usage: +------ +Installation and requirements information can be found within the INSTALL.txt +file included with this module. + + +------------- +Creating ads: +------------- +Once the ad module is properly installed an enabled, you can create +advertisements by visiting 'create content' on your website and choosing +'advertisement' as the content type. If you have enabled multiple ad type +modules, you can select one of them from the resulting menu, such as 'image +advertiesment' or 'text advertisement'. + + Text ads: + --------- + Text ads are very simple, requiring that you fill out only three fields of + information. First, you need to specify the Destination URL where you want + people to be redirected when they click on your text ad. Second, you enter + the a header for your ad. The header will be linked to the Destination URL. + Finally, you need to specify the body of your ad. + + Image ads: + ---------- + Image ads or only slightly more complicated than text ads. They depend on + the drupal core Upload module for managing the actual images. As with text + ads, you first need to specify the Destination URL where you want people to + be redirected when they click on your image ad. Second, you can optoinally + enter some Mouseover text. If you enter text in the mouseover field this + text will be displayed when people hover their mouse pointer over the + advertisement. Finally, you need to scroll down to the File attachements + section of the page and click the Browser button to select your image, then + click Attach to upload the image. + + HTML ads: + --------- + HTML ads allow you to easily define your own custom ad type by simply pasting + in a block of HTML code. At this time, however, the ad module is unable to + track when html ads are clicked. + + Ad groups: + ---------- + Ads can be organized into groups. For example, you may have a group called + "Text Ads" and another group called "Image Ads." You could then assign your + text ads to the "Text Ads" group, and your image ads to your "Image Ads" + groups. (This is not required, it is perfectly valid to include both image + ads and text ads in the same group.) When displaying ads, you typically tell + the ad module to display ads from a certain group and then the ad module + randomly selects an active ad from the specified group. Each ad can be a + member of any number of groups. + + Ad status: + ---------- + There are several states that an ad can exist in. An ad in the Pending state + is one that has recently been uploaded and is waiting to be approved by a + privileged user. An ad in the Approved state is one that has been approved + by a privileged user but is not actively being displayed, the ad could be + waiting on an autoactivation event. An ad in the Active state is being + actively displayed. An ad in the Offline state is approved but is currently + not being displayed. An ad in the Unpublished state means that the ad node + was unpublished so the ad is not any longer being displayed. An ad in the + Expired state is no longer being displayed. An ad in the Denied state means + it was not approved by the site administrator. + + Scheduling: + ----------- + If you put an ad into the Approved state and then enter a date and time in the + Automatically Activate Ad field, the ad will be automatically activated + on the date and time specified. This feature requires that cron be functional + on your website. If you enter a date and time in the Automatically Expire Ad + field, the ad will be automatically expired on the date and time specified. + Again, this feature requires that cron be functional on your website. + + If you enter a number into the Maximum Impressions field, the ad will be + automatically expired once it has been displayed this number of times. + + If you enter a number into the Maximum Clicks field, the ad will be + automatically expired once it has been clicked this number of times. + + +--------------- +Displaying ads: +--------------- +There are many ways to display ads with the ad module. The simplest way +is to enable one of the automatically generated ad blocks. It is also possible +to use the ad_embed module to automatically embed ads within your site content. +And you can even display ads from within the PHP of your theme or another +module. + + ---------- + Ad blocks: + ---------- + The ad module automatically generates on ad block for every ad group that you + create. For example, if you visit "Administer >> Site building >> Blocks" + you will find a block named "ad group: default". If you enable this block, + it will display a random ad from all active ads in the default group. + + You can optionally configure the block to display more than one ad at a time + by clicking the 'configure' link on the block administration page. + + ------------- + Embedded ads: + ------------- + If you enabled the ad_embed module, it is possible to embed ads into your + site content. To configure the ad_embed module go to "Administer >> Content + Management >> Ads >> Settings >> Embedded ads". + + If you wish to manually embed ads in your content, check the box next to + "Replace ad bracket tags" or "Replace ad comment tags". This will cause the + ad_embed module to replace embedded [[add]] or <!--ad--> tags respectively. + Instructions on how to specify specific ad groups or even specific ads and + how many ads to display at a time can be found by visiting "Administer >> + Help >> Embed". + + If you wish to automatically embed ads in your content, configure this on a + per-content-type basis in the lower configuration section. + embeded ads". + + ------------------------ + Displaying ads from PHP: + ------------------------ + To display an ad from within PHP code, make a call to the ad() function. + You can optionally specify an ad group, the number of ads to display, and + several other options. For example, to display one random ad from all ads + that have not been assigned to any group you don't have to pass in any + parameters: + <?php print ad(); ?> + + To display two ads from all ads that have not been assigned to any group + you would execute the following code: + <?php print ad(0, 2); ?> + + (The first parameter specifies the ad group to display ads from. By + specifying 0, we are telling the ad module to display ads that are not + assigned to any group. The second parameter specifies the number of ads + to display at one time.) + + To randomly display an ad from a specific group of nids, for example with + the node ID 69 or 76, you would pass in the following parameters: + <?php print ad(NULL, 1, array('nids' => '69,76')); ?> + + (When specifying specific nids, any specified ad group is ignored, so we + leave the first parameter as NULL. The second parameter causes only one + ad to be displayed at a time. And the third parameter is an array that + tells the ad module to randomly display either ad 69 or ad 76.) + + To display and ad randomly selected from multiple groups you can simply + specify multiple groups separated by commas. For example, to display 3 + ads from groups 24, 56 and 98 you would pass in the following parameters: + <?php print ad('24,56,98', 2); ?> + + You can also specify how to display a given ad. Current display methods are + 'javascript' and 'raw'. When using the 'javascript' method, ads will + randomly change even when the Drupal pagecache is enabled. When using the + 'raw' method, ads will only change when the Drupal pagecache is flushed. + To force one ad with a tid of 76 to display using JavaScript you would pass + in the following parameters: + <?php print ad(76, 1, array('method' => 'javascript')); + + To force two ads with a tid of 101 or 102 to display using the Raw method + you would pass in the following parameters: + <?php print ad('101,102', 76, array('method' => 'raw')); + + ------------ + Theming ads: + ------------ + All ads are wrapped in the following tags: + <div class="advertisement" id="group-#"></div> + + All ads are in the same "advertisement" class. Each ad group gets a unique + id. This makes it possible to create generic advertisement formatting as + well as specific advertisement formatting. + + CSS Example 1: + -------------- + This sample code can be added to your theme's custom style.css. It adds + padding to advertisements, wrapping them in a dashed border and giving + them a background color. It also adds the text "Advertisement:" above + the ad: + + .advertisement { + padding: 5px; + border: dashed; + background-color: #ffd; + } + + .advertisement:before { + content: "Advertisement:"; + } + + CSS Example 2: + -------------- + Here is more sample code that could be added to your theme's custom + style.css. It will cause multiple image ads to be displayed horizontally + one beside the other (space permitting), rather than vertically one + below the other. The ads are aligned to the left side of the screen, + if you'd prefer them to be aligned to the right side of the screen change + the word "left" to "right" in the snippet: + + .image-advertisement { + float: left; + padding: 3px; + } + + +------------------- +Ad module settings: +------------------- +The ad module and related modules provide a number of configuration options. + + ---------------- + Global settings: + ---------------- + The ad module allows you to specify some global settings at "Administer >> + Content management >> Ads >> Settings >> Global settings". + + Even if you do not plan to make any changes, you should visit this page at + least one time as the ad module will perform a series of sanity tests when + you visit this page, alerting you to any installation problems. + + This page begins by displaying the path to serve.php. If you see an error + here, then the ad module is not properly installed. Review the directions + in INSTALL.txt to properly install the ad module. + + In the General section you can specify what happens when an advertisement is + clicked. For example, you can choose to have the resulting Destination URL + opened in the same browser window, or in a new browser window. You can also + enable the "nofollow" check box causing ads served by the ad module to + include rel="nofollow" in automatically generated links. You can select + to display advertisements using JavaScript, jQuery, IFrames, or Raw HTML. + Finally, you can disable URL validation, and enable advertisement filtering. + + Checking 'Filter ads' allows you to apply Drupal's standard input filters + to your advertisements. If you enable this option, be sure to apply a + compatible filter that doesn't strip away the <div> and other tags used by + the various advertisement types. + + The next section allows you to configure IFrames, if you are using them to + display advertisements. + + For better performance, you can also enable a cache. At this time there is + only a file cache available. When the file cache is enabled, ads are quickly + displayed from a cache file without bootstrapping Drupal. On very busy + websites you may need to increase the number of cache files to prevent + cache file contention. + + --------- + Text ads: + --------- + The ad_text module allows you to specify some minimum and maximum lengths for + text ads at "Administer >> Content management >> Ads >> Settings >> Text ads". + + ---------- + Image ads: + ---------- + The ad_image module allows you to specify some image constraints on a + per-group basis at "Administer >> Content management >> Ads >> Settings >> + Image ads". + + ------------- + Embedded ads: + ------------- + Manually and automatically embedded ads can be configured at "Administer >> + Content management >> Ads >> Settings >> Embedded ads". + + +----------- +Statistics: +----------- +The ad module tracks how often each ad is viewed and clicked. The statistics +are tracked to an hourly granularity. + +When an advertisement is first enabled, the statistics for 'This hour', 'Today', +'Last seven days', 'This month', 'This year' and 'All time' will all be the +same. When available, statistics will also include 'Last hour', 'Yesterday', +'Last month', and 'Last year'.