Changes between Version 32 and Version 33 of TicketToSalesforcePlugin
- Timestamp:
- Jul 22, 2015, 10:56:18 AM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TicketToSalesforcePlugin
v32 v33 1 1 [[PageOutline(2-5,Contents,pullout)]] 2 2 3 = Trac Ticket to Salesforce ticket synchronization =3 = Trac Ticket to Salesforce ticket synchronization 4 4 5 == Description ==5 == Description 6 6 7 Maintain synchronization of Trac tickets in Salesforce. Trac tickets are 8 reflected by the Salesforce custom objects, Ticket and Comment. 9 Ticket objects are linked to Cases via M2M relationship provided by 10 the !CaseTicketLink custom object. Even though this is a M2M relation, 11 Trac uses a custom text field for the Case number, so it's essentially 12 many-to-one. 7 Maintain synchronization of Trac tickets in [www.salesforce.com Salesforce]. Trac tickets are reflected by the Salesforce custom objects, Ticket and Comment. 8 Ticket objects are linked to Cases via M2M relationship provided by the !CaseTicketLink custom object. Even though this is a M2M relation, 9 Trac uses a custom text field for the Case number, so it's essentially many-to-one. 13 10 14 Comment objects are related to Ticket objects via the link custom 15 object, !TicketCommentLink. The related lists layouts are modified to 16 display the related object fields rather then the object id. 11 Comment objects are related to Ticket objects via the link custom object, !TicketCommentLink. The related lists layouts are modified to display the related object fields rather then the object id. 17 12 18 13 See the [#ModuleDependencies Module Dependencies] required. 19 14 20 This plugin comes with some Salesforce artifacts that are installed 21 to your Salesforce org via an Ant script, using custom Ant tasks from Salesforce. 22 There are four custom objects - `Ticket`, `Comment`, `CaseTicketLink`, `TicketCommentLink`; 23 and four custom layouts - `Case Layout`, `Ticket Layout`, `Comment Layout` and 24 `TicketCommentLink Layout`. The `Case Layout` is the default, out-of-the-box 25 `Case Layout` with an additional related list - "Tickets" appended; so if you already 26 have a customized `Case Layout`, you may want to modify the included `package.xml` 27 to omit the `Case Layout` and manually add the `Tickets` related list to your `Case Layout`. 28 The three other layouts are completely new and can be safely added regardless of 29 existing customizations. 15 This plugin comes with some Salesforce artifacts that are installed to your Salesforce org via an Ant script, using custom Ant tasks from Salesforce. There are four custom objects - `Ticket`, `Comment`, `CaseTicketLink`, `TicketCommentLink`; and four custom layouts - `Case Layout`, `Ticket Layout`, `Comment Layout` and `TicketCommentLink Layout`. The `Case Layout` is the default, out-of-the-box `Case Layout` with an additional related list - "Tickets" appended; so if you already have a customized `Case Layout`, you may want to modify the included `package.xml` to omit the `Case Layout` and manually add the `Tickets` related list to your `Case Layout`. The three other layouts are new and can be safely added, regardless of existing customizations. 30 16 17 The "migration tool" is just a set of Salesforce-specific Ant tasks which use the metadata API to upload/download artifacts, such as custom objects, etc. 31 18 32 The "migration tool" is just a set of Salesforce-specific Ant tasks 33 which use the metadata API to upload/download artifacts, such as 34 custom objects, etc. 35 36 I provide an Ant script to perform the deployment. You need to 37 acquire the ''ant-salesforce.jar'' by following these steps: 19 I provide an Ant script to perform the deployment. You need to acquire the ''ant-salesforce.jar'' by following these steps: 38 20 39 21 1. Log into a Salesforce.com org on your deployment machine. 40 1. Click Your Name ➤ Setup ➤ Develop ➤Tools, and then click Force.com Migration Tool.22 1. Click Your Name > Setup > Develop > Tools, and then click Force.com Migration Tool. 41 23 1. Save the .zip file locally and extract the contents to the directory of your choice. 42 1. Copy ant-salesforce.jar into your Ant installation's lib directory. 43 The lib directory is located in the !root folder of your Ant installation. You could 44 also just copy this jar to the same directory as build.xml 24 1. Copy ant-salesforce.jar into your Ant installation's lib directory. The lib directory is located in the !root folder of your Ant installation. You could also just copy this jar to the same directory as build.xml. 45 25 1. Install the custom objects and custom page layouts into your Salesforce org. 46 1. Copy `trunk/src/trac/plugin/ticket2sforce.py` to `trac/projects/<yourproj>/plugins` 47 1. Generate the partner WSDL and copy it into your `trac/projects/<yourproj>/conf` 48 directory 49 1. Edit trac.ini to enable the ticket2sforce component as well as setting the web 50 service API credentials. 26 1. Copy `trunk/src/trac/plugin/ticket2sforce.py` to `trac/projects/<yourproj>/plugins`. 27 1. Generate the partner WSDL and copy it into your `trac/projects/<yourproj>/conf` directory. 28 1. Edit your `trac.ini` file to enable the ticket2sforce component as well as setting the web service API credentials. 51 29 52 30 To install the custom objects and page layouts: … … 56 34 }}} 57 35 58 == Bugs/Feature Requests ==36 == Bugs/Feature Requests 59 37 60 38 Existing bugs and feature requests for TicketToSalesforcePlugin are … … 62 40 63 41 If you have any issues, create a 64 [ http://trac-hacks.org/newticket?component=TicketToSalesforcePlugin&owner=chriswolfnew ticket].42 [/newticket?component=TicketToSalesforcePlugin new ticket]. 65 43 66 == Download == 44 [[TicketQuery(component=TicketToSalesforcePlugin&group=type,format=progress)]] 45 46 == Download 67 47 68 48 Download the zipped source from [download:tickettosalesforceplugin here]. 69 49 70 == Source ==50 == Source 71 51 72 52 You can check out TicketToSalesforcePlugin from [http://trac-hacks.org/svn/tickettosalesforceplugin here] using Subversion, or [source:tickettosalesforceplugin browse the source] with Trac. 73 53 74 == Module Dependencies ==54 == Module Dependencies 75 55 76 56 * '''sforce''', salesforce-python-toolkit, http://code.google.com/p/salesforce-python-toolkit/ … … 78 58 * [wiki:XmlRpcPlugin XML-RPC Plugin] 79 59 80 == Example == 81 Example settings in trac.ini are: 60 == Example 61 62 Example settings in `trac.ini` are: 82 63 83 64 {{{#!ini … … 101 82 }}} 102 83 103 == Known Issues == 104 * Even though the case number is numerical, you must enter it with whatever leading zeros are 105 configured in Salesforce for this field, since the query treats this as a string 84 == Known Issues 106 85 107 * This plugin comes with a `TicketValidator` which checks if the entered case number actually 108 exists in Saleforce, but also if case number is blank - so if you are using the 109 [wiki:TicketValidatorPlugin] you will !get two warning messages, 110 "case number required" upon attempting to submit a ticket without a case number. 86 * Even though the case number is numerical, you must enter it with whatever leading zeros are configured in Salesforce for this field, since the query treats this as a string. 87 * This plugin comes with a `TicketValidator` which checks if the entered case number actually exists in Saleforce, but also if case number is blank - so if you are using the [wiki:TicketValidatorPlugin] you will !get two warning messages, "case number required" upon attempting to submit a ticket without a case number. 111 88 112 == Screen Shots ==89 == Screen Shots 113 90 114 91 See [attachment:ticket_view.png] and [attachment:case_view.png]. 115 92 116 == Author/Contributors == 93 == Recent Changes == 94 95 [[ChangeLog(tickettosalesforceplugin, 3)]] 96 97 == Author/Contributors 117 98 118 99 '''Author:''' [wiki:chriswolf] [[BR]] 119 '''Maintainer:''' [ wiki:chriswolf] [[BR]]100 '''Maintainer:''' [[Maintainer]] [[BR]] 120 101 '''Contributors:'''