Date: prev next · Thread: first prev next last


Hello Andrew,

Thank you for bringing up this problem, I have created:
https://github.com/tdf/odftoolkit/issues/86 (and some more dependent
information in https://github.com/tdf/odftoolkit/issues/87)

Let me give you (and everyone) a quick head's up as I have some good news:

After Easter vacation (this week), I am planning to continue to work on
finishing a very old and difficult issue in the generator project
https://issues.apache.org/jira/browse/ODFTOOLKIT-187 which breaks currently
our code generation using the Multi-Schema-Validator (MSV)
<https://github.com/xmlark/msv/tree/build-refactoring>.
The problem is complex but it helped to read the RelaxNG specification,
esp. about its simplifications
<https://relaxng.org/spec-20011203.html#simplification> being done as well
by MSV.
BTW meanwhile, I have received rights for Maven release for the
Multi-Schema-Validator (MSV) release and my current plan is to make it a
new TDF project.
This MSV issue above is blocking the ODF 1.3 release, as I need to generate
a new DOM model from the ODF 1.3 grammar.
Likely I will do three releases in a quick sequence:

   - ODFDOM 0.9.0 - last JDK 1.8 release with last Simple API bundle
   supporting ODF 1.2
   - ODFDOM 0.10.0 - bundling ODF change
   <https://tdf.github.io/odftoolkit/odfdom/operations/operations.html> support
   using JDK >=9 release (tested with LTS JDK 11) supporting ODF 1.2
   - ODFDOM 0.11.0 - bundling ODF change
   <https://tdf.github.io/odftoolkit/odfdom/operations/operations.html> support
   using JDK >=9 release (tested with LTS JDK 11) supporting ODF 1.3

I would love to have a stable API for 1.0.0, therefore the 0.* releases
now, as I will work on the API in the next months.
It is unfortunately not possible, yet, to generate an ODF model that saves
& loads both ODF 1.2 and ODF 1.3. This might & should be changed in the
future (by a better ODF specification stating the differences). BTW I have
become at the end of last year also OASIS ODF co-editor (similar to Michael
Stahl on CC) for the OASIS ODF 1.3 release of the OASIS standard
<https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office>, where
we both set up a GitHub repository for the ODF specification creation
process: https://github.com/oasis-tcs/odf-tc - we plan to extend our work a
lot for ODF 1.4 and improve our tooling to automate the ODF releases for
OASIS.
In addition, I became OASIS ODF TC (technical committee) co-chair. Helps to
be here in this project maintainer, who likes to generate and there at
OASIS co-chair who propagates to make the relevant data accessible by
automation from the spec (or generate the spec from these artefacts).
Last but not least, I was able to sign this year a contract for an EU
subproject to receive funding for my upcoming work in the ODF Toolkit,
especially ODFDOM:
https://nlnet.nl/project/InDocumentSearch/
Therefore, after months of little time, I can finally draw my full
attention to this project again! \o/

If you (or anyone) got any questions we might as well organize a short
JITSI call - question and answer - if you like - even this week! :-)
Not sure how we do this best, but perhaps using Doodle? I am located in
Europe, just to mention my time zone ;-)

What do you think?

Best regards,
Svante

PS: Regarding your Simple API problem, it seems the Simple API has changed
and you need to analyse its history when and in what context this was
changed.
Simple API was always an IBM fork and never on my focus, therefore I do not
remember anything about their API changes. Sorry!


Am Do., 1. Apr. 2021 um 15:39 Uhr schrieb Andrew Willerding <
awillerding@callistacti.com>:

Hi Svante,

Thank you for getting back to me so quickly!

1) I "resaved" the .fodt file to a regular .odt file with LibreOffice
and was able to quickly resolve this issue as you had suggested. I
mistakenly "just assumed" that the toolkit would handle any type of odt
related files and had previously used the flat odt since it was a way I
could easily see DOM contents.

2) I certainly understand the time limitations and priorities you have
when doing such a migration. I just pointed out the broken links just in
case you weren't aware of it.

3) You already have the "Simple API (deprecated)" link on the
odftoolkit.org web site and I'm guessing that most users of the ODF
Toolkit will be like me and will not need more than that. It was
certainly enough to do I needed to do with the Toolkit at the time.
Unless I'm mistaken and since it's deprecated, there's no clear path on
how to move beyond the deprecation. It would be nice to have a updated
https://odftoolkit.org/simple/gettingstartguide.html and
https://odftoolkit.org/simple/document/cookbook/index.html that don't
use the deprecated simple library.

For example, I am now stuck at this point in my code:

template = TextDocument.loadDocument(templateFile);
String docSearchFieldName = "LastName";
VariableField myField =
template.getVariableFieldByName(docSearchFieldName);

as I'm getting

java.lang.NoSuchMethodError:
'org.odftoolkit.simple.common.field.VariableField

org.odftoolkit.simple.TextDocument.getVariableFieldByName(java.lang.String)'

I don't know what has replaced this method or how to move beyond this
point.

Thanks,

Andrew



On 2021-03-31 6:03 p.m., Svante Schubert wrote:
Hello Andrew,

    1. You get a ZIP file error, as it seems you are loading a flat XML
file
    (all XML in one file without ZIP).
    The usual suffix is ODT and your file's suffix is FODT.
    Drag & Drop your input file into a text editor or try to unzip it.
:-)
    2. The broken links are a combination mistake of Michael and me, I
have
    not fixed it as I am chewing on an 8-year-old source code generation
    problem.
    But I am getting closer...
    3. Example Code can be found in the test folder of ODFDOM, but you
are
    absolutely right it should be better documented. Any suggestions on
where
    to place it?
    Considering switching the HTML generation from old proprietary (no
    longer supported) Apache Markdown to HTML conversion with Sphinx -
created
    for API documentation in the first place.

Good luck and happy holidays!
Svante

Am Mi., 31. März 2021 um 21:38 Uhr schrieb Andrew Willerding <
awillerding@callistacti.com>:

Hi,

I haven't used the ODF libraries since they were part of Apache and now
I have a project I'd like to make use of manipulating and creating ODF
files and understand that "things have changed."  ;-)

I'm trying to run this code which ran fine with the Apache libraries

          try {
              template = TextDocument.loadDocument(templateFile);
          } catch (Exception ex) {
              logItem("Template:" + templateFile.getAbsolutePath()
                      + ",TemplateFile not found.",
                      ex);
              throw new IOException(ex.getMessage());
          }

and receiving

java.lang.IllegalArgumentException:
org.odftoolkit.odfdom.pkg.OdfValidationException; The ODF package
'file:////ReportTemplates/ReportAgr.fodt' shall be a ZIP file!

My Maven dependency is ..

          <dependency>
              <groupId>org.odftoolkit</groupId>
              <artifactId>simple-odf</artifactId>
              <version>0.9.0-RC1</version>
<classifier>jar-with-dependencies</classifier>
          </dependency>

I guess I have 2 questions.  The immediate question is why am I getting
the ZIP file error and how do I fix the situation.  The second question
is where do I find the documentation on how to use the new ODF Toolkit?
The links seem to be broken on the web site.
(https://tdf.github.io/odftoolkit/docs/
<https://tdf.github.io/odftoolkit/docs/>) I have a simple need.  I have
created a template document that I want to use to replace fields (like
name, address) with dynamic values and also add items to an existing
table.

Some existing example Java code to do this would be very very helpful.


Thanks,

Andrew


--
Andrew Willerding
Callista CTI

    ph: 416 444-9702 x9455
    fx: 416 444-9732
cell: 416 712-2323
   www: http://www.callistacti.com


--
To unsubscribe e-mail to: dev+unsubscribe@odftoolkit.org
Problems?
https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more:
https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.odftoolkit.org/dev/
Privacy Policy: https://www.documentfoundation.org/privacy

--
Andrew Willerding
Callista CTI

   ph: 416 444-9702 x9455
   fx: 416 444-9732
cell: 416 712-2323
  www: http://www.callistacti.com


Am Do., 1. Apr. 2021 um 15:40 Uhr schrieb Andrew Willerding <
awillerding@callistacti.com>:

Hi Svante,

Thank you for getting back to me so quickly!

1) I "resaved" the .fodt file to a regular .odt file with LibreOffice
and was able to quickly resolve this issue as you had suggested. I
mistakenly "just assumed" that the toolkit would handle any type of odt
related files and had previously used the flat odt since it was a way I
could easily see DOM contents.

2) I certainly understand the time limitations and priorities you have
when doing such a migration. I just pointed out the broken links just in
case you weren't aware of it.

3) You already have the "Simple API (deprecated)" link on the
odftoolkit.org web site and I'm guessing that most users of the ODF
Toolkit will be like me and will not need more than that. It was
certainly enough to do I needed to do with the Toolkit at the time.
Unless I'm mistaken and since it's deprecated, there's no clear path on
how to move beyond the deprecation. It would be nice to have a updated
https://odftoolkit.org/simple/gettingstartguide.html and
https://odftoolkit.org/simple/document/cookbook/index.html that don't
use the deprecated simple library.

For example, I am now stuck at this point in my code:

template = TextDocument.loadDocument(templateFile);
String docSearchFieldName = "LastName";
VariableField myField =
template.getVariableFieldByName(docSearchFieldName);

as I'm getting

java.lang.NoSuchMethodError:
'org.odftoolkit.simple.common.field.VariableField

org.odftoolkit.simple.TextDocument.getVariableFieldByName(java.lang.String)'

I don't know what has replaced this method or how to move beyond this
point.

Thanks,

Andrew

On 2021-03-31 6:03 p.m., Svante Schubert wrote:
Hello Andrew,

    1. You get a ZIP file error, as it seems you are loading a flat XML
file
    (all XML in one file without ZIP).
    The usual suffix is ODT and your file's suffix is FODT.
    Drag & Drop your input file into a text editor or try to unzip it.
:-)
    2. The broken links are a combination mistake of Michael and me, I
have
    not fixed it as I am chewing on an 8-year-old source code generation
    problem.
    But I am getting closer...
    3. Example Code can be found in the test folder of ODFDOM, but you
are
    absolutely right it should be better documented. Any suggestions on
where
    to place it?
    Considering switching the HTML generation from old proprietary (no
    longer supported) Apache Markdown to HTML conversion with Sphinx -
created
    for API documentation in the first place.

Good luck and happy holidays!
Svante

Am Mi., 31. März 2021 um 21:38 Uhr schrieb Andrew Willerding <
awillerding@callistacti.com>:

Hi,

I haven't used the ODF libraries since they were part of Apache and now
I have a project I'd like to make use of manipulating and creating ODF
files and understand that "things have changed."  ;-)

I'm trying to run this code which ran fine with the Apache libraries

          try {
              template = TextDocument.loadDocument(templateFile);
          } catch (Exception ex) {
              logItem("Template:" + templateFile.getAbsolutePath()
                      + ",TemplateFile not found.",
                      ex);
              throw new IOException(ex.getMessage());
          }

and receiving

java.lang.IllegalArgumentException:
org.odftoolkit.odfdom.pkg.OdfValidationException; The ODF package
'file:////ReportTemplates/ReportAgr.fodt' shall be a ZIP file!

My Maven dependency is ..

          <dependency>
              <groupId>org.odftoolkit</groupId>
              <artifactId>simple-odf</artifactId>
              <version>0.9.0-RC1</version>
<classifier>jar-with-dependencies</classifier>
          </dependency>

I guess I have 2 questions.  The immediate question is why am I getting
the ZIP file error and how do I fix the situation.  The second question
is where do I find the documentation on how to use the new ODF Toolkit?
The links seem to be broken on the web site.
(https://tdf.github.io/odftoolkit/docs/
<https://tdf.github.io/odftoolkit/docs/>) I have a simple need.  I have
created a template document that I want to use to replace fields (like
name, address) with dynamic values and also add items to an existing
table.

Some existing example Java code to do this would be very very helpful.


Thanks,

Andrew


--
Andrew Willerding
Callista CTI

    ph: 416 444-9702 x9455
    fx: 416 444-9732
cell: 416 712-2323
   www: http://www.callistacti.com


--
To unsubscribe e-mail to: dev+unsubscribe@odftoolkit.org
Problems?
https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more:
https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.odftoolkit.org/dev/
Privacy Policy: https://www.documentfoundation.org/privacy

--
Andrew Willerding
Callista CTI

   ph: 416 444-9702 x9455
   fx: 416 444-9732
cell: 416 712-2323
  www: http://www.callistacti.com


--
To unsubscribe e-mail to: dev+unsubscribe@odftoolkit.org
Problems?
https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.odftoolkit.org/dev/
Privacy Policy: https://www.documentfoundation.org/privacy


-- 
To unsubscribe e-mail to: dev+unsubscribe@odftoolkit.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.odftoolkit.org/dev/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.