4 Replies Latest reply: Nov 22, 2013 8:37 AM by Joni Vandenberghe RSS

    is there a way to set new Apex 4.2 application properties programmatically?

    user8131295

      Having upgraded to Apex4.2, I now need to set the Compatibility Mode and Security Settings for a large number of Apex applications. Is there an API to do this programmatically?

        • 1. Re: is there a way to set new Apex 4.2 application properties programmatically?
          Christian Neumueller-Oracle

          Hi user8131295,

           

          there is no public API to change all these properties. It is a bit of a hack, but what I often advertize is to create a custom report based on the APEX views in SQL Commands. The report shows application information and contains a hyperlink to the builder page where the desired properties can be edited. You would first manually navigate to that page, examine the URL and try to reproduce it in the link. Here is an example:

           

          begin
              sys.htp.p('<table>');
              sys.htp.p('<tr><th>App</th><th>Browser Cache</th><th>Browser Frame</th><th>Deep Linking</th><th>SSP</th><th>Compatibility</th></tr>');
              for l_app in (
                  select application_id,
                         application_name,
                         browser_cache,
                         browser_frame,
                         deep_linking,
                         session_state_protection,
                         compatibility_mode   
                    from apex_applications
                   order by 1 )
              loop
                  sys.htp.p (
                      '<tr><td><a href="f?p=4000:509:'||apex_application.g_instance||':::509:FB_FLOW_ID,509_FB_UPD_ID:'||
                      l_app.application_id||','||l_app.application_id||
                      '">'||
                      apex_escape.html(l_app.application_id||' - '||l_app.application_name)||
                      '</td><td>'|| apex_escape.html(l_app.browser_cache)||
                      '</td><td>'|| apex_escape.html(l_app.browser_frame)||
                      '</td><td>'|| apex_escape.html(l_app.deep_linking)||
                      '</td><td>'|| apex_escape.html(l_app.session_state_protection)||
                      '</td><td>'|| apex_escape.html(l_app.compatibility_mode)||
                      '</td></tr>' );
              end loop;
              sys.htp.p('</table>');
          end;
          

           

          Using the output of such a report, you can quickly navigate to the relevant pages to change the settings.

           

          Regards,

          Christian

          • 2. Re: is there a way to set new Apex 4.2 application properties programmatically?
            user8131295

            Christian,

             

            Many thanks for the idea. Still a bit time-consuming, but will help.

             

            On a similar theme, is there an API to delete application processes. If not, I guess I can use a similar technique to above.

             

            Regards.

            • 3. Re: is there a way to set new Apex 4.2 application properties programmatically?
              Christian Neumueller-Oracle

              I would suggest something similar. We do not have public APIs for these kinds of tasks.

               

              Regards,

              Christian

              • 4. Re: is there a way to set new Apex 4.2 application properties programmatically?
                Joni Vandenberghe

                Hi user8131295,

                 

                When you download APEX 4.2 it consists out of several applications. Because APEX itself is also an application. So what you could do is install these applications and look what APEX does when it removes an application process, and then do the same.

                I'm sure the APEX team will not recommend this, but this is one way of preventing a lot of manual labour.

                 

                Regards,

                Joni