Feature Ideas¶
These are potential feature ideas for Mathesar. Each section represents a conceptual grouping of features.
Warning
Please note that this list is long and disorganized. Some are slated to be built in our roadmap, and others we might not build at all. Features ideas that are already specced out in our roadmap are not listed here.
Views¶
Users should be able to:
- Save filtered/sorted/grouped tables as views.
- Create a calendar view based on date and time fields in their data
- Create a histogram chart view based on their data
- Create a pie chart view based on their data
- Create a line graph view based on their data
- Create a scatter plot view based on their data
- View all saved views and switch between views
- Set a default view for a table/schema
- Delete a view
- Rename a view
Computed Data¶
Users should be able to:
- Create a new column that computes data from other columns using forumulas.
- Create “subtotals” for grouped views
- Support different types of subtotals: SUM, AVG, MIN, MAX, MED
- Create summary views based on subtotals, and use that data in views
- e.g. given a database of sales with dates, create a summary view of sales per quarter and put that into a histogram
Installation and Configuration¶
Users should be able to:
- Follow provided instructions to install Mathesar on a server.
- The installation process should only install PostgreSQL if needed.
- Access existing PostgreSQL databases via Mathesar using existing PostgreSQL user credentials.
- Existing databases should reflect all columns and types correctly in the user interface.
- Set up a PostgreSQL server automatically if none exists.
- Create a new database from scratch.
- Create an initial user if needed.
- Configure sending email (for password resets, notifications)
User Management¶
Users should be able to:
- Log in
- Log out
- Create a new user with permissions: admin, editor, viewer
- Change a user’s permissions
- Reset a user’s password
- Reset their own password (if email is enabled)
Collaboration¶
- Users should be able to share tables, schemas, and/or views with either:
- the general public (no sign in required)
- all signed in users
- specific users
- Each of these should support:
- admin, view, edit permissions
- Existing postgres permissions should be respected/reflected
Data Workflow Improvements¶
Users should be able to:
- Search for data across various tables and schemas
- Bulk edit data
- Bulk import new data into an existing collection
- Export data to:
- SQL
- CSV
- TSV
- JSON
- Excel
- XML
Additional Imports¶
Users should be able to import data in the following additional formats:
- SQL
- JSON
- XML
- Google Sheets import (via API)
- Excel file upload
- Excel web import (via API)
- Apple Numbers file upload
- Collabora import
- Airtable
Location Type¶
- Add new type, using existing PostGIS type where possible:
- Location
- Autodetect this type during import
- Allow user to change columns to this type
- Add additional grouping options: Street Address Country Administrative Area Level 1 (in the US, these are states) Administrative Area Level 2 (in the US, these are counties) Administrative Area Level 3 Administrative Area Level 4 Administrative Area Level 5 Locality (city/town) Sublocality (subdivision of city/town) Neighborhood Postal Code Latitude Longitude
The attributes of the location column type are based on results returned by the Google Maps Geocoding API, Since they've done the work of putting addresses into a global format.
Phone Number Type¶
- Add new type
- Phone Number
- Autodetect this type during import
- Allow user to change columns to this type
- Add grouping options:
- Country Code
- Area Code
Additional Fields¶
- File field (for images, attachments, etc.)
- IP Address field
- Formula field (use of spreadsheet like formulas)
- JSON field
Additional Views¶
- Map view
- Card (Gallery) view
- Kanban view
- Data modeling view (of entire schema or database)
Forms¶
- Create forms that allow users to enter data into views
Data Syncing¶
Users should be able to sync data both ways from:
- Google Sheets
- Airtable
- Excel (web)
- Airbyte connectors?
Data Suggestions¶
Users should get suggestions about:
- Visualizations they can apply to their data
- Aggregations they can apply to their data
- Schema imporovements they can make to their data
Versioning¶
Users should be able to:
- Save a snapshot of their database, schema, or table.
- Revert to a previous version of their database, schema, or table.
- Undo and redo recent actions.
Events¶
Events in the system should be exposed via an API. e.g.
- New table created
- Table schema changed
- New data added
Notifications¶
Users should be able to:
- Get email notifications of various events.
- Get web notifications of various events.
Templates¶
Users should be able to:
- Save databases, schemas, applications as templates.
- Use a template to create a new database, schema, or application.
- Edit template attributes.
- Delete a template.
- Browse existing templates.
- Search for templates.
Improved User Management¶
Users should be able to:
- Create teams of users, teams can have similar permissions to users.
API¶
- API key management
- API documentation
Freeform Data Support¶
- UI to handle freeform data (JSON) well
- Suggest conversion of non-tabular data to tabular data based on schema
- Automatically generate appropriate tabular data if consistency exists in imported freeform data
SQL Exploration¶
- Run SQL from the web interface
Comments¶
- Comment on data
Database Feature Support¶
- Handle editing, deleting, and infinite scroll for tables without primary keys or with multiple primary keys.
- Cursor based pagination.