A candidate's own record cannot be taken out on its own, and nothing can be put back #181
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Postulo/postulo#181
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observation
Postulo can already hand somebody everything as JSON.
core/export.py::build_documentassembles the whole account — profile, career, companies, applications, documents, captures,
plugin data — as
postulo.jsoninside a zip with the files beside it, reachable atSettings → Your data.
Two things it is not:
postulo.jsonback. The archive is a way out and away to keep a copy; it is not a way to move.
— or keep it in a git repository, or hand it to a script — has to take their entire
application history with it. The career data is the part that is theirs and portable;
the applications are a record of one job hunt.
The only import that exists is Europass (
plugins/europass), which reads somebody else'sformat and cannot read Postulo's own.
What this issue is
A candidate-scoped JSON export and import on Your details: the person's own record and
nothing else.
Not companies, not applications, not captures, not documents. Those are the job hunt, not the
candidate.
What has to be decided
Merge or replace. Importing into an account that already has fifteen roles is the case
that matters, and both answers are defensible: replace is predictable and destroys work;
merge is safe and produces duplicates. Probably: the import says what it found and what it
would do, and the person confirms — the same shape as the capture review screen, and for the
same reason, which is that reading somebody else's file is guesswork.
What identifies an entry. Without it, importing the same file twice doubles everything.
The archive's own note says its ids are local to the file:
So matching has to be on content — an experience is its employer, title and dates — with the
same "tell, do not refuse" stance as #178.
The format, and whether it is a third one.
build_documentalready shapes every one ofthese blocks. This should be the same shapes, a subset of the same document, with its own
formatmarker — not a second spelling of a person's career that then has to be kept in step.FORMAT_VERSIONandTRANSLATION_SECTIONSare already there to build on.The picture. JSON alone cannot carry it. Either the export is a zip like the account one,
or the picture is left out and said to be left out. Leaving it out keeps the file something a
person can read and edit in a text editor, which is most of the point.
Worth having afterwards, not here
An importer for the full
postulo.json, so an account round-trips. That is much larger —every model, plugin data, files, and a remapping problem for every id — and it should copy
whatever this issue settles about merge, matching and confirmation rather than invent it in
parallel.