Requirements: Difference between revisions

From Thunderforce
Jump to navigation Jump to search
Line 67: Line 67:
[[Image:Messagefilters-replies-mockup.png|thumb|right|300px|Message filter that moves known message replies on Salesforce.com email to that object in Salesforce.com]]
[[Image:Messagefilters-replies-mockup.png|thumb|right|300px|Message filter that moves known message replies on Salesforce.com email to that object in Salesforce.com]]
[[Image:Messagefilter-cases-mockup.png|thumb|right|300px|Mock-up of a message filter that creates new cases from incoming email from known contacts and people and then assigns them using "Justin Case's Assignment Rule"]]
[[Image:Messagefilter-cases-mockup.png|thumb|right|300px|Mock-up of a message filter that creates new cases from incoming email from known contacts and people and then assigns them using "Justin Case's Assignment Rule"]]
*New filter criteria fields are added:
**In-Reply-To, References, and Salesforce ID (from a "hidden" <div> HTML tag)
*New filter matching conditions are added:
**matches: Condition is true when the filter criteria field matches a value in Salesforce.com
***Added to From, To, Cc, To or cc, Subject, In-Reply-To, References, and Salesforce ID
**doesn't match: Condition is true when the filter criteria field does not match a value in Salesforce.com
***Added to From, To, Cc, To or cc, Subject, In-Reply-To, References, and Salesforce ID
*New filter matching values are added for when "match" or "doesn't match" is the operator:
**For In-Reply-To, References, and Salesforce ID:
***Any Salesforce.com Email, Account Email, Campaign Email, Case Email, Contact Email, Contract Email, Opportunity Email, Product Email, Solution Email
**For Subject:
***Salesforce.com Case Number
**For From, To, Cc, and To or cc:
***Salesforce.com Contact, Salesforce.com Lead, Salesforce.com Person, Salesforce.com User
*New filter actions are added:
**Use Case Assignment Rule: Lets the user set which case assignment rule to use. At the top of the list, "Default Case Assignment Rule" exists above a horizontal break to indicate the use of the default case assignment rule
**Use Lead Assignment Rule: Lets the user set which lead assignment rule to use. At the top of the list, "Default Lead Assignment Rule" exists above a horizontal break to indicate the use of the default lead assignment rule
*When a message is matched with a Salesforce.com object, that object's ID is set in the message's X-Salesforce-Id header so that subsequent actions don't need to re-match
*Assignment rule settings from a rule are noted in the X-Salesforce-Case-AssignmentRule or X-Salesforce-Lead-AssignmentRule as appropriate so that a subsequent move or copy to Salesforce.com will invoke that rule
*Messages moved to the top-level "Salesforce.com" folder will associate themselves with the object matched in X-Salesforce-Id
*For security, X-Salesforce-Id and other related headers will be stripped from incoming messages before filter processing so that outsiders cannot set it themselves (Thunderbird likely does this for its X-Mozilla-Status and related headers)
*Add a convenient "Generate..." button to the message filters list window that lets users create typical Salesforce.com message filter rules automatically. Clicking on "Generate..." will display a menu with the following items:
==Offline Mode==
For those times when network connectivity is limited or not desired, Thunderbird supports an offline mode that works off of its local caches. Thunderforce will use this existing framework to permit offline use of Salesforce.com in addition to a limited number of actions that synchronize back to Salesforce.com when Thunderbird leaves its offline mode.
*This could also apply when an Internet connection is up, but, for whatever reason, Salesfore.com is not accessible due to a local firewall configuration problem or something (Salesforce.com itself has an extremely high level of uptime and can be practically assumed to be always available when one's local network is configured properly)

Revision as of 23:03, 29 April 2007

This page lists the present set of features for Thunderforce.

Note that none of these features are actually implemented yet. These are only ideas for features.

Note: Also check out the quality attributes of Thunderforce.

Account Type

Present Salesforce.com as a Thunderbird account type

Mock-up of the main window showing Salesforce.com folders that can contain email attachments
  • Account creation wizard tie-in
    • Configuration will be kept to a minimum
    • Possibly support storing Thunderforce configuration elements in an "ini" file in the user's documents and sync with the local Thunderforce configuration in the user's Thunderbird profile for easy multi-computer use?
  • Account properties page for Salesforce.com accounts
  • Folder views for each entity type that supports email attachments
    • Entity types, whose presences can be toggled in the account properties (only those that the user has access to can be shown)
      • Accounts, Campaigns, Cases, Contacts, Contracts, Opportunities, Products, Solutions
    • Matches emails to their entity rows automatically using case number, subject, In-Reply-To (needs investigation), References, or "hidden" Salesforce object id in a <div> HTML tag
    • When an email cannot be matched, it's added as a new entity of the type that the message was copied into
    • Entity columns are eligible to be shown as columns in each entity type's folder. Important columns for each entity type are shown by default
    • Record types appear as subfolders of an entity when access to more than one exists on an entity
    • Use the icons from the tabs for the entities, permitting alternative entity icons to propagate to Thunderforce
  • Email template folders are shown as subfolders to a "Templates" folder
  • Attachments to objects are stored as .eml files, which can be opened in Thunderbird, Outlook, Outlook Express, and other clients
  • Drafts are stored in the user's personal folder as .eml documents and differentiated from other emails in a user's document folder by the X-Mozilla-Draft-Info header
  • Document folders that the user has access to are shown as subfolders to a "Documents" folder
    • The list view shows documents that are .eml files along with their message details
    • This can be used to share important emails between teams using Salesforce.com as a shared mail server, analogous to Microsoft Exchange's public folders
  • Add each Salesforce.com account as an outgoing mail server
  • Use Salesforce.com as the default outgoing mail server to contacts, leads, and users
  • Use the default outgoing mail server for other mail, though this is configurable
  • Use the top-level /favicon.ico file from Salesforce.com as the Salesforce.com logo, permitting future logo changes to propagate to Thunderforce
  • Message flags are preserved with messages in Salesforce.com views and folders, including read/not-read, tag, replied/not-replied, and others with the X-Mozilla-Status and X-Mozilla-Status2 message headers
  • Escalated cases can automatically set a Thunderforce tag on a message, such as "Important"

Address Book

Present Salesforce.com as a Thunderbird address book data source for each Salesforce.com account

  • Support the following entities in the address book as cards. By default, all are on. Only those that the user has access to will show up
    • Contacts, Leads, People (person accounts), Campaigns (not a list because that could potentially create a huge list), Users
  • Support the following entities in the address book as lists. These can be enabled or disabled in the configuration. By default, all are on. Only those that the user has access to will show up
    • Accounts, Cases, Opportunities, Contracts, Roles, Profiles, Solutions, Products, Custom Objects
  • Use the icons from the tabs for the entities, permitting alternative entity icons to propagate to Thunderforce
  • Show additional columns in the address book list for Salesforce.com
    • Type (the entity type), Account (might reuse/rename the "Organization" column for this), Role (might use the "Title" column), Profile, and, possibly, anything that the user wants to add (perhaps set up in the configuration?)
  • Add "Salesforce.com Account:" and an account drop-down box into Thunderbird's "Address Autocompletion" preferences after "Directory Server" and enable by default. This is both for global and for the Salesforce account preferences
  • Editing an entity brings up that record in a pop-up window using the Salesforce.com web-based user interface. After saving the record, the window is closed automatically using injected JavaScript code. A "Cancel" button is injected into the page to close the window without saving changes when clicked on. Saving the changes to an entity in this manner causes the Thunderforce cache to fetch the new values for that object immediately

Message Composition

Mock-up of the compose window showing objects that can be contacted
  • Associate an email with an entity and/or send a mass mailing by using the appropriate objects from the Salesforce.com address book
    • When the message is sent, the associations are managed automatically
    • Mail merge might be added, though it needs more thought
  • If no Salesforce.com object information exists in To, From, Bcc, etc, it's automatically matched to the appropriate lead, contact, person, or user on replies and forwards when the message window is opened
    • This can happen if a user sends a message directly to the user's non-Salesforce.com inbox, and no filter rule automatically created a Salesforce.com object for that message
  • Automatic lookup of a Salesforce.com entity when typing a name in To, From, Bcc, etc
    • This is accomplished with Thunderbird's address autocompletion
    • Limits the query rate to once every three seconds and at least one second after the last character was typed
  • Create a new entity and associate a message with that entity with a toolbar button that has a drop-down menu of entity types, such as "Create Lead"
    • Clicking on the "create" button directly instead of the adjacent menu arrow will follow a heuristic to determine which entity type is most appropriate. This needs to be elaborated upon
  • The "attach" button will have "Salesforce.com Document" and "Salesforce.com Email Message" options in the drop-down menu that permit the user to select and attach a document or email message on Salesforce.com
    • Documents that live on other servers via the URL field will be supported, too, as a result of Thunderbird being built on top of the Mozilla platform
  • The message signature file can exist on Salesforce.com; it does not have to be a local file, but can be

Message Filters

Automatic processing of incoming messages is handled by message filters in Thunderbird. Thunderforce will extend it by adding new filtering possibilities while giving end-users wide flexibility in how to route incoming email.

Mock-up of the message filters window showing the "Generate" button
Message filter that moves known message replies on Salesforce.com email to that object in Salesforce.com
Mock-up of a message filter that creates new cases from incoming email from known contacts and people and then assigns them using "Justin Case's Assignment Rule"
  • New filter criteria fields are added:
    • In-Reply-To, References, and Salesforce ID (from a "hidden" <div> HTML tag)
  • New filter matching conditions are added:
    • matches: Condition is true when the filter criteria field matches a value in Salesforce.com
      • Added to From, To, Cc, To or cc, Subject, In-Reply-To, References, and Salesforce ID
    • doesn't match: Condition is true when the filter criteria field does not match a value in Salesforce.com
      • Added to From, To, Cc, To or cc, Subject, In-Reply-To, References, and Salesforce ID
  • New filter matching values are added for when "match" or "doesn't match" is the operator:
    • For In-Reply-To, References, and Salesforce ID:
      • Any Salesforce.com Email, Account Email, Campaign Email, Case Email, Contact Email, Contract Email, Opportunity Email, Product Email, Solution Email
    • For Subject:
      • Salesforce.com Case Number
    • For From, To, Cc, and To or cc:
      • Salesforce.com Contact, Salesforce.com Lead, Salesforce.com Person, Salesforce.com User
  • New filter actions are added:
    • Use Case Assignment Rule: Lets the user set which case assignment rule to use. At the top of the list, "Default Case Assignment Rule" exists above a horizontal break to indicate the use of the default case assignment rule
    • Use Lead Assignment Rule: Lets the user set which lead assignment rule to use. At the top of the list, "Default Lead Assignment Rule" exists above a horizontal break to indicate the use of the default lead assignment rule
  • When a message is matched with a Salesforce.com object, that object's ID is set in the message's X-Salesforce-Id header so that subsequent actions don't need to re-match
  • Assignment rule settings from a rule are noted in the X-Salesforce-Case-AssignmentRule or X-Salesforce-Lead-AssignmentRule as appropriate so that a subsequent move or copy to Salesforce.com will invoke that rule
  • Messages moved to the top-level "Salesforce.com" folder will associate themselves with the object matched in X-Salesforce-Id
  • For security, X-Salesforce-Id and other related headers will be stripped from incoming messages before filter processing so that outsiders cannot set it themselves (Thunderbird likely does this for its X-Mozilla-Status and related headers)
  • Add a convenient "Generate..." button to the message filters list window that lets users create typical Salesforce.com message filter rules automatically. Clicking on "Generate..." will display a menu with the following items:

Offline Mode

For those times when network connectivity is limited or not desired, Thunderbird supports an offline mode that works off of its local caches. Thunderforce will use this existing framework to permit offline use of Salesforce.com in addition to a limited number of actions that synchronize back to Salesforce.com when Thunderbird leaves its offline mode.

  • This could also apply when an Internet connection is up, but, for whatever reason, Salesfore.com is not accessible due to a local firewall configuration problem or something (Salesforce.com itself has an extremely high level of uptime and can be practically assumed to be always available when one's local network is configured properly)