Building A Salesforce.com Application: From Idea To AppExchange: Video 2-1





The interactive transcript could not be loaded.



Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jun 19, 2010

The following series of videos showcase how to take an idea around Salesforce.com and turn it into a published application on the AppExchange. While there are many cookbooks, tutorials, and other reference around creating your first Force.com application, there isn't much that actually demonstrates and discusses the entire process in a video screencast.

So, seeing a need, we decided to fill it. There are approximately 20 or so videos in this series, with a focus on the business needs, the UI implementation, the user flow, and the technical implementation. They are broken up into the following phases and demos.

View the entire series at:


Phase 1: Introduction, Need, and Initial Custom Objects

* Video 1-1: Presenter introduction; Idea's elevator pitch; Detailed discussion of existing need and our proposed solution; Ability to setup default quantities and discounts
* Video 1-2: Overview of initial pass at Product Template and Product Template Item custom objects; Linking to Campaigns; Rollup totals of child items; Relationships to the standard Product object; Relationship Formula fields

Phase 2: Creating the initial Opportunity button and related Visualforce page

* Video 2-1: Refactoring/Renaming to Product Set; creating the Add Product Set button; initial page and extension; including external Jquery + Google libraries
* Video 2-2: Initial page layout, Save + Cancel buttons, filter criteria quick-search; ActionSupport + AJAX; Dynamic rerending + disabling page elements
* Video 2-3: Apex controller design; Filter criteria implementation; View + Controller action execution flow; Dynamic SOQL; Security Comments

Phase 3: Setting up the initial Product Set records

* Video 3-1: Product Sets custom tab; New product set + product set items; Editing related list layouts

Phase 4: Working Add Product Set page and controller

* Video 4-1: Review of original layout; New functional layout; Demo of filtering; Selecting and displaying a Product Set; Forward + Back navigation
* Video 4-2: How filtering works; View-Controller interaction; ActionSupport facets + built-in loading image; Filter criteria callback actions; Caching and clearing SOQL query results
* Video 4-3: PageBlockTable implementation; ActionColumn and ActionLink CSS; CommandLink callbacks and passing param-tag values
* Video 4-4: Using ISBLANK() for rendering/disabling; Alternating PageBlockSection tags; Relationship lookups vs. formula fields on custom objects

Phase 5: Adding Products to the Opportunity

* Video 5-1: Quick review; Demo of Save + Return; Deleting the old and copying the new; Applying default quantities and calculating discounts
* Video 5-2: Overriding + reimplementing the Save action; Internal error checking; try-catch for exception management; Searching Pricebook and PricebookEntry records; Casting the controller record to an Opportunity; Passing view-side variables to the controller
* Video 5-3: Inserting OpportunityLineItem records; Handling Products not available in the Pricebook; Defining static error message templates; Enabling multi-language errors; Skipping zero quantities; Calculating applied discounting; Logging a discounted line-item description
* Video 5-4: Deleting old OpportunityLineItem records; Inserting new line items; Handling SOQL and DML exceptions; Displaying errors on the Visualforce page; Redirecting the page back to the parent Opportunity

Phase 6: Migrating to a dedicated Developer Environment and Namespace

* Video 6-1: Creating a migration package; Adding package components; Creating a Force.com IDE project linked to the package; Downloading the package contents
* Video 6-2: Logging into the new developer environment; Confirming the deployment environment is empty; Validating and completing the deployment from the Force.com IDE; Validating the deployment within the Salesforce.com UI; Updating the system administrator profile permissions; Adding the Product Set tab to the default display
* Video 6-3: Creating a deployable package; Benefits of using a Managed Package; Creating a unique (irreversible) Namespace; Demonstrating test coverage requirements when uploading to the AppExchange

Phase 7: Creating test coverage and publishing to the AppExchange

* Video 7-1: Creating an Apex text class with the minimum test coverage required; Discussion of widespread deficiencies in typical Force.com unit testing; Uploading to the AppExchange; Receiving the package installation URL
* Video 7-1: Logging in to the AppExchange; Listing the uploaded package; Adding minimum listing information
* Video 7-1: Attempting to enable as a public listing; Requesting a security review; Brief discussion of licensing options; New versions require a new security review


When autoplay is enabled, a suggested video will automatically play next.

Up next

to add this to Watch Later

Add to

Loading playlists...