- All the features provided by admin_data are totally non intrusive.
- No change is required anywhere in your application.
- No named_scope is created and hence no lingering named_scope in your application.
- Nothing is stored in session or in cookies.
- You don't need to store any file in public folder or anywhere else.
- No table is created.
- No migration to run.
Browse and Search
Advance Search is the biggest feature of admin_data.
- Browse all records with pagination.
- Quick search across all records in a table. Quick search goes through all columns that are of type either string or text.
- Advance search for each column of each of the table. Different options appear for different data types.
- For both quick search and advance search, result can be sorted in ascending or in descending order of any column.
- Browse migration records from schema_migrations table even though there is no corresponding model for this table.
- For each individual record a link to all associated records is shown.
- Next to has_many association a count of number of associated records is shown.
- All the associated records are links so you can navigate from record to record.
Delete vs Destroy
- admin_data provides two ways of removing a record.
- Deleting a record means no callback will be invoked.
- Destroying a record means callbacks for that model will be invoked.
- All the information provided by admin_data including viewing , editing, deleting of records can be controller through security settings.
- No need to create another admin user id and password just for using admin_data. admin_data uses the existing authentication mechanism of the application to controller security.
- Even the RSS feed is protected by security credentials.
- Customize number of records per page.
- Customize order of listing of columns in the list.
- Customize the default behavior of a column.
- admin_data supports namespaced models like Vehicle::Car .
- admin_data does not assume that all the tables have primary key as id. It respects the primary_key set in the model.
- RSS feed for all the records in all the tables. In this way a user can subscribe to all the data from a table and will get all the information in his/her RSS feed.
- If you are using Postgresql database then all searches are done using ILIKE instead of LIKE to ensure that search is case insensitive.