Parent/child schemas are designed to allow multiple customers to share the same schema. This is particularly useful for resellers and application and integration developers who wish to have their Custom Object schemas used by multiple customers. Any changes to a parent schema are automatically reflected in child schemas that inherit from the parent.
In order for a schema to be used as a parent, it must be made public and associated with an application ID. By default, all schema definitions created with the Custom Objects API are private. Changing a schema’s visibility from private to public and assigning an application ID will allow it to be used by any account as a parent schema. An application ID can be generated by creating a new app in App Studio. The App ID can be found in App Details under Description.
A child schema is a private schema that extends a public schema. A private schema is only accessible by the account in which it was created.
A public schema may be updated by the original owner, with some restrictions. Labels and descriptions can be updated on the schema and schema fields. New fields may be added, but existing fields cannot be removed. Options may be added to existing field lists, but existing options cannot be removed.
Once a child schema is created, it will appear in the account and behave just like the parent schema. A child schema may define new options for drop-down and multi-select fields. A child schema cannot be altered to remove fields, change existing field data types, change relationships, change icons, change the slug or appId, or change the visibility. Any changes to the parent schema are automatically reflected in the child schema.