SlideShare ist ein Scribd-Unternehmen logo
1 von 19
#jaipurDUG
Packaging and AppExchange
Listing
June 7th 2016
#jaipurDUG#jaipurDUG
Speaker
Neetu Bansal
Senior Software Engineer,
Metacube Software Pvt. Ltd.
neetu.bansal.5@gmail.com
#jaipurDUG
Agenda
• Quick Recap of Packaging
• Manage Package
• Running Apex after installing/uninstalling
• How to create Packages
• Quick Recap of AppExchange Listing
• Developing App Documentation
• Choose an Installation Option
#jaipurDUG
Recap on Packaging
#jaipurDUG
A package is a container for something as small as an individual component or as large as a
set of related apps. After creating a package, you can distribute it to other Salesforce users
and organizations, including those outside your company.
Packages come in two forms:
▪ Unmanaged
▪ Managed
#jaipurDUG
Components: A component is one constituent part of a package. It defines an item, such as
a custom object or a custom field.
Attributes: An attribute is a field on a component, such as the name of an email
template or the Allow Reports checkbox on a custom object.
#jaipurDUG
Managed Package
▪ Namespace Prefix
▪ Beta Package
▪ Released Package
▪ Package Version
▪ Patch
▪ Patch Development Organization
▪ Patch Release
▪ Publisher
▪ Push Updates
▪ Uploading
#jaipurDUG
Running Apex while Installing
▪ You can use the script to populate custom settings, create
sample data, send an email to the installer, notify an external
system, or kick off a batch operation
▪ You can only specify one post install script. It must be an
Apex class that is a member of the package.
▪ The post install script is invoked after tests have been run,
and is subject to default governor limits. It runs as a special
system user that represents your package.
#jaipurDUG
Running Apex while Uninstalling
▪ This makes it possible to perform cleanup and notification tasks
based on details of the subscriber’s organization.
▪ For simplicity, you can only specify one uninstall script. It must
be an Apex class that is a member of the package.
▪ If the script fails, the uninstall continues but none of the
changes performed by the script are committed. Any errors in
the script are emailed to the user specified in the Notify on
Apex Error field of the package
#jaipurDUG
Let’s Create Package
#jaipurDUG
Convert Unmanaged Packages to Managed
▪ Notify your current installers of how to save their data
– Export all the data from the previous, unmanaged version of the package.
– Uninstall the unmanaged package.
– Install the new managed version of the package.
– Import all the exported data into the new managed package.
▪ Convert an unmanaged package into a managed package
– Enable managed packages for your organization.
– From Setup, enter Packages in the Quick Find box, then select Packages.
– Edit the package that you want to make managed, then select Managed.
#jaipurDUG
Recap on AppExchange
Listing
#jaipurDUG
AppExchange: The AppExchange is a sharing interface from
Salesforce that allows you to browse and share apps and services
for the Force.com platform.
License Management Application (LMA) : A free AppExchange app
that allows you to track sales leads and accounts for every user who
downloads your managed package (app) from the AppExchange.
License Management Organization (LMO): The Salesforce
organization that you use to track all the Salesforce users who install
your package. A license management organization must have the
License Management Application (LMA) installed
#jaipurDUG#jaipurDUG
Developing App Documentation
● Salesforce recommends publishing your app on
AppExchange with the following types of documentation:
○ Configure Option
○ Datasheet
○ Customization and Enhancement guide
○ Custom Help
#forcewebinar
#jaipurDUG
Publish your app on AppExchange
▪ If your listing is an app or component, connect your packaging
organization to the AppExchange
▪ Create a provider profile.
▪ Review tips for creating a listing that excites and engages customers.
▪ Create the listing.
▪ If your listing is an app or component, submit the package for security
review.
▪ After your app is approved, publish the listing on the AppExchange
▪ Review the analytics to see how your listing is performing.
#jaipurDUG
Salesforce Best Practices for Security Review
▪ All Classes in Sharing mode only
▪ No Reflected XSS or Cross Side scripting issues
▪ Enforcing CRUD/FLS
▪ No DML in action attribute of <apex:page>
▪ Javascript in Salesforce DOM
#jaipurDUG
Choose an Installation Option
▪ Directly from AppExchange
▪ From your Website
▪ Client should contact the distributor of Package
#jaipurDUG#jaipurDUG
Q&A
Neetu Bansal
Senior Software Engineer,
Metacube Software Pvt. Ltd.
neetu.bansal.5@gmail.com
#jaipurDUG#jaipurDUG
Thank You

Weitere ähnliche Inhalte

Ähnlich wie Packaging and AppExchange Listing

Moscow Ohana - AppExchange App development by Vasilina Veretennikova
Moscow Ohana - AppExchange App development by Vasilina VeretennikovaMoscow Ohana - AppExchange App development by Vasilina Veretennikova
Moscow Ohana - AppExchange App development by Vasilina VeretennikovaNikitaChursin2
 
System_Monitoring_Training_Material_3.pdf
System_Monitoring_Training_Material_3.pdfSystem_Monitoring_Training_Material_3.pdf
System_Monitoring_Training_Material_3.pdfHectorJaramilloCantn
 
Pega knowledge-86-install-guide
Pega knowledge-86-install-guidePega knowledge-86-install-guide
Pega knowledge-86-install-guideMayank Awasthi
 
PhillyForce 2018 - Salesforce Platform Keynote
PhillyForce 2018  - Salesforce Platform KeynotePhillyForce 2018  - Salesforce Platform Keynote
PhillyForce 2018 - Salesforce Platform Keynoteandyinthecloud
 
Rits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRight IT Services
 
Everything You Need to Know About Salesforce LMA & COA
Everything You Need to Know About Salesforce LMA & COAEverything You Need to Know About Salesforce LMA & COA
Everything You Need to Know About Salesforce LMA & COACodeScience
 
[Tech Webinar] Second Generation Packaging for ISVs
[Tech Webinar] Second Generation Packaging for ISVs[Tech Webinar] Second Generation Packaging for ISVs
[Tech Webinar] Second Generation Packaging for ISVsCodeScience
 
Release Engineering
Release EngineeringRelease Engineering
Release EngineeringGDG Odessa
 
TDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer ToolsTDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer ToolsDoug Ayers
 
Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19Jaswinder Rattanpal
 
10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)
10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)
10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)CodeScience
 
Lightning Components Explained
Lightning Components ExplainedLightning Components Explained
Lightning Components ExplainedAtul Gupta(8X)
 
Org-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVsOrg-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVsCodeScience
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgSalesforce Developers
 
fireup pro software house - this is who we are
fireup pro software house - this is who we arefireup pro software house - this is who we are
fireup pro software house - this is who we arefireup.pro
 
Power automate a workflow automation platform
Power automate a  workflow automation platform Power automate a  workflow automation platform
Power automate a workflow automation platform Amit Kumawat
 
Whats new Primavera P6 Professional 15.2?
Whats new Primavera P6 Professional 15.2?Whats new Primavera P6 Professional 15.2?
Whats new Primavera P6 Professional 15.2?p6academy
 
Module 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to beginModule 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to beginDeepakprasad838637
 

Ähnlich wie Packaging and AppExchange Listing (20)

Moscow Ohana - AppExchange App development by Vasilina Veretennikova
Moscow Ohana - AppExchange App development by Vasilina VeretennikovaMoscow Ohana - AppExchange App development by Vasilina Veretennikova
Moscow Ohana - AppExchange App development by Vasilina Veretennikova
 
System_Monitoring_Training_Material_3.pdf
System_Monitoring_Training_Material_3.pdfSystem_Monitoring_Training_Material_3.pdf
System_Monitoring_Training_Material_3.pdf
 
Pega knowledge-86-install-guide
Pega knowledge-86-install-guidePega knowledge-86-install-guide
Pega knowledge-86-install-guide
 
PhillyForce 2018 - Salesforce Platform Keynote
PhillyForce 2018  - Salesforce Platform KeynotePhillyForce 2018  - Salesforce Platform Keynote
PhillyForce 2018 - Salesforce Platform Keynote
 
License Management App
License Management App License Management App
License Management App
 
Unlocked package
Unlocked packageUnlocked package
Unlocked package
 
Rits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchangeRits Brown Bag - Salesforce AppExchange
Rits Brown Bag - Salesforce AppExchange
 
Everything You Need to Know About Salesforce LMA & COA
Everything You Need to Know About Salesforce LMA & COAEverything You Need to Know About Salesforce LMA & COA
Everything You Need to Know About Salesforce LMA & COA
 
[Tech Webinar] Second Generation Packaging for ISVs
[Tech Webinar] Second Generation Packaging for ISVs[Tech Webinar] Second Generation Packaging for ISVs
[Tech Webinar] Second Generation Packaging for ISVs
 
Release Engineering
Release EngineeringRelease Engineering
Release Engineering
 
TDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer ToolsTDX19 - Untangle Your Org with Salesforce Developer Tools
TDX19 - Untangle Your Org with Salesforce Developer Tools
 
Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19
 
10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)
10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)
10 Tips to Pass Salesforce Security Review (and Steps to Take If You Don’t!)
 
Lightning Components Explained
Lightning Components ExplainedLightning Components Explained
Lightning Components Explained
 
Org-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVsOrg-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVs
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
 
fireup pro software house - this is who we are
fireup pro software house - this is who we arefireup pro software house - this is who we are
fireup pro software house - this is who we are
 
Power automate a workflow automation platform
Power automate a  workflow automation platform Power automate a  workflow automation platform
Power automate a workflow automation platform
 
Whats new Primavera P6 Professional 15.2?
Whats new Primavera P6 Professional 15.2?Whats new Primavera P6 Professional 15.2?
Whats new Primavera P6 Professional 15.2?
 
Module 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to beginModule 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to begin
 

Kürzlich hochgeladen

ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubssamaasim06
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfhenrik385807
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Vipesco
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMoumonDas2
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardsticksaastr
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Chameera Dedduwage
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )Pooja Nehwal
 

Kürzlich hochgeladen (20)

ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
 

Packaging and AppExchange Listing

  • 2. #jaipurDUG#jaipurDUG Speaker Neetu Bansal Senior Software Engineer, Metacube Software Pvt. Ltd. neetu.bansal.5@gmail.com
  • 3. #jaipurDUG Agenda • Quick Recap of Packaging • Manage Package • Running Apex after installing/uninstalling • How to create Packages • Quick Recap of AppExchange Listing • Developing App Documentation • Choose an Installation Option
  • 5. #jaipurDUG A package is a container for something as small as an individual component or as large as a set of related apps. After creating a package, you can distribute it to other Salesforce users and organizations, including those outside your company. Packages come in two forms: ▪ Unmanaged ▪ Managed
  • 6. #jaipurDUG Components: A component is one constituent part of a package. It defines an item, such as a custom object or a custom field. Attributes: An attribute is a field on a component, such as the name of an email template or the Allow Reports checkbox on a custom object.
  • 7. #jaipurDUG Managed Package ▪ Namespace Prefix ▪ Beta Package ▪ Released Package ▪ Package Version ▪ Patch ▪ Patch Development Organization ▪ Patch Release ▪ Publisher ▪ Push Updates ▪ Uploading
  • 8. #jaipurDUG Running Apex while Installing ▪ You can use the script to populate custom settings, create sample data, send an email to the installer, notify an external system, or kick off a batch operation ▪ You can only specify one post install script. It must be an Apex class that is a member of the package. ▪ The post install script is invoked after tests have been run, and is subject to default governor limits. It runs as a special system user that represents your package.
  • 9. #jaipurDUG Running Apex while Uninstalling ▪ This makes it possible to perform cleanup and notification tasks based on details of the subscriber’s organization. ▪ For simplicity, you can only specify one uninstall script. It must be an Apex class that is a member of the package. ▪ If the script fails, the uninstall continues but none of the changes performed by the script are committed. Any errors in the script are emailed to the user specified in the Notify on Apex Error field of the package
  • 11. #jaipurDUG Convert Unmanaged Packages to Managed ▪ Notify your current installers of how to save their data – Export all the data from the previous, unmanaged version of the package. – Uninstall the unmanaged package. – Install the new managed version of the package. – Import all the exported data into the new managed package. ▪ Convert an unmanaged package into a managed package – Enable managed packages for your organization. – From Setup, enter Packages in the Quick Find box, then select Packages. – Edit the package that you want to make managed, then select Managed.
  • 13. #jaipurDUG AppExchange: The AppExchange is a sharing interface from Salesforce that allows you to browse and share apps and services for the Force.com platform. License Management Application (LMA) : A free AppExchange app that allows you to track sales leads and accounts for every user who downloads your managed package (app) from the AppExchange. License Management Organization (LMO): The Salesforce organization that you use to track all the Salesforce users who install your package. A license management organization must have the License Management Application (LMA) installed
  • 14. #jaipurDUG#jaipurDUG Developing App Documentation ● Salesforce recommends publishing your app on AppExchange with the following types of documentation: ○ Configure Option ○ Datasheet ○ Customization and Enhancement guide ○ Custom Help #forcewebinar
  • 15. #jaipurDUG Publish your app on AppExchange ▪ If your listing is an app or component, connect your packaging organization to the AppExchange ▪ Create a provider profile. ▪ Review tips for creating a listing that excites and engages customers. ▪ Create the listing. ▪ If your listing is an app or component, submit the package for security review. ▪ After your app is approved, publish the listing on the AppExchange ▪ Review the analytics to see how your listing is performing.
  • 16. #jaipurDUG Salesforce Best Practices for Security Review ▪ All Classes in Sharing mode only ▪ No Reflected XSS or Cross Side scripting issues ▪ Enforcing CRUD/FLS ▪ No DML in action attribute of <apex:page> ▪ Javascript in Salesforce DOM
  • 17. #jaipurDUG Choose an Installation Option ▪ Directly from AppExchange ▪ From your Website ▪ Client should contact the distributor of Package
  • 18. #jaipurDUG#jaipurDUG Q&A Neetu Bansal Senior Software Engineer, Metacube Software Pvt. Ltd. neetu.bansal.5@gmail.com