Is it possible to create drupal module that will be downloaded not from drupal.org, but still will notify it's users about new versions via standard drupal status report (admin/reports/status)? I tried to find some option to place in .info file, but failed.
Thanks in advance

Comments

Anonymous’s picture

I did not get a good picture of what you are looking for...
Maybe http://drupal.org/project/update_status

valthebald’s picture

not exactly. This module checks only drupal.org for updates, and I want to host module somewhere else.
What I am looking for is firefox extensions model, where extension description file can tell URL of update checks. Large number of developers submit their extensions to mozilla.com, but place forum(s), history etc on their own sites.

yelvington’s picture

It's not documented in the module developer's guide, but if you read the source code for update.fetch.inc (in the update module) you'll see the following code:

/**
 * Generates the URL to fetch information about project updates.
 *
 * This figures out the right URL to use, based on the project's .info file
 * and the global defaults. Appends optional query arguments when the site is
 * configured to report usage stats.
 *
 * @param $project
 *   The array of project information from update_get_projects().
 * @param $site_key
 *   The anonymous site key hash (optional).
 *
 * @see update_refresh()
 * @see update_get_projects()
 */
function _update_build_fetch_url($project, $site_key = '') {
  $default_url = variable_get('update_fetch_url', UPDATE_DEFAULT_URL);
  if (!isset($project['info']['project status url'])) {
    $project['info']['project status url'] = $default_url;
  }
  $name = $project['name'];
  $url = $project['info']['project status url'];
  $url .= '/'. $name .'/'. DRUPAL_CORE_COMPATIBILITY;
  if (!empty($site_key)) {
    $url .= (strpos($url, '?') === TRUE) ? '&' : '?';
    $url .= 'site_key=';
    $url .= drupal_urlencode($site_key);
    if (!empty($project['info']['version'])) {
      $url .= '&version=';
      $url .= drupal_urlencode($project['info']['version']);
    }
  }
  return $url;
}

Presumably project.module can present the information that update.module expects to find.

valthebald’s picture

Thanks a lot! That's what I looked for!