ADF/JDev 10g - Anything comparable to page templates?

Is there anything like 11g page templates in 10g?
Is there no other option but to replicate common areas (headers, corp logo, copyright/legal notices) on all jspx pages?

Hi Jang Vijay Singh,
10g does not have this feature by default. However, you can create templates in 10g using JHeadStart tool.
You can also check this blog, which explains something similar to page templates and see whether it fits your requirement.
http://technology.amis.nl/blog/1709/how-adf-faces-can-do-tiles-or-sitemesh-like-push-style-templating-using-regions-with-dynamic-attributes
regards,
~Krithika

Similar Messages

  • ADF Page Template

    Hi,
    I am using JDeveloper and I need to create a standard look and feel for all the jspx pages. I have created a template with a panelPage as explained in the SRDemo Tutorial, so every new page I create, I copy/paste the panelPage definition from the template.
    I would like to know which is the best way to create a standard look and feel using ADF so the modification of one page (template or equivalent) impacts all pages.
    Thanks in advance,
    Pal

    Hey Chris,
    I have tried that, it doesn't provide a list, but if you try to specify a value that it is not part of the enum, then you would get a runtime exception when you run the consumer page.
    Thanks
    Younis

  • Edit  Struts Page Flow : locking JDev 10g

    I tried to use the "Edit Struts Page Flow" option for an existing project in JDev 10g.
    The "struts-config.xml" is not in web-inf directory (it�s in a directory together with others xml files. In build time it�s placed in the right place in the war file).
    If I create a new "struts-config.xml" it works fine.
    Thanks in advance.

    Just thought I'd provide the following to supplement my previous posting.
    Left click on struts-config.xml in the navigator pane. After 5 minutes or so the following stack trace appears in the console window:
    java.lang.NullPointerException
    at ndOrCreateConfigurationNodeInProject(JUDTNodeObjectFactory.java
    :176)
    at
    oracle.adf.dt.objects.JUDTNodeObjectFactory.findConfigurationNodeInProject(JUDTNodeObjectFactory.java:150)
    at
    oracle.adf.dt.providers.XcfgDataControlProvider.addControlsToArrayList(XcfgDataControlProvider.java:45)
    at oracle.adf.dt.DataControlManager.getAllDataControls(DataControlManager.java:110)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:50)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:35)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:30)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:25)
    at oracle.adf.dt.controls.DataControlsTree.createDataControlsTreeModel(DataControlsTree.java:98)
    at oracle.adf.dt.controls.ModelCreator.run(DataControlsTree.java:113)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:449)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
    If I then right click on struts-config.xml in the navigator pane and select edit struts page flow, a few minutes
    later the following stack trace appears in the console window:
    java.lang.NullPointerException
    at
    oracle.adf.dt.objects.JUDTNodeObjectFactory.findOrCreateConfigurationNodeInProject(JUDTNodeObjectFactory.java
    :176)
    at
    oracle.adf.dt.objects.JUDTNodeObjectFactory.findConfigurationNodeInProject(JUDTNodeObjectFactory.java:150)
    at
    oracle.adf.dt.providers.XcfgDataControlProvider.addControlsToArrayList(XcfgDataControlProvider.java:45)
    at oracle.adf.dt.DataControlManager.getAllDataControls(DataControlManager.java:110)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:50)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:35)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:30)
    at oracle.adf.dt.controls.treemodel.DataControlsTreeModel.<init>(DataControlsTreeModel.java:25)
    at oracle.adf.dt.controls.DataControlsTree.createDataControlsTreeModel(DataControlsTree.java:98)
    at oracle.adf.dt.controls.ModelCreator.run(DataControlsTree.java:113)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:449)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
    at java.awt.Dialog.show(Dialog.java:538)
    at java.awt.Component.show(Component.java:1134)
    at java.awt.Component.setVisible(Component.java:1089)
    at oracle.bm.util.alert.ErrorDialog.runDialog(ErrorDialog.java:148)
    at oracle.bm.util.alert.CWException.showAlertImpl(CWException.java:310)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:224)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:210)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:197)
    at oracle.bm.commonIde.util.ValidationDisplay.showException(ValidationDisplay.java:31)
    at oracle.adfimpl.struts.registry.RPageNode.createNode(RPageNode.java:243)
    at oracle.adfimpl.struts.Diagram.synchAdds(Diagram.java:413)
    at oracle.adfimpl.struts.Diagram.refreshDiagram(Diagram.java:257)
    at oracle.adfimpl.common.PageFlowDiagramView.onInitialUpdate(PageFlowDiagramView.java:108)
    at oracle.bm.diagrammer.PageView.validate(PageView.java:778)
    at oracle.bm.diagrammer.PageView.setBounds(PageView.java:808)
    at java.awt.CardLayout.layoutContainer(CardLayout.java:364)
    at java.awt.Container.layout(Container.java:1017)
    at java.awt.Container.doLayout(Container.java:1007)
    at java.awt.Container.validateTree(Container.java:1089)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validate(Container.java:1064)
    at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:353)
    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:116)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:449)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
    at java.awt.Dialog.show(Dialog.java:538)
    at java.awt.Component.show(Component.java:1134)
    at java.awt.Component.setVisible(Component.java:1089)
    at oracle.bm.util.alert.ErrorDialog.runDialog(ErrorDialog.java:148)
    at oracle.bm.util.alert.CWException.showAlertImpl(CWException.java:310)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:224)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:210)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:197)
    at oracle.bm.commonIde.util.ValidationDisplay.showException(ValidationDisplay.java:31)
    at oracle.adfimpl.struts.registry.RPageNode.createNode(RPageNode.java:243)
    at oracle.adfimpl.struts.Diagram.synchAdds(Diagram.java:413)
    at oracle.adfimpl.struts.Diagram.refreshDiagram(Diagram.java:257)
    at oracle.adfimpl.common.PageFlowDiagramView.onInitialUpdate(PageFlowDiagramView.java:108)
    at oracle.bm.diagrammer.PageView.validate(PageView.java:778)
    at oracle.bm.diagrammer.PageView.setBounds(PageView.java:808)
    at java.awt.CardLayout.layoutContainer(CardLayout.java:364)
    at java.awt.Container.layout(Container.java:1017)
    at java.awt.Container.doLayout(Container.java:1007)
    at java.awt.Container.validateTree(Container.java:1089)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validate(Container.java:1064)
    at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:353)
    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:116)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:449)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
    at java.awt.Dialog.show(Dialog.java:538)
    at java.awt.Component.show(Component.java:1134)
    at java.awt.Component.setVisible(Component.java:1089)
    at oracle.bm.util.alert.ErrorDialog.runDialog(ErrorDialog.java:148)
    at oracle.bm.util.alert.CWException.showAlertImpl(CWException.java:310)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:224)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:210)
    at oracle.bm.util.alert.CWException.showAlert(CWException.java:197)
    at oracle.bm.commonIde.util.ValidationDisplay.showException(ValidationDisplay.java:31)
    at oracle.adfimpl.struts.registry.RPageNode.createNode(RPageNode.java:243)
    at oracle.adfimpl.struts.Diagram.synchAdds(Diagram.java:413)
    at oracle.adfimpl.struts.Diagram.refreshDiagram(Diagram.java:257)
    at oracle.adfimpl.common.PageFlowDiagramView.onInitialUpdate(PageFlowDiagramView.java:108)
    at oracle.bm.diagrammer.PageView.validate(PageView.java:778)
    at oracle.bm.diagrammer.PageView.setBounds(PageView.java:808)
    at java.awt.CardLayout.layoutContainer(CardLayout.java:364)
    at java.awt.Container.layout(Container.java:1017)
    at java.awt.Container.doLayout(Container.java:1007)
    at java.awt.Container.validateTree(Container.java:1089)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validateTree(Container.java:1096)
    at java.awt.Container.validate(Container.java:1064)
    at oracle.ideimpl.flateditor.FlatEditorManager.createEditor(FlatEditorManager.java:1203)
    at oracle.ideimpl.flateditor.FlatEditorManager.createEditorInFrame(FlatEditorManager.java:1147)
    at oracle.ideimpl.flateditor.FlatEditorManager.openEditorInFrame(FlatEditorManager.java:1078)
    at oracle.ideimpl.flateditor.FlatEditorManager.openDefaultEditorInFrame(FlatEditorManager.java:1053)
    at oracle.adfimpl.struts.StrutsProjectConfigurer.addStrutsDiagram(StrutsProjectConfigurer.java:356)
    at oracle.adfimpl.struts.navigator.StrutsMenuListener.showDiagram(StrutsMenuListener.java:220)
    at oracle.adfimpl.struts.navigator.StrutsMenuListener.handleEvent(StrutsMenuListener.java:92)
    at oracle.ide.IdeAction.performAction(IdeAction.java:812)
    at oracle.ide.IdeAction$1.run(IdeAction.java:781)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:449)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
    As I'm then left looking at a grey screen and a blank dialogue, my only option at this point is to use Windows' Task manager to terminate JDeveloper.
    HTH,
    Justin.

  • Creating a New ADF Page Template

    -- I posted this in the WebCenter forum but since it is primarily around ADF I thought I would post here also
    -- Extending WebCenter Spaces 11.1.1.3: Creating New Page Template w/Float Div
    Hi all,
    I am attempting to create a new group space page template for Spaces that has a floating div on the right side that will have content wrap around it. It should look similar in concept to the image in this link:
    http://css.maxdesign.com.au/floatutorial/tutorial0104.htm
    This seems like it should be simple enough but I need to allow dynamic content to be added each region with Oracle Composer. Currently when I am testing this and add content the two regions end up in distinct columns. This appears to be a result of the html elements that get wrapped around the content by the ADF tags. Has anyone successfully created a page template / page similar to this or have any ideas on how I might get it to work? Below is the current code I am using:
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
              xmlns:pe="http://xmlns.oracle.com/adf/pageeditor"
              xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable"
              xmlns:trh="http://myfaces.apache.org/trinidad/html">
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
        <af:document id="d1">
          <af:form id="f1">
            <pe:changeModeLink id="cml1"/>
            <pe:pageCustomizable id="pageCustomizable1">
            <af:panelStretchLayout id="psl1">         
                <f:facet name="center">
                  <af:panelGroupLayout layout="scroll"
                                       xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
                                       id="pgl1">
                    <af:panelBox text="PanelBox1" id="pb1">
                      <f:facet name="toolbar"/>               
                      <trh:tableLayout id="tl1" width="100%">
                        <trh:rowLayout id="rl1">
                          <trh:cellFormat id="cf1" width="20%" valign="top">                       
                              <cust:panelCustomizable id="mainC"/>                         
                          </trh:cellFormat>
                          <trh:cellFormat id="cf2" width="80%" valign="top">
                            <!-- This is a div tag with style set to "float:right"; I had to describe this line as it didn't show up in the post -->                         
                                <cust:panelCustomizable id="mainC1"/>                       
                            </ div>               
                            <cust:panelCustomizable id="mainC2"/>                                                                
                          </trh:cellFormat>
                        </trh:rowLayout>
                      </trh:tableLayout>
                    </af:panelBox>
                  </af:panelGroupLayout>
                </f:facet>
              </af:panelStretchLayout>         
              <f:facet name="editor">
                <pe:pageEditorPanel id="pep1"/>
              </f:facet>
            </pe:pageCustomizable>  
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>

    Hi ,
    I understand that you want to be able to select content type when creating a wiki page to a Wiki Page library. In browser ,you cannot add content types to a wiki page library .You need to edit the library in SharePoint Designer.
    Open the site in SharePoint Designer.
    Click on the library. Check ‘Allow management of content types’ in the Settings section.
    Then you can add content types to this page library.
    Then you can add content types in the Site Content Types gallery which inherit from the Wiki Content type.
    Add the newly added content type to the Wiki Page Library.
    In this way ,when you add a new page in the Wiki Page library ,you can choose a different content type .
    Edit the content type in Library Settings .Choose Advanced Settings for the content type .Here you can upload new page for the content type .
    Thanks,
    Entan Ming
    Entan Ming
    TechNet Community Support

  • ADF jdev 11g portlet   in Weblogic Portal 10G R3?

    Is possible to build a ADF Jdev 11g portlet and deploy it in a Weblogic Portal 10g R3?

    Not with WebLogic Portal 10gR3, no, but that use case is one that will be supported in the upcoming release of WebLogic Portal, which will coincide closely with the release of WebCenter 11g.
    George

  • How to create ligin page in Jdev 10g

    Hi I am using Jdev 10g
    I have to create a simple login page to my application.
    I created fusion web application.
    based on table data(username, password) i need to give authentication to application.
    I have employee table with level (developer,TL,Manger,Vp,Ed) based on level i need to give page,button access.
    if a low level employee logins should not allow to edit, create.
    or is there any in-build functionality or need to write coding.
    Please this quite imp to my app.
    Thanks,
    NR

    search for a document titled
    Oracle Application Server 10g Release 3: Tutorial for Java EE Developers (10.1.3.1.0)
    That gives you a nice example for login security

  • ADF Page templating vs Facelets

    Hi,
    We are considering to use templates for standardization of the layout of JSF pages. Until now we used to include header and footer jsp-fragments.
    Both ADF 11g and Facelets provide mechanism to create page templates. Has anybody experience with these methods?
    Are there known arguments when it's best to use one instead of the another?
    Regards,
    Arjan Jorritsma

    Hi All and Thanks Frank,
    I still having confusion with my project.
    I have created a template name templateChets.jspx and then i want to put searching functionality (It will search for patient mrn). Then I want the result of searching according to mrn will be pass to the main facet (that will be use by many pages). As i know template can't do it. So I'm trying to put page fragment into my template and using ADF TaskFlow. But i'm really unsure how to do after trying several times.
    The idea is other pages will use the template and in the same time they can use search functionality in my template.
    Is it, i'm doing the correct thing?
    Anyone can assist me?

  • Can we include common buttons in Page template......

    Hi,
    we are on the process of developing a product using ADF. Now we have implemented a page template. Most of our pages contain the common buttons like [SAVE,DELETE,UPDATE,CANCEL,PRINT].
    I am entirely new to this area. Can anyone advise whether we can include this buttons in page template. How can we differentiate the actions from these buttons in each page. While including the page level validations whether this makes any performance impact compared to put buttons in each page seperately.
    Thanks,
    Prabhash.

    Hi,
    see: http://thepeninsulasedge.com/frank_nimphius/2007/11/23/adf-faces-rc-implementation-strategies-for-global-buttons-in-page-templates/
    Frank

  • Adding Saved Searches task flow to a Page Template

    I am trying to add the Spaces "Saved Searches" task flow to my custom page template. I have tried a few different approaches and none seem to be working.
    First, I tried simply dragging and dropping the task flow from JDeveloper's Resource Palette into my template. JDeveloper created added the following to my template source code:
    +<af:region value="#{bindings.allsavedsearches1.regionModel}" id="pt_r1"/>+
    After uploading the changes to Spaces, there seemed to be no change to the rendered template.
    Second, I tried to simply add the task flow to a page in my test space via composer. However, as soon as I click the "Add" button next to the Saved Searches task flow, the page goes blank (white screen of death) and the following message shows up in the spaces error logs:
    javax.servlet.ServletException: com.sun.el.parser.ParseException: Encountered "\'" at line 1, column 65.
    Finally, I looked at how the out of the box templates implement the saved searches functionality. It appears that the saved searches use a custom folder in the Default Navigation Model. I looked at the source in the Default Navigation Model and found the following node:
    +<customFolder factoryClass="oracle.webcenter.search.view.rc.SearchServiceContextFactory" id="savedSearchesFolder" visible="true">+
    +<attributes resourceBundle="oracle.webcenter.webcenterapp.resource.WebCenterResourceBundle">+
    +<attribute attributeId="Description" isKey="true" resourceBundle="oracle.webcenter.webcenterapp.resource.WebCenterResourceBundle" value="NAV_APPLICATIONS_CUST_FOLDER_SEARCHES.DESCRIPTION"/>+
    +<attribute attributeId="IconURI" value="/adf/webcenter/foldersavedsearches_qualifier.png"/>+
    +<attribute attributeId="Title" isKey="true" resourceBundle="oracle.webcenter.webcenterapp.resource.WebCenterResourceBundle" value="NAV_APPLICATIONS_CUST_FOLDER_SEARCHES.TITLE"/>+
    +<attribute attributeId="WEBCENTER_SERVICE_ID" value="oracle.webcenter.search"/>+
    +</attributes>+
    +</customFolder>+
    I copied the entire node and put it in my navigation model. Upon rendering the template, I can see the new node in the navigation but when I click on it, nothing happens.
    Can someone please tell me if I am on the right track with any of these three approaches? Or where to look to diagnose the issues I am running into?
    Thanks,
    Joe

    UPDATE: I updated the "activation" property in the page def for the allsavedsearches task flow to be "deferred". Now I am getting an ADF popup menu with two menu items: "My Searches" and "Other Members" but clicking on the items does not trigger anything...
    Any thoughts? What additional information would be helpful for analyzing this issue?

  • How to call different managed bean methods on a page template button

    Dear All,
    Use Case:
    I have a Page Template and inside this page template is a popup screen which is common to all my
    pages. My popup has OK and Cancel button only.
    My question is this, there are lots of pages that uses this template.
    How is it possible to invoke a managed bean methods dialoglistener when say for example the user clicks the OK button?
    One thing common among the pages is that they are included in some kind of a taskflow and I have configured
    a managedbean in a pageflowscope variable in each taskflow and I just wanted to pass the
    My Template
         - TaskFlow 1 (ManagedBean1.dialogListener)
         - TaskFlow 2 (ManagedBean2.dialogListener)
         - TaskFlow 3 (ManagedBean3.dialogListener)
    Each dialog listener does different things.     
    How to do this?
    JDEV 11G PS3
    Thanks

    Found my answer here... http://www.oracle.com/technetwork/developer-tools/adf/learnmore/79-global-template-button-strategy-360139.pdf
    Thanks!

  • Bug: Jdev 10g - templateDefinition won't allow expressionLanguage setting

    I've been migrating a set of pages from Jdev 10g Preview to Jdev 10g Production. I've got a UIX template (.uit) file with a templateDefinition like this:
    <templateDefinition xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    targetNamespace="http://www.paslists.com/pas/templates"
    localName="pasPageLayout"
    expressionLanguage="el">
    I get the following in the structure window:
    Errors(1)
    --- Attribute expressionLanguage not defined on element templateDefinition
    Can anyone help with this?

    I've managed to fix this myself, after reading about all the migration issues. It seems that the migration process copied some settings that caused Jdev 10g Production to map to some of the prior Jdev XML schemas and/or libraries. The solution was:
    1) Make sure Jdev is closed.
    2) Rename the <jdev_home>\jdev\system9.0.5.1.1605 to something else (just in case).
    3) Open JDev. Say no to any Migration questions.
    4) Open your workspaces (jws files) using the File->Open dialog
    I'm assuming, of course, that these projects are already JDev 10g Production projects. If they are not, then I think the procedure would be:
    1) Install Jdev 10g Production
    2) Run Jdev 10g Production. Say Yes and migrate settings and projects.
    3) Follow the steps above to fix the migrated settings.
    This should get your projects migrated to the new formats without contaminating them with old libraries/schemas.
    I'll repost if I find something that breaks due to this procedure. I do know that it resolved my error messages.

  • How to Copy Specific Changes between branches in jdev 10g??

    Hi!
    I'm using jdev 10g with svn, I've already create a branch of a project (we're going to use it in production), but I cant find an option to merge the content of trunk with my branch. (would like to use jdev instead of command line)
    I found the option to compare both revisions [compare with... other revision], but this mode is read only so I can't edit or merge any of this.
    I'ld appreciate any help. thanks!

    I think I figured this out, actually, by just copying a patch from a concert that is set up the way I want, to the desktop, then opening my main concert and copying it in. Magically it seems that the parameter mappings stayed in tact and mapped themselves to where I'd hoped on my physical instrument. I've only tried this on the computer but haven't put it into practice with the physical instrument (novation) but it all works on the computer. In the past I thought that copying patches didn't capture the channel strip setting, and visa versa, but this seems to capture both, and keep the mappings. Cool. I don't know what would happen to the mappings if they didn't see the same kind of instrument layout as they just came from, but that's another issue.
    I'm just posting to see if there's anything I'm missing by doing it this way.

  • Validate a ViewRowImpl in Jdev 10g

    I'm using Jdev 10g with Business components and the struts page flow, and i would like to know if it's possible to put validation in the validate() method of a row view?
    I know that this method exist, but it seems that no call is made to it. The strange thing is that in my struts controller, all my actions have the "Validate" box checked.
    I know that the method ValidateEntity exists in every EO, but this method is only call on commit, so it doesn't help me.
    Thanks
    J�r�me

    But, if i want to validate inputs right after the submit (i don't want to wait the commit), is there anything i can do?
    Also, i still don't understand why no call are made to the method validate() of the view row. I overload this method like this, and this code is never executed:
    public void validate()
    System.out.println("validate view row");
    super.validate();
    }

  • Param binding with Struts and JDev 10G

    This comes from a post in UIX forum. I transcribe the complete text. Can someone help me? Thanks in advance.
    Params in queries with Jdev 10g Sep 22, 2003 11:50 PM
    Reply
    I had a working UIX App and used the null event to setting parameters for my query but using 10g doesn't work. I tried setWhereClause in my application module class, calling it from the data action, but i get an error (index out of bounds). If I try "setWhereClause", it works fine but it's veeeeery slow (I think the query first fechs all rows). I need something that before getting rows, initialize the query (my view object is defined with an empty where clause, because the queries will be defined in runtime via a Emp_ID). Of course, there is and index on emp_id. Help me, please...
    Re: Params in queries with Jdev 10g ( In Reply To : Params in queries with Jdev 10g ) Sep 24, 2003 12:37 AM
    Reply
    Hi, this is my code using BC4J and the null event in the uix page. This worked fin with Jdev 9.0.3.
    public static EventResult EstableceParametros(BajaContext bc,
    Page page, PageEvent event)
    String exp;
    DatosUsuario dat = DatosUsuario.getDatosUsuario(bc);
    exp=dat.sId_Expediente;
    ApplicationModule am=ServletBindingUtils.getApplicationModule(bc);
    ViewObject vo=ServletBindingUtils.getViewObject(bc);
    vo.setWhereClauseParam(0,exp);
    return new EventResult(page);
    Now, I have removed the where clause from the viewobject and using dataAction I do this:
    protected void initializeRequestParameters(DataActionContext actionContext)
    // TODO: Override this oracle.adf.controller.struts.actions.DataAction method
    super.initializeRequestParameters(actionContext);
    HttpServletRequest req=actionContext.getHttpServletRequest();
    String evento=req.getParameter("event");
    DatosUsuario dat = DatosUsuario.getDatosUsuario(req);
    String exp=dat.sId_Expediente;
    BindingContext bc=actionContext.getBindingContext();
    DCDataControl dc= bc.getContext(req).getDefaultDataControl();
    Object misdatos=dc.getDataProvider();
    Elendil am=(Elendil)misdatos;
    am.ParamAnotacionExp(exp);
    In my application module class:
    public void ParamAnotacionExp(String idexpediente)
    AnotacionExpViewImpl vo=getAnotacionExpView1();
    * if (idexpediente.equals(""))
    vo.setWhereClause("centro = centro and id_expediente like " + "'%'");
    else
    vo.setWhereClause("centro = centro and id_expediente = " + idexpediente);
    vo.executeQuery();
    //(1) vo.setWhereClauseParam(1,idexpediente);
    vo.setWhereClause("id_expediente = " + idexpediente);
    vo.executeQuery();
    If I use I get a null pointer, so I removed the where clause from the view object.
    Than you very much.
    Re: Params in queries with Jdev 10g ( In Reply To : Re: Params in queries with Jdev 10g ) Sep 26, 2003 3:52 PM
    Reply
    Juanma -
    I finally found time to put together a test case, but unfortunately I wasn't able to reproduce the problem. Here is what I tried:
    - In JDev 9.0.3, I created a simple BC4J data model based on the Scott schema - with a single ViewObject for the Emp table.
    - I modified the EmpView query to include the following bind variable in the where clause:
    WHERE Emp.SAL < :1
    - I used the uiXML Browse & Edit Form wizard to create some simple uiXML/BC4J pages.
    - I added the following event handler to View1.uix:
    <event name="null">
    <bc4j:findRootAppModule name="EmpView1AppModule">
    <bc4j:findViewObject name="EmpView1">
    <method class="events.TestEvents" method="doNull"/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    TestEvents.doNull() looks like this:
    public static EventResult doNull(
    BajaContext context,
    Page page,
    PageEvent event)
    ViewObject vo = ServletBindingUtils.getViewObject(context);
    vo.setWhereClauseParam(0, "5000");
    return new EventResult(page);
    - When I run View1.uix in the embedded OC4J server, I can see that the EmpView VO is restricted based on the criteria specified in the call to ViewObject.setWhereClauseParam() in my null event handler. Only employees with salaries less than 5000 are displayed.
    - Next, I made a copy of my entire workspace and copied it into my jdev10g/jdev/mywork directory.
    - I then imported the workspace into 10g, allowing the UIX files to be converted to EL, and also allowing the BC4J model definition to be updated.
    - Finally, I try running again in 10g - everything works as expected.
    So, the good news is that this stuff should still work in 10g. The bad news is that it is going to take some more work for us to nail down exactly why this isn't working for your application. The best place to start would probably be for us to take a look at the null pointer exception that you are seeing - so please post the stack trace when you can.
    Thanks,
    Andy
    Re: Params in queries with Jdev 10g ( In Reply To : Params in queries with Jdev 10g ) Sep 28, 2003 11:05 PM
    Reply
    Andy, excuse me for the repost.
    If I try the way you explain, it worked fine, but the problem is that I'm also convertint to struts. In the data action, I have overriden this:
    protected void initializeRequestParameters(DataActionContext actionContext)
    There I try to set the params:
    // TODO: Override this oracle.adf.controller.struts.actions.DataAction method
    //super.initializeRequestParameters(actionContext);
    HttpServletRequest
    // If I uncomment the line super..., the result is the same.
    req=actionContext.getHttpServletRequest();
    String evento=req.getParameter("event");
    DatosUsuario dat = DatosUsuario.getDatosUsuario(req);
    String exp=dat.sId_Expediente;
    BindingContext bc=actionContext.getBindingContext();
    DCDataControl dc= bc.getContext(req).getDefaultDataControl();
    Object misdatos=dc.getDataProvider();
    Elendil am=(Elendil)misdatos;
    am.ParamAnotacionExp(exp);
    In my viewobject, I have this where clause:
    anotacionexp.id_expediente = :1
    Then, in my ApplicationModule class:
    public void ParamAnotacionExp(String idexpediente)
    AnotacionExpViewImpl vo=getAnotacionExpView1();
    vo.setWhereClauseParam(1,idexpediente);
    //vo.setWhereClauseParam(0,idexpediente); With 0, the result is the same.
    vo.executeQuery();
    And when I run, I get this:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.ArrayIndexOutOfBoundsException, msg=0
    at oracle.jbo.JboException.<init>(JboException.java:343)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.dispatchMethod(Abs tractRemoteApplicationModuleImpl.java:4658)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.executeMethod(Abst ractRemoteApplicationModuleImpl.java:4854)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processSvcMsgReque st(AbstractRemoteApplicationModuleImpl.java:3449)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processSvcMsgEntri es(AbstractRemoteApplicationModuleImpl.java:3630)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.readServiceMessage (AbstractRemoteApplicationModuleImpl.java:2975)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processMessage(Abs tractRemoteApplicationModuleImpl.java:1639)
    at oracle.jbo.server.ApplicationModuleImpl.doMessage(ApplicationModuleImpl.java:59 86)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.sync(AbstractRemot eApplicationModuleImpl.java:1608)
    at oracle.jbo.server.remote.colo.ServerApplicationModuleImpl.doMessage(ServerAppli cationModuleImpl.java:245)
    at oracle.jbo.common.colo.ColoApplicationModuleImpl.doMessage(ColoApplicationModul eImpl.java:102)
    at oracle.jbo.client.remote.ApplicationModuleImpl.doMessage(ApplicationModuleImpl. java:5233)
    at oracle.jbo.client.remote.PooledRequestHandler.doMessage(PooledRequestHandler.ja va:70)
    at oracle.jbo.client.remote.ApplicationModuleImpl.doMessage(ApplicationModuleImpl. java:5233)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendServiceMessage(ApplicationMo duleImpl.java:998)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendServiceMessage(ApplicationMo duleImpl.java:1012)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendWorkingSetRequests(Applicati onModuleImpl.java:3049)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendRequest(ApplicationModuleImp l.java:1041)
    at oracle.jbo.client.remote.ApplicationModuleImpl.riInvokeExportedMethod(Applicati onModuleImpl.java:5255)
    at galadriel.client.ElendilClient.ParamAnotacionExp(ElendilClient.java:21)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)
    at java.lang.reflect.Method.invoke(Method.java)
    at oracle.jbo.common.ws.WSProxy.invokeMethod(WSProxy.java:120)
    at oracle.jbo.common.ws.WSProxy.invoke(WSProxy.java:90)
    at $Proxy3.ParamAnotacionExp(Unknown Source)
    at controller.AnotacionesDataAction.initializeRequestParameters(AnotacionesDataAct ion.java:63)
    at oracle.adf.controller.struts.actions.DataAction.executeImpl(DataAction.java:104 )
    at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:69)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor .java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:509)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java: 65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:356)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java: 16)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:148)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java: 20)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:148)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatch er.java:610)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletReques tDispatcher.java:317)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.j ava:784)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResou rcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:536)
    ## Detail 0 ##
    java.lang.ArrayIndexOutOfBoundsException: 0
    at oracle.jdbc.dbaccess.DBDataSetImpl._getDBItem(DBDataSetImpl.java:323)
    at oracle.jdbc.dbaccess.DBDataSetImpl._createOrGetDBItem(DBDataSetImpl.java:566)
    at oracle.jdbc.dbaccess.DBDataSetImpl.setNullBindItem(DBDataSetImpl.java:1878)
    at oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStatement.java :1190)
    at oracle.jbo.server.ViewRowSetImpl.bindParameters(ViewRowSetImpl.java:1436)
    at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:576)
    at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java: 2946)
    at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:553)
    at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:612 )
    at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:594)
    at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:2890)
    at galadriel.ElendilImpl.ParamAnotacionExp(ElendilImpl.java:111)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)
    at java.lang.reflect.Method.invoke(Method.java)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.dispatchMethod(Abs tractRemoteApplicationModuleImpl.java:4636)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.executeMethod(Abst ractRemoteApplicationModuleImpl.java:4854)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processSvcMsgReque st(AbstractRemoteApplicationModuleImpl.java:3449)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processSvcMsgEntri es(AbstractRemoteApplicationModuleImpl.java:3630)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.readServiceMessage (AbstractRemoteApplicationModuleImpl.java:2975)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.processMessage(Abs tractRemoteApplicationModuleImpl.java:1639)
    at oracle.jbo.server.ApplicationModuleImpl.doMessage(ApplicationModuleImpl.java:59 86)
    at oracle.jbo.server.remote.AbstractRemoteApplicationModuleImpl.sync(AbstractRemot eApplicationModuleImpl.java:1608)
    at oracle.jbo.server.remote.colo.ServerApplicationModuleImpl.doMessage(ServerAppli cationModuleImpl.java:245)
    at oracle.jbo.common.colo.ColoApplicationModuleImpl.doMessage(ColoApplicationModul eImpl.java:102)
    at oracle.jbo.client.remote.ApplicationModuleImpl.doMessage(ApplicationModuleImpl. java:5233)
    at oracle.jbo.client.remote.PooledRequestHandler.doMessage(PooledRequestHandler.ja va:70)
    at oracle.jbo.client.remote.ApplicationModuleImpl.doMessage(ApplicationModuleImpl. java:5233)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendServiceMessage(ApplicationMo duleImpl.java:998)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendServiceMessage(ApplicationMo duleImpl.java:1012)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendWorkingSetRequests(Applicati onModuleImpl.java:3049)
    at oracle.jbo.client.remote.ApplicationModuleImpl.sendRequest(ApplicationModuleImp l.java:1041)
    at oracle.jbo.client.remote.ApplicationModuleImpl.riInvokeExportedMethod(Applicati onModuleImpl.java:5255)
    at galadriel.client.ElendilClient.ParamAnotacionExp(ElendilClient.java:21)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)
    at java.lang.reflect.Method.invoke(Method.java)
    at oracle.jbo.common.ws.WSProxy.invokeMethod(WSProxy.java:120)
    at oracle.jbo.common.ws.WSProxy.invoke(WSProxy.java:90)
    at $Proxy3.ParamAnotacionExp(Unknown Source)
    at controller.AnotacionesDataAction.initializeRequestParameters(AnotacionesDataAct ion.java:63)
    at oracle.adf.controller.struts.actions.DataAction.executeImpl(DataAction.java:104 )
    at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:69)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor .java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:509)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java: 65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:356)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java: 16)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:148)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java: 20)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:148)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatch er.java:610)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletReques tDispatcher.java:317)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.j ava:784)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResou rcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:536)
    I'm sure I'm doing somthing wrong, but don't know what. Thank you for your help.
    Re: Params in queries with Jdev 10g ( In Reply To : Re: Params in queries with Jdev 10g ) Sep 29, 2003 5:24 PM
    Reply
    Juanma -
    Not sure what would cause this JboException... Could you try posting to the JDev forum - I'm guessing the BC4J folks might be more familiar with this error...
    Andy

    Check out:
    Setting the view's where clause at runtime

  • A method to create completely customized photo book page templates from scratch in Lightroom 5

    I was able to successfully create completely customized Lightroom 5 page templates (including altering the number of, positions, and sizes of pictures) by making edits to the templatePages.lua file(s) in the Lightroom directory tree.  I have never heard of the LUA file format before, but it is ASCII and looks somewhat like XML, so it was fairly easy to decipher.  Here is a high-level description of how I did it.  This applies to Lightroom 5 on Windows 7.  If this doesn't make any sense to you, then don't try it - you're likely in over your head.  Although my description is brief and lacking in detail, it should enable someone who is capable of handling this to figure it out with a little of careful trial and error.  Do this at your own risk - if you screw-up your installation, catalog, or computer, it's your own fault.  It all worked great for me.
    First, open the "<lightroom 5 install directory>\Templates\Layout Templates" folder.  Then navigate to the template set that contains the template you would like to use as a starting point for the new template.  For example, "12x12-blurb\clean12x12".  Make a back-up copy of the templatePages.lua file in case you mess something up and want to revert.
    There will be a bunch of .jpg files in this directory that each contain a preview image of the layout that carries the same name as the .jpg file.  Find the one that you would like to use as a starting point.  Take note of the name of the file, which is probably something similar to "page_26_preview.jpg".   Duplicate the file and rename it to something unique, such as "dummy_preview.jpg".  It's just temporary, so it doesn't matter what name you pick, provided it is a legal file name with no spaces.
    Next, open the templatePages.lua file in a text editor.  I suggest using one that can automatically recognize and format ULA (such as Notepad++, which is open source and free to use).  Then search the file for the unique portion of the file name you took note of earlier, such as "page_26".  It will point you to a section in the LUA file that describes that particular template.  Carefully copy that entire section, including a balanced number of brackets (starting with the two brackets and commas before "children" and ending with the one bracket and comma after the "title" line.  Paste the copied text into the end of the file on a new line immediately following the bracket and comma after the "title" field for the last page template section (right near the end of the file).  Change the "previewName" field to the name of the preview file copy that you created ("dummy_preview.jpg" for me) and the "name" field to the name of the new template you're creating ("dummy" for me, since it is just temporary).  Next change at least one of the hex characters in the "pageID" field such that the new template will have a unique page identifier.
    Now you can make edits to the photo and text fields included in the new section, using other templates in the template file as examples.  "x" and "y" fields are coordinates (in pixels) for the bottom-left corner of the picture or text field, "height" and "width" are the width of the field in pixels.  The fields should be mostly self-explanatory, but make sure that the "photoindex" fields are filled-in starting from 1 to N, where N is the number of pictures in the template, with no duplicates or gaps.  They do not need to be in order.  Treat the "textIndex" fields similarly for text fields.  If you want to add an additional picture or text field, simply copy the section describing a picture or text field from another template and paste it, carefully, into the new template that you are creating.
    Once you are done, save the file (you may get interference from Windows UAC, in which case save the file elsewhere and the move it back to the correct directory).  Then open Lightroom.  Create a new photobook, and choose the new template for one of the pages, remembering that the preview image will look like the JPG that you copied.  Voila!  If you didn't screw anything up, you should see a page based on your new template.  Then right-click the page and select "Save as custom page", which will cause a fresh preview file to be created for your new template and your template to be copied to the "custom pages" section of the template menu.  The new section you added to the "templatePages.lua" and the "dummy" preview file can now be deleted, since they are no longer needed.  I save them so that I may simply overwrite them the next time I need to create a customized template.
    Enjoy, and please share any clarifications, corrections, or enhancements to my process.

    peter at knowhowpro wrote:
    DHWachs wrote:
    This post was great!  Thank you so much.  But I am hoping you know one more thing related to this.  In the "transform" section of the definition (where the x/y coordinates are set along with height and width) there is an option called "angle".  I was hoping that changing this value would allow me to offset the angle of the picture.  However, if I put any value there other than 0 the template becomes unusable.
    Do you happen to know what this option does?
    I haven't looked into the files, so this is just a guess based on how some graphic applications work. It's common to think of rotating a shape as pivoting around a center point, but It's possible that the file sets a value for the rotation point not at the center. In some graphics applications, you can set a shape's pivot at any corner or in the middle of any side, of the rectangle that contains the whole shape.
    So, your value may be rotating the shape around a pivot that moves the shape into some area that upsets the behavior of other shapes. Just a thought.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices
    Peter's point is a good one.  I would also assume that the "angle" property allows you to rotate an image, but I haven't tried it myself.  One thing to investigate - are there any page templates included in LR that have image placeholders that are at an angle (I don't recall any, off-hand)?  If so, looking at the associated .lua file could provide insight into how an angled image placeholder should be described.

Maybe you are looking for

  • GR/IR data migration

    Hi,    I want to know what are all difficulties or issues may rise while upload data (GR/GI,IR) in a new client (migrate data from other client).     In this case Mtl,Vendor,PO has already uploaded in the new client SAP.      As GR/IR has integrate l

  • Can't access iPod Classic 160GB. NEED a backup.

    Hi, I've got a 6th gen. 160GB iPod Classic and I need a backup of the songs I've got in it. Basically what is happening is the same thing that happened when I installed Mavericks and tried to use my WD hard disk: I wasn't able to mount it nor repair

  • Podcasts automatically delete themselves???!!!!!

    HELP!!! Whenever I listen to/watch a podcast, the little blue dot that was next to them vanishes. Then when I update my iPod, the watched podcasts delete themselves from my iPod and computer!!!! Has this happened to anyone else? I also notice that wh

  • BB Protect - reset Lock

    I've experimented by locking my handset via the internet using BB Protect's function to do so (just to see how it works).  My handset now prompts me every now and then to enter the specified password. Is there a way to get rid of it now? Solved! Go t

  • When I click on edit and then click on find nothing happens

    I am using firefox 25 in windows 7. Recently, maybe since the last update, when I click on "edit" and then click on "find" nothing happens, nor does ctrl + "f" work...