You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by David E Jones <jo...@undersunconsulting.com> on 2006/11/22 21:49:40 UTC

Re: svn commit: r478095 - in /incubator/ofbiz/trunk/applications/party: script/org/ofbiz/party/communication/CommunicationEventServices.xml servicedef/services.xml

Hans,

Could you explain what you're shooting for here?

It seems a little funny to remove a WorkEffort when a  
CommunicationEvent is associated with it and it is the only  
CommunicationEvent associated with that WorkEffort. That assumes that  
the CommunicationEvent is the dominant entity and controls what  
happens with a WorkEffort when they are used together. I'm having a  
hard time coming up with a situation where that would be the case,  
but I can think of various situations where the WorkEffort is the  
dominant entity and you wouldn't want it removed when a  
CommunicationEvent associated with it is removed if it's the only  
comm-event...

-David


On Nov 22, 2006, at 2:17 AM, hansbak@apache.org wrote:

> Author: hansbak
> Date: Wed Nov 22 01:17:30 2006
> New Revision: 478095
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=478095
> Log:
> the delete communicationEvent service now also deletes the related  
> workeffort if this commubication event is the only one attached to  
> the woreffort.
>
> Modified:
>     incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/ 
> communication/CommunicationEventServices.xml
>     incubator/ofbiz/trunk/applications/party/servicedef/services.xml
>
> Modified: incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ 
> party/communication/CommunicationEventServices.xml
> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
> applications/party/script/org/ofbiz/party/communication/ 
> CommunicationEventServices.xml? 
> view=diff&rev=478095&r1=478094&r2=478095
> ====================================================================== 
> ========
> --- incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/ 
> communication/CommunicationEventServices.xml (original)
> +++ incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/ 
> communication/CommunicationEventServices.xml Wed Nov 22 01:17:30 2006
> @@ -16,8 +16,9 @@
>  under the License.
>  -->
>
> -<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> -        xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ 
> simple-methods.xsd">
> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +    xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ 
> simple-methods.xsd">
> +    <!-- xsi:noNamespaceSchemaLocation="../../../../../../../ 
> framework/minilang/dtd/simple-methods.xsd"-->
>      <simple-method method-name="createCommunicationEvent" short- 
> description="Create a CommunicationEvent">
>          <if>
>              <condition>
> @@ -110,8 +111,25 @@
>                  </if-compare>
>              </iterate>
>          </if-not-empty>
> +        <!-- remove related workeffort when this is the only  
> communicationevent connected to it -->
> +        <get-related value-name="event" relation- 
> name="CommunicationEventWorkEff" list-name="workEffortComs"/>
> +        <if-not-empty field-name="workEffortComs">
> +            <iterate entry-name="workEffortCom" list- 
> name="workEffortComs">
> +                <remove-value value-name="workEffortCom"/>
> +                <get-related-one value-name="workEffortCom"  
> relation-name="WorkEffort" to-value-name="workEffort"/>
> +                <get-related value-name="workEffort" relation- 
> name="CommunicationEventWorkEff" list-name="otherComs"/>
> +                <if-empty field-name="otherComs">
> +                    <log level="info" message="remove workeffort $ 
> {workEffort.workEffortId} and related parties and status"/>
> +                    <remove-related value-name="workEffort"  
> relation-name="WorkEffortPartyAssignment"/>
> +                    <remove-related value-name="workEffort"  
> relation-name="WorkEffortStatus"/>
> +                    <remove-value value-name="workEffort"/>
> +                    <set field="workEffortMessage" value="and  
> worEffort [${workEffort.workEffortId}]"/>
> +                </if-empty>
> +            </iterate>
> +        </if-not-empty>
>          <!-- delete the event itself -->
>          <remove-value value-name="event"/>
> +        <set field="successMessage" value="Communication [$ 
> {event.communicationEventId}] ${workEffortMessage} deleted "/>
>      </simple-method>
>      <!-- since these ancillary operations on communication event  
> cause them to be updated,
>          they will all use the CME_UPDATE permission -->
>
> Modified: incubator/ofbiz/trunk/applications/party/servicedef/ 
> services.xml
> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
> applications/party/servicedef/services.xml? 
> view=diff&rev=478095&r1=478094&r2=478095
> ====================================================================== 
> ========
> --- incubator/ofbiz/trunk/applications/party/servicedef/ 
> services.xml (original)
> +++ incubator/ofbiz/trunk/applications/party/servicedef/ 
> services.xml Wed Nov 22 01:17:30 2006
> @@ -591,7 +591,8 @@
>      </service>
>      <service name="deleteCommunicationEvent" engine="simple"
>              location="org/ofbiz/party/communication/ 
> CommunicationEventServices.xml" invoke="deleteCommunicationEvent"  
> auth="true">
> -        <description>Delete a Communication Event</description>
> +        <description>Delete a Communication Event, optionally  
> delete the attached content and dataresource
> +                    and when this is the only communication event  
> connected to a workeffort delete the workeffort too.</description>
>          <auto-attributes entity-name="CommunicationEvent"  
> include="pk" mode="IN" optional="false"/>
>          <attribute name="delContentDataResource" type="String"  
> mode="IN" optional="true"/>
>      </service>
>
>


Re: svn commit: r478095 - in /incubator/ofbiz/trunk/applications/party: script/org/ofbiz/party/communication/CommunicationEventServices.xml servicedef/services.xml

Posted by Hans Bakker <ma...@antwebsystems.com>.
Hi,

On Saturday 25 November 2006 14:45, David E Jones wrote:
....
> Of course, stepping back a bit from that: why would you ever want to
> delete a CommunicationEvent?
.....

Currently it is impossble to filter all spam out of email messages. There will 
always be some messages left which need to be deleted by hand. A lot of these 
spam messages also have attachments which you want to delete.

-- 
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

Re: svn commit: r478095 - in /incubator/ofbiz/trunk/applications/party: script/org/ofbiz/party/communication/CommunicationEventServices.xml servicedef/services.xml

Posted by David E Jones <jo...@undersunconsulting.com>.
Wouldn't it be better to change it so that when the crmsfa module is  
added to a stock OFBiz installation that it doesn't break other  
functionality or destroy data because of something like this?

It shouldn't be too hard to somehow model that a certain WorkEffort  
is dependent on a CommunicationEvent record and should therefore be  
deleted with the CommunicationEvent is deleted.

Of course, stepping back a bit from that: why would you ever want to  
delete a CommunicationEvent?

-David



On Nov 24, 2006, at 12:06 PM, Si Chen wrote:

> David, Hans -
>
> I think I can shed some light on this.  In the opentaps CRMSFA each  
> incoming and outgoing email communicationevent is wrapped with a  
> workeffort, so Hans is probably trying to clear out these  
> workefforts when the related commevents are removed.  I do agree  
> with David, however, in that this may not be the right practice for  
> the core OFBIZ core, because there is not necessarily a commevent -  
> workeffort linkage here.  For example, a workeffort could be a  
> manufacturig production step, and the commevent could be a message  
> related to that production task.  Under those circumstances,  
> canceling or removing the commevent should not cause the workeffort  
> to be removed as well.
>
> Hans - I think it's best that you revert this here in ofbiz and  
> then do something to tie the two together in your branch of the  
> opentaps crmsfa module, like a seca or a wrapper service?
>
> On Nov 22, 2006, at 12:49 PM, David E Jones wrote:
>
>>
>> Hans,
>>
>> Could you explain what you're shooting for here?
>>
>> It seems a little funny to remove a WorkEffort when a  
>> CommunicationEvent is associated with it and it is the only  
>> CommunicationEvent associated with that WorkEffort. That assumes  
>> that the CommunicationEvent is the dominant entity and controls  
>> what happens with a WorkEffort when they are used together. I'm  
>> having a hard time coming up with a situation where that would be  
>> the case, but I can think of various situations where the  
>> WorkEffort is the dominant entity and you wouldn't want it removed  
>> when a CommunicationEvent associated with it is removed if it's  
>> the only comm-event...
>>
>> -David
>>
>>
>> On Nov 22, 2006, at 2:17 AM, hansbak@apache.org wrote:
>>
>>> Author: hansbak
>>> Date: Wed Nov 22 01:17:30 2006
>>> New Revision: 478095
>>>
>>> URL: http://svn.apache.org/viewvc?view=rev&rev=478095
>>> Log:
>>> the delete communicationEvent service now also deletes the  
>>> related workeffort if this commubication event is the only one  
>>> attached to the woreffort.
>>>
>>> Modified:
>>>     incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ 
>>> party/communication/CommunicationEventServices.xml
>>>     incubator/ofbiz/trunk/applications/party/servicedef/services.xml
>>>
>>> Modified: incubator/ofbiz/trunk/applications/party/script/org/ 
>>> ofbiz/party/communication/CommunicationEventServices.xml
>>> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
>>> applications/party/script/org/ofbiz/party/communication/ 
>>> CommunicationEventServices.xml? 
>>> view=diff&rev=478095&r1=478094&r2=478095
>>> ==================================================================== 
>>> ==========
>>> --- incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ 
>>> party/communication/CommunicationEventServices.xml (original)
>>> +++ incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ 
>>> party/communication/CommunicationEventServices.xml Wed Nov 22  
>>> 01:17:30 2006
>>> @@ -16,8 +16,9 @@
>>>  under the License.
>>>  -->
>>>
>>> -<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
>>> instance"
>>> -        xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ 
>>> simple-methods.xsd">
>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
>>> instance"
>>> +    xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ 
>>> simple-methods.xsd">
>>> +    <!-- xsi:noNamespaceSchemaLocation="../../../../../../../ 
>>> framework/minilang/dtd/simple-methods.xsd"-->
>>>      <simple-method method-name="createCommunicationEvent" short- 
>>> description="Create a CommunicationEvent">
>>>          <if>
>>>              <condition>
>>> @@ -110,8 +111,25 @@
>>>                  </if-compare>
>>>              </iterate>
>>>          </if-not-empty>
>>> +        <!-- remove related workeffort when this is the only  
>>> communicationevent connected to it -->
>>> +        <get-related value-name="event" relation- 
>>> name="CommunicationEventWorkEff" list-name="workEffortComs"/>
>>> +        <if-not-empty field-name="workEffortComs">
>>> +            <iterate entry-name="workEffortCom" list- 
>>> name="workEffortComs">
>>> +                <remove-value value-name="workEffortCom"/>
>>> +                <get-related-one value-name="workEffortCom"  
>>> relation-name="WorkEffort" to-value-name="workEffort"/>
>>> +                <get-related value-name="workEffort" relation- 
>>> name="CommunicationEventWorkEff" list-name="otherComs"/>
>>> +                <if-empty field-name="otherComs">
>>> +                    <log level="info" message="remove workeffort  
>>> ${workEffort.workEffortId} and related parties and status"/>
>>> +                    <remove-related value-name="workEffort"  
>>> relation-name="WorkEffortPartyAssignment"/>
>>> +                    <remove-related value-name="workEffort"  
>>> relation-name="WorkEffortStatus"/>
>>> +                    <remove-value value-name="workEffort"/>
>>> +                    <set field="workEffortMessage" value="and  
>>> worEffort [${workEffort.workEffortId}]"/>
>>> +                </if-empty>
>>> +            </iterate>
>>> +        </if-not-empty>
>>>          <!-- delete the event itself -->
>>>          <remove-value value-name="event"/>
>>> +        <set field="successMessage" value="Communication [$ 
>>> {event.communicationEventId}] ${workEffortMessage} deleted "/>
>>>      </simple-method>
>>>      <!-- since these ancillary operations on communication event  
>>> cause them to be updated,
>>>          they will all use the CME_UPDATE permission -->
>>>
>>> Modified: incubator/ofbiz/trunk/applications/party/servicedef/ 
>>> services.xml
>>> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
>>> applications/party/servicedef/services.xml? 
>>> view=diff&rev=478095&r1=478094&r2=478095
>>> ==================================================================== 
>>> ==========
>>> --- incubator/ofbiz/trunk/applications/party/servicedef/ 
>>> services.xml (original)
>>> +++ incubator/ofbiz/trunk/applications/party/servicedef/ 
>>> services.xml Wed Nov 22 01:17:30 2006
>>> @@ -591,7 +591,8 @@
>>>      </service>
>>>      <service name="deleteCommunicationEvent" engine="simple"
>>>              location="org/ofbiz/party/communication/ 
>>> CommunicationEventServices.xml" invoke="deleteCommunicationEvent"  
>>> auth="true">
>>> -        <description>Delete a Communication Event</description>
>>> +        <description>Delete a Communication Event, optionally  
>>> delete the attached content and dataresource
>>> +                    and when this is the only communication  
>>> event connected to a workeffort delete the workeffort too.</ 
>>> description>
>>>          <auto-attributes entity-name="CommunicationEvent"  
>>> include="pk" mode="IN" optional="false"/>
>>>          <attribute name="delContentDataResource" type="String"  
>>> mode="IN" optional="true"/>
>>>      </service>
>>>
>>>
>
> Best Regards,
>
> Si
> sichen@opensourcestrategies.com
>
>
>


Re: svn commit: r478095 - in /incubator/ofbiz/trunk/applications/party: script/org/ofbiz/party/communication/CommunicationEventServices.xml servicedef/services.xml

Posted by Si Chen <si...@opensourcestrategies.com>.
David, Hans -

I think I can shed some light on this.  In the opentaps CRMSFA each  
incoming and outgoing email communicationevent is wrapped with a  
workeffort, so Hans is probably trying to clear out these workefforts  
when the related commevents are removed.  I do agree with David,  
however, in that this may not be the right practice for the core  
OFBIZ core, because there is not necessarily a commevent - workeffort  
linkage here.  For example, a workeffort could be a manufacturig  
production step, and the commevent could be a message related to that  
production task.  Under those circumstances, canceling or removing  
the commevent should not cause the workeffort to be removed as well.

Hans - I think it's best that you revert this here in ofbiz and then  
do something to tie the two together in your branch of the opentaps  
crmsfa module, like a seca or a wrapper service?

On Nov 22, 2006, at 12:49 PM, David E Jones wrote:

>
> Hans,
>
> Could you explain what you're shooting for here?
>
> It seems a little funny to remove a WorkEffort when a  
> CommunicationEvent is associated with it and it is the only  
> CommunicationEvent associated with that WorkEffort. That assumes  
> that the CommunicationEvent is the dominant entity and controls  
> what happens with a WorkEffort when they are used together. I'm  
> having a hard time coming up with a situation where that would be  
> the case, but I can think of various situations where the  
> WorkEffort is the dominant entity and you wouldn't want it removed  
> when a CommunicationEvent associated with it is removed if it's the  
> only comm-event...
>
> -David
>
>
> On Nov 22, 2006, at 2:17 AM, hansbak@apache.org wrote:
>
>> Author: hansbak
>> Date: Wed Nov 22 01:17:30 2006
>> New Revision: 478095
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=478095
>> Log:
>> the delete communicationEvent service now also deletes the related  
>> workeffort if this commubication event is the only one attached to  
>> the woreffort.
>>
>> Modified:
>>     incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ 
>> party/communication/CommunicationEventServices.xml
>>     incubator/ofbiz/trunk/applications/party/servicedef/services.xml
>>
>> Modified: incubator/ofbiz/trunk/applications/party/script/org/ 
>> ofbiz/party/communication/CommunicationEventServices.xml
>> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
>> applications/party/script/org/ofbiz/party/communication/ 
>> CommunicationEventServices.xml? 
>> view=diff&rev=478095&r1=478094&r2=478095
>> ===================================================================== 
>> =========
>> --- incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ 
>> party/communication/CommunicationEventServices.xml (original)
>> +++ incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ 
>> party/communication/CommunicationEventServices.xml Wed Nov 22  
>> 01:17:30 2006
>> @@ -16,8 +16,9 @@
>>  under the License.
>>  -->
>>
>> -<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
>> instance"
>> -        xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ 
>> simple-methods.xsd">
>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
>> instance"
>> +    xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ 
>> simple-methods.xsd">
>> +    <!-- xsi:noNamespaceSchemaLocation="../../../../../../../ 
>> framework/minilang/dtd/simple-methods.xsd"-->
>>      <simple-method method-name="createCommunicationEvent" short- 
>> description="Create a CommunicationEvent">
>>          <if>
>>              <condition>
>> @@ -110,8 +111,25 @@
>>                  </if-compare>
>>              </iterate>
>>          </if-not-empty>
>> +        <!-- remove related workeffort when this is the only  
>> communicationevent connected to it -->
>> +        <get-related value-name="event" relation- 
>> name="CommunicationEventWorkEff" list-name="workEffortComs"/>
>> +        <if-not-empty field-name="workEffortComs">
>> +            <iterate entry-name="workEffortCom" list- 
>> name="workEffortComs">
>> +                <remove-value value-name="workEffortCom"/>
>> +                <get-related-one value-name="workEffortCom"  
>> relation-name="WorkEffort" to-value-name="workEffort"/>
>> +                <get-related value-name="workEffort" relation- 
>> name="CommunicationEventWorkEff" list-name="otherComs"/>
>> +                <if-empty field-name="otherComs">
>> +                    <log level="info" message="remove workeffort $ 
>> {workEffort.workEffortId} and related parties and status"/>
>> +                    <remove-related value-name="workEffort"  
>> relation-name="WorkEffortPartyAssignment"/>
>> +                    <remove-related value-name="workEffort"  
>> relation-name="WorkEffortStatus"/>
>> +                    <remove-value value-name="workEffort"/>
>> +                    <set field="workEffortMessage" value="and  
>> worEffort [${workEffort.workEffortId}]"/>
>> +                </if-empty>
>> +            </iterate>
>> +        </if-not-empty>
>>          <!-- delete the event itself -->
>>          <remove-value value-name="event"/>
>> +        <set field="successMessage" value="Communication [$ 
>> {event.communicationEventId}] ${workEffortMessage} deleted "/>
>>      </simple-method>
>>      <!-- since these ancillary operations on communication event  
>> cause them to be updated,
>>          they will all use the CME_UPDATE permission -->
>>
>> Modified: incubator/ofbiz/trunk/applications/party/servicedef/ 
>> services.xml
>> URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ 
>> applications/party/servicedef/services.xml? 
>> view=diff&rev=478095&r1=478094&r2=478095
>> ===================================================================== 
>> =========
>> --- incubator/ofbiz/trunk/applications/party/servicedef/ 
>> services.xml (original)
>> +++ incubator/ofbiz/trunk/applications/party/servicedef/ 
>> services.xml Wed Nov 22 01:17:30 2006
>> @@ -591,7 +591,8 @@
>>      </service>
>>      <service name="deleteCommunicationEvent" engine="simple"
>>              location="org/ofbiz/party/communication/ 
>> CommunicationEventServices.xml" invoke="deleteCommunicationEvent"  
>> auth="true">
>> -        <description>Delete a Communication Event</description>
>> +        <description>Delete a Communication Event, optionally  
>> delete the attached content and dataresource
>> +                    and when this is the only communication event  
>> connected to a workeffort delete the workeffort too.</description>
>>          <auto-attributes entity-name="CommunicationEvent"  
>> include="pk" mode="IN" optional="false"/>
>>          <attribute name="delContentDataResource" type="String"  
>> mode="IN" optional="true"/>
>>      </service>
>>
>>

Best Regards,

Si
sichen@opensourcestrategies.com