I hope I will help a lot of people with this new blog about the OOB failover principal that comes with SharePoint 2010. Please read the following:
You can find a lot of information about the failover principal for OOB service applications, things like: "It is based on Round Robin...", "if one service app is down, the first available one will be used..." and "This whole principle is embedded in the application discovery and load balancer service application....".
All of the above statements are true, BUT....How does it really work under the hood....That answer you can find from now on in this blog and the answer is pretty simple!!
There is a timer job OOB within the central administration that checks which services on the specific appservers are up and running (application discovery). If so, it cleans and re-creates the connections/addresses to the working services.
SharePoint will directly act when a service that represents a specific service application is down. Example:
2 servers that have an active metadata service. The services are connected to the metadata service application. When the service on the first service (order of the services for the SP NLB) goes down (or both services go down), you cannot use the metadata tree throughout your SharePoint UI. The load balancer service application will not directly change the address to the other server when, because this service application does'nt discover immediatly. This will be done by the timer job that will run every 15 minutes (by default), it is called: Application Addresses Refresh Job
So, when one or all of the services for a specific service application are down, you can see it immediately throughout the UI of SharePoint. But the timerjob will discover the services again to reconnect to the first available one. Of course, because it's just a normal timer job, you can reschedule it.
Welcome on my SharePoint 2010 blog
Hello,
My name's Roy. I'm a dutch SharePoint & BI consultant/architect at Advantive B.V. At this moment I'm busy with some big SharePoint 2010 projects in The Netherlands. In all the projects I've got different roles, like: Business consultancy, Lead Consultant, Architect (logical and technical), Development and Teaching/courses.
Products where you can ask me about are: SharePoint, Visual Studio, SQL Server, PowerPivot, Analysis and Reporting Services, Visio Services, InfoPath, PerformancePoint Services, Team Foundation Server, Office line.
I love to work and to write about Microsoft SharePoint 2010 so, feel free and read/comment my Blogs!
Greetz.
My name's Roy. I'm a dutch SharePoint & BI consultant/architect at Advantive B.V. At this moment I'm busy with some big SharePoint 2010 projects in The Netherlands. In all the projects I've got different roles, like: Business consultancy, Lead Consultant, Architect (logical and technical), Development and Teaching/courses.
Products where you can ask me about are: SharePoint, Visual Studio, SQL Server, PowerPivot, Analysis and Reporting Services, Visio Services, InfoPath, PerformancePoint Services, Team Foundation Server, Office line.
I love to work and to write about Microsoft SharePoint 2010 so, feel free and read/comment my Blogs!
Greetz.
Monday, October 11, 2010
Thursday, September 30, 2010
Editing User Profile properties Cross Farm
Problem:
2 farms:
Farm 1 (publishing farm (PF)):
Service applications (User profile and metadata services)
Farm 2 (consuming farm (CF)):
Webapplications (my.portal.nl webapplication).
I published all the services on the PF and succesfully made a connection to the service throughout the CF. The mysite host location is created under the my.portal.nl webapp.
Everything seems to work perfect. The only thing that doesn't work is the following: When I open the my site host and want to edit my profile properties all the fields that need keywords or metadata are not reachable. When I put the my site host location on the publishing farm --> IT WORKS....
I get the red error beneath every EMM field that says: "the service is temporarily disabled...."
2 farms:
Farm 1 (publishing farm (PF)):
Service applications (User profile and metadata services)
Farm 2 (consuming farm (CF)):
Webapplications (my.portal.nl webapplication).
I published all the services on the PF and succesfully made a connection to the service throughout the CF. The mysite host location is created under the my.portal.nl webapp.
Everything seems to work perfect. The only thing that doesn't work is the following: When I open the my site host and want to edit my profile properties all the fields that need keywords or metadata are not reachable. When I put the my site host location on the publishing farm --> IT WORKS....
I get the red error beneath every EMM field that says: "the service is temporarily disabled...."
Thursday, September 9, 2010
Building custom actions in SP Designer 2010
Situation:
When you want to use the managed metadata fields in SharePoint Designer 2010 in e.g. an e-mail message then you get the following information back from the system:
<Guid>|<Termtext>
If you want to split this string array (devided by a pipeline) with SharePoint Designer, it's by default not possible. SharePoint Designer doesn't have any actions to split a string or a string array.
Solution:
With Visual Studio 2010 I created a feature with a feature receiver. This feature will activate a part in the web.config file:
Next to that you will create some string methods and necessary properties into separate classes. I have the following:
Next to the string methods and properties (the intelligence) you need to make it User Friendly in SPD2010. Therefore I added a predefined XML-file (with the extension .actions). In this file I create the buttons/links that will make it possible that I can use my string options (the following is a part of this XML).
<WorkflowInfo>
<Actions Sequential="then" Parallel="and">
<Action Name="Contains()"
ClassName="SPDWorkflowStringActions.Contains"
Assembly="SPDWorkflowStringActions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b2222d748ee56b1"
AppliesTo="all" Category="String Actions">
<RuleDesigner Sentence="Determine if %1 contains a value of %2 and output a value of true or false to %3." AppliesTo="all" Name="Contains">
<FieldBind Field="InParam1" Id="1" Text="String"/>
<FieldBind Field="InParam2" Id="2" Text="String"/>
<FieldBind Field="OutResult1" DesignerType="ParameterNames" Id="3" Text="Output result #1" />
</RuleDesigner>
<Parameters>
<Parameter Name="InParam1" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="InParam2" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="OutResult1" Type="System.String, mscorlib" Direction="Out" />
</Parameters>
</Action>
<Action Name="EndsWith()"
ClassName="SPDWorkflowStringActions.EndsWith"
Assembly="SPDWorkflowStringActions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b2222d748ee56b1"
AppliesTo="all" Category="String Actions">
<RuleDesigner Sentence="Determine if %1 ends with a value of %2, and output a value of true or false to %3." AppliesTo="all" Name="EndsWith">
<FieldBind Field="InParam1" Id="1" Text="Input parameter #1"/>
<FieldBind Field="InParam2" Id="2" Text="Input parameter #2"/>
<FieldBind Field="OutResult1" DesignerType="ParameterNames" Id="3" Text="Output result #1" />
</RuleDesigner>
<Parameters>
<Parameter Name="InParam1" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="InParam2" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="OutResult1" Type="System.String, mscorlib" Direction="Out" />
</Parameters>
</Action>
This part will be added to the default SharePoint .actions file.
When we deploy the project in Visual Studio 2010 and activate the WebApp scoped feature we'll can use the buttons in SharePoint designer.
For more information please let me know and I can send you the project files.
When you want to use the managed metadata fields in SharePoint Designer 2010 in e.g. an e-mail message then you get the following information back from the system:
<Guid>|<Termtext>
If you want to split this string array (devided by a pipeline) with SharePoint Designer, it's by default not possible. SharePoint Designer doesn't have any actions to split a string or a string array.
Solution:
With Visual Studio 2010 I created a feature with a feature receiver. This feature will activate a part in the web.config file:
"<authorizedType Assembly=\"SPDWorkflowStringActions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b2222d748ee56b1\" Namespace=\"SPDWorkflowStringActions\" TypeName=\"*\" Authorized=\"True\" />";
Next to the string methods and properties (the intelligence) you need to make it User Friendly in SPD2010. Therefore I added a predefined XML-file (with the extension .actions). In this file I create the buttons/links that will make it possible that I can use my string options (the following is a part of this XML).
<WorkflowInfo>
<Actions Sequential="then" Parallel="and">
<Action Name="Contains()"
ClassName="SPDWorkflowStringActions.Contains"
Assembly="SPDWorkflowStringActions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b2222d748ee56b1"
AppliesTo="all" Category="String Actions">
<RuleDesigner Sentence="Determine if %1 contains a value of %2 and output a value of true or false to %3." AppliesTo="all" Name="Contains">
<FieldBind Field="InParam1" Id="1" Text="String"/>
<FieldBind Field="InParam2" Id="2" Text="String"/>
<FieldBind Field="OutResult1" DesignerType="ParameterNames" Id="3" Text="Output result #1" />
</RuleDesigner>
<Parameters>
<Parameter Name="InParam1" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="InParam2" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="OutResult1" Type="System.String, mscorlib" Direction="Out" />
</Parameters>
</Action>
<Action Name="EndsWith()"
ClassName="SPDWorkflowStringActions.EndsWith"
Assembly="SPDWorkflowStringActions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b2222d748ee56b1"
AppliesTo="all" Category="String Actions">
<RuleDesigner Sentence="Determine if %1 ends with a value of %2, and output a value of true or false to %3." AppliesTo="all" Name="EndsWith">
<FieldBind Field="InParam1" Id="1" Text="Input parameter #1"/>
<FieldBind Field="InParam2" Id="2" Text="Input parameter #2"/>
<FieldBind Field="OutResult1" DesignerType="ParameterNames" Id="3" Text="Output result #1" />
</RuleDesigner>
<Parameters>
<Parameter Name="InParam1" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="InParam2" Type="System.String, mscorlib" Direction="In" InitialValue="empty" />
<Parameter Name="OutResult1" Type="System.String, mscorlib" Direction="Out" />
</Parameters>
</Action>
This part will be added to the default SharePoint .actions file.
When we deploy the project in Visual Studio 2010 and activate the WebApp scoped feature we'll can use the buttons in SharePoint designer.
For more information please let me know and I can send you the project files.
Wednesday, August 18, 2010
SPMetal & LINQ to SharePoint 2010
Intro
Within SP2010 you have the possibility to reach and use your lists and libraries using Language Integrated Query (LINQ).
LINQ is a feature of the programming languages C# and Microsoft Visual Basic .NET. Compilers are included with Visual Studio.
LINQ adds a SQL-like syntax and vocabulary to each of the languages, which can be used to query data sources. But unlike other languages and query syntaxes which vary from one type of data source to another, LINQ can be used to query, in principle, any data source whatsoever. For this reason, developers may find that it is the only query syntax that they ever need to know.
All that is necessary to make a data source accessible with LINQ is that someone create a LINQ provider for the data source.
A LINQ provider is an implementation of the System.Linq.IQueryable<T> and System.Linq.IQueryProvider interfaces that are included with Microsoft .NET Framework (System.Core.dll). The implementing classes must be public in a managed code assembly. The primary job of the class that implements IQueryProvider is to translate LINQ queries into the language of the data source, such as SQL or XQuery, then call the data source’s application to execute the query.
The provider must also expose a gateway class whose instances can communicate with the data source and output IEnumerable<T> objects. For example, the gateway class for LINQ to SQL is DataContext and the gateway class for LINQ to XML is XDocument. The gateway class must implement System.Linq.IQueryable<T> or have a child property that does so or have a method that returns a type that implements System.Linq.IQueryable<T>. For example, DataContext has a GetTable() method that returns a Table<TEntity> type that implements System.Linq.IQueryable<T>. The latter interface, in turn, has a property of type IQueryProvider. (The gateway class can also directly implement IQueryProvider.) It is objects of type Table<TEntity> that are queried.
In many cases, a LINQ Provider cannot be used by a .NET solution developer unless the developer creates a set of entity classes to represent the subordinate entities in the data source, such as the particular tables of a particular SQL database. Frequently, a lot of such classes must be created (e.g., a database with three dozen tables), so the developer of a LINQ provider will typically include a code generation tool to automate the process of creating these entity classes.
The LINQ to SharePoint Provider is defined in the Microsoft.SharePoint.Linq namespace. It translates LINQ queries into Collaborative Application Markup Language (CAML) queries. It is no longer necessary for developers to know how to write CAML queries. LINQ queries can be used in server code. To query from a client application, use SharePoint’s support for ADO.NET Data Services.
The gateway class for the LINQ to SharePoint provider is Microsoft.SharePoint.Linq.DataContext which represents the data of a SharePoint Foundation Web site. It is parallel in use and function to the System.Data.Linq.DataContext class in the LINQ to SQL provider. Just as the latter class has a GetTable() method that returns a Table<TEntity> object that implements System.Linq.IQueryable<T>, so too, the Microsoft.SharePoint.Linq.DataContext class has a GetList<T> method that returns an EntityList<TEntity> class that implements System.Linq.IQueryable<T>. It is objects of type EntityList<TEntity> that are queried.
How to use
Within SP2010 you have the possibility to reach and use your lists and libraries using Language Integrated Query (LINQ).
LINQ is a feature of the programming languages C# and Microsoft Visual Basic .NET. Compilers are included with Visual Studio.
LINQ adds a SQL-like syntax and vocabulary to each of the languages, which can be used to query data sources. But unlike other languages and query syntaxes which vary from one type of data source to another, LINQ can be used to query, in principle, any data source whatsoever. For this reason, developers may find that it is the only query syntax that they ever need to know.
All that is necessary to make a data source accessible with LINQ is that someone create a LINQ provider for the data source.
A LINQ provider is an implementation of the System.Linq.IQueryable<T> and System.Linq.IQueryProvider interfaces that are included with Microsoft .NET Framework (System.Core.dll). The implementing classes must be public in a managed code assembly. The primary job of the class that implements IQueryProvider is to translate LINQ queries into the language of the data source, such as SQL or XQuery, then call the data source’s application to execute the query.
The provider must also expose a gateway class whose instances can communicate with the data source and output IEnumerable<T> objects. For example, the gateway class for LINQ to SQL is DataContext and the gateway class for LINQ to XML is XDocument. The gateway class must implement System.Linq.IQueryable<T> or have a child property that does so or have a method that returns a type that implements System.Linq.IQueryable<T>. For example, DataContext has a GetTable() method that returns a Table<TEntity> type that implements System.Linq.IQueryable<T>. The latter interface, in turn, has a property of type IQueryProvider. (The gateway class can also directly implement IQueryProvider.) It is objects of type Table<TEntity> that are queried.
In many cases, a LINQ Provider cannot be used by a .NET solution developer unless the developer creates a set of entity classes to represent the subordinate entities in the data source, such as the particular tables of a particular SQL database. Frequently, a lot of such classes must be created (e.g., a database with three dozen tables), so the developer of a LINQ provider will typically include a code generation tool to automate the process of creating these entity classes.
The LINQ to SharePoint Provider is defined in the Microsoft.SharePoint.Linq namespace. It translates LINQ queries into Collaborative Application Markup Language (CAML) queries. It is no longer necessary for developers to know how to write CAML queries. LINQ queries can be used in server code. To query from a client application, use SharePoint’s support for ADO.NET Data Services.
The gateway class for the LINQ to SharePoint provider is Microsoft.SharePoint.Linq.DataContext which represents the data of a SharePoint Foundation Web site. It is parallel in use and function to the System.Data.Linq.DataContext class in the LINQ to SQL provider. Just as the latter class has a GetTable() method that returns a Table<TEntity> object that implements System.Linq.IQueryable<T>, so too, the Microsoft.SharePoint.Linq.DataContext class has a GetList<T> method that returns an EntityList<TEntity> class that implements System.Linq.IQueryable<T>. It is objects of type EntityList<TEntity> that are queried.
How to use
- To use LINQ to SharePoint 2010 you have to create a new empty SharePoint visual webpart (example) project in Visual Studio 2010.
- Go to cmd-prompt and open the BIN-directory in your 14-hyve.
- Enter the following command (launch the spmetal.exe): SPMetal.exe /web:http://yoursite /code:C:\ExampleEntities.cs. The system wil now create a cs-file that you have to include in your project. In this file you can find all your lists and doc libs and fields that you can use in your LINQ queries. Note that the class name is now ExampleEntitiesDataContext. It's based on the name you specify as your code file in the SPMetal.exe command line tool.
If you were to use /code:C:\Awesome.cs instead, it would generate a class called AwesomeDataContext. - So far so good.... now the cs-file is included in your project, you can use it. Now you have to make an instance of the ExampleEntitiesDataContext class and make an example query:ExampleEntitiesDataContext edc = new ExampleEntitiesDataContext(SPContext.Current.Web.Url); var q = from Example in edc.Documenten where Example.DocumentCreatedBy == "Test" select Example.DocumentCreatedBy;
- You can now use the results in a for each loop, BUT.... sometimes the SPMetal.exe makes some mistakes in his automatic process with custom lists and libraries. When you want to choose a field in your table, you can only see the system fields...
6. The problem: The SPMetal.exe does'nt use the content types that are connected to the list, he takes the default content type for a list: Item and for a Library: Document!!!!
7. Solution: Open your ExampleEntities.cs file and search for your list from which you want to use the fields. In this property change the contenttype to the content type where your fields are in (see the yellow highlighted text):
[Microsoft.SharePoint.Linq.ListAttribute(Name="Documenten")] public Microsoft.SharePoint.Linq.EntityList<Document> Documenten { get { return this.GetList<Document>("Documenten");
}
}
}
}
8. Change the text to the content type you need. After that go back to your other cs.file (e.g.: for the webpart) and again open your field property box using intellisense. And....Yes!! There they are: Your fields from the specific content type!! HAVE FUN!!
Saturday, June 12, 2010
The new, friendlier SP 2010 Content By Query WebPart
This is a nice blog about a very often used and famous webpart: Content by Query WebPart.
The Content By Query webpart (CQWP) is one of the most powerful and most commonly used tools in SharePoint. On top of that it is also highly customizable. A big downside is that customizing the CQWP is tedious work. Especially if you do not want to alter SharePoint native files.
The CQWP simplifies working with Item Styles by introducing slots. A slot is a marker in the Item Style Template which is being filled with the content on runtime. The Content Query Web Part allows you to set the mappings between the slots and the fields using the property pane what allows you to create more semantic and reusable Item Style Templates!
Another great feature of the new Content Query Web Part is the Content to Content concept. Content to Content introduces two tokens that can be used in the Content Query Web Part filters. The PageQueryString token allows you to include in the query a value from a query string parameter and the PageFieldValue token gives you the possibility to filter the query results using a value of another field on the same page. This makes it extremely easy to provide functionality such as related content.
First of all you start off by creating a new Item Style template just as you would with Office SharePoint Server 2007 – nothing new here. But then the magic happens. As soon as you pick your custom Item Style template in the Web Part properties, CQWP parses the selected template and generates slots for it: every @SomeProperty becomes a slot:
Example snippet of itemstyle.xsl the @AdvantiveField1, @AdvantiveField2, @AdvantiveField3 and @AdvantiveField4 attributes are highlighted.
Reload the ItemStyle.xsl sheet in de style library and the result will be presented in the props of the CQWP. You can use the fields (called the props) as the default fields in the CQWP.
The Content By Query webpart (CQWP) is one of the most powerful and most commonly used tools in SharePoint. On top of that it is also highly customizable. A big downside is that customizing the CQWP is tedious work. Especially if you do not want to alter SharePoint native files.
The CQWP simplifies working with Item Styles by introducing slots. A slot is a marker in the Item Style Template which is being filled with the content on runtime. The Content Query Web Part allows you to set the mappings between the slots and the fields using the property pane what allows you to create more semantic and reusable Item Style Templates!
Another great feature of the new Content Query Web Part is the Content to Content concept. Content to Content introduces two tokens that can be used in the Content Query Web Part filters. The PageQueryString token allows you to include in the query a value from a query string parameter and the PageFieldValue token gives you the possibility to filter the query results using a value of another field on the same page. This makes it extremely easy to provide functionality such as related content.
When I was working with the CQWP in SharePoint 2010 I found that most of the known nuisances are still there. For instance the ItemXslLink (and others) are still not configurable in the webpart configuration panel. But it seems one big improvement has been made: You do not longer have to set the CommonViewFields property (well, not if you do it right).
The SharePoint CQWP actively looks in the XSL style sheets for XML attribute references (@) it can’t resolve. If it finds them it will presents the user the possibility in the CQWP toolpart to map these attributes to SharePoint fields. For instance by default SharePoint would map the @Description attribute to the Comments field.
Even nicer is that you can even map multiple fields to one attribute. If the first field is empty the value of the second field is used.
First of all you start off by creating a new Item Style template just as you would with Office SharePoint Server 2007 – nothing new here. But then the magic happens. As soon as you pick your custom Item Style template in the Web Part properties, CQWP parses the selected template and generates slots for it: every @SomeProperty becomes a slot:
<xsl:template name="Advantive" match="Row[@Style='Advantive']" mode="itemstyle">
<xsl:variable name="SafeLinkUrl">
<xsl:call-template name="OuterTemplate.GetSafeLink">
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="DisplayTitle">
<xsl:call-template name="OuterTemplate.GetTitle">
<xsl:with-param name="Title" select="''"/>
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
<xsl:with-param name="UseFileName" select="1"/>
</xsl:call-template>
</xsl:variable>
<p>
<strong>
<xsl:value-of select="$DisplayTitle"/>
</strong><br /> <xsl:value-of select="@AdvantiveField1"/>, <xsl:value-of select="@AdvantiveField2"/>
</p>
<p>
<xsl:value-of select="@AdvantiveField3"/>
<xsl:value-of select="@AdvantiveField4"/>
<xsl:value-of select="@AdvantiveField5"/>
</p>
<p>
<a href="{$SafeLinkUrl}">Read more</a>
</p>
</xsl:template>
Example snippet of itemstyle.xsl the @AdvantiveField1, @AdvantiveField2, @AdvantiveField3 and @AdvantiveField4 attributes are highlighted.
Reload the ItemStyle.xsl sheet in de style library and the result will be presented in the props of the CQWP. You can use the fields (called the props) as the default fields in the CQWP.
Saturday, June 5, 2010
Managed Metadata not supported in Infopath 2010
A very short Blog, but a very usefull:
Managed Metadata is not supported at this moment in Infopath 2010, due some other priorities in the development of Office 2010 (document panel). This is the msdn discussion, in the last section it says the following:
It is a fair chunk of work to get a field supported in InfoPath forms server list upsizing, and this is the first release with the feature. There are tradeoffs during the development and stabilization of the features. For the EMM InfoPath feature, we couldn't get the code to the quality bar that we wanted in the time we had, and the rich client (Word/Excel/PPT) customization was deemed higher priority ( as were things like search refinements, multi-lingual support, service federation, enterprise keywords, etc.)
Managed Metadata is not supported at this moment in Infopath 2010, due some other priorities in the development of Office 2010 (document panel). This is the msdn discussion, in the last section it says the following:
It is a fair chunk of work to get a field supported in InfoPath forms server list upsizing, and this is the first release with the feature. There are tradeoffs during the development and stabilization of the features. For the EMM InfoPath feature, we couldn't get the code to the quality bar that we wanted in the time we had, and the rich client (Word/Excel/PPT) customization was deemed higher priority ( as were things like search refinements, multi-lingual support, service federation, enterprise keywords, etc.)
Friday, May 14, 2010
Problem with unactived Managed Metadata features
If you want to use content type publishing on a consuming web application or you want to create metadata columns, the following things are important to keep in mind. Sometimes the UI gives some strange messages that can be solved by adding the features below and set permissions for the users (who need access) on metadata service applications level.
Error with Content type publishing:You can get an error, if you want to publish the content types: "Proxy (association between service app and webapp) cannot be reached". You don't have enough permissions to access the service application.
Error with creating managed metadata column:While creating a metadata column in a library or list you can get the following error: "You need to activate the feature to use the metadata service application". To solve this problem enable the features below.
Another error you can get is: "cannot get terms out of term store". This means you don't have enough permissions on the metadata service applications.
Solution:**First make sure that the users or groups have permissions (view or contribute or full control) to use the metadata service application.**
If you want to use this feature that's part of the metadata service application, you need to activate two features, these features can't be through the UI, so use the powershell script (or stsadm):
enable-spfeature -identity 7201d6a4-a5d3-49a1-8c19-19c4bac6e668 -URL http://<YourWebApp>
enable-spfeature -identity 73ef14b1-13a9-416b-a9b5-ececa2b0604c -URL http://<YourWebApp>
This enables the following features:
MetaDataNav 7201d6a4-a5d3-49a1-8c19-19c4bac6e668 Web
TaxonomyFieldAdded 73ef14b1-13a9-416b-a9b5-ececa2b0604c Site
Error with Content type publishing:You can get an error, if you want to publish the content types: "Proxy (association between service app and webapp) cannot be reached". You don't have enough permissions to access the service application.
Error with creating managed metadata column:While creating a metadata column in a library or list you can get the following error: "You need to activate the feature to use the metadata service application". To solve this problem enable the features below.
Another error you can get is: "cannot get terms out of term store". This means you don't have enough permissions on the metadata service applications.
Solution:**First make sure that the users or groups have permissions (view or contribute or full control) to use the metadata service application.**
If you want to use this feature that's part of the metadata service application, you need to activate two features, these features can't be through the UI, so use the powershell script (or stsadm):
enable-spfeature -identity 7201d6a4-a5d3-49a1-8c19-19c4bac6e668 -URL http://<YourWebApp>
enable-spfeature -identity 73ef14b1-13a9-416b-a9b5-ececa2b0604c -URL http://<YourWebApp>
This enables the following features:
MetaDataNav 7201d6a4-a5d3-49a1-8c19-19c4bac6e668 Web
TaxonomyFieldAdded 73ef14b1-13a9-416b-a9b5-ececa2b0604c Site
Subscribe to:
Comments (Atom)




