<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>get along with Oracle and APEX &#187; APEX</title>
	<atom:link href="http://www.oracle-and-apex.com/category/tipps-tricks/apex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oracle-and-apex.com</link>
	<description>by Peter Raganitsch</description>
	<lastBuildDate>Mon, 23 Aug 2010 08:26:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>APEX URL Format</title>
		<link>http://www.oracle-and-apex.com/apex-url-format/</link>
		<comments>http://www.oracle-and-apex.com/apex-url-format/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 12:31:26 +0000</pubDate>
		<dc:creator>Peter Raganitsch</dc:creator>
				<category><![CDATA[APEX]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://www.oracle-and-apex.com/?p=273</guid>
		<description><![CDATA[Pretty basic and easy, but still i have a sticky note at my monitor  which reminds me of what is what.
A typical APEX URL looks like this:
http://tryapexnow.com/apex/f?p=2500:1:1016153158259880
That means:
open Application 2500 on Page 1 using Session 1016153158259880
But there can be much more&#8230;
Most of this stuff here is described very well in the Oracle Application Express [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty basic and easy, but still i have a sticky note at my monitor  which reminds me of what is what.</p>
<p>A typical APEX URL looks like this:</p>
<p>http://tryapexnow.com/apex/f?p=2500:1:1016153158259880</p>
<p>That means:<br />
open Application 2500 on Page 1 using Session 1016153158259880</p>
<p>But there can be much more&#8230;<span id="more-273"></span></p>
<p><img title="More..." src="http://www.oracle-and-apex.com/blog/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" />Most of this stuff here is described very well in the <a href="http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/toc.htm" target="_blank">Oracle Application Express Application Builder Users&#8217;s  Guide</a>, Chapter &#8220;<a href="http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/concept.htm#BEIFCDGF" target="_blank">Understanding URL Syntax</a>&#8220;, nonetheless i try to  explain it using my own words.</p>
<p>The complete APEX URL Syntax looks like this:</p>
<pre>http://apex.oracle.com/pls/apex/f?p=AppId:PageId:Session:Request:Debug:ClearCache:Params:ParamValues:PrinterFriendly</pre>
<p>Let&#8217;s take a closer look:</p>
<ul>
<li><strong>http://</strong> &#8211; the protocol, can be http or https</li>
<li><strong>apex.oracle.com</strong> &#8211; your domain/host/server, whatever you want  to call it. Can also be localhost.</li>
<li><strong>/pls</strong> &#8211; indicates that  you are using Oracle HTTP Server with mod_plsql. If you are using APEX  Listener or Embedded PL/SQL Gateway this part is obsolete/missing.</li>
<li><strong>/apex</strong> &#8211; the entry from your dads.conf file (this a file on  your application-server or EPG where the target database is configured) &#8211;  in case of EPG its just one entry pointing to localhost, in case of an  OAS you can have multiple entries, each pointing to an other database</li>
<li><strong>/f?p=</strong> &#8211; procedure &#8220;f&#8221; is called and parameter &#8220;p&#8221; is set to  the complete rest of the string. Remember: APEX uses mod_plsql. &#8220;f&#8221; is a  public procedure, this is the main entrypoint for APEX. Or you could  say: &#8220;f&#8221; is APEX.</li>
<li><strong>AppId</strong> &#8211; the number or the Alias of the Application</li>
<li><strong>:PageId</strong> &#8211; the number or the Alias of the Page</li>
<li><strong>:Session</strong> &#8211; unique Session ID, can be 0 for Public Pages or  empty (then APEX creates a new Session)</li>
<li><strong>:Request</strong> &#8211; a Request Keyword. This is basically free text,  just a string you can specify to react in a process or region condition  on. e.g. you could pass the keyword &#8220;CREATE&#8221; and have a condition on the  delete button of your page saying &#8220;dont&#8217;t display this button if  request is CREATE&#8221;.<br />
In other words: use the REQUEST to control the  behaviour of your page.<br />
When pressing a button, the button sets the  REQUEST to the button-value (e.g. SAVE), so that you can control the  processes in the page processing (Submit) phase.</li>
<li><strong>:Debug</strong> &#8211; set to YES (uppercase!) switches on the Debug-Mode  which renders debug-messages and timestamps in your Browser window. This  helps to detect wrong behaviour of your page or performance issues and  everything else. Every other value then YES turns the Debug-Mode off</li>
<li><strong>:ClearCache</strong> &#8211; you can put a page id or a list of page ids here (comma-separated) to clear the cache for these pages (set session state to null, &#8230;). But there is more: RP resets the pagination of reports on the page(s), a collection name deletes the collection, APP clears all pages and application-items, SESSION does the same as APP but for all applications the session-id has been used in.</li>
<li><strong>:Parameters</strong> &#8211; comma seperated list of page-item names. Good practice is to set only those page-items which are on the page you are going to. Accepts page-items as well as application-items.</li>
<li><strong>:ParamValues</strong> &#8211; comma separated list of values. Each value  is assigned to the corresponding Parameter provided in ParamNameList  (first value assigned to first parameter, second value assigned to  second parameter, and so on&#8230;).<br />
The trick here is not having values which contain either a comma &#8220;,&#8221; or a  colon &#8220;:&#8221;. Both would lead to side-effects and errors, as APEX gets  confused when parsing the URL. Using a comma works, if enclosed by slashes: e.g. /123,89/.</li>
<li><strong>:PrinterFriendly</strong> &#8211; set to YES (uppercase!) switches the page into PrinterFriendly-Mode, uses the Printerfriendly template to render the Page. You can also hide regions or other elements in PrinterFriendly-Mode using the PRINTER_FRIENDLY variable in a condition.</li>
</ul>
<p>There are also some more Blogs dealing with URL Syntax, take a look  at some of them: <a href="http://www.mattsbits.co.uk/item-11.html" target="_blank">MattsBits</a>,  <a href="http://www.oraclenerd.com/2009/06/apex-url-syntax.html" target="_blank">Oraclenerd</a>, <a href="http://www.dba-oracle.com/htmldb/t_html_db_url_contents.htm" target="_blank">Burleson</a> .</p>
<img src="http://www.oracle-and-apex.com/blog/?ak_action=api_record_view&id=273&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.oracle-and-apex.com/apex-url-format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Avoid Problems with APEX Error Page Hack</title>
		<link>http://www.oracle-and-apex.com/avoid-problems-with-apex-error-page-hack/</link>
		<comments>http://www.oracle-and-apex.com/avoid-problems-with-apex-error-page-hack/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 17:41:50 +0000</pubDate>
		<dc:creator>Peter Raganitsch</dc:creator>
				<category><![CDATA[APEX]]></category>
		<category><![CDATA[ApexLib]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Error Page]]></category>

		<guid isPermaLink="false">http://www.oracle-and-apex.com/?p=195</guid>
		<description><![CDATA[ApexLib comes with a better Error Display Solution, which sometimes can cause troubling behaviour.
When displaying error messages in the notification area the rest of the page is shifted downwards a little. This is no problem most of the time, except in this case:


you have a form with required fields
you enter some of the fields and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://apexlib.oracleapex.info" target="_blank">ApexLib</a> comes with a better <a href="http://www.inside-oracle-apex.com/hacking-apex-error-page/" target="_blank">Error Display Solution</a>, which sometimes can cause troubling behaviour.</p>
<p>When displaying error messages in the notification area the rest of the page is shifted downwards a little. This is no problem most of the time, except in this case:</p>
<p><span id="more-195"></span></p>
<ol>
<li><!--more-->you have a form with required fields</li>
<li>you enter some of the fields and then realize you don&#8217;t want to enter more but leave the form</li>
<li>so you press the &#8220;Cancel&#8221; Button while your cursor is still in an empty required field</li>
<li>before the Cancel Button is processed the field validation displays the &#8220;Field is required&#8221; Message</li>
<li>displaying the Error shifts the button downwards, the mouse cursor isn&#8217;t hovering above the button anymore</li>
<li>the browser decides, that you clicked into empty space and discards Button processing</li>
</ol>
<p><a href="http://www.oracle-and-apex.com/blog/wp-content/uploads/standard_notification.png"><img class="alignnone size-full wp-image-200" title="standard_notification" src="http://www.oracle-and-apex.com/blog/wp-content/uploads/standard_notification.png" alt="" width="614" height="321" /></a></p>
<p>Long story short, you have to press the button a second time if an error message is displayed in the notification area when pressing the button.</p>
<p>I haven&#8217;t found any satisfying solution to avoid this problem in a programmatically way, so this leaves us with few options:</p>
<ol>
<li>ignore it and let your users click a second time</li>
<li>have a fixed size notification area (this is kind of complicated, since you never know how many error messages you need to display)</li>
<li>my favorite: let the notification area hover above the rest of your form</li>
</ol>
<p>Solution 3 can look like this, depending on your layout or used theme you&#8217;ll have to implement it in a different way.</p>
<p><a href="http://www.oracle-and-apex.com/blog/wp-content/uploads/modal_notification1.png"><img class="alignnone size-full wp-image-199" title="modal_notification" src="http://www.oracle-and-apex.com/blog/wp-content/uploads/modal_notification1.png" alt="" width="614" height="321" /></a></p>
<p>See a working solution online in the <a href="http://apex.oracle.com/pls/otn/f?p=21516:40" target="_blank">Demo-Application</a>.</p>
<p>All I had to do, was modifying the CSS Settings for the notification area:</p>
<pre class="brush: css">.t7notification {
 background:none repeat scroll 0 50% #FFFFCC;
 border:1px solid #FFD700;
 color:#333333;
 font-size:11px;
 font-weight:bold;
 left:25%;
 margin:4px auto;
 opacity:0.8;
 filter:alpha(opacity=80);
 padding:2px;
 position:absolute;
 text-align:center;
 width:50%;
}
</pre>
<img src="http://www.oracle-and-apex.com/blog/?ak_action=api_record_view&id=195&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.oracle-and-apex.com/avoid-problems-with-apex-error-page-hack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enhancing Oracle Application Express Login Page</title>
		<link>http://www.oracle-and-apex.com/enhancing-oracle-application-express-login-page/</link>
		<comments>http://www.oracle-and-apex.com/enhancing-oracle-application-express-login-page/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 19:32:06 +0000</pubDate>
		<dc:creator>Peter Raganitsch</dc:creator>
				<category><![CDATA[APEX]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://www.oracle-and-apex.com/?p=137</guid>
		<description><![CDATA[Working on many different Projects leads to a vast number of workspaces and applications over time.
Looking for a certain application can be time consuming if you don&#8217;t remember what the workspace this application belongs to is called.
At this point you could either check the repository using a SELECT
SELECT *
  FROM APEX_APPLICATIONS
 WHERE APPLICATION_NAME LIKE [...]]]></description>
			<content:encoded><![CDATA[<p>Working on many different Projects leads to a vast number of workspaces and applications over time.</p>
<p>Looking for a certain application can be time consuming if you don&#8217;t remember what the workspace this application belongs to is called.</p>
<p><span id="more-137"></span>At this point you could either check the repository using a SELECT</p>
<pre>SELECT *
  FROM APEX_APPLICATIONS
 WHERE APPLICATION_NAME LIKE '%XY%';</pre>
<p>Or you could login into the administration section (workspace INTERNAL) and look there.</p>
<p>Way easier is having a listing of all applications right below the login fields:</p>
<p><a href="http://www.oracle-and-apex.com/blog/wp-content/uploads/apex_login_with_listing.png"><img class="alignnone size-full wp-image-142" title="apex_login_with_listing" src="http://www.oracle-and-apex.com/blog/wp-content/uploads/apex_login_with_listing.png" alt="apex_login_with_listing" width="505" height="454" /></a></p>
<p>This makes finding the right workspace faster and easier, having the listing of all applications in your database is like a directory listing of all your files you are working on.</p>
<p><strong>Warning</strong>: Displaying information about your applications is a potential security risk, you should use this on internal development systems only, never on a public system!</p>
<p><strong>How does it work?</strong></p>
<p>As you may know, Oracle APEX is written in Oracle APEX. An APEX Builder page is just like any other page you  may design for your application. That means you easily can add a reports region to the login page.</p>
<p>The only downside here is that you can&#8217;t edit internal applications with the APEX Builder, you just can&#8217;t login to the INTERNAL workspace in edit mode.</p>
<p>But no need for that, we just use the same API that&#8217;s used in the Application export files.</p>
<p>Check out the <a href="http://www.oracle-and-apex.com/blog/wp-content/uploads/add_application_list_to_apex_login_page.sql" target="_blank">script</a> over <a href="http://www.oracle-and-apex.com/blog/wp-content/uploads/add_application_list_to_apex_login_page.sql" target="_blank">here</a>. It basically adds a reports region to the (english) login page, thats all.</p>
<p><strong>Disclaimer:</strong> Enhancing/changing the internal applications may not be intended by Oracle, so there is no warranty at all. Whatever you do is own your own risk.<br />
Go for it :-)</p>
<img src="http://www.oracle-and-apex.com/blog/?ak_action=api_record_view&id=137&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.oracle-and-apex.com/enhancing-oracle-application-express-login-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
