---
title: "Feature: Contracts and profile information rows can be hidden"
manual: "Academic Profiles Edit"
version: "main"
source: "Changelog/3.0/Feature-HideDocumentRows.rst"
rendered: "2026-09-30T20:17:10+00:00"
---

# Feature: Contracts and profile information rows can be hidden {#feature-hide-document-rows}

## Description {#description}

Every row of a document section of the [Profile editing](../../ProfileEditing/Index.html#profile-editing) view - a
contract, a publication, a lecture, a cooperation and the other timeline
entries - carries a visibility switch as the `hide` entry of its section's
`actions` list. Pressing it hides the record in the public profile, pressing
it again shows it. While the record is hidden the row is drawn in the
secondary text colour, its controls at full contrast, and carries a
**Hidden** tag in front of its action group; the label of the switch
names the press (**Hide in frontend** respectively **Show in
frontend**) and its glyph shows the state.

The switch is what the contact rows below a contract already have, extended to
the records they belong to. It flips the record's own `hidden` column, the
TCA `enablecolumns.disabled` field, through the new
`toggleDocumentVisibility` JSON action of `ProfileController`, which is
sent the target state rather than a "flip" so that a double press stores what
the visitor saw, answers the serialised record, and follows the `hide` entry
of the section's allow-list like every other action follows its own.

A hidden record stays in the editor: it is the one place it can be shown
again. The editor therefore lists the records of a section through the
repositories' `IncludingHidden` queries, while the public views keep reading
the relations of the profile, which respect the enable fields.

## Impact {#impact}

The switch is listed first in the shipped `actions` of every section. A
site that overrides a section's `actions` keeps its list and adds
`hide` where the switch is wanted; a section marked `readonly` never
offers it. A site overriding `Templates/Profile/Index.html` has to carry
`data-toggle-document-visibility-url`, `data-message-document-hidden` and
`data-message-document-shown`; one overriding
`Partials/Profile/Documents/Actions.html` renders the `hide` case and
the tag itself.

## Affected Installations {#affected-installations}

Installations of the **Profile editing** content element of
`EXT:academic_persons_edit`.
