Skip to content

Conversation

@labkey-jeckels
Copy link
Contributor

Rationale

Many modules don't make sense to access in a container if they're not enabled and intended to be used. Mothership is a good example. We've long hidden their schemas, but they've still been accessible via their controllers and the More Modules admin menu.

We can prevent them from being accessible and eliminate strange behavior, like grids where you can't export or create reports.

This was "discovered" by the crawler in automated tests now that the crosstab report gives a proper 404 when it's accessed with a reference to a schema or query that doesn't exist in the container.

Changes

  • Module.isAvailableOnlyWhenActive() to let modules indicate they don't want to be accessed when not active in the container. Default is to remain accessible.
  • Make mothership module inaccessible when not active.
  • Code cleanup, including lots of generics

Tasks 📍

  • Manual Testing
    • Ensure that mothership, microarray, and genotyping never show in More Modules. When the module is active in a container, they appear in the Modules menu. When inactive, they don't appear at all.
    • When inactive, requests to genotyping-begin.view, mothership-begin.view, and feature-annotationset-manage.view give a 404 with a message about the module not being active.
  • Needs Automation

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.

2 participants