Use the ContentService to get all the information you need about the articles, use CsvHelper to store that to a CSV, do what you need to in Excel, then use the ContentService again to import the CSV back into Umbraco.
When we had to do something similar - though not for 30,000 documents - we created a console app and used the ContentService. The console app is based on sitereactors console example. A custom dashboard could also be used and would have a nicer interface.
One con of the the console app is that you don't have access to the web context so you can't publish from the console app.
Nicholas, the Rythm Data Processor looks very interesting and I will be taking a closer look.
If you are curious, RDP basically automated the GUI.
You create a class and it uses reflection to build the GUI for you, then passes you whatever data the user enters via the GUI so that your function can process it, then return some result (e.g., a success or failure message) that is shown to the user.
If the articles were imported using CMSImport you can just modify the tags option and it will update those records. Otherwhise Bulkmanager with a custom action could also work. Select all records -> execute action and all items are updated.
Bulk update records in Umbraco?
Our Umbraco (7.4.3) has about 30000 articles (like in a newspaper).
We want to add tags to missing articles by manually reviewing each. Doing this manually on our live site would be very time consuming and inefficient.
Ideally, we could export all articles to Excel, and use filtering to add tags to missing articles. Then import the CSV back into Umbraco.
Any idea how to do this? We have a license for CMSImport, but I don't think it will update just the tags.
Btw, WordPress has a very nice metadata edit feature that allows editing metadata without opening the article.
Use the
ContentService
to get all the information you need about the articles, useCsvHelper
to store that to a CSV, do what you need to in Excel, then use theContentService
again to import the CSV back into Umbraco.https://www.nuget.org/packages/CsvHelper/
https://our.umbraco.org/Documentation/Reference/Management/Services/ContentService
If you want to create a GUI for this (e.g., if it's a regular process), you might consider starting with the Rhythm Data Processor as a starting point (a tool I built for my employer): https://github.com/rhythmagency/rhythm.umbraco7.data-processor
David
When we had to do something similar - though not for 30,000 documents - we created a console app and used the ContentService. The console app is based on sitereactors console example. A custom dashboard could also be used and would have a nicer interface.
One con of the the console app is that you don't have access to the web context so you can't publish from the console app.
Nicholas, the Rythm Data Processor looks very interesting and I will be taking a closer look.
Dallas
If you are curious, RDP basically automated the GUI.
You create a class and it uses reflection to build the GUI for you, then passes you whatever data the user enters via the GUI so that your function can process it, then return some result (e.g., a success or failure message) that is shown to the user.
HI David,
If the articles were imported using CMSImport you can just modify the tags option and it will update those records. Otherwhise Bulkmanager with a custom action could also work. Select all records -> execute action and all items are updated.
Best,
Richard
is working on a reply...