diff --git a/profiles/wcm_base/CHANGELOG.txt b/profiles/wcm_base/CHANGELOG.txt
index 6be7f99daf89a55260d5e675f9c1aa0468ed13fb..ae2bebc007cdec60bbe8c37a6b6cb310f062fa4b 100644
--- a/profiles/wcm_base/CHANGELOG.txt
+++ b/profiles/wcm_base/CHANGELOG.txt
@@ -1,3 +1,14 @@
+WCM Base 7.x-1.x, 2015-10-1
+----------------------------
+- OCIO Landing Page:
+  - Added news archive trio pane to allowed panes.
+  - Decoupled panels settings from defaults.
+- OCIO Media, OCIO Taxonomy, OCIO Workbench: Added file tagging support.
+- OCIO News: Changed display order of news articles to descending.
+- OCIO Omega Base: Reconfigured trio pane style, fixed more-link from floating to the left.
+- OCIO WYSIWYG: Added anchor plugin.
+- Text List Formatter: Added contrib module to allow formatting text list fields.
+
 WCM Base 7.x-1.x, 2015-09-24
 ----------------------------
 - OCIO Omega Base:
diff --git a/profiles/wcm_base/modules/contrib/textformatter/LICENSE.txt b/profiles/wcm_base/modules/contrib/textformatter/LICENSE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d159169d1050894d3ea3b98e1c965c4058208fe1
--- /dev/null
+++ b/profiles/wcm_base/modules/contrib/textformatter/LICENSE.txt
@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    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.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/profiles/wcm_base/modules/contrib/textformatter/README.txt b/profiles/wcm_base/modules/contrib/textformatter/README.txt
new file mode 100755
index 0000000000000000000000000000000000000000..ed5429ed8249331c6923959165beaeda5d0d6c00
--- /dev/null
+++ b/profiles/wcm_base/modules/contrib/textformatter/README.txt
@@ -0,0 +1,34 @@
+ABOUT
+
+This module provides an additional formatter to render values in all
+core fields as HTML or comma-separated lists.
+
+For multi-value fields, each field value becomes a list item. For long text
+fields, each line becomes a list item.
+
+Textformatter also provides hooks (see textformatter.api.php) so that other
+modules can register and implement listings for their field data. The
+textformatter_contrib module provides some implementations. This is bundled
+with this module. Currently entityreference, node reference, and link fields
+are supported.
+
+REQUIREMENTS
+
+- Drupal 7.x
+- Drupal core's Field module
+
+CONFIGURATION
+
+There is no special configuration for this module.  You may configure it just as
+you would any other field formatter on the "Manage display" tab.
+
+AUTHOR AND CREDIT
+
+This module was developed for Drupal 6 by:
+Larry Garfield & Emily Brand
+http://www.palantir.net/
+
+The Drupal 7 version initiated and maintained by:
+Damian Lee
+
+This module was initially developed by Palantir.net.
diff --git a/profiles/wcm_base/modules/contrib/textformatter/textformatter.api.php b/profiles/wcm_base/modules/contrib/textformatter/textformatter.api.php
new file mode 100755
index 0000000000000000000000000000000000000000..03ec38e7f24ed6c52e6a8be07723ff4c6a62e16c
--- /dev/null
+++ b/profiles/wcm_base/modules/contrib/textformatter/textformatter.api.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * hook_textformatter_field_list_info().
+ *
+ * Declare new field types/callbacks that are available as text formatter lists.
+ */
+function hook_textformatter_field_info() {
+  $info = array();
+
+  $info['example'] = array( // key array with module name.
+    'fields' => array('example', 'example_other'), // This must be an array.
+    // Callback to process $items from hook_field_formatter_view.
+    'callback' => 'textformatter_example_field_create_list',
+  );
+
+  return $info;
+}
+
+/**
+ * Sample callback implementation.
+ * @see textformatter_default_field_create_list.
+ */
+function textformatter_example_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $list_items = array();
+
+  foreach ($items as $delta => $item) {
+    $list_items[$delta] = check_plain($item['value']);
+  }
+
+  return $list_items;
+}
+
+/**
+ * hook_textformatter_field_list_info_alter().
+ *
+ * @param $info
+ *  An array of info as declared by hook_textformatter_field_list_info() to alter
+ *  passed by reference.
+ */
+function hook_textformatter_field_info_alter(&$info) {
+  // Change the callback used for fields from the text module.
+  $info['text']['callback'] = 'textformatter_example_text_callback';
+}
+
+/**
+ * hook_textformatter_field_formatter_settings_form_alter().
+ */
+function hook_textformatter_field_formatter_settings_form_alter(&$form, &$form_state, $context) {
+  // Sample form element here.
+}
diff --git a/profiles/wcm_base/modules/contrib/textformatter/textformatter.info b/profiles/wcm_base/modules/contrib/textformatter/textformatter.info
new file mode 100644
index 0000000000000000000000000000000000000000..7a6212a34d0f4d3fc1c36ca6a284ee66f9545509
--- /dev/null
+++ b/profiles/wcm_base/modules/contrib/textformatter/textformatter.info
@@ -0,0 +1,13 @@
+name = Text formatter
+description = "A field formatter for rendering values as HTML or comma-separated lists."
+core = 7.x
+package = Fields
+
+dependencies[] = field
+
+; Information added by drupal.org packaging script on 2012-06-09
+version = "7.x-1.3"
+core = "7.x"
+project = "textformatter"
+datestamp = "1339240633"
+
diff --git a/profiles/wcm_base/modules/contrib/textformatter/textformatter.module b/profiles/wcm_base/modules/contrib/textformatter/textformatter.module
new file mode 100755
index 0000000000000000000000000000000000000000..b790b09660c717981f2d2fc35b91aa56b0b58f52
--- /dev/null
+++ b/profiles/wcm_base/modules/contrib/textformatter/textformatter.module
@@ -0,0 +1,538 @@
+<?php
+
+/**
+ * @file
+ * Provide a field formatter to render values as HTML or comma-separated lists.
+ */
+
+/**
+ * Implements hook_help().
+ */
+function textformatter_help($path, $arg) {
+  switch ($path) {
+    case 'admin/help#textformatter' :
+      $output =  '<p>' . t("The text formatter module provides a new display formatter that can 
+        be used on any text, number, list, or taxonomy fields.") . '</p>'; 
+      $output .= '<p>' . t("Go to 'Manage display' for your entity field display settings and 
+        select 'List' as the formatter. Various options will then be available to either format 
+        your field values as an html list or comma separated list.") . '</p>';
+      $output .= '<p>' . t("This would be mostly implemented with multi value fields. 
+        E.g. A text field could be created with unlimited values. Each value will then be added to 
+        the same html list. Taxonomy terms will work with comma separated auto complete lists too, 
+        to give the same result. The only exceptions are textarea field, lists can be created based 
+        on each line of the input.") . '</p>';
+
+    return $output;
+  }
+
+}
+
+/**
+ * Implements hook_field_formatter_info().
+ */
+function textformatter_field_formatter_info() {
+  return array(
+    'textformatter_list' => array(
+      'label' => t("List"),
+      'field types' => _textformatter_field_types(),
+      'settings' => array(
+        'textformatter_type' => 'ul',
+        'textformatter_class' => 'textformatter-list',
+        'textformatter_comma_full_stop' => 0,
+        'textformatter_comma_and' => 0,
+        'textformatter_comma_tag' => 'div',
+        'textformatter_term_plain' => 0,
+        'textformatter_comma_override' => 0,
+        'textformatter_separator_custom' => '',
+        'textformatter_separator_custom_tag' => 'span',
+        'textformatter_separator_custom_class' => 'textformatter-separator',
+        'textformatter_contrib' => array(),
+      ),
+    ),
+  );
+}
+
+/**
+ * Implements hook_field_formatter_Settings_form().
+ */
+function textformatter_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
+  $display = $instance['display'][$view_mode];
+  $settings = $display['settings'];
+  $form = array();
+
+  if ($display['type'] == 'textformatter_list') {
+    $form['textformatter_type'] = array(
+      '#title' => t("List type"),
+      '#type' => 'select',
+      '#options' => array(
+        'ul' => t("Unordered HTML list (ul)"),
+        'ol' => t("Ordered HTML list (ol)"),
+        'comma' => t("Comma separated list"),
+      ),
+      '#default_value' => $settings['textformatter_type'],
+      '#required' => TRUE,
+    );
+    $form['textformatter_comma_and'] = array(
+      '#type' => 'checkbox',
+      '#title' => t("Include 'and' before the last item"),
+      '#default_value' => $settings['textformatter_comma_and'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_type]"]' => array('value' => 'comma'),
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_comma_override]"]' => array('checked' => FALSE),
+        ),
+      ),
+    );
+    $form['textformatter_comma_full_stop'] = array(
+      '#type' => 'checkbox',
+      '#title' => t("Append comma separated list with '.'"),
+      '#default_value' => $settings['textformatter_comma_full_stop'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_type]"]' => array('value' => 'comma'),
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_comma_override]"]' => array('checked' => FALSE),
+        ),
+      ),
+    );
+
+    //Override Comma with custom separator.
+    $form['textformatter_comma_override'] = array(
+      '#type' => 'checkbox',
+      '#title' => t("Override comma separator"),
+      '#description' => t("Override the default comma separator with a custom separator string."),
+      '#default_value' => $settings['textformatter_comma_override'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_type]"]' => array('value' => 'comma'),
+        ),
+      ),
+    );
+    $form['textformatter_separator_custom'] = array(
+      '#type' => 'textfield',
+      '#title' => t("Custom separator"),
+      '#description' => t("Override default comma separator with a custom separator string. 
+        You must add your own spaces in this string if you want them. E.g. ' + ', or ' => '"),
+      '#size' => 40,
+      '#default_value' => $settings['textformatter_separator_custom'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_comma_override]"]' => array('checked' => TRUE),
+        ),
+      ),
+    );
+    $form['textformatter_separator_custom_tag'] = array(
+      '#type' => 'select',
+      '#title' => t("separator HTML wrapper"),
+      '#description' => t("An HTML tag to wrap the separator in."),
+      '#options' => _textformatter_wrapper_options(),
+      '#default_value' => $settings['textformatter_separator_custom_tag'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_comma_override]"]' => array('checked' => TRUE),
+        ),
+      ),
+    );
+    $form['textformatter_separator_custom_class'] = array(
+      '#title' => t("Separator classes"),
+      '#type' => 'textfield',
+      '#description' => t("A CSS class to use in the wrapper tag for the separator."),
+      '#default_value' => $settings['textformatter_separator_custom_class'],
+      '#element_validate' => array('_textformatter_validate_class'),
+      '#states' => array(
+        'visible' => array(
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_comma_override]"]' => array('checked' => TRUE),
+        ),
+      ),
+    );
+
+    $form['textformatter_comma_tag'] = array(
+      '#type' => 'select',
+      '#title' => t("HTML wrapper"),
+      '#description' => t("An HTML tag to wrap the list in. The CSS class below will be added to this tag."),
+      '#options' => _textformatter_wrapper_options(),
+      '#default_value' => $settings['textformatter_comma_tag'],
+      '#states' => array(
+        'visible' => array(
+          ':input[name="fields[' . $field['field_name'] . '][settings_edit_form][settings][textformatter_type]"]' => array('value' => 'comma'),
+        ),
+      ),
+    );
+    $form['textformatter_class'] = array(
+      '#title' => t("List classes"),
+      '#type' => 'textfield',
+      '#size' => 40,
+      '#description' => t("A CSS class to use in the markup for the field list."),
+      '#default_value' => $settings['textformatter_class'],
+      '#required' => FALSE,
+      '#element_validate' => array('_textformatter_validate_class'),
+    );
+  }
+  
+  // Taxonomy term ref fields only.
+  if ($field['type'] == 'taxonomy_term_reference') {
+    $form['textformatter_term_plain'] = array(
+      '#type' => 'checkbox',
+      '#title' => t("Display taxonomy terms as plain text (Not term links)."),
+      '#default_value' => $settings['textformatter_term_plain'],
+    );
+  }
+
+  $context = array(
+    'field' => $field,
+    'instance' => $instance,
+    'view_mode' => $view_mode
+  );
+  drupal_alter('textformatter_field_formatter_settings_form', $form, $form_state, $context);
+
+  return $form;
+}
+
+/**
+ * Validate that a space-separated list of values are lowercase and appropriate
+ * for use as HTML classes.
+ *
+ * @see textformatter_field_formatter_settings_form()
+ */
+function _textformatter_validate_class($element, &$form_state) {
+  $value = drupal_array_get_nested_value($form_state['values'], $element['#parents']);
+  $classes = explode(' ', $value);
+  foreach ($classes as $class) {
+    if ($class != drupal_html_class($class)) {
+      form_error($element, t('List classes contain illegal characters; classes should be lowercase and may contain letters, numbers, and dashes.'));
+      return;
+    }
+  }
+}
+
+/**
+ * Implements hook_field_formatter_settings_summary().
+ */
+function textformatter_field_formatter_settings_summary($field, $instance, $view_mode) {
+  $display = $instance['display'][$view_mode];
+  $settings = $display['settings'];
+
+  $summary = array();
+
+  if ($display['type'] == 'textformatter_list') {
+    switch ($settings['textformatter_type']) {
+      case 'ul':
+        $summary[] = t("Unordered HTML list");
+        break;
+      case 'ol':
+        $summary[] = t("Ordered HTML list");
+        break;
+      case 'comma':
+        $summary[] = t("Comma separated list");
+        break;
+    }
+
+    if ($settings['textformatter_class']) {
+      $summary[] = t("CSS Class") . ': <em>' . check_plain($settings['textformatter_class']) . '</em>';
+    }
+    if ($settings['textformatter_comma_override']) {
+      $summary[] = '<em>*' . t("Comma separator overridden") . '*</em>';
+    }
+    $summary = theme('item_list', array('type' => 'ul', 'items' => $summary));
+  }
+
+  return $summary;
+}
+
+/**
+ * Implements hook_field_formatter_view().
+ */
+function textformatter_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  if ($display['type'] == 'textformatter_list') {
+    $textformatters = textformatter_field_list_info();
+    $settings = $display['settings'];
+    $module = $field['module'];
+    $element = $list_items = array();
+
+    if (isset($textformatters[$module]) && in_array($field['type'], $textformatters[$module]['fields'])) {
+      $function = $textformatters[$module]['callback'];
+      if (function_exists($function)) {
+        $list_items = $function($entity_type, $entity, $field, $instance, $langcode, $items, $display);
+      }
+    }
+    else {
+      foreach ($items as $delta => $item) {
+        $list_items = textformatter_default_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display);
+      }
+    }
+
+    // If there are no list items, return and render nothing.
+    if (empty($list_items)) {
+      return;
+    }
+
+    // CSS classes are checked for validity on submission. drupal_attributes()
+    // runs each attribute value through check_plain().
+    $classes = explode(' ', $settings['textformatter_class']);
+
+    switch ($settings['textformatter_type']) {
+      case 'ul':
+      case 'ol':
+        // Render elements as one piece of markup and theme as item list.
+        $element[0] = array(
+          '#theme' => 'item_list',
+          '#type' => $settings['textformatter_type'],
+          '#items' => $list_items,
+          '#attributes' => array(
+            'class' => $classes,
+          ),
+        );
+      break;
+      case 'comma':
+        // Render as one element as comma separated list.
+        $element[0] = array(
+          '#theme' => 'textformatter_comma',
+          '#items' => $list_items,
+          '#settings' => $settings,
+          '#attributes' => array(
+            'class' => $classes,
+          ),
+        );
+      break;
+    }
+  }
+
+  return $element;
+}
+
+/**
+ * Implements hook_theme().
+ */
+function textformatter_theme($existing, $type, $theme, $path) {
+  return array(
+    'textformatter_comma' => array(
+      'render element' => 'element',
+    ),
+  );
+}
+
+/**
+ * Theme function to render comma separated lists.
+ */
+function theme_textformatter_comma($variables) {
+  $items = $variables['element']['#items'];
+  $settings = $variables['element']['#settings'];
+  $attributes = drupal_attributes($variables['element']['#attributes']);
+
+  // Optionally prefix the last item with 'and'.
+  $last = '';
+  if ($settings['textformatter_comma_and'] && (count($items) > 1) && !$settings['textformatter_comma_override']) {
+    $last = ' ' . t('and') . ' ' . array_pop($items);
+  }
+  
+  // Default comma separator.
+  $separator = ', ';
+  //Override if we need to.
+  if ($settings['textformatter_comma_override']) {
+    $sep = check_plain($settings['textformatter_separator_custom']);
+    $tag = $settings['textformatter_separator_custom_tag'];
+    if ($tag) {
+      $class = $settings['textformatter_separator_custom_class'];
+      $separator = "<$tag class=\"$class\">$sep</$tag>";
+    }
+  }
+  // Generate a comma-separated list.
+  $output = implode($separator, $items) . $last;
+
+  // Optionally follow the list with a '.'.
+  if ($settings['textformatter_comma_full_stop']) {
+    $output .= '<span class="textformatter-fullstop">.</span>';
+  }
+
+  // Optionally wrap the list in an HTML tag.
+  $tag = $settings['textformatter_comma_tag'];
+  if ($tag) {
+    $output = "<$tag$attributes>$output</$tag>";
+  }
+
+  return $output;
+}
+
+/**
+ * Wrapper function for invoking hook_textformatter_field_list_info.
+ *
+ * Statically caches $info as this could get called multiple times
+ * for different fields using this formatter in a request.
+ */
+function textformatter_field_list_info() {
+  $info = &drupal_static(__FUNCTION__);
+
+  if (empty($info)) {
+    $info = module_invoke_all('textformatter_field_info');
+    drupal_alter('textformatter_field_info', $info);
+  }
+
+  return $info;
+}
+
+/**
+ * Implements hook_textformatter_field_info().
+ */
+function textformatter_textformatter_field_info() {
+  $info = array();
+
+  $info['text'] = array(
+    'fields' => array('text', 'text_long'),
+    'callback' => 'textformatter_text_field_create_list',
+  );
+  $info['number'] = array(
+    'fields' => array('number_integer', 'number_decimal', 'number_float'),
+    'callback' => 'textformatter_default_field_create_list',
+  );
+  $info['list'] = array(
+    'fields' => array('list_float', 'list_integer', 'list_text'),
+    'callback' => 'textformatter_list_field_create_list',
+  );
+  $info['taxonomy'] = array(
+    'fields' => array('taxonomy_term_reference'),
+    'callback' => 'textformatter_taxonomy_field_create_list',
+  );
+
+  return $info;
+}
+
+/**
+ * Default listing callback.
+ */
+function textformatter_default_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $list_items = array();
+
+  // Use our helper function to get the value key dynamically.
+  $value_key = _textformatter_get_field_value_key($field);
+
+  foreach ($items as $delta => $item) {
+    $list_items[$delta] = check_plain($item[$value_key]);
+  }
+
+  return $list_items;
+}
+
+/**
+ * Create list for text fields.
+ */
+function textformatter_text_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $settings = $display['settings'];
+  $list_items = array();
+
+  if ($field['type'] == 'text_long') {
+    foreach ($items as $delta => $item) {
+      // Explode on new line char, trim whitespace (if any), then array filter (So any empty lines will actually be removed).
+      $long_text_items = array_filter(array_map('trim', explode("\n", $item['value'])));
+      foreach ($long_text_items as $long_text_item) {
+        // @see _text_sanitize(), text.module
+        $list_items[] = ($instance['settings']['text_processing'] ? check_markup($long_text_item, $item['format'], $langcode) : field_filter_xss($long_text_item));
+      }
+    }
+  }
+  else {
+    foreach ($items as $delta => $item) {
+      $list_items[] = ($item['format'] ? check_markup($item['value'], $item['format'], $langcode) : field_filter_xss($item['value']));
+    }
+  }
+
+  return $list_items;
+}
+
+/**
+ * Create list for list fields.
+ */
+function textformatter_list_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $settings = $display['settings'];
+  $list_items = array();
+
+  // Get allowed values for the field.
+  $allowed_values = list_allowed_values($field);
+  foreach ($items as $delta => $item) {
+    if (isset($allowed_values[$item['value']])) {
+      $list_items[$delta] = field_filter_xss($allowed_values[$item['value']]);
+    }
+  }
+
+  return $list_items;
+}
+
+/**
+ * Create list for taxonomy reference fields.
+ */
+function textformatter_taxonomy_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $settings = $display['settings'];
+  $list_items = $tids = array();
+
+  // Get an array of tids only.
+  foreach ($items as $item) { 
+    $tids[] = $item['tid']; 
+  }
+
+  $terms = taxonomy_term_load_multiple($tids);
+
+  foreach ($items as $delta => $item) {
+    // Use the item name if autocreating, as there won't be a term object yet.
+    $term_name = ($item['tid'] === 'autocreate') ? $item['name'] : $terms[$item['tid']]->name;
+    // Check if we should display as term links or not.
+    if ($settings['textformatter_term_plain'] || ($item['tid'] === 'autocreate')) {
+      $list_items[$delta] = check_plain($term_name);
+    }
+    else {
+      $uri = entity_uri('taxonomy_term', $terms[$item['tid']]);
+      $list_items[$delta] = l($term_name, $uri['path']);
+    }
+  }
+
+  return $list_items;
+}
+
+/**
+ * Helper to return array of field types that textformatter display formatter can be used on.
+ */
+function _textformatter_field_types() {
+  // Invokes hook_textformatter_field_info
+  $textformatter_info = textformatter_field_list_info();
+  $fields = array();
+
+  // Create array of all field types.
+  foreach ($textformatter_info as $module => $info) {
+    foreach ($info['fields'] as $field) {
+      $fields[] = $field;
+    }
+  }
+
+  return $fields;
+}
+
+/**
+ * Helper to return the value key for a field instance.
+ *
+ * @param $field
+ *  The whole array of field instance info provided by the field api.
+ *
+ * @return
+ *  (string) value key for the field.
+ */
+function _textformatter_get_field_value_key(array $field) {
+  return (array_key_exists('columns', $field) && is_array($field['columns'])) ? key($field['columns']) : 'value';
+}
+
+/**
+ * Helper to return an array of html tags, formatted for a select list.
+ *
+ * @return
+ *   Array of available html tags.
+ */
+function _textformatter_wrapper_options() {
+  return array(
+    t("No HTML tag"),
+    'div' => t("Div"),
+    'span' => t("Span"),
+    'p' => t("Paragraph"),
+    'h1' => t("Header 1"),
+    'h2' => t("Header 2"),
+    'h3' => t("Header 3"),
+    'h4' => t("Header 4"),
+    'h5' => t("Header 5"),
+    'h6' => t("Header 6"),
+  );
+}
diff --git a/profiles/wcm_base/modules/contrib/textformatter/textformatter_contrib/textformatter_contrib.info b/profiles/wcm_base/modules/contrib/textformatter/textformatter_contrib/textformatter_contrib.info
new file mode 100644
index 0000000000000000000000000000000000000000..1136f1f64a5db9ac67f531e46137d9e5e5ce127a
--- /dev/null
+++ b/profiles/wcm_base/modules/contrib/textformatter/textformatter_contrib/textformatter_contrib.info
@@ -0,0 +1,12 @@
+name = Text formatter contrib
+description = "Textformatter support for contributed modules."
+core = 7.x
+package = Fields
+
+dependencies[] = textformatter
+; Information added by drupal.org packaging script on 2012-06-09
+version = "7.x-1.3"
+core = "7.x"
+project = "textformatter"
+datestamp = "1339240633"
+
diff --git a/profiles/wcm_base/modules/contrib/textformatter/textformatter_contrib/textformatter_contrib.module b/profiles/wcm_base/modules/contrib/textformatter/textformatter_contrib/textformatter_contrib.module
new file mode 100644
index 0000000000000000000000000000000000000000..cc113d9ef44474be04f060d359be25d8dddc3021
--- /dev/null
+++ b/profiles/wcm_base/modules/contrib/textformatter/textformatter_contrib/textformatter_contrib.module
@@ -0,0 +1,214 @@
+<?php
+
+/**
+ * @file
+ * Textformatter support for contributed module fields.
+ */
+
+/**
+ * Implements hook_textformatter_field_info().
+ */
+function textformatter_contrib_textformatter_field_info() {
+  $info = array();
+
+  if (module_exists('entityreference')) {
+    $info['entityreference'] = array(
+      'fields' => array('entityreference'),
+      'callback' => 'textformatter_contrib_entityreference_field_create_list',
+    );
+  }
+
+  if (module_exists('node_reference')) {
+    $info['node_reference'] = array(
+      'fields' => array('node_reference'),
+      'callback' => 'textformatter_contrib_node_reference_field_create_list',
+    );
+  }
+
+  if (module_exists('user_reference')) {
+    $info['user_reference'] = array(
+      'fields' => array('user_reference'),
+      'callback' => 'textformatter_contrib_user_reference_field_create_list',
+    );
+  }
+
+  if (module_exists('link')) {
+    $info['link'] = array(
+      'fields' => array('link_field'),
+      'callback' => 'textformatter_contrib_link_field_create_list',
+    );
+  }
+
+  return $info;
+}
+
+/**
+ * Entity reference field listing callback.
+ */
+function textformatter_contrib_entityreference_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  // Load the target type for the field instance.
+  $target_type = $field['settings']['target_type'];
+  $contrib_settings = $display['settings']['textformatter_contrib'];
+  $list_items = $target_ids = $target_entities = array();
+
+  // Get an array of entity ids.
+  foreach ($items as $delta => $item) {
+    $target_ids[] = $item['target_id'];
+  }
+
+  // Load them all.
+  if ($target_ids) {
+    $target_entities = entity_load($target_type, $target_ids);
+  }
+
+  // Create a list item for each entity.
+  foreach ($target_entities as $id => $entity) {
+    // Only add entities to the list that the user will have access to.
+    if (isset($item['target_id']) && entity_access('view', $target_type, $entity)) {
+      $label = entity_label($target_type, $entity);
+      if ($contrib_settings['entityreference_link']) {
+        $uri = entity_uri($target_type, $entity);
+        $target_type_class = drupal_html_class($target_type);
+        $classes = array($target_type_class, $target_type_class . '-' . $id, 'entityreference');
+        $list_items[$id] = l($label, $uri['path'], array('attributes' => array('class' => $classes)));
+      }
+      else {
+        $list_items[$id] = field_filter_xss($label);
+      }
+    }
+  }
+
+  return $list_items;
+}
+
+/**
+ * Node reference field listing callback.
+ */
+function textformatter_contrib_node_reference_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $list_items = $node_ids = array();
+  $contrib_settings = $display['settings']['textformatter_contrib'];
+
+  // Get an array of entity ids.
+  foreach ($items as $delta => $item) {
+    $node_ids[] = $item['nid'];
+  }
+
+  // Load them all.
+  if (!empty($node_ids)) {
+    $nodes = entity_load('node', $node_ids);
+
+    foreach ($nodes as $id => $node) {
+      $label = entity_label('node', $node);
+      $uri = entity_uri('node', $node);
+      if ($contrib_settings['node_reference_link']) {
+        $classes = array('node', 'node-' . $id, 'node-' . drupal_html_class($node->type), 'node-reference');
+        $list_items[$id] = l($label, $uri['path'], array('attributes' => array('class' => $classes)));
+      }
+      else {
+        $list_items[$id] = field_filter_xss($label);
+      }
+    }
+  }
+
+  return $list_items;
+}
+
+/**
+ * User reference field listing callback.
+ */
+function textformatter_contrib_user_reference_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $list_items = $user_ids = array();
+  $contrib_settings = $display['settings']['textformatter_contrib'];
+
+  // Get an array of entity ids.
+  foreach ($items as $delta => $item) {
+    // Only add if the access is TRUE for current user.
+    if ($item['access']) {
+      $user_ids[] = $item['uid'];
+    }
+  }
+
+  // Load them all.
+  if (!empty($user_ids)) {
+    $users = entity_load('user', $user_ids);
+
+    foreach ($users as $id => $user) {
+      $label = entity_label('user', $user);
+      $uri = entity_uri('user', $user);
+      if ($contrib_settings['user_reference_link']) {
+        $classes = array('user', 'user-' . $id, 'user-reference');
+        $list_items[$id] = l($label, $uri['path'], array('attributes' => array('class' => $classes)));
+      }
+      else {
+        $list_items[$id] = field_filter_xss($label);
+      }
+    }
+  }
+
+  return $list_items;
+}
+
+/**
+ * Link field listing callback.
+ */
+function textformatter_contrib_link_field_create_list($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  $list_items = array();
+
+  foreach ($items as $delta => $item) {
+    $contrib_settings = $display['settings']['textformatter_contrib'];
+
+    $link_display = (isset($contrib_settings['link_field_display_type']) && !empty($contrib_settings['link_field_display_type']))
+      ? $contrib_settings['link_field_display_type'] : 'link_default';
+
+    $list_items[] = theme('link_formatter_' . $link_display, array('element' => $item, 'field' => $instance));
+  }
+
+  return $list_items;
+}
+
+/**
+ * Implements hook_textformatter_field_formatter_settings_form_alter().
+ */
+function textformatter_contrib_textformatter_field_formatter_settings_form_alter(&$form, &$form_state, $context) {
+  $field = $context['field'];
+  $view_mode = $context['view_mode'];
+  $settings = $context['instance']['display'][$view_mode]['settings'];
+
+  if ($field['type'] == 'entityreference') {
+    $form['textformatter_contrib']['entityreference_link'] = array(
+      '#type' => 'checkbox',
+      '#title' => t("Link list items to their @entity entity.", array('@entity' => $field['settings']['target_type'])),
+      '#description' => t("Generate item list with links to the node page"),
+      '#default_value' => isset($settings['textformatter_contrib']['entityreference_link']) ? $settings['textformatter_contrib']['entityreference_link'] : TRUE,
+    );
+  }
+
+  if ($field['type'] == 'node_reference') {
+    $form['textformatter_contrib']['node_reference_link'] = array(
+      '#type' => 'checkbox',
+      '#title' => t("Link list items to their node."),
+      '#description' => t("Generate item list with links to the node page"),
+      '#default_value' => isset($settings['textformatter_contrib']['node_reference_link']) ? $settings['textformatter_contrib']['node_reference_link'] : TRUE,
+    );
+  }
+
+  if ($field['type'] == 'user_reference') {
+    $form['textformatter_contrib']['user_reference_link'] = array(
+      '#type' => 'checkbox',
+      '#title' => t("Link list items to their user page."),
+      '#description' => t("Generate item list with links to the user page"),
+      '#default_value' => isset($settings['textformatter_contrib']['user_reference_link']) ? $settings['textformatter_contrib']['user_reference_link'] : TRUE,
+    );
+  }
+
+  if ($field['type'] == 'link_field') {
+    $link_info = is_callable('link_field_formatter_info') ? link_field_formatter_info() : array();
+    $form['textformatter_contrib']['link_field_display_type'] = array(
+      '#type' => 'select',
+      '#title' => t('Link field formatting type'),
+      '#description' => t('Select the type of link field to show in the list.'),
+      '#options' => drupal_map_assoc(array_keys($link_info)),
+      '#default_value' => isset($settings['textformatter_contrib']['link_field_display_type']) ? $settings['textformatter_contrib']['link_field_display_type'] : 'link_default',
+    );
+  }
+}
diff --git a/profiles/wcm_base/modules/custom/ocio_landing_page/ocio_landing_page.strongarm.inc b/profiles/wcm_base/modules/custom/ocio_landing_page/ocio_landing_page.strongarm.inc
index 591a3c3ad249e78b976345d49ea3529a673cf030..cfe3cc5e7c410dc41cb297f7d603f9c33941efe9 100644
--- a/profiles/wcm_base/modules/custom/ocio_landing_page/ocio_landing_page.strongarm.inc
+++ b/profiles/wcm_base/modules/custom/ocio_landing_page/ocio_landing_page.strongarm.inc
@@ -299,6 +299,7 @@ function ocio_landing_page_strongarm() {
     'token-node:source' => 'token-node:source',
     'token-node:log' => 'token-node:log',
     'token-node:content-type' => 'token-node:content-type',
+    'token-node:menu-link' => 'token-node:menu-link',
     'token-node:nid' => 'token-node:nid',
     'token-node:vid' => 'token-node:vid',
     'token-node:title' => 'token-node:title',
@@ -312,7 +313,6 @@ function ocio_landing_page_strongarm() {
     'token-node:author' => 'token-node:author',
     'token-node:uuid' => 'token-node:uuid',
     'token-node:vuuid' => 'token-node:vuuid',
-    'token-node:menu-link' => 'token-node:menu-link',
     'token-node:original' => 'token-node:original',
     'token-node:field_ocio_body' => 'token-node:field_ocio_body',
     'token-node:field_tags' => 'token-node:field_tags',
@@ -413,6 +413,11 @@ function ocio_landing_page_strongarm() {
     'token-file-type:machine-name' => 'token-file-type:machine-name',
     'token-file-type:count' => 'token-file-type:count',
     'token-file-type:edit-url' => 'token-file-type:edit-url',
+    'token-menu:name' => 'token-menu:name',
+    'token-menu:machine-name' => 'token-menu:machine-name',
+    'token-menu:description' => 'token-menu:description',
+    'token-menu:menu-link-count' => 'token-menu:menu-link-count',
+    'token-menu:edit-url' => 'token-menu:edit-url',
     'token-site:name' => 'token-site:name',
     'token-site:slogan' => 'token-site:slogan',
     'token-site:mail' => 'token-site:mail',
@@ -432,11 +437,6 @@ function ocio_landing_page_strongarm() {
     'token-view:machine-name' => 'token-view:machine-name',
     'token-view:title' => 'token-view:title',
     'token-view:url' => 'token-view:url',
-    'token-menu:name' => 'token-menu:name',
-    'token-menu:machine-name' => 'token-menu:machine-name',
-    'token-menu:description' => 'token-menu:description',
-    'token-menu:menu-link-count' => 'token-menu:menu-link-count',
-    'token-menu:edit-url' => 'token-menu:edit-url',
     'token-node:book' => 0,
     'token-node:field_admin_lock' => 0,
     'token-node:field_answer' => 0,
@@ -643,9 +643,9 @@ function ocio_landing_page_strongarm() {
     'views_panes-faq-panel_pane_1' => 'views_panes-faq-panel_pane_1',
     'views_panes-ocio_news_archive-titles_pane' => 'views_panes-ocio_news_archive-titles_pane',
     'views_panes-ocio_news_archive-teasers_pane' => 'views_panes-ocio_news_archive-teasers_pane',
+    'views_panes-ocio_news_archive-trio_pane' => 'views_panes-ocio_news_archive-trio_pane',
     'views_panes-ocio_twitter-panel_pane_1' => 'views_panes-ocio_twitter-panel_pane_1',
     'views_panes-leadership_listing-panel_pane_1' => 0,
-    'views_panes-ocio_news_archive-trio_pane' => 0,
     'views_panes-panopoly_taxonomy-taxonomy_content' => 0,
     'views_panes-panopoly_widgets_general_content-list_of_content' => 0,
     'views_panes-panopoly_widgets_general_content-piece_of_content' => 0,
diff --git a/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.features_overrides.inc b/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.features_overrides.inc
index 6271bb7ea7dfea877bd99e196a90a982f57e76ac..6407d677e6c24756632f8bff91c627bb0bb42d34 100644
--- a/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.features_overrides.inc
+++ b/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.features_overrides.inc
@@ -23,6 +23,7 @@ function ocio_media_features_override_default_overrides() {
   $overrides["file_display.image__preview__file_field_image.weight"] = -48;
   $overrides["file_display.image__preview__file_field_media_large_icon.weight"] = -47;
   $overrides["file_display.video__default__media_vimeo_video.settings|protocol"] = '//';
+  $overrides["file_display.video__default__media_vimeo_video.settings|protocol_specify"] = FALSE;
   $overrides["file_display.video__default__media_youtube_video.settings|modestbranding"] = 1;
   $overrides["file_display.video__preview__file_field_file_default.status"] = FALSE;
   $overrides["file_display.video__preview__file_field_file_default.weight"] = -41;
@@ -38,5 +39,53 @@ function ocio_media_features_override_default_overrides() {
   $overrides["file_type.image.disabled"] = FALSE;
   $overrides["file_type.video.disabled"] = FALSE;
 
+  // Exported overrides for: views_view
+  $overrides["views_view.media_default.display|default|display_options|filters|field_file_tags_tid"] = array(
+    'id' => 'field_file_tags_tid',
+    'table' => 'field_data_field_file_tags',
+    'field' => 'field_file_tags_tid',
+    'exposed' => TRUE,
+    'expose' => array(
+      'operator_id' => 'field_file_tags_tid_op',
+      'label' => 'Tag',
+      'operator' => 'field_file_tags_tid_op',
+      'identifier' => 'field_file_tags_tid',
+      'remember_roles' => array(
+        2 => 2,
+        1 => 0,
+        5 => 0,
+        4 => 0,
+        7 => 0,
+        6 => 0,
+        3 => 0,
+      ),
+    ),
+    'type' => 'select',
+    'vocabulary' => 'wcm_file_tags',
+  );
+  $overrides["views_view.media_default.display|media_browser_my_files|display_options|filters|field_file_tags_tid"] = array(
+    'id' => 'field_file_tags_tid',
+    'table' => 'field_data_field_file_tags',
+    'field' => 'field_file_tags_tid',
+    'exposed' => TRUE,
+    'expose' => array(
+      'operator_id' => 'field_file_tags_tid_op',
+      'label' => 'Tag',
+      'operator' => 'field_file_tags_tid_op',
+      'identifier' => 'field_file_tags_tid',
+      'remember_roles' => array(
+        2 => 2,
+        1 => 0,
+        5 => 0,
+        4 => 0,
+        7 => 0,
+        6 => 0,
+        3 => 0,
+      ),
+    ),
+    'type' => 'select',
+    'vocabulary' => 'wcm_file_tags',
+  );
+
  return $overrides;
 }
diff --git a/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.inc b/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.inc
index edb8758b412cf705a2cb72698a7374d2a8474b0f..e192cfcbed59cf2c5729cc2509e013f8a7ee377f 100644
--- a/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.inc
+++ b/profiles/wcm_base/modules/custom/ocio_media/ocio_media.features.inc
@@ -51,6 +51,7 @@ function ocio_media_file_default_displays_alter(&$data) {
   }
   if (isset($data['video__default__media_vimeo_video'])) {
     $data['video__default__media_vimeo_video']->settings['protocol'] = '//'; /* WAS: 'https://' */
+    $data['video__default__media_vimeo_video']->settings['protocol_specify'] = FALSE; /* WAS: 0 */
   }
   if (isset($data['video__default__media_youtube_video'])) {
     $data['video__default__media_youtube_video']->settings['modestbranding'] = 1; /* WAS: 0 */
@@ -89,3 +90,57 @@ function ocio_media_file_default_types_alter(&$data) {
     $data['video']->disabled = FALSE; /* WAS: '' */
   }
 }
+
+/**
+ * Implements hook_views_default_views_alter().
+ */
+function ocio_media_views_default_views_alter(&$data) {
+  if (isset($data['media_default'])) {
+    $data['media_default']->display['default']->display_options['filters']['field_file_tags_tid'] = array(
+      'id' => 'field_file_tags_tid',
+      'table' => 'field_data_field_file_tags',
+      'field' => 'field_file_tags_tid',
+      'exposed' => TRUE,
+      'expose' => array(
+        'operator_id' => 'field_file_tags_tid_op',
+        'label' => 'Tag',
+        'operator' => 'field_file_tags_tid_op',
+        'identifier' => 'field_file_tags_tid',
+        'remember_roles' => array(
+          2 => 2,
+          1 => 0,
+          5 => 0,
+          4 => 0,
+          7 => 0,
+          6 => 0,
+          3 => 0,
+        ),
+      ),
+      'type' => 'select',
+      'vocabulary' => 'wcm_file_tags',
+    ); /* WAS: '' */
+    $data['media_default']->display['media_browser_my_files']->display_options['filters']['field_file_tags_tid'] = array(
+      'id' => 'field_file_tags_tid',
+      'table' => 'field_data_field_file_tags',
+      'field' => 'field_file_tags_tid',
+      'exposed' => TRUE,
+      'expose' => array(
+        'operator_id' => 'field_file_tags_tid_op',
+        'label' => 'Tag',
+        'operator' => 'field_file_tags_tid_op',
+        'identifier' => 'field_file_tags_tid',
+        'remember_roles' => array(
+          2 => 2,
+          1 => 0,
+          5 => 0,
+          4 => 0,
+          7 => 0,
+          6 => 0,
+          3 => 0,
+        ),
+      ),
+      'type' => 'select',
+      'vocabulary' => 'wcm_file_tags',
+    ); /* WAS: '' */
+  }
+}
diff --git a/profiles/wcm_base/modules/custom/ocio_media/ocio_media.info b/profiles/wcm_base/modules/custom/ocio_media/ocio_media.info
index de6cfa843b57d39a566ed767a1f7acc86400c675..0a4dce845928a5a35d8f81a25ce227bf71964d93 100644
--- a/profiles/wcm_base/modules/custom/ocio_media/ocio_media.info
+++ b/profiles/wcm_base/modules/custom/ocio_media/ocio_media.info
@@ -58,6 +58,7 @@ features[features_overrides][] = file_display.image__preview__file_field_image.s
 features[features_overrides][] = file_display.image__preview__file_field_image.weight
 features[features_overrides][] = file_display.image__preview__file_field_media_large_icon.weight
 features[features_overrides][] = file_display.video__default__media_vimeo_video.settings|protocol
+features[features_overrides][] = file_display.video__default__media_vimeo_video.settings|protocol_specify
 features[features_overrides][] = file_display.video__default__media_youtube_video.settings|modestbranding
 features[features_overrides][] = file_display.video__preview__file_field_file_default.status
 features[features_overrides][] = file_display.video__preview__file_field_file_default.weight
@@ -70,6 +71,8 @@ features[features_overrides][] = file_type.audio.disabled
 features[features_overrides][] = file_type.document.disabled
 features[features_overrides][] = file_type.image.disabled
 features[features_overrides][] = file_type.video.disabled
+features[features_overrides][] = views_view.media_default.display|default|display_options|filters|field_file_tags_tid
+features[features_overrides][] = views_view.media_default.display|media_browser_my_files|display_options|filters|field_file_tags_tid
 features[field_instance][] = file-document-field_file_description
 features[field_instance][] = file-image-field_basic_image_caption
 features[field_instance][] = file-image-field_file_description
diff --git a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.info b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.info
index 3a5b04cf64875ea918f5a8c2b0c0e8c5233ca9f7..fef1203aa181621ac889f961ef20fe683993f535 100644
--- a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.info
+++ b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.info
@@ -12,9 +12,11 @@ dependencies[] = ds
 dependencies[] = features
 dependencies[] = file_entity
 dependencies[] = image
+dependencies[] = list
 dependencies[] = media
 dependencies[] = ocio_field_bases
 dependencies[] = ocio_taxonomy
+dependencies[] = options
 dependencies[] = override_node_options
 dependencies[] = panopoly_core
 dependencies[] = strongarm
diff --git a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc
index fb440e2b97be0d659284fdcfa6cbbc6494c3a845..293a5795be26faacfc5c25cbc73dee199bb4d63e 100644
--- a/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc
+++ b/profiles/wcm_base/modules/custom/ocio_news/ocio_news.views_default.inc
@@ -45,6 +45,8 @@ function ocio_news_views_default_views() {
   $handler->display->display_options['sorts']['created']['id'] = 'created';
   $handler->display->display_options['sorts']['created']['table'] = 'node';
   $handler->display->display_options['sorts']['created']['field'] = 'created';
+  $handler->display->display_options['sorts']['created']['order'] = 'DESC';
+  $handler->display->display_options['sorts']['created']['granularity'] = 'minute';
   /* Filter criterion: Content: Published */
   $handler->display->display_options['filters']['status']['id'] = 'status';
   $handler->display->display_options['filters']['status']['table'] = 'node';
diff --git a/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.features_overrides.inc b/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.features_overrides.inc
index 2aad9b0e00b23269dc70c469f685ad8d45d37d9b..88fe9effddfc1958253ea68fc67bce1adf13c6cd 100644
--- a/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.features_overrides.inc
+++ b/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.features_overrides.inc
@@ -59,7 +59,7 @@ function ocio_panels_settings_features_override_default_overrides() {
       ),
       'css' => array(),
       'extras' => array(),
-      'position' => 3,
+      'position' => 4,
       'locks' => array(),
       'uuid' => '08dde41f-c835-4e3a-b0ef-28191ff0275d',
     );
@@ -82,7 +82,7 @@ function ocio_panels_settings_features_override_default_overrides() {
       ),
       'css' => array(),
       'extras' => array(),
-      'position' => 4,
+      'position' => 5,
       'locks' => array(),
       'uuid' => '13dff848-cce9-4135-9dcc-dab92cb83895',
     );
@@ -106,7 +106,7 @@ function ocio_panels_settings_features_override_default_overrides() {
       ),
       'css' => array(),
       'extras' => array(),
-      'position' => 5,
+      'position' => 3,
       'locks' => array(),
       'uuid' => '3dbe9a87-780b-4039-bb07-723f5c8bca58',
     );
@@ -237,9 +237,9 @@ function ocio_panels_settings_features_override_default_overrides() {
   $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|0"] = 'new-71e8c64f-55c3-40b6-ab0d-a93547057e44';
   $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|1"] = 'new-da419228-f10f-48ea-9972-7398d723c22c';
   $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|2"] = 'new-5d180289-633a-4162-b192-a1314cce1e4c';
-  $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|3"] = 'new-08dde41f-c835-4e3a-b0ef-28191ff0275d';
-  $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|4"] = 'new-13dff848-cce9-4135-9dcc-dab92cb83895';
-  $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|5"] = 'new-3dbe9a87-780b-4039-bb07-723f5c8bca58';
+  $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|3"] = 'new-3dbe9a87-780b-4039-bb07-723f5c8bca58';
+  $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|4"] = 'new-08dde41f-c835-4e3a-b0ef-28191ff0275d';
+  $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|5"] = 'new-13dff848-cce9-4135-9dcc-dab92cb83895';
   $overrides["page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|6"]["DELETED"] = TRUE;
   $overrides["page_manager_handlers.node_edit_panel_context.weight"] = -29;
 
diff --git a/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.inc b/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.inc
index b8e59a435b685aa6fe964929fa43a0799535afdf..aa706211c55e0219e3c51a262c23e7344d8f19fb 100644
--- a/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.inc
+++ b/profiles/wcm_base/modules/custom/ocio_panels_settings/ocio_panels_settings.features.inc
@@ -71,7 +71,7 @@ function ocio_panels_settings_default_page_manager_handlers_alter(&$data) {
           ),
           'css' => array(),
           'extras' => array(),
-          'position' => 3,
+          'position' => 4,
           'locks' => array(),
           'uuid' => '08dde41f-c835-4e3a-b0ef-28191ff0275d',
         ); /* WAS: '' */
@@ -94,7 +94,7 @@ function ocio_panels_settings_default_page_manager_handlers_alter(&$data) {
           ),
           'css' => array(),
           'extras' => array(),
-          'position' => 4,
+          'position' => 5,
           'locks' => array(),
           'uuid' => '13dff848-cce9-4135-9dcc-dab92cb83895',
         ); /* WAS: '' */
@@ -117,7 +117,7 @@ function ocio_panels_settings_default_page_manager_handlers_alter(&$data) {
           ),
           'css' => array(),
           'extras' => array(),
-          'position' => 5,
+          'position' => 3,
           'locks' => array(),
           'uuid' => '3dbe9a87-780b-4039-bb07-723f5c8bca58',
         ); /* WAS: '' */
@@ -242,9 +242,9 @@ function ocio_panels_settings_default_page_manager_handlers_alter(&$data) {
     $data['node_edit_panel_context']->conf['display']->panels['sidebar'][0] = 'new-71e8c64f-55c3-40b6-ab0d-a93547057e44'; /* WAS: 'new-373bd769-1e08-4ec5-85b6-0a1d2fc759fd' */
     $data['node_edit_panel_context']->conf['display']->panels['sidebar'][1] = 'new-da419228-f10f-48ea-9972-7398d723c22c'; /* WAS: 'new-51126c95-cf51-4ad6-a27a-11e4260d8023' */
     $data['node_edit_panel_context']->conf['display']->panels['sidebar'][2] = 'new-5d180289-633a-4162-b192-a1314cce1e4c'; /* WAS: 'new-99f6c0bd-36fd-411b-9833-c0be0fab7548' */
-    $data['node_edit_panel_context']->conf['display']->panels['sidebar'][3] = 'new-08dde41f-c835-4e3a-b0ef-28191ff0275d'; /* WAS: 'new-e38ab3a3-24d0-4ac2-900e-4ddb0248be0c' */
-    $data['node_edit_panel_context']->conf['display']->panels['sidebar'][4] = 'new-13dff848-cce9-4135-9dcc-dab92cb83895'; /* WAS: 'new-9176b962-e64f-44a6-8ebe-e03ebf0f6c3d' */
-    $data['node_edit_panel_context']->conf['display']->panels['sidebar'][5] = 'new-3dbe9a87-780b-4039-bb07-723f5c8bca58'; /* WAS: 'new-6e4a98d8-3738-41b9-8c33-4b4c905c6834' */
+    $data['node_edit_panel_context']->conf['display']->panels['sidebar'][3] = 'new-3dbe9a87-780b-4039-bb07-723f5c8bca58'; /* WAS: 'new-e38ab3a3-24d0-4ac2-900e-4ddb0248be0c' */
+    $data['node_edit_panel_context']->conf['display']->panels['sidebar'][4] = 'new-08dde41f-c835-4e3a-b0ef-28191ff0275d'; /* WAS: 'new-9176b962-e64f-44a6-8ebe-e03ebf0f6c3d' */
+    $data['node_edit_panel_context']->conf['display']->panels['sidebar'][5] = 'new-13dff848-cce9-4135-9dcc-dab92cb83895'; /* WAS: 'new-6e4a98d8-3738-41b9-8c33-4b4c905c6834' */
     $data['node_edit_panel_context']->weight = -29; /* WAS: 0 */
     unset($data['node_edit_panel_context']->conf['display']->content['new-373bd769-1e08-4ec5-85b6-0a1d2fc759fd']);
     unset($data['node_edit_panel_context']->conf['display']->content['new-51126c95-cf51-4ad6-a27a-11e4260d8023']);
diff --git a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_base.inc b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_base.inc
index 5082166efacf583c0bb88dd4ec30f7b18d8bdd10..6a6c72d6e5aff1d30891fceb396b7c9743abd22a 100644
--- a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_base.inc
+++ b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_base.inc
@@ -10,21 +10,39 @@
 function ocio_taxonomy_field_default_field_bases() {
   $field_bases = array();
 
-  // Exported field_base: 'field_tags'
-  $field_bases['field_tags'] = array(
+  // Exported field_base: 'field_file_tags'
+  $field_bases['field_file_tags'] = array(
     'active' => 1,
-    'cardinality' => -1,
+    'cardinality' => 1,
     'deleted' => 0,
     'entity_types' => array(),
-    'field_name' => 'field_tags',
-    'foreign keys' => array(
+    'field_name' => 'field_file_tags',
+    'indexes' => array(
       'tid' => array(
-        'columns' => array(
-          'tid' => 'tid',
+        0 => 'tid',
+      ),
+    ),
+    'locked' => 0,
+    'module' => 'taxonomy',
+    'settings' => array(
+      'allowed_values' => array(
+        0 => array(
+          'vocabulary' => 'wcm_file_tags',
+          'parent' => 0,
         ),
-        'table' => 'taxonomy_term_data',
       ),
     ),
+    'translatable' => 0,
+    'type' => 'taxonomy_term_reference',
+  );
+
+  // Exported field_base: 'field_tags'
+  $field_bases['field_tags'] = array(
+    'active' => 1,
+    'cardinality' => -1,
+    'deleted' => 0,
+    'entity_types' => array(),
+    'field_name' => 'field_tags',
     'indexes' => array(
       'tid' => array(
         0 => 'tid',
diff --git a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_instance.inc b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_instance.inc
index 33bd2d8e05a4d64ed13a16ce3d9dbb5a65b5338a..6aa153dc626db9cd6190c93260adc99dbc00c489 100644
--- a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_instance.inc
+++ b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.field_instance.inc
@@ -10,6 +10,240 @@
 function ocio_taxonomy_field_default_field_instances() {
   $field_instances = array();
 
+  // Exported field_instance: 'file-audio-field_file_tags'
+  $field_instances['file-audio-field_file_tags'] = array(
+    'bundle' => 'audio',
+    'default_value' => NULL,
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'default' => array(
+        'label' => 'above',
+        'module' => 'taxonomy',
+        'settings' => array(),
+        'type' => 'taxonomy_term_reference_link',
+        'weight' => 0,
+      ),
+      'preview' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'teaser' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+    ),
+    'ds_extras_field_template' => '',
+    'entity_type' => 'file',
+    'field_name' => 'field_file_tags',
+    'label' => 'Tags',
+    'required' => 0,
+    'settings' => array(
+      'user_register_form' => FALSE,
+      'wysiwyg_override' => 1,
+    ),
+    'widget' => array(
+      'active' => 0,
+      'module' => 'taxonomy',
+      'settings' => array(
+        'autocomplete_path' => 'taxonomy/autocomplete',
+        'size' => 60,
+      ),
+      'type' => 'taxonomy_autocomplete',
+      'weight' => -3,
+    ),
+  );
+
+  // Exported field_instance: 'file-document-field_file_tags'
+  $field_instances['file-document-field_file_tags'] = array(
+    'bundle' => 'document',
+    'default_value' => NULL,
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'default' => array(
+        'label' => 'above',
+        'module' => 'taxonomy',
+        'settings' => array(),
+        'type' => 'taxonomy_term_reference_link',
+        'weight' => 2,
+      ),
+      'preview' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'teaser' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+    ),
+    'ds_extras_field_template' => '',
+    'entity_type' => 'file',
+    'field_name' => 'field_file_tags',
+    'label' => 'Tags',
+    'required' => 0,
+    'settings' => array(
+      'user_register_form' => FALSE,
+      'wysiwyg_override' => 1,
+    ),
+    'widget' => array(
+      'active' => 0,
+      'module' => 'taxonomy',
+      'settings' => array(
+        'autocomplete_path' => 'taxonomy/autocomplete',
+        'size' => 60,
+      ),
+      'type' => 'taxonomy_autocomplete',
+      'weight' => -1,
+    ),
+  );
+
+  // Exported field_instance: 'file-image-field_file_tags'
+  $field_instances['file-image-field_file_tags'] = array(
+    'bundle' => 'image',
+    'default_value' => NULL,
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'default' => array(
+        'label' => 'above',
+        'module' => 'taxonomy',
+        'settings' => array(),
+        'type' => 'taxonomy_term_reference_link',
+        'weight' => 5,
+      ),
+      'image_full' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'image_large' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'image_left' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'image_max' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'image_right' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'image_small' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'preview' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+    ),
+    'ds_extras_field_template' => '',
+    'entity_type' => 'file',
+    'field_name' => 'field_file_tags',
+    'label' => 'Tags',
+    'required' => 0,
+    'settings' => array(
+      'user_register_form' => FALSE,
+      'wysiwyg_override' => 1,
+    ),
+    'widget' => array(
+      'active' => 0,
+      'module' => 'taxonomy',
+      'settings' => array(
+        'autocomplete_path' => 'taxonomy/autocomplete',
+        'size' => 60,
+      ),
+      'type' => 'taxonomy_autocomplete',
+      'weight' => 2,
+    ),
+  );
+
+  // Exported field_instance: 'file-video-field_file_tags'
+  $field_instances['file-video-field_file_tags'] = array(
+    'bundle' => 'video',
+    'default_value' => NULL,
+    'deleted' => 0,
+    'description' => '',
+    'display' => array(
+      'default' => array(
+        'label' => 'above',
+        'module' => 'taxonomy',
+        'settings' => array(),
+        'type' => 'taxonomy_term_reference_link',
+        'weight' => 3,
+      ),
+      'preview' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'video_left' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'video_max' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+      'video_right' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
+    ),
+    'ds_extras_field_template' => '',
+    'entity_type' => 'file',
+    'field_name' => 'field_file_tags',
+    'label' => 'Tags',
+    'required' => 0,
+    'settings' => array(
+      'user_register_form' => FALSE,
+      'wysiwyg_override' => 1,
+    ),
+    'widget' => array(
+      'active' => 0,
+      'module' => 'taxonomy',
+      'settings' => array(
+        'autocomplete_path' => 'taxonomy/autocomplete',
+        'size' => 60,
+      ),
+      'type' => 'taxonomy_autocomplete',
+      'weight' => -2,
+    ),
+  );
+
   // Exported field_instance: 'node-article-field_tags'
   $field_instances['node-article-field_tags'] = array(
     'bundle' => 'article',
@@ -40,6 +274,12 @@ function ocio_taxonomy_field_default_field_instances() {
         'type' => 'ds_taxonomy_separator',
         'weight' => 3,
       ),
+      'search_index' => array(
+        'label' => 'above',
+        'settings' => array(),
+        'type' => 'hidden',
+        'weight' => 0,
+      ),
       'teaser' => array(
         'label' => 'above',
         'settings' => array(),
diff --git a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.taxonomy.inc b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.taxonomy.inc
index 97838258838ec4128a5018e911480a0076923621..f77cb9a9ef9be8b7e386295c86d89e5a24945c02 100644
--- a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.taxonomy.inc
+++ b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.features.taxonomy.inc
@@ -15,7 +15,15 @@ function ocio_taxonomy_taxonomy_default_vocabularies() {
       'description' => '',
       'hierarchy' => 0,
       'module' => 'taxonomy',
-      'weight' => 0,
+      'weight' => -9,
+    ),
+    'wcm_file_tags' => array(
+      'name' => 'File Tags',
+      'machine_name' => 'wcm_file_tags',
+      'description' => '',
+      'hierarchy' => 0,
+      'module' => 'taxonomy',
+      'weight' => -8,
     ),
   );
 }
diff --git a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.info b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.info
index 5507a9e18617557a8b2fa3c42e51e0a6af0b376a..191ae1903fa9d6ca7c9d0603d7268eecb082c414 100644
--- a/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.info
+++ b/profiles/wcm_base/modules/custom/ocio_taxonomy/ocio_taxonomy.info
@@ -10,13 +10,18 @@ dependencies[] = taxonomy
 dependencies[] = uuid
 dependencies[] = uuid_features
 features[features_api][] = api:2
+features[field_base][] = field_file_tags
 features[field_base][] = field_tags
+features[field_instance][] = file-audio-field_file_tags
+features[field_instance][] = file-document-field_file_tags
+features[field_instance][] = file-image-field_file_tags
+features[field_instance][] = file-video-field_file_tags
 features[field_instance][] = node-article-field_tags
 features[taxonomy][] = ocio_tags
+features[taxonomy][] = wcm_file_tags
 features[uuid_term][] = 11c488a9-c4d6-41d2-9f5a-7e1aff2465bc
 features[uuid_term][] = 3f36288d-48cb-4a01-a725-dee41084db61
 features[uuid_term][] = 48e6d0a8-38df-445c-b739-efe08f048cb6
 features[uuid_term][] = 6cd2714c-91a5-4b78-8f36-ee2f613380fc
 features[uuid_term][] = 958c7ff0-5741-4954-aad7-c35a2c6cc0cc
 features[uuid_term][] = 9f57971f-1cbf-4b2b-a0df-262d2ea80f64
-mtime = 1422132576
diff --git a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.features_overrides.inc b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.features_overrides.inc
index 7888536c6064f468006f2c194632ebb6ca8c2e67..22f68bd120662de8ddde892d7dd6c66d142c6eaa 100644
--- a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.features_overrides.inc
+++ b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.features_overrides.inc
@@ -11,9 +11,6 @@ function ocio_workbench_features_override_default_overrides() {
   // This code is only used for UI in features. Exported alters hooks do the magic.
   $overrides = array();
 
-  // Exported overrides for: variable
-  $overrides["variable.views_defaults.value|workbench_files"] = TRUE;
-
   // Exported overrides for: views_view
   $overrides["views_view.workbench_edited.display|page_1|display_options|path"] = 'admin/workbench/my/edits';
   $overrides["views_view.workbench_files.display|default|display_options|empty"] = array(
diff --git a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.inc b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.inc
index 8f65ceedf12b4b78fac30c087d9cc3d9624e6c9a..befa9ce8571b215e2c4e088d8b83adb1b40e331f 100644
--- a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.inc
+++ b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.features.inc
@@ -11,15 +11,6 @@ function ocio_workbench_views_api($module = NULL, $api = NULL) {
   return array("api" => "3.0");
 }
 
-/**
- * Implements hook_strongarm_alter().
- */
-function ocio_workbench_strongarm_alter(&$data) {
-  if (isset($data['views_defaults'])) {
-    $data['views_defaults']->value['workbench_files'] = TRUE; /* WAS: '' */
-  }
-}
-
 /**
  * Implements hook_views_default_views_alter().
  */
diff --git a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.info b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.info
index 6082d4e44235513d5dbdeb87a230c882f6dac53c..c28dc2368f4705728fcd3131ad2499095e8cdff1 100644
--- a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.info
+++ b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.info
@@ -10,15 +10,12 @@ dependencies[] = views
 dependencies[] = workbench
 dependencies[] = workbench_media
 dependencies[] = workbench_moderation
-dependencies[] = workbench_moderation
-dependencies[] = workbench_moderation
 features[ctools][] = views:views_default:3.0
 features[features_api][] = api:2
 features[features_override_items][] = views_view.workbench_edited
 features[features_override_items][] = views_view.workbench_files
 features[features_override_items][] = views_view.workbench_moderation
 features[features_override_items][] = views_view.workbench_recent_content
-features[features_overrides][] = variable.views_defaults.value|workbench_files
 features[features_overrides][] = views_view.workbench_edited.display|page_1|display_options|path
 features[features_overrides][] = views_view.workbench_files.display|default|display_options|empty
 features[features_overrides][] = views_view.workbench_files.display|default|display_options|fields|filename|link_to_file
@@ -54,4 +51,3 @@ features_exclude[features_overrides][views_view.workbench_recent_content.display
 features_exclude[features_overrides][views_view.workbench_recent_content.display|page_1|display_options|tab_options] = views_view.workbench_recent_content.display|page_1|display_options|tab_options
 features_exclude[features_overrides][views_view.workbench_recent_content.display|block_1|display_options|defaults|title] = views_view.workbench_recent_content.display|block_1|display_options|defaults|title
 features_exclude[features_overrides][views_view.workbench_recent_content.display|block_1|display_options|title] = views_view.workbench_recent_content.display|block_1|display_options|title
-mtime = 1424705296
diff --git a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.views_default.inc b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.views_default.inc
index 84ce919d041835a620b8881eb4e347fdef110c03..b95a5795afa3b146f26928b3f54a2ff010722c4f 100644
--- a/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.views_default.inc
+++ b/profiles/wcm_base/modules/custom/ocio_workbench/ocio_workbench.views_default.inc
@@ -187,6 +187,26 @@ function ocio_workbench_views_default_views() {
     6 => 0,
     3 => 0,
   );
+  /* Filter criterion: File: Tags (field_file_tags) */
+  $handler->display->display_options['filters']['field_file_tags_tid']['id'] = 'field_file_tags_tid';
+  $handler->display->display_options['filters']['field_file_tags_tid']['table'] = 'field_data_field_file_tags';
+  $handler->display->display_options['filters']['field_file_tags_tid']['field'] = 'field_file_tags_tid';
+  $handler->display->display_options['filters']['field_file_tags_tid']['exposed'] = TRUE;
+  $handler->display->display_options['filters']['field_file_tags_tid']['expose']['operator_id'] = 'field_file_tags_tid_op';
+  $handler->display->display_options['filters']['field_file_tags_tid']['expose']['label'] = 'Tag';
+  $handler->display->display_options['filters']['field_file_tags_tid']['expose']['operator'] = 'field_file_tags_tid_op';
+  $handler->display->display_options['filters']['field_file_tags_tid']['expose']['identifier'] = 'field_file_tags_tid';
+  $handler->display->display_options['filters']['field_file_tags_tid']['expose']['remember_roles'] = array(
+    2 => '2',
+    1 => 0,
+    5 => 0,
+    4 => 0,
+    7 => 0,
+    6 => 0,
+    3 => 0,
+  );
+  $handler->display->display_options['filters']['field_file_tags_tid']['type'] = 'select';
+  $handler->display->display_options['filters']['field_file_tags_tid']['vocabulary'] = 'wcm_file_tags';
 
   /* Display: Page */
   $handler = $view->new_display('page', 'Page', 'page_1');
diff --git a/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.features.wysiwyg.inc b/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.features.wysiwyg.inc
index b046bfe8b09af6c65ab8f98bf56018e45a4ae64c..92a29331f44bd21a8395e1c99b960784d2064eaa 100644
--- a/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.features.wysiwyg.inc
+++ b/profiles/wcm_base/modules/custom/ocio_wysiwyg/ocio_wysiwyg.features.wysiwyg.inc
@@ -32,6 +32,7 @@ function ocio_wysiwyg_wysiwyg_default_profiles() {
           'BulletedList' => 1,
           'NumberedList' => 1,
           'Unlink' => 1,
+          'Anchor' => 1,
           'Blockquote' => 1,
           'HorizontalRule' => 1,
           'Paste' => 1,
diff --git a/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.no-query.css b/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.no-query.css
index d958c554103eaa86b7707188e9053976db4721ed..d2bd7a04cf7c4d2dd59526b8871a4d4f362b659a 100644
--- a/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.no-query.css
+++ b/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.no-query.css
@@ -3334,24 +3334,26 @@ a#skip:active:hover, a#skip:focus:hover {
 .pane-ocio-news-archive-trio-pane h2.pane-title {
   font-size: 28px;
   font-size: 2.8rem;
-  border-bottom: 1px solid #b00;
-  padding-bottom: 0.1em;
-  margin-bottom: 0;
+  margin-bottom: 0.2em;
 }
 .pane-ocio-news-archive-trio-pane .view-header {
-  margin-top: -1.6em;
-  margin-bottom: 2.4em;
+  border-bottom: 1px solid #b00;
+  margin-bottom: 1.4em;
 }
 .pane-ocio-news-archive-trio-pane a.more-link, .pane-ocio-news-archive-trio-pane a.field--name-node-link {
-  margin-top: 0.2em;
+  margin-top: -2.0em;
   font-weight: 400;
   color: #2d2d2d;
-  font-size: 14px;
+  font-size: 13px;
+  float: right;
 }
 .pane-ocio-news-archive-trio-pane a.more-link:hover, .pane-ocio-news-archive-trio-pane a.field--name-node-link:hover {
   text-decoration: none;
   color: #028da9;
 }
+.pane-ocio-news-archive-trio-pane .views-row {
+  margin-bottom: 3em;
+}
 .pane-ocio-news-archive-trio-pane .views-field-title h3 {
   font-size: 22px;
   font-size: 2.2rem;
@@ -3369,6 +3371,9 @@ a#skip:active:hover, a#skip:focus:hover {
   color: #2d2d2d;
   text-decoration: none;
 }
+.pane-ocio-news-archive-trio-pane .views-row {
+  margin-bottom: 1em;
+}
 .pane-ocio-news-archive-trio-pane .views-row-1 {
   width: 33.9%;
   float: left;
diff --git a/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.styles.css b/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.styles.css
index f9ab5a3e152b3057cd9894c1a9b2e7369abaf4fe..14c96472a4ff12870e0918cb5b8031d158ef5642 100644
--- a/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.styles.css
+++ b/profiles/wcm_base/themes/ocio_omega_base/css/ocio-omega-base.styles.css
@@ -3387,24 +3387,26 @@ a#skip:active:hover, a#skip:focus:hover {
 .pane-ocio-news-archive-trio-pane h2.pane-title {
   font-size: 28px;
   font-size: 2.8rem;
-  border-bottom: 1px solid #b00;
-  padding-bottom: 0.1em;
-  margin-bottom: 0;
+  margin-bottom: 0.2em;
 }
 .pane-ocio-news-archive-trio-pane .view-header {
-  margin-top: -1.6em;
-  margin-bottom: 2.4em;
+  border-bottom: 1px solid #b00;
+  margin-bottom: 1.4em;
 }
 .pane-ocio-news-archive-trio-pane a.more-link, .pane-ocio-news-archive-trio-pane a.field--name-node-link {
-  margin-top: 0.2em;
+  margin-top: -2.0em;
   font-weight: 400;
   color: #2d2d2d;
-  font-size: 14px;
+  font-size: 13px;
+  float: right;
 }
 .pane-ocio-news-archive-trio-pane a.more-link:hover, .pane-ocio-news-archive-trio-pane a.field--name-node-link:hover {
   text-decoration: none;
   color: #028da9;
 }
+.pane-ocio-news-archive-trio-pane .views-row {
+  margin-bottom: 3em;
+}
 .pane-ocio-news-archive-trio-pane .views-field-title h3 {
   font-size: 22px;
   font-size: 2.2rem;
@@ -3423,6 +3425,9 @@ a#skip:active:hover, a#skip:focus:hover {
   text-decoration: none;
 }
 @media (min-width: 47.5em) {
+  .pane-ocio-news-archive-trio-pane .views-row {
+    margin-bottom: 1em;
+  }
   .pane-ocio-news-archive-trio-pane .views-row-1 {
     width: 33.9%;
     float: left;
diff --git a/profiles/wcm_base/themes/ocio_omega_base/sass/components/views/_news.scss b/profiles/wcm_base/themes/ocio_omega_base/sass/components/views/_news.scss
index c51953b8eec940e8e8367cd7edf73d2b0998b526..a6cb3df73bdbc7caea12bbac5796812386a421e9 100644
--- a/profiles/wcm_base/themes/ocio_omega_base/sass/components/views/_news.scss
+++ b/profiles/wcm_base/themes/ocio_omega_base/sass/components/views/_news.scss
@@ -102,27 +102,29 @@
 	
 	h2.pane-title {
 		@include font-size(2.8);
-		border-bottom: 1px solid $red;
-		padding-bottom: 0.1em;
-		margin-bottom: 0;
+		margin-bottom: 0.2em;
 	}
 	
 	.view-header {
-		margin-top: -1.6em;
-		margin-bottom: 2.4em;
+		border-bottom: 1px solid $red;
+		margin-bottom: 1.4em;
 	}
 	
 	a.more-link {
-		margin-top: 0.2em;
+		margin-top: -2.0em;
 		font-weight: 400;
 		color: $dk-gray;
-		font-size: 14px;
+		font-size: 13px;
+		float: right;
 		
 		&:hover {
 			text-decoration: none;
 			color: $blue;
 		}
 	}
+	.views-row {
+		margin-bottom: 3em;
+	}
 	
 	.views-field-title h3 {
 		@include font-size(2.2);
@@ -144,6 +146,10 @@
 	
 	
 	@include breakpoint($tab, true){
+		
+		.views-row {
+			margin-bottom: 1em;
+		}
 		.views-row-1 {
 			width: 33.9%;
 			float: left;
diff --git a/profiles/wcm_base/wcm_base.info b/profiles/wcm_base/wcm_base.info
index 88dc6b8059dae6505d23fca3b7aa97fb3ab544b5..1daadd7546d12ca298320691c33cfcc11a547e5b 100644
--- a/profiles/wcm_base/wcm_base.info
+++ b/profiles/wcm_base/wcm_base.info
@@ -56,6 +56,7 @@ dependencies[] = flexslider_views
 dependencies[] = override_node_options
 dependencies[] = panels_accordion
 dependencies[] = telephone
+dependencies[] = textformatter
 dependencies[] = uuid_features
 dependencies[] = views_bulk_operations
 dependencies[] = webform
diff --git a/profiles/wcm_base/wcm_base.make b/profiles/wcm_base/wcm_base.make
index 307de90d1c16826af51adb53e264415ff1bde552..9d26e94ffe30a5264136ec42af5753f8c3bd3587 100644
--- a/profiles/wcm_base/wcm_base.make
+++ b/profiles/wcm_base/wcm_base.make
@@ -71,6 +71,9 @@ projects[special_menu_items][subdir] = contrib
 projects[telephone][version] = 1.0-alpha1
 projects[telephone][subdir] = contrib
 
+projects[textformatter][version] = 1.3
+projects[textformatter][subdir] = contrib
+
 projects[token][version] = 1.5
 projects[token][subdir] = contrib