 Hello, can someone hear me? Yeah, we can hear you Sven. Hi. So yeah, you get about five minutes. Yeah, cool. I shut out the last talk by letting everyone know that you'd be up next. When I'm putting these slides on full screen, I'm not able to see the chat, right? At least I didn't find a solution until now. But just to mention it, that after 50 minutes I come back, otherwise you have to talk. So don't write to me and you have to talk to me if something's wrong, okay? Yeah, you have 15 minutes. I will obviously interrupt if you drop off, but the hard part is it has been where people have, some speakers have been lost with audio and then continue to talk. So, you know, if you want to say, hey, can you hear me? I'm sure if you have any doubt, I'm sure it would be helpful. But I mean, your talk I believe is only 15 minutes. So I mean, like, you know, we should all be, I mean, I'm sure there's enough time. You know, you'll have moments to check and see it first up there. Sure, sure. That's because nobody is saying anything. We're just waiting for the whole hour. But we might start. One minute is, the beginning is... It's up to you. Yeah, let's start. Let's start. Come on. And I have one minute for questions. Okay. Can you see the slide? Yeah. Okay. So it's about the Audiof Toolkit. And first to myself, as I said yesterday, it was my 21-year anniversary because on the 15th of October I started Star of December. And I'm, well, the maintainer for TDF Audiof Toolkit, meaning there's no real maintainer, but I was responsible at some for the Audiof Toolkit or the Audiof Don and I'm still clunky to it. And since a few months I'm an editor of GC, similar as Michael Stahl, and also co-chair since five months. And you might know this year from the Audiof Toolkit, we used this recently for validating the ODTs from the specification and found some errors and Michael and I fixed them. They should be online so far, I believe. And the full set of scenarios that have been covered with the Audiof Toolkit is a site of the Audiof Validator. There's a archive you can create and you can install it easily local, what I'm doing on the Tomcat, for instance. You can use the Audiof Validator as well. And you can use it like a LibreOffice in regression tests by Java, command line. And I fixed it. You can use the Y as well. So then there's some called XLT Runner. There's just, you can run XLT directly on the Audiof files without unzipping them. And the core part is the Audiof Tom, which was created in the beginning of 2000 by Sun and IBM putting the Sun started and IBM joined just to their customers working just on the server, just one of few things you don't want to use a full LibreOffice. And that was just, so it erased. It's just like, it's no rendering layout. It's just altering, editing by API. And the common use cases are data expressions like point translation when you exchange the text or data insertion. That's most often the case where you have a template and certain patterns should be exchanged for data from databases. And since 1.0, it's, which is on the master's piece, I haven't done the releases yet, is the coloration on ODT. It's, yes, it was the back end of the web office from OpenExchange, for instance, the Bayfork region. And to tell you more about the architecture, it's, the Audiof Tom is being created by a source code generator. And the Audiovalidator uses Audiof Tom, so does the XLT runner to do the trick to to access the XML to be translated. And there was a fork, a simple API from IBM that's been deprecated 1.0. It's out of the 1.0. It's deprecated now. And unfortunately, they, IBM never rejoined. I mean, yeah, they're not active and it's so much duplicated code, it's not worth it. And we have to take parts which are useful back to the Audiof Tom high layer. And so the source code generator, I mentioned yesterday, the specification is like a blueprint. And it has been to the side of the specification. The ODT document is also a grammar. And this grammar has 18,000 lines of text. And there's a lot of XML and attributes that Audiof Tom has been created of. Audiof Tom basically is a DOM tree, but it's a type DOM tree. So there's a text P element. And you have special API that belongs to a paragraph. So it should ease the usage of Audiof without knowing much about the schema. And to read this, the multi-schema validator is being used, which was once done by Sun. And yeah, I'm planning to take this over into the TDF as well, because it's been not updated. I'm still working on this. And the last thing, there's also some work in the Audiof one. It's in there to have a graph built up from the schema. And it's not completed through velocity. It's still used in the multi-schema validator and not thinkable. But that's what I'm doing. And the velocity is some open source project as a template engine where we create Java source. We generate Java source files and filling them with the data from the graph. So that's the basic trick here. What the architecture is, the package API is based on the Audiof one, part two. Currently it's still one or two, but I have to update it soon. And the XML layer is based on it's always a different ODT document, so part three, the schema. And the last thing, the schema layer is what I mentioned yesterday is missing yet. And we should do this in the audio specification to have a high level view on things, because the users know what a table is and what a paragraph is. And even more interesting, they know how to change it. It's very common that people want to insert a row or insert a column, but it's not specified. There's no interrobability on these changes. And this semantic high level view and the changes should be added. And this is like work in progress. So what's this? Oh, yeah. This is blue here, strange. But the future goal is basically that this semantic high level API, the user don't have to care about XML. He just has to care about how we implement it, but he just wants to go high level. Like, oh, I want to open a text document and take a second paragraph and make the fourth to seventh character bold. Something like this, yes. And currently it's a lot of openly content XML and many, many detailed things. It should be more high level. So the semantic is not new. When I started 99, my first job was to, for the first one bit of web office, to write a viewer from ODF. Currently it was not ODF at the time. There was Open Office XML. Yes, because Microsoft changed it, I was confused. Office Open XML, they tricked it by changing the name. And I transformed certain semantics like the table and the list and the image into HTML. And this is the same XLT that's still being used by the LibreOffice export filter and for the transformation of the ODN specifications, HTML and other things. That was the first step. And the second step a few years later was when they realized a viewer is not enough, but we have to do it both ways. So it's time, it doesn't work with the XLT, which is pretty. So we had to use Java and we transformed back and forth HTML. But still, the web editor uses full document that would be in exchange. And this is not very clever for having a web office that needs collaboration. So just to tell you about collaboration in a nutshell, the most important question is like software development or if you exchange anything of work and you collaborate something, you call the other guy up and ask, hey, what have you changed? And because you need to merge it in the end, you want to have one instance. So how we do it? And the interesting thing is there's a view on a document like it's a shock frozen document of the state, but we implemented something that transforms something being a document ODT into a list of changes like if the user would create the document from top down step by step. And this was sponsored by Prototype Fund that's being added to the route to the ODF toolkit. And it's like a black box, like a compiler where you put in one side the ODT document and get changes out. And at the same time, you can put new changes in that can be same document and with new changes or you can apply changes to the existing document and get a change document out. So this is like both ways here, yes? And you can do the same thing. You can test it pretty easily if you download the ODF.java. You can see here the link, but I linked the ODF.java. And if you have something like JDK9 or later, you can use this jar with all inclusives and put as a parameter any ODT and get it as an output on the command line, all changes. And this is something where we can find some, first of all, some naming here. The ODF change is like a user change that's coming from a user change that a user does on the GUI, like he's changing inserting a table or inserting a row. That are the common changes that any rich text editor is offering or any ODF application. You can see, as you've seen earlier, a serialized JSON API icon. And to me, this ODF semantic is equivalent to ODF feature. So we have ODF feature within the grammar and ODF spec because the ODF specification explains all the new features, all the features that ODF applications can implement and the ODF feature is then in an ODF document and it's still supported by ODF applications. Across all three layers are different silos. And now I have a proposal for the LibreOffice team where I can see synergies. That's in feature testing because I'm testing ODF DOM by itself because I put a document in and get changes out. And these changes I apply on an empty document. And I get then an ODF out document which should be the same as the ODF in document. And usually I put this ODF out again into changes and compare them to changes because it's easier. So this here is similar to in document to changes and apply them as plus meaning apply and yellow means using ODF DOM and get an ODF out document. So we might do the same thing with LibreOffice and changes on LibreOffice and an API to get an ODF document out. And we can do this as well similar to Puppeteer for Chromium to have a if there's any GUI tool to various I believe to get an ODT out. The difference is that the changes like a common language, a common interface to glue this together. And the funny thing is you see you can apply changes simply by saving them as a document and apply them. It's very easy to apply a test to GUI because the API calls are the document. So I rushed through it and what I've forgotten, I realized when I started is the slides about the releases. I worked, so wait, I come back to the chat now. Yes. So I've got four minutes, that's cool. Regarding the releases, I spent about seven weeks to finish only a one or three that's why they came in editor and the chair and because there was wrong things wrong with the HTML and the default extraction and different various things. And these seven weeks I'm somehow missing out and I planned earlier to do a release for 0.9 which is basically done but I got problems with the mark down to HTML generation. But then there should be in 1.0 very quickly afterwards which embraces all the stuff that we have funded and then very quickly afterwards it's 2.0 which embraces only one or three because unfortunately because we're generating at the moment there should be one model and this is either based on one or two or on a three and unfortunately this specification does not define something like changes between these versions which might come up in the future. So are there any questions? Yes. Thanks. That's a good question. Nice to see you. It would be better to do for science or go for science projects. Thanks. Yes. So I will get in contact on the death list as soon as I've done the releases and did this work I think this is my first priority now to do the releases aside of finishing the ODF specification one or three but this is just voting next Monday there will be vote it's being formally one or three specifications or something I'm not firming this wording yet but then I'm going to implement a release one or zero one at 0.9, one at zero and two at zero which is basically the same thing and one or three generated with a few other enhancements. Okay. And yes and then I'm looking forward to get in contact with QA team if there's any way to with the synergies between ODF done from the door to the FN leave office. Yes. I just realized that I, Michael joined the late problems here. Okay. Yes. I put the slides online and then we'll of course put some oh this is something I forgot because I've got problems with Markdown and GitHub Markdown which spent a lot of time and I fell in love with Swings which is not a science project it's yet another Markdown but it's made for Python right and I saw the MongoDB which is a wonderful front and I'm going to test this and maybe we can have synergies there as well and yes but I write this on the list I'm not done yet I guess yes if there's any question do you hear me? We can hear you, yeah. Okay. Come on. Any questions? What? What a science. I didn't understand. Okay. Okay. So no further questions I guess I give room. The next is about to start now. It's me, yeah. Bye bye. Bye Swanta and if you can stop sharing your screen. I try, I try. Where is it? Give me. There should be a button in the bottom left of the jitzy window. There we go and now hopefully all being well I can share.