Hi Jeremy,
A couple questions, based on things I have previously seen lead to timeouts on authority records:
- Are these authority records linked to a lot of descriptions?
- More specifically, have you linked creators at all levels of description, instead of just linking at the parent level and allowing inheritance to handle the lower levels?
- Do you have a lot of users/groups with custom permissions in your site?
Questions 1 and 2 have to do with timeouts due to the number of affected relations. Creator inheritance in AtoM is not just a way to implement the ICA's general principles of description (not repeating information unnecessarily at lower levels; describing at the highest relevant level, etc), it's also a strategy to help mitigate this outcome.
If you have linked at all levels and want an easy way to resolve this (and thereby hopefully reduce the occurrence of timeout issues), then you are quite possibly in luck: AtoM 2.5 has a new command-line task coming that will check your descriptions for unnecessarily repetitive linking, and remove links where inheritance would produce the same results. See:
We started this task development with a script that can be run independently, so you could use this in your current AtoM instance. You can find the script here:
Basic instructions on use:
- Download the script - make sure you save it with a .php extension (not a .txt one!)
- Place the script in your root AtoM directory (e.g. /usr/share/nginx/atom)
- Use the tools:run command line task to execute the script - AKA:
- php symfony tools:run /usr/share/nginx/atom/actor_update.php
If you have a lot of relations but they are not due to 2, then you may need to experiment more with changes to the PHP execution limits. We've updated our documentation on this recently - see:
Regarding 3, we have seen cases (particularly in portal sites such as the provincial/territorial sites in Canada, with many users accessing AtoM using custom group/user permissions to restrict their access to particular repositories, or specific descriptions etc) where adding a number of custom permissions can cause timeouts for all authenticated user groups. I've seen cases where authenticated users get timeout errors just trying to browse authority records - something that public users can do without issue!
This is because when you add custom permissions, every node on the page has to be checked against potentially multiple permissions configurations, including inheritance from other groups, etc, before the node is loaded. So if you have a lot of descriptions linked to an authority, then each link has to be checked against each user/group to determine if it can be loaded or not first, which can take a while. I've previously written more about this in the forum, here:
The permissions module in AtoM has not seen significant development or maintenance work since its creation in version 1.2, and is currently one of the biggest bottlenecks in AtoM. We would love to overhaul it, as always, it's more difficult to find community support for maintenance work than adding new features.