Property metadata offer an easy way to integrate your custom entites with modules like Views or Rules, it also helps you use the handy entity_metadata_wrapper() function if you are manipulating entites from code.
Find out how to define permissions and access callbacks to create/view/edit/delete your custom entites and entity types.
Entity API defines all the menu items needed for the CRUD operations of your custom entites. In this post I'll take a look at how this is implemented and what permissions are defined by Entity API for each menu item.
This series of posts is not intended to be a step-by-step introduction to creating custom Drupal entites from code. If you are after that, there are some great resources to get you started:
This custom module replaces the default user name autocomplete exposed filter of the Views module. It allows you to only show user names that have posted at least one node in a set of content types, selected by the site admin.