Cross Desktop Application Scripting I D E a S F O R a N I M P L E M E N T a T I O N

Total Page:16

File Type:pdf, Size:1020Kb

Cross Desktop Application Scripting I D E a S F O R a N I M P L E M E N T a T I O N Cross desktop Application Scripting I d e a s f o r a n i m p l e m e n t a t i o n D e s k t o p D e v e l o p e r C o n f e r e n c e 2 0 0 6 , O t t a w a , C a n a d a T u e s d a y J u l y 1 8 t h 2 0 0 6 H u b e r t F i g u i è r e < h u b @ f i g u i e r e . n e t> This presentation is released under the Creative Commons Attribution-ShareAlike Canada license. http://creativecommons.org/licenses/by-sa/2.5/ca/ A p p l i c a t i o n S c r i p t i n g ● High level application control. – It is telling an application to do some task the application is designed for. – Fetch data from the runing application ● It is not meant for writing complete apps like Python or Perl are used. ● Think of a high-level IPC S c r i p t i n g S y s t e m ● A language (any) ● A high-level “protocol”: Scripting Model – Preferably with an Object Oriented paradigm ● An IPC mechanism ● Applications S c r i p t i n g S y s t e m ( 2 ) W h a t a l r e a d y e x i s t s ? ● Kross http://kross.dipe.org/readme.html – KOffice scripting in Python and Ruby ● Kommander http://kommander.kdewebdev.org/ – Use UI build with QtDesigner and DCOP ● Gnome + ATK + ORBit + Python http://www.jamesh.id.au/talks/lca2004/ – control UI through the ATK W h a t a l r e a d y e x i s t s ( 2 ) ● Dogtail http://people.redhat.com/zcerza/dogtail/ – UI testing tool. Use ATK and other a11y technologies ● StepTalk http://www.gnustep.org/experience/StepTalk.html – Scripting for GNUStep – Use Objective-C introspection – Language independente W h a t a l r e a d y e x i s t s ( 3 ) ● All these applications with scripting capabilities – Gimp – Mozilla – etc. W h a t c a n u s e i t ? ● Atomato – Automation tool for GNOME – Typically benefiting from a universal way to remote control applications – Inspired from Apple Automator: http://www.apple.com/macosx/features/automator/ ● All these applications with scripting capabilities W h a t f o r ? ● Automating tasks ● Fetching data from an application – Current song being played in Music Player – Exporting data ● Integrating applications together I n s p i r a t i o n ● AppleScript – Provides all the feature wished – But specific to MacOS X G o a l s ● Maximum interoperability – KDE – Gnome – Mozilla – OOo ● Standardization of commands ● Language independence ● Security G o a l s ( 2 ) I P C ● D-Bus – Adopted by Gnome – Adopted by KDE for KDE4 – Structured IPC with access control ● DCOP – In KDE3. Will be replaced by D-Bus in KDE4 ● Other? L a n g u a g e ● Pick the language of your choice – Write an adapter to the Scripting Model ● Language by default (suggestion) – JavaScript ● Because lot of end use know it (web designer, etc) ● Easy to learn ● Light implementation – Nobody want to script in Scheme or Lisp (or at least nobody sane) A p p l i c a t i o n s ● Server: the application controled – Glue to the scripting model ● Client: controling another application – Call the scripting model APIs S c r i p t i n g M o d e l ● An object oriented model – You fetch objects ● word ● canvas ● email – You manipulates objects ● delete word ● create email – etc. – More natural S c r i p t i n g M o d e l ( 2 ) ● Translate the applications data model (functionnality) – delete word 1 of paragraph 3 of document of front window – draw rectangle with (5, 10, 100, 100) in canvas of front window ● Does not translate the user interface – at least not as a first choice S c r i p t i n g M o d e l ( 3 ) ● Standardized – Having to rewrite the script because we changed application would suck – Manipulating data should be done the same way in all “similar” applications ● Word processors ● Drawing programs ● Web browsers ● e-mail programs ● etc. S t a n d a r d i z a t i o n ● Task done the same way whatever the application is – Writing a text is writing a text be it in KWord or AbiWord – Creating a table in a spreadsheet is the same be it Gnumeric or KSpread – etc. ● Described in a “registry” “ R e g i s t r y ” ● Contain and complete description of the model ● Maintained as an open specification ● Updated periodically for additions ● The goal: interoperability ● The scripting “bible” K n o w i n g w h a t a n a p p . s u p p o r t s ? ● How do we know what an application support – Querying its interface ● What does the application provide? – A list of object and commands it understands C h a l l e n g e s ● In order to be able to have the scripting model adopted: – Write it without Qt (licensing incompatible with Gnome policy) – Provide plain C API (Gnome and its gazillion of language bindings) and C++ (KDE) ● Make it easy to use on the server side – providing scripting should be easy or nobody will do it ● Secure S e c u r i t y ● Very hard to achieve – Things shouldn't happen without user approval ● Sending mail – The “I Love You” fiasco in 2000 and later on Windows ● Worm and virus propagation – Why antivirus and anti-spyware editors do love Microsoft – But things should work ● I have no answer right now Q u e s t i o n s .
Recommended publications
  • Historical Dictionary of Sufism
    04-655 (1) FM.qxd 4/18/05 12:39 PM Page i HISTORICAL DICTIONARIES OF RELIGIONS, PHILOSOPHIES, AND MOVEMENTS Jon Woronoff, Series Editor 1. Buddhism, by Charles S. Prebish, 1993 2. Mormonism, by Davis Bitton, 1994. Out of print. See No. 32. 3. Ecumenical Christianity, by Ans Joachim van der Bent, 1994 4. Terrorism, by Sean Anderson and Stephen Sloan, 1995. Out of print. See No. 41. 5. Sikhism, by W. H. McLeod, 1995 6. Feminism, by Janet K. Boles and Diane Long Hoeveler, 1995. Out of print. See No. 52. 7. Olympic Movement, by Ian Buchanan and Bill Mallon, 1995. Out of print. See No. 39. 8. Methodism, by Charles Yrigoyen Jr. and Susan E. Warrick, 1996. Out of Print. See No. 57. 9. Orthodox Church, by Michael Prokurat, Alexander Golitzin, and Michael D. Peterson, 1996 10. Organized Labor, by James C. Docherty, 1996. Out of print. See No. 50. 11. Civil Rights Movement, by Ralph E. Luker, 1997 12. Catholicism, by William J. Collinge, 1997 13. Hinduism, by Bruce M. Sullivan, 1997 14. North American Environmentalism, by Edward R. Wells and Alan M. Schwartz, 1997 15. Welfare State, by Bent Greve, 1998 16. Socialism, by James C. Docherty, 1997 17. Bahá’í Faith, by Hugh C. Adamson and Philip Hainsworth, 1998 18. Taoism, by Julian F. Pas in cooperation with Man Kam Leung, 1998 19. Judaism, by Norman Solomon, 1998 20. Green Movement, by Elim Papadakis, 1998 21. Nietzscheanism, by Carol Diethe, 1999 22. Gay Liberation Movement, by Ronald J. Hunt, 1999 23. Islamic Fundamentalist Movements in the Arab World, Iran, and Turkey, by Ahmad S.
    [Show full text]
  • Family by NEIL SPEARS Requests Contributing Writer Donates VCSD Chancellor Robert C
    FEATURES Ughts & Sirens 2 SPORTS Opinion 4 Baseball swi~ away Meet the candidates Features • the competition A.S. presidential profiles 9 Features takes a look at this year's A.S. presidential candidates, Triton baseball went 4-1 over the their slates and independent campaigns - and finds out who Classifieds 12 break, beating CSU Dominguez Hills they are and what they staoo for. page 9 Campus Calendar 11 and Azusa PaCific. P~e 16 UC SAN DIEGO MONDAY, MARCH 11, 2001 VOLU,\IE 109, [ seE I 2003 A.S. ELEOIONS WATCH War advisory group formed Jacobs Appeal Committee to oversee campus climate family By NEIL SPEARS requests Contributing Writer donates VCSD Chancellor Robert C. denied Dynes announced the formation of the pecial Advisory Committee on War Related $110 M Matters on March 19. The goal Committee of me commirree is to advise the chancellor about the impact of Gift part of hears cases of global conflict on the campus community. $1 billion 3 applicants "I want to reassure you that we have developed comprehen­ By GAELLE FAURE sive plans for enhancing campu fundraising Associate News Editor safety, sustaining campus opera­ tions, and issuing timely news campalgn Three A.. elections candidates updates," Dynes stated in a who had filed appeals to the elec­ March 20 campus norice. tions committee Jskll1g to be rein­ The committee is composed By LISA MAK stated in the race were denied their of a dozen representatives from Staff Writer requests prior to the end of winter different areas of campu opera­ Irwin Jacobs. former C 'D quarter.
    [Show full text]
  • San Diego County Treasurer-Tax Collector 2019-2020 Returned Property Tax Bills
    SAN DIEGO COUNTY TREASURER-TAX COLLECTOR 2019-2020 RETURNED PROPERTY TAX BILLS TO SEARCH, PRESS "CTRL + F" CLICK HERE TO CHANGE MAILING ADDRESS PARCEL/BILL OWNER NAME 8579002100 11-11 GIFT TRUST 04-01-96 8579002104 11-11 GIFT TRUST 04-01-96 8579002112 11-11 GIFT TRUST 04-01-96 8679002101 11-11 GIFT TRUST 04-01-96 8679002105 11-11 GIFT TRUST 04-01-96 8679002113 11-11 GIFT TRUST 04-01-96 8779002102 11-11 GIFT TRUST 04-01-96 8779002106 11-11 GIFT TRUST 04-01-96 8779002114 11-11 GIFT TRUST 04-01-96 8879002103 11-11 GIFT TRUST 04-01-96 8879002107 11-11 GIFT TRUST 04-01-96 8879002115 11-11 GIFT TRUST 04-01-96 5331250200 1141 LAGUNA AVE L L C 2224832400 1201 VIA RAFAEL LTD 3172710300 12150 FLINT PLACE LLC 2350405100 1282 PACIFIC OAKS LLC 4891237400 1360 E MADISON AVENUE L L C 1780235100 138 SUN VILLA CT LLC 8894504458 138 SUN VILLA CT LLC 2222400700 1488 SAN PABLO L L C 1300500500 15195 HWY 76 TRUST 04-084 1473500900 152 S MYERS LLC 4230941300 1550 GARNET LLC 2754610900 15632 POMERADO ROAD L L C 1678 COUNTRY CLUB DR ESCONDIDO CA 92029 TRUST 05-07- 2325114700 18 1678 COUNTRY CLUB DR ESCONDIDO CA 92029 TRUST 05-07- 8894616148 18 2542212300 1697A LA COSTA MEADOWS L L C 2542212400 1697A LA COSTA MEADOWS L L C 6461901900 1704 CACTUS ROAD LLC 5333021200 1750 FIFTH AVENUE L L C 2542304001 180 PHOEBE STREET LLC 5392130600 1815-19 GRANADA AVENUE LLC 5392130700 1815-19 GRANADA AVENUE LLC 2643515400 18503 CALLE LA SERRA L L C 2263601300 1991 TRUST 12-02-91 AND W J K FAMILY LTD PARTNERSHIP 5650321400 1998 ENG FAMILY L L C 5683522300 1998 ENG FAMILY L L
    [Show full text]
  • Identifying Exogenous Drivers and Evolutionary Stages in FLOSS Projects
    University of Groningen Quality Factors and Coding Standards - a Comparison Between Open Source Forges Capiluppi, Andrea; Boldyreff, Cornelia; Beecher, Karl; Adams, Paul J. Published in: Electronic Notes in Theoretical Computer Science DOI: 10.1016/j.entcs.2009.02.063 IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish to cite from it. Please check the document version below. Document Version Publisher's PDF, also known as Version of record Publication date: 2009 Link to publication in University of Groningen/UMCG research database Citation for published version (APA): Capiluppi, A., Boldyreff, C., Beecher, K., & Adams, P. J. (2009). Quality Factors and Coding Standards - a Comparison Between Open Source Forges. Electronic Notes in Theoretical Computer Science, 233(C), 89- 103. https://doi.org/10.1016/j.entcs.2009.02.063 Copyright Other than for strictly personal use, it is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license (like Creative Commons). The publication may also be distributed here under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license. More information can be found on the University of Groningen website: https://www.rug.nl/library/open-access/self-archiving-pure/taverne- amendment. Take-down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Downloaded from the University of Groningen/UMCG research database (Pure): http://www.rug.nl/research/portal.
    [Show full text]
  • Sebastian Kügler <[email protected]>
    Sebastian Kügler <[email protected]>, FrOSCon 2006 Database (data) components for KDE applications developers codename: KexiDB Facts ● Your application has a data model ● Your application shares its data with the outside world - Typical way of doing this is using the filesystem - This has not changed too much since old UNIX days Jarosław Staniek <[email protected]>, aKademy 2006 Sebastian Kügler <[email protected]>, FrOSCon 2006 Database (data) components for KDE applications developers codename: KexiDB Problems to solve ● You can have problems with performance for larger documents ● Importing and exporting data creates multiple versions of the same document ● Multiuser access to the data is not available or custom solutions are developed Jarosław Staniek <[email protected]>, aKademy 2006 Sebastian Kügler <[email protected]>, FrOSCon 2006 Database (data) components for KDE applications developers codename: KexiDB Possible solution: database storage / connectivity ● Many applications are already database-like ● Do not afraid of databases - you do not need to: - deal with internals (SQL, backend specifics) - deal with database servers (installation, administration) because stable embedded backend is available (SQLite) Jarosław Staniek <[email protected]>, aKademy 2006 Sebastian Kügler <[email protected]>, FrOSCon 2006 Database (data) components for KDE applications developers codename: KexiDB What can you get ● support for SQLite files, MySQL and PostgreSQL ● database abstraction layer, connectivity library (dialogs, widgets), strong introspection ● cost of data opening
    [Show full text]
  • KDE E.V. Quarterly Report 2008Q3/Q4
    Quarterly Report Q3/2008 & Q4/2008 solid accounting and valuable organizational skills month after month, year after year. As such, I am more than confident in his stepping into the President's chair. Cornelius will also benefit from the solid board members that have helped us build KDE e.V. over the past few years into what it has become. We should all be quite proud of what we have achieved Dear KDE e.V. member, within this organization. It has never been as robust, professional and effective. In the spirit of continuous When one is busy, time flies by quicker than one expects. improvement, I am equally sure we will be able to say the They say the same thing happens when you're having fun. same thing in five years time. When I look at the calendar and realize that we're already into the second month of 2009, I'm struck with just how I would also take this opportunity to ask each and every quickly 2008 melted away. It's safe to say that we were one of the members of our society to examine their own both hard at work and having fun in the process. involvement within KDE e.V. It operates smoothly only because we have members who step up and help get things Going forward, we have a series of very exciting programs done. We achieve things together that we can not achieve underway, probably not least of which is a new Individual alone. Supporting Members program. We also have the Gran Canaria Desktop Summit, which is an experiment in co- These activities range from the simple task of voting (and locating Akademy with GUADEC.
    [Show full text]
  • Red Hat Enterprise Linux 7 7.8 Release Notes
    Red Hat Enterprise Linux 7 7.8 Release Notes Release Notes for Red Hat Enterprise Linux 7.8 Last Updated: 2021-03-02 Red Hat Enterprise Linux 7 7.8 Release Notes Release Notes for Red Hat Enterprise Linux 7.8 Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • Red Hat Enterprise Linux 7 7.9 Release Notes
    Red Hat Enterprise Linux 7 7.9 Release Notes Release Notes for Red Hat Enterprise Linux 7.9 Last Updated: 2021-08-17 Red Hat Enterprise Linux 7 7.9 Release Notes Release Notes for Red Hat Enterprise Linux 7.9 Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • Glossary.Pdf
    2 Contents 1 Glossary 4 3 1 Glossary Technologies Akonadi The data storage access mechanism for all PIM (Personal Information Manager) data in KDE SC 4. One single storage and retrieval system allows efficiency and extensibility not possible under KDE 3, where each PIM component had its own system. Note that use of Akonadi does not change data storage formats (vcard, iCalendar, mbox, maildir etc.) - it just provides a new way of accessing and updating the data.</p><p> The main reasons for design and development of Akonadi are of technical nature, e.g. having a unique way to ac- cess PIM-data (contacts, calendars, emails..) from different applications (e.g. KMail, KWord etc.), thus eliminating the need to write similar code here and there.</p><p> Another goal is to de-couple GUI applications like KMail from the direct access to external resources like mail-servers - which was a major reason for bug-reports/wishes with regard to perfor- mance/responsiveness in the past.</p><p> More info:</p><p> <a href=https://community.kde.org/KDE_PIM/Akonadi target=_top>Akonadi for KDE’s PIM</a></p><p> <a href=https://en.wikipedia.org/wiki/Akonadi target=_top>Wikipedia: Akonadi</a></p><p> <a href=https://techbase.kde.org/KDE_PIM/Akonadi target=_top>Techbase - Akonadi</a> See Also "GUI". See Also "KDE". Applications Applications are based on the core libraries projects by the KDE community, currently KDE Frameworks and previously KDE Platform.</p><p> More info:</p><p> <a href=https://community.kde.org/Promo/Guidance/Branding/Quick_Guide/ target=_top>KDE Branding</a> See Also "Plasma".
    [Show full text]
  • Technical Notes All Changes in Fedora 13
    Fedora 13 Technical Notes All changes in Fedora 13 Edited by The Fedora Docs Team Copyright © 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. For guidelines on the permitted uses of the Fedora trademarks, refer to https:// fedoraproject.org/wiki/Legal:Trademark_guidelines. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Java® is a registered trademark of Oracle and/or its affiliates. XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. All other trademarks are the property of their respective owners. Abstract This document lists all changed packages between Fedora 12 and Fedora 13.
    [Show full text]
  • Extending Qt5 with Open Source
    !Reinvent Extending Qt5 with Open Source Qt Developer Days 2013 Carl Symons Background Transitions Details What's in it for you Carl Symons Large and small tech companies Start-ups; frugal Free/open user & contributor Grassroots LinuxFest KDE News; MWG KDE Technology Platform KDE Flat, lean Democratic Well known & respected Innovative Regular people Largest Participant 20% retention 1 /3 KDE & Qt Part of KDE from the beginning Qt (5/95), KDE (1 0/96) KDE Free Qt Foundation (1 998) Early & largest external Qt user Fill gaps in Qt framework Committed to Qt So ... Sustainable development in a thriving, venerable community Reliable legal backing Quality (extensive use and testing) Permissive licensing Business friendly Transitions The Qt Project (open governance) Qt5 / KDE Frameworks 5 Frameworks 5 Monolithic > Modular Whatcom Sehome Bellingham Fairhaven Incremental Consolidation Frameworks 5 Each function is distinct Move KDE capabilities to Qt Mostly transparent to users Soft Stuff As important as technical Easy to understand and work on More people can contribute Shared responsibility Available to all Qt developers Recruiting value Tiers Refer to link-time dependencies Tier 1 depend only on Qt official frameworks or system libraries Tiers 2 and 3 can depend on same level or lower tiers Types Functional Qt Addons no runtime dependencies; drop-in functionality KArchive—file compression/extraction Threadweaver—multi-threaded code KPlotting—simple plotting KConfig—configuration settings Types Integration Qt Addons optional runtime dependencies;
    [Show full text]
  • Technical Notes All Changes in Fedora 18
    Fedora 18 Technical Notes All changes in Fedora 18 Edited by The Fedora Docs Team Copyright © 2012 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. For guidelines on the permitted uses of the Fedora trademarks, refer to https:// fedoraproject.org/wiki/Legal:Trademark_guidelines. Linux® is the registered trademark of Linus Torvalds in the United States and other countries. Java® is a registered trademark of Oracle and/or its affiliates. XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries. All other trademarks are the property of their respective owners.
    [Show full text]