Reference
Import and Export
Every way to bring data into Holarch (Word, Excel, CSV, ReqIF, XMI, text, project files, schemas, matrices) and every export format, with all options and the project JSON format.
On this page
Holarch reads specifications, spreadsheets, requirements-interchange files, UML/SysML models and project files, and writes Word, Excel, CSV, ReqIF, JSON, Markdown, images and web pages. This page lists every import and export, where to find it, its options and its messages. Exports are available to every project member, including viewers; imports change the project and need the Owner or Editor role.
Concepts
Import paths
| What you have | Where to import it | Result |
|---|---|---|
| Word specification (.docx) | Needs & Requirements → Import, Word (.docx) | A numbered document of sections and requirements |
| Spreadsheet (.xlsx, .xlsm, .csv) | Import, Excel / CSV (.xlsx, .csv) | New or updated entities, optionally a document |
| Plain text (.txt or pasted) | Import, Plain Text (.txt) | A numbered document |
| ReqIF (.reqif, .reqifz) | Import, ReqIF (.reqif) | Entities with hierarchy, attributes and relationships |
| UML/SysML model (.xmi, .uml, .xml) | Import, UML/SysML (.xmi) | Requirements, assets, actions and links |
| Holarch export or other tool file (.json, .inno, .xml) | Import, the (.inno, .json, .xml) project-file tab | Entities merged into the open project |
| Whole project (.json) | Manage Projects → Project Files ▾ → Import Project (.json)… | A new project |
| Schema (.json) | Settings → Schema → Import Schema… | Classes, attributes, relations and labels |
| Matrix (.csv) | Traceability Matrix → Import… | Relationships added or removed |
What every import does
- New IDs. Imported entities always get new IDs in the project. Nothing in the file can overwrite an entity unless you choose to match existing entities.
- One undo step. An Import page import is a single undo step (⌘Z removes it all). Renumber the whole document after import adds a second step.
- Untrusted content is cleaned. Rich text loses scripts, frames and unsafe links; SVG pictures lose scripts, event handlers and external references; XML with DOCTYPE or ENTITY declarations is refused; ZIP files are checked against size and compression limits.
What exports produce
- CSV files are UTF-8, comma-separated, one header row. Text that starts with
=,+,-,@, a tab or a carriage return gets a leading apostrophe so spreadsheets show it as text instead of running it as a formula; plain numbers such as-5stay numbers. - XLSX files have a bold, shaded header row (or two group rows for matrix reports), wrapped text, column widths fitted to the content (up to 60 characters), frozen header rows where noted, and red fills for gaps.
- DOCX files use Word heading styles, a Calibri 11 pt body and US Letter pages. See Word output.
- File names are cleaned for every operating system: path and reserved characters become
_, and names are cut to 120 characters.
How to use it
When and why
Import at the start of a project to bring an existing specification, a stakeholder spreadsheet or another tool's requirements into the model, so that tracing, quality checks and baselines work on them. Use spreadsheets later for bulk attribute updates by people who do not use Holarch. Export at reviews and hand-offs: Word for reading and signing, Excel for matrices and registers, ReqIF for exchange with other requirements tools, JSON for backups and moving projects between servers.
Import a Word specification
- Open Needs & Requirements → Import and click Word (.docx).
- Configure: keep Import as: Document and Document label: Requirements Document. Leave Numbering on Auto (numbered headings + shall sentences) when the file uses Word heading styles or Word list numbering. Click Next ›.
- Select: drop the .docx file on the drop zone or click it to browse. The status reads "Analyzed “file.docx”: N rows, 5 columns, N table(s)." Click Next ›.
- Customize: check Name of the new Document. Under Word Tables, set each requirements table to Entities (one per row) and map its columns; set other tables to Table in the description. Read the warnings. Click Next ›.
- Preview: check the counts per class and the rows. Click Save.
- Without warnings, the new document opens. With warnings, Import Complete lists them with Open Document, Open Database, Spider Diagram, Tree Diagram, Quality Check and Import Another File. The warnings are also written into the document's description, and the original .docx is attached to the document.
Import a spreadsheet
- Click Excel / CSV (.xlsx, .csv). Use a header row, for example
Number,Name,Description,Class, and outline numbers (1, 1.1, 1.2) so the hierarchy can be rebuilt. - Configure: choose Import as (Document, or None for entities without a document), the Default class, and for CSV the File encoding and the Date format for DATETIME columns.
- Select the file. For a workbook with several sheets, pick the Sheet.
- Customize each column's Maps To and Attribute. Columns whose title matches a field or attribute are mapped automatically.
- Preview and Save.
Update existing entities from a spreadsheet
- In the Database, filter to the entities (for example
class:Requirement) and click Reports…. - Choose Basic Tabular Output (CSV), tick the attributes to edit (for example Owner), and under Include tick ID. Click Create.
- Edit the values in the spreadsheet. Do not change the ID column.
- In Import, choose Excel / CSV, set Import as: None and Match existing entities by: Global ID.
- In Customize, make sure the ID column maps to Global ID. Set Description to Ignore unless you edited it (see the tip below), and set the Global ID column, if you exported it, to Ignore.
- Preview marks each matched row Updated. Click Save. Only the mapped columns are written; labels in a Labels column are added to the existing labels.
Back up or move a project
- Open Manage Projects, open a project's row menu ⋯ and choose Export this project… (or on Home, Project ▾ → Export Project…).
- Choose the options and click Export JSON.
- To restore it, on any Holarch server: Manage Projects → Project Files ▾ → Import Project (.json)…. The import becomes a new project with a new ID; you are its owner.
Worked example: the CubeSat EO-1 demo
Create the demo with Manage Projects → Project Files ▾ → Create Demo Project ("CubeSat EO-1 — Earth Observation Demo").
- Send the specification to a supplier as ReqIF. Open Documents → EO-1 System Requirements Specification, click Reports, choose ReqIF Output (.reqif) and click Create. The file holds the six sections and their requirements in the outline order, with numbers such as 2.1 as the foreign ID and the descriptions as XHTML. The demo's satisfies and verified by links point to functions, assets and tests outside the document, so they are not in this file; to include them, export from the Database instead (step 4).
- Update owners in Excel. In the Database, search
class:Requirement, click Reports… → Basic Tabular Output (CSV), tick Owner and ID, and create the file. Change the Owner of 3.1 Orbit Average Power and 3.2 Battery Capacity to "EPS Lead". Import the file as described in Update existing entities. The preview shows every row as Updated; after Save, 3.1 and 3.2 show the new owner and one ⌘Z restores the old values. - Review the matrix offline. Open Verification → Traceability Matrix with the specification on the left and Test Cases on top, and choose Export ▾ → Matrix Report (Excel).
- Exchange the trace web. In the Database, search
class:Requirement OR class:Action, click Reports… → ReqIF Output (.reqif). Relationships between the exported requirements and functions (for example F8 satisfies 4.4 Downlink Encryption) become SPEC-RELATIONs. - Back up. In Manage Projects, choose Export this project… on the demo, keep every option, and click Export JSON. The file includes the SRR Baseline, comments, history, and the dashboard settings.
Tips and good practice
- Import into a test project first when the file is large or unfamiliar; check the preview and warnings, then import into the real project.
- Number rows in outline form (1, 1.1, 1.1.1). The hierarchy comes from the numbers when there is no Parent column.
- Exported CSV descriptions are plain text. Re-importing them over formatted descriptions removes the formatting; map Description to Ignore in an update, or export with Rich Text ticked.
- Keep the ID column when you plan to re-import. Matching by Name or Number also works but needs the same class and unique values.
- A column titled like a label group (for example Verification Method with values Analysis, Test) is mapped to Labels.
Common mistakes
- Every row came in as New instead of Updated. The match column holds the displayed Global ID (
I_…) rather than the entity ID, or Match existing entities by is set to the wrong field. Map the ID column to Global ID. - Hierarchy is flat. Numbers are not in outline form, or Parent Number was not mapped. Check the warnings "missing parent number…".
- Wrong classes. A Class column with unknown names falls back to the default class with a warning. Use the class names from Settings → Schema.
- Odd characters in a CSV. Choose the right File encoding (for example ISO-8859-1 / Windows-1252 for older Excel CSV files).
- .xls files are refused. Save the workbook as .xlsx or .csv in Excel first.
How it connects to other features
- Imported documents open in Documents, where you restructure, baseline and publish them; their requirements go straight into the quality check and traceability views.
- Imported ReqIF and XMI relationships appear in the matrix, Spider diagrams and the Entity View.
- Exports feed reviews (Word, Excel), other tools (ReqIF, XMI-based tools via ReqIF, MS Project XML from the simulator) and backups (project JSON). Review Packages bundle several outputs.
The Import page
Open Needs & Requirements → Import. The page has one tab per source format and a four-step wizard: Configure → Select → Customize → Preview. ‹ Prev and Next › move between steps; Next › stays disabled until a file has been read. On the (.inno, .json, .xml) project-file tab the wizard skips Customize. Dropping or choosing a file switches to the tab that fits its extension (for example a .docx on the Excel tab switches to Word).
Tabs and accepted files
| Tab | Accepted files |
|---|---|
| Word (.docx) | .docx |
| Project files (.inno, .json, .xml) | .json, .inno, .xml |
| Excel / CSV (.xlsx, .csv) | .xlsx, .xlsm, .csv |
| Plain Text (.txt) | .txt, or pasted text |
| UML/SysML (.xmi) | .xmi, .uml, .xml |
| ReqIF (.reqif) | .reqif, .reqifz, .xml |
Step 1: Configure
| Option | Tabs | Values and effect |
|---|---|---|
| Import as: | all except project files | Document creates a document Artifact whose top-level items are the imported top-level rows; None adds entities only. |
| Document label: | with Document | Any Artifact label; default Requirements Document. Labels ending in "Document" make it a document type. |
| Default class (used when a row names no class): | all | Any creatable class. Excel/CSV, ReqIF, XMI and project files also offer All Classes (the Class column decides), which falls back to Requirement. |
| File encoding: | Excel / CSV | Detect automatically, UTF-8, ISO-8859-1 / Windows-1252, Shift_JIS, Big5, UTF-16. Automatic detection reads byte-order marks, then UTF-8, then Shift_JIS or Big5 when the text contains Japanese or Chinese characters, then Windows-1252. Changing it re-reads a loaded CSV. |
| Date format for DATETIME columns: | Excel / CSV | Automatic, yyyy-MM-dd HH:mm:ss, dd/MM/yyyy, MM/dd/yyyy, yyyyMMdd, Custom… (tokens yyyy, MM, dd, HH, mm, ss, for example dd.MM.yyyy HH:mm). |
| Outline format: / Numbering | Plain Text, Word | See Outline formats. |
| Import Options: | project files | Include Comments (on), Include History (off), Include Diagrams (on), Merge the file's schema (classes, attributes, relations and labels missing here) (on), Schema Only (off). "Imported entities always receive new IDs in this project." |
| Match existing entities by: | all except project files | Global ID (default), Name or Number. See Matching existing entities. |
| Match related entities by: | all except project files | Global ID, Name or Number (default): how values in relationship columns find their targets. |
| Assign a class to any entity whose description contains a given word or phrase. | all except project files | Phrase rules: one row per Word or phrase → class, + Add Rule, × to remove. Used only for rows whose class is not set by a Class column; the first matching rule wins; matching ignores case. |
| Prepend the parent's Number to child's Number. | Plain Text, Word | On: generated child numbers include the parent's number (3.1); off: they count from 1 within the parent. |
| Renumber the whole document after import. | Plain Text, Word | Off by default. Renumbers the new document as Auto Number does. |
The note "A file whose rows are all Statements or Requirements (or their subclasses) becomes a requirements document." describes where the import opens afterwards: such imports open the new document; others open the Database.
Outline formats
For plain text and Word, Outline format decides how numbered lines become the hierarchy:
- Auto (numbered headings + shall sentences) (default; for Word, the file's heading styles and list numbering are used).
- Numbered List with Period (1.), Numbered List with Parenthesis (1)), Numbered List (1).
- Uppercase Roman Numerals List with Period (I.), Lowercase Roman Numerals List with Period (i.).
- Uppercase Letter List with Period (A.), Lowercase Letter List with Period (a.), Lowercase Letter List with Parenthesis (a)).
- Multi-Level Numbered List with Period (1. 1.1. 1.1.1.), Multi-Level Numbered List (1 1.1 1.1.1).
- Multi-Level Lowercase List with Periods (1. a. i.), Multi-Level Lowercase List with Parentheses (1) a) i) (1) (a) (i)), Multi-Level Alphanumeric List (I. A. 1. a) (1) (a)), Multi-Level DoD List (1. a. (1) (a) 1. a.).
- Custom Outline Format…: a table of up to six levels, each with Numbering (Decimal, Lowercase Alpha, Number, Roman Numeral, Uppercase Alpha), Delimiter (Space, Period, End Parenthesis, Double Parenthesis) and Start. + Add Level adds one; × removes one.
With an explicit format, every line that matches a level becomes an item numbered 1, 1.1, 1.1.1 by its level; a short line (80 characters or fewer, without closing punctuation) becomes the name, a longer line becomes the description and the name is made from it; lines that match no level continue the previous item's description. All items get the default class. For Word, choosing a format other than Auto reads the file as plain text, so heading styles, formatting, pictures and tables are not used.
Step 2: Select
Drop a file on Drag and drop a file here or click it to browse; the accepted extensions are listed under it. Or paste the content into the text box and click Analyze Pasted Text (CSV with a header row, JSON or XML, ReqIF XML, XMI, or document text). For plain text, the loaded file stays editable under Imported content; edit it and click Analyze Again. For a workbook with several sheets, Sheet: lists each sheet with its row count; the first sheet with data is preselected.
The status line reads "Analyzed “name”: N rows, N columns." (plus "N table(s)" for Word, or "N entities, N relationships." for project files), or shows the error.
Step 3: Customize
- Name of the new Document: (with Import as: Document; default the file name).
- Word Tables (Word only): see Word tables.
- The column table: Include (tick to import), Column, Title, Maps To, Attribute and Sample (values from the first two rows; formatted cells show their text plus "[N images]" or "[N tables]").
- The warning list ("N warnings", the first 50 and "…and N more") or "No warnings."
Maps To values:
| Maps To | Meaning |
|---|---|
| Attribute | Then choose Name, Number, Description or an attribute of the default class (with All Classes, every attribute as "Class · Attribute"). Quality, file and computed attributes cannot be imported. |
| Class | The class name (matched ignoring case, spaces and punctuation). |
| Labels | Label names separated by ;, ,, a vertical bar or line breaks. |
| Relationship | Then choose the relationship; values are target names, numbers or IDs separated by ; or line breaks. |
| Global ID | The ID used to match existing entities. |
| Parent Number | The number of the row's parent. |
| Row ID | An ID used inside the file (ReqIF, XMI). |
| Parent Row ID | The Row ID of the parent. |
| New Attribute | Creates an attribute named after the column on each imported class (see New attributes). |
| Ignore | Not imported. |
Automatic column mapping
| Column title (any case; spaces and punctuation ignored where noted) | Maps to |
|---|---|
| Number, No, Num, #, ID Number, Req Number, Requirement Number; Object Number, ReqIF.ChapterName, ReqIF.ForeignID | Number |
| Name, Title, Short Name, Requirement Name; Object Heading, ReqIF.Name, Long Name | Name |
| Description, Text, Requirement, Requirement Text, Statement, Desc; Object Text, ReqIF.Text, ReqIF.Description | Description |
| Class, Type, Entity Class, ClassName; ReqIF.Category | Class |
| Labels, Label, Tags; the name of a label group such as Verification Method (also "Method", "Verification", "Verification Methods") | Labels |
| Global ID, ID, GUID, UUID; Object Identifier, Origin ID | Global ID |
| Parent, Parent Number | Parent Number |
| ReqIF ID, XMI ID, Row ID | Row ID |
| Parent ID | Parent Row ID |
| The name of an attribute of the default class, or of any class | That attribute |
| The name of a relationship (for example "satisfied by") | That relationship |
| Anything else | Ignore (ReqIF: New Attribute) |
Step 4: Preview
Statistics lists the entity count per class and the total. With Import as: Document, a line says whether a requirements document or another document will be created. The warning list repeats, then a table of the first 500 rows with Status (New or Updated), Class, Number, Name and Description. Save runs the import; the toast reads "Imported N new, N updated".
Import Complete
Shown when the import produced warnings: "N entities created, N updated, plus the document “name”.", the warnings, and the buttons Open Document, Open Database, Spider Diagram, Tree Diagram, Quality Check and Import Another File. A clean import goes straight to the new document (requirements documents) or the Database.
Format details
Word (.docx)
- Headings (Word's Heading 1 to Heading 9 styles, styles based on them, and paragraphs with an outline level) become Statements, nested by level, numbered with the file's list numbering or with generated numbers. The Title style is skipped.
- Requirements: a paragraph containing "shall", "must", "will" or "should", or a numbered (not bulleted) list item, becomes a child item of the current heading: a Requirement when it has one of those verbs, otherwise a Statement. Its name is the first five words after the verb, in title case.
- Body text, bullet items, pictures and unmapped tables join the description of the item they follow. Bold, italic, underline, line breaks and bullet lists are kept as rich text.
- Pictures: PNG, JPEG, GIF, WebP and SVG are kept. Other formats (for example EMF or WMF) are skipped with a warning; so are pictures above the per-file limit.
- Tracked changes: inserted text is imported; deleted text is not.
- Original file: the .docx is attached to the new document.
Word tables
Tables with the same header row are grouped ("Tables 3+ (4 with this header)"). Each group shows its data-row count and header and a choice:
- Entities (one per row): each data row becomes an item under the current heading. Map each column to Number, Name, Description, Class, Labels, Attribute (then pick it), New Attribute or Ignore. Columns titled ID, Req ID, Requirement ID, Req No, Req Number, Identifier, Ref, Reference, Paragraph or Para map to Number; Shall, Shall Statement, Requirement Statement, Requirement Text, Statement or Text map to Description.
- Table in the description: the table is kept as a table in the description of the item before it.
A table is proposed as entities when it has at least two columns, data rows, a Name or Description column, and either a Number column or a cell with "shall", "must", "will" or "should".
Excel and CSV
- The first row is the header; empty rows are skipped.
- XLSX: shared and inline strings, numbers, booleans (TRUE/FALSE) and dates (by the cell's number format, as
yyyy-MM-ddoryyyy-MM-ddTHH:mm) are read; multi-line cells keep their line breaks; leading and trailing empty rows are dropped. - CSV: comma-separated, with double quotes around fields that contain commas, quotes or line breaks. Semicolon-separated files are not split; save them with commas.
- Excel 97-2003 (.xls) is not supported.
Plain text
With Auto, each line is read as follows: leading -, * or • bullets are removed; a leading number such as 3.2, 3.2. or SYS-3.2 is kept as the item number. A line without "shall", "must", "will" or "should" becomes a Statement heading when it is numbered or short (under 80 characters without closing punctuation); otherwise it is added to the previous item's description. Each sentence with one of those verbs becomes a Requirement: the first takes the line's number, further ones get .1, .2 added; unnumbered requirements are numbered under the current heading.
ReqIF
- Every SPEC-OBJECT becomes a row with ReqIF ID (Row ID), Parent ID (Parent Row ID, from the SPECIFICATION hierarchy), Type (Class, from the SPEC-OBJECT-TYPE name), Long Name (when no attribute looks like a name or title) and one column per attribute definition (string, XHTML, Boolean, date, enumeration, integer and real).
- XHTML values become rich text; enumeration values are joined with "; ".
- Columns that do not match an attribute default to New Attribute instead of Ignore.
- SPEC-RELATIONs become relationships named by their relation type. When the name is unknown or the schema does not allow it between the two classes, traced to is used; when that is not allowed either, the relationship is skipped with a warning.
- .reqifz archives are unpacked and their .reqif file is read.
UML/SysML (XMI)
XMI files from tools such as MagicDraw, Enterprise Architect and Rational Software Architect are read by element type:
| Element | Class |
|---|---|
| SysML Requirement (stereotype) | Requirement (its Id becomes the number and its Text the description) |
| Block, Class, Component, Node, Actor | Asset |
| Port | Port |
| Activity, Action, CallBehaviorAction, OpaqueAction, UseCase, State | Action |
| Package, Model | Artifact |
| Signal, DataType, Flow | Input/Output |
Nesting becomes the hierarchy, owned comments become descriptions, and dependencies become relationships: satisfy → satisfies, verify → verifies, deriveReqt → traced from, trace, refine, copy and plain dependencies or abstractions → traced to.
Holarch and other tool files (.json, .inno, .xml)
The (.inno, .json, .xml) project-file tab merges entities from a file into the open project:
- Holarch project exports, Database JSON exports and document exports (Document Export (Holarch JSON)).
- .inno ZIP archives with a .json or .xml data file; attached files inside the archive are re-embedded.
- XML files with
<entity>elements (attributes, labels and relationships as child elements).
Classes, attributes, labels and relationships are matched by name when the file's schema differs from the project's. With Merge the file's schema… on, missing classes, relations, attributes and labels are added first ("Schema: added N class(es), relation(s), attribute(s) or label(s) from the file."). Schema Only imports only the schema. Comments, history and diagram layouts come along when their options are on. Simulation scripts in the file are marked as imported, and the simulator asks before running them.
Note: To restore a whole project as a separate project, use Manage Projects → Import Project (.json)… instead. The Import page merges into the open project.
Matching existing entities
- Global ID matches the value of the column mapped to Global ID against the entity's ID (shown as ID in the inspector's metadata and written by the ID option of the CSV report). The displayed Global ID of the form
I_…does not match. Without a Class column, a matched entity keeps its class. - Name and Number match an existing entity of the same class with that name or number.
- A matched row updates only the mapped fields: unmapped Name, Number or Description keep their values, mapped attributes are written, labels are added, and the class changes only when the file has a Class column.
Hierarchy
Each row's parent is found from, in order: its Parent Row ID; its Parent Number; its own number (the parent of 1.2.3 is 1.2; if 1.2 is not in the file, the nearest existing ancestor such as 1). Rows without a parent become top-level items of the new document. Parents are linked with decomposed by.
Value conversion
| Attribute type | Accepted values |
|---|---|
| Number | A number (a trailing % is ignored) or a distribution such as normal(10, 2) |
| Percent | A number, with or without % |
| Date and time | Per Date format for DATETIME columns |
| Duration | A number and a unit (5 days, 90 min; Seconds to Years; default Hours) or a distribution |
| Boolean | true, yes, y, 1 or x for true; anything else is false |
| Enumeration | One of the choices (ignoring case); other text is kept as typed |
| Multi-select | Values separated by ;, ,, a vertical bar or line breaks, matched to the choices |
| Geo point | latitude, longitude |
| Text and rich text | As is |
Values that cannot be converted are left out with a warning.
New attributes
New Attribute columns become attributes named after the column on each class that receives a value. The type is chosen from the data: rich text for ReqIF XHTML, Number when every value is numeric, Enumeration (with the values as choices) for ReqIF enumerations or for up to 12 short distinct values used by fewer than half the rows, long text when a value exceeds 120 characters, otherwise text. An existing attribute of the same name is reused.
Other imports
| Import | Where | Details |
|---|---|---|
| Import Project (.json)… | Manage Projects → Project Files ▾ | A Holarch project export becomes a new project with a new ID, owned by you; its folder in Manage Projects is restored. "Import failed: Not a project export" when the file has no entities. |
| Import Schema… | Settings → Schema (top bar) | A schema export or a project export. Shows the counts of classes, relations, attributes and labels; Mode: Merge (add classes, attributes, relations and labels that are missing by name) or Replace this project's schema. Errors: "Not a JSON file." and "The file has no classes / relations / properties / labels." See Schema extensions. |
| Import… (matrix) | Verification → Traceability Matrix | An Importable Matrix (CSV): Import Matrix — Analysis lists additions, removals, errors (relationship with self, existing and new bad relationships) and warnings (entities not found) before Import. See Traceability. |
| Pictures and files | Rich text + → Image… / Embedded File…, entity images, file attributes, whiteboard Insert Image…, slide images | Images over 4,000 px on the longest side are reduced; files over the per-file limit are refused. |
| Graphics for DoDAF products | Frameworks → DoDAF | PNG, JPEG or SVG graphics for a product. |
| Java source | SysML block diagrams | Upload .java… reads classes into blocks. |
| AI reference files | AI Settings → AI reference files (this project) | .txt, .md, .csv, .json, .xml, .html, .docx and .reqif; text only, up to 200,000 characters per file. |
Exports
Project export
Export this project… (Manage Projects row menu) or Project ▾ → Export Project… (Home) opens Export Project:
- File name (default the project name with spaces as
_). - Export Options: Include Baselines, Include Comments, Include History (also includes deleted entities that can be restored), Include Project Preferences (dashboard, charts, presentation settings), all on.
- Schema Only (custom labels and preferences, no entities): exports the schema (and, with preferences on, the dashboard and charts) without entities; it turns the first three options off.
- Export JSON downloads
name.json.
Attachments and pictures are embedded in the file, so a project export is self-contained. When saving fails and the browser cannot keep a copy, the save banner offers Download a copy, which downloads the full project the same way.
Database reports
In the Database, Reports… (top bar) reports on the selected rows, or on every entity of the current query when nothing is selected. The bulk bar's More ▾ → Reports… and the Entity View's Reports… work on the selection or the one entity. Download Report shows the entity count, Report Type, the options and File Name; Create downloads. "Select a report type." appears when none is chosen.
| Report Type | Output | Options |
|---|---|---|
| Basic Tabular Output (CSV) | Number, Name, Description, Class, the chosen attributes, one column per relationship type, the chosen extras | Include attributes (each attribute of the listed classes); Include: Comments, Created On, Entity URL, Global ID, ID, Labels (on), Modified On, Relationships, Rich Text (descriptions as HTML instead of plain text), Locked; Sort By: Number, Class, ID, Name, Hierarchical |
| Entity Table Report (XLSX) | The Database's current columns, with a Level column | Freeze Panes (on), Hierarchical (decomposition children under their parents), No Merged Cells, Rollup (rolled-up NUMBER / DURATION columns) |
| Entity Definition Report (XLSX) | Entity, Field, Value: class, number, name, description, labels, every attribute and every relationship type per entity | Freeze Panes (on), Global IDs, Id, No Merged Cells |
| Entity Relationship Matrix (XLSX) | Entities × related entities for one relationship | Relationship, Cell value (X (no attribute) or a relationship attribute), Freeze Panes (on), Fills (on), Global ID |
| History Report (XLSX) | One row per recorded change: Date, ID, Global ID, Entity, Version, Change, Field, From, To | Freeze Panes (on), Global ID, ID (on), Version Number (on) |
| Comment Report (XLSX) | Class, Name, Number, Description, Comment, User, Date, Resolved | none; offered when the entities have comments |
| Hierarchical Report (DOCX) | One entity's decomposition as headings, with descriptions and diagram pictures and a contents table | Diagrams (diagram types; Hierarchy on); offered for a single entity |
| JSON export (the report ending in Export (JSON)) | A holarch-project file with the entities and their relationships | Include Related Entities, Include Comments (on), Include History, Include Diagrams (on), Include Schema, Schema Only |
| Holarch INNO ZIP Output | A ZIP (.inno) with entities.json (entities, relationships, diagrams, comments and the schema) and every attached file under files/ | none |
| ReqIF Output (.reqif) | ReqIF 1.2: one type per class with Number, Name, Description (XHTML) and every attribute (enumerations as ReqIF enumerations), relationships other than decomposed by as SPEC-RELATIONs, the decomposition as the hierarchy | none |
| Print Table | The browser's print dialog | none |
Errors during a report show "Report failed: …".
Document reports
A document's Reports button offers Basic Document Output (DOCX), Document Outline Report (DOCX), Basic Tabular Output (CSV), Comment Report, Quality Checker Report, RVTM, VCRM, RVM, RTM, RSM and TVM (XLSX), ReqIF Output, Post-Baseline and Baseline to Baseline Change Reports (XLSX), Markdown (.md), Document Export (Holarch JSON) and Print / PDF. Each is described with its options in Documents → Reports.
Diagram exports
Every diagram editor's Export ▾ offers:
| Item | Output |
|---|---|
| Opaque Image (PNG) | The diagram at twice screen resolution on a white background |
| Transparent Image (PNG) | The same without a background ("name (transparent).png") |
| Vector Graphic (SVG) | Scalable vector image |
| Web Page (HTML) | A page with the title, description and the diagram image |
| Microsoft Word (DOCX) | A Word file with the diagram, a caption and the description |
| Type-specific items | For example Social Network Analysis (CSV) on Asset diagrams |
| Print… | The browser's print dialog |
On the Diagrams page, Report… opens Diagrams Report for every diagram in the current filter and sort: Fields (Name, Number, Description, Diagram Type on; Created On, Modified On off), File name (up to 100 characters) and Format (Microsoft Word (DOCX) or Web Page (HTML)). Run Report builds it ("Building report…", then "Report downloaded"); the image is always included. Messages: "Enter a file name.", "File name must be 100 characters or fewer.", "No diagrams to report."
Traceability matrix exports
Export ▾ in the matrix: Matrix Report (Excel) (an Excel 2003 XML workbook saved as .xls, with rotated column headers), Comma Separated (CSV) (X marks), Detailed CSV (relation names), Importable Matrix (CSV) (cell A1 holds the matrix settings; rows and columns carry entity IDs; re-import with Import…), and under Artifacts Export to a New Artifact… and Export to an Existing Artifact… (saves the matrix settings to an Artifact labeled Matrix). Each download asks for the File Name.
Baselines and versions
In Plan & Deliver → Baselines & Versions, each baseline row has Export (a holarch-baseline JSON file with the name, date, document, approvals and snapshot). Compare shows the changes between two versions with Export CSV and Export XLSX (Number, Name, Class, Change Type, Field, Old Value, New Value).
Schema export
Settings → Schema → Export Schema downloads "project schema.json" (format: holarch-schema) with the classes, relations, attributes and labels.
Whiteboard export
Export… in a whiteboard opens Export Whiteboard:
- Format: PNG, JPG, SVG or PDF.
- Area: This board, Selected elements (with a selection), Current view, All boards (one file per board), or a frame.
- Scale (PNG, JPG): 0.5× to 4×. Quality (10–100) (JPG). Resolution (PDF): Standard (96 dpi) or Print (300 dpi); one page per board or frame, as images. Transparent background (PNG, SVG).
- "SVG keeps shapes and text editable in vector tools." The settings are remembered in this browser. With nothing to export: "Nothing to export. Add elements or choose another area."
Exports on other pages
| Page | Control | Formats |
|---|---|---|
| Requirements Quality | Export ▾ | Excel (.xlsx), CSV; the results dialog has Export CSV and Export XLSX |
| TBD/TBR | Export XLSX | Number, Name, Document, Type, Source, Owner, Due Date, Opened, Age (days), Overdue, Description |
| RVTM | Export ▾ | Excel (.xlsx), CSV, Word (.docx) |
| Test Center suite menu | Test Cases Output (DOCX)…, Export CSV, Export JSON | Test cases with set-up, expected and actual results, status and verified requirements |
| Interface Register | Export | CSV of interfaces, endpoints, status, owner, items and requirements; ICD per interface (Word) |
| Interface (physical) diagrams | ICD outputs | ICD document (Word) and ICD table (CSV); interface register (CSV) |
| N² and I² matrices | Export | CSV |
| Budgets & TPMs | Export XLSX | Budget workbook; TPM report with Status, Planned Profile and History sheets |
| Functional Analysis | CSV, XLSX, Copy on each table; report | Tables as CSV, XLSX or Word; Copy puts the table on the clipboard for Word or Excel; FFBD as PNG; full report as DOCX |
| Risk Register | Export | Excel (XLSX), CSV |
| Trade Studies | Export ▾ | Excel Workbook (.xlsx), Word Summary (.docx) |
| Simulator | Report and chart menus | Gantt CSV, Export To Project (MS Project XML), Event Log CSV, Console Report, Monte Carlo reports (CSV), charts as Transparent Image (PNG), Opaque Image (PNG), SVG Image |
| Charts | Chart menu | Download CSV, Download SVG, Download PNG; chart editors also Microsoft Word (DOCX), Web Page (HTML), Data (CSV) |
| Presentations | Export ▾ | Current slide: Opaque Image (PNG), Transparent Image (PNG), SVG Image; whole presentation: Web Page (HTML), PowerPoint (PPTX), Microsoft Word (DOCX) |
| DoDAF | Export menu | Architecture Package (Word), DoDAF Products (JSON), DM2 PES Subset (XML, not schema-validated); resource flows and rules as CSV or XLSX; AV-2 dictionary as CSV or XLSX |
| Home dashboard widgets | Widget menus | Table widgets Download Table (CSV), Activity Feed (CSV), Download Comments (CSV), chart images (PNG), RVTM (CSV) and RVTM (Word) |
| Artifact cards | Card ⋯ | Download Image (PNG); presentations also Download as HTML |
Project JSON format
A project export is one JSON object:
{
"format": "holarch-project",
"version": 1,
"id": "p…", "name": "…", "description": "…",
"created": 1760000000000, "modified": 1760000000000,
"nextNum": 412,
"entities": { "<id>": { "id", "classId", "name", "number", "description", "labels": [labelId], "props": { "<attributeId>": value }, "created", "modified", "locked"? } },
"relationships": { "<id>": { "id", "source", "relId", "target", "props": { … } } },
"diagrams": { "<entityId>": { "<diagramType>": { …layout and settings… } } },
"diagramMod": { "<entityId>": time },
"baselines": [ { "id", "name", "created", "docId"?, "approvals"?, "snapshot": { "entities", "relationships", … } } ],
"comments": { "<entityId>": [ { "id", "t", "text", "by"?, "resolved"? } ] },
"history": [ { "t", "op", "id", … } ],
"trash": [ … ],
"savedQueries": [ … ],
"schema": { "classes", "relations", "properties", "labels" }
}
- Times are milliseconds since 1970 (UTC).
relIdreads from the source's point of view; the inverse relationship is implied and not stored.- Descriptions are plain text or sanitized HTML; pictures and attached files are
data:URLs. schemais present when the project's schema differs from the default.- Project preferences such as the dashboard and charts are stored under
diagrams(__dashboard,__charts).
The Database JSON export uses the same format with only the chosen entities. A document export uses "format": "holarch-document" with docId, entities, relationships, docState and the optional comments, baselines and history. A schema export uses "format": "holarch-schema"; a baseline export uses "format": "holarch-baseline".
Keyboard shortcuts
The Import page has no shortcuts of its own. ⌘Z undoes a whole import. See Keyboard shortcuts.
Messages
Import errors (shown in the Select step as "Could not read the file: …")
| Message | Fix |
|---|---|
| "No data rows were found." | The file or sheet has only a header, or the wrong sheet is chosen. |
| "Excel 97-2003 (.xls) files are not supported. In Excel, save the file as .xlsx or .csv, then import it again" | Save as .xlsx or .csv. |
| "XML with a DOCTYPE or ENTITY declaration is not accepted. Save the file without it and import it again" | Remove the declaration. |
| "invalid XML" | The file is not well-formed XML. |
| "the XML is larger than 100 MB" / "the XML has more than 3,000,000 elements" | Split the file. |
| "not a zip file" / "the archive is damaged" | The .docx, .xlsx, .inno or .reqifz file is broken. |
| "the archive has more than 10000 files" | Too many entries in the ZIP. |
| "name is larger than 300 MB when unpacked" / "the archive is larger than 600 MB when unpacked" | The archive is too large. |
| "name is compressed more than 400:1, which is typical of a zip bomb" / "name unpacks to more data than allowed (zip bomb protection)" | The archive was refused for safety. |
| "word/document.xml not found" / "xl/workbook.xml not found" / "the workbook has no worksheets" | The file is not a valid Word or Excel file. |
"the .inno file has no .json or .xml data" / no <entity> elements found / "the file holds no project data" | The file is not a supported project file. |
| "Import failed: …" (toast) | The import stopped; nothing was changed. |
Import warnings
| Warning | Meaning |
|---|---|
| "No column is mapped to Name or Number." | Map at least one of them. |
| "Row N: unknown label "X" ignored." | The label does not exist in the schema. |
| "Row N: unknown class "X", using C." | The class name is unknown or abstract; the default class is used. |
| "Row N: "A" does not apply to class C." | The attribute belongs to another class; the value is skipped. |
| "Row N: "v" is not a valid type for "A"." | The value could not be converted. |
| "Row N: Name is longer than 255 characters and was shortened." / "…Number is longer than 255 characters…" | The text was cut to 255 characters. |
| "Duplicate number X (rows a and b)." | Two rows share a number; the hierarchy may attach to the first. |
| "Row N: parent X not found." / "Row N: parent number X not found." | The Parent Row ID or Parent Number does not exist in the file. |
| "Row N: missing parent number X for Y; attached to Z." / "…; imported at top level." | The number's direct parent is missing. |
| "Row N: "rel" target "t" not found." | No entity matches the relationship value. |
| "Row N: "rel" from A to B is not allowed by the schema (created anyway)." | The link was created although the schema does not list it. |
| "Relationship "type" between A and B is not allowed by the schema; skipped." | A ReqIF or XMI link could not be created. |
| "Image name: .ext images are not supported and were skipped. Save the picture as PNG or JPEG in Word to keep it." | Unsupported picture format in Word. |
| "Image name is missing from the file and was skipped." / "Image name (size) exceeds the limit attachment limit and was skipped." | The picture is missing or too large. |
| "name: N attribute value(s) had no matching attribute in C." | Project file values without a matching attribute. |
| "Skipped a relationship that could not be resolved ("rel")." | A project file relationship has an unknown end or type. |
| "Schema: added N class(es), relation(s), attribute(s) or label(s) from the file." | Information: the file's schema was merged. |
Limits
Limit: Attached files and images are limited by the server's per-file limit (25 MB by default) and the project's storage quota (1 GB by default); images over 4,000 px on the longest side are reduced. Your server administrator may set other values.
Limit: XML imports are limited to 100 MB and 3,000,000 elements; ZIP-based files to 10,000 entries, 300 MB per entry, 600 MB unpacked in total and a 400:1 compression ratio.
Limit: Imported names and numbers are cut to 255 characters. The import preview shows the first 500 rows and the first 50 warnings; all rows are imported.
Limit: XLSX cells hold up to 32,000 characters and sheet names up to 31; longer text is cut.
Limit: Excel 97-2003 .xls files and semicolon-separated CSV files are not read. Word pictures in EMF, WMF or other formats are skipped.
Related
- Documents: document reports and the Word output.
- Requirements: importing requirements step by step.
- Model and Database: queries and selections that drive the Database reports.
- Traceability: the matrix import and exports.
- Schema extensions: custom attributes created by imports.
- Help: Import, Import Requirements from Word, Excel, CSV or ReqIF, Manage Projects, Data and Security.
Last updated October 7, 2026