Search This Blog

Loading...

Thursday, October 16, 2014

Microsoft SharePoint Foundation Web Application Service - To Run or Not Run

Scenario: Running Deployment Scripts that are publishing WSPs into a multi-server farm (2 front-ends, 1 App Server)

Microsoft SharePoint Foundation Web Application Service running in their environment (where the Foundation Web Application is running) is making the deployment go fine, where as the same in our environment is not running, so the script is failing.

Generally, if you run this service in a server, that makes that server as WFE (Web Front End) so, people prefer to have this stopped in App Servers. But there is a dependency on this with the “Microsoft SharePoint Foundation Workflow Timer Service” and since this is running as well in the App Server, the script is trying to deploy the solution in the App Server as well and since the Web Application Service is not running, the script is unable to deploy and throws errors.

Now you have 2 options:

1.       To stop the “Microsoft SharePoint Foundation Workflow Timer Service” and re-run the script and try how it works
2.       Second, to turn on the Web Application Service  on the App Server as well. Though it is not required or generally people don’t do it as a best practice, by leaving it on, it is not taking up any resources or it is not going to make the environment slow. The reason is – users always are hitting the WFEs only and thus the Foundation Web Application Service in the WFEs only invoke the IIS Web Sites, Load up the App Pools and start consuming memory
3.       Since direct requests are not going to come to the App Server, the Foundation Web Application Service running in the App Server will never have any job to do: so the memory over here will not be used



Saturday, October 11, 2014

Restore in SharePoint Online

Recently I got into a discussion on how recoverability actually works within SharePoint Online. Below are a few facts.

Site Collection Restore

  • Backups are taken every 12 hours and kept for 14 days.
  • In order to restore a site collection, you must contact technical support
  • The only supported restore option is a full site collection restore
  • The restore uses the same URL, so you will loose all the data that is currently hosted at that URL.

Recycle Bin

  • By default Sites, Lists, Libraries, Folders, Items and Documents will all go into the recycle bin.
  • If an end user empties his recycle bin, the content will be transferred into the site collection recycle bin.
  • A site collection administrator is able to restore items from the site collection recycle bin.
  • Items that have been deleted into the recycle bin will remain there for 30 days (I experienced that it might be a bit longer than 30 days).
  • The 30 days is the total length regardless weather the items are in the user recycle bin or in the site collection recycle bin.

Versioning

  • It is possible to turn on versioning on documents and items in SharePoint Online.
  • If versioning is turned on and no limit has been set on the amount of versions to keep, you can go back in time for as long as you want.
  • If you delete something into the recycle bin, all versions will be delete as well.
  • If you restore something from the recycle bin back into a library, all versions will be restore as well.
  • If you have set to keep only 3 major and 3 minor versions, the oldest versions will be purged once a new version is being created.

Examples

So let’s say that if a user deletes an item and waits 35 days, the item will be gone.  If they contact technical support, we can request a restore from a backup taken up to 14 days prior, so we could restore the entire site collection back to a point where the item is still in the recycle bin and is capable of being retrieved.  As we would be restoring the entire site collection, all data from the point of the backup to current would be lost.
Let’s say that we have turned on versioning and set to keep only 3 major and 3 minor versions. If we already created 3 major versions and we create a new one, the oldest major version will be purged. In order to restore this purged version, we would need to restore the complete site collection up to a point where the version is still there so we can restore it from the version history.

3rd party solutions

Note that there are 3rd party solution out there that are capable of migrating content from an on-premise environment into SharePoint Online. Usually if these tools are able to migrate content into SharePoint Online, they are able to grab content from SharePoint Online as well. Below are some 3rd party solutions that might be able to create interim backups of SharePoint Online as well.
There are also ways to manually export some of the data yourself using for example Outlook or SharePoint Workspace. Please see this post from a colleague of mine for more information.

Friday, October 10, 2014

Upgrade SharePoint 2013's SQL Instance from SQL 2k8 R2 to SQL 2014

1. Install SP2 for SQL Server 2008 R2
Refer below versions:
SQL Server 2014 supports upgrade from the following versions of SQL Server:
SQL Server 2005 SP4 or later
SQL Server 2008 SP3 or later
SQL Server 2008 R2 SP2 or later
SQL Server 2012 SP1 or later

Refer: http://msdn.microsoft.com/en-us/library/ms143393.aspx

2. Install SP1 for SP 2013
3. Upgrade from SQL2K8 R2 SP2 to SQL 2014
Refer: http://www.mssqltips.com/sqlservertip/3245/quick-guide-to-upgrading-to-sql-server-2014/
Be careful to select SharePoint instance
4. Restore QTA Backup


5. Install SP2 for SQL 2014

Wednesday, October 1, 2014

Applying Folder Up Navigation and Providing Bulge effect on Top Navigation Bar to SharePoint 2013 Site

When you upgrade from SharePoint 2010 to SharePoint 2013 or setup a new SharePoint 2013 site, many people feel that the SharePoint 2013 default look and feel is not as usable as how the default branding of SP 2010 is. It is white and blue and there are no lines, borders, panels, bulges - just nothing - it is all just plain. For a company which just wants to use the default branding, this could post a huge challenge.

Hence, this post talks about how you can bring folder up navigation as well as a bulge effect on the Top Navigation bar:

1.       Create a CSS file and name it as  Ex. MyBranding.CSS, that  file is to be placed in the  /Style Library/css/   Directory
2.       You can  the DCR CSS file from current default master page by using this syntax

d
<SharePoint:CssRegistration Name="/Style Library/css/MyBranding.css" After="corev15.css" runat="server" />

3.       Then Search for below keyword  in current default Master page

<div class="ms-breadcrumb-dropdownBox" style="display:none;">

4.       Delete the CSS attribute    style="display:none;"
5.       Two lines below change the visible attribute of the SharePoint:PopoutMenu as true
6.       After editing your code it, should look like as below,

<div class="ms-breadcrumb-dropdownBox">
<SharePoint:AjaxDelta id="DeltaBreadcrumbDropdown" runat="server">
                <SharePoint:PopoutMenu
                                Visible="true"
                                runat="server"
                                ID="GlobalBreadCrumbNavPopout"
                                IconUrl="/_layouts/15/images/spcommon.png?rev=27"
                                IconAlt="<%$Resources:wss,master_breadcrumbIconAlt%>"
                                ThemeKey="v15breadcrumb"
                                IconOffsetX="215"
                                IconOffsetY="120"
                                IconWidth="16"
                                IconHeight="16"
                                AnchorCss="ms-breadcrumb-anchor"
                                AnchorOpenCss="ms-breadcrumb-anchor-open"
                                MenuCss="ms-breadcrumb-menu ms-noList">
                                <div class="ms-breadcrumb-top">
                                                <asp:Label runat="server" CssClass="ms-breadcrumb-header" Text="<%$Resources:wss,master_breadcrumbHeader%>" />
                                </div>
                                <asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server"><SharePoint:ListSiteMapPath
                                runat="server"
                                SiteMapProviders="SPSiteMapProvider,SPContentMapProvider"
                                RenderCurrentNodeAsLink="false"
                                PathSeparator=""
                                CssClass="ms-breadcrumb"
                                NodeStyle-CssClass="ms-breadcrumbNode"
                                CurrentNodeStyle-CssClass="ms-breadcrumbCurrentNode"
                                RootNodeStyle-CssClass="ms-breadcrumbRootNode"
                                NodeImageOffsetX="217"
                                NodeImageOffsetY="210"
                                NodeImageWidth="16"
                                NodeImageHeight="16"
                                NodeImageUrl="/_layouts/15/images/spcommon.png?rev=27"
                                RTLNodeImageOffsetX="199"
                                RTLNodeImageOffsetY="210"
                                RTLNodeImageWidth="16"
                                RTLNodeImageHeight="16"
                                RTLNodeImageUrl="/_layouts/15/images/spcommon.png?rev=27"
                                HideInteriorRootNodes="true"
                                SkipLinkText="" />
                                </asp:ContentPlaceHolder>
                </SharePoint:PopoutMenu>
</SharePoint:AjaxDelta>
</div>


7.       Now your breadcrumb icon will not appear and to get it back, add the script below before the </body> tag in master page.

<script type="text/javascript">
document.getElementById("GlobalBreadCrumbNavPopout-anchor").innerHTML='<img style="border-width:0;position:absolute;left:-215px !important;top:-120px !important;" alt="Navigate Up" src="/_layouts/15/images/spcommon.png?rev=27">';
              </script>      

8.       Save the modified master page, check it and publish the major version.






9.       Output should be like as below,



10.   Now, for changing the breadcrumb icon position nearer to the title bar, cut the

<div class="ms-breadcrumb-dropdownBox"> full div block as in the table of 6th point and paste it in the below of this block.


<SharePoint:AjaxDelta id="DeltaSiteLogo" BlockElement="true" runat="server">
                                <SharePoint:SPSimpleSiteLink CssClass="ms-siteicon-a" runat="server" id="onetidProjectPropertyTitleGraphic" ><SharePoint:SiteLogoImage CssClass="ms-siteicon-img" name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/15/images/siteIcon.png?rev=23" runat="server"/></SharePoint:SPSimpleSiteLink>
                </SharePoint:AjaxDelta>
</div>

11.   For  the alignment of folder up navigation icon, we applying the following CSS code in DCR.CSS


.ms-breadcrumb-dropdownBox
 {
display: inline-block;
vertical-align: middle;
margin-top: 25px;
margin-left: 10px;
              }










12.   The final output  will be shown as below








a)    How the top navigation bulge effect has been applied in SharePoint 2013?

1.       Follow first two steps in previous section
2.       In Master page-> to look better, you can change the position of the top menu,
 Find and select the below div block.


<div class="ms-breadcrumb-box ms-tableCell ms-verticalAlignTop" id="ms-breadcrumb-box1">
<div class="ms-breadcrumb-top">

<SharePoint:AjaxDelta id="DeltaTopNavigation" BlockElement="true" CssClass="ms-displayInline ms-core-navigation" role="navigation" runat="server">
                <SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate"><Template_Controls>
                                                <asp:SiteMapDataSource
                                                                ShowStartingNode="False"
                                                                SiteMapProvider="SPNavigationProvider"
                                                                id="topSiteMap"
                                                                runat="server"
                                                                StartingNodeUrl="sid:1002"/>
                                </Template_Controls>
                </SharePoint:DelegateControl>
                <asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">
                                <SharePoint:AspMenu
                                                ID="TopNavigationMenu"
                                                Runat="server"
                                                EnableViewState="false"
                                                DataSourceID="topSiteMap"
                                                AccessKey="<%$Resources:wss,navigation_accesskey%>"
                                                UseSimpleRendering="true"
                                                UseSeparateCss="false"
                                                Orientation="Horizontal"
                                                StaticDisplayLevels="2"
                                                AdjustForShowStartingNode="true"
                                                MaximumDynamicDisplayLevels="2"
                                                SkipLinkText="" />
                </asp:ContentPlaceHolder>
</SharePoint:AjaxDelta>
                                                                </div>



And paste it in the below of following SharePoint block in master page

<div class="ms-tableCell ms-verticalAlignTop">
<SharePoint:AjaxDelta id="DeltaPlaceHolderSearchArea" BlockElement="true" CssClass="ms-mpSearchBox ms-floatRight" runat="server">
  <asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">
                <div id="searchInputBox">
                  <SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox" />
                </div>
  </asp:ContentPlaceHolder>
</SharePoint:AjaxDelta>
                                                </div>
                                </div>
                                </div>
                                </div>



3.       For applying menu bulge effect background, use the below CSS code

.ms-breadcrumb-top
 {
white-space: inherit;
margin-bottom: 0px;
background: rgba(240, 248, 255, 0.19);
background: url("/_layouts/images/selbg.png") repeat-x left top;
/*background-color: #f6f6f6;*/
vertical-align: middle;
min-height: 25px;
border-top: 1px solid #e0e0e0;
border-bottom: 1px solid #b8babd;
line-height: 25px;
}.ms-breadcrumb-box
 {
width: 100%;
background-color: #F6F6F6;
display: inline-table;
height: auto;
}

4.       For applying  selected menu  color effect , use the below CSS code


#zz13_RootAspMenu ul.static li.static.selected
{
border-color: #91cdf2;
border-bottom-color: #addbf7;
border-top-color: #c6e5f8;
background: url("/_layouts/images/selbg.png") repeat-x left top;
background-color: #ccebff;
color: #003759;
padding: 4px 5px;
margin: 0px 0px;
}
a.dynamic.menu-item.ms-core-listMenu-item.ms-displayInline.ms-navedit-linkNode{
margin: 0px -10px 0px -10px;
padding:5px;
}

a.dynamic.menu-item.ms-core-listMenu-item.ms-displayInline.ms-navedit-linkNode:hover {
background: #D9D9D9 !important;
margin: 0px -10px 0px -10px;
}

#DeltaTopNavigation .ms-core-listMenu-root a[accesskey="1"]{
               
                display:none;
}             
.ms-core-listMenu-horizontalBox > .ms-core-listMenu-root > .ms-listMenu-editLink {
margin-left: 39px;
}





5.       Set the positions and alignment by using this following CSS code.

a.dynamic.menu-item.ms-core-listMenu-item.ms-displayInline.ms-navedit-linkNode{
margin: 0px -10px 0px -10px;
padding:5px;
}

a.dynamic.menu-item.ms-core-listMenu-item.ms-displayInline.ms-navedit-linkNode:hover {
background: #D9D9D9 !important;
margin: 0px -10px 0px -10px;
}


6.       To fix the Overlapping menu, use this following CSS code.

#zz13_RootAspMenu
{
margin-left: -60px;
margin-bottom: 0px;
                }

7.       You can also apply Bulge effect for the header background to look better

#s4-titlerow {
margin-top: 0px;
margin-bottom: 0px;
padding-top: 5px;
padding-bottom: 5px;
background: url("/_layouts/images/bgximg.png") repeat-x -0px -1023px;
background-color: #f9f9f9;
}

#titleAreaBox {
margin: auto 20px;
width: 95%;
}







8.       For wrapping the menu, use the below CSS


.ms-breadcrumb-top {
white-space: inherit;
}


9.       Set the search box layout position

#SearchBox
{
margin-top:20px;
}

                                                                                                                      


10.   The final output will be shown as below,







Sunday, September 28, 2014

SharePoint Introduction and Bullet Points to get started!

·         2001 – STS – SharePoint Team Services
·         2003 – SharePoint Portal Server
·         2007 – Microsoft Office SharePoint Server (MOSS)
·         2010 – Microsoft SharePoint Server
·         2013 – Microsoft SharePoint Server
o   Editions
§  Foundation (Free)
§  Standard (Server + Standard CAL)
§  Enterprise (Server + Standard CAL + Additive CAL)
o   On-Premise
o   On-Demand (Cloud)
§  Private Cloud
§  Office 365
·         Exchange – Mail, outlook
·         SharePoint – Collaboration, Cloud Storage
·         Lync – Instant Messaging & Online Meetings
·         Yammer – Corporate Social Networking
·         Different Solutions that are possible using SharePoint
o   Intranet Portals
o   Extranet Portals
o   Internet Portals
o   Document Management Systems
o   Content Management Systems
o   eForms
o   Workflows
o   Business Intelligence Solutions
o   Search Solutions
o   Custom Applications on top of SharePoint
·         HW and SW Requirements (64 bit only) – Server
o   Hardware
§  4 cores in processor
§  RAM 8 GB : 16 GB
§  250 GB HDD
o   Software
§  Win 2008 R2 SP1 / Win 2012
§  SQL Server 2008 R2 SP1 / SQL 2012 / SQL 2014
·         Server Topology – SharePoint Server Farm
o   Stand-alone
o   Two Server
o   Three Server
o   4 servers
o   5 servers
o   Or above
·         SharePoint Project Roles
o   SharePoint Solution Architect
o   SharePoint Infrastructure Architect
o   SharePoint Power Users / Content Authors
o   SharePoint Developers
o   SharePoint Administrators
o   SharePoint Branding Engineers
·         SharePoint Application Structure
o   Web Application (Created by the SP Admin)
§  Site Collection (Created by SP Admin)
·         Site
o   Lists
o   Libraries
o   Apps     
o   Sub Site
·         Every Site Collection comes with one site – that is also called a Top Site or a Root Site