diff --git a/core/modules/book/book.services.yml b/core/modules/book/book.services.yml
index a2977f8..8dc0ec4 100644
--- a/core/modules/book/book.services.yml
+++ b/core/modules/book/book.services.yml
@@ -6,16 +6,14 @@ services:
       - { name: breadcrumb_builder, priority: 701 }
   book.manager:
     class: Drupal\book\BookManager
-    arguments: ['@database', '@entity.manager', '@string_translation', '@config.factory', '@book.storage']
+    arguments: ['@database', '@entity.manager', '@string_translation', '@config.factory']
   book.outline:
     class: Drupal\book\BookOutline
     arguments: ['@book.manager']
   book.export:
     class: Drupal\book\BookExport
     arguments: ['@entity.manager', '@book.manager']
-  book.storage:
-    class: Drupal\book\BookStorage
-    arguments: ['@database']
+
   access_check.book.removable:
     class: Drupal\book\Access\BookNodeIsRemovableAccessCheck
     arguments: ['@book.manager']
diff --git a/core/modules/book/src/BookManager.php b/core/modules/book/src/BookManager.php
index e3504d9..c491cf4 100644
--- a/core/modules/book/src/BookManager.php
+++ b/core/modules/book/src/BookManager.php
@@ -57,13 +57,6 @@ class BookManager implements BookManagerInterface {
   protected $books;
 
   /**
-   * Book Storage.
-   *
-   * @var \Drupal\book\BookStorageInterface
-   */
-  protected $bookStorage;
-
-  /**
    * Stores flattened book trees.
    *
    * @var array
@@ -73,12 +66,11 @@ class BookManager implements BookManagerInterface {
   /**
    * Constructs a BookManager object.
    */
-  public function __construct(Connection $connection, EntityManagerInterface $entity_manager, TranslationInterface $translation, ConfigFactoryInterface $config_factory, BookStorageInterface $book_storage) {
+  public function __construct(Connection $connection, EntityManagerInterface $entity_manager, TranslationInterface $translation, ConfigFactoryInterface $config_factory) {
     $this->connection = $connection;
     $this->entityManager = $entity_manager;
     $this->stringTranslation = $translation;
     $this->configFactory = $config_factory;
-    $this->bookStorage = $book_storage;
   }
 
   /**
@@ -96,10 +88,16 @@ public function getAllBooks() {
    */
   protected function loadBooks() {
     $this->books = array();
-    $nids = $this->bookStorage->getBooks();
+    $nids = $this->connection->query("SELECT DISTINCT(bid) FROM {book}")->fetchCol();
 
     if ($nids) {
-      $book_links = $this->bookStorage->loadMultiple($nids);
+      $query = $this->connection->select('book', 'b', array('fetch' => \PDO::FETCH_ASSOC));
+      $query->fields('b');
+      $query->condition('b.nid', $nids);
+      $query->addTag('node_access');
+      $query->addMetaData('base_table', 'book');
+      $book_links = $query->execute();
+
       $nodes = $this->entityManager->getStorage('node')->loadMultiple($nids);
       // @todo: Sort by weight and translated title.
 
@@ -149,7 +147,21 @@ public function getParentDepthLimit(array $book_link) {
    *   the passed book link.
    */
   protected function findChildrenRelativeDepth(array $book_link) {
-    $max_depth = $this->bookStorage->getChildRelativeDepth($book_link, static::BOOK_MAX_DEPTH);
+    $query = $this->connection->select('book');
+    $query->addField('book', 'depth');
+    $query->condition('bid', $book_link['bid']);
+    $query->orderBy('depth', 'DESC');
+    $query->range(0, 1);
+
+    $i = 1;
+    $p = 'p1';
+    while ($i <= static::BOOK_MAX_DEPTH && $book_link[$p]) {
+      $query->condition($p, $book_link[$p]);
+      $p = 'p' . ++$i;
+    }
+
+    $max_depth = $query->execute()->fetchField();
+
     return ($max_depth > $book_link['depth']) ? $max_depth - $book_link['depth'] : 0;
   }
 
@@ -423,12 +435,14 @@ public function getTableOfContents($bid, $depth_limit, array $exclude = array())
    */
   public function deleteFromBook($nid) {
     $original = $this->loadBookLink($nid, FALSE);
-    $this->bookStorage->delete($nid);
-
+    $this->connection->delete('book')
+      ->condition('nid', $nid)
+      ->execute();
     if ($nid == $original['bid']) {
       // Handle deletion of a top-level post.
-      $result = $this->bookStorage->loadBookChildren($nid);
-
+      $result = $this->connection->query("SELECT * FROM {book} WHERE pid = :nid", array(
+        ':nid' => $nid
+      ))->fetchAllAssoc('nid', \PDO::FETCH_ASSOC);
       foreach ($result as $child) {
         $child['bid'] = $child['nid'];
         $this->updateOutline($child);
@@ -615,11 +629,32 @@ protected function doBookTreeBuild($bid, array $parameters = array()) {
     }
 
     if (!isset($trees[$tree_cid])) {
+      $query = $this->connection->select('book');
+      $query->fields('book');
+      for ($i = 1; $i <= static::BOOK_MAX_DEPTH; $i++) {
+        $query->orderBy('p' . $i, 'ASC');
+      }
+      $query->condition('bid', $bid);
+      if (!empty($parameters['expanded'])) {
+        $query->condition('pid', $parameters['expanded'], 'IN');
+      }
       $min_depth = (isset($parameters['min_depth']) ? $parameters['min_depth'] : 1);
-      $result = $this->bookStorage->getBookMenuTree($bid, $parameters, $min_depth, static::BOOK_MAX_DEPTH);
+      if ($min_depth != 1) {
+        $query->condition('depth', $min_depth, '>=');
+      }
+      if (isset($parameters['max_depth'])) {
+        $query->condition('depth', $parameters['max_depth'], '<=');
+      }
+      // Add custom query conditions, if any were passed.
+      if (isset($parameters['conditions'])) {
+        foreach ($parameters['conditions'] as $column => $value) {
+          $query->condition($column, $value);
+        }
+      }
 
       // Build an ordered array of links using the query result object.
       $links = array();
+      $result = $query->execute();
       foreach ($result as $link) {
         $link = (array) $link;
         $links[$link['nid']] = $link;
@@ -698,7 +733,7 @@ public function loadBookLink($nid, $translate = TRUE) {
    * {@inheritdoc}
    */
   public function loadBookLinks($nids, $translate = TRUE) {
-    $result = $this->bookStorage->loadMultiple($nids);
+    $result = $this->connection->query("SELECT * FROM {book} WHERE nid IN (:nids)", array(':nids' =>  $nids), array('fetch' => \PDO::FETCH_ASSOC));
     $links = array();
     foreach ($result as $link) {
       if ($translate) {
@@ -719,9 +754,14 @@ public function saveBookLink(array $link, $new) {
     $link += $this->getLinkDefaults($link['nid']);
     if ($new) {
       // Insert new.
-      $parents = $this->getBookParents($link, (array) $this->loadBookLink($link['pid'], FALSE));
-      $this->bookStorage->insert($link, $parents);
-
+      $this->connection->insert('book')
+        ->fields(array(
+            'nid' => $link['nid'],
+            'bid' => $link['bid'],
+            'pid' => $link['pid'],
+            'weight' => $link['weight'],
+          ) + $this->getBookParents($link, (array) $this->loadBookLink($link['pid'], FALSE)))
+        ->execute();
       // Update the has_children status of the parent.
       $this->updateParent($link);
     }
@@ -756,11 +796,10 @@ public function saveBookLink(array $link, $new) {
         $this->updateParent($link);
       }
       // Update the weight and pid.
-      $this->bookStorage->update($link['nid'], array(
-        'weight' => $link['weight'],
-        'pid' => $link['pid'],
-        'bid' => $link['bid'],
-      ));
+      $query = $this->connection->update('book');
+      $query->fields(array('weight' => $link['weight'], 'pid' => $link['pid'], 'bid' => $link['bid']));
+      $query->condition('nid', $link['nid']);
+      $query->execute();
     }
     foreach ($affected_bids as $bid) {
       \Drupal::cache('data')->deleteTags(array('bid' => $bid));
@@ -777,6 +816,10 @@ public function saveBookLink(array $link, $new) {
    *   The original parent of $link.
    */
   protected function moveChildren(array $link, array $original) {
+    $query = $this->connection->update('book');
+
+    $query->fields(array('bid' => $link['bid']));
+
     $p = 'p1';
     $expressions = array();
     for ($i = 1; $i <= $link['depth']; $p = 'p' . ++$i) {
@@ -798,8 +841,18 @@ protected function moveChildren(array $link, array $original) {
       // @see http://dev.mysql.com/doc/refman/5.0/en/update.html
       $expressions = array_reverse($expressions);
     }
+    foreach ($expressions as $expression) {
+      $query->expression($expression[0], $expression[1], $expression[2]);
+    }
 
-    $this->bookStorage->updateMovedChildren($link['bid'], $original, $expressions, $shift);
+    $query->expression('depth', 'depth + :depth', array(':depth' => $shift));
+    $query->condition('bid', $original['bid']);
+    $p = 'p1';
+    for ($i = 1; !empty($original[$p]); $p = 'p' . ++$i) {
+      $query->condition($p, $original[$p]);
+    }
+
+    $query->execute();
   }
 
   /**
@@ -821,7 +874,10 @@ protected function updateParent(array $link) {
       // Nothing to update.
       return TRUE;
     }
-    return $this->bookStorage->update($link['pid'], array('has_children' => 1));
+    $query = $this->connection->update('book');
+    $query->fields(array('has_children' => 1))
+      ->condition('nid', $link['pid']);
+    return $query->execute();
   }
 
   /**
@@ -844,13 +900,22 @@ protected function updateOriginalParent(array $original) {
       return TRUE;
     }
     // Check if $original had at least one child.
-    $original_number_of_children = $this->bookStorage->countOriginalLinkChildren($original);
+    $original_number_of_children = $this->connection->select('book', 'b')
+      ->condition('bid', $original['bid'])
+      ->condition('pid', $original['pid'])
+      ->condition('nid', $original['nid'], '<>')
+      ->countQuery()
+      ->execute()
+      ->fetchField();
 
     $parent_has_children = ((bool) $original_number_of_children) ? 1 : 0;
     // Update the parent. If the original link did not have children, then the
     // parent now does not have children. If the original had children, then the
     // the parent has children now (still).
-    return $this->bookStorage->update($original['pid'], array('has_children' => $parent_has_children));
+    $query = $this->connection->update('book');
+    $query->fields(array('has_children' => $parent_has_children))
+        ->condition('nid', $original['pid']);
+    return $query->execute();
   }
 
   /**
@@ -883,14 +948,15 @@ public function bookTreeCheckAccess(&$tree, $node_links = array()) {
     if ($node_links) {
       // @todo Extract that into its own method.
       $nids = array_keys($node_links);
-
+      $select = $this->connection->select('node_field_data', 'n');
+      $select->addField('n', 'nid');
       // @todo This should be actually filtering on the desired node status field
       //   language and just fall back to the default language.
-      $nids = \Drupal::entityQuery('node')
-        ->condition('nid', $nids)
-        ->condition('status', 1)
-        ->execute();
+      $select->condition('n.status', 1);
 
+      $select->condition('n.nid', $nids, 'IN');
+      $select->addTag('node_access');
+      $nids = $select->execute()->fetchCol();
       foreach ($nids as $nid) {
         foreach ($node_links[$nid] as $mlid => $link) {
           $node_links[$nid][$mlid]['access'] = TRUE;
@@ -1036,9 +1102,17 @@ public function bookSubtreeData($link) {
 
       // If the subtree data was not in the cache, $data will be NULL.
       if (!isset($data)) {
-        $result = $this->bookStorage->getBookSubtree($link, static::BOOK_MAX_DEPTH);
+        $query = db_select('book', 'b', array('fetch' => \PDO::FETCH_ASSOC));
+        $query->fields('b');
+        $query->condition('b.bid', $link['bid']);
+        for ($i = 1; $i <= static::BOOK_MAX_DEPTH && $link["p$i"]; ++$i) {
+          $query->condition("p$i", $link["p$i"]);
+        }
+        for ($i = 1; $i <= static::BOOK_MAX_DEPTH; ++$i) {
+          $query->orderBy("p$i");
+        }
         $links = array();
-        foreach ($result as $item) {
+        foreach ($query->execute() as $item) {
           $links[] = $item;
         }
         $data['tree'] = $this->buildBookOutlineData($links, array(), $link['depth']);
diff --git a/core/modules/book/src/BookStorage.php b/core/modules/book/src/BookStorage.php
deleted file mode 100644
index 621932c..0000000
--- a/core/modules/book/src/BookStorage.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-
-/**
- * @file
- * Definition of Drupal\book\BookStorage.
- */
-
-namespace Drupal\book;
-
-use Drupal\Core\Database\Connection;
-
-/**
- * Defines a storage class for books.
- */
-class BookStorage implements BookStorageInterface {
-
-  /**
-   * Database Service Object.
-   *
-   * @var \Drupal\Core\Database\Connection
-   */
-  protected $connection;
-
-  /**
-   * Constructs a BookStorage object.
-   */
-  public function __construct(Connection $connection) {
-    $this->connection = $connection;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getBooks() {
-    return $this->connection->query("SELECT DISTINCT(bid) FROM {book}")->fetchCol();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function loadMultiple($nids) {
-    $query = $this->connection->select('book', 'b', array('fetch' => \PDO::FETCH_ASSOC));
-    $query->fields('b');
-    $query->condition('b.nid', $nids);
-    $query->addTag('node_access');
-    $query->addMetaData('base_table', 'book');
-    return $query->execute();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getChildRelativeDepth($book_link, $max_depth) {
-    $query = $this->connection->select('book');
-    $query->addField('book', 'depth');
-    $query->condition('bid', $book_link['bid']);
-    $query->orderBy('depth', 'DESC');
-    $query->range(0, 1);
-
-    $i = 1;
-    $p = 'p1';
-    while ($i <= $max_depth && $book_link[$p]) {
-      $query->condition($p, $book_link[$p]);
-      $p = 'p' . ++$i;
-    }
-
-    return $query->execute()->fetchField();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function delete($nid) {
-    return $this->connection->delete('book')
-      ->condition('nid', $nid)
-      ->execute();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function loadBookChildren($pid) {
-    return $this->connection
-      ->query("SELECT * FROM {book} WHERE pid = :pid", array(':pid' => $pid))
-      ->fetchAllAssoc('nid', \PDO::FETCH_ASSOC);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getBookMenuTree($bid, $parameters, $min_depth, $max_depth) {
-    $query = $this->connection->select('book');
-    $query->fields('book');
-    for ($i = 1; $i <= $max_depth; $i++) {
-      $query->orderBy('p' . $i, 'ASC');
-    }
-    $query->condition('bid', $bid);
-    if (!empty($parameters['expanded'])) {
-      $query->condition('pid', $parameters['expanded'], 'IN');
-    }
-    if ($min_depth != 1) {
-      $query->condition('depth', $min_depth, '>=');
-    }
-    if (isset($parameters['max_depth'])) {
-      $query->condition('depth', $parameters['max_depth'], '<=');
-    }
-    // Add custom query conditions, if any were passed.
-    if (isset($parameters['conditions'])) {
-      foreach ($parameters['conditions'] as $column => $value) {
-        $query->condition($column, $value);
-      }
-    }
-
-    return $query->execute();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function insert($link, $parents) {
-    return $this->connection
-      ->insert('book')
-      ->fields(array(
-        'nid' => $link['nid'],
-        'bid' => $link['bid'],
-        'pid' => $link['pid'],
-        'weight' => $link['weight'],
-        ) + $parents
-      )
-      ->execute();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function update($nid, $fields) {
-    return $this->connection
-      ->update('book')
-      ->fields($fields)
-      ->condition('nid', $nid)
-      ->execute();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function updateMovedChildren($bid, $original, $expressions, $shift) {
-    $query = $this->connection->update('book');
-    $query->fields(array('bid' => $bid));
-
-    foreach ($expressions as $expression) {
-      $query->expression($expression[0], $expression[1], $expression[2]);
-    }
-
-    $query->expression('depth', 'depth + :depth', array(':depth' => $shift));
-    $query->condition('bid', $original['bid']);
-    $p = 'p1';
-    for ($i = 1; !empty($original[$p]); $p = 'p' . ++$i) {
-      $query->condition($p, $original[$p]);
-    }
-
-    return $query->execute();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function countOriginalLinkChildren($original) {
-    return $this->connection->select('book', 'b')
-      ->condition('bid', $original['bid'])
-      ->condition('pid', $original['pid'])
-      ->condition('nid', $original['nid'], '<>')
-      ->countQuery()
-      ->execute()->fetchField();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getBookSubtree($link, $max_depth) {
-    $query = db_select('book', 'b', array('fetch' => \PDO::FETCH_ASSOC));
-    $query->fields('b');
-    $query->condition('b.bid', $link['bid']);
-
-    for ($i = 1; $i <= $max_depth && $link["p$i"]; ++$i) {
-      $query->condition("p$i", $link["p$i"]);
-    }
-    for ($i = 1; $i <= $max_depth; ++$i) {
-      $query->orderBy("p$i");
-    }
-    return $query->execute();
-  }
-}
diff --git a/core/modules/book/src/BookStorageInterface.php b/core/modules/book/src/BookStorageInterface.php
deleted file mode 100644
index aa83c0d..0000000
--- a/core/modules/book/src/BookStorageInterface.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\book\BookStorageInterface.
-*/
-
-namespace Drupal\book;
-
-/**
- * Defines a common interface for book storage classes.
- */
-interface BookStorageInterface {
-
-  /**
-   * Gets books (the highest positioned book links).
-   *
-   * @return array
-   *   An array of book ids.
-   */
-  public function getBooks();
-
-  /**
-   * Loads books.
-   *
-   * @param array $nids
-   *   An array of nids.
-   *
-   * @return array
-   *   Array of loaded book items.
-   */
-  public function loadMultiple($nids);
-
-  /**
-   * Gets child relative depth.
-   *
-   * @param array $book_link
-   *   The book link.
-   *
-   * @param int|string $max_depth
-   *   The maximum supported depth of the book tree.
-   *
-   * @return int
-   *   The depth of the searched book.
-   */
-  public function getChildRelativeDepth($book_link, $max_depth);
-
-  /**
-   * Deletes a book entry.
-   *
-   * @param int|string $nid
-   *   Deletes a book entry.
-   *
-   * @return mixed
-   *   Number of deleted book entires.
-   */
-  public function delete($nid);
-
-  /**
-   * Loads book's children using it's parent's id.
-   *
-   * @param int|string $pid
-   *   The parent's book nid.
-   *
-   * @return array
-   *   Array of loaded book items.
-   */
-  public function loadBookChildren($pid);
-
-  /**
-   * Builds tree data used for the menu tree.
-   *
-   * @param int|string $bid
-   *   The ID of the book that we are building the tree for.
-   * @param array $parameters
-   *   An associative array of build parameters. For info about individual
-   *   parameters see BookManager::bookTreeBuild().
-   * @param int $min_depth
-   *   The minimum depth of book links in the resulting tree.
-   * @param int $max_depth
-   *   The maximum supported depth of the book tree.
-   *
-   * @return array
-   *   Array of loaded book links.
-   */
-  public function getBookMenuTree($bid, $parameters, $min_depth, $max_depth);
-
-  /**
-   * Inserts a book link.
-   *
-   * @param array $link
-   *   The link array to be inserted in the database.
-   * @param array $parents
-   *   The array of parent ids for the link to be inserted.
-   *
-   * @return mixed
-   *   The last insert ID of the query, if one exists.
-   */
-  public function insert($link, $parents);
-
-
-  /**
-   * Updates book reference for links that were moved between books.
-   *
-   * @param int|string $nid
-   *   The nid of the book entry to be updated.
-   * @param array $fields
-   *   The array of fields to be updated.
-   *
-   * @return mixed
-   *   The number of rows matched by the update query.
-   */
-  public function update($nid, $fields);
-
-  /**
-   * Update the book id of the book link that it's beeing moved.
-   *
-   * @param int|string $bid
-   *   The ID of the book whose children we move.
-   * @param array $original
-   *   The original parent of the book link.
-   * @param array $expressions
-   *   Array of expressions to be added to the query.
-   * @param int $shift
-   *   The difference in depth between the old and the new position of the
-   *   element being moved.
-   *
-   * @return mixed
-   *   The number of rows matched by the update query.
-   */
-  public function updateMovedChildren($bid, $original, $expressions, $shift);
-
-  /**
-   * Count the number of original link children.
-   *
-   * @param array $original
-   *   The book link array.
-   *
-   * @return int
-   *   Number of children.
-   */
-  public function countOriginalLinkChildren($original);
-
-  /**
-   * Get book subtree.
-   *
-   * @param array $link
-   *   A fully loaded book link.
-   * @param int $max_depth
-   *   The maximum supported depth of the book tree.
-   *
-   * @return array
-   *   Array of unordered subtree book items.
-   */
-  public function getBookSubtree($link, $max_depth);
-}
diff --git a/core/modules/book/src/Plugin/Block/BookNavigationBlock.php b/core/modules/book/src/Plugin/Block/BookNavigationBlock.php
index d9bcdaf..5e85d99 100644
--- a/core/modules/book/src/Plugin/Block/BookNavigationBlock.php
+++ b/core/modules/book/src/Plugin/Block/BookNavigationBlock.php
@@ -148,9 +148,11 @@ public function build() {
     }
     elseif ($current_bid) {
       // Only display this block when the user is browsing a book.
-      $query = \Drupal::entityQuery('node');
-      $nid = $query->condition('nid', $node->book['bid'], '=')->execute();
-
+      $select = db_select('node', 'n')
+        ->fields('n', array('nid'))
+        ->condition('n.nid', $node->book['bid'])
+        ->addTag('node_access');
+      $nid = $select->execute()->fetchField();
       // Only show the block if the user has view access for the top-level node.
       if ($nid) {
         $tree = $this->bookManager->bookTreeAllData($node->book['bid'], $node->book);
diff --git a/core/modules/book/tests/src/BookManagerTest.php b/core/modules/book/tests/src/BookManagerTest.php
index a7e0964..4abf063 100644
--- a/core/modules/book/tests/src/BookManagerTest.php
+++ b/core/modules/book/tests/src/BookManagerTest.php
@@ -52,13 +52,6 @@ class BookManagerTest extends UnitTestCase {
   protected $bookManager;
 
   /**
-   * Book Storage.
-   *
-   * @var \Drupal\book\BookStorageInterface
-   */
-  protected $bookStorage;
-
-  /**
    * {@inheritdoc}
    */
   protected function setUp() {
@@ -68,8 +61,7 @@ protected function setUp() {
     $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
     $this->translation = $this->getStringTranslationStub();
     $this->configFactory = $this->getConfigFactoryStub(array());
-    $this->bookStorage = $this->getMock('Drupal\book\BookStorageInterface');
-    $this->bookManager = new BookManager($this->connection, $this->entityManager, $this->translation, $this->configFactory, $this->bookStorage);
+    $this->bookManager = new BookManager($this->connection, $this->entityManager, $this->translation, $this->configFactory);
   }
 
   /**
diff --git a/sites/sites.php b/sites/sites.php
deleted file mode 100644
index 2a813dd..0000000
--- a/sites/sites.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/**
- * @file
- * Configuration file for multi-site support and directory aliasing feature.
- *
- * This file is required for multi-site support and also allows you to define a
- * set of aliases that map hostnames, ports, and pathnames to configuration
- * directories in the sites directory. These aliases are loaded prior to
- * scanning for directories, and they are exempt from the normal discovery
- * rules. See default.settings.php to view how Drupal discovers the
- * configuration directory when no alias is found.
- *
- * Aliases are useful on development servers, where the domain name may not be
- * the same as the domain of the live server. Since Drupal stores file paths in
- * the database (files, system table, etc.) this will ensure the paths are
- * correct when the site is deployed to a live server.
- *
- * To activate this feature, copy and rename it such that its path plus
- * filename is 'sites/sites.php'.
- *
- * Aliases are defined in an associative array named $sites. The array is
- * written in the format: '<port>.<domain>.<path>' => 'directory'. As an
- * example, to map http://www.drupal.org:8080/mysite/test to the configuration
- * directory sites/example.com, the array should be defined as:
- * @code
- * $sites = array(
- *   '8080.www.drupal.org.mysite.test' => 'example.com',
- * );
- * @endcode
- * The URL, http://www.drupal.org:8080/mysite/test/, could be a symbolic link or
- * an Apache Alias directive that points to the Drupal root containing
- * index.php. An alias could also be created for a subdomain. See the
- * @link http://drupal.org/documentation/install online Drupal installation guide @endlink
- * for more information on setting up domains, subdomains, and subdirectories.
- *
- * The following examples look for a site configuration in sites/example.com:
- * @code
- * URL: http://dev.drupal.org
- * $sites['dev.drupal.org'] = 'example.com';
- *
- * URL: http://localhost/example
- * $sites['localhost.example'] = 'example.com';
- *
- * URL: http://localhost:8080/example
- * $sites['8080.localhost.example'] = 'example.com';
- *
- * URL: http://www.drupal.org:8080/mysite/test/
- * $sites['8080.www.drupal.org.mysite.test'] = 'example.com';
- * @endcode
- *
- * @see default.settings.php
- * @see conf_path()
- * @see http://drupal.org/documentation/install/multi-site
- */
