Weekly Status Update 12

Aung Khant Oo Gu Gu wildgugu2020 at gmail.com
Wed Jul 31 11:55:17 UTC 2024


HI,

This is my gsoc weekly status update for improving user experience around
windows.
As a continuation of last week, I was browsing through the files, looking
for ways to save the meta data without requiring to save the document.

In this week, I was able to understand more about storing rdf, storing
document properties and how media descriptors work with
streams and storage although not a complete understanding.

In the first two days, I read the implementation of document properties
service (SfxDocumentMetaData.cxx) and about XML document and node
in the unoxml folder. The main takeaway were that I couldn't find how they
work in tandem with storing the document and
a few examples to work with streams for the rdf for import/export graph.

In the next two days, reading was a bit over the place. I read around the
places where they might be related to storing the document which includes
SID_SAVEDOC,
SfxMedium, MediaDescriptors and some of objstor.cxx. I was able to
understand what it meant by the document contents being referred to as
input/output streams from
yesterday's example.

My new problem was to find out that storage within the document (SfxMedium)
used by both DocumentMetaDataAccess(RDF) and
DocumentProperties(SfxDocumentMetaData)
are separate from the saving (serialization as writer, presentation) or
not. If it can be stored separately without the need for serializing, I
will be able
to add some meta data to the document by something like "storage->commit"
just like using the configuration storage without needing to save the
document.

In the Introduction section of Integrating Import and Export Filters, it
mentions that documents are serialized from the model
and are stored on disk (exporting). As, SfxMedium have storage streams and
can be constructed from the media descriptor, I am currently assuming that
the storage is
part of individual document's data and not for common use like
configuration schema data.  As I haven't understood the filters, I don't
know yet if this gets serialized along with other document data or stored
separately when committed. Another example would be from the
SfxDocumentMetaData.cxx, a comment mentions that
some document properties are stored directly to the storage and user
defined properties are to be serialized.

Yesterday and today, I started implementing about trying to store directly
to the storage, but they end up permanently damaging the file for some
reason.
link to examples - https://gerrit.libreoffice.org/c/core/+/170327

I would also like to add that as I am currently confused, I might be wrong.

If all things do not work, I will have to read and understand about filters
which is a lot of work.

Best,

Aung
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20240731/152a25c9/attachment.htm>


More information about the LibreOffice mailing list