Dec 18, 2012

Project Manager Golden Rules


SharePoint Modal/Modern popup ( Light Box)

JavaScript to open the Modern popup


<p>
<strong>
<a id="A2" href="javascript:SP.UI.ModalDialog.OpenPopUpPage(&#39;/apps/em/SitePages/xyz.aspx&#39;, null, 600, 600);">
LINK123.
</a>
</strong>
</p>



Content Targeting based on Audiences

In SharePoint we can create audiences based on:

1) Windows Distribution List or Security Groups

2) Global Audiences using Rules in User Profile Services

3) SharePoint Groups

SharePoint Office Web Access

SharePoint capability of creating/viewing office documents in the browser itself although not all Office features are supported in Office Web Access.

Governance purpose you can enable Office Web Access only on some site collections as required to keep the Server Performance under check.

All About Office Web Access:


Installation Consideration to manage services and service application running in the SP Farm.

You need to differentiate between services and a service application. A service is a component that provides an output that can be utilized by an application. A service application is an application that is built to utilize one or more services that exist in the environment. Services in SharePoint 2010 are the foundation for service applications. Some of these services are associated with service applications. You deploy your service applications by starting the associated services on the desired server, selecting those same services when running the initial Configuration Wizard, or by using Windows PowerShell. The number of services running varies depending on the business requirements of your environment.

So for the Office Web App

We can have the services running (to support office web app i.e. Word/Excel Services) only on one Web Front End server and a separate server running service application (for office web app) to optimize performance as OWA eats ups lot of server resources compared to other features of SharePoint

SharePoint Visual WebParts

Visual Web Parts are integral part of SharePoint and best friend of developers.

In SharePoint 2010 Visual Web Parts can't be used in sand box solution.

To overcome this you can use:
Visual Studio 2010 SharePoint Power Tools 

This tool basically compiles all the files into dll and not ascx file is there which get copied onto the server

In SharePoint 2013visual web part no longer uses controltemplates folder to store the ascx but instead just compiles everything into the DLL.

Sandbox solutions are deprecated in SharePoint 2013 and App Model is introduced.

Apr 12, 2012

Extracting DLL's out of GAC

To backup the dll's in the GAC i.e. Extracting DLL's out of GAC we can use either of the below methods.


Method 1:
Change the Windows\Assembly\GAC folder from the GAC view to the Windows Explorer view by editing the Registry:

HKLM\Software\Microsoft\Fusion\

Add a DWORD value called DisableCacheViewer and set the value to 1 Don't Forget to change it back to 0 once your done with the backup.

As shown below:






















Method 2 (32 bit only):

From command prompt run
regsvr32 -u C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\shfusion.dll

GAC back to it’s original structure, use
regsvr32 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\shfusion.dll

Mar 27, 2012

spWeb.Lists vs spWeb.GetList

// Best Practice To Retrieve List Item
// Below example updates the Task list Item based on the task id

 ....
SPSecurity.RunWithElevatedPrivileges(delegate()
{
        using (SPSite oSiteCollection = new SPSite(url))
        {
                        using (SPWeb spWeb = oSiteCollection.OpenWeb())
                        {
                            spWeb.AllowUnsafeUpdates = true;
                            SPList oList = spWeb.Lists["New_Task_List"]; // Gets the entire List Collection and then picks the list mentioned
                            SPListItem oListItem = oList.GetItemById(taskid);

                           //Instead the following should be used, get the intended list directly
                           //SPListItem oListItem = spWeb.GetList("/Lists/New_Task_Lis/AllItems.aspx").GetItemById(taskid);

                            if (oListItem != null)
                            {
                                oListItem["flag"] = Guid.NewGuid().ToString();
                                oListItem["actiontaken"] = "Claim";
                                oListItem["actiontakenby"] = CustomUtility.GetUtility().GetLoggedInUserID();
                                oListItem.Update();
                            }
                            tempID = Convert.ToInt64(oListItem["TicketNumber"].ToString());
                        }
                    }
                });
...

Pages