Collabora Online Weekly Meeting #4

Collabora Online Weekly Meeting #4

Date: Dec 03, 2020

Next meeting: Dec 10, 2020

Attendees: Muhammet, Gabriel Masei, Ezinne , Nicolas Christener, Andreas Kainz , Michael Meeks, Andras, Aron, Gökay, Pedro, Kendy, Pranam, Szymon, Ayhan Yalçınsoy

Telegram spammer

  • kicked off already (Nicolas)

    • some captchas for joining other channels might be good
  • Already have that in the channel (Muhammet)

Quick update (Muhammet)

Toolbar changes (Andreas Kainz)

  • Opened an issue with UI changes

    • hope Pedro can review those, and then we can make the change

    • make issues, get feedback, then push stuff. #836

Contextual toolbars (Andreas Kainz)

  • Opened an issue to talk with Szymon

    • his contextual toolbar patch not in master yet.
  • Top toolbar javascript file is a bit of a mess compared to menubar

  • Everything in one array – can be too much content.

    • Some commands for mobile, text documents, conxtetual etc.
  • Would like different arrays for the toolbars ticket #861

Dynamic changes of Toolbar type (Gabriel)

  • did some tests, it works for different views

  • two views from the same document with different toolbars it seems to work

  • discuss with Szymon – is it ok ?

  • Both in Notebookbar mode but only one shown ? (Michael)

  • Added a parameter to the document URL, passed as an option to core

  • Activate or de-activate the setting, setting it to default or notebookbar.

  • Not tested so much, just opening seems to work

  • when it was developed – in the transition period – we had all at once (Kendy)

    • a window – with the notebookbar + menu-bar + toolbar.

    • Things in general are supposed to work, but glad it didn’t regress.

  • Good to test : (Michael)

    • context sensitive pieces – does ‘bold’ show up in the sidebar, and the notebookbar, and the toolbar everywhere.

    • Contextual differences work (Gabriel)

    • most concerned wrt. Configuration (Kendy)

      • particularly when several people are editing

      • so we don’t see things disappearing etc.

      • perhaps it is just fine.

    • Push a patch & review how that is setup with Szymon (?)

  • Per document – setting, passed to core as an option …

    • activate notebookbar as it is right now, and de-activate to go to classic mode – just de-activate similar to what is there now.
  • Perhaps add a parameter to the viewshell (Szymon)

    • make this per viewshell.
  • For the classic menu/toolbar we do ourselves (Kendy)

    • don’t think anything blocks us – to set it globally in the core

    • it shouldn’t be that surprising that it works.

    • Not a bad idea to store per-user settings for showing one or the other

    • will share the experimental code (Gabriel)

  • Just stick inNotebookbar mode always ? (Michael)

    • and just not send the JSON for classic mode (Szymon)

    • a good 1st step, and then we can do it per-view, and not touch the core.

    • Szymon to help Gabriel on IRC

  • Design → mode set through a URL parameter that opens a document (Gabriel)

    • do we need to add a button in the UI to switch between motoolbars ?

    • Want to store the setting in our database

    • Don’t want to add too many more URL parameters

    • Have added a UI_defaults passed inside the iframe

    • Initial frame setup is a POST not a GET (Kendy)

      • prefer to have these UI_defaults there.

      • Lets talk on IRC about it.

CanvasTileLayer bits (Gokay)

  • Some improvements that should fix Writer & Impress rendering.

  • Fixing calc row/column headers soon to align with the,

  • Crisp pixels at every zoom level

  • Working on a selection issue …

  • Getting rid of the confusion of co-ordinate systems slowly.

  • Will this be iin 6.4.x

Icon theming (css class names)

  • Other meanSome progress (Pedro)

    • used the pull-requests for shapes / classes

    • tried to have fill/stroke of SVGs changing colors – either by CSS or by other means

    • Not possible to change those values from an external CSS

  1. being loaded via CSS – background images.

  2. Client-side vs. Server-side things …

  • Even though it all looks good on paper, load on-line, not see that change.

  • Trying to avoid complexity on the server-side, keep it as CSS

  • thought we could have better luck with CSS filters

  • good news, easy to change colors with CSS masks

  • didn’t get back on this before being 100 % sure what we should do.

  • What if – not loading each icon one by one (Andreas K)

    • one large image / SVG file with all the iicons inside …

    • with a script – can change the properties.

    • With a filter or CSS, it’s more work but it’s more flexible.

    • Load one file, faster, can do what you like with the script.

    • Already tested this script approach (Pedro)

  • Can we get theming / post information in the server ? (Michael)

  • AI: have a call to sort it out (Kendy, Pedro, Andreas K?)

Staging server re-starts for latest commit …

  • need a hole in a cron-tab for our meeting there.

Back-port to 6.4.x -> yes CanvasTileLayer …

  • re-writing to make it work nicely.

  • can use the browser vs. client zoom.

  • look forward to testing.

Impress speedups

  • Mert -> Impress tile rendering …


  • Quikee -> PDF rendering speedup

Filter bits (Szymon)

  • auto-filter drop-downs are ready

  • looking at Pivot Table dialogs

  • needs to be styled with CSS.

  • it looks a bit ugly.

  • Drag & Drop is working there.

Maintaining UIs (Andreas K)

  • Propose:

  • Re-using the notebookbar from core is pain.

  • Not a fan of a new notebookbar implementation in JS / Online (Michael)

  • Classic toolbar layout & the notebookbar (Andreas)

    • same layout, compared to menu-bar layout, all tabs.

    • Everything in toolbar.js file – and maintain one UI

  • Re-using the notebookbar UI from core (Michael)

    • a plus : improvements in the notebookbar will improve LibreOffice

    • code contribtions : is Szymon.

  • We want to do as much as possible in the core ultimately (Kendy)

    • so whenever we make a decision – to do it in JS, or possibility to re-use LibreOffice core – we prefer the core way : this is a complementary approach that improves LibreOffice

    • For something quickly as a prototype, not possible, for 1st version :

      • had to use libraries, providing menu functionality, and core for rendering documents.
    • Next step : routing the dialogs – to get more core functionality

      • not the ultimate goal, still do the development in the core itself.
    • Next step : notebookbar

      • doing it in the core, if it is possible – sending information from notebookbar

      • all this work – helps us with the next step : getting Dialogs routed as information & styled as CSS.

    • Next thing to still do : the sidebar – hopefully sooner rather than later

      • then just have 1 mechanism for all the UX elements in the core

      • able to route the same way to the Online & style them there.

    • We really don’t want to re-write the notebookbar to not use the core.

    • The other way around, if we can get rid of the menus / toolbar library – and re-use the equivalents from the core :

      • at some stage – we get to that as well.
  • So the classic layout in the end would use the menu-bar XML from core (Andreas K)

    • would be great of course ; but at the time we get there,
      perhaps classic is less used (Kendy)
  • Technically this helps us to fix the core LibreOffice as well as doing Online (Michael)

    • eg. style previews in notebookbar (Kendy)

      • are now also in the desktop / core as well.

      • One of the great results of this approach

      • would be faster to implement in JS only,
        but we want to improve the core at the same time.

  • Other examples – lots of little dialogs we don’t want to duplicate (Michael)

  • Notebookbar – spare-time maintained by Andreas & Szymon in the core (AndreasK)

    • didn’t understand we wanted to rely on that

    • it can be easier to do new things

      • agreed – sometimes we cheat, but we want this right long-term (Michael)

Blog post about the iOS app upgrade (Nicolas)

  • Draft version is in internal (Adfinis) review :

  • Will share it with Collabora as soon as our internal review is done

    • Do you have anything else we could/should add to the post?

    • I plan to add an «outlook» part (maybe the canvas TileLayer, grammar check idea, templates, etc.)

6.4 releases out

  • now everything – PC, Online, mobile etc. are all on the same 6.4.x base.

Commits for review ? (Muhammet)

Help / getting setup ?

Next Meeting

Next meeting will take place on Thursday, December 10, 2020 at 11:00 am (UTC) in the jitsi room :

Minutes for the next meeting will be on :