SIMAI Framework delivery errors
Docara ships SIMAI Framework inside its package: styles, scripts, icons,
fonts and component descriptions. The project file
simai-framework.lock.json (the framework_lock field in docara.json)
names the exact version of this delivery. Before the build, Docara checks
every Framework file against the pinned hashes, so the site does not depend
on external servers and does not change by itself. How the file is built is
described on Framework lock file.
What to do in most cases
Almost all codes on this page mean one of two things: the lock file does not match the delivery in the package, or the package files are damaged.
-
Do not edit
simai-framework.lock.jsonby hand. -
If you recently updated Docara, replace the project lock file with the shipped one:
Bashcp vendor/simai/docara/stubs/portable/simai-framework.lock.json simai-framework.lock.json -
Restore the package files from
composer.lock: delete thevendor/simai/docarafolder and runcomposer install. -
Run a full build. If the error stays, report it as described on Internal errors.
The lock file
| Code | Cause and what to do |
|---|---|
FRAMEWORK_LOCK_MISSING, FRAMEWORK_LOCK_PATH_INVALID |
The file from the framework_lock field does not exist. What to do: Copy the shipped file as shown above and check the path in docara.json. |
FRAMEWORK_LOCK_JSON_INVALID |
The lock file is not valid JSON. What to do: Restore the file from the project history or replace it with the shipped one. |
FRAMEWORK_LOCK_SCHEMA_INVALID, FRAMEWORK_LOCK_INVALID, FRAMEWORK_LOCK_IDENTITY_INVALID |
The file lacks fields, or the versions in it do not agree with each other. What to do: Replace the file with the shipped one. |
FRAMEWORK_MOVING_REFERENCE_FORBIDDEN, FRAMEWORK_ASSET_MOVING_REFERENCE_FORBIDDEN |
The version is given by a moving reference (main, master, latest) whose content changes over time. What to do: Give an exact version like v1.2.3, or replace the file with the shipped one. |
FRAMEWORK_RUNTIME_RELEASE_REFERENCE_INVALID, FRAMEWORK_ASSET_COMMIT_REQUIRED |
The version is not written as v1.2.3, or a file address has no exact commit. What to do: Replace the file with the shipped one. |
FRAMEWORK_MANIFEST_NOT_LOCKED, FRAMEWORK_MANIFEST_UPSTREAM_REVISION_MISMATCH, FRAMEWORK_RUNTIME_PROJECTION_MISMATCH |
The lock file names a different Framework version than the installed Docara ships, usually after a Docara update. What to do: Replace the file with the shipped one. |
FRAMEWORK_LOCK_CHANGED_DURING_BUILD |
The lock file changed while the build was running. What to do: Wait until the edit is finished and build again. |
FRAMEWORK_RUNTIME_MISSING |
The project has no pages. What to do: Add a page to a language folder, for example content/en/index.md. |
FRAMEWORK_ASSET_PLAN_NOT_STABLE |
After the page was output, the set of Framework files it needs changed. What to do: Rebuild the site; if the error repeats, report it. |
Component call
| Code | Cause and what to do |
|---|---|
FRAMEWORK_PRESET_UNKNOWN |
The SIMAI Framework component has no preset with this name. What to do: Take the name from docara inspect smart <component> --json or remove preset. |
FRAMEWORK_PRESET_INVALID |
preset is not written as a string. What to do: Write "preset": "name". |
Loading warnings
Usually Docara knows in advance which Framework styles and scripts a page needs, and connects only those. These warnings report that part of the code will load on demand in the browser. The build does not stop, and the site works.
| Code | What it means |
|---|---|
FRAMEWORK_COMPONENT_DYNAMIC_FALLBACK, FRAMEWORK_SMART_DYNAMIC_FALLBACK, FRAMEWORK_RELATION_DYNAMIC_FALLBACK |
A component or its dependency will load in the browser on demand. What to do: Nothing, if the page works. |
FRAMEWORK_SHELL_PRELOAD_METADATA_MISSING |
The pinned version has no list of files to preload. What to do: Nothing; the warning goes away after Docara and the lock file are updated. |
Delivery checks
These codes concern the files inside the Docara package and their description in the lock file. The fix is the same for all of them: the steps from What to do in most cases.
| What is checked | Codes |
|---|---|
| The Framework files in the package are in place and match their hashes | FRAMEWORK_BUNDLED_ASSET_HASH_MISMATCH, FRAMEWORK_BUNDLED_ASSET_MISSING, FRAMEWORK_BUNDLED_ASSET_UNSAFE, FRAMEWORK_BUNDLED_DYNAMIC_ASSET_HASH_MISMATCH, FRAMEWORK_BUNDLED_DYNAMIC_ASSET_MISSING, FRAMEWORK_BUNDLED_DYNAMIC_ASSET_UNSAFE, FRAMEWORK_BUNDLED_RUNTIME_INVALID, FRAMEWORK_BUNDLED_RUNTIME_MISSING, FRAMEWORK_BUNDLED_RUNTIME_UNSAFE, FRAMEWORK_PACKAGE_ARCHIVE_ENTRY_FORBIDDEN, FRAMEWORK_PACKAGE_ARCHIVE_HASH_MISMATCH, FRAMEWORK_PACKAGE_ARCHIVE_UNREADABLE, FRAMEWORK_PACKAGE_ASSET_HASH_MISMATCH, FRAMEWORK_PACKAGE_ASSET_MISSING, FRAMEWORK_PACKAGE_ASSET_NOT_PROJECTED, FRAMEWORK_PACKAGE_ASSET_PUBLICATION_FAILED, FRAMEWORK_PACKAGE_ASSET_UNSAFE, FRAMEWORK_PACKAGE_FILE_HASH_MISMATCH, FRAMEWORK_PACKAGE_FILE_MISSING, FRAMEWORK_PACKAGE_FILE_NOT_IN_RECEIPT, FRAMEWORK_PACKAGE_OUTPUT_MISSING, FRAMEWORK_PACKAGE_OUTPUT_SYMLINK_FORBIDDEN, FRAMEWORK_PACKAGE_RECEIPT_INVALID, FRAMEWORK_PACKAGE_RECEIPT_MANIFEST_MISMATCH, FRAMEWORK_PACKAGE_RECEIPT_RELEASE_MISSING, FRAMEWORK_PACKAGE_RECEIPT_REQUIRED_FILE_UNLISTED, FRAMEWORK_PACKAGE_RECEIPT_SCHEMA_UNSUPPORTED, FRAMEWORK_PACKAGE_RECEIPT_UNREADABLE |
| The lock file lists all published files and describes them consistently | FRAMEWORK_ASSET_NOT_PROJECTED, FRAMEWORK_ASSET_PATH_INVALID, FRAMEWORK_ASSET_PROJECTION_FILE_INVALID, FRAMEWORK_ASSET_PROJECTION_INVALID, FRAMEWORK_ASSET_PUBLICATION_FAILED, FRAMEWORK_DYNAMIC_ASSET_NOT_PROJECTED, FRAMEWORK_DYNAMIC_ASSET_PROJECTION_FILE_INVALID, FRAMEWORK_DYNAMIC_ASSET_PROJECTION_INVALID, FRAMEWORK_DYNAMIC_ASSET_PUBLICATION_FAILED, FRAMEWORK_NONCLAIMS_INVALID, FRAMEWORK_PACKAGE_PROJECTIONS_INVALID, FRAMEWORK_PACKAGE_PROJECTION_FILE_INVALID, FRAMEWORK_PACKAGE_PROJECTION_INVALID, FRAMEWORK_PACKAGE_PROJECTION_UNSUPPORTED, FRAMEWORK_PORTABLE_ASSET_ENCODING_INVALID, FRAMEWORK_PORTABLE_ASSET_HASH_INVALID, FRAMEWORK_PORTABLE_ASSET_HASH_MISMATCH, FRAMEWORK_PORTABLE_ASSET_MISSING, FRAMEWORK_PORTABLE_ASSET_PROJECTION_COLLISION, FRAMEWORK_PORTABLE_ASSET_PROJECTION_INVALID, FRAMEWORK_PORTABLE_ASSET_PROJECTION_PATH_INVALID, FRAMEWORK_PORTABLE_ASSET_UNSAFE, FRAMEWORK_RUNTIME_ASSET_HASH_MISMATCH, FRAMEWORK_RUNTIME_ASSET_MISSING, FRAMEWORK_RUNTIME_ASSET_NOT_PROJECTED, FRAMEWORK_RUNTIME_ASSET_UNSAFE, FRAMEWORK_RUNTIME_COMPONENT_MISSING, FRAMEWORK_RUNTIME_DEPENDENCY_INVALID, FRAMEWORK_RUNTIME_LOCK_INVALID, FRAMEWORK_RUNTIME_LOCK_V2_INVALID, FRAMEWORK_RUNTIME_MANIFEST_FILE_INVALID, FRAMEWORK_RUNTIME_MANIFEST_HASH_MISMATCH, FRAMEWORK_RUNTIME_MANIFEST_INVALID, FRAMEWORK_RUNTIME_MANIFEST_MISSING, FRAMEWORK_RUNTIME_MANIFEST_NOT_PROJECTED, FRAMEWORK_RUNTIME_MANIFEST_UNSAFE, FRAMEWORK_RUNTIME_PACKET_HASH_MISMATCH, FRAMEWORK_RUNTIME_PROJECTION_INVALID |
| The Framework component descriptions and the rules for using them in Docara | FRAMEWORK_CONSTRAINTS_INVALID, FRAMEWORK_CONSTRAINT_COMBINATION_INVALID, FRAMEWORK_CONSTRAINT_REQUIREMENT_INVALID, FRAMEWORK_CONSUMER_POLICY_ASSET_NOT_OMITTED, FRAMEWORK_CONSUMER_POLICY_INVALID, FRAMEWORK_CONSUMER_POLICY_MISSING, FRAMEWORK_CONSUMER_POLICY_WIDENS_MANIFEST, FRAMEWORK_CRITICAL_ASSET_UNACCOUNTED, FRAMEWORK_EXAMPLE_PROPS_MISSING, FRAMEWORK_GATEWAY_CALL_INVALID, FRAMEWORK_MANIFEST_ATLAS_INVALID, FRAMEWORK_MANIFEST_COMPONENT_ASSET_MISSING, FRAMEWORK_MANIFEST_CONSTRAINT_INVALID, FRAMEWORK_MANIFEST_CONTROL_INVALID, FRAMEWORK_MANIFEST_HASH_MISMATCH, FRAMEWORK_MANIFEST_INVALID, FRAMEWORK_MANIFEST_JSON_INVALID, FRAMEWORK_MANIFEST_LOCKS_INVALID, FRAMEWORK_MANIFEST_LOCK_INVALID, FRAMEWORK_MANIFEST_MISSING, FRAMEWORK_MANIFEST_PROP_PATTERN_INVALID, FRAMEWORK_MANIFEST_PROP_SCHEMA_INVALID, FRAMEWORK_MANIFEST_PROP_TYPE_UNSUPPORTED, FRAMEWORK_MANIFEST_PROVIDER_MISMATCH, FRAMEWORK_MANIFEST_READINESS_NOT_ADMITTED, FRAMEWORK_MANIFEST_SOURCE_UNSAFE, FRAMEWORK_PRESET_CONTRACT_INVALID, FRAMEWORK_PROPS_SCHEMA_INVALID, FRAMEWORK_RENDER_MANIFEST_INVALID |
| The SIMAI Framework Smart components pinned for Docara | SMART_FRAMEWORK_ARTIFACT_CONSTRAINT_INVALID, SMART_FRAMEWORK_ARTIFACT_CONTRACT_MISMATCH, SMART_FRAMEWORK_ARTIFACT_DEPENDENCY_INVALID, SMART_FRAMEWORK_ARTIFACT_DUPLICATE, SMART_FRAMEWORK_ARTIFACT_FILE_LOCK_INVALID, SMART_FRAMEWORK_ARTIFACT_HASH_MISMATCH, SMART_FRAMEWORK_ARTIFACT_LOCK_INVALID, SMART_FRAMEWORK_ARTIFACT_LOCK_ORDER_INVALID, SMART_FRAMEWORK_ARTIFACT_NOT_LOCKED, SMART_FRAMEWORK_ARTIFACT_PATH_UNSAFE, SMART_FRAMEWORK_ARTIFACT_TREE_MISMATCH, SMART_FRAMEWORK_PACKET_LOCK_INVALID, SMART_FRAMEWORK_PACKET_NOT_LOCKED, SMART_FRAMEWORK_PORTABLE_LOCK_CONTRACT_INVALID, SMART_FRAMEWORK_PORTABLE_LOCK_INVALID, SMART_FRAMEWORK_PORTABLE_LOCK_MISSING, SMART_FRAMEWORK_REVISION_IMMUTABLE_REQUIRED, SMART_FRAMEWORK_RUNTIME_ASSET_LOCK_INVALID, SMART_FRAMEWORK_RUNTIME_ASSET_MISMATCH |
| Icons and fonts | FRAMEWORK_ICON_ASSET_HASH_MISMATCH, FRAMEWORK_ICON_ASSET_INVALID, FRAMEWORK_ICON_ASSET_MISSING, FRAMEWORK_ICON_ASSET_NOT_PROJECTED, FRAMEWORK_ICON_ASSET_UNSAFE, FRAMEWORK_ICON_CATALOG_FONT_SIZE_MISMATCH, FRAMEWORK_ICON_CATALOG_INDEX_HASH_MISMATCH, FRAMEWORK_ICON_CATALOG_INDEX_INVALID, FRAMEWORK_ICON_CATALOG_MANIFEST_HASH_MISMATCH, FRAMEWORK_ICON_CATALOG_MANIFEST_INVALID, FRAMEWORK_ICON_PACKET_HASH_MISMATCH, FRAMEWORK_ICON_PRELOAD_MISSING, FRAMEWORK_ICON_PROJECTION_INVALID, FRAMEWORK_ICON_SUBSET_CSS_HASH_MISMATCH, FRAMEWORK_ICON_SUBSET_FONT_SIZE_MISMATCH, FRAMEWORK_ICON_SUBSET_MANIFEST_HASH_MISMATCH, FRAMEWORK_ICON_SUBSET_MANIFEST_INVALID, FRAMEWORK_TYPOGRAPHY_ASSET_HASH_MISMATCH, FRAMEWORK_TYPOGRAPHY_ASSET_INVALID, FRAMEWORK_TYPOGRAPHY_ASSET_MISSING, FRAMEWORK_TYPOGRAPHY_ASSET_NOT_PROJECTED, FRAMEWORK_TYPOGRAPHY_ASSET_UNSAFE, FRAMEWORK_TYPOGRAPHY_PRELOAD_MISSING, FRAMEWORK_TYPOGRAPHY_PROJECTION_INVALID, FRAMEWORK_TYPOGRAPHY_PUBLIC_PATH_INVALID |
| The plan for connecting styles and scripts to pages | FRAMEWORK_ASSET_BASE_INVALID, FRAMEWORK_ASSET_PLAN_HTML_ENCODING_INVALID, FRAMEWORK_ASSET_PLAN_HTML_INVALID, FRAMEWORK_ASSET_PROJECTION_CLOSURE_MISMATCH, FRAMEWORK_ASSET_SOURCE_REVISION_REQUIRED, FRAMEWORK_COMPONENT_TAG_INVALID, FRAMEWORK_EXPLICIT_REQUIREMENT_INVALID, FRAMEWORK_EXPLICIT_REQUIREMENT_UNKNOWN, FRAMEWORK_RULE_REGISTRY_ENTRY_INVALID, FRAMEWORK_RULE_REGISTRY_INVALID, FRAMEWORK_RULE_REGISTRY_REGEX_INVALID, FRAMEWORK_RULE_REGISTRY_TAGS_INVALID, FRAMEWORK_RULE_REGISTRY_TAG_CONFLICT, FRAMEWORK_RULE_REGISTRY_TAG_INVALID, FRAMEWORK_RULE_REGISTRY_TYPE_INVALID, FRAMEWORK_RUNTIME_DEPENDENCY_MISSING, FRAMEWORK_RUNTIME_FONT_PRELOAD_INVALID, FRAMEWORK_RUNTIME_PUBLIC_PATH_INVALID, FRAMEWORK_SHELL_CSS_ENCODING_INVALID, FRAMEWORK_SHELL_CSS_INVALID, FRAMEWORK_SHELL_CSS_ORDER_INVALID, FRAMEWORK_SHELL_CSS_URL_EXTERNAL, FRAMEWORK_SHELL_CSS_URL_INVALID, FRAMEWORK_SHELL_CSS_URL_TRAVERSAL, FRAMEWORK_SHELL_CSS_URL_UNSUPPORTED, FRAMEWORK_SHELL_PRELOAD_METADATA_INVALID, FRAMEWORK_SHELL_PUBLIC_PATH_INVALID, FRAMEWORK_SMART_ASSET_PATH_INVALID, FRAMEWORK_UI_ASSET_PATH_INVALID |