I am working on a job to mass import products into the catalog. I have been using the DTO objects to do this. If I add new products then I see them right away in CMS catalog but I don't see modified values when updating existing DTO entries. How do I make the CMS Catalog aware of the changes done in Commerce Manager via the DTO objects?
Should I use the IContentRepository instead? What is the performance compared to DTO if I must import catalog with 1000s of entries?
I am on v10.
It sounds like you were seeing a version problem. Catalog Management only work with published version, while Catalog UI might be displaying a draft version.
Yes using the content API is the recommended way and the performance overhead is quite small. You can also use the import export API to import, if you have the data in catalog.xml format, or in Csv format.
I think there is some sync step missing. If I just hit OK on the edit screen in Catalog Management after importing my product then I see my changes reflected in Catalog UI. Would there be any compelling reasons to still use DTO as opposed to Content API? Content API is definitively easier to use but I would like to know if there are any meaningful drabacks over DTO.
The only drawback of Content API is it has a little overhead, but that's very small, and we don't see any reason to NOT use it. If you work with versions then Content API is simply the way to go.