With several user profile pages built in Views as tabs, how do I build a menu linking to those pages? I can't just use the menu UI to create menu links because the links need to be dynamic. The best solution I have found so far is in OpenAtrium. Are there any others?

   $block['content'] .= "&lt;h3&gt;". t('My account') ."&lt;/h3&gt;". theme('links', 
atrium_account_links());


and

/**
 * Generates an array of account links suitable for use in theme_links().
 */
function atrium_account_links() {
  global $user;
  $links = array();

  // @TODO: If menu.inc had a real API function for this we would use it, but
  // as of now we'd have a copy hand paste hack job of menu_local_tasks()...
  $paths = array(
    "user/{$user-&gt;uid}" =&gt; t('Profile'),
    "user/{$user-&gt;uid}/dashboard" =&gt; '',
    "user/{$user-&gt;uid}/edit" =&gt; '',
    "user/{$user-&gt;uid}/notifications" =&gt; '',
    'logout' =&gt; '',
  );
  foreach ($paths as $path =&gt; $title) {
    $item = menu_get_item($path);
    if ($item &amp;&amp; $item['access']) {
      $links[] = array(
        'title' =&gt; !empty($title) ? $title : $item['title'],
        'href' =&gt; $item['href'],
      );
    }
  }
  drupal_alter('atrium_account_links', $links);
  return $links;
}
I went ahead and implemented the OpenAtrium code in Drupal 7 which I'll use unless somebody comes up with a better answer.

/**
* implements hook_block_info()
*/
function helper_block_info () {
  $blocks['helper_user_links'] = array(
    'info' =&gt; t('Menu user links'),
    'cache' =&gt; DRUPAL_CACHE_PER_ROLE,
  );

  return $blocks;
}

/**
* implements hook_block_view()
*/
function helper_block_view($delta = ''){
  $block = array();

    case 'helper_user_links':
      $block['subject'] = NULL;
      $block['content'] = array(
        '#markup' =&gt; theme('links', array(
          'links' =&gt; helper_user_links(),
          'attributes' =&gt; array('class' =&gt; 'menu'),
        )),
      );
    break;
  }

  return $block;
}

/**
 * Generates an array of account links suitable for use in theme_links().
 */
function helper_user_links() {
  global $user;
  $links = array();

  // @TODO: If menu.inc had a real API function for this we would use it, but
  // as of now we'd have a copy hand paste hack job of menu_local_tasks()...
  $paths = array(
    "user/{$user-&gt;uid}/businesses/reviews" =&gt; '',
    "user/{$user-&gt;uid}/content" =&gt; '',
    "user/{$user-&gt;uid}/workbench" =&gt; '',
    'logout' =&gt; '',
  );
  foreach ($paths as $path =&gt; $title) {
    $item = menu_get_item($path);
    if ($item &amp;&amp; $item['access']) {
      $links[] = array(
        'title' =&gt; !empty($title) ? $title : $item['title'],
        'href' =&gt; $item['href'],
        'class' =&gt; $_GET['q'] == $item['path'] ? 'leaf active-trail active' : 'leaf',
      );
    }
  }
  drupal_alter('helper_user_links', $links);
  return $links;
}