SysDocBatch
No edit summary
No edit summary
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
SysDocBatch is a model pattern recognized by TurnkeyServer (MDrivenServer can zip and convert).
<message>Describe what a SysDoc is and what it does. Explain SysDocBatch further, giving details on how to do the document conversion in steps. </message>
 
<u>SysDoc</u>: Sys = system i.e. MDriven built-in feature. <u>Doc</u> = document. 
 
Together: a system pattern for how to handle documents in batches.
 
'''SysDocBatch''' is a model pattern recognized by TurnkeyServer and WPF-Wecpof (MDrivenServer can zip and convert).


We suggest you keep the SysDocBatch and SysDoc classes transient.
We suggest you keep the SysDocBatch and SysDoc classes transient.
Line 7: Line 13:
The problem it solves is document collections, conversions, zipping and controlled download of reports and other documents.
The problem it solves is document collections, conversions, zipping and controlled download of reports and other documents.


Normally when you generate a report, it will directly download as an odt or ods formated file.
Normally when you generate a report, it will directly download as an odt or ods formated file. What the SysDocBatch-functionality changes to this behavior is that If a SysSingleton.oclSingleton.CurrentSysDocBatch object is set, we now instead add a SysDoc-object to the  SysSingleton.oclSingleton.CurrentSysDocBatch.SysDocs association, thus not triggering the download immediately - but rather build up a batch of documents that may be zipped or converted prior to a later download triggered by the developer or the user.


If a SysSingleton.oclSingleton.CurrentSysDocBatch is found, we now instead add a SysDoc to the  SysSingleton.oclSingleton.CurrentSysDocBatch.SysDocs association.
On the first added SysDoc, we will show the SysDocBatchView ViewModel (rooted in SysDocBatch) as a Modal window.
 
And on the first added SysDoc, we will show the SysDocBatchView ViewModel (rooted in SysDocBatch) as a Modal window.


This will enable you to collect a list of many possible documents that you need to print (if your action generates multiple reports, multiple SysDoc objects are created).
This will enable you to collect a list of many possible documents that you need to print (if your action generates multiple reports, multiple SysDoc objects are created).
Line 21: Line 25:
  selfVM.Download( 'Somefile.zip' ,  vData )
  selfVM.Download( 'Somefile.zip' ,  vData )
[[File:2024-06-05 11h06 50.png|none|thumb|712x712px]]
[[File:2024-06-05 11h06 50.png|none|thumb|712x712px]]
==== '''SysDoc Attributes''' ====
<code>ConversionLog</code>''': Text'''
Message log from LibreOffice on the document conversion
<code>DocData</code>''': Blob'''
Document data required for conversion
<code>DocDirectory</code>''': String'''
Name of the folder to be used when organizing files in zip document.
<code>DocName</code>''': String'''
Name to be assigned to file including file extension for example .odt for open text document.
<code>InfoOnFailed</code>''': String'''
Exception message when file conversion fails.

Latest revision as of 20:26, 19 September 2024


SysDoc: Sys = system i.e. MDriven built-in feature. Doc = document.

Together: a system pattern for how to handle documents in batches.

SysDocBatch is a model pattern recognized by TurnkeyServer and WPF-Wecpof (MDrivenServer can zip and convert).

We suggest you keep the SysDocBatch and SysDoc classes transient.

This Pattern is mergable from the GitHub repository: supportMDriven/MDrivenComponents (github.com)

The problem it solves is document collections, conversions, zipping and controlled download of reports and other documents.

Normally when you generate a report, it will directly download as an odt or ods formated file. What the SysDocBatch-functionality changes to this behavior is that If a SysSingleton.oclSingleton.CurrentSysDocBatch object is set, we now instead add a SysDoc-object to the SysSingleton.oclSingleton.CurrentSysDocBatch.SysDocs association, thus not triggering the download immediately - but rather build up a batch of documents that may be zipped or converted prior to a later download triggered by the developer or the user.

On the first added SysDoc, we will show the SysDocBatchView ViewModel (rooted in SysDocBatch) as a Modal window.

This will enable you to collect a list of many possible documents that you need to print (if your action generates multiple reports, multiple SysDoc objects are created).

The SysDocBatchView ViewModel is a good place to possibly offer to convert documents to pdf or docx (read more on Using LibreOffice for this task).

You can also make use of the new selfVM operators for Zipping and Downloading:

vData:=selfVM.SysDocBatchZip( self )
selfVM.Download( 'Somefile.zip' ,  vData )
2024-06-05 11h06 50.png

SysDoc Attributes

ConversionLog: Text

Message log from LibreOffice on the document conversion

DocData: Blob

Document data required for conversion

DocDirectory: String

Name of the folder to be used when organizing files in zip document.

DocName: String

Name to be assigned to file including file extension for example .odt for open text document.

InfoOnFailed: String

Exception message when file conversion fails.

This page was edited 0 days ago on 09/19/2024. What links here