Ubuntu Drupal Countdown Banner

Manage Package

If you are going to edit or create a new banner release package, you NEED to read this section. If you edit something wrong, you can potentially destroy many websites. Fortunately the module that pulls these files is relatively confined and is unlikely to break the entire website if you screw up, it is possible.


  • If this is for a new release, then create a new release.

    • The name of the new release should be the first word of the release name (lower case). Ex. jaunty, karmic
    • A series will need to exist.
  • If you are editing a new release, then pull the current tarball


  1. Check out the available banner options on the Ubuntu website

  2. Grab all of the available options and alter the files so they function locally
    1. The ONLY interaction with will be when they click the image which will bring the user to the site
    2. This means grabbing every image available for the entire time the banners will be visible
      1. Ex. 00.png, 01.png, [...], here.png, soon.png, display.js, countdown.html, etc
  3. File each option into its own folder
    1. ALL of the data for the countdowns will be in its own folder under data/
      1. Ex. data/1/ data/2/
    2. There should be an html page in the folders that displays the data
      1. Ex. data/1/display.htm contains <script type="text/javascript" src="display.js"></script>

  4. In the top level, create a file with a number only
    1. Ex. 1, 2, 3, 4 <- yes, these are the file names

    2. Most files are dynamic - there will be one static image, this is the noscript file
    3. Read example code of iframe and noscript below
  5. In the top level, create a symlink file called noscript that points to the noscript file
    1. Ex. ln -s 4 -T noscript

Example Code: iframe

$bt  = '<iframe src="/' . file_directory_path() . '/countdown/data/1/display.html" width="180" height="150" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" name="ubuntucountdown">';
$bt .= '</iframe>';

return $bt;
  • DO NOT add <?php or ?> tags. This will break the way the module reads the files.

  • We do need the iframe in order to cover the variety of ways the files can be referenced.

Example Code: noscript

$bt  = '<a href="" target="_top">';
$bt .= '  <img src="/' . file_directory_path() . '/countdown/data/4/static.png" width="180" height="150" alt="Ubuntu: For Desktops, Servers, Netbooks and in the cloud" border="0" />';
$bt .= '</a>';

return $bt;
  • DO NOT add <?php or ?> tags. This will destroy the way the module reads the files.

  • We don't need the iframe because the file we're reading does not read other files.


  1. Create a tarball of the contents. DO NOT add the directory name that it is it
    1. Call it exactly banners.tgz
    2. cd /path/to/files/ && tar czf banners.tgz *

    3. This will result in an "exploding tarball" this is indeed what we DO want
    4. The only contents that should be in here are directly related to the banners
    5. Remember, no top level directory that everything sits in
  2. Create a release notes file called "rv"
    1. Call it exactly rv
    2. It will consist of a single word. The series name followed by an update number
    3. Examples:
      1. If the current rv is jaunty02 and you are updating the jaunty package, the word in it will be jaunty03
      2. If it's currently jaunty03 but you are creating a new package for karmic, the contents will be karmic00
    4. The file will consist of a single string of text with no spaces and no extra blank lines
  3. Sign the files with your key
    1. gpg --armor --sign --detach-sig banners.tgz
    2. gpg --armor --sign --detach-sig rv
  4. Go to the series page
    1. If this is an update: remove the current banners.tgz
    2. Click Add download file
      1. Description is "Jaunty Release Banners" Jaunty changes depending on release
      2. Select banners.tgz as file
      3. Select banners.tgz.asc as signature
      4. File contents type: Code Release Tarball
      5. Click upload
    3. If this is an update: remove the current rv - NOT before uploading new banners.tgz
      1. Note: This file may only be updated ONE time. If you alter banners.tgz in any way, you must create a new rv
      2. Description is "Release Version"
      3. Select rv as file
      4. Select rv.asc as signature
      5. File contents type: Release Notes
      6. Click upload
  5. If this is a new series, Canonical will need to update the current pointer to point at the new series

- At this point, the module will see the new rv file and pull banners.tgz. This tarball will be unpacked into the correct directory and the administrator can quickly and easily pick from the newly available options.
- YES! This is a long process, however it is well defined and not exactly complicated. Following it precisely will ensure the users of the package suffer no broken banner.

UbuntuDrupal/Countdown (last edited 2009-07-13 22:09:45 by host-163-62-107-208)