SlideShare a Scribd company logo
1 of 90
Download to read offline
ALT-TAB:
Better APEX Tabs Scott Spendolini
Director & Co-Founder
1
WELCOME
2
— scott.spendolini@enkitec.com
— @sspendol
— Ex-Oracle Employee of 10 years
— Senior Product Manager for Oracle APEX
from 2002 through 2005
— Founded Sumner Technologies
in October 2005
— Co-Founded Sumneva in January 2010
— Joined Enkitec in June 2012
— Oracle Ace Director
— Co-Author, Pro Oracle Application Express
— Author, Secure APEX Development Best
Practices
— “Scott” on OTN Forums
Scott Spendolini
3
About Enkitec
— Oracle Platinum Partner
— Established in 2004
— Headquartered in Dallas, TX
— Locations throughout the US & EMEA
— Specialties include
— Exadata Implementations
— Development Services
— PL/SQL / Java / APEX
— DBA/Data Warehouse/RAC
— Business Intelligence
4
Agenda
— Overview
— Alternative Tabs
— jQuery UI
— CSS Dropdown Menu Framework
— APEX 4.0 UI Changes
— Summary
5
APEX 4.0 UI CHANGES
6
New APEX 4.0 Themes
— Several new themes included in APEX 4.0
— Total of 20 Interchangeable Themes
7
Themes
8
— All new themes are DIV-
based
— Only 5 are IE6 Compatible
— Denoted by the * next to their
names
— Most themes have been
“cleaned up” to better
meet standards and/or to
fix bugs
Backward Compatibility
— Five Themes still use HTML tables for their layout
— Ensures compatibility with older browsers
— Table-friendly themes include:
— Theme 13
— Theme 15
— Theme 16
— Theme 18
— Theme 20
9
New Features in APEX 4.0 Templates
10
— “Embedded” Regions
— Can now easily have a Region within another Region
— Part of the Region properties
DIV-Based Layout
— Most of the new APEX 4.0 Themes use a DIV-
based layout model
— What is a DIV?
— A container for blocks of content
— More practical than TABLEs for overall design
— Can and do still use TABLEs for row/column reports
— Easier to manipulate & manage with JavaScript/jQuery
11
D E M O N S T R A T I O N
DIVS
12
— Each page is made up of several DIVs
— header
— tabs
— topbar
— messages
— body
— footer
— Each DIV has sub-DIVs
— And those DIVs may also have sub-DIVs
Structure of an APEX 4.0 Template
13
header
14
tabs
15
topbar
16
body
17
footer
18
Page Header
19
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/
xhtml1/DTD/xhtml1-strict.dtd">
<html lang="&BROWSER_LANGUAGE." xmlns="http://www.w3.org/1999/xhtml"
xmlns:htmldb="http://htmldb.oracle.com" xmlns:apex="http://apex.oracle.com">
<head>
<title>#TITLE#</title>
<link rel="icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x-
icon">
#HEAD#
<link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/theme_4_0.css"
type="text/css" />
<!--[if IE]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/
theme_4_0_ie.css" type="text/css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/
theme_4_0_ie6.css" type="text/css" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/
theme_4_0_ie7.css" type="text/css" /><![endif]-->
</head>
<body #ONLOAD#>
<!--[if lte IE 6]><div id="outdated-browser">#OUTDATED_BROWSER#</div><![endif]--
>
#FORM_OPEN#
Page Body
20
<div id="header">
<div id="logo"><a href="#HOME_LINK#">#LOGO##REGION_POSITION_06#</a></div>
#REGION_POSITION_07#
<div id="navbar">
<div class="app-user">#WELCOME_USER#</div>
#NAVIGATION_BAR#
#REGION_POSITION_08#
</div>
</div>
<div id="tabs">
<div class="frame">
<div class="bg">
<div class="tab-holder">
#TAB_CELLS#
</div>
</div>
</div>
</div>
<div id="topbar">#REGION_POSITION_01##REGION_POSITION_04#</div>
<div id="messages">#SUCCESS_MESSAGE##NOTIFICATION_MESSAGE##GLOBAL_NOTIFICATION#</div>
<div id="body">
<table class="tbl-body" cellspacing="0" cellpadding="0" border="0" summary="">
<tbody>
<tr>
<td class="tbl-main" width="100%">#REGION_POSITION_02##BOX_BODY#</td>
<td class="tbl-sidebar">#REGION_POSITION_03#</td>
</tr>
</tbody>
</table>
</div>
Page Footer
21
<div id="footer"><div class="content">
#REGION_POSITION_05#
<div id="customize">#CUSTOMIZE#</div>&nbsp;
</div></div>
#FORM_CLOSE#
</body>
</html>
Sprite Maps
22
— Sprite Maps consolidate several
smaller images into one large image
— Faster to load one larger image vs. several
smaller images
— Only a portion of the image is
displayed on the page
— Controlled by CSS background-position
attribute
Tabs Sprite Map Image
Actual Tabs
D E M O N S T R A T I O N
SPRITE MAPS
23
TABS
24
History of Tabs
25
History of Tabs
26
— The first tab was developed in 1962 by IBM &
DARPA
— Data was stored on over 2,000 punch cards
— Took over 3 hours just to load
— Used all 16KB of RAM
— End Result:
|--------|
| Home |
History of Tabs
— Tabs have been a common navigational device
since the early days of client-server applications
— Once HTML-based applications became popular, it wasn’t
long before the tab followed
— Most web sites today - both large
& small - make some use of
tabs in one way or another
— Google, Amazon, Twitter,
Facebook, Yahoo, etc.
27
Amazon.com circa 1999
28
— When Amazon.com
launched in 1995, it
didn’t look very good
— At least not by today’s
standards
— It also didn’t have any
tabs
— As did many sites of that
time period
— However, its UI quickly evolved over the years
— As the site expanded, so did the number of tabs used:
Amazon.com circa 2000’s
29
Amazon.com Today
— Today, Amazon.com opts for a navigation list on
the left side in lieu of tabs on its home page
30
Amazon.com Today
— Once you select a department, you will see a
subtle line of sub-navigation tabs
31
Google’s Tabs
— Simplicity + Consistency > Complexity
32
Apple’s Tabs
— (Simplicity + Consistency) * Style > Complexity
33
Microsoft’s Tabs
— Simplicity + Consistency > Complexity
34
Microsoft’s Tabs
— Simplicity + Consistency > Complexity
35
+ = 0
APEX & Tabs
— Almost every APEX application ever written makes use of
some form of tabs
— Why is this so?
— Default option when creating an application
— Tabs are a de-facto navigation control
— “Easier” to use than
other types of navigation
controls
— Why Not?
36
APEX Built-in Tabs
37
— APEX’s tab mechanism has
changed little over time
— Almost the same in APEX 4.0 as it was in
HTML DB 1.6
— APEX provides support for no, one
or two levels of tabs
— Overall UI used to make up tabs is
in need of a refresh
— APEX 4.0 helps, but the underlying
infrastructure is the same
— To say that APEX’s built-in tabs are frustrating to use
would be a vast understatement...
PC LOAD LETTER
38
Upside Down
39
•One-LevelAPEXtabs-themostcommontype-areactually
createdupside-down
•WhatseemtobetheParentTabsareactually
somethingcalledtheStandardTabs
•WhichisanothernameforDetailTabs
•AllStandardTabswillhaveapseudo-tabastheir
ParentorMastertab
•Thus,you’reessentiallycreatingorphanedtabs
•Veryconfusingwhenconvertingfromonetotwolevels
oftabs,asyouneedtocreatenewmasterorparent
tabs
One Level of Tabs
Two Levels of Tabs
Upside Down
Standard Tabs
Parent Tabs
Standard Tabs
40
Pseudo Parent Tab
APEX Tab Deficiencies
— Several things have to line up just right for tabs
to work properly:
— Correct Page Template must be selected
— Tab must be current for the corresponding Page
— Page must be mapped to the corresponding Standard Tab
Set
— Standard Tab must be mapped to the corresponding
Standard Tab Set
— Standard Tab must map to the corresponding Parent Tab
Set or Pseudo Parent Tab Set
41
APEX Tab Deficiencies
— APEX uses a JavaScript function to submit the page when
tabs are clicked
—APEX 3.2: doSubmit('TabName');
—APEX 4.0: apex.submit('TabName');
— Deficient for a couple of reasons
— JavaScript was required for basic navigation
— Issue with some mobile devices
— Google would not follow or index the tab’s links
— Harder to get a site indexed
42
D E M O N S T R A T I O N
WORKING
WITH APEX TABS
43
Getting Frustrated
APEX 4.0 Tab Enhancements
— Little has changed in the way tabs are
implemented in APEX 4.0
— Still just as confusing
— There are a couple new reports and several new
regions that attempt to make tabs easier to use
— Found under Shared Components > Tabs
44
http://www.enkitec.com
45
APEX 4.0 Tabs Management Page
46
Tab Summary
47
Tab Display
48
Other Details
49
Other Details
50
ALTERNATIVE TABS
51
JQUERY UI
52
jQuery UI
53
— Provides a set of UI components that sit on top of
jQuery
— Tabs, Calendars, Widgets, Buttons, Effects, etc.
— APEX 4.0 will have both jQuery & jQuery UI
included
— Can easily be installed to work with APEX 3.x as well
jQuery UI Tabs
— Robust, configurable jQuery IU component that
can be styled to match almost any UI theme
— Contain hooks into jQuery to capture all types of events
— Support for loading content via Ajax
54
jQuery UI Tab Drawbacks
— No easy support for sub-tabs
— Require jQuery & jQuery UI
— Not an issue with APEX 4.0+
— Involves working knowledge of jQuery & JavaScript to
implement
— Must make modifications to existing templates in order to
properly integrate
— In APEX, jQuery UI Tabs are better suited to hide &
show regions; not pages
55
jQuery Tabs: Get ‘Em While They’re Hot
— Blog entry by Dan McGhan on how to integrate
jQuery UI Tabs & APEX
— Concise, easy to follow steps
— Takes only minutes to implement
— http://www.danielmcghan.us/2009/07/jquery-tabs-get-
while-they-hot.html
56
D E M O N S T R A T I O N
JQUERY UI TABS
57
CSS DROP-DOWN
MENU FRAMEWORK
58
OVERVIEW
59
CSS Drop-down Menu Framework
60
— Free framework for CSS-based menus
— Licensed under GNU GPL; donation requested
— http://www.lwis.net/free-css-drop-down-menu/
— Modular Design with support for themes
— Easy to Deploy & Transform
— Cross-Browser
— Only IE6 requires JavaScript; all modern browsers do not
— Extremely Lightweight & Fast!
Theme Support
— Support for Themes
— Easily modifiable via CSS
— Included Themes:
— General Purpose
— Flickr
— NVIDIA
— Adobe
— MTV
— VIMEO
61
D E M O N S T R A T I O N
CSS DROP-DOWN
MENU FRAMEWORK
62
63
Structure vs. Style
— All structure & style are completely separated
— Structure: HTML
— Style: CSS
— This approach has a number of benefits
— Style of a site can quickly & easily be changed
— Structure of a site is much simpler & easier to maintain
— Site will be more Section 508 Compliant
In general, separating the
structure from the style is a good
design principle that should be
applied everywhere.
64
STRUCTURE
65
How It Works
66
— CSS Drop Down Menus simply use an HTML list to
create the structure used for the tabs
— Simple & Uncluttered
— Cascading Styles are then applied to the list to
give them their style or user interface
— Developer has complete control over the styles used
— And never has to modify the corresponding HTML
The Result
— Thus, this HTML Code:
— When combined with a CSS file or files...
— Yields this Menu:
67
HTML Lists
— <ul> and <li> are HTML tags that make up
bulleted “lists” when rendered on the page
— Each will also require a closing tag after its corresponding
content
68
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
• One
• Two
• Three
— By embedding additional <ul> tags, we can
create a hierarchical list with any number of
levels:
<ul>
<li>One</li>
<ul>
<li>Two</li>
<li>Three</li>
</ul>
</ul>
Multiple Level Hierarchies
69
• One
• Two
• Three
CSS Drop Down Menu Example
70
STYLE
71
72
Style
— All style definitions are stored in Cascading Style
Sheets or CSS files
— Visual attributes of the list elements, such as:
— Width
— Background Color
— Font & Font Size
— Margins & Padding
CSS Zen Garden
— Example site which illustrates how the same
HTML file can look dramatically different by only
changing the contents of the CSS
— Different graphic artists submitted only a CSS file &
associated images and the best are on display
— Dramatic illustration as to what can be achieved using
only Cascading Style Sheets
— View all of the designs online:
— http://csszengarden.com
73
http://www.enkitec.com
74
http://www.enkitec.com
75
CSS Dropdown Menus CSS
— CSS Dropdown Menus requires three CSS files:
— dropdown.css
— Sets high level element attributes, such as <ul> & <li>
— default.advanced.css
— References default.css
— default.css
— Almost all formatting changes made here
— Each of these can be modified as needed to
match your graphic design specifications
76
INTEGRATION WITH APEX
77
Integration with APEX
— It’s fairly simple to integrate CSS Dropdown
Menus with APEX
— Done using an APEX list & custom template
— List will contain the structure for the tabs
— Can be as many levels deep as you like
— Template will be 100% HTML and reference the
corresponding CSS files, which contain the style
— The List template will take care of creating the hierarchy
automatically
78
Steps to Integrate
79
1.Create a List
— Add an entry to the list for each tab & sub-tab that you
want to include
2.Crete a List Template
— Using the CSS Dropdown Menu HTML files as a guide
3.Create a List Region on Page Zero
— May want to alter the page template and use a custom
region position for better alignment/control
Lists: Best Practices
— Group Pages in blocks of 100 or 1000 based on
which “tab” will be current
— Set the Current List Entry attributes as follows:
— List Entry Current for Pages Type
— Exists SQL Query
— List Entry Current for Condition
—SELECT 1 FROM DUAL
WHERE :APP_PAGE_ID BETWEEN 600 AND 699
— Thus, any page from 600-699 will set this tab to
the current tab
80
D E M O N S T R A T I O N
CREATING A LIST
& LIST TEMPLATE
81
Before List Entry
— List Template Before Rows
— <link href="/c/css/dropdown/
dropdown.css" rel="stylesheet"
type="text/css" />
<link href="/c/css/dropdown/themes/default/
default.advanced.css" rel="stylesheet"
type="text/css" />
<ul id="nav" class="dropdown dropdown-
horizontal">
82
Template Definition
— List Template Current
— <li><a href="#LINK#"
class="currentTab">#TEXT#</a></li>
— List Template Current w/Sub Links
— <li><a href="#LINK#"
class="currentTab">#TEXT# &#9660;</a>
83
Template Definition
— List Template Non-Current
— <li><a href="#LINK#">#TEXT#</a></li>
— List Template Non-Current with Sub List
Items
— <li><a href="#LINK#">#TEXT# &#9660;</a>
— ListSub List Template Before Rows
— <ul>
84
Sub List Entry
— Sub List Template Current
— <li><a href="#LINK#">#TEXT#</a></li>
— Sub List Template Current w/Sub List
Items
— <li><a href="#LINK#">#TEXT# &#9654;</a>
85
Sub List Entry
— Sub List Template Noncurrent
— <li><a href="#LINK#">#TEXT#</a></li>
— Sub List Template Noncurrent w/Sub List Items
— <li><a href="#LINK#">#TEXT# &#9654;</a>
— Sub List Template After Rows
— </ul></li>
86
After List Entry
— List Template After Rows
— </li></ul>
87
SUMMARY
88
Summary
89
— APEX’s tab mechanism is dated and hard to use
— Most applications do, however, use it
— But it’s easy to retrofit Lists to work as tabs
— Implementing new tabs gives your application a
bit of sizzle that will make it stand out among
other applications
— While also allowing older browsers to be able to still view
your site
http://www.enkitec.com
90

More Related Content

What's hot

Basic Web Design In Dreamweaver
Basic Web Design In DreamweaverBasic Web Design In Dreamweaver
Basic Web Design In Dreamweaverjcharnin
 
Intermediate Web Design.doc
Intermediate Web Design.docIntermediate Web Design.doc
Intermediate Web Design.docbutest
 
Child Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesChild Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesDamien Carbery
 
Developing Custom Applications with Joomla! and Fabrik
Developing Custom Applications with Joomla! and FabrikDeveloping Custom Applications with Joomla! and Fabrik
Developing Custom Applications with Joomla! and FabrikTessa Mero
 
Facebook building fanlets & pages
Facebook   building fanlets & pagesFacebook   building fanlets & pages
Facebook building fanlets & pagesEngage121
 
The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]Aaron Gustafson
 
XPages OneUIv2 Theme Deep Dive
XPages OneUIv2 Theme Deep DiveXPages OneUIv2 Theme Deep Dive
XPages OneUIv2 Theme Deep DiveWorkFlowStudios
 
Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Karl Bunyan
 
Windows Vista
Windows VistaWindows Vista
Windows Vistacartsh
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesJared Smith
 
Girl Scouts Website Designer Badge Seminar - Presentation Slides
Girl Scouts Website Designer Badge Seminar - Presentation SlidesGirl Scouts Website Designer Badge Seminar - Presentation Slides
Girl Scouts Website Designer Badge Seminar - Presentation SlidesLauren Hayward Schaefer
 
CHILD Site Coordinator Training
CHILD Site Coordinator TrainingCHILD Site Coordinator Training
CHILD Site Coordinator Trainingehealth
 
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableLearn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableAcquia
 
Accessible modal windows
Accessible modal windowsAccessible modal windows
Accessible modal windowsRuss Weakley
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationAndy Wallace
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesAndy Wallace
 

What's hot (20)

Basic Web Design In Dreamweaver
Basic Web Design In DreamweaverBasic Web Design In Dreamweaver
Basic Web Design In Dreamweaver
 
Intermediate Web Design.doc
Intermediate Web Design.docIntermediate Web Design.doc
Intermediate Web Design.doc
 
Child Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesChild Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notes
 
Developing Custom Applications with Joomla! and Fabrik
Developing Custom Applications with Joomla! and FabrikDeveloping Custom Applications with Joomla! and Fabrik
Developing Custom Applications with Joomla! and Fabrik
 
Facebook building fanlets & pages
Facebook   building fanlets & pagesFacebook   building fanlets & pages
Facebook building fanlets & pages
 
The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]
 
XPages OneUIv2 Theme Deep Dive
XPages OneUIv2 Theme Deep DiveXPages OneUIv2 Theme Deep Dive
XPages OneUIv2 Theme Deep Dive
 
Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008
 
Windows Vista
Windows VistaWindows Vista
Windows Vista
 
Php
PhpPhp
Php
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility Techniques
 
No gEEk? No Problem!
No gEEk? No Problem!No gEEk? No Problem!
No gEEk? No Problem!
 
Tercer trabajo de drapi 02
Tercer trabajo de drapi 02Tercer trabajo de drapi 02
Tercer trabajo de drapi 02
 
20120424 c
20120424 c20120424 c
20120424 c
 
Girl Scouts Website Designer Badge Seminar - Presentation Slides
Girl Scouts Website Designer Badge Seminar - Presentation SlidesGirl Scouts Website Designer Badge Seminar - Presentation Slides
Girl Scouts Website Designer Badge Seminar - Presentation Slides
 
CHILD Site Coordinator Training
CHILD Site Coordinator TrainingCHILD Site Coordinator Training
CHILD Site Coordinator Training
 
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableLearn How to Use Atomic Design to Make Your Site Manageable and Adaptable
Learn How to Use Atomic Design to Make Your Site Manageable and Adaptable
 
Accessible modal windows
Accessible modal windowsAccessible modal windows
Accessible modal windows
 
Joomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus PresentationJoomla! Day UK 2009 Menus Presentation
Joomla! Day UK 2009 Menus Presentation
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic Templates
 

Similar to Alt tab - better apex tabs

Oracle application express
Oracle application expressOracle application express
Oracle application expressAbhinaw Kumar
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express pptAbhinaw Kumar
 
Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal themeRoel Hartman
 
Plug-in Architectures
Plug-in ArchitecturesPlug-in Architectures
Plug-in Architectureselliando dias
 
Bootstrapify Universal Theme
Bootstrapify Universal ThemeBootstrapify Universal Theme
Bootstrapify Universal ThemeChristian Rokitta
 
Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1Amit Sharma
 
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Anson Han
 
Apex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tourApex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tourLino Schildenfeld
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook ApplicationsWO Community
 
Apex basics-for Beginners
Apex basics-for BeginnersApex basics-for Beginners
Apex basics-for Beginnershrakhra
 
Designing well known websites with ADF Rich Faces
Designing well known websites with ADF Rich FacesDesigning well known websites with ADF Rich Faces
Designing well known websites with ADF Rich Facesmaikorocha
 
Unlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin ArchitectureUnlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin ArchitectureMatt Nolan
 

Similar to Alt tab - better apex tabs (20)

Oracle application express
Oracle application expressOracle application express
Oracle application express
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express ppt
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
 
F1488647857 sewtz
F1488647857 sewtzF1488647857 sewtz
F1488647857 sewtz
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Mastering universal theme
Mastering universal themeMastering universal theme
Mastering universal theme
 
Plug-in Architectures
Plug-in ArchitecturesPlug-in Architectures
Plug-in Architectures
 
Bootstrapify Universal Theme
Bootstrapify Universal ThemeBootstrapify Universal Theme
Bootstrapify Universal Theme
 
Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
Drupaldelphia 2013 Presentation- Making Your Site more Friendly to Search Eng...
 
Apex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tourApex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tour
 
Automating SolidWorks with Excel
Automating SolidWorks with ExcelAutomating SolidWorks with Excel
Automating SolidWorks with Excel
 
Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
 
Customizing ERModernLook Applications
Customizing ERModernLook ApplicationsCustomizing ERModernLook Applications
Customizing ERModernLook Applications
 
Apex basics-for Beginners
Apex basics-for BeginnersApex basics-for Beginners
Apex basics-for Beginners
 
Designing well known websites with ADF Rich Faces
Designing well known websites with ADF Rich FacesDesigning well known websites with ADF Rich Faces
Designing well known websites with ADF Rich Faces
 
Unlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin ArchitectureUnlocking the power of the APEX Plugin Architecture
Unlocking the power of the APEX Plugin Architecture
 

More from Enkitec

Using Angular JS in APEX
Using Angular JS in APEXUsing Angular JS in APEX
Using Angular JS in APEXEnkitec
 
Controlling execution plans 2014
Controlling execution plans   2014Controlling execution plans   2014
Controlling execution plans 2014Enkitec
 
Engineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service DemonstrationEngineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service DemonstrationEnkitec
 
Think Exa!
Think Exa!Think Exa!
Think Exa!Enkitec
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneEnkitec
 
In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1Enkitec
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingEnkitec
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDBEnkitec
 
Oracle Performance Tools of the Trade
Oracle Performance Tools of the TradeOracle Performance Tools of the Trade
Oracle Performance Tools of the TradeEnkitec
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsEnkitec
 
SQL Tuning Tools of the Trade
SQL Tuning Tools of the TradeSQL Tuning Tools of the Trade
SQL Tuning Tools of the TradeEnkitec
 
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityUsing SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityEnkitec
 
Oracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceOracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceEnkitec
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture PerformanceEnkitec
 
APEX Security Primer
APEX Security PrimerAPEX Security Primer
APEX Security PrimerEnkitec
 
How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?Enkitec
 
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Enkitec
 
Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Enkitec
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writerEnkitec
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014Enkitec
 

More from Enkitec (20)

Using Angular JS in APEX
Using Angular JS in APEXUsing Angular JS in APEX
Using Angular JS in APEX
 
Controlling execution plans 2014
Controlling execution plans   2014Controlling execution plans   2014
Controlling execution plans 2014
 
Engineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service DemonstrationEngineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service Demonstration
 
Think Exa!
Think Exa!Think Exa!
Think Exa!
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for Profiling
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDB
 
Oracle Performance Tools of the Trade
Oracle Performance Tools of the TradeOracle Performance Tools of the Trade
Oracle Performance Tools of the Trade
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
SQL Tuning Tools of the Trade
SQL Tuning Tools of the TradeSQL Tuning Tools of the Trade
SQL Tuning Tools of the Trade
 
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityUsing SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
 
Oracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceOracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture Performance
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture Performance
 
APEX Security Primer
APEX Security PrimerAPEX Security Primer
APEX Security Primer
 
How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?
 
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
 
Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writer
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Alt tab - better apex tabs

  • 1. ALT-TAB: Better APEX Tabs Scott Spendolini Director & Co-Founder 1
  • 3. — scott.spendolini@enkitec.com — @sspendol — Ex-Oracle Employee of 10 years — Senior Product Manager for Oracle APEX from 2002 through 2005 — Founded Sumner Technologies in October 2005 — Co-Founded Sumneva in January 2010 — Joined Enkitec in June 2012 — Oracle Ace Director — Co-Author, Pro Oracle Application Express — Author, Secure APEX Development Best Practices — “Scott” on OTN Forums Scott Spendolini 3
  • 4. About Enkitec — Oracle Platinum Partner — Established in 2004 — Headquartered in Dallas, TX — Locations throughout the US & EMEA — Specialties include — Exadata Implementations — Development Services — PL/SQL / Java / APEX — DBA/Data Warehouse/RAC — Business Intelligence 4
  • 5. Agenda — Overview — Alternative Tabs — jQuery UI — CSS Dropdown Menu Framework — APEX 4.0 UI Changes — Summary 5
  • 6. APEX 4.0 UI CHANGES 6
  • 7. New APEX 4.0 Themes — Several new themes included in APEX 4.0 — Total of 20 Interchangeable Themes 7
  • 8. Themes 8 — All new themes are DIV- based — Only 5 are IE6 Compatible — Denoted by the * next to their names — Most themes have been “cleaned up” to better meet standards and/or to fix bugs
  • 9. Backward Compatibility — Five Themes still use HTML tables for their layout — Ensures compatibility with older browsers — Table-friendly themes include: — Theme 13 — Theme 15 — Theme 16 — Theme 18 — Theme 20 9
  • 10. New Features in APEX 4.0 Templates 10 — “Embedded” Regions — Can now easily have a Region within another Region — Part of the Region properties
  • 11. DIV-Based Layout — Most of the new APEX 4.0 Themes use a DIV- based layout model — What is a DIV? — A container for blocks of content — More practical than TABLEs for overall design — Can and do still use TABLEs for row/column reports — Easier to manipulate & manage with JavaScript/jQuery 11
  • 12. D E M O N S T R A T I O N DIVS 12
  • 13. — Each page is made up of several DIVs — header — tabs — topbar — messages — body — footer — Each DIV has sub-DIVs — And those DIVs may also have sub-DIVs Structure of an APEX 4.0 Template 13
  • 19. Page Header 19 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/ xhtml1/DTD/xhtml1-strict.dtd"> <html lang="&BROWSER_LANGUAGE." xmlns="http://www.w3.org/1999/xhtml" xmlns:htmldb="http://htmldb.oracle.com" xmlns:apex="http://apex.oracle.com"> <head> <title>#TITLE#</title> <link rel="icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x-icon"> <link rel="shortcut icon" href="#IMAGE_PREFIX#favicon.ico" type="image/x- icon"> #HEAD# <link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/theme_4_0.css" type="text/css" /> <!--[if IE]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/ theme_4_0_ie.css" type="text/css" /><![endif]--> <!--[if IE 6]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/ theme_4_0_ie6.css" type="text/css" /><![endif]--> <!--[if IE 7]><link rel="stylesheet" href="#IMAGE_PREFIX#themes/theme_4/css/ theme_4_0_ie7.css" type="text/css" /><![endif]--> </head> <body #ONLOAD#> <!--[if lte IE 6]><div id="outdated-browser">#OUTDATED_BROWSER#</div><![endif]-- > #FORM_OPEN#
  • 20. Page Body 20 <div id="header"> <div id="logo"><a href="#HOME_LINK#">#LOGO##REGION_POSITION_06#</a></div> #REGION_POSITION_07# <div id="navbar"> <div class="app-user">#WELCOME_USER#</div> #NAVIGATION_BAR# #REGION_POSITION_08# </div> </div> <div id="tabs"> <div class="frame"> <div class="bg"> <div class="tab-holder"> #TAB_CELLS# </div> </div> </div> </div> <div id="topbar">#REGION_POSITION_01##REGION_POSITION_04#</div> <div id="messages">#SUCCESS_MESSAGE##NOTIFICATION_MESSAGE##GLOBAL_NOTIFICATION#</div> <div id="body"> <table class="tbl-body" cellspacing="0" cellpadding="0" border="0" summary=""> <tbody> <tr> <td class="tbl-main" width="100%">#REGION_POSITION_02##BOX_BODY#</td> <td class="tbl-sidebar">#REGION_POSITION_03#</td> </tr> </tbody> </table> </div>
  • 21. Page Footer 21 <div id="footer"><div class="content"> #REGION_POSITION_05# <div id="customize">#CUSTOMIZE#</div>&nbsp; </div></div> #FORM_CLOSE# </body> </html>
  • 22. Sprite Maps 22 — Sprite Maps consolidate several smaller images into one large image — Faster to load one larger image vs. several smaller images — Only a portion of the image is displayed on the page — Controlled by CSS background-position attribute Tabs Sprite Map Image Actual Tabs
  • 23. D E M O N S T R A T I O N SPRITE MAPS 23
  • 26. History of Tabs 26 — The first tab was developed in 1962 by IBM & DARPA — Data was stored on over 2,000 punch cards — Took over 3 hours just to load — Used all 16KB of RAM — End Result: |--------| | Home |
  • 27. History of Tabs — Tabs have been a common navigational device since the early days of client-server applications — Once HTML-based applications became popular, it wasn’t long before the tab followed — Most web sites today - both large & small - make some use of tabs in one way or another — Google, Amazon, Twitter, Facebook, Yahoo, etc. 27
  • 28. Amazon.com circa 1999 28 — When Amazon.com launched in 1995, it didn’t look very good — At least not by today’s standards — It also didn’t have any tabs — As did many sites of that time period
  • 29. — However, its UI quickly evolved over the years — As the site expanded, so did the number of tabs used: Amazon.com circa 2000’s 29
  • 30. Amazon.com Today — Today, Amazon.com opts for a navigation list on the left side in lieu of tabs on its home page 30
  • 31. Amazon.com Today — Once you select a department, you will see a subtle line of sub-navigation tabs 31
  • 32. Google’s Tabs — Simplicity + Consistency > Complexity 32
  • 33. Apple’s Tabs — (Simplicity + Consistency) * Style > Complexity 33
  • 34. Microsoft’s Tabs — Simplicity + Consistency > Complexity 34
  • 35. Microsoft’s Tabs — Simplicity + Consistency > Complexity 35 + = 0
  • 36. APEX & Tabs — Almost every APEX application ever written makes use of some form of tabs — Why is this so? — Default option when creating an application — Tabs are a de-facto navigation control — “Easier” to use than other types of navigation controls — Why Not? 36
  • 37. APEX Built-in Tabs 37 — APEX’s tab mechanism has changed little over time — Almost the same in APEX 4.0 as it was in HTML DB 1.6 — APEX provides support for no, one or two levels of tabs — Overall UI used to make up tabs is in need of a refresh — APEX 4.0 helps, but the underlying infrastructure is the same
  • 38. — To say that APEX’s built-in tabs are frustrating to use would be a vast understatement... PC LOAD LETTER 38
  • 40. One Level of Tabs Two Levels of Tabs Upside Down Standard Tabs Parent Tabs Standard Tabs 40 Pseudo Parent Tab
  • 41. APEX Tab Deficiencies — Several things have to line up just right for tabs to work properly: — Correct Page Template must be selected — Tab must be current for the corresponding Page — Page must be mapped to the corresponding Standard Tab Set — Standard Tab must be mapped to the corresponding Standard Tab Set — Standard Tab must map to the corresponding Parent Tab Set or Pseudo Parent Tab Set 41
  • 42. APEX Tab Deficiencies — APEX uses a JavaScript function to submit the page when tabs are clicked —APEX 3.2: doSubmit('TabName'); —APEX 4.0: apex.submit('TabName'); — Deficient for a couple of reasons — JavaScript was required for basic navigation — Issue with some mobile devices — Google would not follow or index the tab’s links — Harder to get a site indexed 42
  • 43. D E M O N S T R A T I O N WORKING WITH APEX TABS 43 Getting Frustrated
  • 44. APEX 4.0 Tab Enhancements — Little has changed in the way tabs are implemented in APEX 4.0 — Still just as confusing — There are a couple new reports and several new regions that attempt to make tabs easier to use — Found under Shared Components > Tabs 44
  • 46. APEX 4.0 Tabs Management Page 46
  • 53. jQuery UI 53 — Provides a set of UI components that sit on top of jQuery — Tabs, Calendars, Widgets, Buttons, Effects, etc. — APEX 4.0 will have both jQuery & jQuery UI included — Can easily be installed to work with APEX 3.x as well
  • 54. jQuery UI Tabs — Robust, configurable jQuery IU component that can be styled to match almost any UI theme — Contain hooks into jQuery to capture all types of events — Support for loading content via Ajax 54
  • 55. jQuery UI Tab Drawbacks — No easy support for sub-tabs — Require jQuery & jQuery UI — Not an issue with APEX 4.0+ — Involves working knowledge of jQuery & JavaScript to implement — Must make modifications to existing templates in order to properly integrate — In APEX, jQuery UI Tabs are better suited to hide & show regions; not pages 55
  • 56. jQuery Tabs: Get ‘Em While They’re Hot — Blog entry by Dan McGhan on how to integrate jQuery UI Tabs & APEX — Concise, easy to follow steps — Takes only minutes to implement — http://www.danielmcghan.us/2009/07/jquery-tabs-get- while-they-hot.html 56
  • 57. D E M O N S T R A T I O N JQUERY UI TABS 57
  • 60. CSS Drop-down Menu Framework 60 — Free framework for CSS-based menus — Licensed under GNU GPL; donation requested — http://www.lwis.net/free-css-drop-down-menu/ — Modular Design with support for themes — Easy to Deploy & Transform — Cross-Browser — Only IE6 requires JavaScript; all modern browsers do not — Extremely Lightweight & Fast!
  • 61. Theme Support — Support for Themes — Easily modifiable via CSS — Included Themes: — General Purpose — Flickr — NVIDIA — Adobe — MTV — VIMEO 61
  • 62. D E M O N S T R A T I O N CSS DROP-DOWN MENU FRAMEWORK 62
  • 63. 63 Structure vs. Style — All structure & style are completely separated — Structure: HTML — Style: CSS — This approach has a number of benefits — Style of a site can quickly & easily be changed — Structure of a site is much simpler & easier to maintain — Site will be more Section 508 Compliant
  • 64. In general, separating the structure from the style is a good design principle that should be applied everywhere. 64
  • 66. How It Works 66 — CSS Drop Down Menus simply use an HTML list to create the structure used for the tabs — Simple & Uncluttered — Cascading Styles are then applied to the list to give them their style or user interface — Developer has complete control over the styles used — And never has to modify the corresponding HTML
  • 67. The Result — Thus, this HTML Code: — When combined with a CSS file or files... — Yields this Menu: 67
  • 68. HTML Lists — <ul> and <li> are HTML tags that make up bulleted “lists” when rendered on the page — Each will also require a closing tag after its corresponding content 68 <ul> <li>One</li> <li>Two</li> <li>Three</li> </ul> • One • Two • Three
  • 69. — By embedding additional <ul> tags, we can create a hierarchical list with any number of levels: <ul> <li>One</li> <ul> <li>Two</li> <li>Three</li> </ul> </ul> Multiple Level Hierarchies 69 • One • Two • Three
  • 70. CSS Drop Down Menu Example 70
  • 72. 72 Style — All style definitions are stored in Cascading Style Sheets or CSS files — Visual attributes of the list elements, such as: — Width — Background Color — Font & Font Size — Margins & Padding
  • 73. CSS Zen Garden — Example site which illustrates how the same HTML file can look dramatically different by only changing the contents of the CSS — Different graphic artists submitted only a CSS file & associated images and the best are on display — Dramatic illustration as to what can be achieved using only Cascading Style Sheets — View all of the designs online: — http://csszengarden.com 73
  • 76. CSS Dropdown Menus CSS — CSS Dropdown Menus requires three CSS files: — dropdown.css — Sets high level element attributes, such as <ul> & <li> — default.advanced.css — References default.css — default.css — Almost all formatting changes made here — Each of these can be modified as needed to match your graphic design specifications 76
  • 78. Integration with APEX — It’s fairly simple to integrate CSS Dropdown Menus with APEX — Done using an APEX list & custom template — List will contain the structure for the tabs — Can be as many levels deep as you like — Template will be 100% HTML and reference the corresponding CSS files, which contain the style — The List template will take care of creating the hierarchy automatically 78
  • 79. Steps to Integrate 79 1.Create a List — Add an entry to the list for each tab & sub-tab that you want to include 2.Crete a List Template — Using the CSS Dropdown Menu HTML files as a guide 3.Create a List Region on Page Zero — May want to alter the page template and use a custom region position for better alignment/control
  • 80. Lists: Best Practices — Group Pages in blocks of 100 or 1000 based on which “tab” will be current — Set the Current List Entry attributes as follows: — List Entry Current for Pages Type — Exists SQL Query — List Entry Current for Condition —SELECT 1 FROM DUAL WHERE :APP_PAGE_ID BETWEEN 600 AND 699 — Thus, any page from 600-699 will set this tab to the current tab 80
  • 81. D E M O N S T R A T I O N CREATING A LIST & LIST TEMPLATE 81
  • 82. Before List Entry — List Template Before Rows — <link href="/c/css/dropdown/ dropdown.css" rel="stylesheet" type="text/css" /> <link href="/c/css/dropdown/themes/default/ default.advanced.css" rel="stylesheet" type="text/css" /> <ul id="nav" class="dropdown dropdown- horizontal"> 82
  • 83. Template Definition — List Template Current — <li><a href="#LINK#" class="currentTab">#TEXT#</a></li> — List Template Current w/Sub Links — <li><a href="#LINK#" class="currentTab">#TEXT# &#9660;</a> 83
  • 84. Template Definition — List Template Non-Current — <li><a href="#LINK#">#TEXT#</a></li> — List Template Non-Current with Sub List Items — <li><a href="#LINK#">#TEXT# &#9660;</a> — ListSub List Template Before Rows — <ul> 84
  • 85. Sub List Entry — Sub List Template Current — <li><a href="#LINK#">#TEXT#</a></li> — Sub List Template Current w/Sub List Items — <li><a href="#LINK#">#TEXT# &#9654;</a> 85
  • 86. Sub List Entry — Sub List Template Noncurrent — <li><a href="#LINK#">#TEXT#</a></li> — Sub List Template Noncurrent w/Sub List Items — <li><a href="#LINK#">#TEXT# &#9654;</a> — Sub List Template After Rows — </ul></li> 86
  • 87. After List Entry — List Template After Rows — </li></ul> 87
  • 89. Summary 89 — APEX’s tab mechanism is dated and hard to use — Most applications do, however, use it — But it’s easy to retrofit Lists to work as tabs — Implementing new tabs gives your application a bit of sizzle that will make it stand out among other applications — While also allowing older browsers to be able to still view your site