System and method for transforming email messages to communication stream messages
A system and method for mapping and transforming email messages to communication stream messages are described. An email message is processed by a mapping engine which extracts elements of the email message, maps and transforms the extracted elements of the email message to a communication stream message to be presented via a communication stream system.
1 . A computer-implemented method for aggregating heterogeneous communications in a unified communication platform, the method comprising:
maintaining a communication stream of communication stream messages aggregated from a plurality of heterogeneous communication sources including email sources and non-email sources, each communication stream message including communication stream message fields;
obtaining an email message from one of the email sources, the email message having email message fields;
mapping the email message fields to the communication stream message fields, the mapping producing a new communication stream message including message source information indicating that the new communication stream message originated from the email message and including sender information from the email message, thereby preserving provenance of the email message in the unified communication platform;
adding the new communication stream message to the communication stream; and
presenting, via a user interface, the communication stream including the new communication stream message to users assigned to the communication stream, wherein the user interface provides unified access to the communication stream messages from the heterogeneous communication sources.
2 . The computer-implemented method of claim 1 , further comprising:
presenting a link to the message source information in the new communication stream message; and
responsive to assertion of the link by a user, presenting the message source information.
3 . The computer-implemented method of claim 1 , further comprising maintaining a stream identifier identifying the communication stream.
4 . The computer-implemented method of claim 3 , further comprising examining the email message fields for the stream identifier.
5 . The computer-implemented method of claim 3 , wherein the email message does not include the stream identifier, the method further comprising:
creating a second stream identifier;
mapping the email message fields to the communication stream message fields and responsive to the second stream identifier, the mapping producing a second new communication stream message including second message source information; and
adding the second stream identifier to the second new communication stream message.
6 . The computer-implemented method of claim 1 , wherein the communication stream is assigned to users and the email message is directed to fewer than all the users, the method further comprising presenting the communication stream, including the new communication stream message, to all the users.
7 . The computer-implemented method of claim 1 , wherein the mapping ignores at least one of the email message fields.
8 . The computer-implemented method of claim 1 , wherein a To field of the email message identifies a user, the method further comprising receiving input from the user opting to view the email message as the new communication stream message.
9 . The computer-implemented method of claim 1 , wherein the email message fields specify a date and a time, and wherein the mapping adds the date and the time into one of the communication stream message fields.
10 . The computer-implemented method of claim 1 , wherein the mapping maps a Subject one of the email message fields to a Topic one of the communication stream message fields.
11 . The computer-implemented method of claim 1 , wherein the email message fields include an In-Reply-To field, and wherein the mapping maps the In-Reply-To field and a second field of the email message to one of the communication stream message fields.
12 . The computer-implemented method of claim 1 , further comprising copying References information from the email message to the communication stream.
13 . The computer-implemented method of claim 1 , wherein the email message contains a number of likes, the method further comprising adding the number of likes of the email message to one of the communication stream message fields.
14 . The computer-implemented method of claim 1 , wherein the mapping includes creating a draft of the new communication stream message with a stream identifier assigned to the communication stream.
15 . The computer-implemented method of claim 1 , wherein the email message is associated with a tag, the method further comprising associating the new communication stream message with the tag.
16 . A computer-implemented method for aggregating heterogeneous communications in a unified communication platform, the method comprising:
maintaining a communication stream of communication stream messages aggregated from a plurality of heterogeneous communication sources including email sources and non-email sources, each communication stream message including communication stream message fields;
obtaining an email message from one of the email sources and having email message fields, the email message directed to an email recipient who has opted to view the email message as a communication stream message;
mapping the email message fields to the communication stream message fields, the mapping producing a new communication stream message including sender information from the email message and message source information indicating that the new communication stream message originated from the email message, thereby preserving provenance of the email message in the unified communication platform; and
adding the new communication stream message to the communication stream; and presenting, via a user interface, the communication stream including the new communication stream message to users assigned to the communication stream, wherein the user interface provides unified access to the communication stream messages from the heterogeneous communication sources.
17 . The computer-implemented method of claim 16 , further comprising adding message source information to the communication stream, the message source information indicating that the new communication stream message originated from the email message.
18 . A computer-implemented system for aggregating heterogeneous communications in a unified communication platform, the system comprising:
a processor to execute instructions;
storage;
a memory for holding the instructions, the instructions comprising:
a first service for maintaining a communication stream of communication stream messages aggregated from a plurality of heterogeneous communication sources including email sources and non-email sources, each communication stream message including communication stream message fields;
a second service for obtaining an email message from one of the email sources and having email message fields;
a third service for mapping the email message fields to the communication stream message fields, the mapping producing a new communication stream message including message source information indicating that the new communication stream message originated from the email message and sender information from the email message, thereby preserving provenance of the email message in the unified communication platform;
a fourth service for adding the new communication stream message to the communication stream; and
a fifth service for presenting, via a user interface, the communication stream including the new communication stream message to users assigned to the communication stream, wherein the user interface provides unified access to the communication stream messages from the heterogeneous communication sources.
19 . The computer-implemented system of claim 18 , further comprising a fifth service for maintaining a stream identifier identifying the communication stream and a sixth service for examining the email message fields for the stream identifier.
20 . The computer-implemented system of claim 19 , wherein the sixth service does not identify the stream identifier, creates a second stream identifier, and maps the email message fields to the communication stream message fields to produce a second new communication stream message including second message source information.