Expand description
Business logic. Every mutation checks permissions and lifecycle rules, runs in a database transaction and writes an audit log entry.
Both the web UI and the REST API call into these functions, so the rules are enforced identically for both.
Modules§
- access
- Read access control: the only place that writes the SQL guards.
- access_
log - Read and download log of restricted groups (#151, step 4).
- access_
review - Access review of a restricted project group (issue #151, step 5).
- annotations
- 3D markup: notes pinned to points of a file version’s 3D preview, for design reviews. Everyone who may read the file reads and adds notes (reviewers are often viewers); a note is removed by its author or an administrator. Adding and removing are audited on the revision.
- as_
built - As-built records: hardware as it was really built.
- assemblies
- 3D previews of NX, SOLIDWORKS, Inventor and Creo assemblies and CATIA products.
- assistant
- Runs the built-in assistant for a user and records the run in the
audit log (who, which action, question length, tools, tokens – never the
question or the answer). See
crate::assistantfor the tool loop. - assistant_
threads - The assistant’s conversation: one thread per user that survives page navigation and reloads.
- attributes
- Custom attributes (feature 5): definitions maintained by administrators and the validation of values against them.
- audit
- Append-only audit trail of every change to product data and users (only
the optional retention,
purge_older_than, removes old entries – and records that it did). - bom
- Bills of materials: single-level editing, multi-level expansion with revision rules, mass/cost roll-up, CSV and Excel export and cycle prevention.
- bom_
compare - BOM comparison between two revisions (Teamcenter’s structure compare): which lines were added, removed or changed (quantity, find number, notes and, over all levels, the resolved child revision). Lines are matched by child item and find number first, then by child item. Over all levels, the children of two matched lines are compared the same way, and an added or removed line brings its whole sub-tree.
- bom_
references - A BOM from the CAD references the server found.
- branding
- Instance branding: administrators replace the built-in logos.
- bulk
- Lifecycle operations on many items at once: revise or obsolete the latest
revision of every listed item. Each item goes through the same service
as a single operation (
revisions::revise/revisions::obsolete) in its own transaction, so permissions, locks, audit records, notifications and webhooks are exactly those of the single operation, and one refusal does not stop the others; the outcome lists every item. (Releasing many items together is a change order with many revisions.) - changes
- Change orders: the only way to release revisions.
- checkouts
- Concurrency management around check-outs: the sync state of the files of a revision as a client’s workspace sees them, and the bulk check-in of everything a user has checked out.
- deactivation
- Deactivation as an offboarding step (issue #173, step 4): an administrator
deactivates a leaver and, in the same step, chooses what happens to what
they still hold (see
services::offboarding::holdings): - desktop
- Sign-in of the TeamCraft desktop app through the browser.
- duplicates
- Likely duplicate items by name: before (or right after) an item is created, the items whose latest revision has a similar name are offered, so an existing part is reused instead of created twice. Read-only and limited to the items the actor may read.
- explorer
- The vault explorer: items as a folder browser (project group → items → files), the way engineering vaults are usually worked with – every row shows the lock, and check-out / check-in / cancel are one click away.
- files
- File attachments of revisions, with version history.
- folders
- The file browser of a project group: the folders its files have
(
files.folder, the structure of the engineer’s working folder) and the files in them, one folder level per request (read-only; a big group is never loaded as a whole). - impacts
- Change propagation to dependents.
- imports
- Import of bills of materials exported by CAD programs (see
crate::bomtable) and of the product structure of STEP assemblies (seecrate::stepbom). - insights
- Read-only analyses for engineers and agents: the health of a BOM and files stored more than once. Deterministic – they report facts from the database, the reader decides what to do.
- interchange
- Interchangeable parts (feature 6, see
docs/src/research/supersede-alternates.md): - items
- Items (parts, assemblies, documents, software) and their search.
- manager_
gaps - Project groups without an active manager (issue #173, step 7).
- mass_
geometry - Which geometry file a revision’s mass is computed from (pure rules).
- mass_
properties - Mass properties of assemblies: the material library, the mass settings of
revisions and files, and the roll-up of mass, centre of gravity and
inertia tensor over the multi-level BOM (see
masspropsanddocs/src/research/mass-properties.md). - membership_
conditions - Need-to-know project groups, step 2 (issue #151): conditions on membership. A restricted group with a need-to-know policy can require, on top of membership,
- notifications
- Notifications and watch lists.
- offboarding
- What a user still holds (issue #173, step 1): the report an administrator or a group manager reads before somebody leaves – check-outs, change orders they wrote that are still open, pending reviews, change requests assigned to or raised by them, items they own, their memberships (and the groups in which they are the only active manager) and their API tokens.
- ownership
- Item owners and the hand-over of a leaving user’s work (issue #152, step 7).
- package
- “Pack and Go”: an assembly with everything it consists of as one ZIP file.
- personal
- Personal working sets: favorites (Teamcenter “Favorites”) and saved item searches (Teamcenter “Saved Queries”). Both belong to one user only, so they are not audited.
- project_
policy - Need-to-know policy of a restricted project group (issue #151, step 1): how administrators who are not members read the group.
- projects
- Project groups (e.g. a product line, a machine, a customer project or a rover). CAD editors may only modify items of the project groups they are members of.
- quotas
- Storage quotas: an optional limit per user (
users.storage_quota_bytes) and one for the whole vault (vault_quota.total_bytes). Both count the sizes of the stored file versions – identical content stored twice counts twice, as it does for the user who uploads it; purged versions free their share. Without a limit (the default) nothing is checked. - readiness
- Release readiness of a change order.
- references
- Reference tracking besides the BOM:
- request_
digests - E-mail digest of the change requests that wait for triage, per project group.
- requests
- Engineering change requests (ECR): the step before a change order.
- result_
proposals - Result values proposed by the assistant from a report.
- result_
templates - Extraction templates of a project group: where a simulation’s key numbers
are found in small text files at check-in (see
crate::resultscan). - retention
- Data retention: which vault blobs the database still refers to, the
removal of blobs nothing refers to (
teamcraft vault gc, and the blobs of expired staged imports and upload sessions) and the trimming of the preview cache, and the removal of superseded versions oflatestfiles (purge_superseded_versions). The audit log retention isaudit::purge_older_than. - reviewers
- Suggested reviewers for a change order: who knows the affected items?
- revisions
- Revisions: attributes, check-out/check-in, revise and obsolete.
- save_as
- “Save As” (as in Teamcenter): a new item from an existing revision – its attributes, optionally its current files and its BOM. The new item starts with revision A, in work and checked out to the author, exactly like a freshly created item.
- season
- Season (term) handover of a project group (issue #173, step 8).
- similar
- Similar part search: “do we already have a part like this?”.
- simulations
- Simulation management (FEA, CFD, …).
- stats
- Figures for the dashboard.
- structure
- The structure view of the desktop navigator: the top-level items of a project group and the parts of one assembly revision, one level at a time (read-only; a big group or assembly is never loaded as a whole).
- uploads
- Chunked, resumable uploads for large files (CAD assemblies, simulation results of several GB).
- users
- Users, browser sessions and API tokens.
- webhooks
- Outgoing event webhooks: administration and the events.
- workset
- The working set of a revision: everything the desktop “Get” copies into the working folder to open an assembly in the CAD program.
Structs§
- Page
- Pagination helper used by list endpoints.