RDF metadata XML

Thorsten Behrens thb at libreoffice.org
Wed Aug 26 10:17:19 UTC 2020

Hi Rosemarie,

interesting initiative, some comments inline -

Rosemarie Haberecht wrote:
> Requirements for Libre-Office are:
> - internal RDF Metadata tag logic/visualization in layout
Yep, that's missing sadly - Dennis already referenced tdf#30709,
though perhaps would be good to specify a bit more what kind of UI you
actually need here (if you have mockups like for the other
features?). Depending on whether that's what the submitter of
tdf#30709 meant, those UX mockups/examples can go to that enhancement
task, or rather need a new bug report.

> - a status bar, a task pane and a customized menu, as well as key
>   combinations
Ilmari answered that - reasonably straight-forward to implement that
as part of a LibreOffice extension (who can additionally
customise/modify UI).

> - a status bar: arranging buttons
>   https://mobileguides.de/downloads/libreOffice/Statusbar.png
Can't easily tweak the existing status bar, but if adding an extra
statusbar (essentially just a toolbar by all intends and purposes)
would cut it - that's also quickly doable.

> - a task pane: arranging GUI for the visualization of additional attributes
>   for a metadata object
>   https://mobileguides.de/downloads/libreOffice/Taskpane.png
LibreOffice supports extending the sidebar panel from Extension code,
you have comparatively large screen real estate there, and the stuff
can be context-sensitive. If you need pointers how to implement custom
sidebar content, let us know.

One rather complex example of what's doable is the WollMux extension,
code is here: https://github.com/WollMux/wollmux-core

> - customized menus for quick functions
See above, that's easily doable.

> - Key combinations for ingest and tagging functions

> Now we ask ourselves the question which parts of the requirement can be done
> where?
> Kernel - visualization of the tags, interface to access the metadata
> objects
Yeah, let's call it core - that's indeed changes that need doing
inside Writer c++ code. RDF metadata API is already available though.

> Plugin - Taskpane extension?
> Extension - Addon when is what used, is it the same?
> Macros - Basic internal macro functions controllable via menu
The above would be subsumed under one or more LibreOffice extensions
(see link from Ilmari for how to get started there).

Implementation language is certainly a matter of taste & personal
preference; from a tech stack perspective, Basic is probably the worst
possible choice though - not the least because there's very little
support libraries available.

Personally, I would use either Java or Python for extension - they're
both cross-platform, have a vast ecosystem of tools & libraries, and
feature 1st-level support in LibreOffice. Python has the slight upside in
that it's built-in for _every_ LibreOffice installation; for Java, an
additional JRE install is usually required.

Hope that helps, all the best,

-- Thorsten
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1032 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20200826/89f5dfae/attachment.sig>

More information about the LibreOffice mailing list