Skip to content

Power Management is still a push, and the mass edit form has tabs - #171

Merged
mastacontrola merged 1 commit into
masterfrom
claude/group-power-is-still-a-push
Sep 2, 2026
Merged

mastacontrola merged 1 commit into
masterfrom
claude/group-power-is-still-a-push

Conversation

@mastacontrola

Copy link
Copy Markdown
Member

Three corrections and one addition, all to pages written in this same group-split series — so all four are my own errors or my own omissions.

1. Power Management is still a one-time push (correction)

groups.md said the group's Power Management tab "stays, because it creates tasks rather than copying a value: a scheduled task is a real thing the group owns".

That is wrong. GroupManagement::groupPowermanagementPost() reads $this->obj->get('hosts') and insertBatch()es one powerManagement row per host that is a member at that instant — the same one-time push as every control ADR 0038 decision 10 removed, and now the last one left on the group page.

The docs now say so, with what actually follows:

Behavior
Host added to the group afterward gets no schedule
Host removed keeps the schedule
Delete all on the group tab current members only
A second, different schedule added; the first stays
The same schedule twice no-op

That last row is checked, not assumed — powerManagement carries UNIQUE KEY cron (pmHostID, pmMin, pmHour, pmDom, pmMonth, pmDow, pmAction) (commons/schema-expected.php:603) and insertBatch upserts on it. My first draft of that bullet claimed the opposite.

No code change is proposed here. A schedule is a cron expression plus an action, not a single value: it has no meaningful Clear on all and a host may legitimately hold several, so it does not fit the three-state shape Edit selected hosts uses. Making it a grant resolved at read time like snapins and printers is the right fix and needs a group-owned table — a schema change, so not this release. The docs say that too, rather than leaving a reader to wonder why one control was left behind.

2. Stale deprecation notice (correction)

hosts.md still said the group-page push controls "still exist on 1.6, marked deprecated, and are removed in a later release". FOGProject/fogproject#1651 removed them.

3. The mass edit tabs (new)

FOGProject/fogproject#1653 and #1654 split the modal into General / Active Directory / FOG Client, plus Plugins when a plugin contributed a field, mirroring a single host's own page.

Documented with the two things people will actually trip over:

  • the tabs are layout only — every field posts whichever tab is on top, so you never have to visit a tab to confirm the fields you left alone;
  • Host Printer Management Level is on FOG Client rather than a printers tab, because you cannot assign printers in bulk — a group grants them.

4. group-shared-state.md

Gains a Power Management section and lists it as a third kind of group state alongside grants and the removed pushed values.

Built clean: 214 files, 1394 emitted.

🤖 Generated with Claude Code

https://claude.ai/code/session_0166dqQEjAs9fhqUw5zCjvxM

Three corrections and one addition, all to pages written in this same
group-split series.

Power Management. groups.md said the group's Power Management tab "stays,
because it creates tasks rather than copying a value". That is wrong, and
I wrote it. GroupManagement::groupPowermanagementPost() reads
$this->obj->get('hosts') and insertBatch()es one powerManagement row per
host that is a member at that instant -- the same one-time push as every
control ADR 0038 decision 10 removed, and now the last one left on the
page. So the docs now say so, with what actually follows from it: a host
added later gets no schedule, a host removed keeps the one it has, and
Delete all reaches current members only.

Saving the same schedule twice is a no-op, because powerManagement
carries UNIQUE KEY cron (pmHostID, pmMin, pmHour, pmDom, pmMonth, pmDow,
pmAction) and insertBatch upserts on it -- checked in
commons/schema-expected.php rather than assumed, and my first draft of
that bullet said the opposite.

Stale deprecation notice. hosts.md still told people the group-page push
controls "still exist on 1.6, marked deprecated, and are removed in a
later release". They were removed in fogproject#1651.

The mass edit tabs (fogproject#1653, #1654). The form is now General /
Active Directory / FOG Client, plus Plugins when a plugin contributed a
field, mirroring a single host's own page. Documented with the part
people will actually trip over: the tabs are layout only, every field
posts whichever tab is on top, and Host Printer Management Level is on
FOG Client rather than a printers tab because you cannot assign printers
in bulk -- a group grants them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0166dqQEjAs9fhqUw5zCjvxM
@mastacontrola
mastacontrola merged commit ffcebf8 into master Sep 2, 2026
@mastacontrola
mastacontrola deleted the claude/group-power-is-still-a-push branch September 2, 2026 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant