Table Features
Most list pages in CIPP share the same table component, so the toolbar, filtering, sorting and export behaviour described here applies across the application. Individual pages may hide features that do not apply to them, but where a feature is present it works the same way everywhere.
Live and Cached Data
Some tables can display either live data, pulled directly from Microsoft Graph, Exchange or another upstream service, or a cached copy held in CIPP's reporting database and refreshed periodically.
The current mode is shown as a chip at the top of the page:
Live
Data is being retrieved from the upstream service on every load.
Cached
Data is being read from CIPP's reporting database.
Where the page supports both modes, clicking the chip switches between them. On pages that only ever read from the reporting database the chip is not clickable, and hovering over it explains why.
When the table is in cached mode a Sync button appears alongside the chip. This queues a background task to refresh the cache for the selected tenant, and the queue tracker will update the table once the sync completes.
Cached mode also adds a Cache Timestamp column so you can see how old the data is. When AllTenants is selected, a Tenant column is added as well.
Toolbar
The toolbar sits above every table and holds the search box, filtering, column selection and export controls.
Refresh
The circular arrows button reloads the table data. While a request is in progress the icon spins and the button is disabled. If CIPP could not retrieve every page of a large result set the icon changes to a warning symbol, and clicking it retries the outstanding requests.
Search
Typing in the search box filters the table to rows containing the text you enter, matched against all visible columns. The search is applied shortly after you stop typing rather than on every keystroke, so large tables stay responsive. Clearing the box restores the full result set.
Filters
The Filters button opens a menu of preset filters for the page you are viewing. When any filter is active the button is highlighted and shows a count, for example Filters (2).
Show Column Filters / Hide Column Filters
Toggles the per-column filter row beneath the column headers.
Reset all filters
Clears every active filter, the search box and any column selections made by a preset, returning the table to its default state.
Edit filters
Opens the filter builder so you can construct or amend a query by hand. Only shown on pages backed by Graph Explorer.
Graph filters
Presets that change the request sent upstream, for example by narrowing the properties returned or applying a server-side query. On Graph Explorer backed pages, any custom presets you have saved appear here alongside the built-in ones.
Table filters
Presets that filter the rows already loaded into the table.
Graph filters and table filters occupy separate slots, so one of each can be active at the same time and their effects stack. Active presets are marked with a tick, and selecting a preset that is already active clears it. Within the table slot only one preset applies at a time, so choosing a new one replaces the previous selection.
If you enable Save last used table filter in your user preferences, CIPP remembers the filters you had applied on each page and restores them the next time you visit.
Columns
The Columns button controls which columns are visible.
Reset to preferred columns
Restores the column selection to the page defaults.
Save as preferred columns
Saves the current selection so it is applied automatically whenever you open this page.
Delete preferred columns
Removes your saved selection for this page.
Column list
Tick or untick individual columns to show or hide them.
Preferred columns are stored per page in your browser's local storage, so they follow the browser and profile you are working in rather than your CIPP account.
Export
The Export button offers several ways to take the data out of CIPP.
Export to CSV
Downloads every filtered row, using the currently visible columns.
Export to PDF
Produces a PDF report of every filtered row, using the currently visible columns.
Export Selected to CSV
Downloads only the rows you have ticked. Shown when at least one row is selected.
Export Selected to PDF
Produces a PDF of only the rows you have ticked. Shown when at least one row is selected.
View API Response
Opens a flyout showing the raw JSON returned by the API call behind the table.
Queue Status
When a page has queued a long-running background task, a queue status button appears on the right of the toolbar with a badge showing outstanding work. Clicking it opens a panel with the task name, progress and per-item results. When the task finishes, the table refreshes automatically.
Narrow Screens
Whenever the toolbar runs out of room, the Filters, Columns and Export buttons collapse into a single menu behind the vertical ellipsis. That menu also offers Fullscreen, which expands the table to fill the window, and Exit Fullscreen to return.
On a phone the ellipsis opens a sheet instead, holding the same filters, presets, column selection, exports and refresh, along with a Rows per page section in place of the footer's page size control.
Row Selection and Actions
Most tables include an Actions column pinned to the right of the table. Clicking the ellipsis in a row opens the actions available for that row.
Ticking the checkboxes at the left of one or more rows shows a count of the selected rows in the toolbar along with a Bulk Actions button, which applies a single action to every row you have selected. Only actions that support bulk operation appear in this menu. Where an action only applies to certain rows, the selection is narrowed automatically to the eligible ones.
The selection checkbox column is pinned to the left and the actions column to the right, so both stay visible as you scroll horizontally. The column headers remain fixed as you scroll vertically.
Opening a Row
Right-clicking a row opens a menu holding the same actions as the ellipsis in the Actions column, along with More Info where the page offers it. Actions that do not apply to the row you clicked are greyed out.
More Info opens the Extended Info flyout for that row. While the flyout is open, the row it belongs to is marked with a coloured bar down its left edge and a tinted background, so you can see which row you are reading. The up and down arrows in the flyout move through the list in the order it is currently sorted, and the highlight follows.
On some pages a single click anywhere in a row opens that flyout directly, without going through a menu. Where a page works this way, the cursor changes to a pointer as you move over the rows.
Where a row has a page of its own, holding Ctrl (Cmd on a Mac) while clicking, or clicking with the middle mouse button, opens that page in a new browser tab. Under All Tenants the new tab carries the row's own tenant, so you arrive on the tenant the row belongs to rather than the one selected in CIPP. Rows with nothing to open, and rows missing the detail the destination needs, do nothing.
Clicking a button, link, checkbox or menu inside a row does that control's job and nothing else. Selecting text is left alone in the same way: dragging across a cell, or clicking while text is selected, does not open the flyout, and right-clicking while text is selected gives you the browser's own menu so you can copy what you have highlighted.
The cursor shows what you are over. Plain cell text carries an I-beam and can be selected and copied. Chips, buttons, links and checkboxes carry a hand, and on pages where a click opens the preview the rest of the row carries a hand as well.
Column Options
Clicking the menu icon in a column header opens the options for that column.
Clear sort
Removes any sorting applied to this column.
Sort by <column name> ascending
Sorts the column from smallest to largest, 0 to 9, or A to Z.
Sort by <column name> descending
Sorts the column from largest to smallest, 9 to 0, or Z to A.
Clear filter
Clears any filter applied to this column.
Filter by <column name>
Reveals the filter row and focuses this column's filter input.
Pin to left
Freezes the column against the left edge of the table so it stays visible while scrolling horizontally.
Pin to right
Freezes the column against the right edge of the table.
Unpin
Returns a pinned column to its normal position in the column order.
Hide <column name> column
Removes the column from view without changing your saved preferences.
Show all columns
Makes every available column visible, including those hidden by default.
Column Filtering Options
Each column filter has an operator, chosen from the icon inside the filter input. The operators offered depend on the type of data in the column.
Fuzzy
Returns all results where the value is similar to what is input.
Contains
Returns all results where the value contains the input.
Starts With
Returns all results where the value starts with the input.
Ends With
Returns all results where the value ends with the input.
Equals
Returns all results where the value exactly matches the input.
Not Equals
Returns all results where the value does not match the input.
Between
Returns all results where the value falls between the two inputs, excluding the inputs themselves.
Between Inclusive
Returns all results where the value falls between the two inputs, including the inputs themselves.
Greater Than
Returns all results where the value is greater than the input.
Greater Than Or Equal To
Returns all results where the value is greater than or equal to the input.
Less Than
Returns all results where the value is less than the input.
Less Than Or Equal To
Returns all results where the value is less than or equal to the input.
Empty
Returns all results where there is no value for this column.
Not Empty
Returns all results where there is a value for this column.
Not Contains
Returns all results where the value does not contain the input.
Regex
Returns all results matching the regular expression you supply. Matching is case insensitive, and an invalid expression leaves the results unfiltered.
Columns holding true/false values present a drop-down in place of the text input, letting you filter on Yes for true and No for false.
Value Display
Some values are given a graphical representation for ease of reading.
Boolean
Displayed as a tick for true and a crossed circle for false rather than the words themselves. Exports render these as Yes and No.
List of values
Displayed as a row of chips. The first four are shown, followed by a +N more link that expands the rest and a Show less link to collapse them again. Clicking a chip copies its value to the clipboard.
Complex data
Displayed as a button showing the number of items it contains. Clicking the button opens a dialog with a second table listing the contents. Where there is nothing to show, the button reads No items and is disabled.
Dates and times
Displayed as a relative time, for example "about 2 months ago".
Column Sizing
Column widths are calculated when the table loads, based on the length of the column heading and a sample of the values in that column, within fixed minimum and maximum limits. Columns holding chips or item buttons are sized to suit that content rather than the underlying text.
You can adjust a width yourself by hovering over the divider between two column headers and dragging it. Manual resizing is not saved and resets the next time the page loads.
Pagination
Tables are paged, with a control at the foot of the table for moving between pages and choosing how many rows are shown at a time. The available page sizes are 25, 50, 100, 250 and 500. The starting value comes from the Default Page Size setting in your user preferences.
Only the rows and columns currently in view are rendered, which keeps large result sets responsive while scrolling.
Feature Requests / Ideas
We value your feedback and ideas. Please raise any feature requests on GitHub.
Last updated
Was this helpful?

