Data Tables

Data Tables 1.5.0

No permission to download
Bug Fixes
Sort by multi-value column crashed - Clicking a sortable header on a multi-select table_lookup field threw "Array to string conversion". Now sorts by item count, then by joined IDs. (Reported by briansol)
Lookup → Table-Lookup conversion ghost values - After changing a field's type, the front-end showed coincidentally-matching record titles instead of "(Unknown)" because the lookup was unscoped by definition_id. Now properly scoped, and incompatible cross-domain values are wiped on conversion. (Reported by briansol)
Editing on page 2 returned you to page 1 - Record edit, single delete, and bulk delete all dropped the page param on redirect. Now preserved across admin and public flows. (Reported by briansol)
Move-field destroyed source records' data - Moving a field between definitions stripped the values from source records and inserted empty values into target records. Now source records keep their stored values as orphan data; target records are unchanged. Reverse-link pairings are cleared on move. (Reported by briansol)
Rich text + form values lost on validation error - Submitting with a missing required field showed an error and hitting Back lost the rich text editor content. Now re-renders the form inline with all submitted values preserved (HTTP 400). (Reported by briansol)
Mobile layout broke at narrow viewports - Public table view and admin record list rendered with horizontal overflow on 360px screens. Now lays out cleanly; detail labels stack above values; search bar wraps below title. (Reported by briansol)

Features
Clone selected records - Checkbox the rows you want, click "Clone selected" in the admin record list. Single clone opens the new record's edit form (your stated workflow); multiple gives a flash count and returns to the list. Slug auto-dedupes to -2, -3, etc. (Requested by briansol)
Per-definition default sort - Set the default sort field + direction (asc/desc) under Definitions > Edit. Public table view applies it on first load when no URL sort is supplied. Restricted to non-multi-select sortable fields. (Requested by briansol)
Color swatch on linked references - When a table_lookup field points to records that have a color field, the swatch shows next to the linked record's title in cells AND in the "Referenced by" section. (Requested by briansol)
AJAX duplicate-name check - Title field blur-checks for existing records with the same value. Inline warning with a direct "Edit" link to the existing record. Excludes self when editing. (Requested by briansol)
On-the-fly search filter - Search bar above the public table view filters by title via SQL LIKE on the slug column. Server-side, paginates correctly, bookmarkable URLs (?q=B). (Requested by briansol)
Auto reverse-link pairing on table_lookup - Pair two table_lookup fields that point at each other (Reverse field dropdown on the field-edit page). When you add a target on one side, the back-pointer on the other side updates automatically. Bidirectional sync with multi-select support and loop prevention. (Requested by briansol)

Security & Hardening
Duplicate-check endpoints validate CSRF server-side - Both admin and public check-duplicate now call assertValidCsrfToken() in addition to assertPostOnly().
Field deletion cascades cleanly - Deleting a paired field now clears the partner's reverse pointer; deleting a default-sort field resets the definition's sort config.
Toggling is_sortable off resets defaults - Definitions using a now-non-sortable field as their default sort get reset automatically (no silent fallback to "no sort" on the public view).
Reverse-link sync hardened with try/finally - Loop-prevention flag is guaranteed to clear even on save exceptions (matters for CLI/job contexts).

Upgrade
Non-destructive. Upload the ZIP via Admin CP > Add-ons > Install/upgrade from archive. The upgrade adds 3 new columns (default_sort_field_id, default_sort_direction, reverse_field_id) with defaults. Existing data, permissions, and behavior preserved. Tested across the full v1.0.0 → v1.5.0 upgrade chain with schema match against a fresh install.

Data Tables v1.4.6 - Permissions Fix​

Hotfix - v1.4.5 shipped with empty permission definition files due to a build packaging error. Upgrading to v1.4.5 wiped the 4 DataTables permissions (viewDataTable, addRecord, editRecord, deleteRecord).

v1.4.6 restores them. You may need to re-set your permission values (which groups have allow/deny) in Groups & permissions > User groups > [group] under the "Data Tables" section.

All 3 fixes from v1.4.5 (autocomplete pre-fill, pagination, CSV UTF-8) are included unchanged.

Upload the ZIP via Admin CP > Add-ons > Install/upgrade from archive. No database changes.

Data Tables v1.4.6 - Permissions Fix​

Hotfix - v1.4.5 shipped with empty permission definition files due to a build packaging error. Upgrading to v1.4.5 wiped the 4 DataTables permissions (viewDataTable, addRecord, editRecord, deleteRecord).

v1.4.6 restores them. You may need to re-set your permission values (which groups have allow/deny) in Groups & permissions > User groups > [group] under the "Data Tables" section.

All 3 fixes from v1.4.5 (autocomplete pre-fill, pagination, CSV UTF-8) are included unchanged.

Upload the ZIP via Admin CP > Add-ons > Install/upgrade from archive. No database changes.
v1.3.2 fixes the record title showing "#58" instead of field values, adds a title field selector per definition, makes slugs editable, and adds a one-click slug regeneration button.



  • Title field selector - Choose which field is the record's display title from a dropdown on the definition edit page. Used in the page header, browser tab title, and URL slug generation. Defaults to "Auto (first text field)" for backward compatibility.
  • Editable record slugs - Admin record edit form now shows the URL slug field for manual editing.
  • Regenerate slugs button - One-click button on the admin record list page that regenerates all record slugs using the title field. Fixes generic slugs like record-2 created during the v1.3.0 migration.

  • Record title shows "#N" instead of field value - Title resolution now uses the definition's title field setting, then falls back to the first text field. Previously it could show the raw record ID when the first field value wasn't a plain string.
  • Bulk delete button count not resetting - Unchecking all checkboxes on the admin record list now correctly resets the button text to "Delete selected" instead of keeping the old count.
  • Slug generation uses title field - New records now generate their URL slug from the title field value instead of always using the first field.

If you upgraded from v1.2.x and have generic slugs like record-2:
  1. Go to AdminCP > Tools > Data Tables > edit your definition
  2. Set the Title field dropdown to the field you want (e.g., "Model" for a vehicles table)
  3. Save
  4. Go to the record list for that definition
  5. Click Regenerate slugs on the right side
All record URLs and page titles will update automatically. Old URLs will need manual redirects if shared externally.

Upload the ZIP via Admin CP > Add-ons > Install/upgrade from archive. One automatic migration step adds the title_field_id column. All existing data and permissions are preserved.

  • XenForo 2.3.0+
Top