I have setup a remote preview server on ATG 10.1.1. Everything works great when viewing it inside the BCC however I’m wondering how to access the preview server outside the BCC. According to the ATG documentation, it sounds like that’s possible. The ATG docs state:
“Users can preview project asset changes outside the framework of the Business Control Center. For example, you might want employees or outside reviewers who do not have access to the Business Control Center to evaluate changes to a Web application while it undergoes development. In this case, you can enable preview on servers that do not have the Business Control Center installed, then give reviewers URLs to the launch pages on these servers. They can invoke these URLs from any browser window.
Note: Users who are not logged into the Business Control Center can invoke preview sessions only with URLs to a server where the Business Control Center is not running. In order to avoid security breaches, URLs to preview sessions on the Business Control Center server are blocked.”
This is the only information I found in the documentation that talks about viewing preview outside the BCC. Based on this limited information, there are a lot of questions I have about how this actually works.
1. Any attempt to hit any page on my remote preview server outside the BCC, I see the following exception:
“ERROR [PreviewProfileRequestProcessor] An attempt was made to preview a project without logging in as a user with access to publishing assets. If you are running a local preview instance, the preview URLs registered with the PreviewURLManager may be misconfigured. Ensure that the preview URLs are configured with the same host and domain name used to access the BCC server. This preview request URL is: http://localhost:8280/sample_catalog/index.jsp. If you are running a remote preview instance, the Preview feature does not support remote preview on servers running the BCC. Ensure that the remote preview instance is not running any of the BCC related modules. If you received this error and did not try to perform a remote preview, then you may need to disable preview in the current web application by setting the atg.preview context parameter to false in the webapps web.xml file.”
I am not running the BCC on this instance so I’m not sure why I am seeing this. Is there something configuration I'm missing here?
2. I don’t understand where these urls would come from that a reviewer would use to preview the application. There is no "remote preview url" when previewing a page from within the BCC to copy and send to a reviewer so how would a BCC user send a url to a reviewer?
3. Assuming the reviewing knew which page to hit in the remote preview server, how would that page use the assets from a project? Should the project id of the project be include as a param to the url?
Well I don't see any host property directly on the PreviewURLManager. I did however configure previewUrls which are of type atg.service.preview.PreviewURL. On my PreviewURL's I have the host property set to a component of type atg.service.preview.PreviewHost. On my PreviewHost I have the host name and port configured. Are you suggesting on the PreviewURLManager there is a host property to set?
Yes I have the PreviewHost configured. Also I have my remote preview server configured correctly and it works as expected when viewing preview in the BCC. My real issue and questions revolve around how remote preview can be viewed outside of the BCC. There is really no documentation that outlines this process and how it should be configured. I will try disabling the PreviewProfileRequestProcessor but even if that allows me to access the application I'm not sure that will answer all my questions. I still don't see how a user would be able to view changes that are project specific. Or how will a business user generate the url to send to a reviewer?
Also, most of the preview configurations for the urls and host are set on the BCC instance. This is needed so that the BCC can display the launch screen with the available configured landing pages. Does this mean that if you plan on access the remote preview outside the BCC, the same configurations need to be set on the preview instance?
In the BCC click on the preview and land on to the preview URL page on remote host.
Then from the browser copy the URL which contains the project and workspace context and give to the person who likes to preview.
Shaik, if only it was that simple :( Do you have much experience working with remote preview or are you just guessing here like I have been? In order to help clarify my post though, here is the scenario that describes the basis for my questions:
A business user is working on a project within Merchandising of the BCC
1. The user makes a change to a category
2. The user clicks the Preview Button on the tool bar
3. The system displays the Preview launcher screen
4. The user selects a pre-configured profile user and page for the preview session
5. The user clicks the Flexed based launch button
6. The application displays within the context of the BCC browser/tab
7. The business user would like to send that url to a reviewer who does not have access to login to the BCC
What happens from step 6 is that a giant iframe launches from within the context of the BCC browser/tab. If you are using remote preview, it is still an iframe and still displays within the context of the BCC browser/tab, the only difference is that the BCC is proxying information to the preview instance in order to initialize the preview session to display the application in the context of the business user’s project. The url the user sees in the browser is the url for the BCC, not the remote preview server. Because the UI for Merchandising and Preview is built using Flex, there is no way to click on the Preview button to open it up in another tab or browser. The only way your suggestion would work is if there is a way to configure the Flex UI to have it open up preview in a new browser/tab which I doubt is possible.
I hope this helps better explain my post. With that said though, this brings me back to my original questions.
Also, I tried disabling the enableAutoLogin on the PreviewProfileRequestProcessor but that did not work. I received the same error. I don't want to get sidetracked from my original post but this property seems a little misleading to me if in fact setting it to disabled means you don't have to login as you suggested. Just so that I understand what this property means/does: are you saying you set enableAutoLogin=false so that the user does not have to login? It seems like it should be the other way around.