I need to store additional node-related data for a specific nodetype, but I am unsure on what is the best way to do it..
So I am asking for your opinions :)
The data that needs to be stored looks something like this:
[quote]
[/quote]
My initial thought was to create a custom-property and store this under each node, in umbraco.config. This makes it easy to present the data with XSLT.
After some thinking it hit me that this approach might not be the best anyway, since the umbraco.config will grow significantly for each page that gets created, (there are more than 500 pages and pages get added every day).
What are the disadvantages using this approach? Will all my other XSLT-transformations suffer as the umbraco-xml grows?
I could also store this data in DB and fetch it with an XSLT-extension.
I think if I understood you correctly I would be inclined to store this data in the database and use an XSLT extension as you suggested and probably URL rewriting to get nice SEO friendly URL's for retriving the data. It's bit difficult to tell not knowing how you intend to use the data.
I would be interested to hear what you end up implementing.
readingdancer:
Thanks for your input, basically my question is. Is it stupid to bloat the umbraco-xml with a lot of data that could be stored away from the XML-file :)
As you said, I am also leaning towards using xslt-extensions and storing it in database, but I somehow feel the "nicest" way would be to have it in the same XML as the pages(nodes) :)
But I am afraid what will happen when the XML grows :)
I'm sure you'll have to do some statistical calculations on how the size of umbraco data will grow based on number of pages, number of new pages on daily basis, size of the xml snippet.
Might give you some idea of the size of the xml and the memory needed to keep the data in cache.
First thougth would be to store the xml snippets in non core umbraco tables (ie use custom tables) and have a look on how caching could help to optimize page's size and speed.
Caching would be great help if those xml snippets are rather static (ie, do not change too much over time).
I just did some calculations, and the size of the additional XML could be up to 40kb per node. So I guess I'll have to store it in DB anyway :)
The data is very static, what caching are you suggesting? If I store it in DB and use stored procedures to fetch it via my XSLT-extension I think it gets cached automatically in SQL Server?
I also could use macro-caching for the macro that lists the data.
Store additional node specific data
I need to store additional node-related data for a specific nodetype, but I am unsure on what is the best way to do it..
So I am asking for your opinions :)
The data that needs to be stored looks something like this:
[quote]
[/quote]
My initial thought was to create a custom-property and store this under each node, in umbraco.config. This makes it easy to present the data with XSLT.
After some thinking it hit me that this approach might not be the best anyway, since the umbraco.config will grow significantly for each page that gets created, (there are more than 500 pages and pages get added every day).
What are the disadvantages using this approach? Will all my other XSLT-transformations suffer as the umbraco-xml grows?
I could also store this data in DB and fetch it with an XSLT-extension.
What are your thoughts?
Hi Fed,
I think if I understood you correctly I would be inclined to store this data in the database and use an XSLT extension as you suggested and probably URL rewriting to get nice SEO friendly URL's for retriving the data. It's bit difficult to tell not knowing how you intend to use the data.
I would be interested to hear what you end up implementing.
Cheers,
Chris
readingdancer:
Thanks for your input, basically my question is. Is it stupid to bloat the umbraco-xml with a lot of data that could be stored away from the XML-file :)
As you said, I am also leaning towards using xslt-extensions and storing it in database, but I somehow feel the "nicest" way would be to have it in the same XML as the pages(nodes) :)
But I am afraid what will happen when the XML grows :)
I'm sure you'll have to do some statistical calculations on how the size of umbraco data will grow based on number of pages, number of new pages on daily basis, size of the xml snippet.
Might give you some idea of the size of the xml and the memory needed to keep the data in cache.
First thougth would be to store the xml snippets in non core umbraco tables (ie use custom tables) and have a look on how caching could help to optimize page's size and speed.
Caching would be great help if those xml snippets are rather static (ie, do not change too much over time).
Just my 2 cents.
Cheers,
/Dirk
I just did some calculations, and the size of the additional XML could be up to 40kb per node. So I guess I'll have to store it in DB anyway :)
The data is very static, what caching are you suggesting? If I store it in DB and use stored procedures to fetch it via my XSLT-extension I think it gets cached automatically in SQL Server?
I also could use macro-caching for the macro that lists the data.
Thanks for your input.
You could also use asp.net cache with a suitable timeout in your xslt extension.
Hi,
umbraco macro caching can achieve the same if you're passing querystring params through macro parameters...
umbraco.tv has a great vid tut on this subject
Cheers,
/Dirk
is working on a reply...