As Chris suggests, it would be much better to use the API; when a property is changed a number of tables are updated: cmsDocument with a new row to indicate the latest version, cmsContentVersion that just stores the date of versions and cmsPropertyData that adds a new row for each property of that DocumentType (hence it stores a complete new version, rather than just changes).
I suppose it would be possible (certainly not recommended) to update the specific row in cmsPropertyData, and then use the API to republish content (as the xml file - umbraco.config - would be need to be updated). This would skip versioning, and probably invalidate data in cmsDocument describing who and when that node was last updated.
Don't try to do it via TSQL. First, the content cache is not refreshed, thus the content would only show after an app restart, or manual refresh. Second, the versioning, and xml in the database also would take a hit.
Best option is to load data to a table, call out to the web app to process that table.
Thank you for your reply . Yes I first did it on Umbraco API. but having 5000 records a day is little bit a problem when I add it on umbraco Nodes. I notice when I go to the Admin the content Page is blank(which I believe still loading the tree). So Assume umbraco load the whole tree or maybe cache the whole tree.
So I decided to add it into Native Table at the same time update the Recent changes to umbraco document.
On the other hand, having 5000 nodes each day sounds a bit silly? Why are you creating sooo much nodes on a daily basis. Remember that umbraco is a cms and should be used as such. I'd really look into using custom tables and retrieve info using the available techniques such as user controls. Sounds more robust to me and won't hang your system.
Update Umbraco Document via T-SQL
Hi guys,
Does Any body have an idea how to update umbraco document property or content via t-SQL?
thanks in advance
simplicio
Why not use the API?
http://umbraco.org/documentation/books/api-cheatsheet/creating-a-document.
-Chris
Hi Simplicio,
As Chris suggests, it would be much better to use the API; when a property is changed a number of tables are updated: cmsDocument with a new row to indicate the latest version, cmsContentVersion that just stores the date of versions and cmsPropertyData that adds a new row for each property of that DocumentType (hence it stores a complete new version, rather than just changes).
I suppose it would be possible (certainly not recommended) to update the specific row in cmsPropertyData, and then use the API to republish content (as the xml file - umbraco.config - would be need to be updated). This would skip versioning, and probably invalidate data in cmsDocument describing who and when that node was last updated.
HTH,
Hendy
Simplico,
Don't try to do it via TSQL. First, the content cache is not refreshed, thus the content would only show after an app restart, or manual refresh. Second, the versioning, and xml in the database also would take a hit.
Best option is to load data to a table, call out to the web app to process that table.
Hi Guys,
Thank you for your reply . Yes I first did it on Umbraco API. but having 5000 records a day is little bit a problem when I add it on umbraco Nodes. I notice when I go to the Admin the content Page is blank(which I believe still loading the tree). So Assume umbraco load the whole tree or maybe cache the whole tree.
So I decided to add it into Native Table at the same time update the Recent changes to umbraco document.
Regards,
Simplicio
On the other hand, having 5000 nodes each day sounds a bit silly? Why are you creating sooo much nodes on a daily basis. Remember that umbraco is a cms and should be used as such. I'd really look into using custom tables and retrieve info using the available techniques such as user controls. Sounds more robust to me and won't hang your system.
Just my 2cents.
Cheers,
/Dirk
is working on a reply...