Posts tagged CRX
– Scott Brodersen
Adobe forums served up some nice information about logging runtime messages for your Composite Application Framework (aka Mosaic) apps. The Client Component Framework (codename: Gravity) provides the logging libraries….Composite Application Framework runs on Client Component Framework….here’s how to get those logger juices flowing:
Yes, Gravity logging APIs can be used in Mosaic as-is. To view the log output:
1. Open CRXDE lite in a browser and log in
2. Navigate to /libs/mosaic/components/index/index.jsp
3. Locate the line in the file that initializes the flashvars variable. In 10.0 this should be on line 65
4. After that line, add a new line:
flashvars.mdebug = true;
5. Click the “Save All” button to save the changes
Then, when a new application is launched, a debug window will appear with a “Log Viewer” tab. Note that the debug window will appear in the upper left corner of the browser in a layer that will be behind html or pdf content, so if your application’s layout has html or pdf content in the upper left region you may not be able to see the debug window.
What was the OP’s result you may ask?
“That debug window certainly is useful. It has much more useful information than I was expecting. The DOM Viewer is especially nice. It is good to be able to confirm which libraries get loaded.”
A source of confusion I’ve come across when explaining the new world of ADEP to those familiar with the LiveCycle days is what has happened to Content Services. Content Services was essentially the repository for storing files and anything else you needed persisting in your application. It was built around the Open Source CMS by Alfresco and was used on almost all of the projects I worked on. In the move to ADEP it’s the one module the fate of which I wasn’t 100% sure of.
Solutions over ADEP have introduced the concept of an application context (aka app context), which can be seen as a unique identifier, that various server side modules use to identify the execution context (from the current execution thread) and process requests in context of that solution. For instance, when persisting content/assets onto the CRX repository, the platform’s persistence module (official known as Platform Content) uses the current (invoking) app context to determine where to store the content/assets, and what configurations to use (which would typically be different for different solutions). See snapshot below, indicating the solution specific content areas.
Note that the storage location is /content/apps/cm for Correspondence Management, and /content/apps/icr for Integrated Content Review, which happen to be the app contexts for the two solutions.
Since it is essential for the server to identify the execution context, if you do not set or establish the application context before you make calls to the solution APIs, you will encounter a server error that says : “Unable to fetch application context“. To set the app context, use one of the two methods:
App context in your Flex application
If you are invoking a solution API from a flex application, ensure that you set the app context using:
var appToken:AsyncToken = com.adobe.ep.ux.content.services.search.lccontent.LCCQueryServiceFactory.getInstance().setAppContextService("/content/apps/cm"); // setting app context for the CM solution
appToken.addResponder(new mx.rpc.Responder(<your success handler>, <your fault handler>));
App context in your Java application
If you are invoking a solution API from a java based application, ensure that you set the app context using:
com.adobe.livecycle.content.appcontext.AppContextManager.setCurrentAppContext("/content/apps/cm"); // setting app context for the CM solution
The app context concept is also used (or rather leveraged) in other scenarios such as driving solution specific Building Block (BB) configurations. Since a Building Block is meant to be reusable across solutions, it exposes certain configurations that can be different for different solutions. Hence, the BB needs to behave differently depending upon the context in which it is being used or invoked. Below is an example where the Data Dictionary BB is used by two solutions – CM and ICR – and has configurations specific to each solution, lying within the solution’s specific app context – /apps/cm for CM and /apps/icr for ICR.
Original article at http://blogs.adobe.com/saket/solutions-and-the-application-context/.
Although you can start your ADEP Experience Server by double-clicking the Quickstart JAR file or the Windows batch file, most people will find it convenient to install the Experience Server as a Windows service. It will configure the Experience Server to start automatically when your Windows restarts and, helps you control the start and stop operations of the Experience server by using the Services control panel.
Install Experience Server as a Windows service
To install a Windows service for your Experience Server:
- Open the command line interface and navigate to the [ExperienceServer root]/opt/helpers/ directory.
- Execute the
instsrv.bat <serviceName>command to install the Experience Server as a Windows service.
Verify the installed Windows service
You can verify the installed Windows service in the Services control panel. To open the Services control panel, execute the
start services.msc command from the command line interface or select Start > Administrative Tools > Services.
Windows service operations
To start the Windows service, do one of the following:
- In the Services control panel, select the Windows service and click Start.
- In the command line interface, execute the
net start <serviceName>command.
To stop or restart the Windows service for the Experience Server, click Stop or Restart, on the Services control panel.
Uninstall the Windows service
To uninstall the Windows service, execute the
instsrv.bat -uninstall <serviceName> command on the command line interface. The Windows service gets removed from the Services control panel.
Original article at http://blogs.adobe.com/ADEPhelp/2011/09/installing-windows-service-for-adep-experience-server.html.