Expert Oracle Application Express Plug-Ins: Building Reusable Components
Copyright 2011 by Martin Giffy D'Souza
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.
ISBN-13 (pbk): 978-1-4302-3503-3
ISBN-13 (electronic): 978-1-4302-3504-0
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.
President and Publisher: Paul Manning
Lead Editor: Jonathan Gennick
Technical Reviewer: Edmund Zehoo
Editorial Board: Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Morgan Ertel, Jonathan Gennick, Jonathan Hassell, Robert Hutchinson, Michelle Lowman, James Markham, Matthew Moodie, Jeff Olson, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Gwenan Spearing, Matt Wade, Tom Welsh
Coordinating Editor: Adam Heath
Copy Editor: Mary Ann Fugate
Compositor: Apress Production (Christine Ricketts)
Indexer: SPI Global
Artist: SPI Global
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Science+Business Media, NY., 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.
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 SaleseBook Licensing web page at www.apress.com/bulk-sales.
The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.
Any source code or other supplementary materials referenced by the author in this text is available to readers at www.apress.com.
For detailed information about how to locate your book's source code, go to http://www.apress.com/source-code/.
Contents at a Glance
Contents
About the Author
Martin Giffy D'Souza is a co-founder and CTO at ClariFit Inc. (www.clarifit.com
), a consulting firm and custom solutions provider that specializes in APEX and PL/SQL development. Martin's experience in the technology industry has been focused on developing database-centric web applications using the Oracle APEX technology stack.
Prior to co-founding ClariFit Inc., Martin's career has seen him hold a range of positions within award-winning companies. Martin is also the author of the highly recognized blog, www.TalkApex.com
, which boasts a multitude of posts on a wide array of APEX-focused topics. He has also presented at numerous international conferences such as APEXposed, COUG, and ODTUG, for which he won the Presenter of the Year award in 2011.
Martin is an Oracle ACE and holds a computer engineering degree from Queen's University in Kingston, Ontario, Canada.
About the Technical Reviewer
Edmund T. Zehoo is the chief technology officer and co-founder of Arigoo Pte Ltd., an e-forms and workflows solution vendor based in Singapore. He was the lead architect in the four-year design of Arigoo's flagship product from scratch, which is now a mature product in Singapore with a list of multinational corporate customers to its name. He also holds more than eight years of experience in building performance-critical .NET e-forms and workflows solutions hosted on top of Oracle databases for large companies and governmental institutions located in Singapore
Acknowledgments
This book wouldn't have been possible if it weren't for several individuals who have helped out behind the scenes, providing support through answering questions and giving me some ideas and feedback. More specifically, thanks to Patrick Wolf and Daniel McGhan for their input and excellent recommendations. As well thanks to my business partners, Cameron Mahbubian and Chris Hritzuk, for working extra hard on the business to allow me to focus on this book.
Of course, it goes without saying that I'd like to thank my family. Despite the fact that they have no idea what a database is (in spite of my many attempts to try to explain it to them), they've always been very supportive of everything I do and this book was no different. Thanks to my parents, Norbert and Susanne, for all their support and guidance.
There's a saying that goes, Behind every great man, there's an even greater woman. Special thanks to my partner, Stephanie Schubert, for being understanding and supportive over some very late nights as I wrote this book. Without her support, this book wouldn't have happened.
Martin Giffy D'Souza
Introduction
When APEX 4.0 was first released, I was very excited about all of the new features and fixes. The two new features that interested me the most were dynamic actions and plug-ins. I was fortunate to be able to write about dynamic actions in the Expert Oracle Application Express book earlier this year. When the opportunity presented itself to write a book entirely dedicated to plug-ins, I couldn't resist.
After writing countless examples on how to modify APEX on my blog, www.talkapex.com
, I was ecstatic when plug-ins were introduced to APEX. They offer developers a standardized, declarative way to write customized objects in APEX and easily reuse them within an application. Of course, you can share plug-ins with your organization or even with the entire APEX community. I've written many free plug-ins, which can be found at plugins.clarifit.com
and are available for download at www.apex-plugin.com.
Halfway through writing this book, APEX 4.1 was released. APEX 4.1 introduced some new features and enhancements to the plug-in framework, and I decided to go back and re-write several sections in this book to reflect the changes between versions. The only thing from the new plug-in features introduced in APEX 4.1 that is not covered in this book is the two new types of plug-ins: authorization and authentication. The four other types of plug-ins are covered in detail in this book, and you should be able to leverage the knowledge obtained from them to help yourself write authorization and authentication plug-ins.
This book provides you with all the necessary information to get a solid foundation of how to build an APEX plug-in. It also includes information on some tools that will be helpful to you when developing plug-ins. You may find it helpful to flip back and forth between your current page and Chapters 7 and 8, which focus on best practices, debugging, and tools.