I got back to active SharePoint development some months ago and first thing to do was to port bunch of workflows from in-prem SharePoint to cloud. Where I live we don’t usually have any simple workflows. Most of them need some backing code due to custom logic. So, my only option was to go with Microsoft Flow or Azure Logic Apps and Azure Functions. Here’s the project with one dummy function to get started.
My first draft of hierarchy traversing component got some serious feedback and it’s time to make some changes before moving on to next challenges. Hierarchy traverser is not optimal yet as it uses tail-call recursion and it’s easy to run to stack overflow with it. This blog post solves this problem and prepares for next challenges like node cache and continue-from-given-node.
I started playing with small idea about how to go through document repository on SharePoint using more universal approach than just piling code to using-blocks and methods that depend on these. My goal was to separate in code hierarchy traversing logic from document exporting logic so I can use traversing part also in other projects on different types of hirarchies. Here is my nice and clean solution.
Azure Cognitive Services has wider audience than cool young guys developing very cool mobile apps. These services can be used in very different use cases. This blog post shows how to use Azure Cognitive Services to automatically describe and tag photos added to Office 365 SharePoint picture library.
I started learning SharePoint Framefork (SPFx) to get better on client-side development for Office 365. I decided to go with SharePoint Framework as it has simple lightweight tooling available and also because it is well documented. This blog post is short and practical introduction to SPFx and it brielfy summarized everything important you need to know to get your first client-side web part up and running.
We cannot use classic SharePoint workflows on Office 365 but using Microsoft Flow we can create new era flow applications that are triggered by events that happen in different sources. This blog post shows how to use Microsoft Flow and Azure Functions to send out e-mail when new meeting is added to SharePoint list. The idea of this blog post is to illustrate how to create the flow where custom code takes over in some point.
SharePoint timer jobs can be inconveniet to debug as you have to attach debugger to OWSTIMER.EXE after deployment. Often you must restart this process so it starts using latest version of your assemblies. When building something complex we want to run our code many times to see how it works and if there are errors. But deploying, attaching to debugger and so on – is there easier way to run timer job? Yes, there is!
MSDN subscribers can activate Office 365 developers benefit that gives them free Office 365 development instance for year. If you have this subscription then you can use your local Visual Studio to develop new style applications and then run and test them on Office 365 environment. In this posting I will introduce you hybrid development of Office 365 SharePoint applications.
SharePoint 2013 introduces new application model that externalizes all custom code from SharePoint environment and keeps SharePoint environment this way clean of bad code and hacks in system files. It seems that new app model will dominate over next versions of SharePoint. In this posting I will introduce you new application model and describe different deployment models.
Before going on with my other posts I want to introduce you claims-based authentication that makes is way to almost all Microsoft web-based platforms around. It is more complex than old username-password method but also more secure and general. In this posting I will give you short and not very technical overview about claims-based authentication.
When deploying your SharePoint solution to your development or test server where solution has been deployed before you may find errors like these in SharePoint log:Unable to locate the xml-definition for CType with SPContentTypeId and Failed to find the content type schema for ct-0-0x010100 during template lookup.
Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive
When IIS is not configured properly after creating SharePoint application and there are web parts or features that use session you may get the following error: Unexpected error occured: System.Web.HttpException: Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the \\ section in the application configuration. Solution As a solution you must register session state handler module in IIS. Open Internet Information Services manager. Move to site where problem occurred. Open modules…
When upgrading site from SharePoint 2007 to SharePoint 2010 or if somebody has tried to be extreme smart-ass you may get the following error when saving item or document to list where content approval is turned on: Failed to get value of the "Approval Status" column from the "Moderation Status" field type control. See details in log. Exception message: Input string was not in a correct format.
When you are building site definitions with localization support you may get the following error when creating new site: Provisioning did not succeed. Details: The site template was not provisioned successfully. Delete this site collection in Central Administration, and then create a new site collection. OriginalException: Could not find any resources appropriate for the specified culture (or the neutral culture) on disk.
The program w3wp.exe, with the assigned process ID, could not authenticate locally by using the target name HTTP/WEBSITENAME.
You may face this error when you are running your development environment on virtual server where you have also configured alternate access URL-s.The full message is something like this: “The program w3wp.exe, with the assigned process ID, could not authenticate locally by using the target name HTTP/WEBSITENAME. The target name used is not valid. A target name should refer to one of the local computer names, for example, the DNS host name. Try a different target name.”
When using WSPBuilder from command line you may get the following error: “Could not load file or assembly 'CabLib, Version=10.2.0.0, Culture=neutral, PublicKeyToken=5c838b77b53f84a0' or one of its dependencies. An attempt was made toload a program with an incorrect format.” This error occurs if there is something wrong with CabLib.dll or if CabLib.dll doesn’t exist in same folder with WSPBuilder.