A BEdita Object is the main item on which is built BEdita. There are many types of objects in BEdita as document, gallery, section, image, etc... and you can create as many as you want through new modules and addons. You can see a list of these objects in object_types table where the field module_name is the main module where you can handle the corresponding object.

From the database point of view a BEdita Object consists of a common base element (the base table objects) that may be extended with other object elements (i.e. other tables such as contents, cards, etc..) that add specific persistent properties to objects and other common properties/metadata such as categories, tags, geo tags, etc...

You don't necessarily need to add tables to create a new object type; instead you can create as many objects as you want maintaining the database unchanged (for example documents, events and short_news objects uses the same two tables objects and contents). If you need to add a table for your object you will have already a base on which building it.

From the model point of view a BEdita Object is a CakePHP model that has to extend BEAppObjectModel class or one of its subclasses (located in bedita/bedita-app/app_model.php) and has to define some required class attributes.

Remember that the object type names (in object_types table) are underscored while the relative model class names are CamelCased. So if you have a model class named MyFantasticObject the object type name will be my_fantatstic_object.