View Issue Details

IDProjectCategoryView StatusLast Update
0009917Talerexchange AML officer webuipublic2026-02-04 19:00
ReporterFlorian Dold Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PriorityhighSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product Version1.0 
Target Version1.4Fixed in Version1.4 
Summary0009917: AML SPA must be able to create PDF with entire AML file(s) [0h]
DescriptionThat includes all attachments.

Two options:
* Generate a single page with all forms (rendered in a way that prints decently!), embedding attachment pages using something like PDF.js
* Use a PDF generation library like https://pdfkit.org/ to directly create the PDF
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

The plan

IDSummaryStatusAssigned ToEstimated effort (hours)
0010666implement test for exchange AML officer SPA PDF generation closedChristian Grothoff
0010740VQF 902.1 customer incomplete? [3h] closedsebasjm
This issue (hours)
Its children (hours)0
Together (hours)0
Nothing is missing: the plan can be finished.

Relationships

parent of 0010666 closedChristian Grothoff implement test for exchange AML officer SPA PDF generation 
parent of 0010740 closedsebasjm VQF 902.1 customer incomplete? [3h] 
child of 0008155 closedChristian Grothoff acceptance testing of SPA with MG [Feb 7th, 11am CET] 

Activities

Florian Dold

2025-05-11 08:53

manager   ~0024873

=> Frontend should generate the PDF. The attachments should be restricted to certain file types. If an unsupported file type has been uploaded, it should say so in the printout.

Florian Dold

2025-05-11 11:36

manager   ~0024874

https://pdf-lib.js.org/

Florian Dold

2025-08-04 20:39

manager   ~0025621

We decided that we should do the rendering server-side. A good tool for this would be typst.

https://typst.app/universe/package/muchpdf/

Christian Grothoff

2025-11-16 21:33

manager   ~0026499

taler_mdh_lib.h now has a high-level API for PDF generation from Typst templates.

Christian Grothoff

2025-11-16 22:39

manager   ~0026500

GET /attributes/$H_PAYTO is being extended to return the PDF with the right "Accept" header. Not done, just mentioning WHERE the code will be.

Christian Grothoff

2025-11-27 16:00

manager   ~0026646

Todo:
* ".FILE" (attachment) conversion to PDF
* title page with properties and current rules
(teh_aml-attributes-get.c)

Christian Grothoff

2025-12-05 21:18

manager   ~0026797

Title page with properties and rules and attachments are all implemented, testing still needs to be done for all forms.

Christian Grothoff

2025-12-06 16:44

manager   ~0026799

Next steps:
* split forms into customer/officer
* revisit how we deal with attachments (how they are encoded, etc.).

Christian Grothoff

2025-12-07 13:44

manager   ~0026811

Forms were split. Attachments TBD.

Christian Grothoff

2025-12-16 22:05

manager   ~0027050

Largely done, just waiting for child bugs to be resolved.

Issue History

Date ModifiedUsernameFieldChange
2025-05-08 22:33Florian DoldNew Issue
2025-05-09 10:33Christian GrothoffRelationship addedchild of 0008155
2025-05-09 10:33Christian GrothoffStatusnew => implementing
2025-05-11 08:53Florian DoldNote Added: 0024873
2025-05-11 08:54Florian DoldAssigned To => Florian Dold
2025-05-11 08:54Florian DoldStatusimplementing => assigned
2025-05-11 11:36Florian DoldNote Added: 0024874
2025-05-20 15:15Florian DoldTarget Version1.0 stretch goals => post-1.0
2025-06-04 22:24Christian GrothoffAssigned ToFlorian Dold =>
2025-06-04 22:24Christian GrothoffStatusassigned => implementing
2025-08-04 20:39Florian DoldNote Added: 0025621
2025-10-29 15:24Christian GrothoffRelationship addedrelated to 0009918
2025-11-06 15:41Christian GrothoffRelationship replacedchild of 0009918
2025-11-06 15:42Christian GrothoffAssigned To => Christian Grothoff
2025-11-06 15:42Christian GrothoffStatusimplementing => assigned
2025-11-06 15:42Christian GrothoffTarget Versionpost-1.0 => 1.4
2025-11-11 11:24Christian GrothoffSummaryAML SPA must be able to create PDF with entire AML file(s) => AML SPA must be able to create PDF with entire AML file(s) [14d]
2025-11-16 21:33Christian GrothoffNote Added: 0026499
2025-11-16 22:39Christian GrothoffNote Added: 0026500
2025-11-27 16:00Christian GrothoffNote Added: 0026646
2025-11-27 16:09Christian GrothoffRelationship deletedchild of 0009918
2025-11-27 16:09Christian GrothoffRelationship addedparent of 0010666
2025-11-28 21:12Christian GrothoffSummaryAML SPA must be able to create PDF with entire AML file(s) [14d] => AML SPA must be able to create PDF with entire AML file(s) [7d]
2025-12-05 21:18Christian GrothoffNote Added: 0026797
2025-12-06 16:44Christian GrothoffNote Added: 0026799
2025-12-06 16:58Christian GrothoffRelationship addedparent of 0010740
2025-12-07 13:44Christian GrothoffNote Added: 0026811
2025-12-08 12:01Christian GrothoffSummaryAML SPA must be able to create PDF with entire AML file(s) [7d] => AML SPA must be able to create PDF with entire AML file(s) [3d]
2025-12-15 20:50Christian GrothoffSummaryAML SPA must be able to create PDF with entire AML file(s) [3d] => AML SPA must be able to create PDF with entire AML file(s) [2d]
2025-12-16 22:05Christian GrothoffProduct Version => 1.0
2025-12-16 22:05Christian GrothoffSummaryAML SPA must be able to create PDF with entire AML file(s) [2d] => AML SPA must be able to create PDF with entire AML file(s) [1h]
2025-12-16 22:05Christian GrothoffNote Added: 0027050
2025-12-16 22:05Christian GrothoffSummaryAML SPA must be able to create PDF with entire AML file(s) [1h] => AML SPA must be able to create PDF with entire AML file(s) [0h]
2026-01-05 17:36Christian GrothoffStatusassigned => informing
2026-01-05 17:36Christian GrothoffResolutionopen => fixed
2026-01-05 17:36Christian GrothoffFixed in Version => 1.4
2026-02-04 19:00Christian GrothoffStatusinforming => closed
2026-08-23 14:17Florian DoldCategoryexchange AML backoffice (SPA) => exchange AML officer webui