Skip to main content

Deploy customized promoted link list

I needed to create a custom list based on the promoted link list. When I tried to add the list using Visual Studio I could not find a way to create a list template based on promoted links. I could only create list instances based on promoted links. That would have been ok if I did not need to add my own fields. Since I am using sand box solution and trying to make it non-code, I would have to find a declarative method to do this.

I then tried to find the content type that promoted link is based on, but to my surprise, it is based a hidden content type called “System”. All the fields are defined in the list content type. Therefore, I could not create a custom content type based on any site content types.

Then I got the idea of setting it up in a temporary team site and then export it as a template. Doing this would make so I could see how the exported WSP handled the promoted list. After importing the WSP into Visual Studio I was able to get a List Template for setting up the promoted links list.

Here are the result of doing this:

First, I setup a temporary team site, then added a promoted link list, then and called it “Promoted List item”.

I exported the site by storing it as a template, and downloaded the template WSP file.

When I Imported the WSP in visual studio I just selecting the list, Visual Studio will find the dependencies and ask you to include them after clicking “finish”.



The imported WSP project looked like this: 


Then I copied the list template files form the import Visual studio project in the project in my solution, and included in the project. 



I left out the field definitions and the property bag entries thinking that the “Team collaboration lists” feature includes that. and was left with only the list template.


Now I could add the custom fields.





Then making sure my feature was dependent on the "Team collaboration lists" feature. And I was god to go. 

Comments

Popular posts from this blog

CSOM System Update that does not update minor version number

I was in a scenario where I had to do a add some data to a document list in a web job. My issue was that I could not find any system update method in the CSOM API. After searching it i found a blog post showing that one could just override the system fields, like Modified and Editor(Modified My). That seemed to work but that did not stop it form updating the version number of the document. This example will only work for minor unpublished version. I have not found a way to do this without a published version. There it will get a new minor version. The solution combines the use of adding Editor, and Modified with the use of the ValidateUpdateListItem metod. I found that one can set the item values on the item and just set one value in the form value list, then it will update all the fields. If one then set the "bNewDocumentUpdate" it will not update the version number if it is a minor version. So what i do is just get the values from the item before an update, then sets...

Log4Net MVC.net and what web config to use

I'm new to using log4net ( remember using it a long time ago .net 2 area) so I did a rookie mistake. I trying to set it up using resources i found on the net (mainly http://www.codeproject.com/Articles/140911/log-net-Tutorial). But it did not log anything, and I did not get any errors in the Visual Studio  output. After some time and testing I found that because I had put the configuration part under the Views folder, I have to point to that config file. The reason was that I got an error stating that I can only have one configuration section in the web.config, if I added a configuration section in the root web.config. So then I tried to set the assembly section in the AsseblyInfo file to point to the web.config in the Views folder. Then it worked. [assembly: log4net.Config.XmlConfigurator(ConfigFile = "View\\Web.Config", Watch=true)]

No more features

An aria is over, I'm quit happy to see the new methods to use with provision of SharePoint solutions. https://channel9.msdn.com/blogs/OfficeDevPnP/PnP-Web-Cast-Feature-framework-vs-Remote-Provisioning