Packages provide you a powerful way to distribute your applications on-demand to the AppExchange. Packages are like suitcases that can contain your components, code, or apps. You can use a package to bundle something as small as an individual component or as large as a set of related apps.
Packages come in two forms, managed and unmanaged. Unmanaged packages can be used for a one time distribution (to one or more clients), like a template. Managed packages are ideal when building an app with plans to upgrade. You can continue to upgrade the managed package after they've been deployed.
Private and Public Packages
Packages can be distributed privately amongst a community, or listed publicly on the AppExchange, the worlds on-demand applications marketplace. To publicly list your package in the AppExchange, you need to create the listing which is the store front of your application.
The listing can be enhanced with test drives,which are functional read-only Developer Edition orgs (accounts) loaded with your application and optionally sample data. These are great for giving your prospects an opportunity to kick the tires before they decide to invest.
The following resources should provide all you need to get started creating your own package and getting them listed on the AppExchange.
(I can't really update this, can I?)
Articles and Resources
- An Introduction to Packaging - This article provides an introduction to packaging and distribution on the Force.com platform
- How to Create and Register a Package - Walks you through the process of creating, uploading and registering a package
- Creating an AppExchange Listing - With the new AppExchange, you can start creating your listing while your developer builds the app. You can then associate the listing with the app when ready, or follow the steps here to upload a package and list it. The new listing wizard in the AppExchange offers contextual help to guide you through the listing process.
- Publisher's Toolkit - The latest resources that will help you market your app on the AppExchange are available in the Partner Portal
- LMA 2.0 Overview - Overview of License Management App 2.0, includes a great demo of associating the License Management Org (LMO) and managing customer licenses (Recorded Webinar)
- Best Practices for Enterprise Development - By following a solid set of best practices, you can take enterprise development on the Force.com platform to the next level.
- Apex Wrapper Salesforce Metadata API - Use Apex to call out to the Metadata Web Services API and automate updates to your packages.
- CumulusCI - A reusable set of build and automation scripts to facilitate a best practices based development and release process for managed package development on the Salesforce1 Platform.
Development Lifecycle Guide: Enterprise Development on the Force.com Platform
Quick Reference for Developing Packages, a.k.a. Developing Packages for Distribution
- (Audience: Architects and Developers) ***URL Broken*** - How IT can plan, build, test, and deploy Force.com applications using a combination of Web-based and traditional development practices.
AppExchange Publishing Guide
- (Audience: Advanced Administrators and Developers) Everything you need to know if you're a developer building an app that will eventually be packaged on AppExchange.
Application Installation Guide
- (Audience: Providers, Developers, and Administrators) How to publish an app or service on AppExchange so that it's available to external customers.
- (Audience: Developers and Administrators) How to download apps into a Salesforce.com organization.
- AppExchange and Packaging - A discussion board for packaging, which you can mine for useful information and where you can post questions of your own