gsoft-inc/dynamite

How to provision taxonomy through code?

Closed this issue · 5 comments

Hi, guys. I've read some topics and some classes
https://github.com/GSoft-SharePoint/Dynamite/wiki/How-to-break-up-your-solution-in-many-Visual-Studio-projects-with-their-own-responsibilities
https://github.com/GSoft-SharePoint/Dynamite#c2-initialize-your-term-store
https://github.com/GSoft-SharePoint/Dynamite/tree/91cdefb6a6434afec3130aa8acc759a81550d582/Source/GSoft.Dynamite/Taxonomy
but didn't found how to provision my taxonomy tree to my ManagedMetadata Service through code? I wonna do timer job that would be update and populate my taxonomy from SQL, but dunno how Dynamite can help with this. So, is it possible to do with dynamite?

Is SharePoint Dynamite dead?

No one is adding new features or addressing issues, so in short, yes it's dead. If you wish to work on it, feel free to fork this project.

Thank you

It would be great to understand how I may use Dynamite before fork anything. I found useful the concept and structure sharepoint solutions, but I do same (mostly) without Dynamite. So, most important thing is can I use it like ORM to map my business objects to SharePoint entities like Taxonomy Terms for example?
PS: I found SharePoint Dynamite quite useful in general, but is there any another alternatives to this? For example, SPMeta2 good for provisioning objects, but not for ORM. Linq To SharePoint is deprecated as I know.

Hi, sorry for not getting back to you sooner @VerdonTrigance.

The specific scenario you are looking for isn't supported (i.e. provisioning new term groups & terms sets through C#). The only tools we typically used for initializing the term store (back when this project was active) are PowerShell-based, as you must have gathered by now.

Indeed, one of Dynamite's nicest features is Taxonomy-column-mapped entity properties (the ORM-lite functionality you seem to be using).

When dealing with taxonomy APIs, I would inevitably want to deal with my own TaxonomySession and all the basic SharePoint server-side API therein. These APIs aren't too painful to interact with (in SharePoint land, relatively speaking), but mastering all the Term Store's features and gotcha's takes quite a while. Explore Gary Lapointe's SharePoint Cmdlets codebase to get the hang of it - I'd start here: https://github.com/GSoft-SharePoint/PowerShell-SPCmdlets/blob/master/Lapointe.SharePoint2010.PowerShell/Common/ManagedMetadata/ImportTerms.cs

Hope that kinda helps. Good luck!

Thank you for answer. I guess I may combine SPMeta2 and Dynamite in my solutions because SPMeta2 provisioning is extremely simple and clean in most cases with next interacting and consuming those objects in Dynamite.