Further Component Oriented Systems

Total Page:16

File Type:pdf, Size:1020Kb

Further Component Oriented Systems Further Component Oriented Systems Deepak Dhungana [email protected] Institute for System Engineering and Automation Thomas Wuerthinger [email protected] Institute for System Software Johannes Kepler University Linz, Austria http://www.jku.at On the agenda today • Plux.NET • Mozilla • Microsoft COM • Visual Studio Plux.NET OSGi package host; class PrintItem interface IMenuItem { implements IMenuItem { ... ... Host.java } PrintItem.java } void start(BundleContext bc) { Dictionary p = new Properties(); void start(BundleContext bc) { props.put("Text", "Print"); bc.addServiceListener(this, props.put("Icon", "Print.ico"); "(&(objectclass=IMenuItem))") bc.registerService( } IMenuItem.class.getName(), Activator.java void serviceChanged(...) { ... } Activator.java new PrintItem(), p); } Manifest-Version: 1.0 Manifest-Version: 1.0 Bundle-Name: Host Bundle-Name: PrintItem Bundle-Activator: Activator Bundle-Activator: Activator host.mf Export-Package: host host.mf Import-Package: host Eclipse <plugin> <plugin> <extensions-point id="menuitem" <extensions point "menuitem"> 11 schema="schema.exsd"/> <menuitem plugin.xml ... class="PrintItem" </plugin> 66 Text="Print" plugin.xml Icon="Print.ico"/> <attribute name="class" type="string"/> </extension> <attribute name="Text" type="string"/> </plugin> 22 <attribute name="Icon" type="string"/> schema.exsd same as OSGi same as OSGi 33 44 55 77 88 99 Host.java Activator.java host.mf PrintItem.javaActivator.java host.mf Plux.NET Host.cs PrintItem.cs [Extension("PrintItem")] [Plug("MenuItem")] [SlotDefinition("MenuItem")] [ParamValue("Text", "Print")] [Param("Text", typeof(string))] [ParamValue("Icon", "Print.ico")] [Param("Icon", typeof(string))] class PrintItem: IMenuItem { interface IMenuItem { ... ... } } Wolfinger, R., Dhungana, D., Prähofer, H., and Mössenböck, H.: A Component Plug-in Architecture for the .NET Platform. 7th Joint Modular Languages Conference (JMLC), 2006. Plux.NET •Adopt and adapt plug-in components to domain of enterprise applications. Today's enterprise application New architecture Voucher Dunning Voucher Dunning Slot Balance Sheet Budget Balance Sheet Customer Data Debit Customer Data Costing Debit Core Application • coarse-grained components • slim core application • monolithic piece of software • extend with features - plug into core application - integrate seamlessly - as simple as dropping an executable into the application folder - dynamic addition/removal/replacement • unlimited but controlled extensibility Define a Slot A slot definition specifies how a host A host extension opens a slot and ... wants to be extended [Extension(“E1”)] •contract specifies expected behaviour [Slot(“S1”)] class E1 { ... } [SlotDefinition(“S1”)] interface IContract { void Foo(); E2 S1 Value2 } E1 Name S1 E3 • parameters specify metadata S1 Value3 - can be determined w/o loading code - choose from different contributors contributor extensions fill a slot. - integrate statically (lazy load) [Extension(“E2”)] [Param(“Name”, typeof(string)] [Plug(“S1”)] [SlotDefinition(“S1”)] [ParamValue(“Name”, “Value”)] interface IContract { class E2 : IContract { ... } void Foo(); } Attach to a Slot To attach means to notify a host that To detach means to notify a host that a contributor has been added contributor has been removed •parameter values can be read •plug-in removed •configuration changed E2 S1 Value 2 E2 E1 S1 Value2 Name S1 E1 E3 Name S1 S1 Value3 [Slot(“S1”, OnAttached=”S1_Attached”)] [Slot(“S1”, OnDetached=”S1_Detached”)] class E1 { class E1 { void S1_Attached(object s, AttachEventArgs args) { void S1_Detached(object s, AttachEventArgs args) { string v = args.GetParamValue(“Name”); // disintegrate extension // integrate extension } } } } • for instance create UI widgets • remove UI widgets - based on metadata - defer loading until widget is clicked • extensions not qualified for slot definition are not attached Plug into a Slot To plug means to instantiate contributor and To unplug means to stop communication start communication with slot and release contributor •plug-in removed E2 •configuration changed S1 Value2 E2 S1 E1 Name S1 E2 S1 Value2 E3 S1 Value3 E1 Name S1 E3 [Slot(“S1”, OnPlugged=”S1_Plugged”)] S1 Value3 class E1 { void S1_Plugged(object s, PlugEventArgs args) { [Slot(“S1”, OnUnplugged=”S1_Unplugged”)] IContract obj = (IContract) args.Extension; class E1 { obj.Foo(); void S1_Unplugged(object s, PlugEventArgs args) { } // release references to contributor } } } • host uses contributor Secure Extensibility [SlotDefinition(“S1”)] Constrain what extensions can do E1 S1 [ProtectedSlot] •based on digitally signed plug-ins Trusted [AllowOpen( -creator always trusted “Trusted.certificate”] E2 •compositional constraints S1 interface IContract { ... } Unknown -who can use a slot definition Protected Slot Definition → Protected Slot Definition -who can attach to slot [Extension(“E1”)] E2 → Public Slot, Private Slot S1 [PrivateSlot(“S1”)] Trusted -who can open slots E1 [AllowAttach( S1 “Trusted.certificate”] → Bounded Slot E3 class E1 { ... } S1 •code access constraints Private Slot Unknown -what can plug-in do → Secure Slot [PublicSlot(“S1”, Bounded=true)] E2 S1 S2 [AllowPlug(“Trusted.certificate”, Trusted E1 PermissionSet=”Full”] S1 [AllowPlug( E3 PermissionSet=”Sandbox”)] S1 S3 Public Slot Unknown class E1 { ... } Secure Slot Bounded Slot Sandbox Integrationsmodelle (1) •Tightly Coupled - no Isolation –Host und Plug-in teilen eine AppDomain • für Komponenten der Kernapplikation AppDomain Workbench Startup MenuItem ApplicationWorkbench PrintItem [Extension(Name="Workbench", Slot="Startup")] [Extension(Name="PrintItem", Slot="MenuItem")] [Isolation(None)][Domain("Workbench")] [Domain("Workbench")] class Workbench : IStartup { class PrintItem : IMenuItem { ... ... } } Integrationsmodelle (2) •AppDomain Isolation AppDomain AppDomain –Plug-in in separater AppDomain aktivieren Workbench Print • Plug-in entladen • beschränken was Plug-in darf Startup MenuItem [Slot("MenuItem")][Security(Permissi ApplicationWorkbench PrintItem onSet=Internet)] interface IMenuItem { ... FullTrust Internet } [Extension(Name="Workbench", Slot="Startup")] [Isolation(AppDomain)] [Extension(Name="PrintItem", Slot="MenuItem")] [Domain("Workbench")] [Domain("Print")] class Workbench : IStartup { class PrintItem : IMenuItem { ... ... } } Integrationsmodelle (3) •Process Isolation –Plug-in in separatem Prozess aktivieren • schützt Host vor Absturz .NET Remoting Process Process Workbench Print Startup MenuItem ApplicationWorkbench PrintItem FullTrust Internet [Extension(Name="Workbench", Slot="Startup")] [Extension(Name="PrintItem", Slot="MenuItem")] [Isolation(Process)][Domain("Workbench.Workbench") [Domain("Print.Print")] ] class PrintItem : IMenuItem { class Workbench : IStartup { ... ... } } Motivating Scenarios –Developed together with our industry partner BMD Systemhaus •Szenario 1: On-the-fly product customization –Live-Preview of application, “I know it when I see it” •Szenario 2: Guided system upgrades –Which additional features are possible with current configuration? •Szenario 3: Renting features –Use features for limited time period •Szenario 4: Instant help desk support –Transmit and replicate user configuration at help desk Scenario 5: Role Change In the morning Maria works as an ...and in the afternoon she changes her accountant... role to controller. Dunning Balance Sheet Debit Voucher Budget Costing Enterprise Application Enterprise Application Enterprise Application Enterprise Application Adapt your user interface on the fly matching the current role. Tailor your application at run time! Scenario 6: Optimized Training Lesson 1: How to book an outgoing invoice Debit Trainee can focus on content to trained in lesson 1. Enterprise Application Lesson 2: How to determines bills due Trainee can focus on content to be Debit Voucher trained in lesson II and integrate with knowledge from previous Enterprise Application lessons. Lesson 3: How to generate dunning letters Dunning Incrementally build up system Debit Voucher alongside with trainee’s learning progress. Enterprise Application Mozilla Firefox Mozilla Extensions https://developer.mozilla.org/en/Extensions Flat structure – no dependencies between modules One module can be plugged into different applications (e.g. Thunderbird, Firefox, ...) Versioning: - Plugins have a version number - Plugins can specify the supported application version numbers Plugin1 Plugin2 Plugin3 Plugin4 Application Application Architecture of Mozilla XBL Apply to MathML template XUL RDF XHTML DOM User-defined tags SVG Javascript XPCONNECT XPCOM Layers under XPCOM Technologies in Use Defines presentation Controls all parts Builds architectural framework Black box for specialized tasks What is required? overlay.xul 1.<?xml version="1.0" encoding="UTF-8"?> 2.<overlay id="helloworldOverlay" 3.xmlns="http://www.mozilla.org/ keymaster/gatekeeper/there.is.only.xul"> 4. <menupopup id="menu_ToolsPopup"> 5. <menuitem id="helloworldMenuitem" 6. label="Hello, world!" 7. insertbefore="sanitizeSeparator"/> 8. </menupopup> 9.</overlay> install.rdf 1.<?xml version="1.0" encoding="UTF-8"?> 2.<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3. xmlns:em="http://www.mozilla.org/2004/em-rdf#"> 4. <Description about="urn:mozilla:install-manifest"> 5. <em:id>[email protected]</em:id> 6. <em:type>2</em:type> 7. <em:name>Hello, world!</em:name> 8. <em:version>0.1</em:version> 9. <em:description>My first extension.</em:description> 10. <em:creator>eDeepak</em:creator> 11. <em:homepageURL>http://dhungana.at</em:homepageURL>
Recommended publications
  • XML Testing and Tuning Discover Tools and Hints for Working with XML
    XML and Related Technologies certification prep, Part 5: XML testing and tuning Discover tools and hints for working with XML Skill Level: Intermediate Louis E Mauget ([email protected]) Senior Consultant Number Six Software, Inc. 24 Oct 2006 This tutorial on XML testing and tuning is the final tutorial in a series that helps you prepare for the IBM certification Test 142, XML and Related Technologies. This tutorial provides tips and hints for how to choose an appropriate XML technology and optimize transformations. It wraps up with coverage of common tools you can use in testing XML designs. Section 1. Before you start In this section, you'll find out what to expect from this tutorial and how to get the most out of it. About this series This series of five tutorials helps you prepare to take the IBM certification Test 142, XML and Related Technologies, to attain the IBM Certified Solution Developer - XML and Related Technologies certification. This certification identifies an intermediate-level developer who designs and implements applications that make use of XML and related technologies such as XML Schema, Extensible Stylesheet Language Transformation (XSLT), and XPath. This developer has a strong understanding of XML fundamentals; has knowledge of XML concepts and related technologies; understands how data relates to XML, in particular with issues associated with information modeling, XML processing, XML rendering, and Web services; has a thorough knowledge of core XML-related World Wide Web XML testing and tuning © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 33 developerWorks® ibm.com/developerWorks Consortium (W3C) recommendations; and is familiar with well-known, best practices.
    [Show full text]
  • Interaction Designer COM API Reference Printed Help
    PureConnect® 2020 R1 Generated: 28-February-2020 Interaction Designer COM Content last updated: 09-January-2020 API Reference See Change Log for summary of changes. Printed Help Abstract This document contains Component Object Model (COM) Application Programming Interface (API) reference content for Interaction Designer. For the latest version of this document, see the PureConnect Documentation Library at: http://help.genesys.com/cic. For copyright and trademark information, see https://help.genesys.com/cic/desktop/copyright_and_trademark_information.htm. 1 Table of Contents Table of Contents 2 Introduction 13 The Component Object Model 13 Interface-based programming using objects 13 Objects exposed by Designer COM API 13 Other objects represent steps, links between steps, and tool step exit paths. 14 COM Interface Information 14 Naming Conventions in the Designer COM API Reference 15 About GUIDs, UUIDs, and CLSIDs 15 COM Clients and Servers 15 General Programming Tips 16 Interfaces 17 II3ID Interface 19 Overview 19 Methods 19 Properties 20 II3ID::CreateHandler Method 21 II3ID::CurrentHandler Method 22 II3ID::EscapeString Method 22 II3ID::GetErrorMessage Method 23 II3ID::GetLicenseInfo Method 23 II3ID::MessageBox Method 24 II3ID::OpenHandler Method 25 II3ID::QueryNativeTypeName Method 25 II3ID::ReadProfileLong Method 26 II3ID::ReadProfileString Method 27 II3ID::RegisterForIdEvents Method 28 II3ID::UnescapeString Method 28 II3ID::WriteProfileLong Method 29 II3ID::WriteProfileString Method 30 II3ID::CurrentHandlerSelectedSteps Property
    [Show full text]
  • Product System Requirements and Compatibility Matrix
    Product System Requirements and Compatibility Matrix Before installing Encompass or other products offered by Ellie Mae, verify the system requirements detailed in this document. When installing Encompass, additional third-party applications (such as Amyuni PDF Converter) are installed by the Encompass Installation Manager if the applications are not already on your computer. System requirements are subject to change as Ellie Mae updates the softw are to accommodate new features and regulation requirements. This compatibility matrix provides information about the interoperability of the Ellie Mae suite of products and various components, operating systems, brow sers, and other products. Refer to this Legend to understand the Recommended, Supported, Not Supported, and Incompatible designations in the matrices. Legend Key Meaning Recommended Fully Supported. We recommend this combined platform for the best experience. Supported We support usage of this version and will fix issues that are found. Not Supported We have not tested and do not support usage of this version, however, it has been known to be used successfully at some customer sites. Incompatible We have tested this version and it does not work with our solution. NOTE: Minimum requirements are based on the computer running the operating system, the Microsoft Office application and Encompass. Other applications running on the computer have their own requirements that need to be taken into consideration. Minimum Internet connection requirements are based on average bandwidth usage. Bandwidth usage varies based on the number of users accessing items over the Internet, as well as the Encompass features and other applications being accessed over the Internet. In general, additional bandwidth will improve the user experience during peak usage periods, for example, during month-end closing.
    [Show full text]
  • Web Browser Pioneer Backs New Way to Surf Internet (Update 2) 7 November 2010, by MICHAEL LIEDTKE , AP Technology Writer
    Web browser pioneer backs new way to surf Internet (Update 2) 7 November 2010, By MICHAEL LIEDTKE , AP Technology Writer (AP) -- The Web has changed a lot since Marc Facebook's imprint also is all over RockMelt, Andreessen revolutionized the Internet with the although the two companies' only business introduction of his Netscape browser in the connection so far is Andreessen. He also serves on mid-1990s. That's why he's betting people are Facebook's board of directors. ready to try a different Web-surfing technique on a new browser called RockMelt. RockMelt only works if you have a Facebook account. That restriction still gives RockMelt plenty The browser, available for the first time Monday, is of room to grow, given Facebook has more than built on the premise that most online activity today 500 million users. revolves around socializing on Facebook, searching on Google, tweeting on Twitter and After Facebook users log on RockMelt with their monitoring a handful of favorite websites. It tries to Facebook account information, the person's minimize the need to roam from one website to the Facebook profile picture is planted in the browser's next by corralling all vital information and favorite left hand corner and a list of favorite friends can be services in panes and drop-down windows. displayed in the browser's left hand pane. There's also a built-in tool for posting updates in a pop-up "This is a chance for us to build a browser all over box. again," Andreessen said. "These are all things we would have done (at Netscape) if we had known The features extend beyond Facebook and Twitter.
    [Show full text]
  • Web Browser a C-Class Article from Wikipedia, the Free Encyclopedia
    Web browser A C-class article from Wikipedia, the free encyclopedia A web browser or Internet browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content.[1] Hyperlinks present in resources enable users to easily navigate their browsers to related resources. Although browsers are primarily intended to access the World Wide Web, they can also be used to access information provided by Web servers in private networks or files in file systems. Some browsers can also be used to save information resources to file systems. Contents 1 History 2 Function 3 Features 3.1 User interface 3.2 Privacy and security 3.3 Standards support 4 See also 5 References 6 External links History Main article: History of the web browser The history of the Web browser dates back in to the late 1980s, when a variety of technologies laid the foundation for the first Web browser, WorldWideWeb, by Tim Berners-Lee in 1991. That browser brought together a variety of existing and new software and hardware technologies. Ted Nelson and Douglas Engelbart developed the concept of hypertext long before Berners-Lee and CERN. It became the core of the World Wide Web. Berners-Lee does acknowledge Engelbart's contribution. The introduction of the NCSA Mosaic Web browser in 1993 – one of the first graphical Web browsers – led to an explosion in Web use. Marc Andreessen, the leader of the Mosaic team at NCSA, soon started his own company, named Netscape, and released the Mosaic-influenced Netscape Navigator in 1994, which quickly became the world's most popular browser, accounting for 90% of all Web use at its peak (see usage share of web browsers).
    [Show full text]
  • Peer Participation and Software
    Peer Participation and Software This report was made possible by the grants from the John D. and Cath- erine T. MacArthur Foundation in connection with its grant-making initiative on Digital Media and Learning. For more information on the initiative visit www.macfound.org. The John D. and Catherine T. MacArthur Foundation Reports on Digital Media and Learning Peer Participation and Software: What Mozilla Has to Teach Government by David R. Booth The Future of Learning Institutions in a Digital Age by Cathy N. Davidson and David Theo Goldberg with the assistance of Zoë Marie Jones The Future of Thinking: Learning Institutions in a Digital Age by Cathy N. Davidson and David Theo Goldberg with the assistance of Zoë Marie Jones New Digital Media and Learning as an Emerging Area and “Worked Examples” as One Way Forward by James Paul Gee Living and Learning with New Media: Summary of Findings from the Digital Youth Project by Mizuko Ito, Heather Horst, Matteo Bittanti, danah boyd, Becky Herr-Stephenson, Patricia G. Lange, C. J. Pascoe, and Laura Robinson with Sonja Baumer, Rachel Cody, Dilan Mahendran, Katynka Z. Martínez, Dan Perkel, Christo Sims, and Lisa Tripp Young People, Ethics, and the New Digital Media: A Synthesis from the GoodPlay Project by Carrie James with Katie Davis, Andrea Flores, John M. Francis, Lindsay Pettingill, Margaret Rundle, and Howard Gardner Confronting the Challenges of Participatory Culture: Media Education for the 21st Century by Henry Jenkins (P.I.) with Ravi Purushotma, Margaret Weigel, Katie Clinton, and Alice J. Robison The Civic Potential of Video Games by Joseph Kahne, Ellen Middaugh, and Chris Evans Peer Production and Software What Mozilla Has to Teach Government David R.
    [Show full text]
  • The Microsoft Way: COM, OLE/Activex, COM+, and .NET CLR
    8557 Chapter 15 p329-380 8/10/02 12:24 pm Page 329 CHAPTER FIFTEEN The Microsoft way: COM, OLE/ActiveX, COM+, and .NET CLR In a sense, Microsoft is taking the easiest route. Instead of proposing a global standard and hoping to port its own systems to it, it continually re-engineers its existing application and platform base. Component technology is intro- duced gradually, gaining leverage from previous successes, such as the original Visual Basic controls (VBX – non-object-oriented components!), object link- ing and embedding (OLE), OLE database connectivity (ODBC), ActiveX, Microsoft Transaction Server (MTS), or active server pages (ASP). In the standards arena, Microsoft focuses mostly on internet (IETF) and web (W3C) standards. More recently, some of its .NET specifications (CLI and C#) where adopted by ECMA – a European standards body with a fast track to ISO (ECMA, 2001a, 2001b). Microsoft is not trying to align its approaches with OMG or Java standards. While Java figured prominently in Microsoft’s strategy for a while, it has been relegated to a mere continuation of support of its older Visual J++ product – in part as a result of a settlement between Sun and Microsoft. In addition, under the name Visual J# .NET, Microsoft offers a migration tool to .NET, primarily targeting users of Visual J++ 6.0. As part of the .NET initiative, Microsoft is promoting language neutrality as a major tenet of CLR and aims to establish a new language, C#. C# adopts many of the successful traits of Java, while adding several distinctive features of its own (such as value types) and not supporting key Java features (such as inner classes).
    [Show full text]
  • Silk Test 20.5
    Silk Test 20.5 Silk4J User Guide Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com © Copyright 1992-2019 Micro Focus or one of its affiliates. MICRO FOCUS, the Micro Focus logo and Silk Test are trademarks or registered trademarks of Micro Focus or one of its affiliates. All other marks are the property of their respective owners. 2019-10-23 ii Contents Welcome to Silk4J 20.5 ....................................................................................10 Licensing Information ......................................................................................11 Silk4J ................................................................................................................ 12 Do I Need Administrator Privileges to Run Silk4J? ........................................................... 12 Best Practices for Using Silk4J ........................................................................................ 12 Automation Under Special Conditions (Missing Peripherals) ............................................13 Silk Test Product Suite ...................................................................................................... 14 What's New in Silk4J ........................................................................................16 Save Time and Costs with Service Virtualization for Mobile Devices ............................... 16 Enhance Security with Java-based Encryption ................................................................. 16 Usability Enhancements
    [Show full text]
  • Object Oriented Programming
    A SYNOPSIS OF SOFTWARE TECHNOLOGIES USED IN TODAY’S ENGINEERING SOFTWARE Ashley Hull, Ph.D. Hasmet Genceli, Ph.D. Michael W. Hlavinka, Ph.D., P.E. Bryan Research & Engineering, Inc. P.O. Box 4747 Bryan, TX 77805 USA www.bre.com ABSTRACT Most engineers have little familiarity with the software technologies that provide the framework for the variety of applications they employ, from word processors to process simulators. While adequate for casual use of an application, a more thorough understanding of these technologies is required in order to extend an application and provide custom behavior. Usually the effort required to perform small customizations is not significant provided the framework is understood. This paper introduces Object-Oriented Programming (OOP), OLE Automation, and Extensible Markup Language (XML), three common technologies used in programs. A conceptual discussion of OOP is presented along with examples where the paradigm may be encountered. Automation is introduced with illustrations of how this feature can extend an application. Finally, XML is summarized along with a discussion of some of the tools and supporting technologies used with XML. The aim of this paper is to give a basic understanding of how and when these technologies can be exploited based on specific applications and tasks. A SYNOPSIS OF SOFTWARE TECHNOLOGIES USED IN TODAY’S ENGINEERING SOFTWARE INTRODUCTION Commercial software today is normally built upon several software technologies. These technologies provide a common framework that is consistent from one application to another. This framework is present in applications from word processors to process simulators. While an understanding of these technologies is not required for casual use of the application, some knowledge of this framework will be required to extend an application to provide custom behavior outside of the design of the vendor.
    [Show full text]
  • Web Developer Firefox Extension Features List Disable
    Web Developer Firefox Extension Features List Disable: Disable Cache Disable Entire Cache Check For Newer Version Of Page Check For Newer Version Of Page When Page Is Out Of Date Check For Newer Version Of Page Every Time Check For Newer Version Of Page Once Per Session Never Check For Newer Version Of Page Disable DNS Cache Disable Java Disable JavaScript Disable All JavaScript Disable Strict JavaScript Warnings Disable Meta Redirects Disable Minimum Font Size Disable Page Colors Disable Popup Blocker Disable Proxy Use No Proxy Use Auto-detect Proxy Use Conguration URL Proxy Use Manual Proxy Use System Proxy Disable Referrers ------------------------------------------------------------- Cookies: Disable Cookies Disable All Cookies Disable Third-Party Cookies Add Cookie... Delete Domain Cookies Delete Path Cookies Delete Session Cookies View Cookie Information ------------------------------------------------------------- CSS: Disable Styles Disable All Styles Disable Browser Default Styles Disable Embedded Styles Disable Inline Styles Disable Linked Style Sheets Disable Print Styles Disable Individual Style Sheet Add User Style Sheet... Display Style Information Display Styles By Media Type Display Handheld Styles Display Print Styles Edit CSS Reload Linked Style Sheets Use Border Box Model View CSS ------------------------------------------------------------- Forms: Clear Form Fields Clear Radio Buttons Convert Form Methods Convert GETs To POSTs Convert POSTs To GETs Convert Select Elements To Text Inputs Convert Text Inputs To Textareas
    [Show full text]
  • NET Technology Guide for Business Applications // 1
    .NET Technology Guide for Business Applications Professional Cesar de la Torre David Carmona Visit us today at microsoftpressstore.com • Hundreds of titles available – Books, eBooks, and online resources from industry experts • Free U.S. shipping • eBooks in multiple formats – Read on your computer, tablet, mobile device, or e-reader • Print & eBook Best Value Packs • eBook Deal of the Week – Save up to 60% on featured titles • Newsletter and special offers – Be the first to hear about new releases, specials, and more • Register your book – Get additional benefits Hear about it first. Get the latest news from Microsoft Press sent to your inbox. • New and upcoming books • Special offers • Free eBooks • How-to articles Sign up today at MicrosoftPressStore.com/Newsletters Wait, there’s more... Find more great content and resources in the Microsoft Press Guided Tours app. The Microsoft Press Guided Tours app provides insightful tours by Microsoft Press authors of new and evolving Microsoft technologies. • Share text, code, illustrations, videos, and links with peers and friends • Create and manage highlights and notes • View resources and download code samples • Tag resources as favorites or to read later • Watch explanatory videos • Copy complete code listings and scripts Download from Windows Store Free ebooks From technical overviews to drilldowns on special topics, get free ebooks from Microsoft Press at: www.microsoftvirtualacademy.com/ebooks Download your free ebooks in PDF, EPUB, and/or Mobi for Kindle formats. Look for other great resources at Microsoft Virtual Academy, where you can learn new skills and help advance your career with free Microsoft training delivered by experts.
    [Show full text]
  • Firefox Hacks Is Ideal for Power Users Who Want to Maximize The
    Firefox Hacks By Nigel McFarlane Publisher: O'Reilly Pub Date: March 2005 ISBN: 0-596-00928-3 Pages: 398 Table of • Contents • Index • Reviews Reader Firefox Hacks is ideal for power users who want to maximize the • Reviews effectiveness of Firefox, the next-generation web browser that is quickly • Errata gaining in popularity. This highly-focused book offers all the valuable tips • Academic and tools you need to enjoy a superior and safer browsing experience. Learn how to customize its deployment, appearance, features, and functionality. Firefox Hacks By Nigel McFarlane Publisher: O'Reilly Pub Date: March 2005 ISBN: 0-596-00928-3 Pages: 398 Table of • Contents • Index • Reviews Reader • Reviews • Errata • Academic Copyright Credits About the Author Contributors Acknowledgments Preface Why Firefox Hacks? How to Use This Book How This Book Is Organized Conventions Used in This Book Using Code Examples Safari® Enabled How to Contact Us Got a Hack? Chapter 1. Firefox Basics Section 1.1. Hacks 1-10 Section 1.2. Get Oriented Hack 1. Ten Ways to Display a Web Page Hack 2. Ten Ways to Navigate to a Web Page Hack 3. Find Stuff Hack 4. Identify and Use Toolbar Icons Hack 5. Use Keyboard Shortcuts Hack 6. Make Firefox Look Different Hack 7. Stop Once-Only Dialogs Safely Hack 8. Flush and Clear Absolutely Everything Hack 9. Make Firefox Go Fast Hack 10. Start Up from the Command Line Chapter 2. Security Section 2.1. Hacks 11-21 Hack 11. Drop Miscellaneous Security Blocks Hack 12. Raise Security to Protect Dummies Hack 13. Stop All Secret Network Activity Hack 14.
    [Show full text]