Alignment with Force.com extensibility features
Here are some platform features that can help ensure your application functionality is open to being extended by Developer X or subscriber org administrators:
- Apex Triggers: Developer X can write their own triggers against your application's managed Custom Objects. These will execute in addition to those packaged. This allows Developer X to implement the defaulting of fields or custom validations, for example. Salesforce does not guarantee that packaged triggers execute before or after Developer X triggers in the subscriber org. To ensure that all changes are validated regardless of the trigger execution order, perform your validation logic in the after-phase of your packaged triggers.
- Field Sets: As described in earlier chapters, be sure to leverage this feature as often as possible on your Visualforce pages to ensure that regions and tables can be extended with subscriber added fields. These can also be used with JavaScript frameworks...