EnsEMBL::Web::Record is a family of modules used for managing a user's persistant data in a database.
Many web sites now encourage users to register and login to access more advanced features, and to customise a site to their needs.
The EnsEMBL::Web::Record group of Perl modules is design to manage any arbitrary type of user created data in an SQL database. This module follows the Active Record design pattern, in that each new instantiated Record object represents a single row of a database.
That object can be manipulated programatically, and any changes made can be stored in the database with a single record->save function call.
Because arbitrary Perl data structures can be stored in this manner, EnsEMBL::Web::Record allows user preferences to be easily saved, and allows developers to implement new featurs quickly.
This module was first used (and has been abstracted from) the Ensembl genome browser (http://www.ensembl.org).
New user data can be added to the database:
my $bookmark = EnsEMBL::Web::Record->new();
The Record can be associated with an user id:
The same record can also be removed:
EnsEMBL::Web::Record also provides a number of methods for getting collections of records from the database, using a field selector.