Javascript Search Framework V0.9 (Legacy) Javascript Search Framework V0.9 (Legacy)

Total Page:16

File Type:pdf, Size:1020Kb

Javascript Search Framework V0.9 (Legacy) Javascript Search Framework V0.9 (Legacy) JavaScript Search Framework V0.9 (Legacy) JavaScript Search Framework V0.9 (Legacy) JavaScript Search Framework V0.9 (Legacy) Home The Coveo JavaScript Search Framework allows developers to easily deploy and customize a feature-rich client-side search interface in any web page, application, or standalone site to present results from a Coveo Cloud or on-premises index. The Coveo JavaScript Search Framework is also bundled with other Coveo products such as Coveo for Salesforce and Coveo for Sitecore. The Coveo JavaScript Framework is essentially a block of HTML and CSS defining a layout to organize a set of components. Components such as a search box, facets, tabs, or result sort options are used as building blocks to define your search interface (see Components). You can add, remove, move, and customize components within the page. The components are defined in HTML using a special syntax allowing you to modify a set of options. Components also expose JavaScript APIs allowing you to perform more advanced customization. The JavaScript Search Framework space contains working examples and detailed reference documentation for basic and advanced functionality. To get up and running with this framework start with Getting Started with the JavaScript Search Framework V0.9! If you have questions, you can use our public Q&A site available at answers.coveo.com. Example: The following screen capture shows an All.html out-of-the-box search page that comes connected to a demo index. Getting Started with the JavaScript Search Framework V0.9 The Coveo JavaScript Search Framework is a library written in pure JavaScript that allows building visually rich, full-featured search interfaces. These interfaces can work either in standalone or be integrated seamlessly to any website. To set up a search interface 1. Download the Coveo JavaScript Search Framework package (see Downloading). 2. Extract its contents to an arbitrary folder. 3. Among the extracted files, load All.html in your favorite web browser. 4. Validate that a fully working search interface is displayed in the browser's window. 2 JavaScript Search Framework V0.9 (Legacy) The contents of the package The Coveo JavaScript Search Framework package is composed of the following files: /css /fonts /image /js /lib /templates All.html MobileAll.html Email.html MobileEmail.html ... Most of the above subfolders contain resources used by the Search Framework, such as the css and js folders. The HTML files at the root of the package demonstrate samples of full-features search pages for various types of repositories (Email, SharePoint, Lithium, etc.). When creating custom search pages, it is possible to combine elements from multiple repositories into a single search page. In previous versions, the package contained a Search.html file with support for a few different repositories, each in a separated Tab. This has now changed so that each supported repository is now in a separate file. Behind the scenes: how it works While viewing the source of a sample search page (like All.html), you might realize that it's composed of all the HTML tags and syntax that you're already familiar with. Actually, a search interface is composed of nothing more than standard HTML tags decorated with special id and cl ass attributes. Those attributes tell the Search Framework library which components to instantiate, which features they support and how to render them in the page. Let's look at the head section of All.html: the two meta elements tell the browser to render the page using the UTF-8 charset as well as the latest version of the IE engine (assuming that IE is used). the first 3 script elements are used to include: the Search Framework's dependencies (see Dependencies). the Search Framework's main library (CoveoJsSearch.js). the generated search result templates (see Result Templates). the link element is used to include the stylesheet of a full-featured search interface. Indeed, you can write your own stylesheets to customize the appearance of a search interface. the last script element is used to: set up a REST API endpoint, which points to a sample Coveo index (see Endpoints). initialize a search interface by creating all the required components described under the element with the id equal to search (i. 3 JavaScript Search Framework V0.9 (Legacy) e. the body element). The head section of All.html <head> <title>Coveo Search</title> <!-- Render this document using the UTF-8 charset as well as the latest version of the IE engine --> <meta charset='utf-8'> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <!-- Include: -the Search Framework's dependencies -the Search Framework's main library -the generated search result templates -the stylesheet for a full-featured search interface --> <script src="js/CoveoJsSearch.Dependencies.js"></script> <script src="js/CoveoJsSearch.js"></script> <script src='templates/generated.js'></script> <link rel="stylesheet" href="css/CoveoFullSearch.css" /> <script type="text/javascript"> $(function () { /* Set up a REST API endpoint, which points to a sample Coveo index */ Coveo.Rest.SearchEndpoint.configureSampleEndpoint(); /* Initialize a search interface component, as well as all its child components */ $('#search').coveo('init'); }); </script> </head> Now, let's look at the body section of All.html: the body element has a class attribute equal to CoveoSearchInterface, which means that it instantiates a SearchInterface Component. the hyperlink elements with a class attribute equal to CoveoTab instantiates a Tab Component. the div elements instantiate the various components that are part of a search interface, depending on their class attribute: CoveoSettings: a button to customize the search interface settings. CoveoSearchBox: a SearchBox Component used to enter search keywords and perform a query. CoveoFacet: a Facet Component for filtering search results by a specific field. CoveoShareQuery: a ShareQuery component for sharing a link to a specific query. CoveoQuerySummary: a QuerySummary Component to provide the number of results for a query. CoveoQueryDuration: a QueryDuration Component to provide the execution time of a query. CoveoSort: a Sort component to allow sorting search results by a specific order (Date, Relevance). CoveoHiddenQuery: a HiddenQuery component to display the hidden part of a query. CoveoDidYouMean: a DidYouMean Component to display query suggestions. CoveoErrorReport: an ErrorReport component that displays any error that occurred while executing a query. CoveoResultList: a ResultList Component that displays the actual search results. CoveoPager: a Pager Component used to browse through search result pages. 4 JavaScript Search Framework V0.9 (Legacy) The body section of All.html (stripped-out version) <!-- Instantiate a SearchInterface component --> <body id="search" class="CoveoSearchInterface" data-enable-history="true" data-hide-until-first-query="true"> ... <!-- Display a Tab component for each content section (All, Files, Board, Message, Topic) --> <a class="CoveoTab" data-id="All" data-caption="All" data-icon="coveo-sprites-documentType-unknown_x16" /> ... <!-- Display a Settings component for customizing search interface settings --> <div class="CoveoSettings" data-include-in-menu=".CoveoShareQuery"></div> ... <!-- Display a SearchBox component for entering the search keywords. This also automatically displays a SearchButton component. --> <div class="CoveoSearchBox" data-activate-omnibox="true"></div> ... <!-- Display a Facet component for each field that we want to filter results with --> <div class="CoveoFacet" data-title="Type" data-field="@objecttype" data-allow-toggling-operator="true" data-show-icon="true" data-tab="All,Dev"></div> ... <!-- Display a SearchQuery component to provide a link necessary to share a specific query --> <div class="CoveoShareQuery"></div> <!-- Display a Breadcrumb component --> <div class="CoveoBreadcrumb"></div> ... <!-- Display the number of results --> <span class="CoveoQuerySummary"></span> <!-- Display the duration of the query --> <span class="CoveoQueryDuration"></span> <!-- Section where sorting options are displayed --> <span class="coveo-sort-section"> ... <!-- Display a HiddenQuery component to show the hidden part of the query --> <div class="CoveoHiddenQuery"></div> <!-- Display a DidYouMean component to provide query correction suggestions --> <div class="CoveoDidYouMean"></div> <!-- Display an ErrorReport component to log any error that occurs --> <div class="CoveoErrorReport" data-pop-up='true'></div> <!-- Display a ResultList component to show the actual search results --> <div class="CoveoResultList" data-wait-animation="fade"> <!-- Display search results using the ForumMessage custom template --> <script class="result-template" type="text/x-underscore-template"> <%= loadTemplate('ForumMessage', raw.sourcetype == "Lithium") %> </script> </div> <!-- Display a Pager component to browse through search result pages --> <div class="CoveoPager"></div> ... </body> 5 JavaScript Search Framework V0.9 (Legacy) To get a fully working search interface, you don't have anything more to do. Just add the components that you need to a standard HTML page and the Coveo JavaScript Search Framework will take care of binding everything to the search interface. It's as easy as that! What's next Learn more about the advanced customizations and possibilities offered by the Coveo JavaScript Search Framework by reading the Core Concepts page. Downloading Official Builds You can download the latest official version
Recommended publications
  • Vbscript Programmer's Reference
    Table of Contents VBScript Programmer's Reference...................................................................................................................1 Introduction.........................................................................................................................................................6 Who is this Book For?............................................................................................................................6 How to Use this Book.............................................................................................................................6 What is VBScript?..................................................................................................................................7 What Can You Do With VBScript?......................................................................................................11 What Tools Do You Need to Use VBScript?.......................................................................................14 What's New in VBScript 5?..................................................................................................................15 Code Conventions.................................................................................................................................17 Tell Us What You Think.......................................................................................................................17 Customer Support.................................................................................................................................18
    [Show full text]
  • Xcentrisity® BIS Addpack for Visual COBOL
    Xcentrisity® BIS AddPack for Visual COBOL User's Guide Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com © Copyright 2009-2020 Micro Focus or one of its affiliates. MICRO FOCUS, the Micro Focus logo and Visual COBOL are trademarks or registered trademarks of Micro Focus or one of its affiliates. All other marks are the property of their respective owners. 2020-06-17 ii Contents Xcentrisity Business Information Server for Visual COBOL User's Guide ............................................................................................................................. 5 Copyright and Trademarks .................................................................................................. 5 Introducing the Business Information Server ...................................................................... 5 Overview .................................................................................................................. 6 Installation on Windows ............................................................................................7 Installation on UNIX ..................................................................................................9 Testing the Installation ............................................................................................11 Uninstalling BIS for IIS ........................................................................................... 11 Uninstalling BIS for Apache ....................................................................................12
    [Show full text]
  • HTTP Cookie - Wikipedia, the Free Encyclopedia 14/05/2014
    HTTP cookie - Wikipedia, the free encyclopedia 14/05/2014 Create account Log in Article Talk Read Edit View history Search HTTP cookie From Wikipedia, the free encyclopedia Navigation A cookie, also known as an HTTP cookie, web cookie, or browser HTTP Main page cookie, is a small piece of data sent from a website and stored in a Persistence · Compression · HTTPS · Contents user's web browser while the user is browsing that website. Every time Request methods Featured content the user loads the website, the browser sends the cookie back to the OPTIONS · GET · HEAD · POST · PUT · Current events server to notify the website of the user's previous activity.[1] Cookies DELETE · TRACE · CONNECT · PATCH · Random article Donate to Wikipedia were designed to be a reliable mechanism for websites to remember Header fields Wikimedia Shop stateful information (such as items in a shopping cart) or to record the Cookie · ETag · Location · HTTP referer · DNT user's browsing activity (including clicking particular buttons, logging in, · X-Forwarded-For · Interaction or recording which pages were visited by the user as far back as months Status codes or years ago). 301 Moved Permanently · 302 Found · Help 303 See Other · 403 Forbidden · About Wikipedia Although cookies cannot carry viruses, and cannot install malware on 404 Not Found · [2] Community portal the host computer, tracking cookies and especially third-party v · t · e · Recent changes tracking cookies are commonly used as ways to compile long-term Contact page records of individuals' browsing histories—a potential privacy concern that prompted European[3] and U.S.
    [Show full text]
  • Aspects of AJAX
    Aspects of AJAX Aspects of AJAX Published online at http://www.mathertel.de/AJAX/AJAXeBook.aspx By Matthias Hertel, 2005•2007 Version 1.2 published 1. May 2007 1 Aspects of AJAX About this book This book is about an AJAX Framework and an AJAX Engine for JavaScript, XML, SOAP, WSDL und ASP.NET using standard Web Services on the server. This book is containing the updated articles and samples from my Blog "Aspects of AJAX", available at http://ajaxaspects.blogspot.com/ together with some new and rewritten articles. The implementation of the Samples, the AJAX Engine and a lot of web controls can be found on http://www.mathertel.de/AJAXEngine/. The License This book and all the articles on my blog are licensed under a Creative Commons Attribution 2.0 License that can be found at http://creativecommons.org/licenses/by/2.0/de/. The software itself is licensed under a BSD style license that can be found at http://www.mathertel.de/License.aspx. State of this book This book is still not finished and will be updated and extended from time to time. You will find more information when reading the Blog or downloading a new copy of this book. There are still a lot of aspects undocumented or undiscovered. State of the Software The AJAX engine is working fine in many projects I do myself and I’ve heard about and you can use it where ever you want. The license model I’ve chosen to publish the information and the source code allows also a commercial use of it.
    [Show full text]
  • Market-Driven Framework for Guiding Optimisation Decisions in Embedded Systems Master of Science Thesis in the Software Engineering Programme
    Market-Driven Framework for Guiding Optimisation Decisions in Embedded Systems Master of Science Thesis in the Software Engineering Programme Sofia Charalampidou Paschalis Tsolakidis Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering Göteborg, Sweden, August 2013 The Author grants to Chalmers University of Technology and University of Gothenburg the non- exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Market-Driven Framework for Guiding Optimisation Decisions in Embedded Systems Sofia Charalampidou, Paschalis Tsolakidis © Sofia Charalampidou, August 2013. © Paschalis Tsolakidis, August 2013. Examiner: Richard Torkar Supervisors: Christian Berger (Chalmers), Tobjörn Mattsson (Mecel AB) Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden August 2013 Market Driven Framework for Guiding Optimisation Decisions in Embedded Systems CHALMERS UNIVERSITY OF TECHNOLOGY Department of Computer Science and Engineering Abstract The recent need for web connectivity in the embedded systems domain and in particular the In-Vehicle Infotainment (IVI), has fired discussions about the integration of HTML components in these systems.
    [Show full text]
  • Technologies for Connecting and Using Databases and Server Applications on the World Wide Web
    Technologies for Connecting and Using Databases and Server Applications on the World Wide Web by Adolfo G. Castellon Jr. Submitted to the Department of Electrical Engineering and Computer Science on May 23, 1997, in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Science Abstract This paper presents a study of current technologies used to build applications that make use of the World Wide Web. In particular, this paper discusses three different technologies (Java Beans, OLE/ActiveX and CORBA) born of very different heritage, that are evolving towards a common goal. The emphasis is on technologies that have been recently developed to connect databases to Web applications. Two applications created by the author are used to demonstrate specific types of emerging web technologies. Thesis Supervisor: Dr. Amar Gupta Title: Co-Director, Productivity from Information Technology (PROFIT) Initiative Table of Contents 1 Introduction..............................................................................................................................................................3 1.1 Overview...................................................................................................................................................... ..................................................................................................................................................................3 1.2 Conventions: How to Read This Document.........................................................................................
    [Show full text]
  • Vbscript Programmer’S Reference Third Edition
    VBScript Programmer’s Reference Third Edition Adrian Kingsley-Hughes Kathie Kingsley-Hughes Daniel Read Wiley Publishing, Inc. ffirs.indd iii 8/28/07 9:41:21 AM ffirs.indd vi 8/28/07 9:41:22 AM VBScript Programmer’s Reference Third Edition Introduction . xxv Chapter 1: A Quick Introduction to Programming . 1 Chapter 2: What VBScript Is — and Isn’t! . 31 Chapter 3: Data Types . 45 Chapter 4: Variables and Procedures . 83 Chapter 5: Control of Flow . 109 Chapter 6: Error Handling and Debugging . 129 Chapter 7: The Scripting Runtime Objects . 183 Chapter 8: Classes in VBScript (Writing Your Own COM Objects) . 209 Chapter 9: Regular Expressions . 233 Chapter 10: Client-Side Web Scripting . 261 Chapter 11: Windows Sidebars and Gadgets . 287 Chapter 12: Task Scheduler Scripting . 309 Chapter 13: PowerShell . 345 Chapter 14: Super-Charged Client-Side Scripting . 375 Chapter 15: Windows Script Host . 405 Chapter 16: Windows Script Components . 465 Chapter 17: Script Encoding . 489 Chapter 18: Remote Scripting . 509 Chapter 19: HTML Applications . 517 Chapter 20: Server-Side Web Scripting . 535 Chapter 21: Adding VBScript to Your VB and .NET Applications . 569 (Continued) ffirs.indd i 8/28/07 9:41:21 AM Appendix A: VBScript Functions and Keywords . 603 Appendix B: Variable Naming Convention . 675 Appendix C: Coding Conventions . 677 Appendix D: Visual Basic Constants Supported in VBScript . 681 Appendix E: VBScript Error Codes and the Err Object . 687 Appendix F: The Scripting Runtime Library Object Reference . 703 Appendix G: The Windows Script Host Object Model . 715 Appendix H: Regular Expressions . 723 Appendix I: The Variant Subtypes .
    [Show full text]
  • All Your Iframes Point to Us
    All Your iFRAMEs Point to Us Niels Provos Panayiotis Mavrommatis Moheeb Abu Rajab Fabian Monrose Google Inc. Johns Hopkins University {niels, panayiotis}@google.com {moheeb, fabian}@cs.jhu.edu Abstract tacks are being replaced by other mechanisms. Chief As the web continues to play an ever increasing role among these is the exploitation of the web, and the ser- in information exchange, so too is it becoming the pre- vices built upon it, to distribute malware. vailing platform for infecting vulnerable hosts. In this This change in the playing field is particularly alarm- paper, we provide a detailed study of the pervasiveness ing, because unlike traditional scanning attacks that use of so-called drive-by downloads on the Internet. Drive- push-based infection to increase their population, web- by downloads are caused by URLs that attempt to exploit based malware infection follows a pull-based model. For their visitors and cause malware to be installed and run the most part, the techniques in use today for deliver- automatically. Over a period of 10 months we processed ing web-malware can be divided into two main cate- billions of URLs, and our results shows that a non-trivial gories. In the first case, attackers use various social en- amount, of over 3 million malicious URLs, initiate drive- gineering techniques to entice the visitors of a website by downloads. An even more troubling finding is that to download and run malware. The second, more de- approximately 1.3% of the incoming search queries to vious case, involves the underhanded tactic of targeting Google’s search engine returned at least one URL labeled various browser vulnerabilities to automatically down- as malicious in the results page.
    [Show full text]
  • Hands-On Laboratory on Web Content Injection Attacks
    TALLINN UNIVERSITY OF TECHNOLOGY Faculty of Information Technology Department of Computer Science TUT Centre for Digital Forensics and Cyber Security Hands-on laboratory on web content injection attacks Master’s thesis ITC70LT Anti Räis 121973IVCMM Supervisors Elar Lang, MSc Rain Ottis, PhD Tallinn 2015 Declaration I declare that this thesis is the result of my own research except as cited in the refer- ences. The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree. Anti Räis May 22, 2015 ........................ (Signature) Abstract This thesis focuses on explaining web application injection attacks in a practical hands-on laboratory. It is an improvement on Lang’s [1] master’s thesis about web appli- cation security. One of the main contributions of this thesis is gathering and structuring information about Cross Site Scripting (XSS) attacks and defenses and then presenting them in a practical learning environment. This is done to better explain the nuances and details that are involved in attacks against web applications. A thorough and clear under- standing of how these attacks work is the foundation for defense. The thesis is in English and contains 95 pages of text, 6 chapters, 4 figures, 27 tables. Annotatsioon Magistritöö eesmärk on selgitada kuidas töötavad erinevad kaitsemeetmed veebi- rakenduste rünnete vastu. Töö täiendab osaliselt Langi [1] magistritööd veebirakenduse rünnete kohta. Põhiline panus antud töös on koguda, täiendada ja struktureerida teavet XSS rünnete kohta ning luua õppelabor, kus on võimalik antud teadmisi praktikas rak- endada. See aitab kinnistada ja paremini mõista teemat. Selge ning täpne arusaamine, kuidas ründed toimuvad, on korrektse kaitse aluseks.
    [Show full text]
  • Secure Input for Web Applications
    Secure Input for Web Applications Martin Szydlowski, Christopher Kruegel, Engin Kirda Secure Systems Lab Technical University Vienna Vienna, Austria {msz,chris,ek}@seclab.tuwien.ac.at Abstract technical sophistication and understanding of many web users have also attracted miscreants who aim to make easy The web is an indispensable part of our lives. Every day, financial profits. The attacks these people have been been millions of users purchase items, transfer money, retrieve launching range from simple social engineering attempts information and communicate over the web. Although the (e.g., using phishing sites) to more sophisticated attacks that web is convenient for many users because it provides any- involve the installation of Trojan horses on client machines time, anywhere access to information and services, at the (e.g., by exploiting vulnerabilities in browsers in so-called same time, it has also become a prime target for miscreants drive-by attacks [19]). who attack unsuspecting web users with the aim of making An important web security research problem is how to an easy profit. The last years have shown a significant rise effectively enable a user who is running a client on an un- in the number of web-based attacks, highlighting the impor- trusted platform (i.e., a platform that may be under the con- tance of techniques and tools for increasing the security of trol of an attacker) to securely communicate with a web ap- web applications. plication. More precisely, can we ensure the confidentiality An important web security research problem is how to and integrity of sensitive data that the user sends to the web enable a user on an untrusted platform (e.g., a computer application even if the user’s platform is compromised by an that has been compromised by malware) to securely trans- attacker? Clearly, this is an important, but difficult problem.
    [Show full text]
  • Developer's Guide
    Developer's Guide Genesys Web Engagement 8.5.0 3/10/2020 Table of Contents Genesys Web Engagement Developer's Guide 3 High-Level Architecture 5 Monitoring 14 Visitor Identification 16 Events Structure 20 Notification 27 Engagement 28 Application Development 41 Creating an Application 45 Generating and Configuring the Instrumentation Script 47 Customizing an Application 59 Creating Business Information 61 Simple Engagement Model 62 Advanced Engagement Model 71 Publishing the CEP Rule Templates 78 Customizing the SCXML Strategies 96 Customizing the Engagement Strategy 98 Customizing the Chat Routing Strategy 135 Customizing the Browser Tier Widgets 143 Deploying an Application 152 Starting the Web Engagement Server 153 Deploying a Rules Package 154 Testing with ZAP Proxy 163 Sample Applications 176 Get Information About Your Application 177 Integrating Web Engagement and Co-browse with Chat 178 Media Integration 196 Using Pacing Information to Serve Reactive Requests 205 Dynamic Multi-language Localization Application Sample 213 Genesys Web Engagement Developer's Guide Genesys Web Engagement Developer's Guide Welcome to the Genesys Web Engagement 8.5 Developer's Guide. This document provides information about how you can customize GWE for your website. See the summary of chapters below. Architecture Developing a GWE Application Find information about Web Engagement Find procedures to develop an application. architecture and functions. Creating an Application High-Level Architecture Instrumentation Script Engagement Starting the Web Engagement
    [Show full text]
  • Web Design.” I Found Books on Everything from HTML to XML and from Web Graphics to Web Usability
    Free ebooks ==> www.ebook777.com Free ebooks ==> www.ebook777.com Web Design: A Beginner’s Guide Second Edition www.ebook777.com Free ebooks ==> www.ebook777.com About the Author Wendy Willard is a designer, consultant, writer, and educator who has been involved in web design for about 15 years. She is the author of HTML: A Beginner’s Guide, Fourth Edition, and other books. Wendy is a graduate of Art Center College of Design in Pasadena, California. About the Technical Editor Kathi McCracken-Dente is a user experience strategist with an expertise in designing for e-commerce, communities, and web applications. Before starting McCracken Design, a web design agency in Oakland, California, she was a designer at frog design, Addwater, and Intuit. Her clients include Yahoo!, Intuit, PowerReviews, and LeapFrog. She is a graduate of Duke University and Art Center College of Design. Free ebooks ==> www.ebook777.com Web Design: A Beginner’s Guide Second Edition Wendy Willard New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto Free ebooks ==> www.ebook777.com Copyright © 2010 by The McGraw-Hill Companies. All rights reserved. Except as permitted under the United States Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher. ISBN: 978-0-07-170135-8 MHID: 0-07-170135-4 The material in this eBook also appears in the print version of this title: ISBN: 978-0-07-170134-1, MHID: 0-07-170134-6.
    [Show full text]