Dafolo · 2026-now
Document import pipeline
Three sources, three ways of handing documents over, and one place they have to end up: the right case in SBSYS. The jobs run on a schedule each municipality sets for itself, hourly or once a day.
How it looked before
There was no efficient way to get documents out of these systems and onto the right case.
MedCom, through OS2korrespondance
MedCom messages are handled by OS2korrespondance, which drops them in a shared folder SBSIP can read. The job unpacks the zip and checks that what is inside matches what the package's own index says should be there. If it does not, it fails rather than filing something wrong. The format is the same one Kombit's fordelingskomponent delivers in, so the two sources can be handled one way instead of each getting its own.
ByggeWeb
Here the case number is in the name of the folder the documents sit in. The job reads it from there and files the documents on that case.
Dalux
Dalux is a construction management system many municipalities and contractors work in. When a building project ends, its documents have to end up on the SBSYS case so they are kept for the archive. The job reads a whole project export through, folder structure and all. If the case does not exist yet, it is created from a template. File types that do not belong in an archive, 3D drawings for instance, can be filtered out, and anything already processed is moved aside so the next run does not take it again.
When something does not match
Files that cannot be handled are marked as failed rather than disappearing, and a case that could not be created is tried again the next time the job runs. Neither needs anyone sitting and watching it.
The hard part
The three jobs were built at three different times, and each had problems of its own, but we got through them. A lot of the work is making sure that what the customer gets is what the customer actually wanted.
- Java
- Batch jobs
- SBSYS