Behavior
In addition to changing styles, you can also change the behavior of an application. This customization is based on defining .aspx (.jsp) pages that precede or succeed the basic listmodels and runmodel functionality. These pages could also define frames in which particular information is shown.
As it was mentioned in the Sample workflow chapter, there are three "exit point" pages. If you place the following files in the root of the application directory, they will override standard variants of KCM ComposerUI.
-
modelselect.aspx (modelselect.jsp).
This page acts as the starting point of the application. You can place any file at the root of the application config and invoke that via the /app/ path. The default modelselect.aspx (modelselect.jsp) just calls listmodels.
-
modelbegin.aspx (modelbegin.jsp).
This page is called after selecting a model, before it starts to run. The default page just calls runmodel.
-
modelend.aspx (modelend.jsp).
This page is called after running a model. The default one opens the produced document in the frame "docframe" or in a new window if you have not defined such a frame.
The default exit point implementations use a number of predefined pages that you can call in your own exit points as well. You can also override these pages so that the default exit points use them instead. The predefined pages are:
-
empty.aspx (empty.jsp) shows an empty page, using the right style
-
opendocument.asxp (opendocument.jsp) opens a document asynchronously, that is shows a "loading..." text while the document loads
-
openfolders.aspx (openfolders.jsp) calls listmodels asynchronously, and shows a "loading..." text while retrieving the list
The defaults for these pages can be found in the jsp subdirectory of the KCM ComposerUI installation. When overriding them, they should be placed at the top level of the application directory.
In the implemented pages aspx or jsp, it is possible to use various bits of functionality offered by KCM ComposerUI. The APIs that are available to the customized pages are described in The CM ComposerUI Server customization APIs.