diff --git a/fid_bbi/config/vufind/config.ini b/fid_bbi/config/vufind/config.ini
index d44633a48ddd96848922fe12f1d6954b74267388..e9f17a37152d3201ba21577ab4bf7ad70052df47 100644
--- a/fid_bbi/config/vufind/config.ini
+++ b/fid_bbi/config/vufind/config.ini
@@ -42,6 +42,8 @@ hideHoldingsTabWhenEmpty = true
 offcanvas = true
 showBookBag = true
 defaultLoggedInModule = Search
+; enables admin mode, restricted by acces.AdminModule see permissions.ini
+admin_enabled=true
 
 [Http]
 ; Pfad zu SSL-Zertifikaten in der docker-VM (global für CentOS konfiguriert)
diff --git a/fid_bbi/config/vufind/permissions.ini b/fid_bbi/config/vufind/permissions.ini
index 9fb4b2875b4826e2129f3f60b72991f0eaf03ca7..a74f682e3e69a8a6ecd072cc8607d2eca3f494b7 100644
--- a/fid_bbi/config/vufind/permissions.ini
+++ b/fid_bbi/config/vufind/permissions.ini
@@ -22,4 +22,9 @@ relative_path = ../../../fid/config/vufind/permissions.ini
 
 ;[default.OffCampusSourceIds]
 ;IpRegExFoFor = "/(141\.46.*)/"
-;permission = OffCampusSourceIds
\ No newline at end of file
+;permission = OffCampusSourceIds
+
+[access.AdminModule]
+role[] = loggedin
+FidApiPermission[] = edit_user
+permission = access.AdminModule
\ No newline at end of file
diff --git a/fid_bbi/languages/de.ini b/fid_bbi/languages/de.ini
index 59cbed73bf899f1fb6395ff0fcc91ac5a2d0e012..d476eedf797a3fd50ae0c21f710a17173553c57b 100644
--- a/fid_bbi/languages/de.ini
+++ b/fid_bbi/languages/de.ini
@@ -458,7 +458,12 @@ tags_browse = "Tags aller Nutzenden durchstöbern"
 #17356
 currently_on_list = "Zur Zeit in Liste ''%%list_name%%''"
 delete_from_list = "Aus Liste ''%%list_name%%'' löschen"
-add_tag_description = "Helfen Sie anderen bei der Bewertung dieses Titels, indem Sie möglichst passende Tags vergeben."
+add_tag_description = "Helfen Sie anderen bei der Bewertung dieses Titels, indem Sie möglichst passende Tags vergeben. Ihr Tag wird nach einer Woche öffentlich sichtbar."
+
+#17834
+show_tags_sorted_by_date = "Neueste zuerst anzeigen"
+Be the first to tag this record = "Fügen Sie einen Tag hinzu"
+add_tag_success = "Tags gespeichert. Beachten Sie, dass Tags nach einer Woche öffentlich sichtbar werden."
 
 #16903
 Open Access = Kostenfrei Zugänglich
diff --git a/fid_bbi/languages/en.ini b/fid_bbi/languages/en.ini
index 1f383367a859ed6f50409f3356ca8eba2ee7cf2d..c8a1b7d8fa2aa3763a1c02a66c168be0884baf9a 100644
--- a/fid_bbi/languages/en.ini
+++ b/fid_bbi/languages/en.ini
@@ -451,7 +451,12 @@ tags_browse = "Browse all user's tags"
 #17356
 currently_on_list = "currently on list ''%%list_name%%''"
 delete_from_list = "Remove from list ''%%list_name%%''"
-add_tag_description = "Help others to rate this title by assigning appropriate tags."
+add_tag_description = "Help others to rate this title by assigning appropriate tags. Your tag will become publicly visible after one week."
+
+#17834
+show_tags_sorted_by_date = "Order by date (newest first)"
+Be the first to tag this record = Tag this Record
+add_tag_success = "Tags saved. Please remember that tags will be publicly visible within one week."
 
 #16903
 Open Access = Free Access
diff --git a/module/fid_bbi/config/module.config.php b/module/fid_bbi/config/module.config.php
index bb88f25d16debfa6b63c32772087f3bbedb1f7f5..cd923219347bfbaf45cd31d8c9cb21f7ecca7afe 100644
--- a/module/fid_bbi/config/module.config.php
+++ b/module/fid_bbi/config/module.config.php
@@ -24,7 +24,7 @@
 use VuFind\Db\Table\Tags as BaseTagsTable;
 use fid_bbi\Db\Table\Tags as BBITagsTable;
 use VuFind\Db\Row\Tags as BaseTagsRow;
-use VuFind\Db\Table\GatewayFactory as TableGatewayFactory;
+use VuFind\Db\Table\CaseSensitiveTagsFactory;
 
 $config = [
     'forms'       => [
@@ -81,14 +81,17 @@ $config = [
             'db_table'          => [
                 'aliases'    => [
                     BaseTagsTable::class => BBITagsTable::class,
+                    'VuFind\Db\Table\ResourceTags' => 'fid_bbi\Db\Table\ResourceTags'
                 ],
                 'factories'  => [
-                    BBITagsTable::class => TableGatewayFactory::class,
+                    BBITagsTable::class => CaseSensitiveTagsFactory::class,
+                    'fid_bbi\Db\Table\ResourceTags' => CaseSensitiveTagsFactory::class
                 ]
             ],
             'db_row'            => [
                 'aliases'    => [
                     'fid_bbi\Db\Row\Tags' => BaseTagsRow::class,
+                    'fid_bbi\Db\Row\ResourceTags' => 'VuFind\Db\Row\ResourceTags'
                 ]
             ]
         ],
diff --git a/module/fid_bbi/src/fid_bbi/Controller/BrowseController.php b/module/fid_bbi/src/fid_bbi/Controller/BrowseController.php
index 43a0c6a29eb13bb2355d14ab277cc487c7f9a073..244d3f16579232a10521857b3e3e19560fd20f61 100644
--- a/module/fid_bbi/src/fid_bbi/Controller/BrowseController.php
+++ b/module/fid_bbi/src/fid_bbi/Controller/BrowseController.php
@@ -75,7 +75,10 @@ class BrowseController extends BaseController
             // Default case: always display tag list for non-alphabetical modes:
             $tagList = $tagTable->getTagList(
                 $params['findby'],
-                $this->config->Browse->result_limit
+                $this->config->Browse->result_limit,
+                function ($select) {
+                    $select->where->lessThan('resource_tags.posted',date('Y-m-d H:i:s', strtotime("-7 days")));
+                }
             );
             $resultList = [];
             foreach ($tagList as $i => $tag) {
diff --git a/module/fid_bbi/src/fid_bbi/Db/Table/ResourceTags.php b/module/fid_bbi/src/fid_bbi/Db/Table/ResourceTags.php
new file mode 100644
index 0000000000000000000000000000000000000000..40262f82c6db89d7c46c5ac06bfac45145e7ef07
--- /dev/null
+++ b/module/fid_bbi/src/fid_bbi/Db/Table/ResourceTags.php
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Table Definition for resource_tags
+ *
+ * PHP version 7
+ *
+ * Copyright (C) Villanova University 2010.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * @category VuFind
+ * @package  Db_Table
+ * @author   Demian Katz <demian.katz@villanova.edu>
+ * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
+ * @link     https://vufind.org Main Site
+ */
+namespace fid_bbi\Db\Table;
+
+use VuFind\Db\Table\ResourceTags as BaseTable;
+use Zend\Db\Adapter\Adapter;
+use Zend\Db\Sql\Expression;
+use Zend\Db\Sql\Sql;
+
+/**
+ * Table Definition for resource_tags
+ *
+ * @category VuFind
+ * @package  Db_Table
+ * @author   Demian Katz <demian.katz@villanova.edu>
+ * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
+ * @link     https://vufind.org Main Site
+ */
+class ResourceTags extends BaseTable
+{
+    use ResourceTagsTrait;
+
+    /**
+     * Get Resource Tags
+     *
+     * @param string $userId     ID of user
+     * @param string $resourceId ID of the resource
+     * @param string $tagId      ID of the tag
+     * @param string $order      The order in which to return the data
+     * @param string $page       The page number to select
+     * @param string $limit      The number of items to fetch
+     *
+     * @return \Zend\Paginator\Paginator
+     */
+    public function getResourceTags(
+        $userId = null, $resourceId = null, $tagId = null,
+        $order = null, $page = null, $limit = 20
+    ) {
+        $order = (null !== $order)
+            ? [$order]
+            : ["username", "tag", "title"];
+
+        $sql = $this->getSql();
+        $select = $sql->select();
+        $select = $select->columns([
+            '*',
+            'first_posted' => new Expression(
+                'MIN(?)',['posted'],
+                [Expression::TYPE_IDENTIFIER]
+            )
+        ]);
+        $select->join(
+            ['t' => 'tags'],
+            'resource_tags.tag_id = t.id',
+            [
+                'tag' =>
+                    $this->caseSensitive ? 'tag' : new Expression('lower(tag)')
+            ]
+        );
+        $select->join(
+            ['u' => 'user'],
+            'resource_tags.user_id = u.id',
+            ["username" => "username"]
+        );
+        $select->join(
+            ['r' => 'resource'],
+            'resource_tags.resource_id = r.id',
+            ["title" => "title"]
+        );
+        if (null !== $userId) {
+            $select->where->equalTo('resource_tags.user_id', $userId);
+        }
+        if (null !== $resourceId) {
+            $select->where->equalTo('resource_tags.resource_id', $resourceId);
+        }
+        if (null !== $tagId) {
+            $select->where->equalTo('resource_tags.tag_id', $tagId);
+        }
+        $select->order($this->formatTagOrder($order));
+
+        if (null !== $page) {
+            $select->limit($limit);
+            $select->offset($limit * ($page - 1));
+        }
+
+        $select->group(['tag_id']);
+
+        $adapter = new \Zend\Paginator\Adapter\DbSelect($select, $sql);
+        $paginator = new \Zend\Paginator\Paginator($adapter);
+        $paginator->setItemCountPerPage($limit);
+        if (null !== $page) {
+            $paginator->setCurrentPageNumber($page);
+        }
+        return $paginator;
+    }
+}
diff --git a/module/fid_bbi/src/fid_bbi/Db/Table/ResourceTagsTrait.php b/module/fid_bbi/src/fid_bbi/Db/Table/ResourceTagsTrait.php
new file mode 100644
index 0000000000000000000000000000000000000000..728740aad6c6760ca14b0aec68299370c52292a6
--- /dev/null
+++ b/module/fid_bbi/src/fid_bbi/Db/Table/ResourceTagsTrait.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace fid_bbi\Db\Table;
+
+use  Zend\Db\Sql\Select,
+     Zend\Db\Sql\Expression;
+
+trait ResourceTagsTrait
+{
+
+    /**
+     * Get a subquery used for determining first post date of a tag.
+     *
+     * @return Select
+     */
+    protected function getFirstPostedSubquery()
+    {
+        $sub = new Select('resource_tags');
+        $sub->columns(
+            [
+                'tag_id',
+                'first_posted' => new Expression('MIN(?)', ['posted'], [Expression::TYPE_IDENTIFIER])
+            ]
+        );
+        $sub->group(['tag_id']);
+        return $sub;
+    }
+
+    protected function addFirstPosted($select,$olderThan=true,$age = "7 days",$resourceTagsTableName = 'rt') {
+
+        $select->join(
+            ['first' => $this->getFirstPostedSubquery()],
+            $resourceTagsTableName.'.tag_id = first.tag_id',
+            [],
+            Select::JOIN_INNER
+        );
+        if ($olderThan) {
+            $select->where->lessThan(
+                'first.first_posted',
+                date('Y-m-d H:i:s', strtotime("-" . $age))
+            );
+        } else {
+            // otherwise we look for younger entries
+            $select->where->greaterThan(
+                'first.first_posted',
+                date('Y-m-d H:i:s', strtotime("-" . $age))
+            );
+        }
+    }
+}
\ No newline at end of file
diff --git a/module/fid_bbi/src/fid_bbi/Db/Table/Tags.php b/module/fid_bbi/src/fid_bbi/Db/Table/Tags.php
index d25c455f95215a9dabd997527069c2c207ab6db4..f08117adf55e2ef557a2f1c548fe0ac092e85c9a 100644
--- a/module/fid_bbi/src/fid_bbi/Db/Table/Tags.php
+++ b/module/fid_bbi/src/fid_bbi/Db/Table/Tags.php
@@ -29,6 +29,7 @@ namespace fid_bbi\Db\Table;
 
 use VuFind\Db\Table\Tags as BaseTags;
 use Zend\Db\Sql\Expression;
+use Zend\Db\Sql\Select;
 
 /**
  * Table Definition for tags
@@ -41,6 +42,8 @@ use Zend\Db\Sql\Expression;
  */
 class Tags extends BaseTags
 {
+    use ResourceTagsTrait;
+
     /**
      * Get a list of all tags generated by the user in favorites lists.  Note that
      * the returned list WILL NOT include tags attached to records that are not
@@ -163,4 +166,91 @@ class Tags extends BaseTags
         };
         return $this->select($callback);
     }
+
+    /**
+     * Get tags associated with the specified resource.
+     *
+     * @param string $id          Record ID to look up
+     * @param string $source      Source of record to look up
+     * @param int    $limit       Max. number of tags to return (0 = no limit)
+     * @param int    $list        ID of list to load tags from (null for no
+     * restriction,  true for on ANY list, false for on NO list)
+     * @param int    $user        ID of user to load tags from (null for all users)
+     * @param string $sort        Sort type ('count' or 'tag')
+     * @param int    $userToCheck ID of user to check for ownership (this will
+     * not filter the result list, but rows owned by this user will have an is_me
+     * column set to 1)
+     *
+     * @return Iterable
+     */
+    public function getForResource($id, $source = DEFAULT_SEARCH_BACKEND, $limit = 0,
+                                   $list = null, $user = null, $sort = 'count', $userToCheck = null
+    ) {
+        return $this->select(
+            function ($select) use (
+                $id, $source, $limit, $list, $user, $sort, $userToCheck
+            ) {
+                // If we're looking for ownership, create sub query to merge in
+                // an "is_me" flag value if the selected resource is tagged by
+                // the specified user.
+                if (!empty($userToCheck)) {
+                    $subq = $this->getIsMeSubquery($id, $source, $userToCheck);
+                    $select->join(
+                        ['subq' => $subq],
+                        'tags.id = subq.tag_id',
+                        [
+                            // is_me will either be null (not owned) or the ID
+                            // of the tag (owned by the current user).
+                            'is_me' => new Expression(
+                                'MAX(?)', ['subq.tag_id'],
+                                [Expression::TYPE_IDENTIFIER]
+                            )
+                        ],
+                        Select::JOIN_LEFT
+                    );
+                }
+                // SELECT (do not add table prefixes)
+                $select->columns(
+                    [
+                        'id',
+                        'tag' => $this->caseSensitive
+                            ? 'tag' : new Expression('lower(tag)'),
+                        'cnt' => new Expression(
+                            'COUNT(DISTINCT(?))', ["rt.user_id"],
+                            [Expression::TYPE_IDENTIFIER]
+                        )
+                    ]
+                );
+                $select->join(
+                    ['rt' => 'resource_tags'], 'rt.tag_id = tags.id', []
+                );
+                $select->join(
+                    ['r' => 'resource'], 'rt.resource_id = r.id', []
+                );
+                $select->where(['r.record_id' => $id, 'r.source' => $source]);
+                $select->group(['tags.id', 'tag']);
+
+                if ($sort == 'count') {
+                    $select->order(['cnt DESC', new Expression('lower(tags.tag)')]);
+                } elseif ($sort == 'tag') {
+                    $select->order([new Expression('lower(tags.tag)')]);
+                }
+
+                if ($limit > 0) {
+                    $select->limit($limit);
+                }
+                if ($list === true) {
+                    $select->where->isNotNull('rt.list_id');
+                } elseif ($list === false) {
+                    $select->where->isNull('rt.list_id');
+                } elseif (null !== $list) {
+                    $select->where->equalTo('rt.list_id', $list);
+                }
+                if (null !== $user) {
+                    $select->where->equalTo('rt.user_id', $user);
+                }
+                $this->addFirstPosted($select);
+            }
+        );
+    }
 }
diff --git a/themes/fid_bbi/scss/compiled.scss b/themes/fid_bbi/scss/compiled.scss
index a52d41f4c19900eadc84f4d5a5c029e4997b11b0..bcb508139d88c02b4553cdcc9765740e7a94aa68 100644
--- a/themes/fid_bbi/scss/compiled.scss
+++ b/themes/fid_bbi/scss/compiled.scss
@@ -111,6 +111,10 @@ body {
   }
 }
 
+.admin.nav {
+  background-color: $brand-primary-light;
+}
+
 #header-collapse {
   flex: 1 1;
 
@@ -691,6 +695,10 @@ tr.hline {
   margin-left: 1rem;
 }
 
+.form-tags-list .tags-list-link {
+  font-size: larger;
+}
+
 .list-edit-container {
   fieldset.list-edit-group {
     border: none;
diff --git a/themes/fid_bbi/templates/admin/tags/list.phtml b/themes/fid_bbi/templates/admin/tags/list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0a87032d11fea0b796806487f3633027dbfba061
--- /dev/null
+++ b/themes/fid_bbi/templates/admin/tags/list.phtml
@@ -0,0 +1,113 @@
+<!-- fid_bbi: admin - tags - list -->
+<?php /*
+ this is largely copied from bootstrap3 theme
+ only difference is an added link for the list sorted by date
+ */ ?>
+<?php
+  // Set page title.
+  $this->headTitle($this->translate('VuFind Administration - Tag Management'));
+?>
+
+<h2><?=$this->translate('Tag Management')?></h2>
+<div class="<?=$this->layoutClass('mainbody')?>">
+  <h3><?=$this->translate('List Tags')?></h3>
+
+  <?=$this->render("admin/tags/menu.phtml", ['active' => 'list'])?>
+
+  <?=$this->flashmessages()?>
+
+  <form class="form-tags-list" action="<?= $this->url('admin/tags', ['action' => 'List'])?>" method="get">
+    <h3><?=$this->translate('filter_tags')?></h3>
+    <div class="tag-controls">
+      <label for="user_id">
+        <?=$this->translate('Username')?>
+        <select name="user_id" id="user_id" class="form-control">
+          <option value="ALL"><?=$this->translate('All')?></option>
+          <?php foreach($this->uniqueUsers as $user):?>
+            <option value="<?= $user['user_id'] ?>"<?php if(isset($this->params['user_id']) && $user['user_id'] == $this->params['user_id']): ?> selected="selected"<?php endif;?>>
+              <?=$user['username'] ?>
+            </option>
+          <?php endforeach;?>
+        </select>
+      </label>
+      <label for="tag_id">
+        <?=$this->translate('Tag')?>
+        <select name="tag_id" id="tag_id" class="form-control">
+          <option value="ALL"><?=$this->translate('All')?></option>
+          <?php foreach($this->uniqueTags as $tag):?>
+          <option value="<?= $tag['tag_id'] ?>"<?php if(isset($this->params['tag_id']) && $tag['tag_id'] == $this->params['tag_id']): ?> selected="selected"<?php endif;?>>
+              <?=$tag['tag'] ?>
+          </option>
+          <?php endforeach;?>
+        </select>
+      </label>
+      <label for="resource_id">
+        <?=$this->translate('Title')?>
+        <select name="resource_id" id="resource_id" class="form-control">
+          <option value="ALL"><?=$this->translate('All')?></option>
+          <?php foreach($this->uniqueResources as $resource):?>
+          <option value="<?= $resource['resource_id']; ?>" title="<?=$resource['title'] ?>"<?php if(isset($this->params['resource_id']) && $resource['resource_id'] == $this->params['resource_id']): ?> selected="selected"<?php endif;?>>
+              <?=$this->truncate($resource['title'], 80) ?> (<?=$resource['resource_id'] ?>)
+          </option>
+          <?php endforeach;?>
+        </select>
+      </label>
+      <label for="taglistsubmit">
+        <input type="submit" id="taglistsubmit" value="<?=$this->transEsc('Filter')?>" class="btn btn-primary">
+        <?php if((isset($this->params['user_id']) && null !== $this->params['user_id']) || (isset($this->params['tag_id']) && null !== $this->params['tag_id']) || (isset($this->params['resource_id']) && null !== $this->params['resource_id'])):?>
+          <a href="<?= $this->url('admin/tags', ['action' => 'List']); ?>"><?=$this->translate('clear_tag_filter')?></a>
+        <?php endif;?>
+      </label>
+    </div>
+    <?php /* fid-bbi-specifics start */?>
+    <span class="tags-list-link"><a href="<?=$this->url('admin/tags', ['action' => 'List'],['query'=>['order' => 'first_posted DESC']])?>"><?=$this->transEsc('show_tags_sorted_by_date')?></a></span>
+    <?php /* fid-bbi-specifics end */?>
+  </form>
+
+  <?php if(count($this->results) > 0):?>
+    <form action="<?= $this->url('admin/tags', ['action' => 'Delete'])?>" method="post">
+      <input type="hidden" name="user_id" value="<?=isset($this->params['user_id']) ? $this->params['user_id'] : '' ?>" />
+      <input type="hidden" name="tag_id" value="<?=isset($this->params['tag_id']) ? $this->params['tag_id'] : '' ?>" />
+      <input type="hidden" name="resource_id" value="<?=isset($this->params['resource_id']) ? $this->params['resource_id'] : '' ?>" />
+      <input type="hidden" name="origin" value="list" />
+
+      <table class="table table-striped">
+        <tr>
+          <th><?=$this->translate('Tag')?></th>
+          <th><?=$this->translate('Username')?> (<?=$this->translate('User ID')?>)</th>
+          <th><?=$this->translate('Title')?> (<?=$this->translate('Resource ID')?>)</th>
+          <th><?=$this->translate('Date')?></th>
+        </tr>
+
+        <?php foreach ($this->results as $tag): ?>
+          <tr>
+            <td>
+              <label for="<?=$this->prefix?>checkbox_<?=$tag['id']?>">
+                <input id="<?=$this->prefix?>checkbox_<?=$tag['id']?>" type="checkbox" name="ids[]" value="<?=$this->escapeHtmlAttr($tag['id'])?>" class="checkbox_ui"/>
+                <input type="hidden" name="idsAll[]" value="<?=$this->escapeHtmlAttr($tag['id'])?>" />
+                <?=$tag->tag?> (<?= $tag->tag_id?>)
+              </label>
+            </td>
+              <?php $arr = (array)$tag;?>
+            <td><?=$tag->username ?> (<?= $tag->user_id?>)</td>
+            <td><?=$tag->title?> (<?= $tag->resource_id?>)</td>
+            <td><?=$tag->first_posted?></td>
+          </tr>
+        <?php endforeach;?>
+      </table>
+
+      <input type="submit" name="deleteSelected" value="<?=$this->transEsc('delete_selected')?>" class="btn btn-default">
+      <input type="submit" name="deletePage" value="<?=$this->transEsc('delete_page')?>" class="btn btn-default">
+      <input type="submit" name="deleteFilter" value="<?=$this->transEsc('delete_all')?>" class="btn btn-danger">
+
+    </form>
+    <?=$this->paginationControl($this->results, 'Sliding', 'Helpers/pagination.phtml', ['params' => $this->params])?>
+  <?php else:?>
+    <p><?=$this->translate('tag_filter_empty')?></p>
+  <?php endif;?>
+</div>
+
+<div class="<?=$this->layoutClass('sidebar')?>">
+  <?=$this->render("admin/menu.phtml")?>
+</div>
+<!-- fid_bbi: admin - tags - list - END -->
\ No newline at end of file
diff --git a/themes/fid_bbi/templates/admin/tags/menu.phtml b/themes/fid_bbi/templates/admin/tags/menu.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b7c35be0fdad7609bdbd1e7939b142378c7a61ea
--- /dev/null
+++ b/themes/fid_bbi/templates/admin/tags/menu.phtml
@@ -0,0 +1,9 @@
+<!-- fid_bbi: admin - tags - menu -->
+<?php /* we only needed to copy this to add the admin class and recolor the navbar */?>
+<div class="admin nav navbar">
+  <ul class="nav nav-pills">
+    <li<?=strtolower($this->active) == "list" ? ' class="active"' : ''?>><a href="<?=$this->url('admin/tags', ['action' => 'List'])?>"><?=$this->transEsc('List Tags')?></a></li>
+    <li<?=strtolower($this->active) == "manage" ? ' class="active"' : ''?>><a href="<?=$this->url('admin/tags', ['action' => 'Manage'])?>"><?=$this->transEsc('Manage Tags')?></a></li>
+  </ul>
+</div>
+<!-- fid_bbi: admin - tags - menu - END -->
\ No newline at end of file
diff --git a/themes/fid_bbi/templates/footer.phtml b/themes/fid_bbi/templates/footer.phtml
index 32f8977132b877eeb939d80e2070f4c3a383caef..7a666c505a8d9522ec50b3e483244e62448f631f 100644
--- a/themes/fid_bbi/templates/footer.phtml
+++ b/themes/fid_bbi/templates/footer.phtml
@@ -29,6 +29,7 @@
           <div class="footer-column">
               <p><strong><?=$this->transEsc('fid::admin_section')?></strong></p>
               <p><a href="<?=$this->url('fid/admin/list')?>"><?=$this->transEsc('fid::permission_read_user_list')?></a></p>
+              <p><a href="<?=$this->url('admin/tags', ['action' => 'List'])?>"><?=$this->transEsc('Tag Management')?></a></p>
           </div>
       <?php endif; ?>
   </div>
diff --git a/themes/fid_bbi/templates/myresearch/menu.phtml b/themes/fid_bbi/templates/myresearch/menu.phtml
index d885a2f3a67ff8bb35575459f5a9d439527b6946..016abdce16c3b8936f845c44248fec586aa1bb68 100644
--- a/themes/fid_bbi/templates/myresearch/menu.phtml
+++ b/themes/fid_bbi/templates/myresearch/menu.phtml
@@ -102,6 +102,9 @@
   <div class="myresearch-menu">
       <a href="<?=$this->url('fid/admin/list')?>"><?=$this->transEsc('fid::permission_read_user_list')?></a>
   </div>
+  <div class="myresearch-menu">
+      <a href="<?=$this->url('admin/tags', ['action' => 'List'])?>"><?=$this->transEsc('Tag Management')?></a>
+  </div>
   <?php endif; ?>
 <?php endif; ?>
 <!-- fid_bbi: myresearch - menu.phtml END -->
\ No newline at end of file