neerajdotname edited this page Sep 19, 2011 · 13 revisions


Non Intrusive

  • 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.

Association Information

  • 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.

Miscellaneous features

  • 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.