SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand...
Transcript of SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand...
![Page 1: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/1.jpg)
KATARINA BEHRENS, ARMIN LE GRAND CIB LABSLIBREOFFICE CONFERENCE BRNOAUGUST 24, 2017
SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE
![Page 2: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/2.jpg)
SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE
1. WHY SCREENSHOTS, ANYWAY?2. WHAT HAVE WE DONE AND HOW?
![Page 3: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/3.jpg)
1 | 2
WHY SCREENSHOTS, ANYWAY?
![Page 4: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/4.jpg)
IF ALL ELSE FAILS, READ HELP (F1)
Helpful? Better :)
![Page 5: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/5.jpg)
IF ALL ELSE FAILS, READ HELP (F1)
(maybe) The best :)
![Page 6: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/6.jpg)
JOURNEY THROUGH THE LAYERS OF LEGACY HELP CONTENT
➔ Help content in „self-invented“ .xhp format➔ Tedious, hard-to-maintan and hard-to-extend
transformation XHP ➡ XSLT ➡ HTML➔ Help-specifc images part of icon themes➔ not sustainable for larger amount of graphical content in
many languages➔ Challenging to insert more complex content (screenshot,
image etc.) in an efcient, easily repeatable way➔ for multiple platforms ➔ for multiple languages
Date: July 2016
![Page 7: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/7.jpg)
GENERATING SCREENSHOT MUST BE
➔ Repeatable➔ Generate an updated set of screenshots with every new
release➔ Platform- and environment-specifc➔ Diferent sets of screenshots for diferent platforms
(Linux, Win, Mac) …➔ … and diferent icon sets, themes
➔ Localizable➔ Screenshots to match the locale of the help text
Date: July 2016
![Page 8: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/8.jpg)
2 | 2
WHAT HAVE WE DONE AND HOW?
![Page 9: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/9.jpg)
OPEN THAT DIALOG!
![Page 10: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/10.jpg)
WAIT – THERE IS A FRAMEWORK OPENING DIALOGS ALREADY ...
➔ UI-testing framework based on PyUNO (by Markus Mohrhard)
➔ Opens dialogs (by dispatching corresponding UNO commands)
➔ Simulates mouse/keyboard events on misc widgets➔ But …
● performance issues ● verbose, fragile code● challenging to debug PyUNO
![Page 11: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/11.jpg)
SOLUTION: USE ABSTRACT DIALOG FACTORY
➔ Open an empty document from cppunit test➔ Instantiate abstract dialog factory (contained in
Writer/Calc/Impress docshell already)➔ Create any (fake) objects the dialog requires in order to
open – SfxItems, strings etc.➔ Open the dialog➔ Use OutputDevice to take a screenshot in .png format
![Page 12: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/12.jpg)
… BUT IT WAS MORE WORK THAN WE EXPECTED
➔ Fallback to ui-previewer (small C++ binary for previewing LibreOfce .ui fles)
➔ To some extent usable screenshots, but …
➔ Not coping with some custom widgets so well
➔ No way to specify input data
➔ Some dialogs blacklisted, crash with no input
![Page 13: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/13.jpg)
STORE THE SCREENSHOTS
➔ Results in /workdir/screenshots directory➔ Directory structure to copy storage of .ui fles
➔ /workdir/screenshots/cui/ui/areatabpage/AreaTabPage.png
➔ Make them all: 'make screenshot'
➔ a separate gbuild target
![Page 14: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/14.jpg)
ENHANCE THE HELP TEXTS
![Page 15: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/15.jpg)
GET 'EM IN
➔ Copy generated screenshots from workdir to a dedicated folder in help repository
➔ Extend Perl scripts packaging the images to collect content also from help repository
➔ previously only possible for icon-themes folder
➔ Embed images into help fles
➔ I ❤ HelpAuthoring extension :P
➔ Images implemented as vnd.libreofce.image:// URL
➔ localization for free (with matching directory structure)
![Page 16: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/16.jpg)
HIGHLIGHT AND ANNOTATE
![Page 17: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/17.jpg)
LIVE DEMO
![Page 18: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/18.jpg)
NEXT STEPS
![Page 19: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/19.jpg)
WHAT'S NEXT?
➔ Improve the annotation process and markup
➔ Possibly HelpAuthoring integration➔ Automate updating the screenshots
➔ for multiple languages
➔ for multiple platforms
![Page 20: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/20.jpg)
THANK YOU THE DOCUMENT FOUNDATIONAND ITS DONORSFOR FUNDING OUR WORK ON THIS
![Page 21: SCREENSHOTTING YOUR WAY THROUGH THE CODEBASE · 2017. 8. 24. · katarina behrens, armin le grand cib labs libreoffice conference brno august 24, 2017 screenshotting your way through](https://reader035.fdocuments.in/reader035/viewer/2022070922/5fbad7885f567a1cd74396d8/html5/thumbnails/21.jpg)
THANK YOU!