<NME> _itemTable.twig
<BEF> {% if itemList['fieldIDs']|length > 0 or
      itemList['sectionIDs']|length > 0 or
      itemList['entryTypeIDs']|length > 0 or
      itemList['assetSourceIDs']|length > 0 or
      itemList['assetTransformIDs']|length > 0 or
      itemList['globalIDs']|length > 0 or
      itemList['categoryIDs']|length > 0 or
      itemList['userIDs']|length > 0 or
      itemList['groupIDs']|length > 0
%}
    <h2>{{ headline }}</h2>
    <p>{{ text }}</p>
    {% if itemList['fieldIDs']|length > 0 %}
        <h3>Fields</h3>
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Group</th>
                    <th>Name</th>
                    <th>Handle</th>
                    <th>Type</th>
                </tr>
            </thead>
            <tbody>
                {% for fieldID in itemList['fieldIDs'] %}
                    {% set field = craft.fields.getFieldById(fieldID) %}
                    <tr>
                        <td>
                            {{ field.group }}
                        </td>
                        <td>
                            {{ field.name }}
                        </td>
                        <td>
                            {{ field.handle }}
                        </td>
                        <td>
                            {{ field.type }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if itemList['sectionIDs']|length > 0 %}
        <h3>Sections</h3>
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Handle</th>
                    <th>Type</th>
                    <th>URL Format</th>
                </tr>
            </thead>
            <tbody>
                {% for sectionID in itemList['sectionIDs'] %}
                    {% set section = craft.sections.getSectionById(sectionID) %}
                    <tr>
                        <td>
                            {{ section.name }}
                        </td>
                        <td>
                            {{ section.handle }}
                        </td>
                        <td>
                            {{ section.type }}
                        </td>
                        <td>
                            {{ section.urlFormat }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if itemList['entryTypeIDs']|length > 0 %}
        <h3>Entry Types</h3>
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Handle</th>
                </tr>
            </thead>
            <tbody>
                {% for entryTypeID in itemList['entryTypeIDs'] %}
                    {% set entryType = craft.theArchitect.getEntryTypeById(entryTypeID) %}
                    <tr>
                        <td>
                            {{ entryType.name }}
                        </td>
                        <td>
                            {{ entryType.handle }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if itemList['assetSourceIDs']|length > 0 %}
        <h3>Asset Sources</h3>
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Handle</th>
                    <th>Path</th>
                    <th>Url</th>
                </tr>
            </thead>
            <tbody>
                {% for assetSourceID in itemList['assetSourceIDs'] %}
                    {% set assetSource = craft.theArchitect.getSourceById(assetSourceID) %}
                    <tr>
                        <td>
                            {{ assetSource.name }}
                        </td>
                        <td>
                            {{ assetSource.handle }}
                        </td>
                        <td>
                            {{ assetSource.settings.path }}
                        </td>
                        <td>
                            {{ assetSource.settings.url }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if itemList['assetTransformIDs']|length > 0 %}
        <h3>Asset Transforms</h3>
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Handle</th>
                    <th>Mode</th>
                    <th>Dimensions</th>
                </tr>
            </thead>
            <tbody>
                {% for assetTransformID in itemList['assetTransformIDs'] %}
                    {% set assetTransform = craft.theArchitect.getTransformById(assetTransformID) %}
                    <tr>
                        <td>
                            {{ assetTransform.name }}
                        </td>
                        <td>
                            {{ assetTransform.handle }}
                        </td>
                        <td>
                            {{ assetTransform.mode }}
                        </td>
                        <td>
                            {{ assetTransform.width }} x {{ assetTransform.height }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if itemList['globalIDs']|length > 0 %}
        <h3>Globals</h3>
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Handle</th>
                </tr>
            </thead>
            <tbody>
                {% for globalID in itemList['globalIDs'] %}
                    {% set global = craft.globals.getSetById(globalID) %}
                    <tr>
                        <td>
                            {{ global.name }}
                        </td>
                        <td>
                            {{ global.handle }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if itemList['categoryIDs']|length > 0 %}
        <h3>Categories</h3>
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Handle</th>
                </tr>
            </thead>
            <tbody>
                {% for categoryID in itemList['categoryIDs'] %}
                    {% set category = craft.theArchitect.getCategoryGroupById(categoryID) %}
                    <tr>
                        <td>
                            {{ category.name }}
                        </td>
                        <td>
                            {{ category.handle }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if itemList['userIDs']|length > 0 %}
        <h3>Users</h3>
        {% if subText['Users'] is defined %}<p>{{ subText['Users'] }}{% endif %}
        <table class="shadow-box editable {{ status }}">
            <thead>
                <tr>
                    <th>Username</th>
                    <th>Name</th>
                    <th>Email</th>
                </tr>
            </thead>
            <tbody>
                {% for userID in itemList['userIDs'] %}
                    {% set user = craft.theArchitect.getUserById(userID) %}
                    <tr>
                        <td>
                            {{ user.username }}
                        </td>
                        <td>
                            {{ user.firstName }} {{ user.lastName }}
                        </td>
                        <td>
                            {{ user.email }}
                        </td>
                    </tr>
                {% endfor %}
            </tbody>
        </table>
    {% endif %}

    {% if craft.theArchitect.getEdition() == 2 and itemList['groupIDs']|length > 0 %}
    <h3>User Groups</h3>
    <table class="shadow-box editable {{ status }}">
        <thead>
            <tr>
                <th>Name</th>
                <th>Handle</th>
            </tr>
        </thead>
        <tbody>
            {% for groupID in itemList['groupIDs'] %}
                {% set group = craft.userGroups.getGroupById(groupID) %}
                <tr>
                    <td>
                        {{ group.name }}
                    </td>
                    <td>
                        {{ group.handle }}
                    </td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
    {% endif %}

{% endif %}

<MSG> Check if groupIDs is defined before attempting to `|length` it

<DFF> @@ -6,7 +6,7 @@
       itemList['globalIDs']|length > 0 or
       itemList['categoryIDs']|length > 0 or
       itemList['userIDs']|length > 0 or
-      itemList['groupIDs']|length > 0
+      (itemList['groupIDs'] is defined and itemList['groupIDs']|length > 0)
 %}
     <h2>{{ headline }}</h2>
     <p>{{ text }}</p>

Check if groupIDs is defined before attempting to `|length` it