# Must specify low-level modules when using :lsst-config-field:

XMLWordPrintable

## Details

• Type: Bug
• Status: To Do
• Resolution: Unresolved
• Fix Version/s: None
• Component/s:
• Labels:
None
• Team:
SQuaRE

## Description

As of DM-16535, lsst.verify.compatibility.MetricsControllerTask has a config containing a RegistryField, measurers. I've written a task topic page for MetricsControllerTask that includes a cross-reference to measurers using :lsst-config-field:, as recommended by the documentation guide.

While the compiled task page has the correct config fields listed in "Retargetable subtasks" (including measurers) and "Configuration fields", I get the following warning:

 lsst.verify.compatibility.MetricsControllerTask.rst:20: WARNING: lsst-config-field could not find a reference to lsst.verify.compatibility.MetricsControllerConfig.measurers 

The code that causes this warning can be found at verify:tickets/DM-16535.

## Activity

Hide
Krzysztof Findeisen added a comment - - edited

Update: I've since added a normal ConfigurableField subtask and the autogenerated subtask documentation produces the same warning. This makes me suspect the problem is user error; if so, then this ticket should add a note to the documentation guide warning developers what not to do.

Show
Krzysztof Findeisen added a comment - - edited Update: I've since added a normal ConfigurableField subtask and the autogenerated subtask documentation produces the same warning. This makes me suspect the problem is user error; if so, then this ticket should add a note to the documentation guide warning developers what not to do.
Hide
Krzysztof Findeisen added a comment -

Aha, I found the problem. It has nothing to do with RegistryField at all!

The :lsst-config-field: links work fine if you identify the config class by its low-level module, but not if you only give its package. In the example above, lsst.verify.compatibility.MetricsControllerConfig.measurers does not work, but lsst.verify.compatibility.metricsControllerTask.MetricsControllerConfig.measurers does.

Needless to say, I'd prefer if the :lsst-config-field: command did work with the user-visible namespaces.

Show
Krzysztof Findeisen added a comment - Aha, I found the problem. It has nothing to do with RegistryField at all! The :lsst-config-field: links work fine if you identify the config class by its low-level module, but not if you only give its package. In the example above, lsst.verify.compatibility.MetricsControllerConfig.measurers does not work, but lsst.verify.compatibility.metricsControllerTask.MetricsControllerConfig.measurers does. Needless to say, I'd prefer if the :lsst-config-field: command did work with the user-visible namespaces.
Hide
Jonathan Sick added a comment -

Ah, thanks for the follow up. Yes, that's on my radar but I see I haven't specifically made a ticket for that before.

Show
Jonathan Sick added a comment - Ah, thanks for the follow up. Yes, that's on my radar but I see I haven't specifically made a ticket for that before.

## People

• Assignee:
Jonathan Sick
Reporter:
Krzysztof Findeisen
Watchers:
Jonathan Sick, Krzysztof Findeisen