<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6052224947960158184</id><updated>2012-01-24T05:41:06.414+02:00</updated><category term='apex'/><category term='ajax'/><category term='security'/><category term='html'/><title type='text'>Konstantin</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-7284363822537434266</id><published>2009-07-08T12:22:00.006+03:00</published><updated>2009-07-08T12:32:42.772+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><title type='text'>Register Apex component using DBMS_REGISTRY</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;As far as you know APEX RTF Templates use a lot of TABLESPACE space. Due to it&lt;br /&gt;&lt;div style="text-align: left;" id="result_box" dir="ltr"&gt;comes the need to defragment tablespace where APEX "live". The simples way is to export APEX schema and import it again.&lt;br /&gt;After this actions I found that APEX component was removed from Oracle registry (dba_registry view), and some functionality invalidated.&lt;br /&gt;&lt;br /&gt;So, I want to show how to register APEX again.&lt;br /&gt;As a SYS user execute next procedures:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;//This procedure emulate APEX v3.2 loading&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;exec dbms_registry.loading('APEX','Oracle Application Express','validate_apex', 'APEX_030200');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;//Save APEX version&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;exec dbms_registry.loaded('APEX', '3.2.0.00.27');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;//Make APEX to be a valid component&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;exec dbms_registry.valid('APEX');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;//Add additional schemes to registry&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;exec dbms_registry.update_schema_list('APEX', dbms_registry.schema_list_t('FLOWS_FILES'));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That's it!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-7284363822537434266?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/7284363822537434266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=7284363822537434266' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/7284363822537434266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/7284363822537434266'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2009/07/register-apex-component-using.html' title='Register Apex component using DBMS_REGISTRY'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-582840065311376458</id><published>2008-06-08T18:34:00.003+03:00</published><updated>2008-06-08T18:51:42.086+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><title type='text'>Undocumented Oracle Application Express Text Messages</title><content type='html'>&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;;mso-ansi-language:EN-USfont-family:&amp;quot;;"&gt;Hi, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;;mso-ansi-language:EN-USfont-family:&amp;quot;;"&gt;A lot of developers create some JavaScript function, for translating messages, or make their own notifications, object names, error handling etc., instead of using regular APEX messages. That’s why I’d like to post some undocumented Oracle Application Express Text Messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;;mso-ansi-language:EN-USfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;  mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh:  .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;b style="mso-bidi-font-weight:   normal"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;;mso-ansi-language:   EN-USfont-family:&amp;quot;;"&gt;Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border:solid windowtext 1.0pt;   border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:   solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;b style="mso-bidi-font-weight:   normal"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;;mso-ansi-language:   EN-USfont-family:&amp;quot;;"&gt;Message Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border:solid windowtext 1.0pt;   border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:   solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;b style="mso-bidi-font-weight:   normal"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;;mso-ansi-language:   EN-USfont-family:&amp;quot;;"&gt;Place&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:1"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;INVALID_CREDENTIALS&lt;/span&gt;   &lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Invalid Login Credentials&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Login Notification&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:2"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_ITEM_HELP.NO_HELP_EXISTS&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;No help exists for this item.&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Popup window for optional Label with help&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:3"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;LAYOUT.T_ALT_HELP&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Help&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Popup window for optional Label with help&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:4"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;CALENDAR_TYPE&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Calendar&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Calendar Icon Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:5"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_RESET&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Reset&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:6"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_MOVE_ALL&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Move All&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:7"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_MOVE&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Move&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:8"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_REMOVE&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Remove&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:9"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_REMOVE_ALL&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Remove All&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:10"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_TOP&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Top&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:11"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_UP&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Up&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:12"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_DOWN&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Down&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:13"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;WWV_FLOW_UTILITIES.SHUTTLE_BOTTOM&lt;/span&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Bottom&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Shuttle Reset Hint&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:14"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;FLASH_CHART.LOADING_DATA&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Loading data...&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Flash Chart Load Window&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow:15;mso-yfti-lastrow:yes"&gt;&lt;td width="321" valign="top" style="width:241.05pt;border:solid windowtext 1.0pt;   border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;   padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;FLASH_CHART.WAITING&lt;/span&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="166" valign="top" style="width:124.45pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Loading data. Please wait.&lt;/span&gt;&lt;/td&gt;&lt;td width="167" valign="top" style="width:125.4pt;border-top:none;border-left:   none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;   mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt"&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;Flash Chart Load Window&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;;mso-ansi-language:EN-USfont-family:&amp;quot;;"&gt;For more information look APEX View:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoPlainText" style="text-align:justify"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US"&gt;flows_030100.wwv_flow_messages$&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-US"  style="Times New Roman&amp;quot;; mso-ansi-language:EN-USfont-family:&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-582840065311376458?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/582840065311376458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=582840065311376458' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/582840065311376458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/582840065311376458'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2008/06/oracle-application-express-text.html' title='Undocumented Oracle Application Express Text Messages'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-2054693475907220637</id><published>2008-02-18T10:47:00.003+02:00</published><updated>2008-02-25T17:45:53.109+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><title type='text'>Breaking the 32 character limit using OWA_TEXT</title><content type='html'>&lt;p class="MsoPlainText"&gt;&lt;span style="" lang="EN-US"&gt;In this post discussed how to display text, from database into HTML Region, that has more than 32000 characters length. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style="" lang="EN-US"&gt;There were a lot of ways. I think that the decision below is the most simple and clear.&lt;br /&gt;For this purpose I use owa_text.multi_line data type. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;This data type is a PL/SQL record that holds large amounts of text. The rows field, of type OWA_TEXT.VC_ARR DATA TYPE, contains the text data in the record.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoPlainText"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;TYPE&lt;/span&gt; multi_line &lt;span style="font-weight: bold;"&gt;IS RECORD&lt;/span&gt; (&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;rows           vc_arr,&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;   num_rows       &lt;span style="font-weight: bold;"&gt;INTEGER&lt;/span&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;   partial_row    &lt;span style="font-weight: bold;"&gt;BOOLEAN&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style="" lang="EN-US"&gt;The function below, convert clob into owa_text.multi_line data type:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                                                &lt;p class="MsoNormal" style=""&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt;create&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt; &lt;b&gt;or&lt;/b&gt; &lt;b&gt;replace&lt;/b&gt; &lt;b&gt;function&lt;/b&gt; clob_to_multi_line(v_clob &lt;b&gt;clob&lt;/b&gt;) &lt;b&gt;return&lt;/b&gt; owa_text.multi_line &lt;b&gt;is&lt;/b&gt;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;res owa_text.multi_line;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;r_cnt &lt;b&gt;integer&lt;/b&gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;rem &lt;b&gt;integer&lt;/b&gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;b_pos &lt;b&gt;integer&lt;/b&gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;b_siz &lt;b&gt;integer&lt;/b&gt;;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt;begin&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;r_cnt := trunc(dbms_lob.getlength(v_clob) / &lt;span style="color:red;"&gt;32767&lt;/span&gt;&lt;span style="color:black;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;&lt;span style=""&gt; &lt;/span&gt;rem := &lt;b&gt;mod&lt;/b&gt;(dbms_lob.getlength(v_clob), &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:red;"   lang="EN-US" &gt;32767&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;);&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;b_pos := &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:red;"   lang="EN-US" &gt;1&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;b&gt;for&lt;/b&gt; idx &lt;b&gt;in&lt;/b&gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:red;"   lang="EN-US" &gt;1&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;..r_cnt &lt;b&gt;loop&lt;/b&gt;&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;b_siz := &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:red;"   lang="EN-US" &gt;32767&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;;&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;dbms_lob.read(v_clob, b_siz, b_pos, res.rows(idx));&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;b_pos := b_pos + b_siz;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;loop&lt;/b&gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;res.num_rows := r_cnt;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;b&gt;if&lt;/b&gt; (rem &gt; &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:red;"   lang="EN-US" &gt;0&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;) &lt;b&gt;then&lt;/b&gt;&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;dbms_lob.read(v_clob, rem, b_pos, res.rows(r_cnt + &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:red;"   lang="EN-US" &gt;1&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;));&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;res.num_rows := res.num_rows + &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:red;"   lang="EN-US" &gt;1&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;b&gt;end&lt;/b&gt; &lt;b&gt;if&lt;/b&gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;res.partial_row := &lt;b&gt;false&lt;/b&gt;;&lt;br /&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;b&gt;return&lt;/b&gt; res;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt; clob_to_multi_line;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                    &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;An example source of PL/SQL Dynamic Content Region:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt;declare&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt;&lt;br /&gt;c &lt;b&gt;clob&lt;/b&gt;;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt;begin&lt;br /&gt;select&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt; &lt;span style=""&gt;clob_column&lt;/span&gt; &lt;b&gt;into&lt;/b&gt; c &lt;b&gt;from&lt;/b&gt; table_of_clobs&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt;where&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  lang="EN-US" &gt; &lt;b&gt;id&lt;/b&gt;=&lt;span style="color:red;"&gt;1594&lt;/span&gt;&lt;span style="color:black;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;OWA_TEXT.PRINT_MULTI(clob_to_multi_line(c));&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:black;"   lang="EN-US" &gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoPlainText"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;That’s it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-2054693475907220637?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/2054693475907220637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=2054693475907220637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/2054693475907220637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/2054693475907220637'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2008/02/breaking-th-32-character-limit-using.html' title='Breaking the 32 character limit using OWA_TEXT'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-3811938944850925780</id><published>2008-01-22T11:54:00.000+02:00</published><updated>2008-01-23T13:22:15.635+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Zapatec AJAX tree in APEX</title><content type='html'>In this post, I would like to demonstrate the way of using Zapatec AJAX tree in Apex.&lt;span style="" lang="EN-US"&gt;&lt;br /&gt;From &lt;a href="http://www.zapatec.com/"&gt;http://www.zapatec.com/&lt;/a&gt; I downloaded the DHTML tree files.&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;br /&gt;After this, I applied some of them into my application. I decided to store them in my database, for maintainability.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;br /&gt;There is the list of files that I used:&lt;/span&gt;&lt;!--[if !supportLists]--&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Java Script files&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;..&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;\zptree\src\tree.js&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \utils\zapatec.js&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;CSS file&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\kde1.css&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\default.css&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\empty.css&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \website\css\zpcal.css&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \website\css\template.css&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;!--[if !supportLists]--&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Images&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;Tree icons&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\kde1\&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;folder_open.png&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\kde1\&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;folder.png&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\kde1\&lt;/span&gt;&lt;span style="" lang="EN-GB"&gt;document.png&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Tree structure&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\fetching.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\lines-b.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\lines-c.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\lines-s.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\lines-t.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\lines-v.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\minus.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\plus.gif&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-US"&gt;.. \zptree\themes\img\zpempty.gif&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;              &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;        &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;            &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;I imported it using Shred Documents -&gt; Static Files -&gt; Create&lt;br /&gt;Next step, was adding css and javascript files to HTML Header of my page:&lt;br /&gt;After that I changed all paths, that is used in css and javascripts to APEX ‘paths’, for example:&lt;br /&gt;Original kde1.css&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;div.tree-item td.customIcon {&lt;br /&gt;background: url("kde1/document.png") no-repeat 0 50%;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;div.tree-item-expanded td.customIcon {&lt;/span&gt;&lt;br /&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;background: url("kde1/folder_open.png") no-repeat 0 50%;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;div.tree-item-collapsed td.customIcon {&lt;br /&gt;background: url("kde1/folder.png") no-repeat 0 50%;&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;APEX compatible:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;div.tree-item td.customIcon {&lt;br /&gt;background: url("wwv_flow_file_mgr.get_file?p_security_group_id=948527760686885&amp;amp;p_flow_id=100&amp;amp;p_fname=document.png") no-repeat 0 50%;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;div.tree-item-expanded td.customIcon {&lt;/span&gt;&lt;br /&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;background: url("wwv_flow_file_mgr.get_file?p_security_group_id=948527760686885&amp;amp;p_flow_id=100&amp;amp;p_fname=folder_open.png") no-repeat 0 50%;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:courier new;"&gt;&lt;span lang="EN-US"  style="font-size:85%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;div.tree-item-collapsed td.customIcon {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;background: url("wwv_flow_file_mgr.get_file?p_security_group_id=948527760686885&amp;amp;p_flow_id=100&amp;amp;p_fname=folder.png") no-repeat 0 50%;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;After that I was ready to create a dynamical content for my tree. There is the needed structure for tree content:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;  &lt;/p&gt;                                  &lt;p style="font-family: courier new;" class="MsoNormal"&gt;  &lt;/p&gt;&lt;p style="font-family: courier new;" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new;" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new;" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new;" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;  &lt;/p&gt;                     &lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ul id="tree_defaults"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;li&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;&lt;b style="color: rgb(0, 0, 0);"&gt;&lt;span style="" lang="EN-US"&gt;Group 1&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;&lt;span style="color: rgb(51, 51, 255);"&gt;u&lt;/span&gt;l&gt;&lt;br /&gt;&lt;span style=""&gt;           &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;li&gt;&lt;/span&gt;&lt;b style="color: rgb(0, 0, 0);"&gt;&lt;span style="" lang="EN-US"&gt;Sub Group 1&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;color:blue;"  lang="EN-US" &gt;ul&gt;&lt;br /&gt;&lt;span style=""&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;li&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;b style=""&gt;&lt;span style="" lang="EN-US"&gt;Document 1&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;/li&gt;&lt;br /&gt;         &amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;li&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;b style=""&gt;&lt;span style="" lang="EN-US"&gt;Document 2&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;/li&gt;&lt;br /&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;color:blue;"  lang="EN-US" &gt;/ul&gt;&lt;br /&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;/li&gt;&lt;br /&gt;     &amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;li&gt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;&lt;b style="color: rgb(0, 0, 0);"&gt;&lt;span style="" lang="EN-US"&gt;Sub Group 2&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;ul&gt;&lt;br /&gt;         &amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;color:blue;"  lang="EN-US" &gt;li&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;b style=""&gt;&lt;span style="" lang="EN-US"&gt;Document 3&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;color:blue;"  lang="EN-US" &gt;/li&gt;&lt;br /&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;/ul&gt;&lt;br /&gt;     &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;color:blue;"  lang="EN-US" &gt;/li&gt;&lt;br /&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;/ul&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;/li&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;/ul&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;script type="text/javascript"&gt;&lt;br /&gt;&lt;span style=""&gt;   &lt;/span&gt;var tree_defaults = new&lt;br /&gt;Zapatec.Tree({&lt;br /&gt;&lt;span style=""&gt;   &lt;/span&gt;tree: "tree_defaults",&lt;br /&gt;defaultIcons: "customIcon",&lt;br /&gt;&lt;span style=""&gt;   &lt;/span&gt;saveState: true,&lt;br /&gt;saveId: "saveState",&lt;br /&gt;&lt;span style=""&gt;   &lt;/span&gt;expandOnLabelClick: true,&lt;br /&gt;highlightSelectedNode: true&lt;br /&gt;&lt;span style=""&gt;   &lt;/span&gt;});&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: courier new; color: rgb(51, 51, 255);" class="MsoNormal"&gt;  &lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   lang="EN-US" &gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;script type="text/javascript"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;var tree_defaults = new Zapatec.Tree({&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;span style=""&gt;          &lt;/span&gt;tree: "tree_defaults",&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;defaultIcons: "customIcon",&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;saveState: true,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;saveId: "saveState",&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;expandOnLabelClick: true,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;highlightSelectedNode: true&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;});&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" Courier New&amp;quot;; font-family:&amp;quot;font-size:10pt;color:blue;" lang="EN-US"&gt;&lt;/script&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;In my case, I have to create content from two tables. One is the table of ‘groups’, another is the table of ‘documents’.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_U04l0oZb4SQ/R5ceuUIi79I/AAAAAAAAACw/RKsAgTtyeww/s1600-h/tables.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_U04l0oZb4SQ/R5ceuUIi79I/AAAAAAAAACw/RKsAgTtyeww/s400/tables.JPG" alt="" id="BLOGGER_PHOTO_ID_5158625679203561426" border="0" /&gt;&lt;/a&gt;  &lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:464.25pt;" ole=""&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\Kostya\LOCALS~1\Temp\msohtml1\12\clip_image001.emz" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:oleobject type="Embed" progid="Visio.Drawing.11" shapeid="_x0000_i1025" drawaspect="Content" objectid="_1262525745"&gt;  &lt;/o:OLEObject&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;There is the source code of tree generating procedure:&lt;/span&gt;&lt;/p&gt;              &lt;p  class="MsoNormal" style="font-family:courier new;"&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; enum_documnet_tree (v_session &lt;span style="font-weight: bold;"&gt;integer&lt;/span&gt;) &lt;span style="font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;varchar2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;is&lt;/span&gt;&lt;br /&gt;  res &lt;span style="font-weight: bold;"&gt;varchar2&lt;/span&gt;(32000);&lt;br /&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;procedure&lt;/span&gt; add_str(v_str varchar2) &lt;span style="font-weight: bold;"&gt;is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;   res := res || v_str || chr(10);&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:courier new;"&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                                                                                          &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;procedure&lt;/span&gt; add_group(v_nid integer) &lt;span style="font-weight: bold;"&gt;is&lt;/span&gt;&lt;br /&gt;   v_name &lt;span style="font-weight: bold;"&gt;varchar2&lt;/span&gt;(256);&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;select&lt;/span&gt; cname &lt;span style="font-weight: bold;"&gt;into&lt;/span&gt; v_name &lt;span style="font-weight: bold;"&gt;from&lt;/span&gt; group_table &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; nid = v_nid;&lt;br /&gt;  add_str('&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;color:blue;"  lang="EN-US" &gt;li&gt;&lt;/span&gt;'||v_name);&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;  add_str('&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;color:blue;"  lang="EN-US" &gt;ul&gt;&lt;/span&gt;');&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;&lt;span style="font-weight: bold;"&gt;  for&lt;/span&gt; rec &lt;span style="font-weight: bold;"&gt;in&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;select&lt;/span&gt; nid, cname &lt;span style="font-weight: bold;"&gt;from&lt;/span&gt; group_table&lt;br /&gt;                                     &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; nparent_group = v_nid&lt;br /&gt;                                       &lt;span style="font-weight: bold;"&gt;order&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;by&lt;/span&gt; 2) &lt;span style="font-weight: bold;"&gt;loop&lt;/span&gt;&lt;br /&gt;  add_group(rec.nid);&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end loop&lt;/span&gt;;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span style="font-weight: bold;"&gt;for&lt;/span&gt; o_rec &lt;span style="font-weight: bold;"&gt;in&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;select&lt;/span&gt; o.cname, o.nid&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;from&lt;/span&gt; documents o &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; ngroup = v_nid) &lt;span style="font-weight: bold;"&gt;loop&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;add_str('&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;font-size:85%;"  lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span  lang="EN-US" style="font-family:courier new;"&gt;li&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span  lang="EN-US" style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;a href="f?p=100:19:&lt;/span&gt;'||v_session||'&lt;span style="color: rgb(51, 51, 255);"&gt;::NO::P19_DOCUMENT_ID:&lt;/span&gt;'||o_rec.nid||'&lt;span style="color: rgb(51, 51, 255);"&gt;"&gt;&lt;/span&gt;'||o_rec.cname||'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span  lang="EN-US" style="font-family:courier new;"&gt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/li&gt;&lt;/span&gt;');&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;&lt;span style="font-weight: bold;"&gt;  end loop&lt;/span&gt;;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;  add_str('&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;font-size:85%;"  lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span  lang="EN-US" style="font-family:courier new;"&gt;/ul&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-size:85%;" lang="EN-US" &gt;');&lt;br /&gt;add_str('&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;font-size:85%;"  lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span  lang="EN-US" style="font-family:courier new;"&gt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;');&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;res := '&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ul id="tree_defaults"&gt;&lt;/span&gt;';&lt;br /&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;for&lt;/span&gt; m_rec &lt;span style="font-weight: bold;"&gt;in&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;select&lt;/span&gt; nid &lt;span style="font-weight: bold;"&gt;from&lt;/span&gt; group_table &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; nparent _group &lt;span style="font-weight: bold;"&gt;is null&lt;/span&gt;) &lt;span style="font-weight: bold;"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;   &lt;/span&gt;add_group(m_rec.nid);&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;end loop&lt;/span&gt;;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;for&lt;/span&gt; o_rec &lt;span style="font-weight: bold;"&gt;in&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;select&lt;/span&gt; o.cname, o.nid &lt;span style="font-weight: bold;"&gt;from&lt;/span&gt; documents o &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; ngroup &lt;span style="font-weight: bold;"&gt;is null&lt;/span&gt;) &lt;span style="font-weight: bold;"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;    &lt;/span&gt;add_str('&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="" lang="EN-US"&gt;li&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;a href="f?p=100:19:&lt;/span&gt;'||v_session||'&lt;span style="color: rgb(51, 51, 255);"&gt;::NO::P19_DOCUMENT_ID:&lt;/span&gt;'||o_rec.nid||'&lt;span style="color: rgb(51, 51, 255);"&gt;"&gt;&lt;/span&gt;'||o_rec.cname||'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="" lang="EN-US"&gt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/li&gt;&lt;/span&gt;');&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;end loop&lt;/span&gt;;&lt;br /&gt;add_str('&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/ul&gt;&lt;/span&gt;');&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;add_str('&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: courier new; color: rgb(51, 51, 255);font-size:85%;" lang="EN-US" &gt;&lt;span style="" lang="EN-US"&gt;script type="text/javascript"&gt;&lt;br /&gt;&lt;span style=""&gt;               &lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;var tree_defaults = new Zapatec.Tree({&lt;br /&gt;&lt;span style=""&gt;               &lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;tree: "tree_defaults",&lt;br /&gt;&lt;span style=""&gt;               &lt;/span&gt;defaultIcons: "customIcon",&lt;br /&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;           &lt;/span&gt;saveState: true,&lt;br /&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;saveId: "saveState",&lt;br /&gt;&lt;span style=""&gt;               &lt;/span&gt;expandOnLabelClick: true,&lt;br /&gt;&lt;span style=""&gt;               &lt;/span&gt;highlightSelectedNode: true&lt;br /&gt;&lt;span style=""&gt;            &lt;/span&gt;});&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/script&gt;&lt;/span&gt;');&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-weight: bold;"&gt;return&lt;/span&gt; res;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Finaly I created a hidden item :P19_TREE. HTML region with source:&lt;br /&gt;htp.p(:P19_TREE);&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;And process PL/SQL anonymous block (On Load – Before Header):&lt;br /&gt;:P19_TREE:= enum_documnet_tree(:SESSION);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;That’s it!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;P.S. If you want to use this &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;AJAX&lt;/st1:city&gt;&lt;/st1:place&gt; component, you have to read a Zapatec tree license agreement on &lt;a href="http://www.zapatec.com/website/main/products/prod3/license.jsp"&gt;http://www.zapatec.com/website/main/products/prod3/license.jsp&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-3811938944850925780?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/3811938944850925780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=3811938944850925780' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/3811938944850925780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/3811938944850925780'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2008/01/zapatec-ajax-tree-in-apex.html' title='Zapatec AJAX tree in APEX'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_U04l0oZb4SQ/R5ceuUIi79I/AAAAAAAAACw/RKsAgTtyeww/s72-c/tables.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-6615526497209731954</id><published>2007-10-25T18:23:00.000+03:00</published><updated>2007-10-25T18:42:03.293+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><title type='text'>Changing Scheme in Oracle Application Express (APEX) inside application</title><content type='html'>There is some application when you need to change your current scheme to another one. For example you would like to create your own SQL Editor in HTML. It would be much easier to change the current scheme, then work with "scheme." prefix. So, there is a solution.&lt;br /&gt;&lt;br /&gt;You have to update three Oracle Application Express tables (wwv_flows, wwv_flow_companies, wwv_flow_company_schemas) in scheme flows_030000 (in my case I use APEX 3, if you use older version check your flows_ name).&lt;br /&gt;&lt;br /&gt;There is an example:&lt;br /&gt;You have to know your application and workspace identifier.&lt;br /&gt;&lt;br /&gt;update flows_030000.wwv_flows&lt;br /&gt;set owner=&amp;amp;NEW_SCHEME_NAME&lt;br /&gt;where id=&amp;amp;APP_NAME;&lt;br /&gt;&lt;br /&gt;update flows_030000.wwv_flow_companies&lt;br /&gt;set FIRST_SCHEMA_PROVISIONED=&amp;amp;NEW_SCHEME_NAME&lt;br /&gt;where PROVISIONING_COMPANY_ID=&amp;amp;WORKSPACE_ID;&lt;br /&gt;&lt;br /&gt;update flows_030000.wwv_flow_company_schemas&lt;br /&gt;set schema=&amp;amp;NEW_SCHEME_NAME&lt;br /&gt;where id=&amp;amp;WORKSPACE_ID;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best Regards!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-6615526497209731954?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/6615526497209731954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=6615526497209731954' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/6615526497209731954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/6615526497209731954'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2007/10/changing-scheme-in-oracle-application.html' title='Changing Scheme in Oracle Application Express (APEX) inside application'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-1668552791564384993</id><published>2007-07-01T12:31:00.000+03:00</published><updated>2007-08-02T12:30:51.984+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><title type='text'>Best HTMLDB Websites</title><content type='html'>Recently, I found very interesting post in Oracle Application Express Forum,                                         &lt;a id="jive-thread-14" href="http://forums.oracle.com/forums/thread.jspa?threadID=319763&amp;amp;tstart=0"&gt;BEST HTMLDB WESITE COMPETITION&lt;/a&gt;&lt;br /&gt;I think that it is nice idea and decide to create an application where people can add and vote for websites.&lt;br /&gt;This is the link of my application:&lt;br /&gt;&lt;a href="http://support.gtsupport.ru/pls/apex/f?p=102:1"&gt;http://best-htmldb.et.ua/&lt;/a&gt;&lt;br /&gt;Now I would like to present a short user guide.&lt;br /&gt;&lt;br /&gt;1. Adding the Website.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;For adding a Website you have to push "Add" button on the main page.&lt;/li&gt;&lt;li&gt;Then you have to enter "Website name", "URL", "Site author"(optional), "Screen shot" (optional) and "Short description"&lt;/li&gt;&lt;li&gt;At the end you have to push "Add" button.&lt;/li&gt;&lt;/ol&gt;2. For going to the website push "Go" button.&lt;br /&gt;3. Looking the description&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Click on the website name.&lt;/li&gt;&lt;li&gt;At new page you can find the information about website, statistic, screen shot and users comments.&lt;/li&gt;&lt;/ol&gt;4. Voting&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Press on the Vote link, at the main page.&lt;/li&gt;&lt;li&gt;Set your marks.&lt;/li&gt;&lt;li&gt;You can also add a description (optional)&lt;/li&gt;&lt;li&gt;And finally press "Vote" button&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;P.S. You can vote only one time.&lt;br /&gt;&lt;br /&gt;If you have any ideas and propositions about this application, please write to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-1668552791564384993?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/1668552791564384993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=1668552791564384993' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/1668552791564384993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/1668552791564384993'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2007/07/best-htmldb-websites.html' title='Best HTMLDB Websites'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-6507523229656201756</id><published>2007-06-22T15:54:00.001+03:00</published><updated>2007-07-14T18:39:06.070+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><title type='text'>Two Level Tabs</title><content type='html'>Using my experience, Apex beginners always has a trouble with creating Two Level Tabs. That’s why I decided to post this blog.&lt;br /&gt;First of all some words about the structure of Two Level Tabs.&lt;br /&gt;This is a schema of Apex structure of Tabs&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_U04l0oZb4SQ/RnvHRBmc9UI/AAAAAAAAAAo/QJ96saWFYXU/s1600-h/Schema.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_U04l0oZb4SQ/RnvHRBmc9UI/AAAAAAAAAAo/QJ96saWFYXU/s320/Schema.JPG" alt="" id="BLOGGER_PHOTO_ID_5078872100091786562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_U04l0oZb4SQ/RnvJYhmc9VI/AAAAAAAAAAw/uKHqfMEA-mw/s1600-h/1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_U04l0oZb4SQ/RnvJYhmc9VI/AAAAAAAAAAw/uKHqfMEA-mw/s320/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5078874427964061010" border="0" /&gt;&lt;/a&gt;“Parent Tab Set” is – “Main”&lt;br /&gt;“Tab Set + Parent Tab” is – “Parent 1” and “Parent 2”&lt;br /&gt;“Standard Tab” is – “Page 1” and “Page 2”&lt;br /&gt;&lt;br /&gt;Now let’s create a sample two level tabs:&lt;br /&gt;1. Go to Shared components -&gt; Tabs&lt;br /&gt;2. Click on “Create New Standard Tab”&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_U04l0oZb4SQ/RnvJ1xmc9WI/AAAAAAAAAA4/kX36C6IDVC8/s1600-h/2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_U04l0oZb4SQ/RnvJ1xmc9WI/AAAAAAAAAA4/kX36C6IDVC8/s320/2.JPG" alt="" id="BLOGGER_PHOTO_ID_5078874930475234658" border="0" /&gt;&lt;/a&gt;    3. Creating Standard Tab Set&lt;br /&gt;&lt;span style="font-size:85%;"&gt;    a. Check “Create a new tab set and a new tab within the tab set.”&lt;br /&gt; b. Enter name for your tab set, for example “TS1”&lt;br /&gt; c. Enter the name of parent tab set, for example “PTS1”&lt;br /&gt; d. Enter tab label, for example “page 1”&lt;br /&gt; e. Enter page number, for example “1”&lt;br /&gt; f. ………..&lt;br /&gt; g. Push “Create Tab” button.&lt;/span&gt;&lt;br /&gt;4. Now you have only One Level Tab&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_U04l0oZb4SQ/RnvKTxmc9YI/AAAAAAAAABI/68GrBXeMA0o/s1600-h/3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_U04l0oZb4SQ/RnvKTxmc9YI/AAAAAAAAABI/68GrBXeMA0o/s400/3.JPG" alt="" id="BLOGGER_PHOTO_ID_5078875445871310210" border="0" /&gt;&lt;/a&gt;    If you include this tab to your page you will have the next view:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_U04l0oZb4SQ/RnvKzxmc9aI/AAAAAAAAABY/5k4vyc58KHo/s1600-h/4.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_U04l0oZb4SQ/RnvKzxmc9aI/AAAAAAAAABY/5k4vyc58KHo/s400/4.JPG" alt="" id="BLOGGER_PHOTO_ID_5078875995627124130" border="0" /&gt;&lt;/a&gt;    5. Lets add Parent Tab, by clicking on “Add” link (add new parent tab)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_U04l0oZb4SQ/RnvLABmc9bI/AAAAAAAAABg/wsEKIHVwDyM/s1600-h/5.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_U04l0oZb4SQ/RnvLABmc9bI/AAAAAAAAABg/wsEKIHVwDyM/s400/5.JPG" alt="" id="BLOGGER_PHOTO_ID_5078876206080521650" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;            a. Enter parent tab label, for example “Parent 1”&lt;br /&gt;        b. ……….&lt;br /&gt;        c. Push button “Create Parent Tab”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. Go to page “Display Attributes“, Select page template to “Two Level Tabs” and Standard Tab Set, in our example it is “TS1(page 1)”&lt;br /&gt;7. If you run your application you can see the next tabs:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_U04l0oZb4SQ/RnvLPBmc9cI/AAAAAAAAABo/ps5f2CXOIcs/s1600-h/6.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_U04l0oZb4SQ/RnvLPBmc9cI/AAAAAAAAABo/ps5f2CXOIcs/s400/6.JPG" alt="" id="BLOGGER_PHOTO_ID_5078876463778559426" border="0" /&gt;&lt;/a&gt;    8. Now lets add one more standard tab.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;            a. Click on “Add” link (add new standard tab)&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_U04l0oZb4SQ/RnvLcBmc9dI/AAAAAAAAABw/KJCQIXGgn50/s1600-h/7.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_U04l0oZb4SQ/RnvLcBmc9dI/AAAAAAAAABw/KJCQIXGgn50/s400/7.JPG" alt="" id="BLOGGER_PHOTO_ID_5078876687116858834" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;            b. Enter tab label, for example “page 2”&lt;br /&gt;        c. ……..&lt;br /&gt;        d. Click on “Create Tab” button&lt;br /&gt;        e. Go to page 2 and do the same thing as in point 6.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;9. At this step you have one parent tab and two standard tabs. The next step is adding another parent tab. It was the main reason for writing this report because each novice has a problem with it. You will see it later.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;            a. Reproduce point 5 (example Parent 2)&lt;br /&gt;        b. Click on created parent tab (Parent 2) and, and reproduce point 8&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_U04l0oZb4SQ/RnvLwRmc9eI/AAAAAAAAAB4/kvQVy7qWHR0/s1600-h/8.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_U04l0oZb4SQ/RnvLwRmc9eI/AAAAAAAAAB4/kvQVy7qWHR0/s400/8.JPG" alt="" id="BLOGGER_PHOTO_ID_5078877035009209826" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;            c. Go to the page which you have just associated with standard tab. And reproduce point 6             (standard Tab Set -&gt; T_PARENT2(Page 3))&lt;br /&gt;        d. Lets run our application&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_U04l0oZb4SQ/RnvMFBmc9fI/AAAAAAAAACA/TyRbbbg64Wk/s1600-h/9.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_U04l0oZb4SQ/RnvMFBmc9fI/AAAAAAAAACA/TyRbbbg64Wk/s400/9.JPG" alt="" id="BLOGGER_PHOTO_ID_5078877391491495410" border="0" /&gt;&lt;/a&gt;            If you go to “Parent 2” the page 3 will be opened, but there would be one level tab:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_U04l0oZb4SQ/RnvMUhmc9gI/AAAAAAAAACI/NR1-GEQwsaY/s1600-h/10.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_U04l0oZb4SQ/RnvMUhmc9gI/AAAAAAAAACI/NR1-GEQwsaY/s400/10.JPG" alt="" id="BLOGGER_PHOTO_ID_5078877657779467778" border="0" /&gt;&lt;/a&gt;            This is because your Standard Tabs should be in one Parent Tab Set&lt;br /&gt;&lt;br /&gt;10. Lets add Tab Set with page 3 to Parent Tab Set of page 1 and 2.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;            a. Open Shared Components -&gt; Tabs&lt;br /&gt;        b. Go to “Edit Standard Tabs” link&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_U04l0oZb4SQ/RnvMhRmc9hI/AAAAAAAAACQ/Hfbt2I2CFa0/s1600-h/11.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_U04l0oZb4SQ/RnvMhRmc9hI/AAAAAAAAACQ/Hfbt2I2CFa0/s400/11.JPG" alt="" id="BLOGGER_PHOTO_ID_5078877876822799890" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;            c. Click on Edit icon   of new tab set. (note that the value of Parent Tab Set is (null) )&lt;br /&gt;        d. Go to Parent Tab Set&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_U04l0oZb4SQ/RnvM4Rmc9iI/AAAAAAAAACY/WAUIhKCY8nM/s1600-h/12.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_U04l0oZb4SQ/RnvM4Rmc9iI/AAAAAAAAACY/WAUIhKCY8nM/s400/12.JPG" alt="" id="BLOGGER_PHOTO_ID_5078878271959791138" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;            e. Change it to your Parent Tab Set (TS1)&lt;br /&gt;        f. Click Apply Change button.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;11. Now everything works perfectly&lt;br /&gt;12. At the end of my post I would like to show you how do I drop Parent Tabs and Parent Tab Sets&lt;br /&gt;&lt;span style="font-size:85%;"&gt;            a. Click on Edit icon on parent tab:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_U04l0oZb4SQ/RnvNJhmc9jI/AAAAAAAAACg/kN2xcK2mp7Q/s1600-h/13.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_U04l0oZb4SQ/RnvNJhmc9jI/AAAAAAAAACg/kN2xcK2mp7Q/s400/13.JPG" alt="" id="BLOGGER_PHOTO_ID_5078878568312534578" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;            b. Press “Delete” button&lt;br /&gt;        c. You can find that tab set is still exist&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_U04l0oZb4SQ/RnvNXBmc9kI/AAAAAAAAACo/ydqeOeDsbzg/s1600-h/14.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_U04l0oZb4SQ/RnvNXBmc9kI/AAAAAAAAACo/ydqeOeDsbzg/s400/14.JPG" alt="" id="BLOGGER_PHOTO_ID_5078878800240768578" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;            d. Go to Edit Standard Tabs and delete it in the same way.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That’s all&lt;br /&gt;&lt;br /&gt;P.S. One more reason that the parent tabs were not being displayed was because, the target page for the parent tab was not set as a target (set current) for any of the standard tabs that belonged to that parent tab .&lt;br /&gt;SO what happened was whenever a parent tab was clicked the app loaded the target page with the standard tabs properly, but since none of the standard tabs itself was set to be current for that target page, the parent tab itself was not current and hence not displayed. (user581875)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-6507523229656201756?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/6507523229656201756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=6507523229656201756' title='27 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/6507523229656201756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/6507523229656201756'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2007/06/two-level-tabs.html' title='Two Level Tabs'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_U04l0oZb4SQ/RnvHRBmc9UI/AAAAAAAAAAo/QJ96saWFYXU/s72-c/Schema.JPG' height='72' width='72'/><thr:total>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6052224947960158184.post-879743074452692029</id><published>2007-06-20T20:31:00.000+03:00</published><updated>2007-06-21T15:07:11.693+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Authentication using client SSL certificates</title><content type='html'>&lt;ol style="margin-top: 0cm;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Creating your own self-signed trusted certificate. And creating client certificate&lt;br /&gt;&lt;/li&gt;&lt;ol style="margin-top: 0cm;" start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;First of all you have to download openssl library (&lt;a href="http://www.openssl.org/"&gt;http://www.openssl.org/&lt;/a&gt;)&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Install it. (I installed on UNIX)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;          &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ ./config&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ make&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ make test&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ make install&lt;/span&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0cm;" start="1" type="1"&gt;&lt;ol style="margin-top: 0cm;" start="3" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;Create self-signed certificate&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;&lt;span style="font-size:100%;"&gt; # openssl req -new -newkey rsa:1024 -nodes -keyout ca.key -x509 -days 500 \&lt;br /&gt; -subj /C=RU/ST=Msk/L=Msk/O=My\ Inc/OU=Sale/CN=bla/emailAddress=usr@dom.ru \&lt;br /&gt; -out ca.crt&lt;/span&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;pre&gt;&lt;span&gt;&lt;span&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;You can use next commands for previewing key and certificate:&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;  &lt;pre&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt; # openssl rsa -noout -text -in ca.key&lt;span style=""&gt;              &lt;/span&gt;(&lt;/span&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;key&lt;/span&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt;)&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt; # openssl x509 -noout -text -in ca.crt&lt;span style=""&gt;             &lt;/span&gt;(&lt;/span&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;certificate&lt;/span&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt;)&lt;/span&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/pre&gt;    &lt;ol style="margin-top: 0cm;" start="1" type="1"&gt;&lt;ol style="margin-top: 0cm;" start="4" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;Creating clients certificate&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="font-size:85%;"&gt;    Creating clients certificates configuration file ca.config&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; [ ca ]&lt;br /&gt; default_ca&lt;span style=""&gt;             &lt;/span&gt;= CA_CLIENT&lt;span style=""&gt;       &lt;/span&gt;# When signing certificate&lt;br /&gt; &lt;span style=""&gt; &lt;/span&gt;       # use section CA_CLIENT&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt; [ CA_CLIENT ]&lt;br /&gt; dir&lt;span style=""&gt;                    &lt;/span&gt;= ./db&lt;span style=""&gt;            &lt;/span&gt;# Catalog for service files&lt;br /&gt; certs&lt;span style=""&gt;                  &lt;/span&gt;= $dir/certs&lt;span style=""&gt;      &lt;/span&gt;# Catalog for certificates&lt;br /&gt; new_certs_dir&lt;span style=""&gt;          &lt;/span&gt;= $dir/newcerts&lt;span style=""&gt;   &lt;/span&gt;# Catalog for new certificates&lt;br /&gt; database&lt;span style=""&gt;               &lt;/span&gt;= $dir/index.txt&lt;span style=""&gt;  &lt;/span&gt;# File with db of signed certificates&lt;br /&gt; serial&lt;span style=""&gt;             &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;= $dir/serial&lt;span style=""&gt;     &lt;/span&gt;# File with serial number of certificate (HEX)&lt;br /&gt; certificate&lt;span style=""&gt;            &lt;/span&gt;= ./ca.crt&lt;span style=""&gt;        &lt;/span&gt;# File of trusted CA&lt;br /&gt; private_key&lt;span style=""&gt;            &lt;/span&gt;= ./ca.key&lt;span style=""&gt;        &lt;/span&gt;# CA key&lt;br /&gt; default_days&lt;span style=""&gt;           &lt;/span&gt;= 365&lt;span style=""&gt;             &lt;/span&gt;# Expired date of signed certificates&lt;br /&gt; default_crl_days&lt;span style=""&gt;       &lt;/span&gt;= 7&lt;span style=""&gt;               &lt;/span&gt;# CRL expired date&lt;br /&gt; default_md&lt;span style=""&gt;             &lt;/span&gt;= md5&lt;span style=""&gt;             &lt;/span&gt;# Algorithm&lt;br /&gt; policy&lt;span style=""&gt;                 &lt;/span&gt;= policy_anything # The name of policy description section&lt;br /&gt; &lt;br /&gt; [ policy_anything ]&lt;br /&gt; countryName&lt;span style=""&gt;            &lt;/span&gt;= optional&lt;span style=""&gt;        &lt;/span&gt;# Country - not required&lt;br /&gt; stateOrProvinceName&lt;span style=""&gt;    &lt;/span&gt;= optional&lt;span style=""&gt;        &lt;/span&gt;# ......&lt;br /&gt; localityName&lt;span style=""&gt;           &lt;/span&gt;= optional&lt;span style=""&gt;        &lt;/span&gt;# ......&lt;br /&gt; organizationName&lt;span style=""&gt;       &lt;/span&gt;= optional&lt;span style=""&gt;        &lt;/span&gt;# ......&lt;br /&gt; organizationalUnitName = optional&lt;span style=""&gt;        &lt;/span&gt;# ......&lt;br /&gt; commonName&lt;span style=""&gt;             &lt;/span&gt;= supplied&lt;span style=""&gt;        &lt;/span&gt;# ...... - &lt;/span&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt;required&lt;br /&gt; emailAddress&lt;span style=""&gt;           &lt;/span&gt;= optional&lt;span style=""&gt;        &lt;/span&gt;# ......&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:monospace;"&gt; Create directories that fit to config file&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;    &lt;pre&gt; &lt;span style="color: rgb(70, 27, 126);"&gt;# mkdir db&lt;br /&gt; # mkdir db/certs&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(70, 27, 126);"&gt; # mkdir db/newcerts&lt;br /&gt; # touch db/index.txt&lt;br /&gt; # echo "01" &gt; db/serial&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;Create client key and certificate request (&lt;span style="" lang="EN-US"&gt;CSR&lt;/span&gt;) &lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt;&lt;span style=""&gt;&lt;/span&gt; # openssl req -new -newkey rsa:1024 -nodes -keyout client01.key \&lt;br /&gt; -subj /C=RU/ST=Msk/L=Msk/O=Inc/OU=Web/CN=usr/emailAddress=usr@dm.ru \&lt;br /&gt; &lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(70, 27, 126);"&gt;-out client01.csr&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0cm;" start="1" type="1"&gt;&lt;ol style="margin-top: 0cm;" start="5" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;Sign client certificate request using trusted certificate (CA)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;pre&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt; # openssl ca -config ca.config -in client01.csr -out client01.crt –batch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;  Preparing client certificate for transferring it to client&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;    &lt;pre&gt;&lt;span style="color: rgb(70, 27, 126);" lang="EN-US"&gt; # openssl pkcs12 -export -in client01.crt -inkey client01.key \&lt;br /&gt; -certfile ca.crt -out client01.p12 -passout pass:q1w2e3&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0cm;" start="2" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Create Wallet &lt;/li&gt;&lt;ol style="margin-top: 0cm;" start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;Open Oracle Wallet Manager&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Press create new &lt;span style="" lang="EN-US"&gt;wallet&lt;/span&gt;       (&lt;span style="" lang="EN-US"&gt;Wallet&lt;/span&gt; - &gt; &lt;span style="" lang="EN-US"&gt;New&lt;/span&gt;)&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Enter password. (&lt;span style="" lang="EN-US"&gt;standard type&lt;/span&gt;)&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Create&lt;span style=""&gt; &lt;span lang="EN-US"&gt;Certificate Request. &lt;/span&gt;&lt;/span&gt;(Enter       &lt;span style="" lang="EN-US"&gt;CN&lt;/span&gt; – domain name       - required) or export certificate that was created in 1.с&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Export&lt;span style="" lang="EN-US"&gt; Certificate Request &lt;/span&gt;to file&lt;span style="" lang="EN-US"&gt;. &lt;/span&gt;Sign it in CA&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Import &lt;span style="" lang="EN-US"&gt;Trusted&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Certificate&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Import signed certificate&lt;br /&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Check&lt;span style="" lang="EN-US"&gt; Auto_login (Wallet - &gt; Auto-Login)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Save  Wallet&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0cm;" start="3" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Configure Oracle HTTP Server.&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol style="margin-top: 0cm;" start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;In&lt;span style=""&gt; &lt;span lang="EN-US"&gt;ssl.conf (ORACLE_HOME\Apache\Apache\conf) &lt;/span&gt;&lt;/span&gt;enter pass to&lt;span style=""&gt; &lt;span lang="EN-US"&gt;Wallet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;SSLWallet file:c:\oracle\product\10.2.0\db_2\MyWallet&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0cm;" start="3" type="1"&gt;&lt;ol style="margin-top: 0cm;" start="2" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;In&lt;span style=""&gt; &lt;span lang="EN-US"&gt;ssl.conf change port       4443 to 443 (Listener, Port, Virtual Server)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;In file&lt;span style=""&gt; &lt;span lang="EN-US"&gt;opmn.xml (ORACLE_HOME\opmn\conf) change       ssl-disabled on ssl-enabled (&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span lang="EN-US"&gt;start-mode)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;In the end of httpd.conf (ORACLE_HOME\Apache\Apache\conf) set rule for ssl. For example:&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;RewriteEngine On&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;RewriteRule&lt;span style=""&gt;   &lt;/span&gt;^/pls/apex/(.*)$ https://support.gtsupport.ru:443/pls/apex/$1 [L,R]&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0cm;" start="3" type="1"&gt;&lt;ol style="margin-top: 0cm;" start="5" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;Configure authentication by client certificate&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;SSLVerifyClient require&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0cm;" start="3" type="1"&gt;&lt;ol style="margin-top: 0cm;" start="6" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;Restart Oracle HTTP Server&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal" style="margin-left: 54pt;"&gt;SSLVerifyClient require&lt;br /&gt;&lt;/p&gt;&lt;ol start="4"&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;Transferring certificate to user&lt;/li&gt;&lt;/ol&gt;&lt;ol style="margin-top: 0cm;" start="3" type="1"&gt;&lt;ol style="margin-top: 0cm;" start="1" type="a"&gt;&lt;li class="MsoNormal" style=""&gt;You have to transfer file that was created in part 1.f&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;If user use Mozi&lt;span style="" lang="EN-US"&gt;l&lt;/span&gt;la,       than he have to press Import (Tools –&gt; Options -&gt; Advanced -&gt; Encryption -&gt; View certificates -&gt; Import) and choose file.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6052224947960158184-879743074452692029?l=proskudin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://proskudin.blogspot.com/feeds/879743074452692029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6052224947960158184&amp;postID=879743074452692029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/879743074452692029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6052224947960158184/posts/default/879743074452692029'/><link rel='alternate' type='text/html' href='http://proskudin.blogspot.com/2007/06/authentification-using-client-ssl.html' title='Authentication using client SSL certificates'/><author><name>Kostya</name><uri>http://www.blogger.com/profile/12433336431843839570</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_U04l0oZb4SQ/RnpKbxmc9SI/AAAAAAAAAAY/vePIUZ3vzLw/s320/my_face.JPG'/></author><thr:total>0</thr:total></entry></feed>
