/apex/apex_authentication.callback in Apex 4.1.0.00.32

Hi All
Please let me know if /apex/apex_authentication.callback URL is not called in Apex version 4.1.0.00.32 for collecting credentials?
I am trying to use 'HTTP Header Variable' authentication scheme with my access manager. I have another local Apex environment where I am able to see that this URL is been called while authentication.
Because of this, my access management solution is working with 4.1.1 and not with 4.1.0.00.32. I am bound to use the 4.1.0.00.32 version Apex environment.
Please comment. Thank you!!

This is a known bug. Refer to the following thread for more details:
Re: HTTP Header Variable
This is fixed in 4.1.1 or you may apply the patchset:
12955671 - HTTP HEADER VARIABLE AUTH: ENDLESS REDIRECT IF USERNAME IS CASE SENSITIVE

Similar Messages

  • Mod_auth_radius on v9 system

    I'm trying to use the freeradius radius module linked to apache2.x on a Solaris 9 system.
    When I run
    bin/apxs -i -a -c mod_auth_radius-2.0.c
    mod_auth_radius-2.0.a and mod_auth_radius-2.0.1a are generated in the modules directory but not the .so file.
    The error...
    Warning! dlname not found in xxx/mod_auth_radius-2.0.1a.
    Assuming installing to .so rather than a libtool archive.
    chmod 755 xxx/mod_aut_radius-2.0.so
    chmod: Warning: can't access xxx/mod_aut_radius-2.0.so
    apxs:Error: Command failed with rc-65536
    Probably something simple I'm overlooking. What should I check out?

    Hi Joerg,
    APEX 4.1 already contains a built-in authentication scheme for HTTP header variables and I see that you are already using that in your step 8.1. There should be no need to write a custom authentication and sentry function.
    It's just a matter of configuring the correct HTTP header variable (e.g. REMOTE_USER) in the application's authentication. The header based authentication probably works best if you just protect apex_authentication.callback itself, instead of redirecting via sso-callback.php. Then, PL/SQL can pick up the HTTP header itself. Here's an (untested) example:
    <Location "/apex/apex_authentication.callback">
        AuthName "A Protected Place"
        AuthType SSPI
        SSPIAuth On
        SSPIAuthoritative On
        SSPIOfferBasic On
        # SSPIBasicPreferred
        # SSPIUsernameCase lower
        require valid-user
    </Location>Alternatively, you can define another public PL/SQL entry point (e.g. joerg_authentication_pkg.protected_sspi_resource), protect that and call apex_authentication.callback.
    The error in your step 8.3 occurs, because apex_authentication.callback also requires the p_app_id parameter. I suspect that you lose that somewhere in the php code.
    About the authorization scheme: We are currently working on tighter integration with Oracle Access Manager. It's Apache module can directly pass ldap parameters of the authenticated user to APEX and we use that to get a comma separated list of roles in another HTTP header. Maybe there's a similar functionality in mod_auth_sspi?
    Regards,
    Christian

  • AJAX  Callbacks  & apex.ajax.ondemand     -  APEX 4.0

    Hello,
    I am trying to use the apex.ajax.ondemand(pWidget,pReturn) package for the Ajax Callbacks functionality in APEX 4.0. However since I need the $v('pFlowStepId') to identify the ondemand process within the application and the apex.ajax.ondemand() package does not allow for the inclusion of this parameter I am unable to use it.
    Do you have any suggestions besides using the the htmldb_Get directly to work with the Ajax Callbacks functionality in 4.0?
    Thanks ahead for any information you can provide.
    Rafael J

    KP wrote:
    Hi,
    I am dynamically creating a HREF link in my Apex report using SQL. this links invokes an Ajax Process on the same page.
    The process is an on Demand Ajax Call back that calls a Stored Proc.
    All seems to work as expected, with one small issue, A blank page is displayed once the process is called, the process page does not return back to the page it was called from. Can someone let me know where i am going wrong.
    This is the Query i use to create a dynamic HREF via my Report SQL ...Notice the <a href...> syntax. The name of the process flow is CALL_PROCESS_FLOW
    select "RUN_ID",
    "JOB_NAME",
    "JOB_START_DATE",
    "JOB_END_DATE",
    'Ajax' SP1
    from "#OWNER#"."VW_JOB_CONTROL"
    where job_name='CLN_INPATIENT_FCE'
    I have tried getting rid of the colons after the name of the process flow. I have also tried the same with and without the # at the end. However it still returns the same error.
    Can some one help. I know its something small but i just can seem to figure it out.I don't think you are making an ajax call here and you are just invoking the APEX application process via URL
    Use the below javascript function to make a call ajax
    function myAjaxProcess() {
    var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=CALL_PROCESS_FLOW',$v('pFlowStepId'));
    //invoke it now
    gReturn = get.get();
    // you can alert the ajax call back
    //alert(gReturn);
    }Replace your href value (href="f?p=&APP_ID.:2:&SESSION.:APPLICATION_PROCESS=CALL_PROCESS_FLOW:::::#")
    like this
    href="javascript:myAjaxProcess();"

  • APEX 4.0 Getting gReport is undefined when pulling IR report from Page2

    The below function used work perfectly in APEX 3.2 for
    Pulling Page2 IR Report into Page1 Region having <div id="XXHOLDER">
    <div>
    but in APEX 4.0, I am getting "gReport is undefined" when I click on IR Toolbar/Control panel like Action or Go
    function periodRep(){
    $.ajax({
    type: "POST",
    url: "wwv_flow.show",
    data: {
    p_flow_id : $v('pFlowId'),
    p_instance : $v('pInstance'),
    p_flow_step_id : "2",
    p_request : ""
    dataType : "html",
    success : function(data){
    var startTag = '<apex2ajax>';
    var endTag = '</apex2ajax>';
    var start = data.indexOf(startTag);
    if (start > 0) {
    data = data.substring(start+startTag.length);
    var end = data.indexOf(endTag);
    data = data.substring(0,end);
    $("div#XXHOLDER").html(data);
    $x_Value('pFlowStepId', "2");
    if($('#apexir_CONTROL_PANEL_COMPLETE').length > 0){
    if(!($('#apexir_CONTROL_PANEL_COMPLETE').css('display') == 'none')){
    gReport = new apex.worksheet.ws('');
    gReport.toggle_controls($x('apexir_CONTROL_PANEL_CONTROL'));
    }); //ajax
    }//periodRep
    Please help
    Thanks
    -Senthil K

    Hi Senthil,
    I think that the reason this no longer works is due to internal changes we made to the Interactive Report JavaScript. These changes affected both how the IRR JS file was added to a page and also how the gReport variable is initialised.
    I would like to give you a few pointers as to what's changed and how you can get this working, but please bear in mind that doing these types of customisations is always going to be risky, due to the fact undocumented HTML that we output is always subject to change in future releases of APEX and cannot be relied upon as remaining the same.
    In 4.0, the IRR JS file is only included on a page where there is an IRR, so you're page 2. And unfortunately, due to the way you crop your response from page 2, this file is not being included in page 1 after the PPR. You therefore either need to change the way you crop the success data, or just include the apex_interactive_reports_4_0.js file on your page 1.
    Also in 4.0, we have also cleaned up a lot of initialisation JS code that we used to emit inline, that is now added at the end of the web document in a jQuery 'ready' handler. 1 such example of this code was the initialisation of the gReport variable in IRRs. This used to be emitted inline and was actually included inside of the snippet you crop within page 2 response. Which was all good. Now though, because this is done at the end of the response, which is outside of what you crop, this is no longer executed. Try adding the following initilialisation at the end of you 'success' callback:
    gReport = new apex.worksheet.ws('');
    gValid = new apex.validation.v();Again, to re-iterate!! Internal and undocumented code such as this is always subject to change and should not be relied upon as remaining the same in future releases of APEX. Only supported APIs and methods should be relied upon as being backwards compatible.
    Anthony.
    Edited by: Anthony Rayner on Jul 26, 2010 5:46 PM

  • How to automatically login to apex and run a specific page / application

    Hi all.
    I'd like to know if there is a way of automatically login to apex and run a specific page / application. I mean, invoke browser and pass the necessary information to login (not public user) and run a specific application( ina secure way if possible).
    Thanks in advance ...!

    Hi,
    Well, as a very crude test you can set your authentication scheme to be Application Express Authenticationand define some users in Apex. Then create a before header login process on the login page (101) to automatically logon containing:
    apex_authentication.login(
        p_username => :P101_USERNAME,
        p_password => :P101_PASSWORD );
    :P101_PASSWORD := NULL;conditional on P101_PASSWORD is not null.
    Then you can login by specifying your username and password in the URL e.g.
    f?p=YOURAPP:LOGIN:::::P101_USERNAME,P101_PASSWORD:username,password
    Rod West

  • APEX 4.0 - AJAX not working with Popup LOV field

    Hello,
    In the application I have built I have three fields which are 'feeded' by selects via a AJAX construction.
    All three fields are based on three others, which are PopUp LOV fields. Up to version 3.2 I had no problems: the fields were 'refreshed' as expected when in the 'parent' field a specific value was entered or choosen by the Popup Lov selector.
    But since the migration to APEX-4 (lin a test-system) all the three fields are not correctly refreshed anymore: two of them give the value 'undefined', the third, which is a select-list shows values, but at the moment I try to click on the select-list down arrow to pick a value, the list is emptied and stays that way.
    More specific about the third field:
    item 1 is a popup-lov defined item in which a user can type a value, but can also choose a value from a popup-lov. Item 2 is based on item-1: it does a select based on the value of item-1 and refreshes a select-list. Item-2 is defined as a select list.
    I got it all working when making item-1 also a select list, but since the list can become very large, I made a Popup lov of it. Most users do know what code they have to enter and in case somebody is not sure, the lov can be used.
    In this forum I came across a problem with AJAX callback, which was answered by Patrick Wolf, saying that in an htmldb_Get ( ... ,0) the last 0 should be replaced by $v('pFlowStepId'), but this did not fix my problem. I have the feeling that the problem is somewhre else, since on first hand, after entering a value in item-1 I see item-2 refreshed with the correct values, but the moment I try to select one item, the list is emptied.....
    I hope I made it clear what my problem is and that somebody can help me, else APEX-3.2 was the latest version for this application....
    Thanks in advance and best regards,
    Jan.
    Edited by: user13110728 on 9-aug-2010 8:44

    Hi Jan,
    the problem is the
    onBlur="javascript:f_P21_select_kostenposten(this,'P21_KOSTENPOST');"on P21_GBREKNR. This is getting attached to the HTML input text field but as well the the anchor link which opens the popup. So when you leave the text field the cursor will be put onto the icon to open the Popup LOV. When you press tab another time or leave the anchor link by clicking somewhere the above JavaScript function is fired again. But the problem is that "this" this time points to the anchor and not the text item anymore, so it will return an invalid value when you access this.value in your f_P21_select_kostenposten function which results in an empty result of your on-demand call.
    I still have to investigate why the above JavaScript code is now added to the anchor link as well. But as a workaround, just change your code to
    onChange="javascript:f_P21_select_kostenposten(this,'P21_KOSTENPOST');"which is better anyway, because it's just firing when the value really got changed. And because the anchor link can't really be changed, the event will never fire when you leave the anchor. BTW you can use the Application Search feature to search for all your onBlur events. onChange is much better than onBlur because it doesn't fire that often unintended.
    But if you want to use some of the new APEX 4.0 features, you could use the cascading LOV feature of APEX 4 and avoid all this JavaScript and on-demand code which you have written.
    I have changed your application to take use of it.
    1) I changed the LOV query for P21_KOSTENPOST from
    select '('||replace(lpad(gbreknr, 3, chr(1)),chr(1),' ')||') '|| omschrijving d, kostenpost r
    from   kostenposten
    where  vervallen is null
      and  bedrijf = :P21_BEDRIJF
    order by gbreknr, kostenpostto
    select '('||replace(lpad(gbreknr, 3, chr(1)),chr(1),' ')||') '|| omschrijving d, kostenpost r
    from   kostenposten
    where  vervallen is null
      and  bedrijf = :P21_BEDRIJF
      and  (:P21_GBREKNR is null or gbreknr = :P21_GBREKNR)
    order by gbreknr, kostenpostas it was in your on-demand process. The query will return all values if P21_GBREKNR is null but will restrict it if the field is filled out.
    2) Set "Cascading LOV Parent Item(s)" to P21_BEDRIJF,P21_GBREKNR Because based on your LOV query I assume "Kostenpost" should be refreshed if one of the two fields gets changed.
    3) Set "Optimize Refresh" to No because one of your parent items (P21_GBREKNR) can contain a null value.
    4) Removed the onBlur/onChange from P21_GBREKNR
    5) Removed the *%null%* from the "Null Return Value" attribute of P21_BEDRIJF, because that will cause a ORA-1722 if someone picks "-- kies: --"
    That's it.
    Have a look at dynamic actions and the "Set Value" action as well, because I think that could remove your other on-demand calls as well without having to write any JavaScript code.
    I will still investigate what's going on with the anchor link in APEX 4.0
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX 4.0 Plug-Ins: http://apex.oracle.com/plugins

  • Converting forms to APEX

    Hi,
    Has anyone converted client/server oracle forms,reports to APEX?
    If so, was it any good after conversion and if possible can you send me steps on how this was achieved?
    Thanks
    Munish

    For me I found that it was easier and better to my mind to write jquery javascript for validation than to try to get the callback thing to work. Also I was running into bugs about displaying validation error messages in 4.01. They just went in the bit bucket and never displayed.
    In jquery you could just write event-triggered code in a "ready function" that acted on specified events on specified items. You can declare it in one piece: the event and the code to process the event, all together. Which is like a forms trigger, you see the trigger name and the trigger code together. Whereas the apex callbacks were in multiple pieces that had to be defined in a certain order; a lot of distractions. In some respects jquery was more
    flexible than forms triggers because you could create a ready function that acted on one or more items whereas in forms you have item level,block level
    and form level triggers, you can be a bit more exact with jquery (modulo how things were named).
    What was a lot harder to do (for me anyway) was communicate with the database. Whereas in forms it is very easy: you can just stick
    database calls wherever you want with little concern. Not in apex. If the page was displayed on the client then talking to the database at that point was ajax and that was not easy to use IMHO. So you end up dividing things up into separate pages that could've been on one in order to have the submit (and talk to the database step). Apex was fun to use but it's worth it to use in order to then appreciate how much easier it is to develop in forms and it doesn't have that ridiculous 100 item limit. (I once created a forms form to display the data in one of our tables that has 586 columns and it didn't burp on it. No problem.) You can not change multiple item properties at one time in apex!
    So much more clicking to do there. I never appreciated fully the ability in forms to select a huge amount of things and change them
    at one time, how artful that was, as was the ability to copy and paste things and duplicate things until I used apex for a few months,
    where you can't do that.
    This is the part where someone will announce that where they work they never had a table with more than 30 columns and therefore we
    shouldn't have one either. Sorry but wide data is the norm. It's getting wider. Maybe someone expects and gets all their data to fit on your phone
    but not everyone does:
    http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx?CTT=5&origin=HP005199291

  • APEX 4 Charts and SSL

    Hi Forum
    We are running APEX 4.0.1 on a Linux server, using the APEX listener and Apache (mod_jk).
    When using SSL (https), we ran into a problem displaying charts.The error is "XML Parser failure".
    Investigating the HTML code shows the following:
    /i/flashchart/anychart_5/swf/OracleAnyChart.swf?XMLFile=http://<server name here>:443/apex/apex_util.flash?p=101:17:841359703279817:FLOW_FLASH_CHART5_R826355027361103270_da
    Which means APEX is trying to callback the server on port 443.
    When I try this in the browser, I get:
    Bad Request
    Your browser sent a request that this server could not understand.
    Reason: You're speaking plain HTTP to an SSL-enabled server port.
    Instead use the HTTPS scheme to access this URL, please.
    This makes sense, so how do I make APEX graphs use "https" instead og http (port 443) ?
    Brgds
    Martin Nielsen

    Hi Martin,
    are you using the most recent APEX Listener (1.0.2)? Because there was a bug in previous versions Does Apex_Listener resolve variable #HOST_PROTOCOL# correct in HTTPS?
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX 4.0 Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • AnyGantt Custom XML Apex 4.2.2

    Hi guys,
    Sorry to create a new post on this, but I'm having trouble following some of the previously posted solutions.
    I'd like to use the AnyGantt Project chart but dynamically build the <project_chart> <tasks> tags so that I can leverage some of the additional feature of AnyGantt such as connectors etc, and generally control the display a little more.  I've read a few posts about max 32 byte issues, however i thought i'd take tiny steps and see if i can build a simple output with 2 rows initially to ensure i can get Apex building the chart dynamically.
    I've followed the post Dynamic custom XML in resource gantt and found this extremely helpful, especially the links to the demo site Hilary has created http://apex.oracle.com/pls/apex/f?p=36648:60
    I've used this example to build my PL/SQL block which dynamically builds tags for me and I've tested this in SQL Developer and i know I'm getting the following tags :
    <project_chart>
      <tasks>
        <task id="161" name="Prep" actual_start="2013.01.01" actual_end="2013.01.07" />
        <task id="162" name="Workshop" actual_start="2013.01.07" actual_end="2013.01.14" />
      </tasks>
    </project_chart>
    I understand the section in this example that explains how to replace the #DATA# string in the Custom XML region of the chart with a page item of &P23_DATA for example (P23_DATA is defined as a hidden item in the chart region), i've defined my PL/SQL block as an Application Process.....
    .....however I'm having trouble understanding how this now links all together, in the example from Hilary the following steps are mentioned but i'm confused exactly where in my page is define them :
    3. Edit the Chart Page to include the following JavaScript function, calling the On Demand process:
    function getdata() {
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=CHART_DATA',0);
    gReturn = get.get('XML');
    get = null;
    and finally
    8. To call the JavaScript function and ensure asychronous updates are
    picked up, the region source has been updated to replace #CHART_REFRESH# with
    the following:
    <script type="text/javascript" language="javascript">
    var chartName = '#CHART_NAME#';
    chartName = chartName.substring(1);
    getdata();
    function chart_r#CHART_NAME#_InitRefresh(pNow) {
      setTimeout("chart_r#CHART_NAME#_InitRefresh(true)",10000);
      if (pNow){apex_RefreshFlashChart (60, chartName, 'en-us');
      getdata();}
    apex_SWFFormFix('#CHART_NAME#');
    addLoadEvent(chart_r#CHART_NAME#_InitRefresh(false))
    </script>
    Thanks in advance guys
    Glen

    So I've managed to take a small step forward....and realised my last effort with using collections was a little bit of a waste of time.
    I've gone back to reading the details posted by Hilary in Dynamic custom XML in resource gantt and using the sample pages supplied in the link http://apex.oracle.com/pls/apex/f?p=36648:60
    Anyway I've managed to get my page to render an AnyGantt Gantt Project using the dynamic XML I've generated via PL/SQL, this is nice as I've been able to now build XML that allows me to take advantage of the <connectors> tag to links tasks together via a hierarchy of prerequisites.
    Here is what I've done to date by using the examples supplied by Hilary.
    Under 'Shared Components' and 'Logic' i have created an 'Application Processes' called CHART_DATA which holds the PL/SQL code that will generate my XML from the <project_chart> tag down. (Thanks Hilary for the code)
    I then created a new page using the chart region and used my original SELECT statement.
    Once the page was created, i added a Hidden Page Item to the Gantt region which was defined as P23_DATA.
    I then added a 'AJAX Callbacks' under the 'Page Processing' section, this was defined as a 'Run on Demand Process', called CHART_DATA and pointed to the application process previously created called CHART_DATA.
    I opened the Gantt region for editing and within the 'Chart Attributes' i selected to delete the Series that the wizard had previous defined when creating the Gantt originally.
    Under the 'Chart XML' section is changed the 'Use Custom XML' to 'Yes' and edited the 'Custom XML' region, again by using the examples supplied by Hilary i removed the #DATA# and replaced it with my new hidden page item &P23_DATA. (please note the syntax includes an ampersand and a period at the end of the item name)
    Now for the bit that i don't really understand....
    Back to the main edit page screen, under the 'Page Rendering' section choose to edit the actual page and under the section 'JavaScript' there is a section labelled 'Function and Global Variable Declaration' which i sort of understand as a section to hold custom JavaScript code for function etc.  I added the function previously supplied by Hilary
    function getdata() {
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=CHART_DATA',0);
    gReturn = get.get('XML');
    get = null;
    Under the section beneath this labelled 'Execute when Page Loads', i supplied add a call to the above mentioned function.
    getdata();
    So this kind of works for me at the moment, however when the data changes in the base table which holds the tasks i need to close the page and reload multiple times for the data to be refreshed.  This is the section in the example from Hilary i'm still having a little trouble with, the example page Hilary supplied mentioned the following :
    8. To call the JavaScript function and ensure asychronous updates are
    picked up, the region source has been updated to replace #CHART_REFRESH# with
    the following:
    <script type="text/javascript" language="javascript">
    var chartName = '#CHART_NAME#';
    chartName = chartName.substring(1);
    getdata();
    function chart_r#CHART_NAME#_InitRefresh(pNow) {
      setTimeout("chart_r#CHART_NAME#_InitRefresh(true)",10000);
      if (pNow){apex_RefreshFlashChart (60, chartName, 'en-us');
      getdata();}
    apex_SWFFormFix('#CHART_NAME#');
    addLoadEvent(chart_r#CHART_NAME#_InitRefresh(false))
    </script>
    However i can't actually find on my page where this might live, i'm guessing somewhere in the Gantt region itself however maybe the pages have changed since Hilary originally wrote this.
    Thanks
    Glen

  • Error importing data via Apex

    Hi,
    I have an apex application on a 10g XE machine, and am in the process of migrating
    this to an 11g machine (same version of apex: 3.2.1).
    With a dozen or more "Apex" users, I first was a little disgruntled to find that there wasn't
    a readily-available tool to migrate all the users across (add that to the "wish list" presuming there
    isn't an easy user-migration mechanism, please).
    Then I took the DDL across to the new platform, which worked quite well.
    My next task was to move the data, in prior preparation for moving the applications.
    On the old machine I performed a "data unload" to a separate XML file on each of my three tables
    (its not a huge application).
    On the new machine, I tried a "data load" into one table, and all I got was the unimaginative
    error message shown below:
    ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00222: error received from SAX callback function ORA-01008: not all variables bound ORA-24801: illegal parameter value in OCI lob function ORA-24801: illegal parameter value in OCI lob function
    Of course, all these error messages are really informative... I can work out (not) from the error message
    how to solve the problem... !
    The table I'm moving has a dozen rows in it. The table has two CLOB columns in it and two BLOB columns.
    If I cannot easily migrate the data, there's no point in moving the applications. Time to ask the forum for
    help please.
    Various attempts of backing up the whole schema with "exp" and "expdp" and even "SQL Developer" proved futile, now
    it looks that I can add "apex" to that list too.
    Any help appreciated; thanks in advance.
    Mungo

    Thankyou for your kind reply.
    flavioc wrote:
    First of all, apex users are migrated when you export and import the workspace.I'm guessing you have to be the Apex Administrator to do that? On my hosted source
    application the highest privilege I enjoy is a single Workspace Administrator - nothing higher.
    Hence the need to transfer the data "the long way".
    >
    Secondly, in my own experience XML data exports are good for simple cases, reasonable amount data (less than 100.000 rows) otherwise you may incur in a variety of problems like insufficient memory, table loading order because of failing constraints and trigger based rules.The XML file I am attempting to import is 928Kbytes in size, and comprises about twelve records with photographs stored in BLOBs
    to bulk out this file.
    >
    Thirdly, i do not see why exp or expdp should not work, i'm using them all the time, so may be you want to be more specific on this.
    As I understand it "expdp" needs a Directory object... that would require raising a ticket with the hosting company and asking for
    them to create one (a step too far, at the moment ;-)
    From failing human memory, the "exp" command seemed to store the tablespace where the tables were stored in. When I then went to
    import from the resultant exported file, the tablespaces were different on the new machine. So I gave up on "exp".
    I thought that the relatively new "SQL Developer" would come to my rescue, but it also has problems with CLOB and BLOB columns.
    All in all it seems to be more work than I had bargained for: all I want to do is "lift" the application off one machine and drop it on
    to the new machine, but Oracle seems to want me to spend at least three days to workaround all the silly "features".
    Comments borne on frustration; forgiveness requested...
    Mungo :-)

  • JSONP support for APEX RSS feed

    Hi,
    We have an APEX application that leverage's APEX and UCM API to create a RSS feed that is displayed on the Content Portal.
    http://contentportal.oraclecorp.com/
    The feed XML is converted to a JSON object and displayed on the home page using jquery.
    Up until last week this feed was displaying fine but now its broken and can no longer be seen on the home page.
    Our logs indicate that the feed content is being pulled as before without errors.
    https://apex.oraclecorp.com/pls/apex/IBUSCP.RSS
    A test page created to investigate the issue shows the following error -
    Resource interpreted as Script but transferred with MIME type application/rss+xml: "https://apex.oraclecorp.com/pls/apex/IBUSCP.RSS?callback=jsonp1347857472289&feed=1&itemCount=20"
    URL to the test page is :- http://apps-stage.oraclecorp.com/rss-test.html
    Could this possibly have to do with the recent upgrade on the APEX server as this worked perfectly earlier?
    Could the JSON support for RSS feed might have been affected?
    Thanks and Regards,
    Priya Jetley

    Your servers are in a personal network and we can not connect to them without setting up some kind of vpn connection.
    I would suggest that you install firebug in firefox and just look in the console what is happening.
    Firebug can monitor json to.
    Regards
    Nico

  • [b]Hacking the APEX Builder IDE[/b]

    Hi,
    some may have already read it on my APEX blog, but for all the others which do not read my blog regularly.
    I have started to develop another small tool to increase the productivity of the APEX development environment. This time it's an enhancement for the APEX Builder itself, called APEX Builder Plugin.
    You can read more about it at
    http://inside-apex.blogspot.com/2007/02/hacking-apex-builder-part-3.html and
    http://inside-apex.blogspot.com/2007/02/hacking-apex-builder-part-1.html
    On the blog you will also find some videos demonstrating the features of the plugin.
    If you have some good ideas enhancing the plugin, let me know!
    Have fun using it
    Patrick
    Check out my APEX-blog: http://inside-apex.blogspot.com

    If you have some good ideas enhancing the plugin, let me know!
    Patrick: As always, great work! There are some areas in the Builder that definitely need some productivity enhancements. And Greasemonkey (and its CSS companion Stylish) are the ultimate "self empowerment" tools! Don't like something about a website, fire up GM and change it!
    [I am sure the APEX team is paying close attention and will incorporate some of these enhancements into upcoming versions of the product]
    My pet peeve is re-ordering columns on the Report Attributes page (4000:420). The up/down arrows introduced in 2.2 are a welcome enhancement over the earlier versions where every up/down incurred a page refresh, but re-ordering items in a list is a task that just has to be done via drag-and-drop! I agree with http://pages.citebite.com/x1q1a3g0v2ony
    What I usually do is just fire up the Javascript shell bookmarklet http://www.squarefree.com/shell/ from the page I need and type away, loading other JS libraries as needed.
    For this particular case, what I do is http://i9.tinypic.com/499ipsp.jpg
    Loading up those 3 Scriptaculous libraries and making the relevant TBODY a "Sortable" is all that is needed.
    Works like a charm, I can re-order the rows by dragging anywhere on the row. The visual feedback is not very intuitive (ghosting:false) but as per the Scriptaculous folks, this is a limitation with current browsers (that TABLE, TBODY, etc block elements are not able to be properly moved around the DOM). See http://pages.citebite.com/t1j1m3v0j1qwd
    After all the dragging and dropping is done, just call that "reorder_set()" function to reset the internal array before clicking Apply Changes. Works like a charm. Yes, that reorder_set() function should be called automatically via one of the "drag stop" callback hooks provided by the Sortable object, I tried using the onUpdate but it didn't quite work.
    [I tried doing this using the Interface plugin for the jQuery toolkit but it doesn't quite work right, see http://www.nabble.com/forum/ViewPost.jtp?post=7527146&framed=y for details]
    See if you can integrate this into your framework if you get a chance.
    Thanks

  • Using jquery FullCalendar in APEX with dynamic query

    Hi,
    I am trying to implement jquery FullCalendar in APEX and came across thie following post but I am unable to get the events to work. I would really like to see it working with an Application_Process:
    How we can highlight events in Calendar
    Currently I created an Application Process that simply calls a DB table and convert it into json format.
    DECLARE
    v_sql varchar2(400);
    BEGIN
    v_sql := 'SELECT * FROM CAL_FEED';
    apex_util.json_from_sql(v_sql);
    END;
    But I am unsure how to add the events via an Application_Process.
    I have tried the following in numerious ways (events:function, url feed, etc). It does work if I just do an array but would like it as a dynamic query.
    $('#calendar').fullCalendar({
    events: "http://server:8080/apex/f?p=101:53:4352610578859707:APPLICATION_PROCESS=IAT_TEST_CAL_FEED"
    Thank you in advance,
    Jimmy

    Hi,
    I was able to get the events into Fullcalendar with an Application Process but not sure if this would scale well with alot of events.
    Would someone be able to tell me if there is a better way?
    I am currently using an On Demand Application Process called IAT_TEST_FEED:_
    DECLARE
    lv_cal_list VARCHAR2(16000);
    lv_return_str VARCHAR2(32000);
    BEGIN
    FOR i IN (SELECT "CAL_FEED"."ID" as ID,
    "CAL_FEED"."title" as caltitle,
    "CAL_FEED"."start" as calstart,
    "CAL_FEED"."end" as calend
    FROM "CAL_FEED")
    LOOP
    lv_cal_list := lv_cal_list || '{"id":' || CHR(39) || i.ID || CHR(39) || ',' ||
    ' "title":' || CHR(39) || i.caltitle || CHR(39) || ',' ||
    ' "start":' || CHR(39) || i.calstart || CHR(39) || ',' ||
    ' "end":' || CHR(39) || i.calend || CHR(39) || '},';
    END LOOP;
    lv_return_str := '[' || RTRIM(lv_cal_list,',') || ']';
    htp.prn(lv_return_str);
    EXCEPTION WHEN OTHERS THEN
    htp.prn('error');
    END;
    In a HTML Region on a page within the Region Header:_
    <link rel="stylesheet" type="text/css" href="#WORKSPACE_IMAGES#fullcalendar.css" />
    <script type="text/javascript" src="#WORKSPACE_IMAGES#ui.core.js"></script>
    <script type="text/javascript" src="#WORKSPACE_IMAGES#ui.draggable.js"></script>
    <script type="text/javascript" src="#WORKSPACE_IMAGES#ui.resizable.js"></script>
    <script type="text/javascript" src="#WORKSPACE_IMAGES#jquery.js"></script>
    <script type="text/javascript" src="#WORKSPACE_IMAGES#fullcalendar.js"></script>
    <script type="text/javascript" src="#WORKSPACE_IMAGES#fullcalendar.min.js"></script>
    <script type='text/javascript'>
    $(document).ready(function() {
    $('#calendar').fullCalendar({
    events: function(start, end, callback) {
    $.ajax({
    type: "POST",
    url: "wwv_flow.show",
    dataType: "json",
    data: {
    p_flow_id:$('#pFlowId').val(),
    p_flow_step_id:$('#pFlowStepId').val(),
    p_instance:$('#pInstance').val(),
    p_request:"APPLICATION_PROCESS=IAT_TEST_FEED"
    success:function(calevents){
    $.each(calevents, function(i, calevent){
    $('#calendar').fullCalendar('renderEvent', calevent, true);
    </script>
    The line within the ajax call is basically where my concern would be
    $('#calendar').fullCalendar('renderEvent', calevent, true);
    Thank you,
    Jimmy

  • Apex Tree Node Search

    Hi guys,
    I want to search a tree node by using a textbox and a button item. I have implemented all required items and regions into my page. I think that, i can do this by using dynamic action. So I wrote a small script (jquery) to use in dynamic action in button click event. It gets the value of the textbox item and tries to use this value in tree's search method. By the way I specified a static ID for my tree region. (As you can see it is TREEID). But it doesn't work. Maybe usage of the method is different.
    So ,
    1 : The method usage is right?
    2 : Do you have any other idea about how can i do this search stuff.
    $("#TREEID").tree("search", document.getElementById("P300_SEARCH_TEXT").value);
    Database : Oracle11g
    Apex version : 4.1
    Thanks

    Mimi gave a very good start though. I have not worked with a tree before, but those tips guided me to the documentation, and i was able to take it from there. I can't see how the documentation would be lacking for you though, i find it to be clear. However, if you don't have some experience with javascript/jquery, this will not be straightforward.
    I made a new tree page, based this on EMP.
    When you want to do a search, you will first need the tree object, since the search function is a function of that object. I opened Firebug and ran this in my console:
    jQuery.tree.focused()This is in the docs. "This functions returns the currently focused tree instance."
    If you would have more trees, you could always use
    jQuery.tree.reference(needle)This functions returns a specific tree instance by an ID or contained node.
    Arguments:
    mixed needle
    This can be either the instance ID (the ID of the container node), an ID of any contained DOM element,
    an actual DOM element contained within the tree, or a jQuery extended DOM node container within the tree.>
    Now you have your tree object. Let's do a search. There are 2 employees with 'LL' in their names. I want to grab those.
    $.tree.focused().search("LL")This'll do "nothing". Why? Take a look at the documentation:
    Searches all nodes whose titles match a given string. If async is used a request is made to the server, the response should contain the comma-separated IDs of nodes that need to be opened so that all nodes that match the search string are visible.
    The search string is provided in the request. The function triggers the onsearch callback, with the nodes found as a parameter.
    Arguments:
    string needle
    The search string.
    string compare_function
    Optional argument. The jQuery function to be used for comparing titles to the string - defaults to "contains".>
    What is of importance here is this: The function triggers the onsearch callback
    +(oh, and please note that the search is looking for a match in the TITLE of the nodes!)+
    So, taking a look at onsearch:
    callback.onsearch Triggered after a search is performed and results are ready.
    Receives two parameters - a jQuery collection of nodes matching the search and a reference to the tree instance.
    *Default is: function(NODES, TREE_OBJ) { NODES.addClass("search");* }
    >
    So the default action of a search is something very simple: it assigns a class to the nodes which match the search criteria.
    If you would want more complex things to happen, you can simply provide another function to the tree object for the onsearch callback, and that is what Mimi meant with changing it. But you don't have to if the class-adding is sufficient.
    So, running from my firebug console:
    $(".search").css({"background-color":"red"})Grab all elements with class 'search', and give them a red background color. My nodes are now red for "ALLEN" and "MILLER".
    It also helps to use something like firebug, have knowledge of jquery, DOM and being able to inspect it, and read docs. I did not do anything special except applying some knowledge and taking my lead from those docs. Of course, Mimi mentioned this aswell, but the docs are at *\apex_images\libraries\jquery-jstree\0.9.9a2\documentation.html*
    Hope that helps you forward.

  • Worldpay in APEX - issues and experiences

    Hi, I am looking into the feasibility of integrating worldpay payment processing to a future APEX app. I was wondering if this is entirely possible and generally trouble free? I would be interested in hearing about anyone who has experience doing this, with possible issues to be aware of. Thanks for any input.

    Hi,
    This is great feedback, the flexible parameter passing worked a treat, although im running into another issue, which I would be extremely grateful for assistance with.
    I am using the procedure below:
    PROCEDURE process_wp_payment_response(name_array in owa.vc_arr, value_array in owa.vc_arr)
    IS
    pieces utl_http.html_pieces;
    v_payment_cancel_url varchar2(500) := 'url here';
    v_payment_ok_url varchar2(500) := 'url here';
    FUNCTION getValForName(p_name in varchar2) RETURN varchar2
    IS
    BEGIN
    FOR x IN 1 .. name_array.count LOOP
    IF upper(name_array(x)) = upper(p_name) THEN
    RETURN value_array(x);
    END IF;
    END LOOP;
    RETURN null;
    END;
    BEGIN
    IF upper(getValForName('transStatus')) = 'Y' THEN
    --generate http request for page & get the data
    v_payment_ok_url := v_payment_ok_url || getValForName('M_apex_sess_id');
    pieces := utl_http.request_pieces(v_payment_ok_url);
    FOR i in 1 .. pieces.count loop
    htp.p(pieces(i));
    END LOOP;
    ELSIF upper(getValForName('transStatus')) = 'C' THEN
    v_payment_cancel_url := v_payment_cancel_url || getValForName('M_apex_sess_id');
    pieces := utl_http.request_pieces(v_payment_cancel_url);
    FOR i in 1 .. pieces.count loop
    htp.p(pieces(i));
    END LOOP;
    END IF;
    END;
    The idea being that the apex session id is added, and we can the populate some items on the feedback page. This thing is, I am getting a 404 error from the callback, which means that the callback goes to the worldpay default page.
    The 404 error only occurs when I use an apex url. When I test it with http://www.google.com for instance, I dont get a 404. If i simply htp.p the url, and copy-paste it into the address line, the page loads fine.
    It looks to be something to do with utl_http.request_pieces with apex pages.

Maybe you are looking for

  • Using iphoto, how do I print a written description upon an image?

    Would like my images to have descriptive text boxes. Want to be able to print descriptions at the same time, on the face of a photo without having to go into Adobe Photoshop. Using the iPhoto program, how do I print a written description upon an imag

  • HT2736 how to get code from scratch card

    how do i get the code from the gift card i scratch it and i scratch to hard and erase the first letter how can i get the rest of the code

  • Uninstall CS5 since upgraded to CS5.5?

    As a student I purchased Adobe Master Suite Collection CS5 with the option to upgrade to CS5.5 when it was released. I did upgrade to CS5.5 (yes, this was some time ago), but it left CS5 in my computer. I now have both CS5 and CS5.5 in my computer us

  • Downmix 5.1 audio to stereo

    A client has provided me with 5.1 audio but only 6 tracks (L, R, C, LFE, LS, RS). I'm missing the Left Total and Right Total tracks. Can I downmix the 6 tracks to Stereo and use these as the LT & RT? What's the best way to do this in FCP?

  • Trying to get mc to play and stay open/buttons within

    Hi everyone, i am in desperate need to get this to work! I've tried posting previously and this is what i have so far now... I am creating a navigation bar in Flash (which will then be used in Dreamweaver). When you mouse over each topic in menu (ex.