And you guys gave me an insight how users can easily manage the configuration values without manually handling the EnhancedPreviewConfiguration.config file. Thanks!
Thanks for info. You describe in many details how the package is installed and but never what it actually does? I still dont know how the preview is enhanced. So the biggest question of them all is - what does this package actually do?
As far as I understand, the logic what /umbraco/dialogs/Preview.aspx is:
saving the preview information into a cookie and
redirecting the page with the URL format of /[nodeId].aspx
If the node having that nodeId doesn't have a template assigned, especially for content nodes that are shared within a website, the preview will display the Umbraco built-in 404 error page. That is a real pain for content editors who can't confirm what they have changed before publishing.
So, this extension appends an AltTemplate parameter to the preview URL, that is /[nodeId].aspx?AltTemplate=[templateAlias]. By appending the AltTemplate parameter, the shared contents can be previewed before publishing. Templates used for AltTemplate can be either existing one or a new one.
So, existing preview function won't be affected with this extension. Only assigned document types will be using this extension.
For example, there are Product A, Product B, Product C, Component X, and Component Y. Each product has different component combination like:
Product A (id 1111) - Component X (id 8888) and Component Y (id 9999)
Product B (id 2222) - Component X (id 8888)
Product C (id 33333) - Component Y (id 9999)
Each product has a document type of Product, its own URL - /products/product-a, /products/product-b, and /product/product-c, and template - ProductPage.master. But components having their document type of Component don't have a template as they are shared contents.
In the product content panel, you can preview the product page. The preview URL for Product A will be /1111.aspx.
If a content editor updates Component X, both pages for Product A and Product B will be affected. However, the content editor can't use the preview page on the Component X content panel.
This extension actually assignes the Component document type to the ProductPage template so that the component preview page can use the template by AltTemplate parameter. The preview URL for the Component X will be /8888.aspx?AltTemplate=ProductPage. Component Y will be using the preview URL of /9999.asxp?AltTemplate=ProductPage.
This assignment is done in the EnhancedPreviewConfiguration.config file. Of course the products aren't put into the .config file, the product pages will use its own prevew URL, /1111.aspx, /2222.aspx and /3333.aspx.
Thanks for clearing that up - it makes good sense now. I've had this problem a couple of times with clients, so I'll definitely try this next time it pops up.
Thanks, Chriztian. Once you apply this extension to your project successfully, please let me know. I'd like to know how this is working in other projects than mine.
A bit more description?
Thanks for sharing. Could you update the project page with a bit more description on what to expect. Alternative preview - in what way?
Best
Jesper
- Was thinking the exact same thing, Jesper :-)
For this kind of project screenshots would be very good - maybe even a screencast?
/Chriztian
Hi, Jesper and Chriztian.
Thanks for your advice. I've put some screenshots on the project home page. HTH
And you guys gave me an insight how users can easily manage the configuration values without manually handling the EnhancedPreviewConfiguration.config file. Thanks!
Hi Justin,
Thanks for info. You describe in many details how the package is installed and but never what it actually does? I still dont know how the preview is enhanced. So the biggest question of them all is - what does this package actually do?
Best
Jesper
Hi, Jesper.
As far as I understand, the logic what /umbraco/dialogs/Preview.aspx is:
/[nodeId].aspx
If the node having that nodeId doesn't have a template assigned, especially for content nodes that are shared within a website, the preview will display the Umbraco built-in 404 error page. That is a real pain for content editors who can't confirm what they have changed before publishing.
So, this extension appends an
AltTemplate
parameter to the preview URL, that is/[nodeId].aspx?AltTemplate=[templateAlias]
. By appending theAltTemplate
parameter, the shared contents can be previewed before publishing. Templates used forAltTemplate
can be either existing one or a new one.So, existing preview function won't be affected with this extension. Only assigned document types will be using this extension.
For example, there are Product A, Product B, Product C, Component X, and Component Y. Each product has different component combination like:
Each product has a document type of
Product
, its own URL -/products/product-a
,/products/product-b
, and/product/product-c
, and template -ProductPage.master
. But components having their document type ofComponent
don't have a template as they are shared contents.In the product content panel, you can preview the product page. The preview URL for Product A will be
/1111.aspx
.If a content editor updates Component X, both pages for Product A and Product B will be affected. However, the content editor can't use the preview page on the Component X content panel.
This extension actually assignes the
Component
document type to theProductPage
template so that the component preview page can use the template byAltTemplate
parameter. The preview URL for the Component X will be/8888.aspx?AltTemplate=ProductPage
. Component Y will be using the preview URL of/9999.asxp?AltTemplate=ProductPage
.This assignment is done in the
EnhancedPreviewConfiguration.config
file. Of course the products aren't put into the.config
file, the product pages will use its own prevew URL,/1111.aspx
,/2222.aspx
and/3333.aspx
.Hope this will be enough explanation.
Cheers,
Justin
Hi Justin,
Thanks for clearing that up - it makes good sense now. I've had this problem a couple of times with clients, so I'll definitely try this next time it pops up.
/Chriztian
Thanks, Chriztian. Once you apply this extension to your project successfully, please let me know. I'd like to know how this is working in other projects than mine.
Cheers,
Justin
is working on a reply...