SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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...
 

Plus de 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
 

Plus de 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
 

Dernier

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Dernier (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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