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