Create command-line task that removes unnecessary actor links at lower levels where inheritance could be used
|Target version:||Release 2.5.0|
|Google Code Legacy ID:||Tested version:||2.5|
In AtoM, the repository name and the creator name will automatically inherit to lower levels, following the ICA principles of not repeating information unnecessarily, and describing at the highest relevant aggregation. Additionally, using inheritance tends to be better for performance in AtoM overall - there are less permissions checks to be made, and less discrete updates that need to be made when the source link is updated.
In many cases, new users are unaware of this functionality and its rationale, and may add direct links to a creator at many or all levels of description. This task will iterate over the descriptions searching for places where lower level descriptions match the parent, and removing the lower level link so that the creator name will be inherited instead.
However, there are several possible uses cases where an intermediate creator has been purposefully added (e.g. a different creator for a series), and the task must respect these changes.
This new command-line task can be run with the following command:
php symfony tools:unlink-creators
Run without any options, it will example all descriptions. There are also options to specify a single descriptive hierarchy (input is a slug), or a single actor (input is an actor slug).
#3 Updated by Steve Breker over 1 year ago
php symfony help tools:unlink-creators
symfony tools:unlink-creators [--application[="..."]] [--env="..."] [--connection="..."] [--creator-slug="..."] [--description-slug="..."]
--application The application name (default: 1)
--env The environment (default: cli)
--connection The connection name (default: propel)
--creator-slug Restrict changes to specific creator.
--description-slug Restrict changes to this information object hierarchy.
Unlink creators from descriptions so creator inheritance can be used.
This Task will examine a description's creators and compare them to the
description's ancestors. If the identical ancestors are found on an ancestor
description such that creator inheritance could be used instead of directly
linking a creator to a description, the creator will be unlinked from the
#7 Updated by Dan Gillean 3 months ago
- Assignee deleted (
- Requires documentation deleted (
Documentation added to 2.5 branch - see: https://www.accesstomemory.org/docs/latest/admin-manual/maintenance/cli-tools/#unlink-creators-from-child-descriptions-and-reapply-inheritance-to-hierarchy