SlideShare a Scribd company logo
1 of 19
Download to read offline
Building An AppExchange
App
James Holmes
Force.com Architect




                      Atlanta • San Francisco
Agenda
•   Intro
•   Goals
•   AppExchange Overview
•   Building An App
•   Packaging An App
•   Upgrading An App
•   Lessons Learned
•   Conclusion
About Me
•   From Java to Salesforce




•   3 years of intensive Salesforce.com development
•   Salesforce Certified Developer
•   4 AppExchange Apps completed, with more underway
    •   Skoodat
    •   Constant Contact for Salesforce
    •   Glance for Salesforce
    •   BlueHornet for Salesforce
Goals
• A balanced presentation with equal interest for
  business people and technical people
  • Overview of what an App is
  • Details about the steps that go into building and
    packaging an App


• Share lessons learned and best practices
  • Limitations and workarounds
AppExchange Overview
• What is the AppExchange?
  •    Distribution platform for Apps
  •    Both free and fee-based Apps
• App Availability
   Edition           Apps        Notes
   Contact Manager   1           Can’t actually install an App apparently
   Group             1           Limited functionality and problematic to
                                 target Apps for
   Professional      5           Limited functionality and problematic to
                                 target Apps for
   Enterprise        10          The first real org that can accept all Apps
   Unlimited         Unlimited   The sky’s the limit…
3 Primary Types of Apps
•   Integration
    •   Sync data between systems
    •   Examples: Constant Contact for Salesforce, Glance for Salesforce

•   Augmented Functionality
    •   Add features and functionality to Salesforce
    •   Examples: EchoSign, MyFax, GeoPointe (Google Maps for Salesforce)

•   Platform Solutions
    •   Provide independent business applications
    •   Examples: Skoodat, ServiceMax (field service), DreamTeam Project
        Management, FinancialForce (accounting)
What Is An App?
•   In a nutshell: a deployable grouping of config and code

•   Data model customizations
    •   Additional objects, fields, validation rules

•   User Interface customizations
    •   Additional page layouts, tabs, VisualForce pages & components

•   Custom Code
    •   Apex classes & triggers

•   Workflow

•   Reports & Dashboards
Building An App

• Setting up a development org
  • Developer (anyone, free)
  • Partner Developer (super-sized, requires
    registration)
• Develop the App components
• Creating a package
  • Managed vs. Unmanaged
  • Selecting a namespace (e.g., G4S = Glance for
    Salesforce)
Managed vs. Unmanaged

• Managed
 • IP protection (no source code)
 • Support for upgrades (push patches)
 • LMA (License Management & Administration)
   •   Setup trials
   •   Track installs and licenses
   •   Extend, activate, suspend and expire licenses
 • Aloha compatibility (Group & Professional)
Managed vs. Unmanaged

• Unmanaged
 • Limited to certain editions (no Group /
   Professional)
 • Source code visible
 • Good for distributing open source code as an
   installable, cohesive unit
 • Several free available from Salesforce and others
   •   Lead Scoring
   •   Many “starter” and “example” Apps for new or advanced
       features
Packaging An App

• Beta Package
  • Can test before releasing
  • Still able to add / subtract objects, fields, code, etc.
• Security Review
  • Run security scanner first
     •   Only scans code in package
  • XSS (Cross Site Scripting)
• Publishing to the AppExchange
  • Release package
Distributing An App

• AppExchange
  for CRM
• TrialForce
  otherwise
Upgrading An App
•   Major vs. minor upgrade

•   Minor
    •   Edits to existing code (Apex, VisualForce)
    •   Cannot add objects or fields
    •   Creating a patch org
    •   Push upgrade

•   Major
    •   Can change anything
    •   Can’t remove objects, fields, classes, triggers (just deprecate)
Lessons Learned

• Not all org editions have the same features
  •   Standard object availability
  •   Chatter availability
  •   Exposing web services
  •   Primarily have to worry about Group and
      Professional
Lessons Learned

• Governor limits
  • Optimize APIs for syncing data
    •   Beware of number of requests
    •   Beware of payload sizes
    •   Beware of executed scripts to parse data
  • Utilize batch and scheduled jobs
    •   Create custom objects to stage data
    •   Chain batch jobs to process large volumes of data
        on different objects
Lessons Learned

• Beware of required fields and custom
  validations
  • Code defensively for all inserts / updates to
    standard objects
  • Can perform check during install and warn
Lessons Learned

• Keep the interface native
  • Less jarring for users
  • More seamless experience
    •   Familiar navigation and UI idioms
  • Refrain from custom UI widgets and graphics
    that don’t match Salesforce
Lessons Learned

• Exception emails
  • Sent anytime an exception occurs
  • Very little context of problem to work with
  • Setup a group email
Questions?


Thank you!

James Holmes
james@codescience.com

More Related Content

What's hot

3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)Salesforce Partners
 
AppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate DemandAppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate DemandSalesforce Partners
 
Salesforce Partner Program for ISVs Lifecycle Tutorial
Salesforce Partner Program for ISVs Lifecycle TutorialSalesforce Partner Program for ISVs Lifecycle Tutorial
Salesforce Partner Program for ISVs Lifecycle TutorialSalesforce Partners
 
AMP Fall Winter '16 Overview Post
AMP Fall Winter '16 Overview Post AMP Fall Winter '16 Overview Post
AMP Fall Winter '16 Overview Post Salesforce Partners
 
App Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slidesApp Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slidesSalesforce Partners
 
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...CodeScience
 
Starting A Successful ISV Business with Salesforce (October 13, 2014)
Starting A Successful ISV Business with Salesforce (October 13, 2014)Starting A Successful ISV Business with Salesforce (October 13, 2014)
Starting A Successful ISV Business with Salesforce (October 13, 2014)Salesforce Partners
 
Beyond VC: Capital Raising for ISVs Without Giving Up Equity
Beyond VC: Capital Raising for ISVs Without Giving Up Equity Beyond VC: Capital Raising for ISVs Without Giving Up Equity
Beyond VC: Capital Raising for ISVs Without Giving Up Equity Salesforce Partners
 
Salesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Partners
 
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)Salesforce Partners
 
Performance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScalePerformance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScaleSalesforce Partners
 
ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)Salesforce Partners
 
DF15 Partner Zone (Replay!) Guide
DF15 Partner Zone (Replay!) GuideDF15 Partner Zone (Replay!) Guide
DF15 Partner Zone (Replay!) GuideSalesforce Partners
 
AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...
AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...
AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...Salesforce Partners
 
Salesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer IntroSalesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer IntroJames Ward
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)Salesforce Partners
 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce Partners
 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsCodeScience
 

What's hot (20)

3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
3 Experts Share Tips for Salesforce1 Mobile Apps (Aug 21)
 
AppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate DemandAppExchange Marketing Playbook: Generate Demand
AppExchange Marketing Playbook: Generate Demand
 
Salesforce Partner Program for ISVs Lifecycle Tutorial
Salesforce Partner Program for ISVs Lifecycle TutorialSalesforce Partner Program for ISVs Lifecycle Tutorial
Salesforce Partner Program for ISVs Lifecycle Tutorial
 
Appx for Developers
Appx for Developers   Appx for Developers
Appx for Developers
 
AMP Fall Winter '16 Overview Post
AMP Fall Winter '16 Overview Post AMP Fall Winter '16 Overview Post
AMP Fall Winter '16 Overview Post
 
App Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slidesApp Academy: Getting Started (Virtual Classroom) slides
App Academy: Getting Started (Virtual Classroom) slides
 
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
 
Partner Business Org
Partner Business OrgPartner Business Org
Partner Business Org
 
Starting A Successful ISV Business with Salesforce (October 13, 2014)
Starting A Successful ISV Business with Salesforce (October 13, 2014)Starting A Successful ISV Business with Salesforce (October 13, 2014)
Starting A Successful ISV Business with Salesforce (October 13, 2014)
 
Beyond VC: Capital Raising for ISVs Without Giving Up Equity
Beyond VC: Capital Raising for ISVs Without Giving Up Equity Beyond VC: Capital Raising for ISVs Without Giving Up Equity
Beyond VC: Capital Raising for ISVs Without Giving Up Equity
 
Salesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam Prep
 
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
Insider's Guide to the AppExchange Security Review (Dreamforce 2015)
 
Performance Testing ISV Apps to Scale
Performance Testing ISV Apps to ScalePerformance Testing ISV Apps to Scale
Performance Testing ISV Apps to Scale
 
ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)
 
DF15 Partner Zone (Replay!) Guide
DF15 Partner Zone (Replay!) GuideDF15 Partner Zone (Replay!) Guide
DF15 Partner Zone (Replay!) Guide
 
AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...
AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...
AppExchange Marketing Program Overview (Spring ’16: February – April 2016 | S...
 
Salesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer IntroSalesforce Campus Tour - Developer Intro
Salesforce Campus Tour - Developer Intro
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification Paths
 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning Components
 

Similar to building an app exchange app

ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudJeremy Likness
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julyRichard Clark
 
Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?CloudSense
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsSPC Adriatics
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blenderedm00se
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksFITC
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExBradley Brown
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesAlfred Jett Grandeza
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...Alexander Meijers
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauroMatt Tesauro
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinMatt Tesauro
 
Anupam chaturvedi resume latest
Anupam chaturvedi resume  latestAnupam chaturvedi resume  latest
Anupam chaturvedi resume latestAnupam chaturvedi
 
Advanced dev ops governance with terraform
Advanced dev ops governance with terraformAdvanced dev ops governance with terraform
Advanced dev ops governance with terraformJames Counts
 
Alfresco DevCon 2019: BiDirectional Sync to Other Platforms
Alfresco DevCon 2019: BiDirectional Sync to Other PlatformsAlfresco DevCon 2019: BiDirectional Sync to Other Platforms
Alfresco DevCon 2019: BiDirectional Sync to Other Platformsdavidocmillergmailcom
 
Dreamwares salesforce (Updated)
Dreamwares salesforce (Updated)Dreamwares salesforce (Updated)
Dreamwares salesforce (Updated)Amit Ahuja
 
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore
 

Similar to building an app exchange app (20)

ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd july
 
Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?Leveraging Force.com: What, Why & Hows?
Leveraging Force.com: What, Why & Hows?
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry Practices
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
Anatomy of a mail app
Anatomy of a mail appAnatomy of a mail app
Anatomy of a mail app
 
Ashish-SFDC-10-16
Ashish-SFDC-10-16Ashish-SFDC-10-16
Ashish-SFDC-10-16
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
Anupam chaturvedi resume latest
Anupam chaturvedi resume  latestAnupam chaturvedi resume  latest
Anupam chaturvedi resume latest
 
Advanced dev ops governance with terraform
Advanced dev ops governance with terraformAdvanced dev ops governance with terraform
Advanced dev ops governance with terraform
 
spring
springspring
spring
 
Alfresco DevCon 2019: BiDirectional Sync to Other Platforms
Alfresco DevCon 2019: BiDirectional Sync to Other PlatformsAlfresco DevCon 2019: BiDirectional Sync to Other Platforms
Alfresco DevCon 2019: BiDirectional Sync to Other Platforms
 
Dreamwares salesforce (Updated)
Dreamwares salesforce (Updated)Dreamwares salesforce (Updated)
Dreamwares salesforce (Updated)
 
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
 

More from vraopolisetti

Concurforce - Atlanta ASUG Presentation
Concurforce - Atlanta ASUG PresentationConcurforce - Atlanta ASUG Presentation
Concurforce - Atlanta ASUG Presentationvraopolisetti
 
Salesforce Batch processing - Atlanta SFUG
Salesforce Batch processing - Atlanta SFUGSalesforce Batch processing - Atlanta SFUG
Salesforce Batch processing - Atlanta SFUGvraopolisetti
 
Salesforce Adoption and Best Practices
Salesforce Adoption and Best PracticesSalesforce Adoption and Best Practices
Salesforce Adoption and Best Practicesvraopolisetti
 
Take Your Sales Pipeline Reporting to the Next Level 05-30-2012
Take Your Sales Pipeline Reporting to the Next Level   05-30-2012Take Your Sales Pipeline Reporting to the Next Level   05-30-2012
Take Your Sales Pipeline Reporting to the Next Level 05-30-2012vraopolisetti
 
Getting your data into salesforce 5 30-2012
Getting your data into salesforce 5 30-2012Getting your data into salesforce 5 30-2012
Getting your data into salesforce 5 30-2012vraopolisetti
 
Earning certifications efficiently 5.30.12 atlanta user group
Earning certifications efficiently 5.30.12 atlanta user groupEarning certifications efficiently 5.30.12 atlanta user group
Earning certifications efficiently 5.30.12 atlanta user groupvraopolisetti
 
Atlanta Salesforce UG Meeting 2/23/2011 Symplified
Atlanta Salesforce UG Meeting 2/23/2011 SymplifiedAtlanta Salesforce UG Meeting 2/23/2011 Symplified
Atlanta Salesforce UG Meeting 2/23/2011 Symplifiedvraopolisetti
 
Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12)
Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12) Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12)
Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12) vraopolisetti
 
Increasing reporting value with statistics
Increasing reporting value with statisticsIncreasing reporting value with statistics
Increasing reporting value with statisticsvraopolisetti
 
Atlanta user group presentation configero 8 nov11
Atlanta user group presentation configero 8 nov11Atlanta user group presentation configero 8 nov11
Atlanta user group presentation configero 8 nov11vraopolisetti
 
Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records
Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records
Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records vraopolisetti
 
Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce vraopolisetti
 
Build Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForceBuild Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForcevraopolisetti
 
Apttus atlanta sfdc user group pres feb 2011
Apttus atlanta sfdc user group pres feb 2011Apttus atlanta sfdc user group pres feb 2011
Apttus atlanta sfdc user group pres feb 2011vraopolisetti
 
Marketing operations and resource management with salesforcecom
Marketing operations and resource management with salesforcecomMarketing operations and resource management with salesforcecom
Marketing operations and resource management with salesforcecomvraopolisetti
 

More from vraopolisetti (17)

Concurforce - Atlanta ASUG Presentation
Concurforce - Atlanta ASUG PresentationConcurforce - Atlanta ASUG Presentation
Concurforce - Atlanta ASUG Presentation
 
Salesforce Batch processing - Atlanta SFUG
Salesforce Batch processing - Atlanta SFUGSalesforce Batch processing - Atlanta SFUG
Salesforce Batch processing - Atlanta SFUG
 
Salesforce Adoption and Best Practices
Salesforce Adoption and Best PracticesSalesforce Adoption and Best Practices
Salesforce Adoption and Best Practices
 
Take Your Sales Pipeline Reporting to the Next Level 05-30-2012
Take Your Sales Pipeline Reporting to the Next Level   05-30-2012Take Your Sales Pipeline Reporting to the Next Level   05-30-2012
Take Your Sales Pipeline Reporting to the Next Level 05-30-2012
 
Getting your data into salesforce 5 30-2012
Getting your data into salesforce 5 30-2012Getting your data into salesforce 5 30-2012
Getting your data into salesforce 5 30-2012
 
Earning certifications efficiently 5.30.12 atlanta user group
Earning certifications efficiently 5.30.12 atlanta user groupEarning certifications efficiently 5.30.12 atlanta user group
Earning certifications efficiently 5.30.12 atlanta user group
 
Atlanta Salesforce UG Meeting 2/23/2011 Symplified
Atlanta Salesforce UG Meeting 2/23/2011 SymplifiedAtlanta Salesforce UG Meeting 2/23/2011 Symplified
Atlanta Salesforce UG Meeting 2/23/2011 Symplified
 
Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12)
Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12) Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12)
Atlanta Salesforce UG 2/23/2012: Release overview deck (spring '12)
 
Increasing reporting value with statistics
Increasing reporting value with statisticsIncreasing reporting value with statistics
Increasing reporting value with statistics
 
Atlanta user group presentation configero 8 nov11
Atlanta user group presentation configero 8 nov11Atlanta user group presentation configero 8 nov11
Atlanta user group presentation configero 8 nov11
 
Flow presentation
Flow presentationFlow presentation
Flow presentation
 
Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records
Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records
Who Sees What When? Using Dynamic Sharing Rules To Manage Access To Records
 
Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce Building Robust Applications with Dynamic Visualforce
Building Robust Applications with Dynamic Visualforce
 
Build Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForceBuild Amazing Website without coding using Salesforce SiteForce
Build Amazing Website without coding using Salesforce SiteForce
 
Configuration tips
Configuration tipsConfiguration tips
Configuration tips
 
Apttus atlanta sfdc user group pres feb 2011
Apttus atlanta sfdc user group pres feb 2011Apttus atlanta sfdc user group pres feb 2011
Apttus atlanta sfdc user group pres feb 2011
 
Marketing operations and resource management with salesforcecom
Marketing operations and resource management with salesforcecomMarketing operations and resource management with salesforcecom
Marketing operations and resource management with salesforcecom
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

building an app exchange app

  • 1. Building An AppExchange App James Holmes Force.com Architect Atlanta • San Francisco
  • 2. Agenda • Intro • Goals • AppExchange Overview • Building An App • Packaging An App • Upgrading An App • Lessons Learned • Conclusion
  • 3. About Me • From Java to Salesforce • 3 years of intensive Salesforce.com development • Salesforce Certified Developer • 4 AppExchange Apps completed, with more underway • Skoodat • Constant Contact for Salesforce • Glance for Salesforce • BlueHornet for Salesforce
  • 4. Goals • A balanced presentation with equal interest for business people and technical people • Overview of what an App is • Details about the steps that go into building and packaging an App • Share lessons learned and best practices • Limitations and workarounds
  • 5. AppExchange Overview • What is the AppExchange? • Distribution platform for Apps • Both free and fee-based Apps • App Availability Edition Apps Notes Contact Manager 1 Can’t actually install an App apparently Group 1 Limited functionality and problematic to target Apps for Professional 5 Limited functionality and problematic to target Apps for Enterprise 10 The first real org that can accept all Apps Unlimited Unlimited The sky’s the limit…
  • 6. 3 Primary Types of Apps • Integration • Sync data between systems • Examples: Constant Contact for Salesforce, Glance for Salesforce • Augmented Functionality • Add features and functionality to Salesforce • Examples: EchoSign, MyFax, GeoPointe (Google Maps for Salesforce) • Platform Solutions • Provide independent business applications • Examples: Skoodat, ServiceMax (field service), DreamTeam Project Management, FinancialForce (accounting)
  • 7. What Is An App? • In a nutshell: a deployable grouping of config and code • Data model customizations • Additional objects, fields, validation rules • User Interface customizations • Additional page layouts, tabs, VisualForce pages & components • Custom Code • Apex classes & triggers • Workflow • Reports & Dashboards
  • 8. Building An App • Setting up a development org • Developer (anyone, free) • Partner Developer (super-sized, requires registration) • Develop the App components • Creating a package • Managed vs. Unmanaged • Selecting a namespace (e.g., G4S = Glance for Salesforce)
  • 9. Managed vs. Unmanaged • Managed • IP protection (no source code) • Support for upgrades (push patches) • LMA (License Management & Administration) • Setup trials • Track installs and licenses • Extend, activate, suspend and expire licenses • Aloha compatibility (Group & Professional)
  • 10. Managed vs. Unmanaged • Unmanaged • Limited to certain editions (no Group / Professional) • Source code visible • Good for distributing open source code as an installable, cohesive unit • Several free available from Salesforce and others • Lead Scoring • Many “starter” and “example” Apps for new or advanced features
  • 11. Packaging An App • Beta Package • Can test before releasing • Still able to add / subtract objects, fields, code, etc. • Security Review • Run security scanner first • Only scans code in package • XSS (Cross Site Scripting) • Publishing to the AppExchange • Release package
  • 12. Distributing An App • AppExchange for CRM • TrialForce otherwise
  • 13. Upgrading An App • Major vs. minor upgrade • Minor • Edits to existing code (Apex, VisualForce) • Cannot add objects or fields • Creating a patch org • Push upgrade • Major • Can change anything • Can’t remove objects, fields, classes, triggers (just deprecate)
  • 14. Lessons Learned • Not all org editions have the same features • Standard object availability • Chatter availability • Exposing web services • Primarily have to worry about Group and Professional
  • 15. Lessons Learned • Governor limits • Optimize APIs for syncing data • Beware of number of requests • Beware of payload sizes • Beware of executed scripts to parse data • Utilize batch and scheduled jobs • Create custom objects to stage data • Chain batch jobs to process large volumes of data on different objects
  • 16. Lessons Learned • Beware of required fields and custom validations • Code defensively for all inserts / updates to standard objects • Can perform check during install and warn
  • 17. Lessons Learned • Keep the interface native • Less jarring for users • More seamless experience • Familiar navigation and UI idioms • Refrain from custom UI widgets and graphics that don’t match Salesforce
  • 18. Lessons Learned • Exception emails • Sent anytime an exception occurs • Very little context of problem to work with • Setup a group email