An add on for Catalyst realizing the CRUD (Create Read Update Delete) operations over a Catalyst model is a frequent subject of discussion at the mailing list and catalyst IRC rooms.

Current projects

Read this thread for a comparison of the projects.

  • InstantCRUD is available on CPAN as Catalyst::Example::InstantCRUD. Some planned features are enabling editing of related records together in one form (like for example editing addresses linked to an account together with that account's own data). I also offloaded a lot of functionality to external modules - so it is a lot more lightweight.

  • CatalystX::CRUD provides a simple and generic API for Catalyst CRUD applications. CatalystX::CRUD is agnostic with regard to data model and data input, instead providing a common API that different projects can implement for greater compatibility with one another. Version 0.30 news. You can visit the homepage for the CXC mailing list here:

  • Catalyst::Plugin::AutoCRUD is an "Instant AJAX web front-end for DBIx::Class, using Catalyst." It differs from other CRUD systems in that it doesn't scaffold pages for you to then edit - it generates the user interface directly, and on the fly, never storing it to disk. This is why it's a Plugin for your live app. See the autocrud support page in this wiki. Other interesting modules:

  • Reaction full component UI system

  • Ernst metadescription framework

  • FormFu is a form framework which can interface with DBIC

  • CatalystX::ListFramework foundations for displaying and editing lists (CRUD) in a Catalyst application


Read this thread for a very good recent discussion of CRUD, REST and RPC API issues.

  • Catalyst::Controller::DBIC::API provides both REST and RPC APIs to your DBIx::Class Models.

  • Catalyst::Controller::REST implements a mechanism for building RESTful services in Catalyst. It does this by extending the normal Catalyst dispatch mechanism to allow for different subroutines to be called based on the HTTP Method requested, while also transparently handling all the serialization/deserialization for you.

Obsolete projects

Catalyst::Enzyme hasn't seen an update in more than two years. In the rapid changing world of Catalyst, I think it's safe to say that it's dead by now.

(As the author, I recommend you choose another module. /Johan)

CatalystX::ListFramework::Builder has been deprecated in favor of the newer Catalyst::Plugin::AutoCRUD, so you are recommended to use that instead.CatalystX::ListFramework::Builder has been deprecated in favor of the newer Catalyst::Plugin::AutoCRUD, so you are recommended to use that instead.