Sharing my approach and knowledge of setting up a SharePoint 2013 development server with Workflow Manager 1.0. There are many step by step guides on installing and configuring Workflow Manager 1.0; however, this is from a topology point of view as well as areas of validating the setup.
Using SharePoint Designer 2013, I create and publish a simple custom workflow (2013 platform). I get the following within the error message:
“There was no endpoint listening at net.pipe://localhost/SecurityTokenServiceApplication/appsts.svc that could accept the message.”
- I am able to browse to http://localhost:32843/SecurityTokenServiceApplication/securitytoken.svc with no issues or errors showing.
- I have installed Worfklow Manager (and update) on a WFE server in a 3 tier setup.
- I am trying to publish this through a domain account which was not used to install, but is still local administrator and Site Collection administrator.
- The net.pipe binding exists in IIS web site for SharePoint Web Services
- Windows Server 2012, installed all WF updates, SP server updates, SP Designer update
Windows Services -> Start the Net.Pipe Listener Adapter service
Service Description: Receives activation requests over the net.pipe protocol and passes them to the Windows Process Activation Service.
I just stumbled upon this service by associating the name “Net.Pipe” and the error message containing “There was no endpoint listening at net.pipe://…”
What is “net.pipe”?
“netNamedPipeBinding binding, which provides cross-process communication on the same machine. Named pipes do not work across machines.”
After spending some time on developing a SP Hosted App, I would like to share my insights and observations with the new Office Developer tools for SharePoint 2013
Prerequisite: Web Platform Installer > Microsoft Office Developer Tools for Visual Studio 2012
Let’s walk through my observations from site columns, to content types and to list definitions.
- There is no visual designer. Content types reference site columns and so having a site column designer would make much sense. It is unfortunate that one is absent.
- Therefore, creating site columns is manual through the elements.xml file
- For a point of reference, you can follow the link to help create site columns manually.
Field Definitions Samples
Field Element Schema
- Remember, you cannot create custom site columns in the content type designer.
- Limitation: Column ordering is manual through the elements.xml definition files. In other words, you cannot reorder site columns in the conten type designer.
- Gotcha: Change in custom site column definition does not automatically reflect changes in content type. For example, changing site column name will break the referring content type.
Therefore, you must remove the custom site column and then add updated site column.
List Definition and Instance
- There is new visual designer
Able to set List (template) name, url and description.
- Content Types. Add existing OOTB content type or custom content type created in the VS project
Add existing OOTB site columns or
existing custom site columns in the VS project
Add list level columns manually
- Limitation: When creating a new custom column that are more complex in nature such as choice or person, there is no ability to configure the selectable choices. I would think you would have to revert to the xml files and fill in the rest of the xml manually. Having such a site column designer would have been very convenient.
- When creating a list column, it automatically creates a list content type called “ListFieldsContentType” if one does not exist. This becomes the default. Any further site columns (OOTB or custom) added will be automatically added to this ListFieldsContentType content type.
- Note: Changes in content types referenced by the list definition are not automatically reflected. This is the same scenario mentioned above with site columns referenced by content types. So after you change a referenced content type, you must remove and then add back the updated content types to the list definition.
- Set default content type so that the list’s ‘new’ button refers to the content type desired.
- Limitation: List column ordering is manual through the xml definition files.
- Not able to add predefined data rows in List Instance
In ListInstance elements.xml, I added
This resulted in a deployment error. Maybe I am missing something, but I was unsuccessful.
Able to specify which columns appear in the view and their order, row limit, read only, but nothing more than that. For example, no sorting ability, grouping, filtering, etc.
After deploying to site collection:
Deployment Error: Failed to install app
- The xml schema files are malformed or have a syntax issue. Visual Studio can detect and highlight some of these in the Error pane.
- A custom element definition is in conflict with an element already existing in the SharePoint farm.
For example, deploying a list, content type or site column that has the same internal name as an existing artefact. Duplication error.
The way I troubleshoot, is to remove snippets of xml definition and re-deploy to isolate trouble area.
I have looked in the 15 ULS Logs to find any detailed error messages and did not recognize anything helpful.
The designers are a welcomed feature in Visual Studio 2012 for SharePoint developers. However, more can be achieved with site columns and handling changes to referenced elements. This is probably a large effort, since there are so many types of site columns with varying complexities such as ‘People and Groups’ and ‘Managed Metadata”. Nevertheless, it is one step better in getting through the xml hell.
Appreciate any comments and feedback.
Walkthrough: Create a Site Column, Content Type, and List for SharePoint
The following are some of the common web part errors that I just wanted to summarize and provide the general solution.
A Web Part or Web Form Control on this Page cannot be displayed or imported. The type could not be found or it is not registered as safe.
A Web Part or Web Form Control on this Page cannot be displayed or imported. The type DateTimeWebPart.DateTimeWebPart.DateTimeWebPart, DateTimeWebPart, Version=184.108.40.206, Culture=neutral, PublicKeyToken=2bfd9e5fd3b67b15 could not be found or it is not registered as safe.
An error occurred when previewing the Web Part.
Ways to reproduce error
- Preview web part by Site Settings > Web parts (Galleries) > Click web part list item; OR
- Insert web part to a page; OR
- View a page that previously inserted the web part.
The files in question
(hidden – must ‘show all files’ at the Visual Studio project level)
Right Click <WebPart> Project item > Properties > Click Safe Control Entries
(IIS virtual directory, e.g. C:\inetpub\wwwroot\wss\VirtualDirectories\80)
The safe control entry is automated in deployment declared in the .spdata file.
<SafeControl Assembly=”DateTimeWebPart, Version=220.127.116.11, Culture=neutral, PublicKeyToken=2bfd9e5fd3b67b15″ Namespace=”DateTimeWebPart.DateTimeWebPart” TypeName=”*” Safe=”True” />
5) Assembly / DLL file missing in the Global Assembly Cache for GAC deployment (c:\windows\assembly) or virtual directory bin folder in web app deployment.
Make sure the Namespace and Type Name are consistent across all files where indicated. Also with matching case sensitivity.
Verify web.config file and assembly in GAC or virtual directory bin folder in post deployment.
What does it mean by ‘type could not be found’? What is the type?
The type in question is the class inheriting from WebPart class. In this case, it is DateTimeWebPart.DateTimeWebPart.DateTimeWebPart. Excuse my naming convention. When the .NET run time is creating an instance of the web part, the run time can not find the type; either because the assembly is missing, inaccurately referenced or misnamed.
What does it mean by ‘Is not registered as safe’?
Given that the type can be found and the type is registered in the web.config in the <SafeControls> xml node.
The safe control entries mark a web control (instantiated in the web part) such that an untrusted user has access to the web control. Or another way to look at it is that the web application trusts the web control.
I had the pleasure to speak at the January 2013 Toronto SharePoint User Group meeting.
Topic: SharePoint 2013 Hosted App – Deep Dive Implementation
The last few months of I have been working on a photo slider app displaying a photo, title and caption. I wanted to learn the technologies, architecture and tooling. My presentation is to explain my experience and knowledge in making this app. At the same time, I got some great tips and feedback from the group.
Steps to Problem/Issue
- I installed Visual Studio 2012 RTM.
- Created an MVC 4 project template in Visual Studio 2012
- Without any code changes, I hit F5 debug.
- Issue: I get a pop up message ”Unable to launch the IIS Express Web Serve“
After much searching and many suggest re-install Visual Studio 2012, but it takes a long time (>20 mins) and I’m pretty stubborn at times to find root cause.
I found myself looking at the applicationhost.config file located at
Look for <applicationPools> node.
I updated managedRuntimeVersion=”4.0″ to “4.0.30319″
<add name=”Clr4IntegratedAppPool” managedRuntimeVersion=”v4.0.30319″ managedPipelineMode=”Integrated” CLRConfigFile=”%IIS_USER_HOME%\config\aspnet.config” autoStart=”true” />
Back to Visual Studio 2012 Project Solution, I hit F5 Debug and IE loaded with the App!
Out of all the resources posted on many blogs and on technet, I find the following link the best to kick off the learning curve:
These videos are great because
- Talk mostly net new features/functionality
- Great starter for experienced SharePoint professionals
- Good depth of overview on new features and functionality
- Beneficial to site administrators/owners/contributors and not just for IT Pros
- 14 Modules with about 2-7 videos each