1. A method, comprising: providing a platform, wherein the platform is a framework shared by a plurality of developers and end users; creating, through the platform by one of the developers, a package definition that references a set of one or more metadata objects describing an application; validating, through the platform, the one or more metadata objects; after the one or more metadata objects have been validated, making the one or more metadata objects accessible to a first end user system, wherein the one or more metadata objects are saved into a storage location accessible to the first end user system; wherein the one or more metadata objects are conditionally modifiable by a user of the first end user system, based on a specification in the package definition by: identifying in the specification of the package definition any of the saved metadata objects that are flagged by the developer, wherein the developer flags in the specification of the package definition which of the metadata objects are modifiable by the user of the first end user system, providing a wizard for allowing modifications only to the saved metadata objects that are identified as being flagged by the developer, wherein the developer flags metadata objects for which modifications are optional by the user of the first end user system.