Struxen Docs

Schedule

A WBS grid and Gantt over activities you enter or import, plus a separate pull-planning board for the next one to four weeks

Schedule is a split workspace. A WBS grid on the left, a timeline on the right, one toolbar above both. Both panes render the same rows at the same height, so a bar cannot belong to the wrong row.

Read this first. There is no CPM

Nothing on this surface recalculates. Dates are exactly what somebody entered or imported. Creating a dependency records a relationship and moves nothing. Changing a predecessor's finish date does not move its successor. Adding lag does not shift anything. Critical is a stored flag that a person set or an import carried in, not a path computed from the network.

That is a product decision, not an unfinished feature. A half-correct forward and backward pass that silently shifts a superintendent's dates is worse than no pass at all.

If you need a scheduling engine, keep running it in Primavera P6 or MS Project and import the result. Struxen holds the schedule, prints it, reads it into daily logs, and reasons over it. It does not compute it.

Two ownership modes

Which one a project has is a data-ownership fact, not a display preference. It is read once, up front, before a single editable control renders, because letting you type into a grid and only telling you at save time that the project is Autodesk-synced would waste the typing.

ModeSystem of recordWhat you can do
NATIVEStruxenFull editing: create schedules, add and edit activities, nest WBS, create dependencies, import
ACCAutodeskThe grid and timeline are read only. Two actions are available: Sync now and Detach and take ownership

An ACC-owned schedule is read-only because the next sync would overwrite anything typed here. The sync is a wholesale re-put; there is no merge and there cannot be one without owning both sides. See Integrations.

A project is never both. The first write decides, and there is no supported path back from NATIVE to ACC.

Sync now pulls the current Autodesk schedule. It appears only on an ACC-owned project with a connected Autodesk account, and only for an organization Owner or Admin. When the last sync failed, the surface says so on its face rather than showing stale rows as though they were current, and offers Reconnect Autodesk when that is the cause.

Detach and take ownership

Detach and take ownership snapshots the Autodesk-synced schedule into a native one, flips the project to NATIVE, and stops the Autodesk sync. It is one-way and permanent, so it requires ADMIN on the Schedule tool and an explicit confirmation.

Starting a schedule on a native project

An empty project offers two routes:

Import a schedule from a file. Name the schedule, then attach a Primavera P6 .xer or a CSV or TSV export of the task grid. The format is chosen from the file's own content, not from its extension. Import runs in two modes:

  • Preview parses and shows exactly what would land, including every column that did not map, every row that could not be read, and every token the reader did not recognise. Nothing is written.
  • Replace writes. It builds the new version first and only then supersedes the old rows, so a failure partway through leaves the previous schedule intact rather than leaving you with an empty schedule.

There is no append mode. Appending needs a rule for what to do when an imported row collides with an existing one, and every plausible rule is wrong for some real workflow.

An .xer carrying more than one project with activities returns an error listing them rather than importing the first one it finds. Encoding is handled before parsing, which matters for P6 specifically: it writes Windows-1252 far more often than UTF-8.

Build the schedule in Struxen. Start from an empty schedule and add activities, WBS nesting and links by hand.

Activities

FieldValues
TypeTASK, MILESTONE, SUMMARY
StatusNot started, In progress, Complete, Delayed
DatesPlanned start and finish, actual start and finish
ProgressPercent complete
DurationDays
CriticalA stored flag
WBS codeFree text
ParentThe activity this one nests under
NotesFree text

A milestone has zero duration and one date, and renders as a diamond.

Summary spans roll up from descendants for display. That rollup is a rendering convenience over stored child dates, not a recalculation of them.

Manual ordering within a parent uses sparse numbering, so reordering one activity rewrites one row instead of renumbering the schedule.

Dependencies

Four relationship types are modelled, because any file round-tripped from MS Project or P6 can carry all four and a two-value set would drop data silently on import:

  • Finish to start (FS)
  • Start to start (SS)
  • Finish to finish (FF)
  • Start to finish (SF)

Each link carries a lag in days. Recording a link never moves a date.

A link can be deactivated rather than deleted. A deactivated link stays in the record and renders dashed, but is excluded from every derived read, so you can try a sequence without losing the relationship.

Toolbar

Search activities, Filters, Expand all, Collapse all, Highlight critical path (which highlights the stored flag), Show dependencies, Zoom in, Zoom out, and Fit the whole schedule.

Schedule risk checks

Schedule risk checks is a read-only assessment. It runs in two stages, and the order is the design:

  1. Everything computable is computed, in plain arithmetic with no model involved: an activity past its planned finish with no actual finish, an activity that never started on time, progress trailing the elapsed share of its own window, a finish before its start, an activity with no dates. These are facts, they are exact, and they are identical on every run.
  2. Only the judgement question goes to a model: which open RFIs and submittals plausibly bear on which at-risk activity, and what to do first. The model is handed the computed signals and is told to cite record ids.

The risk panel never writes. It has no write path at all. The moment an assistant can shift a superintendent's dates, the dates stop being the superintendent's.

Risk is measured against each activity's own stored plan, not against a recomputed critical path. An at-risk activity with successors is called out as blocking, with the count.

This is a metered AI operation and runs against the project's credit pool. It covers at most 30 activities and 40 open items per run.

The look-ahead board

Lookahead, on its own tab, is a separate surface with a separate purpose. The Gantt says when the programme thinks work happens. The board says what a team has committed to for the next one to four weeks, by company, day by day.

The two are not linked. Moving a bar on the board moves nothing on the schedule, and re-syncing the schedule moves nothing on the board. A task may reference the activity it was pulled from, and that reference is provenance, not a link.

That separation is what lets the board be fully editable on an ACC-synced project where the schedule itself is read only. If you assume a two-way link, you will find out the worst way.

A plan is a Monday-anchored window of one, two, three, or four weeks. Tasks carry a company (from the project directory), an optional named assignee, notes, and a status:

Status
PlannedCommitted, not yet done
Done
PartialHalf finished
BlockedNever started, something was in the way

Partial and blocked are the two a generic done/not-done model loses, and they are exactly what a weekly plan review asks about.

A task with no company is Unassigned, which is a legitimate permanent state and not a data gap.

The board refuses to move a date you did not ask to move. A drag that would leave the plan window is refused and the bar snaps back with a message. A window shrink that would orphan tasks is refused before it is sent and again when the server refuses it, because two people can be on one board. The one place dates are clamped is on a pull from the schedule, where the dates come from a programme that knows nothing about this plan's horizon and nobody typed them.

Plans export to PDF or CSV. Archived plans stay readable and drop off the default list.

Permissions

Both the schedule and the look-ahead board gate on the Schedule tool. See Permissions.

ActionLevel
Read schedules, activities, dependencies, ownership modeREAD_ONLY
Run a schedule risk checkREAD_ONLY
Read and export a look-ahead planREAD_ONLY
Create a schedule, add and edit activities and dependenciesSTANDARD
Import a schedule fileADMIN
Detach and take ownershipADMIN
Sync now on an ACC-owned projectOrganization Owner or Admin, with Autodesk connected

Limits

LimitValue
Rows in one import file20,000
Import request body8 MB, which is roughly 7,000 wide P6 rows
Activity duration50,000 days
Dependency lag3,650 days either direction
Activities in one risk check30
Open items considered by a risk check40
Activity name300 characters
Activity notes5,000 characters
WBS code60 characters
Look-ahead window1 to 4 weeks

Every enforced limit across Struxen is collected at Limits.

Troubleshooting

Creating a dependency did not move anything. Correct. Struxen records the relationship; it does not reschedule. See the top of this page.

The schedule is read only and there is no obvious reason. The project is ACC-owned. Autodesk is the system of record. Edit it there, or use Detach and take ownership if you want to move authorship to Struxen permanently.

"Highlight critical path" highlights the wrong activities. It highlights the stored isCritical flag. If the flag came in from an import, it reflects whatever the source tool computed at export time and does not update.

An import failed and the old schedule is still there. That is the intended outcome. The new version is written before the old rows are superseded, so a failed import is a no-op rather than an empty schedule.

The import returned a list of projects. The .xer carries more than one project with activities. Pick the one you meant and import again.

An import was refused for size. The file is over the 8 MB request cap or over 20,000 rows. Split it, or export a narrower slice of the programme.

Moving a task on the look-ahead board did not update the Gantt. Correct. The board and the schedule are separate records by design.

A drag on the board snapped back. The move would have taken the task outside the plan's window. Widen the window or move the task within it.

On this page