Bringing Collabora Online to Your Web App … Its Easy ! Collabora Productivity

Bringing Collabora Online to Your Web App … Its Easy ! Collabora Productivity

FOSSASIA 2021 Bringing Collabora Online to your web app … its easy ! Collabora Productivity By Michael Meeks General Manager, Collabora Productivity @mmeeks @CollaboraOffice “Stand at the crossroads and look; ask for the ancient paths, ask where the good way is, and walk in it, and you will find rest for your souls...” - Jeremiah 6:16 Collabora Productivity Built with awesome LibreOffice Technology a FOSS replacement for proprietary Online & Mobile Office suites. collabora online . com Collabora Productivity What is Collabora Online ? Built on top of LibreOffice Technology: Over 50m → Excellent interop with Microsoft pulls from → cf. Office 365 / Google Docs ... CODE Collabora Online On-premise Integration with your EFSS: ownCloud, Nextcloud, Seafile, EGroupware Development Edition or LMS: Moodle, or chat: Mattermost docker image Freedom applied → FLOSS giving Digital Sovereignty LibreOffice Technology Pragmatism: “The best line of code, is the one we didn’t have to write” x 10^7 lines Architecture – a bet on CPU threads & network … getting cheaper. collabora online . com Collabora Productivity collabora online . com FOSSASIA 2021 Collabora Productivity collabora online . com FOSSASIA 2021 Collabora Productivity collabora online . com FOSSASIA 2021 Collabora Productivity collabora online . com FOSSASIA 2021 Collabora Productivity Re-use the online responsive UI for apps: 750k installs Available for iOS, Android & Chrome OS collabora online . com How to get it embedded into your app ... Collabora Productivity New this month sdk.collaboraonline.com collabora online . com Collabora Productivity SDK → easy to re-use code templates: “Hello World” skeleton integration(s) ● https://github.com/CollaboraOnline/collabora-online-sdk-examples/ ● Apache v2 licensed for easy re-use Growing set of languages: ● PHP ● NodeJS ● Python Extensive documentation too – but … how does it work ? collabora online . com Collabora Productivity COOL: a state-less drop-in ~micro-service Document data is loaded / stored back to ‘you’ Authentication is managed by ‘you’ (not us) Your existing deployment Users COOL server Document https:// Storage EFFS, LMS, Authentication Chat, etc. Server WOPI-like REST API collabora online . com Collabora Productivity REST-ful WOPI-like protocol: around an iframe To download the file: Just send the iframe your server’s ● GET https://<WOPI host URL>/<...>/wopi*/files/<id>/contents? access_token=<token> ● authentication token your REST interface will need Upload back: ● file identifier your ● POST https://<WOPI host URL>/<...>/wopi*/files/<id>/contents? REST interface will access_token=<token> need (as WOPISRC parameter). CheckFileInfo to provide information about the file: ● https://<WOPI host URL>/<...>/wopi*/files/<id>?access_token=<token> collabora online . com Some examples: give in to peer pressure: all your friends have ! Collabora Productivity Alfresco - Java Alfresco connector available thanks to jeci, Arawa, Magenta collabora online . com Collabora Productivity Egroupware – PHP + JS Connector available thanks to eGroupware from their repository ● https://github.com/EGroupware/collabora ● To match their integration needs, we have ● Improved the printing in Firefox ● Updated dockerfiles collabora online . com Collabora Productivity Kolab - PHP Connector available thanks to Kolab themselves. ● https://git.kolab.org/source/wopi/ ● To match their integration, we had to expose various functionality via postMessage ● Like closing all the views from the master view, downloading or printing collabora online . com Collabora Productivity Nextcloud - PHP/JS Connector originally developed by Collabora, but now with features from Nextcloud ● https://github.com/nextcloud/richdocuments ● Many features in the Online were implemented to match the Nextcloud’s integration needs, like: ● Specification of avatars in CheckFileInfo ● Support for templates – TemplateSource in CheckFileInfo ● /hosting/capabilities – for early check of whether a particular version supports some features or not ● And many more... collabora online . com Collabora Productivity ownCloud – PHP + JS + GO / Python - OCIS Originally implemented by Collabora, now with features from ownCloud & CERN ● https://github.com/owncloud/richdocuments ● To match their integration needs, we are improving Watermarking substantially ● So that each user in a document can have a different, dedicated watermarked, secure view. collabora online . com Collabora Productivity Mattermost – GO + JS collabora online . com Collabora Productivity Moodle – PHP+JS - live document editing Thanks to ● Michael Wuttke Beuth University of Applied Sciences – Berlin ● Jan Dageförde - University of Münster. ● Davo Smith from Synergy Learning. collabora online . com Beyond the basics making it pretty too: Collabora Productivity Getting style guide: a how-to ... collabora online . com Collabora Productivity ui_defaults: posted with the iframe: <input name="ui_defaults" value="TextRuler=false;StatusBar=false” type="hidden"/> ‘;’ delimited options in a post field. uiMode=classic/notebookbar – select menu/toolbars StatusBar=false - hide status bar TextStatusBar=false - hide status bar only for Text other prefixes: Presentation/Spreadsheet Sidebar=false - hide sidebar by default Ruler=false - hide ruler by default … etc. collabora online . com Collabora Productivity css_variables: posted with the iframe: <input name="css_variables" value="co-color-main-text=#000;--co-body-bg=#FFF--co-txt- accent=#38257a;" type="hidden"/> ‘;’ delimited options in a post field, default (for now) are: --co-primary-element: #4c566a --co-primary-element-light: #706aab --co-txt-accent: #38257a --co-primary-text: #ffffff --co-border-radius: 3px --co-body-bg: #ffffff --co-color-main-text: #000000 collabora online . com Collabora Productivity Integration / theming / palette & settings ... collabora online . com Collabora Productivity collabora online . com Collabora Productivity Before: collabora online . com Collabora Productivity After: theming / palette & settings ... Ruler off by default Nextcloud Sidebar was here … highlight colors Lighter document background collabora online . com Securing & Scaling your docs Collabora Productivity Security: pre-init, fork & drop capabilties ... everyone in their own chroot + seccomp-bpf + ... chroot • no shell • handful of NSS shared libraries, etc. • fonts • one document. Pixels come out ... collabora online . com Real world: ~45k users – Collabora Online – SURFdrive Usage CPU Free RAM: 13.5Gb → 11Gb CS3-2020-01 Telco / Hosters with Collabora Productivity millionswww.collaboraoffice.com of users Collabora Online 6.4.0 N e w s t u ff Collabora Productivity Eclectic Notebookbar UX choices: to taste Can collapse to just a menu ... Or just menu/toolbar collabora online . com Collabora Productivity collabora online . com FOSSASIA 2021 Collabora Productivity Online commits By aff iliation (last year) Collabora 18 2 5 | Others 3 15 | CIB 21 | 1&1 97% 28 | Volunteers PDF Search, Collaboration & Annotation collabora online . com FOSSASIA 2021 Collabora Productivity Improved chart editing sidebar functionality collabora online . com FOSSASIA 2021 Collabora Productivity Calc: Improved sheet movement: collabora online . com FOSSASIA 2021 Collabora Productivity Calc: customize & create Pivot Tables collabora online . com FOSSASIA 2021 Collabora Productivity Calc: define & manage range names & print ranges collabora online . com FOSSASIA 2021 Collabora Productivity Calc: Statistical tools for data analysis Sampling Descriptive Statistics Analysis of Variance (ANOVA) Correlation Covariance Exponential Smoothing Moving Average Regression Paired t-test F-test collabora online . com FOSSASIA 2021 Z-test Chi-square Test Collabora Productivity Gutter Margins – for Taiwan and elsewhere ... Very useful for Government binding standards: collabora online . com Already shipping. (text/date via Insert>Header and Footer) .. 42 Collabora Productivity Bringing Draw to Online: Fontwork Wavy & complex 3D text: collabora online . com (text/date via Insert>Header and Footer) .. 43 Collabora Productivity The pieces you can’t see Performance Misc ● ~20% faster rendering time ● iOS multi-document support ● Faster interactive editing of cells ● Substantial cypress automated test ● Bind-mounting of document jails coverage. (instead of hard-linking) ● Cluster debugging / warnings … check ● Improved watermark caching matching ServerIds ● Slide content pre-fetching And much much more … ● On-demand slide thumbnail fetching. ● ● Significant PDF rendering improvements 3600+ commits. ● ● Significant thumbnail / download Innumerable bug-fixes & improvements speedups collabora online . com FOSSASIA 2021 Next ... more rapid fire incremental goodness coming ~next week ... Collabora Productivity Bringing Draw to Online: Connectors ... Shapes, Glue points, Connectors: collabora online . com Due in 6.4.x next week (text/date via Insert>Header and Footer) .. 46 Crisper rendering … not just crispness Better zoom handling ● With some devices, non-100% zoom, poor ‘crispness’ ● Browser is interpolating; on Linux – Chrome → 97.7% device scale (1000/1024) ● Pure Canvas (still tile) rendering – at pixel-grid scale ● Dropping ‘leaflet’; major code & dependency simplifications / shrink. ● Split panes on mobile / tablet devices ● Re-written in TypeScript → easier to maintain & scale Enabling more future smarts: ● Rendering calc grid, page outlines, re-ordering pages etc. on the client collaboraoffice . com VBA / StarBasic – just an option (!) Thoughts:

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    51 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us