![Page 1: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/1.jpg)
Lightning Talks!
LibreOffice Hackers
![Page 2: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/2.jpg)
Slot #1: Moggi/UI Testing
![Page 3: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/3.jpg)
3LibreOffice Presentation Template (Community)
UI Testing
Markus Mohrhard2017-02-04
![Page 4: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/4.jpg)
Design of our UI Testing
2 component solutionIntrospection code in LibreOfficePython code with the actual tests
Communication through an untyped UNO interface
Element discovery through the ui-file IDs
Event based approach -> no sleeps
![Page 5: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/5.jpg)
The Good Part
Most UI elements already covered
Good element discoverability
Avoids test failures for unrelated changes
Can support any feature we need
Is close to the code paths taken by real user input
![Page 6: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/6.jpg)
The Bad/Ugly
New elements need support on the LibreOffice side
Backward compatibility of the tests
Slow tests (around 5s)
Need to maintain our own framework
![Page 7: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/7.jpg)
7LibreOffice Presentation Template (Community)
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
Thanks …
… to all LibreOffice donors for making it possible!… for supporting LibreOffice!
![Page 8: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/8.jpg)
Slot #2: Moggi/Manual Testing
![Page 9: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/9.jpg)
9LibreOffice Presentation Template (Community)
Deprecating Manual Testing
Markus Mohrhard2017-02-04
![Page 10: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/10.jpg)
Manual Testing Today
![Page 11: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/11.jpg)
Manual Testing in the Future
![Page 12: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/12.jpg)
Or let the computer do the stupid tasks!
![Page 13: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/13.jpg)
A framework for complex test.
Run on release builds.Start VM with clean environment for tests.Script the hell out of it with python.
Installation testingPartial updates adds to the problem
Testing integration with system resourcesTesting interaction with external services
https://gerrit.libreoffice.org/gitweb?p=ui-test.git;a=summary
![Page 14: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/14.jpg)
14LibreOffice Presentation Template (Community)
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
Thank you …
… for listening!… for supporting LibreOffice!
![Page 15: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/15.jpg)
Slot #3: Svante/CHANGES
![Page 17: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/17.jpg)
ODF: Saved User Data
OpenDocument fileshock frozen user's work (serialized run-time model)derived from StarOffice's / OpenOffice's run-time modelconsists of zipped XML, images, etc.
![Page 18: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/18.jpg)
ODF: Interface between Applications
OpenDocument fileinterface between ODF applicationsOASIS specification = blue print ISO standard (ISO countries can demand usage by law)
![Page 19: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/19.jpg)
ODF: Market Impact
Microsoft's OOXML ISO standardMicrosoft invested incredible amount of money creating own XML based zipped file ISO formatOffice Open XML is called after the first ODF Open Office XMLWhy did they invested so much money?
![Page 20: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/20.jpg)
ODF: Obstacles
CollaborationWorks with one editor at the time (OOXML has same problem)No easy way to merge / explain difference (a change)Shared editing would require Versioning System (GIT)
Run-Time API3rd party software can not rely on standardized APILike HTML has DOM during run-time
TestingPossible: Load → Save → TestImpossible: Load → Edit feature (→ Save) → Test (equal ACID Tests for HTML/CSS: loading the ODF showing result)
![Page 21: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/21.jpg)
ODF: ODF ISO Changes
ChangesDocuments are too large for efficient collaborationExchanging changes on 'user known objects' insteadA document is equal to a sequence of changes (any order of changes lead to the same document)Changes refer to unique document version (e.g. hash not on XML, but logical user objects)
![Page 22: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/22.jpg)
ODF: Future Scenarios
ScenariosSending Change Request: Fixed Typo in 5th paragraph replace 3rd character with 'x'Versioning Systems:Give me all changes on contract since I was on vacationCommenting Signed Documents:Signed XML can not be broken, but changes in file aside (signed themselves)
![Page 23: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/23.jpg)
Slot #4: Samuel/gpg4libre
![Page 24: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/24.jpg)
FOSDEM 2017
GPG4LIBRE: INTEGRATING GNUPGINTO LIBREOFFICE
![Page 25: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/25.jpg)
CONCEPT
gpgme
IPC
...
![Page 26: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/26.jpg)
FIRST STEPS
![Page 27: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/27.jpg)
FIRST STEPS
![Page 28: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/28.jpg)
Slot #5: Cor/How TDF works
![Page 29: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/29.jpg)
04-02-2017LibreOffice - TDF / Nou&Off
29
¨ TDF is the 'House of LibreOffice'¨ started with 'Next Decade Manifesto'
"run, copy, distribute, study, change and improve" … and more
¨ solid Berlin based Stiftung¨ statues guarantee shared influence,
prevent single-party domincance(max 30% of the members of TDF-bodies can be from one organization/the same affiliation)
The Document FoundationThe Document FoundationManifesto: https://www.documentfoundation.org/foundation/overview/ Statues: http://www.documentfoundation.org/foundation/statutes/
![Page 30: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/30.jpg)
04-02-2017LibreOffice - TDF / Nou&Off
30
TDF GovernanceTDF Governance
¨ members: 'Board of Trustees'– individuals; elected based on work
and criteria in statues
¨ Board of Directors – governance, supporting TDF goals
¨ Membership Committee– decides on membership applications
http://www.libreoffice.org/about-us/governance/
![Page 31: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/31.jpg)
04-02-2017LibreOffice - TDF / Nou&Off
31
other TDF-bodiesother TDF-bodies
¨ Engineering Steering Committee– technical discussions code, infra, QA,
localization, documentation
¨ Advisory Board– organisations/enterprises that
support/donate– meets with the board for exchange of
information and views
http://www.libreoffice.org/about-us/governance/
![Page 32: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/32.jpg)
04-02-2017LibreOffice - TDF / Nou&Off
32
board of trustees (“members“) - main element of meritocracy -Last years appr 200 natural persons, no corporations
Anyone having contributed for three months, and planning to contribute another six months,can apply for membership, which lasts one year, and can then be renewed.
(application: https://www.documentfoundation.org/governance/members/application/ )
board of directorsRepresents TDF and runs daily business
7 directors and 3 deputies – term of two years
from various countries, languages and backgroundsrepresenting the broad range of the community
membershipcommittee
5+3 membersterm of two years
countercyclical to board
electionof the boardby and from
organizingelections
election ofthe
committee
admittanceand
exclusion
TDF governanceTDF governance
![Page 33: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/33.jpg)
Slot #6: Cor/Introducing LibreLex
![Page 34: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/34.jpg)
<DEMO PLACEHOLDER>
You want to watch the video...
![Page 35: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/35.jpg)
Slot #7: Jmux/VCL EventLoop
![Page 36: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/36.jpg)
Tackling the VCL event task loop
Speaker: Jan-Marek Glogowski – Linux Client Team
FOSDEM 2017, Brussels, 13 de fevereiro de 2017
![Page 37: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/37.jpg)
37Tackling the VCL event task loop · Jan-Marek Glogowski · 13 de fevereiro de 2017
The origin – there is even more „WTF!?“
● There are mainly two different Tasks: Timers and Idles● Idles are instant Timers, which run when „LO isn‘t busy“
– Busy is defined in some backends as „no system event available“, some don‘t implement it
● The event / task loop is run by a system timer and the Yield loop● If a system timer occures, we and might process a system event
and a LibreOffice task.● If there is no system event, we process two LO tasks
● The MacOS backend sometimes (?) misses system timer events● Some backends define multiple system timers!?● For all this reasons LO basically does some kind of
„optimized“ polling, AKA we have too many wakeups
![Page 38: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/38.jpg)
38Tackling the VCL event task loop · Jan-Marek Glogowski · 13 de fevereiro de 2017
Current status
● Only schedule by priority → no more busy handling● Single system timer work on all non OSX platforms → Mac
development platform incoming● No more minimal sleep time of 1 ms → 0 ms timers work for
continued processing (no more forced minimal sleep)● Quite some refactoring of the whole task handling code● All patches pass all existing and new tests● Round-robin same priority tasks correctly● More unit tests to test the task loop
The heavy desktop / LOK unit tests are good stress tests
![Page 39: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/39.jpg)
39Tackling the VCL event task loop · Jan-Marek Glogowski · 13 de fevereiro de 2017
The target system
● Run LO loop only from the system loop● Just a single system timer in all backends ● No more polling – the LO loop restarts the timer to be re-invoked● Don‘t walk the list of tasks multiple times → some unit tests break,
because they assume LO task loop is slow● Correct locking is hard to implement
● Tasks aren‘t owned by the task loop. Eventually go with an additional loop global lock.
Allow to run a single loop per thread, which owns the tasks and executes them, like all other event loop implementations.
![Page 40: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/40.jpg)
40Tackling the VCL event task loop · Jan-Marek Glogowski · 13 de fevereiro de 2017
Further information and contact
email: [email protected]
Or even visit us!
![Page 41: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/41.jpg)
Slot #8: Olivier/New Help System
![Page 42: Lightning Talks! - FOSDEM · 2017. 8. 21. · 04-02-2017 LibreOffice - TDF / Nou&Off 29 ¨ TDF is the 'House of LibreOffice' ¨ started with 'Next Decade Manifesto' "run, copy, distribute,](https://reader036.vdocuments.mx/reader036/viewer/2022071402/60eff55516d30663c3177da3/html5/thumbnails/42.jpg)
<DEMO PLACEHOLDER>
You want to watch the video…And here’s the link to the test VM: http://vm173.documentfoundation.org/index.html?page=shared/test.xhp