Configuring Bind Tuning Skins

advertisement
Configuring Bind Tuning Themes
Basics of Installing Bind Tuning skins in Hosted Environment
After ordering a bind tuning skin for the Office/365 environment (or any multi-tenant hosted
environment where you have no access at the server/farm level), you will get two templates one which
installs a bunch of style sheets into the Style Library and the other than adds master pages to whatever
sites the solutions are activated for.
The overall process for installing differs depending on whether or not the Publishing Infrastructure is
enabled on the site collection. Basically if the publishing infrastructure is enabled on the site collection
then most all the work can be done at the top level of the site collections and then “pushed” down to all
the subsites.
Note that when using the Bind Tuning themes the configurable and role driven top level navigation
structure that is available on many of the SP Marketplace themes can be used but we are
recommending that it not be used and the new releases of SP Marketplace products (particularly the
Sharepoint 2013 products and Release 4 of the 2010 products will not support the SPMP custom Top
level navigation structure)-- the quick launch (renamed current navigation with Publishing
infrastructure) should be used for navigation within a site.
Process with Publishing infrastructure enabled
All the below steps are done at the top level site for the site collection:
1. Site Settings – Under Site Collection verify that the SharePoint Server Publishing
Infratstructure is Active. If not activate it.
2. Site Settings – under Site Actions – Manage Site Features then Activate the Sharepoint
Server Publishing feature.
3. Upload and activate the two Bind Tuning solutions (e.g. Zeus.SPO.wsp and
ZeusPackage.SPO.wsp)
4. On the top level site in the site collection go to Site Settings- under Site actions -Manage
Site Features
a. Activate the Bind tuning feature Name Package (e.g. Zeus Package)
b. Activate the Bind Tuning feature Name Theme (e.g. Zeus Theme)
5. On the top level site, View all Site Content, then Open the Style Library, then the bind
tuning folder (for example, Zeus), and make sure all files under that folder are checked in
and approved. In some situations all the Bind Tuning files end up checked out. In that
case you need to check them in (as Major Version), then optionally if required- publish as a
new version and then approve each file. This depends on whether or not the Style Library
is setup to require approvals, i.e. require content approval for submitted items. Note be
sure to open the Images folder and checkin those files also.
6. Site Settings then Master pages and page layouts, there you will see new master pages as
a result of step 4. Download a copy of the primary Bind Tuning master template( e.g. for
Zeus it would be Zeus.Master , for some of the other options like SPC that provides lots of
master page options pick the one that matches your needs (e.g, Home_Sidebar.Master).
Downloading a copy probably may require that you first check it out but usually the bind
tuning master pages will be draft form in the Master page library. After Downloading the
copy you can Discard the Check Out as we are going to change the name before we upload
the modified master page basically for safety purposes.
7. Rename the master page in your local folder to SP_Name or any other name you would
like to use to uniquely track this about to be modified master page.
8. Edit the renamed Master page, Notepad can be used or Sharepoint Designer or any other
line editing tool. Make the following changes
a. Using notepad scroll down abit and you will see the following code just before the
</head> tag.
The code in the box above is bind tuning’s way to include the Jquery library. Since this
code invokes a Jquery version that is not compatible with the JQuery version we use,
delete this block of code and replace it with the following two scriptlinks which will use
our JQuery and SPservices javascript routines which are in the JQuery library. Once this
is done the resulting master page will only be usable with SPMP products since it
requires a JQuery library.
<SharePoint:Scriptlink runat="server" Name="~site/JQuery/jquery-1.8.2.min.js"
Language="javascript"/>
<SharePoint:Scriptlink runat="server" Name="~site/JQuery/jquery.SPServices0.7.2.min.js" Language="javascript"/>
For Sharepoint 2013 the above reference to Jquery.spservices should be changed to
jquery.SPServices-2013.01.min.js (and double check that the JQuery Library has
Jquery.SPServices-2013.01.min.js and not only without the .min).
b. If you want to use Bind Tuning Quick launch accordion (hover type) then find the
following tag
<div class="s4-notdlg" id="MenuV"> and replace it with
<div class="accordion s4-notdlg" id="MenuV">
This may not work on all bind tuning templates but it does on some. Sometimes you
may have to search for just id=”MenuV” and then add accordion to the class element.
c. If you want to use the SPMarketplace accordion for quick launch then search for the
following tag:
<div class="s4-notdlg pane w100"><asp:ContentPlaceHolder ID="LeftZone" directly
above that </div> which preceeds that tag insert javascript below or look for the
following set of lines and insert after </Script>
JQuery(function ($) {
<script type="text/javascript">
jQuery(function($) {
$('#MenuV .MenuBar
ul.root').BindMENU({MenuStyle:$('#MenuV').attr('class'),Orientation:"Vertical"});
});
</script>
Lines to insert are:
<script type="text/javascript">
jQuery(function($) {
$('#MenuV .MenuBar
ul.root').BindMENU({MenuStyle:$('#MenuV').attr('class'),Orientation:"Vertical"});
});
</script>
<script type="text/javascript">
//$(document).ready(function() {
if(document.location.pathname.indexOf("usageDetails.aspx")==-1){
$("div.menu-vertical>ul.root>li.static>a").toggle(
function () {
$(">ul", $(this).parent()).show("fast");
},
function () {
$(">ul", $(this).parent()).hide("fast");
}
);
$("div.menu-vertical>ul.root>li.static>ul.static").css("display","none");
var s = $("div.menu-vertical>ul.root>li.static>ul.static>li.selected").parent();
var p=s.parent();
p.find('ul').css("display","");
}
// });
</script>
This technique will work for some Bind Tuning Themes but not all. Works for Zeus,
Metro but not for SPC. This modified section should then look like:
For Sharepoint 2013 replace the above with the following (similar to what has to be
done for SPMP Seattle master page.
<script type="text/javascript">
if (document.location.pathname.indexOf("usageDetails.aspx") == -1) {
$("div.ms-core-listMenu-verticalBox>ul.root>li.static>a").toggle(
function () {
$(">ul", $(this).parent()).show("fast");
},
function () {
$(">ul", $(this).parent()).hide("fast");
}
);
$("div.ms-core-listMenuverticalBox>ul.root>li.static>ul.static").css("display", "none");
var s = $("div.ms-core-listMenuverticalBox>ul.root>li.static>ul.static>li.selected").parent();
var p = s.parent();
p.find('ul').css("display", "");
}
</script>
d. If you want to hide the first tab in the quick launch if you don’t have ManageList
permissions, place the following code before the /head tag
<style type="text/css">
/* mainlinks */
.menu-vertical > ul.root > li.static:first-child > .menu-item{
display:none;
}
/* Sublinks */
.menu-vertical > ul.root > li.static:first-child > ul.static {
display:none;
}
</style>
<SharePoint:SPSecurityTrimmedControl ID="sitePerms"
PermissionsString="ManageLists" runat="server">
<style type="text/css">
/* mainlinks */
.menu-vertical > ul.root > li.static:first-child > .menu-item{
display:block;
}
/* Sublinks */
.menu-vertical > ul.root > li.static:first-child > ul.static {
display:block;
}
</style>
</SharePoint:SPSecurityTrimmedControl>
9. For some skins you may want to put a background image in the header in those situations –
look for this Line:
<div class="s4-notdlg" id="HeaderAreaShadow"></div>
And replace it with Img.
An example is the following:
<div class="s4-notdlg" id="HeaderAreaShadow"><img alt=""
src="/Intranet/SiteAssets/Images/intranet%20BG.jpg" width="100%"" height="120"
class="s4-notdlg" /></div>
10. Note: This step should not be required if the Bind Tuning skin was correctly ordered!!! If
you want to remove the language and register icons in upper right corner, add
Style=”Display:None;” to the following two div lines:
<div class="s4-notdlg" id="User"><a href="#" class="User"
id="BindUSER">Register</a></div>
<div class="s4-notdlg" id="Language"><a class="Language selected" href="#"><IMG
border=0 src="/Style Library/Zeus/images/Flags/en-US.gif"></a><a class="Language"
href="#"><IMG border=0 src="/Style Library/Zeus/images/Flags/pt-PT.gif"></a></div>
11. Note: This step should not be required if the Bind Tuning skin was correctly ordered!!! To
remove the Terms and Privacy at the bottom of the page, add Style=”Display:None;” to the
two <span id= lines toward the bottom of the master page. Here are the lines:
<span id="Privacy"><a onclick="return false" href="#" class="Privacy">Read about
privacy</a></span>
<span id="Terms"><a onclick="return false" href="#" class="Terms">Read our
terms</a></span>
12. Now save this modified master page and upload it to the masterpages (Site Settings then
Master pages). When uploading select the content type of Publishing Master Page. After
uploading you will need to check it in, then publish it (since it will be uploaded as a draft,
then approve it. Now it will be available to be used in the site collection.
13. On the top site in the collection- Site Settings – under Look and Feel, select Master Page.
On the Site Master Page Settings page select your just created Master Page for both the
Site Master Page and the System Master Page and check the Reset all subsites to inherit
this site master page setting for both the Site Master Page and the System Master Page.
Checking this option will push this selected master page to all subsites below. If at any
time you want some site with the site collection and the sites below it to use a different
master page, then all you need to do is enable Sharepoint Server Publishing feature for
that site, then select a different master page as described above.
Note that this change will result in hiding the top tab in the Quick Launch for all sites – if that is
not desirable then you need to only select this Master page on the Intranet top level site and
push it to its subordinate sites.
14. If you create a new subsite after this process it may not automatically inherit its master
page so you may need to repeat step 10 – you don’t need to select a new master page just
check the reset all subsites box but beware if you any subsites that have a different master
page they will all be reset below the site you are changing.
15. Sharepoint 2013 – you need to upload the new Master file as an ASP Master File into the
same folder as the Bind tuning master page. In some instances where publish is greyed
out you must then check it out and then check it back in. During the check back in process
you will be able to publish as a major version and then it will show up on the list of master
pages that can be selected.
Process without Publishing infrastructure enabled
For the top level site that you want the Bind Tuning skin. Do the following:
1. Upload and activate the two Bind Tuning solutions
2. In the top level site for the site collection go to Site Settings- under Site actions -Manage
Site Features
a. Activate the Bind tuning feature Name Package (e.g. Zeus Package)
b. Activate the Bind Tuning feature Name Theme (e.g. Zeus Theme)
3. Open the SPMP product site in Sharepoint Designer, then copy the primary master page for
your selected Bind Tuning theme, paste it back and rename the copy to a more usable
name.
4. Edit the renamed Master page. Make the same changes described above for publishing
sites to this master page.
5. Now save this modified master page and in Sharepoint Designer ribbon with Master Pages
selected, highlight the new master page and Set as Default and Set as Custom. These two
actions make this the master page for this site.
6. Now select this master page and make a copy.
7. Open each subsite below this major site and then open in Sharepont Designer. Once in
Master Pages view paste in the copy you made number 6 above and repeat step 5.
The following step is may no longer required since the process above updates the Jquery library used.
Office 365 RSS Web Part – when using Bind Tuning skins their Master pages uses the latest release of
JQuery which now appears to incompatible with the Office/365 RSS Web Part. This can be fixed by
editing the web part (it is currently used on the Home page for the Intranet site as the bottom left hand
(or middle) web part. On the edit properties expand Miscellaneous and then check Use Solution’s
JQuery. This should fix rendering issues with that web part when Bind Tuning skins are used.
Download