Listing Technical Resources

Image:DevelopForAppExchange.jpg


Your application listing is what appears in the Force.com AppExchange and is made up of marketing materials. It is your "store-front" on the AppExchange. Customers can learn about your application by reviewing content such as datasheet, whitepaper, seeing a demo or test driving the application as well. They can also install your application by clicking the Get It Now or Download buttons, or, obtain additional information about your application if you choose to have a Learn More button instead. And best of all, such customer activities are tracked and sent directly to you as leads for free!



Publishing Guide Image:Sw_visual.gif

As a developer ready to make an application available publicly on the AppExchange, you will already have created, packaged, attended security review and registered your custom Salesforce application. You should have received an email with a unique URL so that you are able to share your app privately. (For details on how you package and register an app, read Packaging Overview.)

With these steps complete, you can submit your application for publication on the AppExchange. Before publication your app will be reviewed and approved.

Assumptions: This article assumes that you are a developer, publisher, or partner who already has an application that's been packaged and is available for private sharing on the AppExchange.

Note: Ensure that you have completed your security review before creating your listing.


Now that you've packaged and registered your app, you can assume two roles:

  • Developer. You manage the applications that you developed in your salesforce.com developer account and register them in your AppExchange developer account. As the AppExchange Developer, you can also delegate the role of Publisher to another person who has an AppExchange profile. Only the developer can assign or change the publisher profile assigned to an app.

  • Publisher. In this role, you can publish any number of applications on the AppExchange. Each app published on the AppExchange must have a publisher, and the role can be assumed by someone other than the developer. Typically this person represents the company publishing the app. For example, you may choose to have a marketing professional in your organization act as the publisher for all of your company's apps.

In this article, each task heading will be followed by the role that can carry out that activity.

Publishing your application consists of ten major activities:

  1. Creating Your Publisher Profile (Publisher Role)
  2. Associating Your App with a Publisher Profile (Developer Role)
  3. Editing Your AppExchange App Listing Before Submitting for Publication Review (Developer or Publisher Role)
  4. Assigning Your App to an Exchange (Developer or Publisher Role)
  5. Choosing Exchange Categories and Subcategories (Developer or Publisher Role)
  6. Preparing Your App for Publication Review (Developer or Publisher Role)
  7. Tracking the Status of Your Apps During Publishing (Developer or Publisher Role)
  8. Submitting Your App for Publication Review (Publisher Role)
  9. Publicly Listing Your App on the AppExchange After Approval (Publisher Role)
  10. Associating a License Management Organization (LMO)



Resources







1. Creating Your Publisher Profile (Publisher Role)

The publisher profile identifies the person or organization responsible for supporting the app. When AppExchange visitors view, test drive, or download apps associated with this publisher profile, they'll see the information in the fields marked as publicly viewable.

  1. Log in to the AppExchange using your salesforce.com customer credentials.

  2. Click the Manage My Publishing Profile tab.

  3. Click Create a Profile. (See Figure 1.)

    Image:Create_a_Profile.jpg


  4. When the Publisher Profile page appears, fill in the fields shown in the table below to describe the person or organization that will act as the app's publisher. In addition to adding the Required content, you could also add additional content such as the Publisher Website, Support and Phone information. (See Figure 2.)


    Image:Enter profile 2.jpg



    NOTE: As the app developer, you can make yourself or your organization the publisher, or you can list another person or organization. For example, if you've created an app but another person will sell and support the app, you would list that person as the publisher.



Field Name Description Publicly or Privately Viewable
Username Publisher's username Private
Phone Publisher's phone number Private
Publisher Name Name of the individual or organization responsible for supporting the app Public
Publisher Description Description of the publisher or publisher's organization Public
Website URL Website users can visit to learn about the publisher's organization Public
Support URL Website users can visit for app support Public
Contact Phone Phone number of the publisher or publisher's organization Public



  1. Click Save.

  2. You can update the publisher profile by clicking the Manage My Publisher Profile tab, then clicking Edit Profile. Make the desired changes to the profile on the Publisher Profile page, then click Save.

Back to Top

2. Associating Your App with a Publisher Profile (Developer Role)

As the app developer, your app must be associated with a publisher profile before it can be submitted for ARB review. You can either assign an existing publisher profile to your app or have created a profile for yourself.

Note:If you don’t have a package (e.g. client apps or apps distributing through Learn More), go to www.appexchange.com/support to request for a blank listing. Select Request Type "Publishing" and Sub Type "Other" under Publishing. Once you receive your blank listing follow the steps below.



  1. Click the Manage My Apps tab, then find the title of the app with which you want to associate a publisher profile.

  2. Click Change Publisher.

  3. When the Assign Publisher Profile box appears, choose the appropriate radio button:

    • My Publisher Profile
      This allows you to select the publisher profile you created on the Manage My Publisher Profile tab. (See Figure 3.)

      Image:Image2modified.gif



    • Name

      This field is where you type in the username associated with an existing publisher profile. (See Figure 3.)

      When you enter the username for a valid publisher profile, the person associated with that profile will see the app available for publishing on their Manage My Apps tab. The publisher can then carry out the appropriate publishing tasks and actions based on the app status.

      Only the developer can change the publisher profile assigned to an app. If the developer delegates another person or organization to be the publisher, an app listing in the Manage My Apps tab displays the different usernames for those roles, with the publisher capabilities for that app listed under Publisher.

      NOTE: If the username that you enter in the Assign Publisher Profile box is not associated with a valid publisher profile for your organization, your organization will not be able to submit the app to the ARB for review until you have assigned a valid publisher profile.

  4. Click Assign Publisher. (See Figure 3.)
    Although the app is assigned a publisher, the package status is not displayed yet. The first status state is displayed when the app is assigned to an exchange. If you are both the developer and the publisher, an app listing on the Manage My Apps tab displays your username as associated with both of those roles and capabilities. (See Figure 4.)

    WARNING: Once your app is submitted for review, the Change Publisher functionality is locked and the Publisher information cannot be changed or edited.

    Image:image3.gif



  5. If you have assigned the app to a publisher who is not yourself, notify the publisher about the assignment.


Ask the person to look at the app in their list of apps on the Manage My Apps tab.



Back to Top

3. Editing Your AppExchange App Listing Before Submitting for Publication Review (Developer or Publisher Role)

You will need to add details to the app entry listing that was initially created during the packaging process. For more information about packaging, see Packaging Overview.

  1. Click the Manage My Apps tab, then find the app with the listing to be edited.

  2. Click Edit to the right of the app name.
    The App Listing page appears displaying all the previously entered AppExchange information about the app.

  3. Update the necessary fields. You can add new information or edit existing information. The fields are described in the tables below. The first table indicates all the Required fields while the items in the second field are optional.



REQUIRED FIELDS

Field Name Description
Public Application Title The name of the app as you would like it to appear on the AppExchange
Application Brief Description (Abstract) A paragraph or two about what the app does and how the user benefits
Additional System Requirements Any requirements specific to your app. Examples of the type of information you may provide include required browser editions, operating systems, and add-on salesforce.com features, such as Offline Edition
Pricing Apps that are offered for sale should include the appropriate pricing information, along with contact email, URL, and phone. Alternately, apps offered free of charge should check the This Application is Free box
Select the type of Trial Experience for your application Defaults to none.


Based on numerous customer surveys we've conducted, customers look at the Demo or Test Drive to help in their decision-making before buying an app.
Test Drive: It demonstrates your application through a fully functional read-only version of the application. It allows customers to “kick the tires” by presenting data in a dynamic working environment. Test Drive is appropriate for all Force.com developed applications and some Composite applications.
If you have created a Test Drive demo of the app enter the username and password of the read-only (eval) user in this field.
Demo: You could create a demo to show everyday use of the application. Outline the functionality a user will see - show it in action! Focus on how the application interacts with Salesforce.com- do you create data in a custom object? Do you import leads? What are the steps that make this happen?
For applications that are too complicated to demonstrate through a Test Drive a Demo is a good way to demonstrate the Walkthrough of the application- “A day in the life”. It is appropriate for some composite applications and all client applications.
If you have created a Demo add the URL link to where the demo is hosted.

Select the type of Installation Experience for your application Get It Now: Deploy your custom salesforce.com application at the click of a button. This allows automatic installation of your package (you could package various elements ranging from Custom Tabs to Pre-Made dashboards). It is appropriate for all Force.com and Composite applications.


Download: If your application installs directly to the users desktop or to external services that do not use the salesforce.com interface. Example, instant messenger plug-in. Link to a landing page with more information about the download (not just a direct link to the file).
Learn More: If immediate installation of your application is not available. For example, hardware appliances, integration services, applications that require contact with direct sales or consulting services. Create a landing page to provide:

  1. Additional information about the application
  2. Sales contact information
  3. Marketing directed towards a salesforce.com customer

You can package your app and leave it private



Although the second table lists optional fields, it is highly recommended that you complete these fields as well and provide as much information as you can to market your solution.



RECOMMENDED FIELDS

Field Name Description
Application Description A paragraph or two about what the app does and how the user benefits
Feature Bullets Up to three short bullets of your app’s features
Application Images: Screenshot and Thumbnail App listings typically include a thumbnail and screenshot. These can be JPEG or GIF files. The screenshot should be no larger than 850x600; the thumbnail no larger than 165x115.) Click on the Change link to upload the image.
Application Resources: Link to a Presentation If you have prepared a Flash or other multimedia presentation, include a link in this field. For example, the link might be http://www.mycompany.com/presentation
Application Resources: Datasheet and Customization guide Click on the Change link to upload a PDF datasheet and/or customization guide. Templates for creating your guides are available in the Publisher’s Toolkit section.
Support Select all Support options you provide for your application. If you do not provide support for your application, select “Support not provided”.
Sales Information If you charge a fee for your application, you may want to provide contact information for your sales representatives. You can optionally provide your customers a phone number, email address, and/or URL to contact your sales team.
Customer Leads If you would like to receive leads from customers who have expressed interest in your application, provide the ID of the organization where you would like to receive these leads. You should only use your standard Salesforce organization or your ISV Edition Organization for this purpose.
License agreement Commercial apps must be accompanied by a License agreement. Copy and paste your agreement into the License Agreement text field in this section. If you don’t provide a custom agreement, the default salesforce.com agreement will be displayed.
Logo You can display an icon that represents your AppExchange app--much the way that icons on a PC desktop represent applications. Or you could display a banner with a slogan. To do so,


1. Click the Manage My Apps tab, then find the app you for which you wish to provide an icon.
2. Click Logo next to the app name.
3. When the Icon Upload page appears, browse to the location where the icon graphic is stored, then click Upload. Banner at Top of Lead Forms (728 x 90): This banner will be displayed on the Opt-in Lead form.
Banner at Top of Listing (728 x 90): This banner will be displayed on the top of your listing
Logo for Search and Browsing (60 x 60): Alternatively, to add your logo on the top of your listing instead of displaying a banner, upload the logo here.
Logo Thumbnail for "My Saved Apps" (24 x 24): This logo will be displayed under My Saved Apps on the AppExchange.
4. When the upload is finished, click Close.

Custom Offers You can also upload whitepapers, case studies, customer testimonials and webinars.


1. Click the Manage My Apps tab, then find the app you for which you wish to provide an icon.
2. Click Custom Offers next to the Logo link.
3. When the Custom Offers Upload page appears, upload the desired documents and then click Save.



  1. Click Save.

You'll be redirected to the private share page for your AppExchange app to view your changes.



Back to Top

4. Assigning Your App to an Exchange (Developer or Publisher Role)

You must choose to have your app listed on a specific public exchange. You can choose between exchanges listed in the Assign Exchange picklist. Each app can be assigned to only one exchange.

NOTE: The app and listing must be written substantially in the language of the locale and readers of that exchange.

  1. Click the Manage My Apps tab, then find the app you want to assign to an exchange.

  2. Click Assign next to Exchange. (See Figure 5.)

    image:image5.gif



  3. When the Assign Exchange picklist appears, choose the exchange on which you want to list your app.


    WARNING: Once you've assigned an app to an exchange, you cannot reassign the app to a different exchange.


  4. Click Assign.

Your app has been assigned to an exchange and you can now choose the app category that you'd like your app to be listed in. The status of your package is Unlisted — New.




Back to Top

5. Choosing Exchange Categories and Subcategories (Developer or Publisher Role)

You can choose to have your app listed in one or two categories associated with the exchange to which you assigned your app.

  1. Click the Manage My Apps tab, then find the app you wish to assign to one or two exchange categories or subcategories.

  2. Click Categorize next to the exchange name. (See Figure 6.)

    image:image6.gif



  3. When the App categorization page appears, click one or two boxes indicating the category/ies or subcategory/ies in which you want to list your app.

    NOTE: Once you've assigned an app to its category/ies and subcategory/ies, you can re-categorize the app until the publisher (or you, if you are the developer and the publisher) submits the app for ARB Review.

  4. Click Save.
    Your app has been assigned to and will be listed in the category/ies or subcategory/ies that you selected after it's been reviewed and approved by the ARB.

    At this point the publisher can see the Submit for Publication link.



Back to Top

6. Preparing Your App for Publication Review (Developer or Publisher Role)

In order to publicly post your app on the AppExchange, it must be submitted to and pass the Publication Review. In the review process, a three-part evaluation is performed that includes:

  • (1) Listing

  • (2) Application Installation

  • (3) Application Functionality

NOTE: You can change the app listing information and package as often as you like until you submit them for review by the ARB. After submission they are locked.

(1) Listing

Branding: We will check that the following branding is followed. While creating your listing materials please remember that "salesforce.com" is the name of our company, which is spelled with a small "s" unless it begins a sentence. "Salesforce" (always a big "S") is the name of our application.

Also the review ensures that the listing content does not contain profanity and pornography.

Test Drive (Optional Review - only if you have a Test Drive)

If your listing contains a test drive - a fully functional, read-only version of the application that gives customers a chance to "kick the tires", we will review the following:

In evaluating a test drive, the reviewer considers the completeness of the data set the most important component. All the major objects and tabs should have representative data that illustrates what a record looks like. Ideally, there are several records showing different levels of completeness. Users are not able to create or modify data during a test drive, so they must rely on sufficient information being populated in advance in order to get a realistic understanding of how they might use the app.

During the review process, dashboards and reports included with the app are checked for completeness. Keep in mind that a sparse dataset leads to sparsely populated dashboards and reports.

Test Drives for Composite Applications

image: Figure 3.JPG


For composite apps, service access should not be a separate, decoupled part of the test drive process. Exceptions may be made for situations where some information from the end user is absolutely necessary, such as a mobile phone type and number required to demonstrate mobile apps. However, in general the initiation of the test drive session (or clicking a designated tab within the test drive) should be enough to initiate communication with the external service.

The test drive user should not be expected to provide an additional username and password to access the service. Apps with this kind of requirement will not be approved for listing. Apps that take the customer to an external service from a tab should not require the entry of the customer's contact information or expose them to solicitations.


Test Drive and Get It Now Alternatives

Creating a useful test drive may not be possible for some composite applications, client applications, and hardware appliances listed on the AppExchange.

For example, some composite apps require subscriptions to external services that the user must download for the app to work. In such cases, a publisher may fulfill the test drive requirement by providing a demo. Multimedia presentations, Flash demos, or a set of captioned screenshots detailing what the app offers are all acceptable demo formats.

When an app requires that external services be accessed from outside the Salesforce interface, users should be offered the option of downloading (via the Download button) rather than clicking the standard Get It Now button to install an app. If you publish this kind of app, you must clearly state its requirements, including operating systems and versions, disk space, and any other apps and capabilities required.

In the case of appliances and services listed on the AppExchange, where there is nothing to install or download immediately, a Learn More button may take the place of the Get It Now or Download options. The Learn More button can link to a walkthrough demonstration and additional details about the product. It should not simply go to a landing page with a contact form, but it can contain links to contact information for finding out more about what is offered.



(2) Application Installation for applications built entirely on the Force.com platform (If your application is deployed using Get It Now)

The review ensures that your application:

  • Uses a unique client ID for all service calls

  • Can be installed and uninstalled in all salesforce.com instances (NA1, EMEA, and so on)

  • Supports the editions identified with the application (Team, Professional, Enterprise, and Unlimited Edition), including specific features (multicurrency, Office Toolkit, and so on)

  • Fully and accurately documents the application installation and configuration process, including any post-installation configuration steps

All applications must work in all salesforce.com instances. Applications that hardcode links to specific environments (such as NA1 or EMEA) will fail this test and be rejected.

Some applications rely on specific capabilities being present in the customer's environment. If your application relies on a particular Salesforce feature (multicurrency or team selling, for example), be sure to cover it in your Customization and Enhancement Guide or About tab documentation (see below).

Composite Applications (If your application is deployed using Get It Now)

For composite applications — those that combine native meta-data development with lower-level API calls and coding — the application review also ensures that:

  • The services accessed are clearly identified as originating from the business entities named in the publisher profile or another identified service

  • The application represents a true integration of a partner's service with the Apex platform

Simply popping your service offering into a static Web tab that you add to a salesforce.com application is not a meaningful service integration. We look for interrogation and incorporation of the customer's Salesforce data in the context of the partner's service, as well as seamlessness of bi-directional interaction.

Linking customers to anonymous data streams or intermediaries is unacceptable without proper disclosure or security oversight. All URIs should be to named services within the publisher's domain (or readily attributable to it).


Client Applications (If your application is deployed using Download)

A client application is one that runs outside the Salesforce user interface and uses only the Apex API, typically running on a desktop or mobile device (see Figure 2). If you plan to publish this kind of application, you need to clearly state the target client requirements that your application mandates (operating systems and versions, disk space, and any other applications/capabilities required).

image: Figure 2.JPG



(3) Application Functionality (If your application is deployed using Get It Now)

  • Ease of Use: If app is difficult to set up, includes documentation providing clear adequate instructions.
  • Ease of Use: Application or component functionality works as you'd assume it was intended.
  • All features work as expected:
    • Can create new records in each tab
    • Can link new recordsd.
    • Can use all custom links and s-controls.
  • As a brand new user, you can use the entire app either intuitively or using the provided documentation.
  • For External Service listings only: Click All URLs. URLS access known, legitimate, or appropriate-looking services, and don't lead to profanity or pornography.



Back to Top



7. Tracking the Status of Your Apps During Publishing (Developer or Publisher Role)

There are three major phases to the publishing process: creating a publisher profile and associating the profile with your app, preparing and submitting your app for Review (Security and Publication), and then posting and updating your app on the AppExchange after approval. The status of your app changes as it progresses through the publishing cycle is displayed on the My AppExchange page on the Manage My Apps tab. The status definitions are shown below.

Status Description
New The app has not been submitted for public listing yet; it is a private app.
Security Review in Progress You have built your app, completed the security questionnaire and submitted it for security review. You can continue building your listing in this status.
Security Review Completed Security Review is complete. An email with the results will be sent to you. If you were not approved, status will be reverted to New. You can continue building your listing in this status.
Publication Review in Progress The app has been submitted and is being reviewed for Publication. This status link will only appear once you have passed Security Review. If you haven’t completed the security review you will see Submit for Security Review. Visit Security Review for more details.
Approved The app has been reviewed and accepted for posting to the AppExchange. It can be listed.



Back to Top

8. Submitting Your App for Publication Review (Publisher Role)

Submit the app for Publication Review after the following have been done:

  • the developer has assigned a publisher profile to the app
  • your app's listing information has been finalized
  • your app has been assigned to an exchange and at least one category or subcategory
  • you have completed your security review
  • your app is fully ready for Publication Review and complies with the AppExchange requirements (see Step 6 above)


After completing these requirements, you are ready to submit your app.

  1. Click the Manage My Apps tab, then find the app that you wish to submit for review.

  2. Under Status, click Submit for Publication Review. (See Figure 7.)

    Image:image8.gif



  3. Review and agree to the terms of use by selecting the checkbox.

  4. Click Submit for Publication.
    The status of your app changes from Unlisted — New to Unlisted — Submitted.

NOTE: Once your app is submitted for review, both the package and the listing are locked and cannot be edited.


We will review your app shortly and send you an email when the review is complete. The email will inform you whether your app has been approved for posting to the AppExchange or requires further work before you submit it again for review.


Back to Top

9. Publicly Listing Your App on the AppExchange After Approval (Publisher Role)

When your app is approved, you will receive an email letting you know that the ARB has approved it for posting to the AppExchange. On the Manage My Apps tab, the app status is set to Unlisted - Approved. You can now see a Listed checkbox at the far right of the app name.

  • To post your listing, click the Listed checkbox. (See Figure 8.)

Image: image9.gif



The app is made public and will appear on the AppExchange within a short time.


NOTE: If you unclick the Listed checkbox, your app will be unposted and not be seen on the AppExchange directory. However, your app will remain in Approved status. To repost your app to the the AppExchange directory, click the Listed checkbox.


If you are a developer providing your app using a managed package, you will receive notification of all app installs, upgrades, and uninstalls in real time through the License Management app.



Back to Top

10. Associating a License Management Organization (LMO)

The License Management Application (LMA) easily allows you to track installation and upgrades of the managed packages created by your organization. The LMA must be installed in the publisher's production or development organization before uploading the managed package to the AppExchange. Check out the LMA 2.0 Overview for more details:

  • LMA 2.0 Overview - Overview of License Management App 2.0, includes a great demo of associating the License Management Org (LMO) and managing customer licenses (Recorded Webinar)



The LMA helps you

  • Track all of your managed packages that are uploaded to the AppExchange
  • Track all versions of a managed package and know who installs a particular version of the package
  • Manage the leads that are automatically created when an installer installs your managed package from the AppExchange


Visit here to download and install the LMA. Click on Get It Now to deploy the application into your org.



Prior to Winter 08 you were required to associate an LMO with a package prior to uploading it. This is now an optional step. You can upload as many versions as you want before you start tracking the licenses for those packages in your LMO. You may also have versions after you start tracking licenses for.

Select the “Manage My Apps” tab from My AppExchange. Find the app that you want to set or view the License Management Organization (LMO) for. Select the link titled “view” next to License Management Organization. If the LMO has already been set, it will be displayed. If there is no LMO you will have the ability to set one.

  • Note: You must always register an uploaded version in order to track licenses for that version.



Image:LMO.jpg



Back to Top