Sunday, May 5, 2013

In Visual Studio 2012 templates for Microsoft Office 2013 doesn't appear

By default, the Office developer tools in Visual Studio include templates only for Microsoft Office 2010. If you want to develop solutions for Office 2013, you must download the Microsoft Office Developer Tools for Visual Studio 2012, which include project templates for Office 2013. 
Link for download

Monday, January 28, 2013

Saving page in SharePoint Designer gives JavaScript error



When you try to save document in SharePoint designer - the JavaScript error started raising.


I found that it occurred after a cumulative update SharePoint 2010 - KB2597132.

The solution to fixed it was -

1.Copying files:

FORM.JS
INIT.JS
CORE.JS
BFORM.JS
OWS.JS

from an environment where it works to : "../LAYOUTS/1033".

2.Reset the IE settings


Saturday, January 12, 2013

Method not found: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.

After installing Microsoft patch MS13-04[KB 2756920](Security Update for Microsoft .NET Framework 3.5.1 on Windows 7 and Windows Server 2008 R2 - A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it.), our SharePoint Portal was down with the error :
 WebHost failed to process a request. 
 Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/17653682 Exception: System.ServiceModel.ServiceActivationException: The service '/SecurityTokenServiceApplication/securitytoken.svc' cannot be activated due to an exception during compilation. The exception message is: Method not found: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.. ---> System.MissingMethodException: Method not found: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'. at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.BuildExtendedProtectionPolicy(ExtendedProtectionTokenChecking tokenChecking, ExtendedProtectionFlags flags, List`1 spnList) at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.GetExtendedProtectionPolicy(ConfigurationElement element) at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.ProcessWindowsAuthentication(String siteName, String virtualPath, HostedServiceTransportSettings& transportSettings) at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.CreateTransportSettings(String relativeVirtualPath) at System.ServiceModel.Activation.MetabaseSettingsIis.GetTransportSettings(String virtualPath) at System.ServiceModel.Activation.MetabaseSettingsIis.GetAuthenticationSchemes(String virtualPath) at System.ServiceModel.Channels.HttpChannelListener.ApplyHostedContext(VirtualPathExtension virtualPathExtension, Boolean isMetadataListener) at System.ServiceModel.Channels.HttpTransportBindingElement.BuildChannelListener[TChannel](BindingContext context) at System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener[TChannel]() at System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener[TChannel](BindingContext context) at System.ServiceModel.Channels.BinaryMessageEncodingBindingElement.BuildChannelListener[TChannel](BindingContext context) at System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener[TChannel]() at System.ServiceModel.Channels.Binding.BuildChannelListener[TChannel](Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, BindingParameterCollection parameters) at System.ServiceModel.Description.DispatcherBuilder.MaybeCreateListener(Boolean actuallyCreate, Type[] supportedChannels, Binding binding, BindingParameterCollection parameters, Uri listenUriBaseAddress, String listenUriRelativeAddress, ListenUriMode listenUriMode, ServiceThrottle throttle, IChannelListener& result, Boolean supportContextSession) at System.ServiceModel.Description.DispatcherBuilder.BuildChannelListener(StuffPerListenUriInfo stuff, ServiceHostBase serviceHost, Uri listenUri, ListenUriMode listenUriMode, Boolean supportContextSession, IChannelListener& result) at System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) at System.ServiceModel.ServiceHostBase.InitializeRuntime() at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceHost.InitializeRuntime() at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath) at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) --- End of inner exception stack trace --- at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath) Process Name: w3wp 

 RESOLUTION: Uninstall KB 2756920

Wednesday, January 2, 2013

Get SPUser Object from SPListItem

Sometimes, you need to get SPUser object(to retrieve email, name,...) , however you have only SPListItem with SPFieldCollection. When you try to retrieve it, for example:


var field = item["user"]


you just get  a string with User ID , like : "123;#"

We need to cast this object to SPFieldUserValue.

This C# code can help us:



public SPUser GetSPUserObject(SPListItem spListItem, String fieldName)
    {
        SPUser spUser = null;
        try
        {
            if (fieldName != string.Empty)
            {
                SPFieldUser field = spListItem.Fields[fieldName] as SPFieldUser;
                if (field != null && spListItem[fieldName] != null)
                {
                    SPFieldUserValue fieldValue = field.GetFieldValue(spListItem[fieldName].ToString()) as SPFieldUserValue;
                    if (fieldValue != null)
                    {
                        spUser = fieldValue.User;
                    }
                }
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        return spUser;
    }


Saturday, December 29, 2012

SHAREPOINT 2013 – USING “JS LINK”


SharePoint 2013 has a lot new features and functionalities that it can do OOB.
One of these new functionalities is the "JS Link" web part property. With this property you are able to control the rendering of the web part.

This will mostly be used in combination with List/Data View Web Part. So, no more server side XSLT rendering (XSL Link), just client side JavaScript (JS Link).
There is the link to MSDN

Monday, December 17, 2012

Cross Site Content - it's coming in SharePoint 2013

As a lot of programmers who had a problem with cross-site content:how to show data from another site collection,another web application or another farm. All of us can search the internet and find solutions (3rd party, code implementation, etc...). In SharePoint 2013 this problem will be resolved by Cross-Site Publishing. On the official blog of the Microsoft SharePoint Product Group says that the new XSP aggregates a data by the search-based publishing model and a content can be shared across site collections, web apps, and farms. The new concept which introduced in SharePoint 2013 allows to publish lists, libraries, search catalog or variation data. More information is here.

Wednesday, December 12, 2012

Error occurred in deployment step ‘Recycle IIS Application Pool’: The communication object, System.ServiceModel.InstanceContext, cannot be used for communication because it has been Aborted.

The Problem :

"Error occurred in deployment step ‘Recycle IIS Application Pool: The communication object, System.ServiceModel.InstanceContext, cannot be used for communication because it has been Aborted."

The Solution:

Restart  Visual Studio 2010 and the problem should be resolved.