User Journey: Onboard a party with its conventions and portfolio
Table of Contents
This page documents a user journey: A tenant administrator brings a new party's conventions and portfolio in from another system, and nothing else.
A user journey describes what one person is trying to do, before anything is built. It is a design document that outlives any sprint, so it names the screens, the entity fields each screen shows, and the operations and messages each step needs.
1. Goal
"I want this party working with its own conventions and its own portfolio, and I do not want to bring the whole source system with me." The journey is done when the party's conventions are stored, its portfolio tree reads, and no market data, curves or pricing engines were imported.
2. Actor and trigger
The actor is a tenant administrator inside the tenant, or an operations user who holds both the convention write and the portfolio import permissions. The trigger is a new party, a merger, or a party moving from another installation. The journey starts after the party exists and the person has switched to it, and ends when the two data sets read.
The party matters twice. The conventions are stored against the session's party, and the portfolio import books trades in the session's party. The shell refuses an import that names a different party.
3. Steps
- Switch to the party. The person signs in to the new party, or switches to it. The session now scopes every read and write.
- Prepare the smallest run. The conventions travel only inside an ORE input
directory, because there is no shell verb that stores a lone
conventions.xml. The person writes anore.xmlwhose Setup names justconventions.xmland puts that file beside it, or exports a run directory from the source and removes the files this party should not receive. - Import the conventions. The person runs
ore import-run <report_definition_id> <src_dir>. The report definition must already exist. The system creates the binding, stores the conventions document, and saves every family. - Import the portfolio. The person uploads the portfolio tree with
ore uploadand imports it withore import, naming the parent portfolio. The system creates the tree and books the trades. - Check what did not come. The person reads the conventions screens and the trade list, and confirms that no curves, market data or pricing engines were created.
4. On success
The run import reports the stored files. The conventions screens show the party's families and the world families it reads. The trade list shows the imported trades under the portfolio. Market data and curve screens show nothing new.
5. On failure
The run import refuses before writing when the run document names a file the directory does not hold, or when a file does not parse. If a later document fails, the import undoes the curves, market data, pricing engines and run document it stored. It does not undo conventions. A portfolio import with an unresolved counterparty reports the trade and leaves it out. A file with no portfolio root is ignored. A party that is not the session's party is refused with the session's party named.
6. What must never happen
- The import must never store the source tenant's world conventions over the target tenant's own. A world convention is added only when the tenant lacks it.
- The import must never bring market data, curves or pricing engines when only conventions and a portfolio were asked for.
- The import must never write a trade into the old party.
- A convention the file omits must never be deleted. Omission is not a delete.
- FX conventions must never vanish silently. They have no store today and the response lists them.
7. Screens and entry points
There is no screen for this journey. The conventions screen edits one family at
a time and has no import action. The portfolio import is a shell verb. The
person needs a report definition to exist before ore import-run can bind the
conventions to it.
8. Entities composed
| Entity | What contributes | Model |
|---|---|---|
conventions_bundle |
The 27 families, still carried as one message today | |
report_definition, run_document |
The run the conventions are bound to | |
portfolio, book |
The imported tree | |
trade |
The imported trades | |
party |
The scope that owns the conventions and the trades |
9. Operations and messages
| Step | Operation | Subject | Status |
|---|---|---|---|
| Switch to the party | Establish the session | the sign-in operation | exists |
| Prepare the smallest run | No operation: the person edits the input directory | none | n/a |
| Import the conventions | Start the run import | ore.v1.ops.import_run_configuration |
exists |
| Import the conventions | Store the conventions document | refdata.v1.conventions_documents.put |
exists |
| Import the conventions | Read the stored conventions | refdata.v1.conventions_documents.get |
exists |
| Import the portfolio | Upload the tarball | the ore bucket |
exists |
| Import the portfolio | Start the trade import | workflow.v1.ops.ore_import |
exists |
10. What is missing
- No standalone conventions import. A person who has one
conventions.xmlmust build a run directory and a report definition to carry it. A verb that takes the file and the party is the gap. - No family selector. The run import stores every document the run names. To import conventions only, the person edits the input by hand.
- No per-family result. The run import reports files, not families. The
response's
world_keptandfx_skippedlists are not printed by the shell. - No preview. The family counts are not visible before the save.
11. Related journeys
- Import a portfolio from ORE - the trade half on its own.
- Import one dataset in isolation - the narrower version of this journey.
- Import as a party-scoped user - who the session's party admits.
- Promote an environment between systems - when several parties move together.
12. Related knowledge
- Conventions journeys
- Classifications - the lists a convention picks from.
13. See also
- Data exchange journeys - the group hub.