Requirements: Difference between revisions
Line 8: | Line 8: | ||
==Account Type== | ==Account Type== | ||
[[Image:Main-window-mockup.png|thumb|right|300px|Mock-up of the main window showing Salesforce.com folders that can contain email attachments]] | |||
Present Salesforce.com as a Thunderbird account type | |||
*Account creation wizard tie-in | *Account creation wizard tie-in | ||
**[[Configuration keys|Configuration]] will be kept to a minimum | **[[Configuration keys|Configuration]] will be kept to a minimum |
Revision as of 23:57, 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
- 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
- Entity types, whose presences can be toggled in the account properties (only those that the user has access to can be shown)
- 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"
- Optional columns in all email views, which grab their Salesforce.com IDs from the X-Salesforce-Id message header. These will also exist in other folder views, including IMAP and POP account folders
- Matched Object: The name of the object that the email is matched with
- Matched Type: The type of object that the email is matched with
- Matched Id: The Salesforce.com ID of the object that the email is matched with
- Toolbar buttons for matching and unmatching an email message with a Salesforce.com object
- By default, automatic matching is performed, but a drop-down menu arrow next to the button permits manual matching and matching with a new object. Manual matching takes place within a pop-up window showing the Salesforce.com user interface and injected "Match and Move Email Message," "Match and Copy Email Message," and "Match Email Message" buttons on eligible objects, depending on access permissions and Thunderforce preferences
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
- 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.
- 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
- matches: Condition is true when the filter criteria field matches a value in Salesforce.com
- 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
- For In-Reply-To, References, and Salesforce ID:
- 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:
- Move matched replies to Salesforce.com: Moves messages that are matched with a Salesforce.com object into Salesforce.com. Note that the "new" status is not changed unless if the user specifies that in the rule's actions, so Thunderbird will appropriately increment the number of new messages in the entity folder that the message was moved to, which depends on the type of entity that the message was matched to
- Copy matched replies to Salesforce.com: Same as above, but copies the message instead of moving it
- Move new cases to Salesforce.com: Messages from a known customer are moved to Salesforce.com as new cases
- Copy new cases to Salesforce.com: Same as above, but copies the message instead of moving it
- Move new leads to Salesforce.com: Messages from people who are not in Salesforce.com are moved to Salesforce.com as new leads
- Copy new leads to Salesforce.com: Same as above, but copies the message instead of moving it
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 has an extremely high level of uptime and can be practically assumed to be always available when one's local network is configured properly)