Expert Oracle Application Express 2nd Edition Doug Gault download
Expert Oracle Application Express 2nd Edition Doug Gault download
https://ebookgate.com/product/expert-oracle-application-
express-2nd-edition-doug-gault/
https://ebookgate.com/product/beginning-oracle-application-
express-5-3rd-edition-doug-gault/
ebookgate.com
https://ebookgate.com/product/expert-oracle-application-express-1st-
edition-dietmar-aust/
ebookgate.com
https://ebookgate.com/product/expert-oracle-application-express-1st-
edition-john-edward-scott/
ebookgate.com
https://ebookgate.com/product/agile-oracle-application-express-
patrick-cimolini/
ebookgate.com
Beginning Oracle Application Express Rick Greenwald
https://ebookgate.com/product/beginning-oracle-application-express-
rick-greenwald/
ebookgate.com
https://ebookgate.com/product/expert-oracle-exadata-1st-edition-kerry-
osborne/
ebookgate.com
https://ebookgate.com/product/final-cut-express-2-editing-workshop-dv-
expert-series-2nd-edition-tom-wolsky/
ebookgate.com
https://ebookgate.com/product/oracle-application-server-portal-
handbook-1st-edition-kevin-laahs/
ebookgate.com
www.it-ebooks.info
Expert Oracle Application Express
Copyright © 2015 by John Scott, Nick Buytaert, Karen Cannell, Martin D’Souza, Doug Gault,
Dimitri Gielis, Roel Hartman, Denes Kubicek, Raj Mattamal, Dan McGhan, Francis Mignault, Tom Petrus,
Jorge Rimblas and Christoph Ruepprich
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material
is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting,
reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter
developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly
analysis or material supplied specifically for the purpose of being entered and executed on a computer system,
for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only
under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use
must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright
Clearance Center. Violations are liable to prosecution under the respective Copyright Law.
ISBN-13 (pbk): 978-1-4842-0485-6
ISBN-13 (electronic): 978-1-4842-0484-9
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every
occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion
and to the benefit of the trademark owner, with no intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are
not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to
proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication, neither
the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may
be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.
Managing Director: Welmoed Spahr
Lead Editor: Jonathan Gennick
Development Editor: Douglas Pundick
Technical Reviewers: Patrick Cimolini, Vincent Morneau, and Alex Fatkulin
Editorial Board: Steve Anglin, Louise Corrigan, Jim DeWolf, Jonathan Gennick, Robert Hutchinson,
Michelle Lowman, James Markham, Susan McDermott, Matthew Moodie, Jeffrey Pepper,
Douglas Pundick, Ben Renow-Clarke, Gwenan Spearing, Steve Weiss
Coordinating Editor: Jill Balzano
Copy Editor: Kim Wimpsett
Compositor: SPi Global
Indexer: SPi Global
Artist: SPi Global
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor,
New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit
www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science +
Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail rights@apress.com, or visit www.apress.com.
Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook
versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–
eBook Licensing web page at www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this text is available to
readers at www.apress.com/9781484204856. For detailed information about how to locate your book’s source code,
go to www.apress.com/source-code/. Readers can also access source code at SpringerLink in the Supplementary
Material section for each chapter.
www.it-ebooks.info
This book is dedicated to Carl Backstrom and Scott Spadafore.
All author royalties will be donated equally to the charity trust funds of their respective families.
www.it-ebooks.info
Contents at a Glance
Foreword����������������������������������������������������������������������������������������������������������������xix
First-Edition Foreword��������������������������������������������������������������������������������������������xxi
About the Authors��������������������������������������������������������������������������������������������������xxv
About the Technical Reviewers����������������������������������������������������������������������������xxix
■
■Chapter 1: Page Designer�������������������������������������������������������������������������������������� 1
■
■Chapter 2: Oracle REST Data Services����������������������������������������������������������������� 43
■
■Chapter 3: Oracle APEX 5.0 Charts Inside Out����������������������������������������������������� 73
■
■Chapter 4: Tabular Forms���������������������������������������������������������������������������������� 145
■
■Chapter 5: Team Development��������������������������������������������������������������������������� 215
■
■Chapter 6: Globalization������������������������������������������������������������������������������������ 249
■
■Chapter 7: Debugging���������������������������������������������������������������������������������������� 281
■
■Chapter 8: Dynamic Actions������������������������������������������������������������������������������ 319
■
■Chapter 9: Lifecycle Management��������������������������������������������������������������������� 359
■
■Chapter 10: Plugins������������������������������������������������������������������������������������������� 403
■
■Chapter 11: jQuery with APEX��������������������������������������������������������������������������� 455
■
■Chapter 12: Map Integration����������������������������������������������������������������������������� 477
■
■Chapter 13: Themes and Templates������������������������������������������������������������������ 511
■
■Chapter 14: Report Printing������������������������������������������������������������������������������ 539
■
■Chapter 15: Working with APEX Collections������������������������������������������������������ 601
Index��������������������������������������������������������������������������������������������������������������������� 621
www.it-ebooks.info
www.it-ebooks.info
Contents
Foreword����������������������������������������������������������������������������������������������������������������xix
First-Edition Foreword��������������������������������������������������������������������������������������������xxi
About the Authors��������������������������������������������������������������������������������������������������xxv
About the Technical Reviewers����������������������������������������������������������������������������xxix
■
■Chapter 1: Page Designer�������������������������������������������������������������������������������������� 1
Main Components������������������������������������������������������������������������������������������������������������ 1
Navigation������������������������������������������������������������������������������������������������������������������������ 2
Page Finder Icon������������������������������������������������������������������������������������������������������������������������������������� 2
Lock Pages and Undo and Redo Icons���������������������������������������������������������������������������������������������������� 4
Create, Utilities, and Component View Icons������������������������������������������������������������������������������������������ 4
Component View�������������������������������������������������������������������������������������������������������������� 9
Rendering����������������������������������������������������������������������������������������������������������������������������������������������� 9
Dynamic Actions����������������������������������������������������������������������������������������������������������������������������������� 10
Processing�������������������������������������������������������������������������������������������������������������������������������������������� 11
Page Shared Components�������������������������������������������������������������������������������������������������������������������� 12
Grid Layout��������������������������������������������������������������������������������������������������������������������� 14
Grid Layout������������������������������������������������������������������������������������������������������������������������������������������� 14
Messages��������������������������������������������������������������������������������������������������������������������������������������������� 16
Page Search����������������������������������������������������������������������������������������������������������������������������������������� 18
Help������������������������������������������������������������������������������������������������������������������������������������������������������ 19
Property Editor��������������������������������������������������������������������������������������������������������������� 19
Show Common������������������������������������������������������������������������������������������������������������������������������������� 21
Show All������������������������������������������������������������������������������������������������������������������������������������������������ 21
Collapse All������������������������������������������������������������������������������������������������������������������������������������������� 21
vii
www.it-ebooks.info
■ Contents
Show All������������������������������������������������������������������������������������������������������������������������������������������������ 22
Quick Pick, Go to Group, and Go to Component Icons�������������������������������������������������������������������������� 23
Code Editor��������������������������������������������������������������������������������������������������������������������� 26
Shortcuts������������������������������������������������������������������������������������������������������������������������ 28
Help Functionalities�������������������������������������������������������������������������������������������������������� 30
Link to the APEX 5.0 Documentation���������������������������������������������������������������������������������������������������� 30
Link to the APEX 5.0 Forum at OTN ������������������������������������������������������������������������������������������������������ 31
Link to the APEX Resources at OTN ����������������������������������������������������������������������������������������������������� 31
Page Designer Help: Getting Started in Page Designer ����������������������������������������������������������������������� 32
About Page Designer ��������������������������������������������������������������������������������������������������������������������������� 33
Other Options����������������������������������������������������������������������������������������������������������������� 34
Multiple Component Selection ������������������������������������������������������������������������������������������������������������� 35
Resizing Page Designer Areas�������������������������������������������������������������������������������������������������������������� 37
Page Designer Memory Function��������������������������������������������������������������������������������������������������������� 38
Page Designer Toolbar Options������������������������������������������������������������������������������������������������������������� 38
Summary������������������������������������������������������������������������������������������������������������������������ 42
■
■Chapter 2: Oracle REST Data Services����������������������������������������������������������������� 43
ORDS Defined����������������������������������������������������������������������������������������������������������������� 43
ORDS Download and Setup�������������������������������������������������������������������������������������������� 44
Running the Install�������������������������������������������������������������������������������������������������������������������������������� 45
Database Users Used by ORDS������������������������������������������������������������������������������������������������������������� 50
Configuring Multiple Databases����������������������������������������������������������������������������������������������������������� 50
Configuration Files�������������������������������������������������������������������������������������������������������������������������������� 52
www.it-ebooks.info
■ Contents
■
■Chapter 3: Oracle APEX 5.0 Charts Inside Out����������������������������������������������������� 73
HTML5 Charts����������������������������������������������������������������������������������������������������������������� 74
Background������������������������������������������������������������������������������������������������������������������������������������������ 74
Creating a Chart������������������������������������������������������������������������������������������������������������������������������������ 75
The Result��������������������������������������������������������������������������������������������������������������������������������������������� 81
Page Designer vs. Component View����������������������������������������������������������������������������������������������������� 83
Understanding the Chart Region ���������������������������������������������������������������������������������������������������������� 83
Understanding the Chart Attributes������������������������������������������������������������������������������������������������������ 83
ix
www.it-ebooks.info
■ Contents
Resources�������������������������������������������������������������������������������������������������������������������� 143
Summary���������������������������������������������������������������������������������������������������������������������� 144
■
■Chapter 4: Tabular Forms���������������������������������������������������������������������������������� 145
Changes in APEX 4.0���������������������������������������������������������������������������������������������������� 145
Changes in APEX 4.1/4.2���������������������������������������������������������������������������������������������� 146
Changes in APEX 5.0���������������������������������������������������������������������������������������������������� 146
Constraints������������������������������������������������������������������������������������������������������������������� 146
Purpose of Tabular Forms�������������������������������������������������������������������������������������������� 147
Tabular Forms Are Not Spreadsheets��������������������������������������������������������������������������� 148
Features in APEX 4������������������������������������������������������������������������������������������������������� 148
New Item Types���������������������������������������������������������������������������������������������������������������������������������� 148
Declarative Validations����������������������������������������������������������������������������������������������������������������������� 156
Other Features������������������������������������������������������������������������������������������������������������������������������������ 160
Summary���������������������������������������������������������������������������������������������������������������������� 214
■
■Chapter 5: Team Development��������������������������������������������������������������������������� 215
Milestones�������������������������������������������������������������������������������������������������������������������� 215
The Basics������������������������������������������������������������������������������������������������������������������������������������������ 216
Extending Milestone Functionality������������������������������������������������������������������������������������������������������ 218
www.it-ebooks.info
■ Contents
Features����������������������������������������������������������������������������������������������������������������������� 219
The Basics������������������������������������������������������������������������������������������������������������������������������������������ 219
Extending the Features Functionality������������������������������������������������������������������������������������������������� 222
To Do’s�������������������������������������������������������������������������������������������������������������������������� 225
The Basics������������������������������������������������������������������������������������������������������������������������������������������ 225
Extending the To-Do Functionality������������������������������������������������������������������������������������������������������ 227
Summary���������������������������������������������������������������������������������������������������������������������� 247
■
■Chapter 6: Globalization������������������������������������������������������������������������������������ 249
Using the Builder in Other Languages�������������������������������������������������������������������������� 249
Translating Applications����������������������������������������������������������������������������������������������� 252
Application Language Derived From��������������������������������������������������������������������������������������������������� 253
Mapping���������������������������������������������������������������������������������������������������������������������������������������������� 256
CSV Encoding������������������������������������������������������������������������������������������������������������������������������������� 257
Translating an Application������������������������������������������������������������������������������������������������������������������ 258
Manually Translate an Application������������������������������������������������������������������������������������������������������ 263
www.it-ebooks.info
■ Contents
Localization������������������������������������������������������������������������������������������������������������������ 271
SINCE Format Mask���������������������������������������������������������������������������������������������������������������������������� 272
Numeric Formats�������������������������������������������������������������������������������������������������������������������������������� 272
Time Zones and Territories����������������������������������������������������������������������������������������������������������������� 273
xii
www.it-ebooks.info
■ Contents
xiii
www.it-ebooks.info
■ Contents
Summary���������������������������������������������������������������������������������������������������������������������� 402
■
■Chapter 10: Plugins������������������������������������������������������������������������������������������� 403
The APEX Plugin Architecture��������������������������������������������������������������������������������������� 403
Create/Edit Page for Plugins��������������������������������������������������������������������������������������������������������������� 404
PL/SQL APIs���������������������������������������������������������������������������������������������������������������������������������������� 412
www.it-ebooks.info
■ Contents
■
■Chapter 11: jQuery with APEX��������������������������������������������������������������������������� 455
JavaScript and jQuery�������������������������������������������������������������������������������������������������� 455
Basics of jQuery����������������������������������������������������������������������������������������������������������� 456
The jQuery Object������������������������������������������������������������������������������������������������������������������������������� 456
Selecting Elements����������������������������������������������������������������������������������������������������������������������������� 456
DOM Nodes and jQuery Objects���������������������������������������������������������������������������������������������������������� 458
Determining and Testing Selectors����������������������������������������������������������������������������������������������������� 459
Basic Manipulations��������������������������������������������������������������������������������������������������������������������������� 460
Iterating Over a Selection of Elements����������������������������������������������������������������������������������������������� 463
Resources�������������������������������������������������������������������������������������������������������������������� 476
Summary���������������������������������������������������������������������������������������������������������������������� 476
■
■Chapter 12: Map Integration����������������������������������������������������������������������������� 477
Geocoding�������������������������������������������������������������������������������������������������������������������� 477
Coordinates���������������������������������������������������������������������������������������������������������������������������������������� 477
Web Services�������������������������������������������������������������������������������������������������������������������������������������� 478
What Are XML and JSON?������������������������������������������������������������������������������������������������������������������� 480
Processing XML/JSON Results����������������������������������������������������������������������������������������������������������� 481
Oracle Web Services��������������������������������������������������������������������������������������������������������������������������� 481
Choosing a Geocoding Service����������������������������������������������������������������������������������������������������������� 485
www.it-ebooks.info
■ Contents
Subregions������������������������������������������������������������������������������������������������������������������� 533
Theme Subscriptions��������������������������������������������������������������������������������������������������� 537
Summary���������������������������������������������������������������������������������������������������������������������� 538
xvi
www.it-ebooks.info
■ Contents
■
■Chapter 14: Report Printing������������������������������������������������������������������������������ 539
Introduction������������������������������������������������������������������������������������������������������������������ 539
Report Printing������������������������������������������������������������������������������������������������������������� 540
APEX Standard Report Printing������������������������������������������������������������������������������������ 540
Prerequisites���������������������������������������������������������������������������������������������������������������� 541
Standard Report Printing Configuration����������������������������������������������������������������������� 541
FOP Processor in ORDS���������������������������������������������������������������������������������������������������������������������� 542
External FOP Processor���������������������������������������������������������������������������������������������������������������������� 543
Enable Network Services������������������������������������������������������������������������������������������������������������������� 544
www.it-ebooks.info
■ Contents
■
■Chapter 15: Working with APEX Collections������������������������������������������������������ 601
When to Use APEX Collections������������������������������������������������������������������������������������� 601
Session State Management: A Quick Overview���������������������������������������������������������������������������������� 602
Session State–Managed Tables���������������������������������������������������������������������������������������������������������� 602
Logically Walking Through a Web Shopping Cart Implementation����������������������������������������������������� 602
Summary���������������������������������������������������������������������������������������������������������������������� 619
Index��������������������������������������������������������������������������������������������������������������������� 621
xviii
www.it-ebooks.info
Foreword
Over four years ago I had the idea for the first edition of this book, and the reason for the book was a deeply
personal one: the Oracle APEX development team had sadly lost two members of the team, Carl Backstrom
and Scott Spadafore. I knew both Carl and Scott and had met them a number of times at Oracle conferences
over the years and corresponded with them frequently.
I was struck that both of these individuals had helped me over the years, and I wondered what I could
do to help their families in some small way in return. I came up with the idea of writing a technical APEX
book and donating all author royalties to their respective families.
To ensure the book was published and didn’t just remain in my head as a “good idea,” I came up
with a plan. I approached a number of friends and fellow APEX experts and asked if they would consider
writing a chapter. I have to say when I explained the purpose of the book to each of them, they all jumped
at the chance.
Following the recent release of APEX 5, we once again decided it was time to update the book, again
with all author royalties going to the same good causes. Once again I’m honored to know each of the chapter
authors leapt at the opportunity. I thank each of them for agreeing to help update this book and continue
helping, in our small way, the families of two people who helped us all over the years.
APEX 5 is the biggest release in the history of APEX, and the Oracle development team has done a
tremendous job of making the APEX development environment a more productive, functional, and extensive
development platform than ever before. We hope this book helps to show you why APEX 5 is second to none
in terms of rapid web development backed by the security and functionality of the Oracle Database.
On a personal note, I would like to thank Jonathan Gennick and Jill Balzano of Apress for helping to
shepherd us through the process of making the book a reality and supporting each of us in bringing our
chapters to completion (which I can only imagine is like herding cats at times!).
xix
www.it-ebooks.info
First-Edition Foreword
When I wrote my first book, Pro Oracle Application Express, in 2008 (with Scott Spendolini contributing
a chapter on themes and templates), I found it an extremely rewarding experience. However, like a lot of
first-time authors, I found it tough to fit writing into my regular day job and other commitments. Pro Oracle
Application Express ended up taking a lot longer than originally anticipated and ran to almost twice as many
pages as originally planned, mainly because of my passion for the subject matter—I kept wanting to give
more and more information.
I was extremely happy to see that when Pro Oracle Application Express was released, it was a big
success, at times ranking in the top 1,000 of all books sold on Amazon, which is quite an achievement for a
technical book, let alone for a relatively niche area like Oracle Application Express. It was also the top-selling
book at Oracle OpenWorld that year.
So I’d done it. I’d written my first book, something I always wanted to do, and it was (by relative
standards) a great success. However, the questions soon started: “Hey, John, when are you writing another
book?” Well, my reply was, “Never again!”
Are you surprised by that answer? Well, let me qualify it. I have such respect for people like Tom Kyte
(who was kind enough to write the foreword to Pro Oracle Application Express) and my good friend, Steven
Feuerstein, who write book after book, but I simply don’t know how they manage to find the time to fit it into
their schedules. Writing one book, while extremely rewarding once it was published, was at times one of the
toughest things I’ve ever done. Sitting in front of a blank page at 4 a.m., trying to meet a publishing deadline,
does not quite fit the glamorous image I had of being an author.
However, two events changed my opinion on writing another book. Those events were the deaths of my
two good friends, Carl Backstrom and Scott Spadafore. Both Carl and Scott were longtime members of the
Oracle Application Express development team, and I have lost count of the number of times both Carl and
Scott have helped me in my time as a developer with Oracle Application Express. I also had the pleasure of
meeting Carl and Scott in person many times during the various Oracle conferences we all attended over
the years. One of my most vivid, happy memories during an Oracle conference was the day that Carl took
Dimitri Gielis and myself for a tour around San Francisco during Oracle OpenWorld. One of my other vivid
memories involves a deep discussion about the internals of APEX security with Scott Spadafore, sitting in a
bar late in the evening, before Scott then turned the conversation to telling jokes.
With the sad and very unexpected passing of both Carl and Scott, I wanted to do something to help
both families. Carl often spoke of his daughter, and I know that Scott was extremely proud of his family too.
Following the success of my previous book, I felt that the best way I could do something to help would be to
write another book where all of the author royalties were split between the charities of the two families.
Now since I already knew how much work is involved in writing a book, I came up with the idea of
asking other people if they would be interested in writing a chapter. At the ODTUG Kaleidoscope event last
year (2010), I approached my good friends, the authors whose names you see in this book, and asked each of
them if they would be interested in writing a chapter. I asked every one of these people because they all knew
Carl and Scott personally. I have the honor of saying that not one person hesitated to step up to the challenge
of donating their time, experience, and knowledge to make this book happen. For that I am deeply grateful
to all the authors (in alphabetical order): Anton, Dan, Denes, Dietmar, Dimitri, Doug, Francis, Martin, Mike,
Raj, Roel, and Sharon. There were many times when it looked like this book might never make it to print; it
was certainly a struggle to coordinate the book deadlines with the challenges of everyone’s day jobs.
xxi
www.it-ebooks.info
■ First-Edition Foreword
So, then, this book is dedicated to two people who were always so amazingly generous with their time
and help, two people who were always held in the highest regard by the Oracle APEX community, and, most
importantly, two people I had the honor calling friends.
—John Edward Scott
http://jes.blogs.shellprompt.net
www.apex-evangelists.com
I was fortunate enough to meet both Carl and Scott at the ODTUG Kaleidoscope conferences in 2008 and
2009, respectively. Carl was kind enough to spend some of his personal time answering all my questions and
going through some of his examples with me. After writing about enhancing a security feature in APEX, Scott
called me up right away to discuss it on a weekend. He was always very helpful, especially on the forums.
Both Scott and Carl were great individuals who truly loved what they did and enjoyed passing along their
wealth of knowledge to others. I’m honored to be able to contribute to this book in the same spirit that Scott
and Carl engaged themselves within the Oracle community.
—Martin Giffy D’Souza
www.talkapex.com
www.clarifit.com
I had the distinct privilege of getting to know both Scott and Carl at many of the seminars and user groups
they attended. Scott was scary smart with a dry and unforgiving sense of humor. His knowledge of the
internal workings of APEX security was unmatched, and he shared the knowledge generously both in person
and on the forums. Carl was quiet until you got to know him but a great guy and awesome JavaScript coder.
In the early days, he personally helped me solve a few problems on how to integrate JavaScript into APEX,
and his passion for APEX and JavaScript was apparent. When John Scott approached me with the idea of the
book, I didn’t hesitate and am honored to be able to be part of this tribute to two truly great men.
—Doug Gault
I first got in touch with Carl and Scott “virtually” on the Internet, through the APEX forum and the blogs.
They were both extremely helpful to me and everybody in the APEX community.
I believe it was in 2007, at Oracle OpenWorld, that I met Carl and Scott personally for the first time.
I guess my blog post (http://dgielis.blogspot.com/2007/11/oow07-day-1-sessions-apex-meetup.html)
from that time says it all: “At the APEX demo grounds I met Scott Spadafore for the first time. ‘He’s the man!’
some say, and I must confirm. Such a nice person, a great guy!”
I liked Scott very much, not only for his knowledge (especially in security) but even more for the person
he was. And then Carl…I was truly shocked when I read about his car accident. Although we met in person
only at the Oracle conferences, Carl became a real friend. I remember the many chats we had (in MSN). He
was just a message away…I called him “Mister AJAX” because he was so strong in all the fancy web stuff.
During conferences, we always met up.
When you were with Carl, there was always something happening. He had so many great stories. He
liked to go out and have fun. I will never forget one Friday in San Francisco, just after OOW: Carl spent
that day with John and me and showed us the coolest places in the city. He also took us to one of the best
Chinese places in Chinatown and told us some great stories about his life. I remember Carl as an exceptional
person—a great friend who was always willing to help others.
Scott, Carl, I feel honored to have known you both personally, and I am happy I could contribute to this
book in your honor.
—Dimitri Gielis
xxii
www.it-ebooks.info
■ First-Edition Foreword
The first time I met Carl in real life, it was during ODTUG’s Kaleidoscope in New Orleans. I got the chance to
show him a plan board with a drag-and-drop feature—all built in APEX, of course. He was truly impressed
by what I’d done, saying “Did you truly build that in APEX?” He even convinced me to show it to the other
APEX development team members.
One of the most striking things about Carl, apart from the fact he always did his utmost best to help
everybody, was his fear of presenting. Although everybody recognized Carl as the leading expert, knowing
way more than everyone else, he always was so nervous. But I guess that was one of his charms as well! I also
remember, during that same event, Carl, John, and myself sitting at the bar, drinking some whiskey. And
every glass poured contained a fly! So we talked about the never-ending fly whiskey for a long time (after a
thorough inspection, the bottle itself appeared to contain a lot of flies).
Before I met Scott for real, we had some contact on the OTN Forum. All about security, of course,
because that was Scott’s main focus—but he also knew an awful lot of all other Oracle stuff! The thing I
remember most is a night in Monterey during which the usual suspects of APEX people got together for
some food and drinks. Scott was sitting next to Raj Mattamal, who is without any doubt the fastest speaker in
the Oracle world. And with that they formed two opposites: Raj rambling on about whatever, and Scott just
sitting there, most of the time silently. But every time Scott did say something it was either incredibly funny
or so spot on, you couldn’t imagine.
We owe a lot to these two great guys. APEX wouldn’t be the great product it is today without them. They
are missed a lot.
—Roel Hartman
As this book is an APEX one and nobody can deny Scott and Carl’s unbelievable contributions to the
community, I wanted to take this dedication moment to express that these guys were first and foremost
amazing people. I had the pleasure of calling these guys my friends since the early APEX days (and before),
and it’s their unique personalities that I’ll never forget. Not a week goes by that I’m not reminded of a joke
from Scott (even the bad ones) or a story from Carl —and I’m forever grateful for that. That the community
could come together to put such a book as this together in tribute to them is surely a testament to their
impact, but it’s critically important to me that people know what great guys they were as regular people.
—Raj Mattamal
http://nianticsystems.com
Unfortunately, I never had the opportunity to meet Scott, but a quick look at the APEX forum’s “Top Users
in Forum” list speaks volumes about the kind of guy he was—and his name will deservedly remain there for
a long time to come. The number of people that Scott was able to help, myself included, is truly impressive
and inspirational.
When it came to being helpful and inspirational, Carl was very much the same kind of guy that Scott
was, and I’m very grateful to have met him. He was incredibly influential in my development career, having
helped me along while I learned the basics of client-side development. He even introduced me to jQuery!
I find it especially rewarding to have been asked to write a chapter on plug-ins in APEX—a topic that
often involves lots of JavaScript. To me it’s proof positive that people like Carl and Scott live on in those they
helped and mentored. I will always strive to have the same impact on others as they had on me.
—Dan McGhan
The first time I met Scott was at my first OpenWorld in 2007. In fact, he was the first member of the APEX
development team that I’ve had the pleasure to meet. I remember that he introduced himself and that he
recognized me from the forum. He seemed happy to see me, and I immediately felt part of the community.
During the same conference, I also had the chance to meet Carl and the rest of the team. They both were
always available to answer questions and propose solutions. They took notes of our suggestions, and the
next thing we knew they were included in the next APEX release. I have been using Oracle products for more
xxiii
www.it-ebooks.info
■ First-Edition Foreword
than 20 years, and have never seen a product team as close to their users. And that is in large part because of
Scott and Carl. I am honored to contribute to this project in memory of two great colleagues and friends, and
I would like to thank John for giving me the opportunity to pay tribute to them.
—Francis Mignault
http://insum-apex.blogspot.com
www.insum.ca
Pictured left-to-right: John Scott, Carl Backstrom, and Dimitri Gielis at IOUG Collaborate event 2007
xxiv
www.it-ebooks.info
About the Authors
John Scott has been using Oracle since version 7 (around 1993) and has used pretty much every release
since then. He has had the good fortune to work on a wide range of projects for a varied group of clients.
He was lucky enough to start working with Oracle Application Express when it was first publicly released
and has worked with it nearly every day since (and loves it). John is an Oracle ACE Director and was
named Application Express Developer of the Year in 2006 by Oracle Magazine. He is also the cofounder of
ApexEvangelists (Apex-Evangelists.com), a company that specializes in providing training, development,
and consulting specifically for the Oracle Application Express product. You can contact John at
john.scott@apex-evangelists.com.
Nick Buytaert is an Oracle Certified Professional (OCP) with a bachelor’s degree in applied computer
science (2011). He works for a Belgian consulting firm called Contribute, which assists a wide variety of
organizations in making the most of their Oracle technology stacks. Nick started his career working as an
E-Business Suite consultant and then went on to specialize in APEX development. In April 2013, he became
an Oracle Application Express Developer Certified Expert.
Nick furthermore participates actively in the APEX community by publishing technical articles on his
blog APEXPLAINED (http://apexplained.wordpress.com). He also initiated and maintains several open
source projects, such as the Oracle APEX Maven plugin and a series of APEX plugins. Nick occasionally
engages in public speaking activities to share his ideas and experiences with the outside world. You can
follow Nick on Twitter @nbuytaert1 to find out more about him.
Karen Cannell is president of TH Technology, a small consulting firm providing Oracle technology services,
focusing on Application Express. A mechanical engineer by degree (one of them), she has analyzed,
designed, developed, converted, upgraded, enhanced, and otherwise worked on legacy and commercial
database applications for more than 25 years, concentrating on Oracle technologies since 1994. She has
worked with Application Express since its Web DB and HTML DB beginnings and continues to leverage the
Oracle suite of tools to build quality web applications for clients in government, medical, and engineering
industries. Karen can be contacted at kcannell@thtechnology.com.
Martin D’Souza is cofounder and CTO at ClariFit, a consulting firm and custom solutions provider
specializing in APEX and PL/SQL development. His experience in the technology industry has been focused
on developing database-centric web applications using the Oracle APEX technology stack.
In addition to his day job, Martin is the author of the popular blog www.TalkApex.com. He is also a
designated Oracle ACE Director and has coauthored and authored various APEX books. He has presented at
numerous international conferences such as APEXposed, COUG, and ODTUG Kscope, for which he won the
Presenter of the Year award in 2011.
Martin has a computer engineering degree from Queen’s University in Kingston, Ontario, Canada. You
can contact Martin at martin@clarifit.com.
Doug Gault is the APEX practice director at Enkitec, an Oracle Platinum partner founded in 2004, which
provides consulting, education, and products based around Oracle technology. He has been working with
Oracle since 1988, starting with version 5.1B, SQL*Forms 2.0, and RPT/RPF. He has focused his career on
Oracle’s development technologies, spending the majority of that time dedicated to web-based technologies
including the OWA Web Toolkit, PL/SQL Server Pages, WebDB, Oracle Portal, and more recently HTML-DB
xxv
www.it-ebooks.info
■ About the Authors
and APEX. Doug’s many years of Oracle experience have taken him all over the world to participate in
some truly groundbreaking projects. Doug has presented at and participated in roundtable discussions at a
number of conferences including Oracle OpenWorld, UKOUG, and ODTUG’s APEXposed and Kaleidoscope
conferences. He has an associate’s degree in computer science and an honorary master’s degree from The
School of Hard Knocks, believing there is no replacement for hard-earned experience. Doug is an Oracle Ace
and can be found on Twitter as @dgault_apex and on his blog at http://douggault.blogspot.com. You can
contact Doug at doug.gault@enkitec.com.
Dimitri Gielis has been working with Oracle Database since he began his career in 2000 with Oracle in
Belgium. Dimitri was an early adopter and supporter of HTML DB and later of Application Express. After
many years of honing his expertise with Oracle Database and Application Express, Dimitri cofounded APEX
Evangelists in 2007. In 2014 Dimitri set up APEX R&D (https://www.apexrnd.be), a company that focuses
on web application development and creating innovative solutions with Oracle Application Express.
The company also provides on-demand coaching and training in APEX. Dimitri is an active member of
the Application Express community. He routinely posts insights into Application Express on his blog at
http://dgielis.blogspot.com. He is a frequent presenter at the Oracle Benelux User Group (OBUG), IOUG
collaborate, ODTUG Kaleidoscope, the UKOUG conference, and Oracle OpenWorld. Dimitri has been an
Oracle ACE Director since 2008. He received the APEX Developer of the Year award from Oracle Magazine
in 2009.
Roel Hartman has been using Oracle Database since version 5. At that time, he used Oracle Case*Designer,
Oracle Forms 2.3, and other tools of the day. He has used all versions of those tools as they have evolved
during the years since, giving him great depth of experience as an Oracle Database developer. Today he is a
fierce advocate and user of Oracle Application Express. Roel has a master’s degree in business informatics
from the University of Twente in the Netherlands. He is an Oracle ACE Director. He works for Logica in
the Netherlands as a lead technical architect. Roel has presented at all major Oracle conferences, such as
ODTUG, Oracle OpenWorld, and UKOUG. He is a regular contributor to the OakTable Network APEX Forum.
Denes Kubicek is the chief executive officer and founder of bi-Cubes. He has been working with Oracle for
more than 12 years. Denes is an Oracle ACE Director and was APEX Developer of the Year in 2008. Denes is
also a coauthor of the first APEX book in German, Oracle APEX und Oracle XE in der Praxis. You can reach
him at bi-Cubes.com.
Raj Mattamal is copresident of Niantic Systems, LLC (NianticSystems.com). He started developing web
applications at Oracle in 1995 with the same people who came to create Oracle Application Express. In
his more than ten years with the company, he helped customers in a wide range of industries to deliver
web-based solutions on the Oracle Database. In addition to helping customers with their applications,
Raj developed numerous web applications for use internally at Oracle. Outside of database application
development, Raj spent much remaining time with Oracle evangelizing Oracle Application Express. This
entailed teaching Oracle software development and APEX classes globally, writing articles for Oracle
Magazine, writing Technotes for the Oracle Technology Network, and assisting with the development of
training material and workshops.
Having earned a bachelor’s degree in decision and information studies and another in marketing
from the University of Maryland, Raj continues to apply his knowledge of and passion for technology and
business to real-world issues. Since leaving Oracle in 2006, Raj offers his services and training to customers
in a wide range of business lines to help them get the most out of their Oracle environments. In recent years,
Raj has been recognized by his Oracle professional colleagues as an Oracle ACE Director, an honor, indeed,
to be earned among so many knowledgeable colleagues.
Dan McGhan is a senior technical consultant with the Accenture Enkitec Group. He suffers from compulsive
programing disorder, which is believed to be linked to his balding. Having started his development career in
the land of MySQL and PHP, he was only too happy to have stumbled upon APEX. Since then he’s dedicated
his programming efforts to learning more about Oracle and web-based technologies in general. Dan is an
Oracle Application Express Certified Expert, an Oracle PL/SQL Developer Certified Associate, and an Oracle
xxvi
www.it-ebooks.info
■ About the Authors
ACE. In addition to his “day job,” he is one of the top contributors to the APEX forum, maintains his own
Oracle and APEX blog (www.danielmcghan.us), and is a regular presenter at various events and user group
meetings.
Francis Mignault is chief technology officer and cofounder of Insum Solutions. He has been working with
Oracle Database for more than 23 years and is a certified Oracle database administrator. Francis began his
work with APEX in 2004, when it was called HTML DB. He and his team have developed bilingual software
as a service application that is now used by more than 60,000 active users. Francis is deeply involved in
the APEX community. His first-rate PL/SQL and APEX expertise led to becoming the first APEX instructor
in Quebec. He has presented at several APEX seminars and conferences in the United States and Canada,
including Oracle OpenWorld, IOUG Collaborate, ODTUG Apexposed, ODTUG Kaleidoscope, and Ora*GEC.
Tom Petrus started out as an in-house Oracle Forms developer in 2007 and made the switch to Oracle
Application Express in 2011 as a consultant. Since then he has had a wide range of projects and clients by
which he has honed his knowledge on Apex. He has a preference for everything JavaScript related and is
active on both StackOverflow and the OTN Apex forum, helping others solve problems and picking up new
nuggets of knowledge in the process. He currently works as a consultant for iAdvise Belgium.
Jorge Rimblas is a senior technical consultant with the Accenture Enkitec Group and has been an Oracle
Database professional since 1995. He started using APEX when it was known as HTML DB, starting with
version 1.6. Since 2008, APEX is all he does. His areas of expertise include Oracle Application Express,
Oracle e-Business Suite, Oracle Database, and related products. Jorge has helped several companies, in
diverse industries, implement custom themes for their applications. His knowledge and experience with UI
design, web technologies, and Adobe Photoshop uniquely position him to excel at this kind of work. He has
taught APEX to dozens of people and has been a speaker at the RMOUG Training Days and ODTUG KScope
conferences. Jorge is an Oracle ACE and can be found on Twitter as @rimblas and on his blog at
http://rimblas.com/blog.
Christoph Ruepprich has worked as an Oracle DBA and developer since 1999. As a developer, he has
worked with Oracle Forms and Reports and has extensive experience with Oracle Application Express.
In his current role as senior technical consultant at Accenture Enkitec Group, he works on various APEX
projects. He is also an active presenter on APEX topics at conferences and maintains an Oracle-related blog
at http://ruepprich.wordpress.com.
xxvii
www.it-ebooks.info
About the Technical Reviewers
Patrick Cimolini specializes in project management, development, and training services for Oracle
Application Express projects. Formal training in engineering, business administration, and project
management is complemented by more than 30 years of experience that has evolved through mainframe,
client-server, and web platforms. Patrick enjoys attending and presenting at Oracle-centric conferences such
as Kscope, Collaborate, APEXposed, and Oracle OpenWorld, all of which have contributed significantly to
his professional and personal growth. Patrick is currently working at Insum Solutions in Montréal, Québec.
Alex Fatkulin is a master of the full range of Oracle technologies. This mastery has been essential in
addressing some of the greatest challenges his customers have met.
Alex draws on years of experience working with some of the world’s largest companies, where he was
involved with almost everything related to Oracle databases, from data modeling to architecting high-
availability solutions to resolving performance issues of extremely large production sites.
Alex has a bachelor’s of computer science degree from Far Eastern National University in Vladivostok,
Russia. He is also an Oracle ACE and a proud OakTable member.
Vincent Morneau is a developer, blogger, and speaker. He has been working with APEX for more than five
years in the world’s largest APEX development team at Insum Solutions. His focus has recently shifted to the
front-end aspect of development, where he shares his vision throughout Twitter at @vincentmorneau and his
blog at http://vmorneau.me.
Vincent is also a big fan of open source coding, and he systematically shares any piece of code that he
finds valuable on his GitHub account at https://github.com/vincentmorneau.
He is on his way to earning a bachelor’s degree in software engineering by the end of 2015 and will
finally be able to dedicate more time to the APEX community.
xxix
www.it-ebooks.info
Chapter 1
Page Designer
by Denes Kubicek
The Page Designer in APEX 5.0 is one of the main new features and a major improvement for APEX
developers. It changes the way you build your application pages and also the way you think about
application development. It is also close to what you probably know from Oracle Forms. The Page Designer
provides these new features:
• Drag-and-drop functionality
• Tree view and context menus
• Seamless adjustment of the Component View and Property Editor panels
Main Components
The Page Designer has four main components (Figure 1-1).
• Navigation toolbar
• Component View on the left side of the screen
• Grid Layout for drag-and-drop functionality in the middle
• Property Editor on the right side of the screen
www.it-ebooks.info
Chapter 1 ■ Page Designer
Navigation
The navigation toolbar has lots of new options compared to previous versions of APEX. Some of them
have been reworked, and their functionality is now different. Also, there are some new options that I will
describe in detail.
www.it-ebooks.info
Chapter 1 ■ Page Designer
The Page Finder will also show a warning via a pop-up if you are leaving a page with unsaved changes
(Figure 1-4).
www.it-ebooks.info
Chapter 1 ■ Page Designer
One of the things missing in the navigation within the Page Finder is the old feature to go to the previous
or next page. Even if you want to go to the previous or next page, you will be forced to do a couple of clicks to
open the modal window and then search for the page number in the list.
Figure 1-5. Icon for locking pages and the Undo and Redo icons
www.it-ebooks.info
Chapter 1 ■ Page Designer
Create Icon
The icon for Create (Figure 1-6 and 1-7) offers a couple of options.
• Create a page
• Create a page as a copy of an existing page
• Wizards to create different complex page components such as forms and reports
• Access to the shared components
• Access to the page group
• Access to the Team Development features
• Add comments to the application
www.it-ebooks.info
Chapter 1 ■ Page Designer
When you click to create a Form or Report region, you will see the corresponding wizard as a modal
dialog (Figure 1-8).
Utilities Icon
The icon for Utilities (Figure 1-6 and 1-9) offers lots of options.
• Delete a page
• Create a page as a copy of an existing page
• Access the Caching, Attribute Dictionary, History, and Export options
• Access the Cross Page Utilities, Application Utilities, and Page Groups options
• Access the Upgrade Application option
www.it-ebooks.info
Chapter 1 ■ Page Designer
www.it-ebooks.info
Chapter 1 ■ Page Designer
The reason is for the old view’s sefuleness is simple. If you use the new Page Designer interface for
the purposes just listed, you will have to do lots of clicks and mouse moves to first click the corresponding
column on the left side tree menu and then move the cursor to the label attribute to change it. Using the old
view, it is possible to move faster from column to column using the Tab key.
You can always switch back to the new interface using the icon shown in Figure 1-10.
www.it-ebooks.info
Chapter 1 ■ Page Designer
Save Icon
The Save icon will save the outstanding changes for the corresponding page.
www.deneskubicek.blogspot.de/2015/06/apex-50-run-applications-in-new-tabs.html
Component View
The Component View has four tabs.
• Rendering
• Dynamic Actions
• Processing
• Page Shared Components
Rendering
The Rendering tab (Figure 1-12) lists all the components of the page grouped by either component type
or processing order. Here, you can access all page regions, items, buttons, and processes (computations,
processes, and branches) executed during page rendering. Also, the tree view will show all the dynamic
actions or computations attached to one of the page components.
www.it-ebooks.info
Chapter 1 ■ Page Designer
Dynamic Actions
On the Dynamic Actions tab (Figure 1-13), you will find a list of all the dynamic actions used on that page.
This is a useful new feature because of the growing number of dynamic actions. Now these components are
shown and accessed separately, and this helps you keep an overview of it all.
10
www.it-ebooks.info
Chapter 1 ■ Page Designer
Processing
The Processing tab (Figure 1-14) shows a list of the processes run on page submit. This includes the following:
• Validations
• Computations
• Page processes
• Branches
11
www.it-ebooks.info
Chapter 1 ■ Page Designer
12
www.it-ebooks.info
Chapter 1 ■ Page Designer
13
www.it-ebooks.info
Chapter 1 ■ Page Designer
Grid Layout
The Grid Layout also has different tabs.
• Grid Layout
• Messages
• Page Search
• Help
Grid Layout
Grid Layout (Figure 1-17) provides drag-and-drop functionality of components that can be selected from the
Gallery menu and also allows you to reorder those components.
14
www.it-ebooks.info
Chapter 1 ■ Page Designer
Using the Grid Layout tab, you can reorder all page elements in order to get a desired layout of the page.
You can reorder the following elements:
• Items
• Regions
• Buttons
Using Grid Layout, you can also copy and move the copied elements. This can be achieved by selecting
an element and pressing Ctrl on the keyboard (Figure 1-18). Once you get to the position where the copied
element needs to be placed, you just release the Ctrl key and the mouse button. The element will be copied
under a new name.
15
www.it-ebooks.info
Chapter 1 ■ Page Designer
Messages
Messages (Figure 1-19) are a useful feature. In APEX 5.0 you do not need to wait for the save process to be
executed to see whether there are any errors. APEX 5.0 will evaluate your code and, in general, your input as
soon as you lose the focus of the element where you enter it. If there are any validation messages and errors,
they will show up on the Messages tab (Figure 1-20) saying what the problem is. The messages are generated
using AJAX, and they provide links that you can use to access the corresponding component.
16
www.it-ebooks.info
Chapter 1 ■ Page Designer
If there are errors in your code or input, not only will the message show up, but all relevant parts of the
page structure will be highlighted.
• Component View
• Grid Layout
• Element Properties
Clicking the message text will take you to the affected element property on the right side of the screen
showing again the error in a separate widget (Figure 1-21).
17
www.it-ebooks.info
Chapter 1 ■ Page Designer
Page Search
The Page Search tab (Figure 1-22) works based on AJAX as well. You have two options and can search based
on one of the following:
• Match case
• Regular expression
Clicking the search result will take you to the affected element property on the right side of the screen,
and it will highlight the Component View node.
18
www.it-ebooks.info
Another Random Document on
Scribd Without Any Related Topics
here, that a more gross and unprincipled misrepresentation and
perversion of the testimony of the Ancients was never published.
See Pope’s Roman Misquotation. London. Holdsworth. 1840.
Mr. Faber in his last edition of “the Difficulties of Romanism” has left
little for any one else to say in proof that the Fathers are opposed to
the peculiarities of the Latin Church. ’Tis true that Mr. Husenbeth
has published a ponderous reply—approaching to a thousand
pages. Mr. Faber’s little pamphlet demolishes the huge affair. Its
title is: as well as I remember—“An Account of Mr. Husenbeth’s
refutation of the argument of the Difficulties of Romanism, upon the
entirely new principle of a refusal to meet it.”
The testimony of the Syrian Fathers alleged by Dr. Wiseman in favor
of the doctrine of transubstantiation in particular, is shown to be
thoroughly adverse to it by the great and good Doctor Lee. See his
Visitation Sermon. I am really surprised that Dr. Wiseman could ever
have appeared in public after the publication of Dr. Lee’s Sermon:
yet, perhaps, one might have been prepared for such want of
common propriety, by his previous conduct, after Dr. Turton’s
triumphant exposure of him and of his arguments.
[13a] Your French Testament of Bourdeaux, 1686—most
disgracefully has here—“he shall be saved, yet so as by the fire of
Purgatory”—ainsi toutefois comme par le feu du Purgatoire.
[13b] Discussion with Mr. Pope. Report, p. 150. Comp. p. 158.
[14] The Canons of your Council of Trent on these are as follow—
“If any one shall say that Confirmation is not a true and proper
Sacrament—let him be damned.” Can. 1. De Confirm.
“If any one shall say that Penance is not truly and properly a
Sacrament—let him be damned.” Can. 1. De pæn. Sac.
“If any one shall say that Extreme Unction is not truly and properly a
Sacrament—let him be damned.” Can. 1. De Sac. Ex. Unc.
And so of the others. I will here just say that this Canon adds
“instituted by Christ”—institutum.—We shall presently see that this is
an advance from the “insinuatum” of the Council.
[15a] Where did your Testament get “ease him?”
[15b] You are aware, perhaps, of the gross mistranslation of your
Testament, in Eph. v. 32. to support this notion.—μυστηριον is
mystery, not sacrament. But your French new Testament is bolder
still, and actually foists in the words—le Sacrement de Mariage in 1
Cor. vii. 10.—and again in 2 Cor. vi. 14. and in 1 Tim. iv. 3. This is a
very rare book,—a small thick octavo of 774 p. p.: I have examined
it, but believe that there are now very few copies to be found. I saw
one purchased by the present Lord Bishop of Cashel, at a public
auction, for the enormous sum—if my memory does not fail me—of
£40. Bishop Kidder, I think first called public attention to it—next Mr.
Grier—and Archdeacon Cotton, in 1827, republished Bishop Kidder’s
tract, with notes. I add here, that the book was published—“avec
approbation et permission,” abundantly.
[16] I need scarcely say, however, to any one but moderately
acquainted with the controversy, that the mere titles of the points of
difference would occupy ten times the space of Bishop Doyle’s whole
letter to Mr. Robertson. Willett’s Synopsis Papismi will afford a fair
specimen to those desirous of one.
*** END OF THE PROJECT GUTENBERG EBOOK A LETTER TO LORD
FIELDING. SUGGESTED BY THE LATE PROCEEDINGS AT THE NEW
CHURCH AT PANTASA ***
Updated editions will replace the previous one—the old editions will
be renamed.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
ebookgate.com