Page Dropdown Is Blank in Dashboard Designer or Edit Pages
Symptoms
When opening the Dashboard Designer or the Edit Pages section in Mango, the page list dropdown is completely empty. No pages appear in the selection list even though pages have been created and were previously visible. The pages themselves may still be accessible by direct URL, but the navigation dropdown that lists all available pages shows nothing.
Common Causes
-
Corrupted
mangoUI-pagesJSON data -- The list of pages in Mango is stored as a JSON object in the JSON Store with the XIDmangoUI-pages. If this JSON entry becomes corrupted (e.g., due to a failed save operation, a database error during a write, or an incomplete import), the page dropdown cannot parse the data and displays an empty list. -
Accidental deletion of the pages entry -- A user or automated process may have deleted or overwritten the
mangoUI-pagesentry in the JSON Store. -
Database corruption -- In rare cases, corruption in the underlying SQL database table that stores JSON data can cause this entry to become unreadable.
-
Failed import or configuration restore -- If a JSON configuration import was interrupted or contained invalid data for the pages list, the existing page list may have been overwritten with empty or malformed data.
Diagnosis
Step 1: Check the JSON Store Entry
Navigate to Administration > JSON Store and look for an entry with XID mangoUI-pages. If the entry exists, check whether its content contains a valid JSON array of page objects. If the entry is missing or contains empty brackets [], the page list has been lost.
Step 2: Query the Database Directly
If you cannot access the JSON Store through the UI, use the SQL Console to check the entry:
SELECT * FROM jsonData WHERE xid = 'mangoUI-pages'
Note the id column value of the row. This ID will be needed to look up the previous version in the audit trail.
Step 3: Check the Audit Trail
Navigate to Administration > System Status > Audit Trail. Filter by:
- Type: JSON Data
- Look for recent entries with the ID from the SQL query above.
The audit trail records all changes to JSON Store entries. Find the most recent entry that contains the complete list of pages. This is your recovery source.
Solutions
Solution: Restore from Audit Trail
This is the primary recovery method:
-
Find the page list in the audit trail. Navigate to Administration > System Status > Audit Trail. Filter for JSON Data type and find a recent record with the correct ID that contains the full page list.
-
Copy the JSON content. Click on the audit trail message to see the full JSON content in a popup. Copy the entire content to a text editor.
-
Clean the JSON content. The audit trail may store the JSON with escaped characters. Use find-and-replace to remove any backslash escaping. Replace
\"with"and\\with\as needed. Ensure the result is valid JSON. -
Extract the page array. Locate the page list data within the JSON. It is typically contained between square brackets
[ ... ]. Copy just this array content. -
Restore the entry. Navigate to Administration > JSON Store and edit the entry with XID
mangoUI-pages. Replace the content between the outer brackets with the page array you extracted from the audit trail. -
Save and refresh. Click Save, then refresh the page. The page dropdown should now display all of your pages.
Solution: Restore via SQL Console
If the JSON Store UI is not accessible:
- Navigate to the SQL Console (or use an external database client).
- First, back up the current (possibly corrupted) entry:
SELECT * FROM jsonData WHERE xid = 'mangoUI-pages' - If you have a known-good JSON backup, update the entry directly:
UPDATE jsonData SET data = '{"your": "json data here"}' WHERE xid = 'mangoUI-pages' - Restart Mango to ensure the change is picked up.
Solution: Recreate Pages Manually
If no backup or audit trail entry is available, the pages will need to be recreated manually through the Dashboard Designer. This is a last resort when the page list cannot be recovered from any other source.
Prevention
- Back up the JSON Store regularly. Use the JSON configuration export feature to create periodic backups that include JSON Store entries.
- Test imports in a staging environment. Before running a JSON configuration import on a production system, test it on a non-production instance to verify the import completes successfully.
- Avoid direct database edits. Modifying JSON Store entries through direct SQL operations bypasses validation. Use the Mango UI or REST API instead.
- Monitor the audit trail. After making changes to the JSON Store or running imports, verify the
mangoUI-pagesentry is intact by checking the page dropdown. - Use source control for custom pages. Keep copies of your custom page definitions in a version control system or file-based backup so they can be restored independently of the database.
Related Pages
- Charts Not Working — Troubleshoot chart rendering issues in the Mango UI
- Server Error 500 — Backend errors that may cause UI elements to fail loading
- Reporting Bugs — How to report UI issues with browser console logs and screenshots