ADF UIX/Struts Portlets?

Hi all,
I'm trying to deploy an ADF BC / ADF databindings / Struts / ADF UIX application as a portlet. I've found an article on deploying Struts/JSP apps as portlets ( http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/pdkstruts/portletize-your-app.html ) and a thread on some changes you need to make to use ADF databindings ( ADF and portlets - help please ), but it looks like I'd need to do something different for UIX.
For one thing, the first article suggests using the The PDK Struts Tag Library, which I assume is a JSP tag library and so not compatible with UIX.
Does anyone have any suggestions or resources for making portlet-compatible UIX pages?
Thanks much,
Avrom

Avrom,
I figured out how to deploy ADF/JSP to the portal but there are a few issues. The biggest one is that Oracle Support does not support ADF with the JPDK. I found out the hard way:(
UIX is most likely out of the question.
Good luck,
Hernando
[email protected]

Similar Messages

  • Anyone deploy ADF(UIX,Struts,BC4J) to 9iAS 9.02?

    Has anyone been successful in deploying a ADF 10g app using UIX/Struts/BC4J to Oracle 9iAS 9.02?

    Deploying a UIX application directly from JDeveloper 10g to iAS 9.0.2 isn't supported out of the box. You can deploy directly to iAS 10g (9.0.4), standalone OC4J 10g (9.0.4) instances (one is included with JDeveloper 10g), iAS 9.0.3 Java edition, standalone OC4J 9.0.3, and selected third party servlet engines.
    There are two issues that you would need to workaround to deploy a 10g ADF application to iAS 9.0.2. One issue is that 9.0.2 versions of some of the ADF libraries (BC4J and UIX for example) are on the global application.xml classpath of the iAS 9.0.2 customer home OC4J instance. You would need to manually upgrade your 9.0.2 instance to have all of the ADF 10g libraries. The second issue is that some of the ADF 10g libraries (like BC4J) require JDK 1.4, and iAS 9.0.2 shipped with an earlier version of the JDK. I personally don't know if using iAS 9.0.2 with JDK 1.4 is a supported combination, but I will try to find out for you.
    By the way, you might wonder why we don't have these same problems with with iAS 9.0.3 and 9.0.4 since the ADF 10g libraries are more recent than what shipped with those releases. In OC4J 9.0.3 and 9.0.4 there is a "search-local-classes-first" option in orion-web.xml that allows classes provided as part of a web application to be loaded in preference to what is on the global application.xml classpath. We use this feature to deploy ADF 10g applications (and include the JARs for some of the ADF libraries in the WEB-INF/lib of the application). In addition, there is a tool called the ADF Installer that is part of JDeveloper that will upgrade versions of some of the backward compatible ADF libraries (like BC4J) in the global application.xml.

  • ADF UIX Struts and the BajaContext, Page, and PageEvent

    Hi,
    I'm hoping someone can point me to the right piece of documentation, but I can't seem to figure out how to build the link between 1) the new ADF bindings and the UIX controller event handler objects such as the BajaContext and 2) a UIX event handler and the ADF bindings.
    We used the ServletBindingUtils object to gain a handle on BC4J objects within UIX event handlers. To get the application module, we'd use getApplicationModule and pass in the BajaContext object. Or, the BindingContext, but this context is the oracle.cabo.data.jbo.bind.BindingContext, not oracle.adf.model.BindingContext.
    Also, the opposite question remains on how does one obtain a handle the Page, PageEvent, and BajaContext from the struts side, from say the DataActionContext?
    If there is no link (or not one easily obtained) are there plans to provide one, or are these two controller mechanisms to remain separate?
    Thanks much,

    I don't know if this will help:
    http://helponline.oracle.com/jdeveloper/help/state/content/navSetId.jdeveloper/navId.4/vtAnchor.handlingEvents/vtTopicFile.jdeveloper%7Cuixhelp%7Cuixdevguide%7Cintroducingbaja%7Ehtml/
    There is a snippet to finding the BajaContext off of the rendering context:
    BajaContext bajaContext = BajaRenderingContext.getBajaContext(context);
    I'm not sure if something similar can be done with the ActionContext or not.
    Brad

  • Working with pdf streams (UIX/Struts)

    I have a pdf stream that I would like to display to the user, I'm using ADF/UIX/Struts.
    I generate the stream in the application module via custom method, and would like a "Download" and "View" link on the page.
    Has anyone done anything similar? How should I go about this?
    Many thanks

    You might have to implement your own PageRenderer (oracle.cabo.servlet.PageRenderer) for this purpose.
    If you have abstracted the pdf as a file or InputStream/Reader, the existing implementation in oracle.cabo.servlet.util.FileDownloadRenderer should be useful.
    Javadocs (from UIX reference help topic in JDeveloper) should provide further information about these interface/class.

  • ADF UIX Forward on Successful Update

    I am working through the tutorial at:
    http://otn.oracle.com/obe/obe9051jdev/uixTutorial/lesson_UIX.htm
    I have complete the tutorial, and the way it works now there is a browse page which lists rows from the database. You can select a row and press modify, or click on new to create a new one. Both buttons take you to a modify page.
    The modify page posts back to itself. After I insert / update a record I am taken back to the modify page. Is there some way to have it forward the user back to the browse page if the insert / modification as successful and only go back to the modify page if there was a validation error?
    Nick

    you should create and event for your "Submit" button
    placed on create/modify page, the event refers to
    DataAction which must return you to browse page. Read
    the tutorial more careful.Hi, I went back through the tutorial and I don't see anything I missed. I'm new to ADF / UIX / Struts and am not sure how to even handle this or where to look.
    I want the modify form (formEmp.uix) to redisplay the form input if there was an error inserting into the database (which it does do now), and forward the user back to the browse page (browseDeptEmp.uix) if the insert / update was successful.
    If I did miss something in the tutorial please point me to the right section but looking back through I didn't spot anything.
    Thanks for your help,
    Nick

  • ADF, UIX and ORDDOC

    JDev 9.0.5.2 ADF, UIX, Struts
    When I try to create a new record and upload a file as an ORDDOC type, I get ArrayOutOfBoundsException.
    My database table and Entity Object have 2 columns:
    DocumentId - DbSequence (trigger in database to increment id)
    DocFile - OrdDocDomain (ORDSYS.ORDDOC)
    Anyone have any ideas?

    See the following thread for the solution:
    Re: ADF UIX upload size does not exceed 2M

  • Should I upgrade to STRUTS, ADF-UIX or to JSF

    My applications still use the older bc4j objects and the trivial page flow manager. I have been looking at upgrading these apps to ADF-UIX and using STRUTS.
    With the flurry of announcements about JSF, should I skip the planned upgrade above and go directly to JSF, if it's stable and complete enough, or wait until it is?
    Thanks for any thoughts on this.
    Steve

    Shay,
    Thanks for the quick response. Your comments on the lack of data binding cleared it up for me. I use data binding in my UIX code right now and plan to use more.
    I will wait on JSF until a version is available with this feature.
    Steve

  • Oracle ADF UIX and Struts

    Does Oracle ADF UIX use Struts components internally? If yes, Does Oracle Support the issues that arises because this internally used Struts components? (I am using Oracle ADF in my application.
    Thanks,
    Aravind.

    DataForwardAction and DataAction are build on top of struts actions to coordinate ADF databindings and it's life cycle;
    UIX, has xmlns:struts="http://xmlns.oracle.com/uix/struts" this XML namespace has some elements like
    <struts:form> and <struts:messageTextInput> also <struts:dataScope>
    They work like struts jsp tag;
    here a good paper;
    http://download-west.oracle.com/otn_hosted_doc/jdeveloper/904preview/uixhelp/uixdevguide/struts.html
    Marcos Ortega
    Brazil

  • Making a delete commit automatically with ADF BC, Struts and ADF UIX

    I'm trying to create a delete action that commits to the database automatically using ADF Business Components, Struts and ADF UIX.
    I have a browse page from which the user can view all records in the table, and perform edit, create and delete actions on the data.
    When the user selects a record and clicks edit they are taken to a screen where they can amend the details of that record. Create works in a similar way, but the create action on the view object is invoked before taking the user to the edit page (this is done by linking the browse page to an ADF DataAction (bound to Create) on the Struts page flow diagram, and then linking the ADF DataAction to the edit page).
    When the user clicks submit on the edit page, the container follows a forward from the edit page to an ADF DataAction bound to the Commit method, and then from there a forward back to the browse page.
    This seems to work fine for edit and create, but when I try to do something similar for delete, it behaves unpredictably - sometimes the delete is committed to the database, sometimes not.
    To be more specific, the way I have tried to implement the auto commit delete is as follows:
    There is a UIX submitButton on the browse page called Delete. When clicked, this button triggers an event, which is caught by an event handler inside the page. The event handler causes the UIX servlet to take a forward to an ADF DataAction bound to the Delete method on the relevant view object. It thens follows a forward from the previously mentioned DataAction to another ADF DataAction bound to the Commit method for the application module. There is then a forward leading back to the browse page.
    Has anyone else encountered similar problems?

    did you figure this out?

  • UIX, Struts, ADF and JSP

    Hi guys. My manager asked me to spell out these different strategies and I fell quite short of an adequate summary. I was wondering if someone could breifly define the following technologies and perhaps explain why you would use them. Additionally, we are embarking on a new project and are unsure of which technology to base it on (we will create a BC4J layer). It is a web application which may end up serving many anonymous users.
    UIX
    STRUTS
    ADF
    JSP (as used in JDev9.0.3.3 - Create a complete JSP application).
    Thank you in advance for your time and consideration!
    ~Rob Lundeen

    Here is a quick one:
    Oracle ADF - A framework for building J2EE applications. Based on the Model-View-Controller architecture. Offers flexability in choosing implementation for the different layers.
    STRUTS - a popular open source controller for managing the flow of Web applications when using the MVC architecture. Used as the controller for Oracle ADF based applications.
    JSP - One way to build your Web user interfaces or View layer in Oracle ADF.
    UIX - Another way to build the View layer for your application. Provides a set of rich HTML component and built-in functionality. Uses a declarative approach to building the page. Will evolve to become a JSF implementation.
    BC4J - Now renamed to Oracle ADF Business Components - one of the way to implement the data source (or Business services) layer in Oracle ADF applications. Other ways include EJBs, Web Services, TopLink, or simple Javabeans.
    I hope this helps,
    Shay,
    Oracle.

  • ADF UIX with ADF Binding without Struts

    After trying the CRUD tutorial from the "Complete ADF UIX Application (Browse, Create, Update, Delete)" -(http://otn.oracle.com/products/jdev/collateral/tutorials/9050/adfuix_tut.html), I found it may be thousands of struts actions in my upcoming project.
    It will be difficult to merge and sync my team members works and the usefulness of StrutsPageFlow diagram will decrease severely although it is very convenient to drag data control operations to struts data actions without coding.
    I am trying to use ADF Controller event handler as my page flow engine to eliminate these drawbacks.
    When I use ADF controller as my page flow engine, if I have to pass ui model reference, initialize binding container, get binding container, get application module and refresh binding container, ... manually in my event handler codes just like the BasicDataAction class does in "ADF data binding primer (http://www.geocities.com/smuench/adfprimer/)"?
    Is there any document that cover this information or any suggestions?
    Daniel

    ADF Controller questions should be posted in the JDeveloper forum.

  • ADF UIX: Get value in LOV messageList.

    I have a messageList that bind to a vo but when I call getTxtCodeCat method from the Struts form bean in Action Class, it does always return me a list index (0,1,2...).
    <struts:messageList model="${data.protecteddoc_GN_GnCodeSetupUIModel.CodeDescription}" name="txtCodeCat" prompt="[Code Category]" styleClass="DropdownMedium" required="yes" size="1">
    <contents childData="${data.protecteddoc_GN_GnCodeSetupUIModel.CodeDescription.displayData}">
    <option model="${uix.current}"/>
    </contents>
    </struts:messageList>
    Please advice how do I retrieve the value instead of index from the LOV?

    This thread is a duplicate. Direct all followups to:
    Urgent! ADF UIX:LOV messageList returned index no. during runtime.

  • ADF UIX cancel/rollback button?

    Hi
    We're having a fair amount of trouble implementing a "cancel" button in our ADF UIX application (JDev 10.1.2). Apologies to those who read this same post on the ODTUG mailing list..... I'm hunting for even a hint of an answer before I approach Oracle Support.
    To set the scene, we have a parent VO "Departments" with child VOs "Dispatch" and "Agency". Dispatch also has a FK to Agency.
    We have a UIX view-screen that displays in a master-detail relationship Departments and Dispatch. From this screen the user can select the edit button, which navigates to an input-form screen to edit the currently selected Dispatch record.
    The Dispatch record has effective_from and effective_to dates. The underlying EO has a MethodValidator that ensures the from date <= the to date.
    On the edit screen we currently provide 2 buttons, Ok and Cancel. The Ok submitButton is bound to the commit binding, and navigates back to the view page via a struts link on completion.
    If the user selects the ok button and MethodValidator returns an error, the edit page's MessageBox displays the error and the user remains at the edit page until they resolve the issue.
    Our problems start with the cancel button.
    Originally we implemented the Cancel button as a simply "button" that navigated back to the view page. This worked well as the changes are never submitted, and on returning to the view page the record is presented in it's original state before being edited, thus the user's changes have been "cancelled".
    However if the user was editing an existing record, entered invalid dates that violated the MethodValidator, clicked ok and saw the MethodValidator error, then clicked cancel, on returning to the view page, any changes to the underlying record are visible including the invalid dates. I believe this occurs because the record has been submitted to the mid-tier by the ok button, and as such the changes now lies in the mid-tier.
    Given that a cancel "button" which simply navigates back to the view page is not a viable solution, we decided to investigate using a rollback button on our edit page, which then navigated back to the view page.
    There is a nasty side affect in using the rollback functionality, and has been a continuous frustration mentioned on OTN. When rollback is issued, it appears all iterators in the running application have their current row reset to the first element.
    This is a pain as in our example this results in not only the Dispatch iterator being reset to the first element, but also the parent Departments iterator, and presumably all other iterators in the application too. This would be an extreme annoyance to the user in every time they selected cancel, they would then need to navigate back to the correct Departments and Dispatch record if they wanted to make a different change.
    As such it is necessary to write some code to store the iterator positions before issuing the rollback, rolling-back, then restoring the iterator positions from the saved states.
    Luckily we found some code on OTN to do this:
    ADF - cancel button not working in input form(add new row)?
    This mechanism appeared to work, but, then, we did find one problem.
    I described at the beginning that our Dispatch VO is not only related to Departments but also Agency. To cater for this in our edit screen by including a LOV bound <messageList>, which displayed the relating Agencies for the user to select from.
    In using the pinched OTN rollback code, in the same scenario as previously, when the user edits a record, invalidates the MethodValidator after clicking ok, then clicks cancel, on returning to the view page, the field in Dispatch that represents the Agency is incorrectly showing a numeric result such as 0, 1, 2 etc. We realised that the value being shown is the previous edit screen's <messageList> internal index number representing the value selected in the list, and not the actual value itself.
    We're note sure why the OTN rollback code is causing this to occur. Though it restores the Agency iterator's position, it shouldn't result in the <messageList> index being written to the underlying Dispatch agency field, but rather the value the <messageList> index represents.
    It appears to me we're caught between a "rock and a hard-place" here. The simple solution of using a cancel "button" doesn't work when errors are raised. The complex case of using a "rollback" button doesn't work due to the problem with the <messageLists>.
    My research on OTN shows the "cancel vs rollback" button is a common frustration. Can somebody help me in providing a satisfactory "cancel" button that I can use throughout my app please?
    Many thanks in advance.
    Chris Muir

    The stack:
    Class                     Method
    UsrEcvAmpdsViewRowImpl    setAgency
    UsrEcvAmpdsViewRowImpl    setAttrInvokeAccessor
    ViewRowImpl               setAttribute
    DCDataControl             setAttributeInRow
    DCJboDataControl          setAttributeInRow
    JUCtrlValueBinding        setAttributeInRow
    JUCtrlValueBinding        setInputValue
    JUCtrlValueBinding        setInputValue
    InitModelListener         _setInputValue
    InitModelListener         _doModelUpdate
    InitModelListener         eventStarted
    AbstractPageBroker        _fireUIXRequestEvent
    AbstractPageBroker        handleRequest
    BaseUIPageBroker          handleRequest
    PageBrokerHandler         handleRequest
    UIXServlet                doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    ServletRequestDispatcher  forward
    RequestProcessor          doForward
    RequestProcessor          processForwardConfig
    RequestProcessor          process
    ActionServlet             process
    ActionServlet             doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    ServletRequestDispatcher  forward
    RequestProcessor          doForward
    RequestProcessor          processForwardConfig
    RequestProcessor          process
    ActionServlet             process
    ActionServlet             doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    EvermindFilterChain       doFilter
    ADFBindingFilter          doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    HttpRequestHandler        processRequest
    HttpRequestHandler        run
    HttpRequestHandler        run
    ReleasableResourcePooledExecutor$MyWorker run
    Thread  runAt a wild guess, InitModelListener is causing the issue, because it's the first place where we can see a setInputValue occuring?
    To make this official I've raised a TAR (4613003.992) with Oracle Support with a cut down version of our app to work through the issue.

  • Binding Editors not present in ADF UIX

    Hi
    I have been having some trouble with accessing both the Boolean Binding Editor and the LOV Editor from the structure window, when in design mode of an ADF UIX page.
    My bindings are present, but when I 'Edit' the binding, the only option available to me is to select the Iterator and the attribute.
    The documentation keeps telling me to select different tabs, but there aren't any!
    Anyone had this problem????
    I'm on;
    Oracle IDE     9.0.5.16.27
    Business Components Version     9.0.5.16.0
    UML Modelers Version     9.0.5.14.78
    Versioning Support     9.0.5.14.78
    WebDAV Support Version     9.0.5.14.78
    Struts Modeler Version     9.0.5.4.22
    Designer Generators Framework     9.0.5.5.71
    ADF UIX     2.2.8
    java.version     1.4.2
    java.home     C:\j2sdk1.4.2_04\jre
    java.vm.name     Java HotSpot(TM) Client VM
    java.vm.vendor     Sun Microsystems Inc.
    java.vm.version     1.4.2-b28
    user.language     en
    user.region     <no value assigned>
    user.name     chris.bell
    user.home     C:\Documents and Settings\chris.bell
    user.dir     C:\Software\Oracle\jdev9052\jdev\bin
    os.name     Windows XP
    os.version     5.1
    os.arch     x86
    http.proxyHost     <no value assigned>
    http.proxyPort     <no value assigned>
    http.nonProxyHosts     <no value assigned>
    ide.patches     
    Thanks in advance
    Chris

    the primaryclient action should pass the rowkey of the current row (${uix.current.rowKeyStr}) as a parameter. This way the server can find the corresponding row on the server in an event handler.
    see
    http://www.oracle.com/technology/products/jdev/tips/jacobi/edittable/tip_adfuixtable_edit.html

  • ADF UIX programatic data binding

    Oracle ADF UIX Developer's Guide mentions the possibility to use the UIX framework in Java, to create new objects or alter the existing ones.
    E.g. we can create a table using a construct like:
    TableLayoutBean tlb = new TableLayoutBean();
    The same document demonstrates the data binding:
    BoundValue rows = new DataBoundValue(_YOUR_NAMESPACE, YOURNAME, "rows");
    tlb.setIndexedNodeList(new DataObjectListNodeList(rows));
    For "simple" attributes using DataObject DataObjectList, etc. the procedure is clear. But what about creating a data bound table or input text:
    <table model="${bindings.EmpView1}" ... >
    <messageTextInput model="${bindings.DeptCode}"/>
    It’s easy to understand that model="${bindings.EmpView1}" or model="${bindings.DeptCode}" are equivalent to multiple attribute bindings (data, validation, read-only, etc.), but it looks that the classes/methods resolving these equivalences and linking the bean to the corresponding DCControlBinding, are not public (or maybe I was not able to find them).
    How can we obtain programmatically, in Java, the same structure as described above (in XML)? The best would be to use the same classes used when the UIX XML document is parsed to create the page description.
    It would be very nice to be able to use a structure like
    tbl.setModel( new JUCtrlRangeBinding(...) );
    txt.setModel( new JUCtrlValueBinding(...) );
    or maybe
    txt.setAttribute( "model", new TextInputModelBoundValue(...) ) etc.
    In JSF we can do something like:
    ValueBinding vb = application.createValueBinding(value);
    component.setValueBinding(attributeName, vb);
    Can we do something similar in UIX?
    Any help will be appreciated,
    thanks,
    Mircea Ionita

    Since the code is already written, it's a pity that we can't use/extend it. I don't like to say it (sorry) but I find this design choice (implement the "model" only into the XML parsing layer) a little bit strange (or maybe I don't understand... ;-) ). We should (or we are supposed to) be able to do in java everything that we can do in XML.
    I would like to find more support/help for the programmatic approach. I have the feeling that you are too focalised on "use-our-state-of-the-art-tools/wizards-to-write-the-code-for-you" and you forgot that this is not suitable for all projects. E.g. our application creates the user interface according to a layout defined by each user. To generate it, we need to use at maximum the extension mechanism and we can't simply relay on "rendered" attribute etc.
    -When should we expect this new UIX release?
    -What about the UIX controller? The Struts controller will replace it?
    -What about the source code of uixexp2-demo.jar (distributed with ADF_UIX_component_guide)?
    -Why while debugging we can't set a method/class breakpoint on UIX classes (to understand the data flow) - the stack is secret?
    Thanks

Maybe you are looking for

  • Iphoto library jailbreak crew needed

    Help you mac wizards....Iphoto dilema has caused me to post my first question. I was so excited to find this old post (shown below) that explains my exact dilema. The answers did not answer my question however. Thank you to Nayeli for posting, http:/

  • JAVA for OS X?

    I know that this has been a ? for years; but can't find a recent thread and I thought that Java DID work with OS X Mavericks?? wont download for me, please advise?

  • Sound stops when browsing Bookmarks or other screen messages

    Since I installed the latest version of Safari the sound on my iMac stops whenever I browse through the Bookmark Bar or any other message dialogue box. I'm fairly sure it did not do this before and feels like its stopped multi-tasking?

  • Windows Apps can't save to Snow Leopard Server

    I just set up a Mac Mini with Snow Leopard 10.6.4. Mac Users have no problems saving files from applications, but Windows users cannot save directly from Windows apps, such as Excel or Word. Windows users can drag files directly to the share point an

  • Reiniciar o firefox

    Página de instalação do adobe flash player não deixa o buscador funcionar google , nem you tube e facebook.