Packaging and Publishing a CTI Adapter
Once you have finished updating your CTI connector code, you can package it into a fully functional CTI adapter and publish it on the AppExchange.
Packaging a CTI Adapter
To package your CTI connector code into a CTI adapter:
1. Update the GetAdapterName() and GetAdapterVersion() methods in your COM base class as appropriate. See
Steps 6 and 7 in Adding a COM Base Class to a CTI Connector Project on page 25 for details.
2. Verify that you have specified a valid client key in CTIAppExchange.h. For more information, see Specifying a Valid
CTI Client Key on page 21.
3. Compile the CTI connector into a .dll and test it with the Call Center Edition SoftPhone connector.
4. Bundle the required files to create a complete CTI adapter package. While the contents of a CTI adapter code package will vary, all CTI adapter code packages include the following:
The SoftPhone connector executable (SalesforceCTI.exe)
The SoftPhone connector portion of a SoftPhone CTI adapter. This file comes as a pre-compiled executable with the logo.
Your CTI connector .dll (<your_cti_system_adapter_name>.dll
The .dll component that makes up your customized CTI connector Any dynamically-linked libraries that are required for the CTI system
Most CTI adapter implementations require additional CTI-system-specific .dll files to enable communication.
The salesforce.com Office Toolkit Library (SF_MSApi4.dll)
The .dll component that is required to access the Salesforce Apex API. Microsoft XML Library 6 (msxml6.dll and msxml6r.dll)
The .dll files that enable the SoftPhone connector to translate the SoftPhone user interface XML into HTML.
A default call center definition file (<your_cti_system_adapter_name>.xml)
The default call center definition file for a call center that uses your custom adapter. For more information, see Call Center Definition Files on page 49.
5. Create an installer for the CTI adapter package. To rapidly deploy the adapter to all machines in a call center at once, generate an .msi file that can be used with your preferred Software Management System.
Publishing a CTI Adapter on the AppExchange
You can publish customized CTI adapters on the AppExchange so that other Salesforce users can purchase and use them in their own organizations. To do so you'll need to perform the following tasks. Each task is further detailed in the sections that follow:
1. Decide who will be the developer and publisher. 2. (Developer) Request a blank listing for your adapter. 3. (Publisher) Create a publisher profile.
4. (Developer) Associate a publisher profile with your listing. 5. (Developer or publisher) Edit your listing.
6. (Developer or publisher) Assign your listing to an Exchange and category.
7. (Developer or publisher) Prepare your listing for the AppExchange Application Review Board (ARB). 8. (Publisher) Submit your listing to the ARB.
9. (Publisher) Publicly display your listing on the AppExchange after approval.
Determining the Developer and Publisher Roles for your Listing
Every AppExchange listing is associated with two roles: The Developer
Manages the CTI adapter installation package and optionally assigns the publisher role to another person The Publisher
Manages the content of the CTI adapter listing and acts as the point person for the listing's ARB review The developer and the publisher can be the same person, but typically the developer is the person who built the CTI adapter while the publisher is a member of an organization's marketing department. Only the developer can assign or change the designated publisher for a listing.
(Developer) Requesting a Blank Listing
Because a CTI adapter installation package is not a traditional AppExchange app, the developer must first request a blank listing to publish it on the AppExchange:
1. Log in to www.AppExchange.com by clicking AppExchange Login at the top of the page. Use your Salesforce username and password.
2. Read and accept the terms of use and click Continue.
3. In the Manage My Apps tab, click Request Assistance. In the email form that appears, specify that you want to post a new CTI adapter and that you need a blank AppExchange listing. A salesforce.com representative will contact you when the listing becomes available in your AppExchange account.
(Publisher) Creating a Publishing Profile
A listing's publishing profile identifies the person or organization responsible for supporting the product featured in the listing. When visitors view a CTI adapter listing on the AppExchange, they see its publishing profile's name, description, and public information in the Publisher tab of the listing.
The publisher is responsible for creating the publishing profile:
1. Log in to www.AppExchange.com by clicking AppExchange Login at the top of the page. Use your Salesforce username and password.
2. Click the Manage My Publishing Profile tab. 3. Click Create a Profile.
4. Enter profile information according to the table below:
Publicly or Privately Viewable Description
Field Name
Private The publisher's username
Username
Private The publisher's phone number
Phone
Public The name of the individual or
organization responsible for supporting the CTI adapter
Publisher Name
Public A description of the publisher or
publisher's organization
Publisher Description
Public A website that users can visit to learn
about the publisher's organization
Web Site URL
Public A website that users can visit for CTI
adapter support
Support URL
Public The phone number of the publisher or publisher's organization
Contact Phone
5. Click Save.
(Developer) Associating a Publisher Profile with a Listing
An AppExchange listing must be associated with a publisher profile before it can be submitted for ARB review. Only the developer can change the publisher profile for a listing:
1. Click the Manage My Apps tab, then find the title of the listing for your CTI adapter. 2. Click Change Publisher.
3. If you assumed both the developer and publisher roles for this listing, select My Publisher Profile. If there is a separate
publisher for this listing, select Name and enter their Salesforce username (for example, [email protected]).
4. Click Assign Publisher.
When you enter the username for a valid publisher, the publisher will see the listing on their Manage My Apps tab. The publisher can then carry out the appropriate tasks as described in the remainder of this chapter.
If you specify an invalid publisher username, your listing cannot be submitted for ARB review.
(Developer or Publisher) Editing a Listing
To edit the content of your CTI adapter listing:
1. Click the Manage My Apps tab, then find the title of the listing for your CTI adapter. 2. Click Edit.
3. Enter listing information according to the table below:
Description Field Name
The name of your CTI adapter as you would like it to appear on the AppExchange (for example, "Acme CTI Adapter For Cisco IPCC Enterprise").
Public Application Title
Description Field Name
A brief summary of what your CTI adapter does. This abstract is limited to 255 characters.
Application Abstract
A longer description of what your CTI adapter does and how a user can benefit from it. In writing your description, please note the following:
Application Description
• Avoid the use of marketing terms, value judgments, jargon, and exaggerated claims.
• Provide contact information for at least one support channel, including a valid email address, phone number, or a URL that points to a contact form.
• Limit your description to 1200 characters.
Up to three short statements about the main features of your CTI adapter. This is a good place to highlight what makes
Feature Bullets
your CTI adapter different from others that are currently available.
The Salesforce Editions that are compatible with your CTI adapter.
Compatible salesforce.com editions
Any requirements specific to your CTI adapter, such as supported browsers, call center systems, operating systems,
Additional System Requirements
minimum memory, and add-on Salesforce features, such as Territory Management.
A screenshot that illustrates your CTI adapter . Screenshots should be no larger than 850 x 600 pixels. Click Change to upload an image.
Screenshot
A smaller version of your screenshot. Thumbnails should be no larger than 165 x 115 pixels. Click Change to upload an image.
Thumbnail
A link to a Breeze, Flash, or other online presentation that showcases your CTI adapter (for example,
http://www.mycompany.com/cti_adapter_presentation).
Link to Presentation
A PDF datasheet that includes highlights of your CTI adapter at a glance. A Microsoft Word® template for this
Datasheet
datasheet is available at
http://www.salesforce.com/appexchange/how_to_publish.com. Click Change to upload a datasheet.
A PDF guide that highlights implementation and customization details for your CTI adapter. Click Change to upload a customization guide.
Customization Guide
Not applicable
Demo User Name
Not applicable
Demo Password
If you are offering your CTI adapter for no charge, include a statement to this effect. If you are selling your CTI adapter:
Sales Pricing Info
• Specify the cost and pricing structure (such as
subscription, per seat license fee, or a one-time license). Publishing a CTI Adapter on the AppExchange
Description Field Name
• If users are eligible for a free trial before prices take effect, say so, but make it clear that you offer a fee-based service. • If pricing is variable or only established via
communication with a sales representative, provide those details.
The email address of a sales contact at your organization.
Sales Contact Email
The URL for a page where users can purchase your CTI adapter.
Sales Contact URL
The phone number of a sales contact at your organization.
Sales Contact Phone
Your organization's licensing agreement text if you are selling your CTI adapter. If you do not provide text, the default AppExchange agreement is displayed.
License Agreement
4. Click Save. A preview of your listing displays.
5. Click Manage to return to the My AppExchange listing window.
6. Click Logo next to the name of your listing. Browse to a .gif, .jpg, or .png file that includes your company's logo and is exactly 60 x 60 pixels.
7. Click Upload and then click Close.
(Developer or Publisher) Assigning a Listing to an Exchange and Category
An AppExchange listing must be associated with a particular exchange, such as the US exchange, and a category: 1. Click the Manage My Apps tab, then find the title of the listing for your CTI adapter.
2. Next to the Exchange heading, click Assign.
3. Select the exchange on which you want to list the CTI adapter. Once you make this selection, you cannot reassign the listing to a different exchange.
4. Click Assign. 5. Click Categorize.
6. Select the Contact Centers category under Service & Support.
7. Click Save.
(Developer or Publisher) Preparing a Listing for ARB Review
To publicly post your listing on the AppExchange, you must first submit it to the Application Review Board (ARB) for review. In this process, the ARB evaluates your listing based on:
• Functionality
• Your online presentation/demo • Supporting documentation Functionality Requirements
When the ARB receives a listing, they first perform a functionality review. To perform this review, they will contact you to gain access to your CTI adapter installation package and then review it to ensure your adapter:
• Uses a unique client ID for all API calls
• Supports the editions identified in your listing (Group, Professional, Enterprise, and Unlimited)
• Supports your stated minimum requirements for operating systems and versions, disk space, and any other applications or capabilities
• Displays the same look-and-feel as other Salesforce applications • Includes functionality that is both user-friendly and bug-free Online Presentation Requirements
Because users cannot test drive your CTI adapter in the same way that they can demo other applications listed on the AppExchange, you must provide the URL for a Breeze presentation, Flash demo, or a set of captioned screenshots that detail what your CTI adapter offers.
Documentation Requirements
A CTI adapter must be accompanied by documentation that clearly explains how to install and use it. When writing your listing and providing documentation for your adapter, note the following:
• Avoid submitting documentation that provides overly confusing or complex directions. Such documentation will not pass review.
• Avoid the use of marketing terms, value judgments, jargon, and exaggerated claims. Marketing-centric descriptions that use comparative terms such as "premier" and "best of breed" are not useful.
• Provide contact information for at least one support channel, including a valid email address, phone number, or a URL that points to a contact form.
(Publisher) Submitting a Listing to ARB Review
Once you have finalized the information that you want to feature on your listing, you can submit it to the Application Review Board (ARB) for review:
1. Click the Manage My Apps tab, then find the title of the listing for your CTI adapter. 2. Click Submit for Publication.
3. Review and agree to the terms of use. 4. Click Submit for Publication again.
Note: Once you have submitted your listing, you will no longer be able to make any changes to its content.
Once your listing is submitted, the ARB will contact you to gain access to your CTI adapter installation package and to follow up with additional listing questions that are not specified on the standard listing form.
(Publisher) Posting an Approved Listing on the AppExchange
When your listing has been approved by the ARB, you can post it publicly on the AppExchange. To do so: 1. Click the Manage My Apps tab, then find the title of the listing for your CTI adapter.
2. Select the Listed checkbox that now appears.
Your listing is made public and appears on the AppExchange within a short time.
(Publisher or Developer) Editing or Deleting a Public Listing
To modify a listing that has already been published on the AppExchange:
1. Click the Manage My Apps tab, then find the title of the listing for your CTI adapter.
2. Click Change Listing Info.
3. Fill out the form that appears and include all changes that you want to make in the Comments field.
4. Click Submit.
Depending on the extent of the changes that you want to make, the ARB will either make the edits you request, or they will unlock your listing so that you can edit it yourself.
Note: Every time you edit your listing, you must resubmit it for ARB review.
To delete a listing that has been published on the AppExchange:
1. Click the Manage My Apps tab, then find the title of the listing for your CTI adapter. 2. Click Delete next to the adapter name, then click Delete again to confirm.
Note: If you want to repost a listing after deleting it, you must resubmit your listing beginning with the first step of the publishing process.