Fwd: svn commit: r451194 - in /incubator/ofbiz/trunk/applications/content: servicedef/services_email.xml src/org/ofbiz/content/email/EmailServices.java src/org/ofbiz/content/email/EmailWorker.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: svn commit: r451194 - in /incubator/ofbiz/trunk/applications/content: servicedef/services_email.xml src/org/ofbiz/content/email/EmailServices.java src/org/ofbiz/content/email/EmailWorker.java

Si Chen-2
Hans,

I noticed that you had changed the communicationEventId of the  
storeEmailAsCommunication service to optional="false".  Does it have  
to be set to false?  It actually would break the service for sending  
emails out to a ContactList if it were set to false, so I changed it  
back to true (SVN r 463007).  Let me know if this might cause any  
problems for you, and we'll work out some other way if it does.


Begin forwarded message:

> From: [hidden email]
> Date: September 29, 2006 2:26:51 AM PDT
> To: [hidden email]
> Subject: svn commit: r451194 - in /incubator/ofbiz/trunk/
> applications/content: servicedef/services_email.xml src/org/ofbiz/
> content/email/EmailServices.java src/org/ofbiz/content/email/
> EmailWorker.java
> Reply-To: [hidden email]
>
> Author: hansbak
> Date: Fri Sep 29 02:26:50 2006
> New Revision: 451194
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=451194
> Log:
> Some more fixes to the incomig email services
>
> Modified:
>     incubator/ofbiz/trunk/applications/content/servicedef/
> services_email.xml
>     incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailServices.java
>     incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailWorker.java
>
> Modified: incubator/ofbiz/trunk/applications/content/servicedef/
> services_email.xml
> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
> applications/content/servicedef/services_email.xml?
> view=diff&rev=451194&r1=451193&r2=451194
> ======================================================================
> ========
> --- incubator/ofbiz/trunk/applications/content/servicedef/
> services_email.xml (original)
> +++ incubator/ofbiz/trunk/applications/content/servicedef/
> services_email.xml Fri Sep 29 02:26:50 2006
> @@ -103,10 +103,10 @@
>      <service name="storeEmailAsCommunication" engine="java"
>              location="org.ofbiz.content.email.EmailServices"  
> invoke="storeEmailAsCommunication" auth="true">
>          <description>Store email as a communication event with the  
> status COM_COMPLETE and current timestamp as datetimeStarted and  
> datetimeEnded.
> -                     The communication event will be from the  
> party of the userLogin to the party of the partyId parameter.  It  
> is meant to run a SECA after
> -                     a sendMail to record outgoing emails.</
> description>
> +                     The communication event will be from the  
> party of the userLogin to the party of the partyId parameter.
> +                     It is meant to run a SECA after a sendMail to  
> record outgoing emails.</description>
>          <attribute name="partyId" type="String" mode="IN"  
> optional="true"/>
> -        <attribute name="communicationEventId" type="String"  
> mode="IN" optional="true"/>
> +        <attribute name="communicationEventId" type="String"  
> mode="IN" optional="false"/>
>          <attribute name="subject" type="String" mode="IN"  
> optional="false"/>
>          <attribute name="body" type="String" mode="IN"  
> optional="false"/>
>          <attribute name="contentType" type="String" mode="IN"  
> optional="true"/>
> @@ -117,9 +117,10 @@
>              Process incoming email. Try to determine partyIdFrom  
> from the first SendFrom email address. datetimeStarted and  
> datetimeEnded are the
>              sent and received dates respectively, partyIdTo is  
> from the first SendTo email address. If the parties are not found,
>              the email addresses are stored in CommunicationEvent.note
> +            If however it is detected as spam (external) or when  
> the 'from' email address is missing, the service will not return a  
> communicationEventId
>          </description>
>          <attribute name="messageWrapper"  
> type="org.ofbiz.service.mail.MimeMessageWrapper" mode="IN"/>
> -        <attribute name="communicationEventId" type="String"  
> mode="OUT" optional="false"/>
> +        <attribute name="communicationEventId" type="String"  
> mode="OUT" optional="true"/>
>      </service>
>      <service name="storeForwardedEmail" engine="java"
>              location="org.ofbiz.content.email.EmailServices"  
> invoke="storeForwardedEmail" auth="true">
>
> Modified: incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailServices.java
> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
> applications/content/src/org/ofbiz/content/email/EmailServices.java?
> view=diff&rev=451194&r1=451193&r2=451194
> ======================================================================
> ========
> --- incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailServices.java (original)
> +++ incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailServices.java Fri Sep 29 02:26:50 2006
> @@ -707,6 +707,7 @@
>              Address [] addressesTo = message.getRecipients
> (MimeMessage.RecipientType.TO);
>              Address [] addressesCC = message.getRecipients
> (MimeMessage.RecipientType.CC);
>              Address [] addressesBCC = message.getRecipients
> (MimeMessage.RecipientType.BCC);
> +            Debug.logInfo("Processing Incoming Email message from:  
> " + addressesFrom[0].toString() + " to: " + addressesTo[0].toString
> (), module);
>
>              // ignore the message when the spam status = yes
>              String spamHeaderName = UtilProperties.getPropertyValue
> ("general.properties", "mail.spam.name", "N");
> @@ -716,14 +717,14 @@
>                  String msgHeaderValue = message.getHeader
> (spamHeaderName)[0];
>                  if(msgHeaderValue != null &&  
> msgHeaderValue.startsWith(configHeaderValue)) {
>                      Debug.logInfo("Incoming Email message ignored,  
> was detected by external spam checker", module);
> -                    ServiceUtil.returnSuccess();
> +                    return ServiceUtil.returnSuccess(" Message  
> Ignored: detected by external spam checker");
>                  }
>              }
>
>              // if no 'from' addresses specified ignore the message
>              if (addressesFrom == null) {
>                  Debug.logInfo("Incoming Email message ignored, had  
> not 'from' email address", module);
> -                ServiceUtil.returnSuccess();
> +                return ServiceUtil.returnSuccess(" Message  
> Ignored: no 'From' address specified");
>              }
>
>              result = getParyInfoFromEmailAddress(addressesFrom,  
> userLogin, dispatcher);
> @@ -736,7 +737,6 @@
>              //Get the first address from the list - this is the  
> partyIdTo field of the CommunicationEvent
>              if ((allResults != null) && (allResults.size() > 0)) {
>                  Map firstAddressTo = (Map) itr.next();
> -
>                  partyIdTo = (String)firstAddressTo.get("partyId");
>                  contactMechIdTo = (String)firstAddressTo.get
> ("contactMechId");
>              }
> @@ -744,7 +744,6 @@
>              Map commEventMap = new HashMap();
>          commEventMap.put("communicationEventTypeId",  
> "AUTO_EMAIL_COMM");
>          commEventMap.put("contactMechTypeId", "EMAIL_ADDRESS");
> -        commEventMap.put("partyIdTo", partyIdTo);
>          String subject = message.getSubject();
>          commEventMap.put("subject", subject);
>      
> @@ -797,15 +796,22 @@
>              String commNote = "";
>              if (partyIdFrom != null) {
>           commEventMap.put("partyIdFrom", partyIdFrom);        
> -         commEventMap.put("contactMechIdFrom", contactMechIdFrom);
>           commEventMap.put("contactMechIdTo", contactMechIdTo);
> -         commEventMap.put("statusId", "COM_ENTERED");
>              } else {
> -                commEventMap.put("statusId", "COM_UNKNOWN_PARTY");
> -                commNote += "Sent from: " + ((InternetAddress)
> addressesFrom[0]).getAddress();
> +                commNote += "Sent from: " +  ((InternetAddress)
> addressesFrom[0]).getAddress() + "; ";
> +            }
> +
> +            if (partyIdTo != null) {
> +                commEventMap.put("partyIdTo", partyIdTo);
> +                commEventMap.put("contactMechIdTo", contactMechIdTo);
> +            } else {
> +                commNote += "Sent to: " + ((InternetAddress)
> addressesTo[0]).getAddress()  + "; ";
>              }
> -     if (partyIdTo == null) {
> -                commNote += "Sent to: " + ((InternetAddress)
> addressesTo[0]).getAddress();
> +
> +            if (partyIdTo != null && partyIdFrom != null) {
> +                commEventMap.put("statusId", "COM_ENTERED");
> +            } else {
> +                commEventMap.put("statusId", "COM_UNKNOWN_PARTY");
>              }
>
>              if (!("".equals(commNote))) {
>
> Modified: incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailWorker.java
> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
> applications/content/src/org/ofbiz/content/email/EmailWorker.java?
> view=diff&rev=451194&r1=451193&r2=451194
> ======================================================================
> ========
> --- incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailWorker.java (original)
> +++ incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> content/email/EmailWorker.java Fri Sep 29 02:26:50 2006
> @@ -79,7 +79,7 @@
>   && (disposition.equals(Part.ATTACHMENT) || disposition.equals
> (Part.INLINE))
>       && (i != bodyContentIndex)) )
>      {
> - commEventMap.put("contentName", subject + "-" + i);
> + commEventMap.put("contentName", subject + "-" + i + " " +  
> part.getFileName());
>           commEventMap.put("drMimeTypeId", thisContentType);
>           if (thisContentType.startsWith("text")) {
>           String content = (String)part.getContent();
> @@ -96,6 +96,7 @@
>       ByteWrapper imageData = new ByteWrapper(baos.toByteArray());
>       int len = imageData.getLength();
>       if (Debug.infoOn()) Debug.logInfo("imageData length: " +  
> len, module);
> +                    commEventMap.put("drDataResourceName",  
> part.getFileName());
>       commEventMap.put("imageData", imageData);
>       commEventMap.put("drDataResourceTypeId", "IMAGE_OBJECT");
>               commEventMap.put("_imageData_contentType",  
> thisContentType);
>

Best Regards,

Si
[hidden email]



Reply | Threaded
Open this post in threaded view
|

Re: Fwd: svn commit: r451194 - in /incubator/ofbiz/trunk/applications/content: servicedef/services_email.xml src/org/ofbiz/content/email/EmailServices.java src/org/ofbiz/content/email/EmailWorker.java

Hans Bakker
Si,
It is a bit strange, because i checked the service and it will never return a
communicationEventId even if there is one created.
I use this service often for receiving emails and it did not give a problem
here.

perhaps we should change this service so it will return a
communicationEventId? It could however fall over and not create a
communicationEventId so the communicationEventId attribute in de service
definition should still be optional.

Hans


On Thursday 12 October 2006 05:22, Si Chen wrote:

> Hans,
>
> I noticed that you had changed the communicationEventId of the
> storeEmailAsCommunication service to optional="false".  Does it have
> to be set to false?  It actually would break the service for sending
> emails out to a ContactList if it were set to false, so I changed it
> back to true (SVN r 463007).  Let me know if this might cause any
> problems for you, and we'll work out some other way if it does.
>
> Begin forwarded message:
> > From: [hidden email]
> > Date: September 29, 2006 2:26:51 AM PDT
> > To: [hidden email]
> > Subject: svn commit: r451194 - in /incubator/ofbiz/trunk/
> > applications/content: servicedef/services_email.xml src/org/ofbiz/
> > content/email/EmailServices.java src/org/ofbiz/content/email/
> > EmailWorker.java
> > Reply-To: [hidden email]
> >
> > Author: hansbak
> > Date: Fri Sep 29 02:26:50 2006
> > New Revision: 451194
> >
> > URL: http://svn.apache.org/viewvc?view=rev&rev=451194
> > Log:
> > Some more fixes to the incomig email services
> >
> > Modified:
> >     incubator/ofbiz/trunk/applications/content/servicedef/
> > services_email.xml
> >     incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailServices.java
> >     incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailWorker.java
> >
> > Modified: incubator/ofbiz/trunk/applications/content/servicedef/
> > services_email.xml
> > URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/
> > applications/content/servicedef/services_email.xml?
> > view=diff&rev=451194&r1=451193&r2=451194
> > ======================================================================
> > ========
> > --- incubator/ofbiz/trunk/applications/content/servicedef/
> > services_email.xml (original)
> > +++ incubator/ofbiz/trunk/applications/content/servicedef/
> > services_email.xml Fri Sep 29 02:26:50 2006
> > @@ -103,10 +103,10 @@
> >      <service name="storeEmailAsCommunication" engine="java"
> >              location="org.ofbiz.content.email.EmailServices"
> > invoke="storeEmailAsCommunication" auth="true">
> >          <description>Store email as a communication event with the
> > status COM_COMPLETE and current timestamp as datetimeStarted and
> > datetimeEnded.
> > -                     The communication event will be from the
> > party of the userLogin to the party of the partyId parameter.  It
> > is meant to run a SECA after
> > -                     a sendMail to record outgoing emails.</
> > description>
> > +                     The communication event will be from the
> > party of the userLogin to the party of the partyId parameter.
> > +                     It is meant to run a SECA after a sendMail to
> > record outgoing emails.</description>
> >          <attribute name="partyId" type="String" mode="IN"
> > optional="true"/>
> > -        <attribute name="communicationEventId" type="String"
> > mode="IN" optional="true"/>
> > +        <attribute name="communicationEventId" type="String"
> > mode="IN" optional="false"/>
> >          <attribute name="subject" type="String" mode="IN"
> > optional="false"/>
> >          <attribute name="body" type="String" mode="IN"
> > optional="false"/>
> >          <attribute name="contentType" type="String" mode="IN"
> > optional="true"/>
> > @@ -117,9 +117,10 @@
> >              Process incoming email. Try to determine partyIdFrom
> > from the first SendFrom email address. datetimeStarted and
> > datetimeEnded are the
> >              sent and received dates respectively, partyIdTo is
> > from the first SendTo email address. If the parties are not found,
> >              the email addresses are stored in CommunicationEvent.note
> > +            If however it is detected as spam (external) or when
> > the 'from' email address is missing, the service will not return a
> > communicationEventId
> >          </description>
> >          <attribute name="messageWrapper"
> > type="org.ofbiz.service.mail.MimeMessageWrapper" mode="IN"/>
> > -        <attribute name="communicationEventId" type="String"
> > mode="OUT" optional="false"/>
> > +        <attribute name="communicationEventId" type="String"
> > mode="OUT" optional="true"/>
> >      </service>
> >      <service name="storeForwardedEmail" engine="java"
> >              location="org.ofbiz.content.email.EmailServices"
> > invoke="storeForwardedEmail" auth="true">
> >
> > Modified: incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailServices.java
> > URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/
> > applications/content/src/org/ofbiz/content/email/EmailServices.java?
> > view=diff&rev=451194&r1=451193&r2=451194
> > ======================================================================
> > ========
> > --- incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailServices.java (original)
> > +++ incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailServices.java Fri Sep 29 02:26:50 2006
> > @@ -707,6 +707,7 @@
> >              Address [] addressesTo = message.getRecipients
> > (MimeMessage.RecipientType.TO);
> >              Address [] addressesCC = message.getRecipients
> > (MimeMessage.RecipientType.CC);
> >              Address [] addressesBCC = message.getRecipients
> > (MimeMessage.RecipientType.BCC);
> > +            Debug.logInfo("Processing Incoming Email message from:
> > " + addressesFrom[0].toString() + " to: " + addressesTo[0].toString
> > (), module);
> >
> >              // ignore the message when the spam status = yes
> >              String spamHeaderName = UtilProperties.getPropertyValue
> > ("general.properties", "mail.spam.name", "N");
> > @@ -716,14 +717,14 @@
> >                  String msgHeaderValue = message.getHeader
> > (spamHeaderName)[0];
> >                  if(msgHeaderValue != null &&
> > msgHeaderValue.startsWith(configHeaderValue)) {
> >                      Debug.logInfo("Incoming Email message ignored,
> > was detected by external spam checker", module);
> > -                    ServiceUtil.returnSuccess();
> > +                    return ServiceUtil.returnSuccess(" Message
> > Ignored: detected by external spam checker");
> >                  }
> >              }
> >
> >              // if no 'from' addresses specified ignore the message
> >              if (addressesFrom == null) {
> >                  Debug.logInfo("Incoming Email message ignored, had
> > not 'from' email address", module);
> > -                ServiceUtil.returnSuccess();
> > +                return ServiceUtil.returnSuccess(" Message
> > Ignored: no 'From' address specified");
> >              }
> >
> >              result = getParyInfoFromEmailAddress(addressesFrom,
> > userLogin, dispatcher);
> > @@ -736,7 +737,6 @@
> >              //Get the first address from the list - this is the
> > partyIdTo field of the CommunicationEvent
> >              if ((allResults != null) && (allResults.size() > 0)) {
> >                  Map firstAddressTo = (Map) itr.next();
> > -
> >                  partyIdTo = (String)firstAddressTo.get("partyId");
> >                  contactMechIdTo = (String)firstAddressTo.get
> > ("contactMechId");
> >              }
> > @@ -744,7 +744,6 @@
> >              Map commEventMap = new HashMap();
> >          commEventMap.put("communicationEventTypeId",
> > "AUTO_EMAIL_COMM");
> >          commEventMap.put("contactMechTypeId", "EMAIL_ADDRESS");
> > -        commEventMap.put("partyIdTo", partyIdTo);
> >          String subject = message.getSubject();
> >          commEventMap.put("subject", subject);
> >
> > @@ -797,15 +796,22 @@
> >              String commNote = "";
> >              if (partyIdFrom != null) {
> >           commEventMap.put("partyIdFrom", partyIdFrom);
> > -         commEventMap.put("contactMechIdFrom", contactMechIdFrom);
> >           commEventMap.put("contactMechIdTo", contactMechIdTo);
> > -         commEventMap.put("statusId", "COM_ENTERED");
> >              } else {
> > -                commEventMap.put("statusId", "COM_UNKNOWN_PARTY");
> > -                commNote += "Sent from: " + ((InternetAddress)
> > addressesFrom[0]).getAddress();
> > +                commNote += "Sent from: " +  ((InternetAddress)
> > addressesFrom[0]).getAddress() + "; ";
> > +            }
> > +
> > +            if (partyIdTo != null) {
> > +                commEventMap.put("partyIdTo", partyIdTo);
> > +                commEventMap.put("contactMechIdTo", contactMechIdTo);
> > +            } else {
> > +                commNote += "Sent to: " + ((InternetAddress)
> > addressesTo[0]).getAddress()  + "; ";
> >              }
> > -     if (partyIdTo == null) {
> > -                commNote += "Sent to: " + ((InternetAddress)
> > addressesTo[0]).getAddress();
> > +
> > +            if (partyIdTo != null && partyIdFrom != null) {
> > +                commEventMap.put("statusId", "COM_ENTERED");
> > +            } else {
> > +                commEventMap.put("statusId", "COM_UNKNOWN_PARTY");
> >              }
> >
> >              if (!("".equals(commNote))) {
> >
> > Modified: incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailWorker.java
> > URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/
> > applications/content/src/org/ofbiz/content/email/EmailWorker.java?
> > view=diff&rev=451194&r1=451193&r2=451194
> > ======================================================================
> > ========
> > --- incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailWorker.java (original)
> > +++ incubator/ofbiz/trunk/applications/content/src/org/ofbiz/
> > content/email/EmailWorker.java Fri Sep 29 02:26:50 2006
> > @@ -79,7 +79,7 @@
> >   && (disposition.equals(Part.ATTACHMENT) || disposition.equals
> > (Part.INLINE))
> >       && (i != bodyContentIndex)) )
> >      {
> > - commEventMap.put("contentName", subject + "-" + i);
> > + commEventMap.put("contentName", subject + "-" + i + " " +
> > part.getFileName());
> >           commEventMap.put("drMimeTypeId", thisContentType);
> >           if (thisContentType.startsWith("text")) {
> >           String content = (String)part.getContent();
> > @@ -96,6 +96,7 @@
> >       ByteWrapper imageData = new ByteWrapper(baos.toByteArray());
> >       int len = imageData.getLength();
> >       if (Debug.infoOn()) Debug.logInfo("imageData length: " +
> > len, module);
> > +                    commEventMap.put("drDataResourceName",
> > part.getFileName());
> >       commEventMap.put("imageData", imageData);
> >       commEventMap.put("drDataResourceTypeId", "IMAGE_OBJECT");
> >               commEventMap.put("_imageData_contentType",
> > thisContentType);
>
> Best Regards,
>
> Si
> [hidden email]
--
Regards,
Hans Bakker
ANT Websystems Co.,Ltd (http://www.antwebsystems.com)

If you want to verify that this message really originates from
from the above person, download the public key from:
http://www.antwebsystems.com/hbakkerAntwebsystems.asc

attachment0 (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r451194 - in /incubator/ofbiz/trunk/applications/content: servicedef/services_email.xml src/org/ofbiz/content/email/EmailServices.java src/org/ofbiz/content/email/EmailWorker.java

Si Chen-2
Hans,

This is actually an IN parameter of the storeEmailAsCommunication  
service that I'm referring to .  The reason it was there is that if  
the email had been sent by creating a CommunicationEvent in the first  
place, we don't want to store it again (obviously.)

Perhaps you are looking at a different service?  I noticed you had  
two changes related to communicationEventId in this commit.

On Oct 11, 2006, at 3:53 PM, Hans Bakker wrote:

> definition should still be optional.

Best Regards,

Si
[hidden email]