I'm still a bit new to EPiServer 8, so i want to check if the following is possible with built-in functionality.
Here is the case:
For a client i need to implement some kind of tagging system for example for news items.
We have a news repository with pages of pageType 'News'. Now the client want to add some tags to such news pages. Forexample News X van have tags 'Research' and 'Science' and News Y can have tags 'Science', 'General and 'Human'.
On another page they want to have a block of blocktype 'NewsBlock' , where the editor can select one of the tags for example, 'Research' and then we retrieve all news items that has the corresponding tag associated.
What is the best approach? or how would you episerver pro's tackle this.
I would create a content type called 'TagPage' and then add a ContentArea to 'News' where the editor can drag n' drop them in. You could also decorate the ContentArea with [AllowedTypes(typeof(TagPage))].
Store all TagPages in a convenient place in the structure so they're easy to find.
Then you could expose all tags, as a list of string or ContentReference, on 'News' so it's easy to filter on them. Maybe create a helper repository to get all news with a specific tag(s).
On 'NewsBlock' you could do the same, have a CcontentArea where the editor can choose tags to list, or just a ContentReference if they can only choose one tag.
The pros with this approach is that you're actually could create a landing page for the 'TagPage' and list all news that has that tag. You can also translate the tag and set access rights.
I haven't tried these out, but I came across Geta.Tags, perhaps it's worth looking into: http://geta.no/blogg/geta-tags-for-episerver-7.5-released/