SFA Manager Application - Events Tab

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

SFA Manager Application - Events Tab

Stephen Rufle-2
In the current SFA Manager Application I noticed that the Events tab in
not active. What is the current state of the application for the Event
section?

We have the following requirements and are hoping that we can use
existing functionality to fulfill them. If this functionality does not
currently exist, but a plan is in place on how to proceed then maybe we
can pitch in.

Create "Events"

    * Telephone calls
    * Emails


    * Addition Information that I think is not being captured.
          o When should we follow up maybe who also changes
          o What was the purpose of the call

I started work on a simple Salesman to Customer Contact communication
system using the CommunicationEvents entities for our current application.
   
I defined a Salesman as the logged in user and a Contact as an Employee
of a Customer. I feel I needed to create two CommunicationEvents for
single actual communication.

My example is user admin (Salesman) talked to Steve (Contact) at
"Company X" (Customer) who's Phone number is 888-123-5556 (ContactMech
for Contact)
   
The who called is captured in the parent CommunicationEvent

    * partyIdFrom to partyIdTo
    * partyIdFrom="admin" partyIdTo="999"

The who did we call is captured in the child CommunicationEvent

    * partyIdFrom to partyIdTo
    * partyIdFrom="999" partyIdTo="COMP_X_EMP"
    * COMP_X_EMP indicates it was Steve
          o contactMechIdTo="COMP_X_TN_01" on the child CommunicationEvent
          o COMP_X_TN_01 indicates we called (888-123-5556)

Is there a way to do this differently using the SFA events concept? As
stated above I think the concept of keeping track of when next to call
Steve and what purpose of the call is currently missing.

    * When did it happen (date / time) - can these be separate or is the
      convention to use a single field
    * What was the purpose (from CommunicationEventPrpTyp?)
          o "follow-up"
          o "initial call"

Ultimately we would look to use these purposes as a sort of work flow.
So, if you start with the first call "initial call" then the next action
may be "follow-up" with a date/time.
   
I found the link to
http://docs.ofbiz.org/display/OFBIZ/CRM+Sales+Force+Automation+Plan
   
in a mail thread from March 2008
http://markmail.org/message/nfpiteahllbe5vae
   
What is the current state of work?
Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

Stephen Rufle-2
I created a patch that starts on the work that I think is needed for my
request. The reason I am not creating a JIRA issue is that I think my
code might be a little rough and would like to know what modification my
be needed.

I started by stubbing out the "Events" link that was previously not live.
https://localhost:8443/sfa/control/FindEvents

I tried to use https://localhost:8443/sfa/control/FindContacts as my
guide for how things are getting done.

When I started this endeavor I thought I could use a combination of
CommunicationEvent and Soem other existing Entity. I was unable to find
one that I thought was suitable, so I think creating a new SfaEvent
entity will give me what I want.

/applications/party/entitydef/entitymodel.xml
    <entity entity-name="SfaEvent"
package-name="org.ofbiz.party.communication" title="Sfa Communication
Event Entity">
        <field name="sfaEventId" type="id-ne"></field>
        <field name="communicationEventId" type="id"></field>
        <field name="statusId" type="id"></field>
        <field name="followUpDate" type="date-time"></field>
        <prim-key field="sfaEventId"/>
          <relation type="one" fk-name="COM_SFA_CMEV"
rel-entity-name="CommunicationEvent">
            <key-map field-name="communicationEventId"/>
          </relation>      
    </entity>

I can associate a CommunicationEvent to a SfaEvent which should allow
for holding the extended information (currently followUpDate and a
separate status). My reason for not just adding a columns to the current
CommunicationEvent is that I wanted an independent workflow . The
workflow  seems to be dictated by StatusItem and StatusValidChange and I
see that CommunicationEvent already has a series of status values
(statusTypeId=COM_EVENT_STATUS).


Stephen Rufle wrote:

> In the current SFA Manager Application I noticed that the Events tab in
> not active. What is the current state of the application for the Event
> section?
>
> We have the following requirements and are hoping that we can use
> existing functionality to fulfill them. If this functionality does not
> currently exist, but a plan is in place on how to proceed then maybe we
> can pitch in.
>
> Create "Events"
>
>     * Telephone calls
>     * Emails
>
>
>     * Addition Information that I think is not being captured.
>           o When should we follow up maybe who also changes
>           o What was the purpose of the call
>
> I started work on a simple Salesman to Customer Contact communication
> system using the CommunicationEvents entities for our current application.
>    
> I defined a Salesman as the logged in user and a Contact as an Employee
> of a Customer. I feel I needed to create two CommunicationEvents for
> single actual communication.
>
> My example is user admin (Salesman) talked to Steve (Contact) at
> "Company X" (Customer) who's Phone number is 888-123-5556 (ContactMech
> for Contact)
>    
> The who called is captured in the parent CommunicationEvent
>
>     * partyIdFrom to partyIdTo
>     * partyIdFrom="admin" partyIdTo="999"
>
> The who did we call is captured in the child CommunicationEvent
>
>     * partyIdFrom to partyIdTo
>     * partyIdFrom="999" partyIdTo="COMP_X_EMP"
>     * COMP_X_EMP indicates it was Steve
>           o contactMechIdTo="COMP_X_TN_01" on the child CommunicationEvent
>           o COMP_X_TN_01 indicates we called (888-123-5556)
>
> Is there a way to do this differently using the SFA events concept? As
> stated above I think the concept of keeping track of when next to call
> Steve and what purpose of the call is currently missing.
>
>     * When did it happen (date / time) - can these be separate or is the
>       convention to use a single field
>     * What was the purpose (from CommunicationEventPrpTyp?)
>           o "follow-up"
>           o "initial call"
>
> Ultimately we would look to use these purposes as a sort of workflow .
> So, if you start with the first call "initial call" then the next action
> may be "follow-up" with a date/time.
>    
> I found the link to
> http://docs.ofbiz.org/display/OFBIZ/CRM+Sales+Force+Automation+Plan
>    
> in a mail thread from March 2008
> http://markmail.org/message/nfpiteahllbe5vae
>    
> What is the current state of work?
>

Index: applications/marketing/config/MarketingUiLabels.xml
===================================================================
--- applications/marketing/config/MarketingUiLabels.xml (revision 740013)
+++ applications/marketing/config/MarketingUiLabels.xml (working copy)
@@ -1556,6 +1556,14 @@
         <value xml:lang="fr">Évènements</value>
         <value xml:lang="it">Eventi</value>
     </property>
+    <property key="SfaFindEvents">
+        <value xml:lang="en">Find Events</value>
+        <value xml:lang="fr">Rechercher les Évènements</value>
+        <value xml:lang="it">Ricerca Eventi</value>
+    </property>
+    <property key="SfaEventSfaEventId">
+        <value xml:lang="en">SFA Event Id</value>
+    </property>
     <property key="SfaFindContacts">
         <value xml:lang="en">Find Contacts</value>
         <value xml:lang="fr">Rechercher les contacts</value>
Index: applications/marketing/script/org/ofbiz/sfa/event/EventServices.xml
===================================================================
--- applications/marketing/script/org/ofbiz/sfa/event/EventServices.xml (revision 0)
+++ applications/marketing/script/org/ofbiz/sfa/event/EventServices.xml (revision 0)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+    <simple-method short-description="Create Event" method-name="createEvent">
+    </simple-method>
+    
+    <simple-method short-description="Find SFA Events" method-name="findSfaEvents">
+    </simple-method>
+</simple-methods>

Property changes on: applications\marketing\script\org\ofbiz\sfa\event\EventServices.xml
___________________________________________________________________
Added: svn:mime-type
   + text/xml

Index: applications/marketing/servicedef/services.xml
===================================================================
--- applications/marketing/servicedef/services.xml (revision 740013)
+++ applications/marketing/servicedef/services.xml (working copy)
@@ -409,6 +409,8 @@
         <attribute name="quickAdd" type="String" mode="IN" optional="true"/>
         <attribute name="extension" type="String" mode="IN" optional="true"/>
     </service>
+
+    <!-- Contact services -->    
     <service name="createContact" engine="simple"
         location="org/ofbiz/sfa/contact/ContactServices.xml" invoke="createContact">
         <description>Create a Contact Person</description>
@@ -442,6 +444,19 @@
         <attribute name="useContactNum2" type="String" mode="IN" optional="true"/>
         <attribute name="useEmail2" type="String" mode="IN" optional="true"/>
     </service>
+    
+    <!-- Event services  -->
+    <service name="createEvent" engine="simple"
+        location="org/ofbiz/sfa/event/EventServices.xml" invoke="createEvent">
+        <description>Create an createEvent</description>
+        <attribute name="soemCrit" type="String" mode="IN" optional="true"/>
+    </service>
+    <service name="findSfaEvents" engine="java"
+        location="org.ofbiz.sfa.SfaServices" invoke="findSfaEvents">
+        <description>Find SFA events</description>
+        <attribute name="soemCrit" type="String" mode="IN" optional="true"/>
+    </service>
+
     <!-- Account services  -->
     <service name="createAccount" engine="simple"
         location="org/ofbiz/sfa/account/AccountServices.xml" invoke="createAccount">
@@ -464,7 +479,7 @@
         <attribute name="partyGroupId" type="String" mode="IN" optional="true"/>
         <attribute name="partyGroupId" type="String" mode="OUT" optional="false"/>
     </service>
-    
+
     <!-- VCard services -->
     <service name="importVCard" engine="java" location="org.ofbiz.sfa.vcard.VCard" invoke="importVCard">
         <attribute name="infile" type="java.nio.ByteBuffer" mode="IN" optional="false"/>
@@ -475,4 +490,4 @@
         <attribute name="partyId" type="String" mode="IN" optional="false"/>
     </service>
     
-</services>
\ No newline at end of file
+</services>
Index: applications/marketing/webapp/sfa/event/findSfaEvent.ftl
===================================================================
--- applications/marketing/webapp/sfa/event/findSfaEvent.ftl (revision 0)
+++ applications/marketing/webapp/sfa/event/findSfaEvent.ftl (revision 0)
@@ -0,0 +1,54 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<#assign extInfo = parameters.extInfo?default("N")>
+<#assign currentUrl="FindEvents"/>
+<#assign title="${uiLabelMap.SfaFindEvents}">
+
+<div class="screenlet">
+  <div class="screenlet-title-bar">
+    <ul>
+      <li class="h3">${title?if_exists}</li>
+    </ul>
+    <br/><br/>
+  </div>
+  <#if parameters.hideFields?default("N") != "Y">
+    <div class="screenlet-body">
+      <form method="post" name="lookupsfaevents" action="<@ofbizUrl>${currentUrl?if_exists}</@ofbizUrl>" class="basic-form">
+        <input type="hidden" name="lookupFlag" value="Y"/>
+        <input type="hidden" name="hideFields" value="Y"/>
+        <table cellspacing="0">
+          <tr>
+            <td>&nbsp;</td>
+            <td>
+              <input type="submit" value="${uiLabelMap.CommonFind}" onClick="javascript:document.lookupparty.submit();"/>
+            </td>
+          </tr>
+        </table>
+      </form>
+    </div>
+  </#if>
+</div>
+
+<#if parameters.hideFields?default("N") != "Y">
+  <script language="JavaScript" type="text/javascript">
+    <!--//
+      document.lookupparty.partyId.focus();
+    //-->
+  </script>
+</#if>
Index: applications/marketing/webapp/sfa/WEB-INF/controller.xml
===================================================================
--- applications/marketing/webapp/sfa/WEB-INF/controller.xml (revision 740013)
+++ applications/marketing/webapp/sfa/WEB-INF/controller.xml (working copy)
@@ -128,6 +128,7 @@
         <event type="service" invoke="createLead"/>
         <response name="success" type="view" value="viewprofile"/>
     </request-map>  
+
     <!-- Contact Requests -->
     <request-map uri="FindContacts">
         <security https="true" auth="true"/>
@@ -174,6 +175,22 @@
         <event type="service" invoke="createContact"/>
         <response name="success" type="view" value="viewprofile"/>
     </request-map>
+    
+    <!-- Event Requests -->
+    <request-map uri="FindEvents">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="FindEvents"/>
+    </request-map>
+    <request-map uri="CreateEvent">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="CreateEvent"/>
+    </request-map>
+    <request-map uri="createEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createEvent"/>
+        <response name="success" type="view" value="viewprofile"/>
+        <response name="error" type="view" value="CreateEvent"/>
+    </request-map>
     
     <!-- Forecast Requests -->
     <request-map uri="FindSalesForecast">
@@ -249,6 +266,9 @@
     <view-map name="MergeContacts" type="screen" page="component://marketing/widget/sfa/ContactScreens.xml#MergeContacts"/>
     <view-map name="CreateContactFromVCard" type="screen" page="component://marketing/widget/sfa/ContactScreens.xml#CreateContactFromVCard"/>
 
+    <view-map name="FindEvents" type="screen" page="component://marketing/widget/sfa/EventScreens.xml#FindEvents"/>
+    <view-map name="CreateEvent" type="screen" page="component://marketing/widget/sfa/EventScreens.xml#CreateEvent"/>
+
     <view-map name="FindSalesForecast" type="screen" page="component://marketing/widget/sfa/ForecastScreens.xml#FindSalesForecast"/>
     <view-map name="EditSalesForecast" type="screen" page="component://marketing/widget/sfa/ForecastScreens.xml#EditSalesForecast"/>
     <view-map name="EditSalesForecastDetail" type="screen" page="component://marketing/widget/sfa/ForecastScreens.xml#EditSalesForecastDetail"/>
@@ -258,4 +278,4 @@
     <view-map name="LookupProductCategory" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProductCategory"/>
     
     <!-- end of view mappings -->
-</site-conf>
\ No newline at end of file
+</site-conf>
Index: applications/marketing/widget/sfa/SfaMenus.xml
===================================================================
--- applications/marketing/widget/sfa/SfaMenus.xml (revision 740013)
+++ applications/marketing/widget/sfa/SfaMenus.xml (working copy)
@@ -23,7 +23,7 @@
         <menu-item name="Contacts" title="${uiLabelMap.SfaContacts}"><link target="FindContacts"/></menu-item>
         <menu-item name="Leads" title="${uiLabelMap.SfaLeads}"><link target="FindLeads"/></menu-item>
         <menu-item name="Competitors" title="${uiLabelMap.SfaCompetitors}"><link target=""/></menu-item>
-        <menu-item name="Events" title="${uiLabelMap.SfaEvents}"><link target=""/></menu-item>
+        <menu-item name="Events" title="${uiLabelMap.SfaEvents}"><link target="FindEvents"/></menu-item>
         <menu-item name="Documents" title="${uiLabelMap.SfaDocuments}"><link target=""/></menu-item>
         <menu-item name="Forecast" title="${uiLabelMap.SfaForecasts}"><link target="FindSalesForecast"/></menu-item>
         <menu-item name="Opportunities" title="${uiLabelMap.SfaOpportunities}"><link target="FindOpportunity"/></menu-item>
@@ -92,6 +92,14 @@
             <link target="CreateContactFromVCard"/>
         </menu-item>
     </menu>    
+    
+    <menu name="EventSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
+          menu-container-style="button-bar button-style-2 no-clear">
+        <menu-item name="CreateEvent" title="${uiLabelMap.CommonCreateNew}">
+            <link target="CreateEvent"/>
+        </menu-item>
+    </menu>
+    
     <menu name="SalesForecastTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
         <menu-item name="EditSalesForecast" title="${uiLabelMap.SfaSalesForecast}">
             <link target="EditSalesForecast?salesForecastId=${parameters.salesForecastId}"/>
Index: applications/order/servicedef/services.xml
===================================================================
--- applications/order/servicedef/services.xml (revision 740013)
+++ applications/order/servicedef/services.xml (working copy)
@@ -294,6 +294,7 @@
     <service name="updateOrderItems" engine="java" auth="true"
             location="org.ofbiz.order.order.OrderServices" invoke="updateApprovedOrderItems">
         <description>Update the quantities/prices for an existing order</description>
+        <attribute name="shoppingCartLoaded" type="org.ofbiz.order.shoppingcart.ShoppingCart" mode="IN" optional="true"/>
         <attribute name="orderId" type="String" mode="INOUT" optional="false"/>
         <attribute name="itemDescriptionMap" type="Map" mode="IN" string-map-prefix="idm_" optional="true"/>
         <attribute name="itemQtyMap" type="Map" mode="IN" string-map-prefix="iqm_" optional="false"/>
Index: applications/order/src/org/ofbiz/order/order/OrderServices.java
===================================================================
--- applications/order/src/org/ofbiz/order/order/OrderServices.java (revision 740013)
+++ applications/order/src/org/ofbiz/order/order/OrderServices.java (working copy)
@@ -3285,7 +3285,7 @@
         // obtain a shopping cart object for updating
         ShoppingCart cart = null;
         try {
-            cart = loadCartForUpdate(dispatcher, delegator, userLogin, orderId);
+            cart = loadCartForUpdate(dispatcher, delegator, userLogin, orderId, cart);
         } catch (GeneralException e) {
             return ServiceUtil.returnError(e.getMessage());
         }
@@ -3354,11 +3354,11 @@
         Map itemReasonMap = (Map) context.get("itemReasonMap");
         Map itemCommentMap = (Map) context.get("itemCommentMap");    
         Map itemAttributesMap = (Map) context.get("itemAttributesMap");
+        ShoppingCart cart = (ShoppingCart) context.get("shoppingCartLoaded");
 
         // obtain a shopping cart object for updating
-        ShoppingCart cart = null;
         try {
-            cart = loadCartForUpdate(dispatcher, delegator, userLogin, orderId);
+            cart = loadCartForUpdate(dispatcher, delegator, userLogin, orderId,cart);
         } catch (GeneralException e) {
             return ServiceUtil.returnError(e.getMessage());
         }
@@ -3527,8 +3527,15 @@
      *           must be stored back using the method saveUpdatedCartToOrder(...),
      *           because that method will recreate the data.
      */
-    private static ShoppingCart loadCartForUpdate(LocalDispatcher dispatcher, GenericDelegator delegator, GenericValue userLogin, String orderId) throws GeneralException {
+    private static ShoppingCart loadCartForUpdate(LocalDispatcher dispatcher, GenericDelegator delegator, GenericValue userLogin, String orderId,ShoppingCart cartLoaded) throws GeneralException {
         // load the order into a shopping cart
+        ShoppingCart cart=null;
+        if (cartLoaded != null)
+        {
+            cart=cartLoaded;
+        }
+        else
+        {
         Map loadCartResp = null;
         try {
             loadCartResp = dispatcher.runSync("loadCartFromOrder", UtilMisc.<String, Object>toMap("orderId", orderId,
@@ -3543,7 +3550,9 @@
             throw new GeneralException(ServiceUtil.getErrorMessage(loadCartResp));
         }
 
-        ShoppingCart cart = (ShoppingCart) loadCartResp.get("shoppingCart");
+            cart = (ShoppingCart) loadCartResp.get("shoppingCart");
+            
+        }
         if (cart == null) {
             throw new GeneralException("Error loading shopping cart from order [" + orderId + "]");
         } else {
@@ -3583,16 +3592,60 @@
                 Map cancelResp = null;
                 try {
                     cancelResp = dispatcher.runSync("cancelOrderInventoryReservation", cancelCtx);
+
+                    List adjExprs = new LinkedList();
+                    adjExprs.add(EntityCondition.makeCondition("orderId", EntityOperator.EQUALS, orderId));
+                    adjExprs.add(EntityCondition.makeCondition("orderItemSeqId", EntityOperator.EQUALS,orderItemSeqId));
+                    adjExprs.add(EntityCondition.makeCondition("shipGroupSeqId", EntityOperator.EQUALS, shipGroupSeqId));
+                    EntityCondition cond = EntityCondition.makeCondition(adjExprs, EntityOperator.AND);
+                    delegator.removeByCondition("OrderItemShipGroupAssoc", cond);
+                
                 } catch (GenericServiceException e) {
                     Debug.logError(e, module);
                     throw new GeneralException(e.getMessage());
                 }
+                 catch (GenericEntityException e) {
+                    Debug.logError(e, module);
+                    throw new GeneralException(e.getMessage());
+                 }
+                
                 if (ServiceUtil.isError(cancelResp)) {
                     throw new GeneralException(ServiceUtil.getErrorMessage(cancelResp));
                 }
+                
+                
             }
         }
 
+        
+        //Remove Order Item Ship Groups
+        List shipGroups=null;
+        try {
+            shipGroups = delegator.findByAnd("OrderItemShipGroup", UtilMisc.toMap("orderId", orderId));
+        } catch (GenericEntityException e) {
+            Debug.logError(e, module);
+            throw new GeneralException(e.getMessage());
+        }
+        
+        if (shipGroups != null) {
+            Iterator iri = shipGroups.iterator();
+            while (iri.hasNext()) {
+                GenericValue shipGroup = (GenericValue) iri.next();
+                String shipGroupSeqId = shipGroup.getString("shipGroupSeqId");
+
+                try {
+                    List adjExprs = new LinkedList();
+                    adjExprs.add(EntityCondition.makeCondition("orderId", EntityOperator.EQUALS, orderId));
+                    adjExprs.add(EntityCondition.makeCondition("shipGroupSeqId", EntityOperator.EQUALS, shipGroupSeqId));
+                    EntityCondition cond = EntityCondition.makeCondition(adjExprs, EntityOperator.AND);
+                    delegator.removeByCondition("OrderItemShipGroup", cond);
+                } catch (GenericEntityException e) {
+                    Debug.logError(e, module);
+                    throw new GeneralException(e.getMessage());
+                }
+            }
+        }
+
         // cancel promo items -- if the promo still qualifies it will be added by the cart
         List promoItems = null;
         try {
Index: applications/party/entitydef/entitymodel.xml
===================================================================
--- applications/party/entitydef/entitymodel.xml (revision 740013)
+++ applications/party/entitydef/entitymodel.xml (working copy)
@@ -890,6 +890,16 @@
         <alias entity-alias="CE" name="partyIdTo" group-by="true"/>
     </view-entity>
 
+ <entity entity-name="SfaEvent" package-name="org.ofbiz.party.communication" title="Sfa Communication Event Entity">
+        <field name="sfaEventId" type="id-ne"></field>
+        <field name="communicationEventId" type="id"></field>
+        <field name="statusId" type="id"></field>
+        <field name="followUpDate" type="date-time"></field>
+        <prim-key field="sfaEventId"/>
+      <relation type="one" fk-name="COM_SFA_CMEV" rel-entity-name="CommunicationEvent">
+        <key-map field-name="communicationEventId"/>
+      </relation>
+    </entity>
   <!-- ========================================================= -->
   <!-- org.ofbiz.party.contact -->
   <!-- ========================================================= -->
Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

Stephen Rufle-2
After closer examination CommunicationEvent looks like it was designed
more to be a series of e-mail's then phone calls. Perhaps this was
easiest for the initial requirements.

Without any relationship to CommunicationEvent I see SfaEvent having
more columns to capture needed information.

    <entity entity-name="SfaEvent"
package-name="org.ofbiz.party.communication" title="Sfa Communication
Event Entity">
        <field name="sfaEventId" type="id-ne"></field>
        <field name="partyIdFrom" type="id"></field> <!-- Logged in
user, maybe we could allow choosing? -->
        <field name="partyIdToAccount" type="id"></field>
        <field name="partyIdToContact" type="id"></field>
        <field name="entryDate" type="date-time"></field>
        <field name="statusId" type="id"></field>
        <field name="followUpDate" type="date-time"></field>
        <prim-key field="sfaEventId"/>
    </entity>

I would also like to ask are there any standard "Sales Force Automation"
schemas. The pdf mentions SugarCRM and I have heard www.salesforce.com
as the other major example when I was doing my initial research. While I
was writing this email I looked at "The Data Model Resource Book" and
see CommunicationEvent. Am I just not seeing how to use
CommunicationEvent properly all by itself?


Stephen Rufle wrote:

> I created a patch that starts on the work that I think is needed for my
> request. The reason I am not creating a JIRA issue is that I think my
> code might be a little rough and would like to know what modification my
> be needed.
>
> I started by stubbing out the "Events" link that was previously not live.
> https://localhost:8443/sfa/control/FindEvents
>
> I tried to use https://localhost:8443/sfa/control/FindContacts as my
> guide for how things are getting done.
>
> When I started this endeavor I thought I could use a combination of
> CommunicationEvent and Soem other existing Entity. I was unable to find
> one that I thought was suitable, so I think creating a new SfaEvent
> entity will give me what I want.
>
> /applications/party/entitydef/entitymodel.xml
>     <entity entity-name="SfaEvent"
> package-name="org.ofbiz.party.communication" title="Sfa Communication
> Event Entity">
>         <field name="sfaEventId" type="id-ne"></field>
>         <field name="communicationEventId" type="id"></field>
>         <field name="statusId" type="id"></field>
>         <field name="followUpDate" type="date-time"></field>
>         <prim-key field="sfaEventId"/>
>           <relation type="one" fk-name="COM_SFA_CMEV"
> rel-entity-name="CommunicationEvent">
>             <key-map field-name="communicationEventId"/>
>           </relation>      
>     </entity>
>
> I can associate a CommunicationEvent to a SfaEvent which should allow
> for holding the extended information (currently followUpDate and a
> separate status). My reason for not just adding a columns to the current
> CommunicationEvent is that I wanted an independent workflow . The
> workflow  seems to be dictated by StatusItem and StatusValidChange and I
> see that CommunicationEvent already has a series of status values
> (statusTypeId=COM_EVENT_STATUS).
>
Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

before you go to far down this path.
communications events is also phone calls
you should investigate all the communication event entities
https://demo.hotwaxmedia.com/webtools/control/ViewRelations?entityName=CommunicationEvent
like role, purpose, contentAssoc



Stephen Rufle sent the following on 2/2/2009 2:21 PM:

> After closer examination CommunicationEvent looks like it was designed
> more to be a series of e-mail's then phone calls. Perhaps this was
> easiest for the initial requirements.
>
> Without any relationship to CommunicationEvent I see SfaEvent having
> more columns to capture needed information.
>
>     <entity entity-name="SfaEvent"
> package-name="org.ofbiz.party.communication" title="Sfa Communication
> Event Entity">
>         <field name="sfaEventId" type="id-ne"></field>
>         <field name="partyIdFrom" type="id"></field> <!-- Logged in
> user, maybe we could allow choosing? -->
>         <field name="partyIdToAccount" type="id"></field>
>         <field name="partyIdToContact" type="id"></field>
>         <field name="entryDate" type="date-time"></field>
>         <field name="statusId" type="id"></field>
>         <field name="followUpDate" type="date-time"></field>
>         <prim-key field="sfaEventId"/>
>     </entity>
>
> I would also like to ask are there any standard "Sales Force Automation"
> schemas. The pdf mentions SugarCRM and I have heard www.salesforce.com
> as the other major example when I was doing my initial research. While I
> was writing this email I looked at "The Data Model Resource Book" and
> see CommunicationEvent. Am I just not seeing how to use
> CommunicationEvent properly all by itself?
>
>
> Stephen Rufle wrote:
>> I created a patch that starts on the work that I think is needed for my
>> request. The reason I am not creating a JIRA issue is that I think my
>> code might be a little rough and would like to know what modification my
>> be needed.
>>
>> I started by stubbing out the "Events" link that was previously not live.
>> https://localhost:8443/sfa/control/FindEvents
>>
>> I tried to use https://localhost:8443/sfa/control/FindContacts as my
>> guide for how things are getting done.
>>
>> When I started this endeavor I thought I could use a combination of
>> CommunicationEvent and Soem other existing Entity. I was unable to find
>> one that I thought was suitable, so I think creating a new SfaEvent
>> entity will give me what I want.
>>
>> /applications/party/entitydef/entitymodel.xml
>>     <entity entity-name="SfaEvent"
>> package-name="org.ofbiz.party.communication" title="Sfa Communication
>> Event Entity">
>>         <field name="sfaEventId" type="id-ne"></field>
>>         <field name="communicationEventId" type="id"></field>
>>         <field name="statusId" type="id"></field>
>>         <field name="followUpDate" type="date-time"></field>
>>         <prim-key field="sfaEventId"/>
>>           <relation type="one" fk-name="COM_SFA_CMEV"
>> rel-entity-name="CommunicationEvent">
>>             <key-map field-name="communicationEventId"/>
>>           </relation>      
>>     </entity>
>>
>> I can associate a CommunicationEvent to a SfaEvent which should allow
>> for holding the extended information (currently followUpDate and a
>> separate status). My reason for not just adding a columns to the current
>> CommunicationEvent is that I wanted an independent workflow . The
>> workflow  seems to be dictated by StatusItem and StatusValidChange and I
>> see that CommunicationEvent already has a series of status values
>> (statusTypeId=COM_EVENT_STATUS).
>>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJh44nrP3NbaWWqE4RAodKAKDO0BC1bdHAHaT9XY8h2wPwI+xe5gCgmh6A
Ali8YiAjXeZrnSu4ua7Rb8Q=
=jIoy
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

https://demo.hotwaxmedia.com/webtools/control/FindGeneric?entityName=CommunicationEventPrpTyp&find=true&VIEW_SIZE=50&VIEW_INDEX=0
has a supportcall
you can add
SalesCall
FollowupSales


BJ Freeman sent the following on 2/2/2009 4:21 PM:

> before you go to far down this path.
> communications events is also phone calls
> you should investigate all the communication event entities
> https://demo.hotwaxmedia.com/webtools/control/ViewRelations?entityName=CommunicationEvent
> like role, purpose, contentAssoc
>
>
>
> Stephen Rufle sent the following on 2/2/2009 2:21 PM:
>> After closer examination CommunicationEvent looks like it was designed
>> more to be a series of e-mail's then phone calls. Perhaps this was
>> easiest for the initial requirements.
>
>> Without any relationship to CommunicationEvent I see SfaEvent having
>> more columns to capture needed information.
>
>>     <entity entity-name="SfaEvent"
>> package-name="org.ofbiz.party.communication" title="Sfa Communication
>> Event Entity">
>>         <field name="sfaEventId" type="id-ne"></field>
>>         <field name="partyIdFrom" type="id"></field> <!-- Logged in
>> user, maybe we could allow choosing? -->
>>         <field name="partyIdToAccount" type="id"></field>
>>         <field name="partyIdToContact" type="id"></field>
>>         <field name="entryDate" type="date-time"></field>
>>         <field name="statusId" type="id"></field>
>>         <field name="followUpDate" type="date-time"></field>
>>         <prim-key field="sfaEventId"/>
>>     </entity>
>
>> I would also like to ask are there any standard "Sales Force Automation"
>> schemas. The pdf mentions SugarCRM and I have heard www.salesforce.com
>> as the other major example when I was doing my initial research. While I
>> was writing this email I looked at "The Data Model Resource Book" and
>> see CommunicationEvent. Am I just not seeing how to use
>> CommunicationEvent properly all by itself?
>
>
>> Stephen Rufle wrote:
>>> I created a patch that starts on the work that I think is needed for my
>>> request. The reason I am not creating a JIRA issue is that I think my
>>> code might be a little rough and would like to know what modification my
>>> be needed.
>>>
>>> I started by stubbing out the "Events" link that was previously not live.
>>> https://localhost:8443/sfa/control/FindEvents
>>>
>>> I tried to use https://localhost:8443/sfa/control/FindContacts as my
>>> guide for how things are getting done.
>>>
>>> When I started this endeavor I thought I could use a combination of
>>> CommunicationEvent and Soem other existing Entity. I was unable to find
>>> one that I thought was suitable, so I think creating a new SfaEvent
>>> entity will give me what I want.
>>>
>>> /applications/party/entitydef/entitymodel.xml
>>>     <entity entity-name="SfaEvent"
>>> package-name="org.ofbiz.party.communication" title="Sfa Communication
>>> Event Entity">
>>>         <field name="sfaEventId" type="id-ne"></field>
>>>         <field name="communicationEventId" type="id"></field>
>>>         <field name="statusId" type="id"></field>
>>>         <field name="followUpDate" type="date-time"></field>
>>>         <prim-key field="sfaEventId"/>
>>>           <relation type="one" fk-name="COM_SFA_CMEV"
>>> rel-entity-name="CommunicationEvent">
>>>             <key-map field-name="communicationEventId"/>
>>>           </relation>      
>>>     </entity>
>>>
>>> I can associate a CommunicationEvent to a SfaEvent which should allow
>>> for holding the extended information (currently followUpDate and a
>>> separate status). My reason for not just adding a columns to the current
>>> CommunicationEvent is that I wanted an independent workflow . The
>>> workflow  seems to be dictated by StatusItem and StatusValidChange and I
>>> see that CommunicationEvent already has a series of status values
>>> (statusTypeId=COM_EVENT_STATUS).
>>>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJh5QorP3NbaWWqE4RAnF3AJ96uJpiaUD9d8CPP0EwOnqDE86npgCfThiJ
jskizgWbx+gckcmxuhItedM=
=VYlZ
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

Stephen Rufle-2
I see "New Communication Work Purpose", but that link seems to go to
"New Communication Content"
https://demo.hotwaxmedia.com/partymgr/control/UpdateCommPurposes?communicationEventId=10001

What is the name of the request that should be used instead? I can fix
that and then investigate using that method to add a purpose to my
"Communication Event".

How does CommunicationEventPrpTyp/CommunicationEventPurpose relate to
"Reason Enum Id" on the "Communication Event"?
"Reason Enum Id" initially seemed to be what I thought was going to end
up being (Initial Call, Followup Call).

I also see Start and Finish date/times as not fitting semantically into
the concept of a sales person should be reminded to follow up at this
Date and Time about the current Event. Would it be useful to add
followUpDate to CommunicationEvent for that purpose?

BJ Freeman wrote:

> https://demo.hotwaxmedia.com/webtools/control/FindGeneric?entityName=CommunicationEventPrpTyp&find=true&VIEW_SIZE=50&VIEW_INDEX=0
> has a supportcall
> you can add
> SalesCall
> FollowupSales
>
>
> BJ Freeman sent the following on 2/2/2009 4:21 PM:
> > before you go to far down this path.
> > communications events is also phone calls
> > you should investigate all the communication event entities
> >
> https://demo.hotwaxmedia.com/webtools/control/ViewRelations?entityName=CommunicationEvent
> > like role, purpose, contentAssoc
>
>
>
> > Stephen Rufle sent the following on 2/2/2009 2:21 PM:
> >> After closer examination CommunicationEvent looks like it was designed
> >> more to be a series of e-mail's then phone calls. Perhaps this was
> >> easiest for the initial requirements.
> >> Without any relationship to CommunicationEvent I see SfaEvent having
> >> more columns to capture needed information.
> >>     <entity entity-name="SfaEvent"
> >> package-name="org.ofbiz.party.communication" title="Sfa Communication
> >> Event Entity">
> >>         <field name="sfaEventId" type="id-ne"></field>
> >>         <field name="partyIdFrom" type="id"></field> <!-- Logged in
> >> user, maybe we could allow choosing? -->
> >>         <field name="partyIdToAccount" type="id"></field>
> >>         <field name="partyIdToContact" type="id"></field>
> >>         <field name="entryDate" type="date-time"></field>
> >>         <field name="statusId" type="id"></field>
> >>         <field name="followUpDate" type="date-time"></field>
> >>         <prim-key field="sfaEventId"/>
> >>     </entity>
> >> I would also like to ask are there any standard "Sales Force
> Automation"
> >> schemas. The pdf mentions SugarCRM and I have heard www.salesforce.com
> >> as the other major example when I was doing my initial research.
> While I
> >> was writing this email I looked at "The Data Model Resource Book" and
> >> see CommunicationEvent. Am I just not seeing how to use
> >> CommunicationEvent properly all by itself?
>
> >> Stephen Rufle wrote:
> >>> I created a patch that starts on the work that I think is needed
> for my
> >>> request. The reason I am not creating a JIRA issue is that I think my
> >>> code might be a little rough and would like to know what
> modification my
> >>> be needed.
> >>>
> >>> I started by stubbing out the "Events" link that was previously
> not live.
> >>> https://localhost:8443/sfa/control/FindEvents
> >>>
> >>> I tried to use https://localhost:8443/sfa/control/FindContacts as my
> >>> guide for how things are getting done.
> >>>
> >>> When I started this endeavor I thought I could use a combination of
> >>> CommunicationEvent and Soem other existing Entity. I was unable to
> find
> >>> one that I thought was suitable, so I think creating a new SfaEvent
> >>> entity will give me what I want.
> >>>
> >>> /applications/party/entitydef/entitymodel.xml
> >>>     <entity entity-name="SfaEvent"
> >>> package-name="org.ofbiz.party.communication" title="Sfa Communication
> >>> Event Entity">
> >>>         <field name="sfaEventId" type="id-ne"></field>
> >>>         <field name="communicationEventId" type="id"></field>
> >>>         <field name="statusId" type="id"></field>
> >>>         <field name="followUpDate" type="date-time"></field>
> >>>         <prim-key field="sfaEventId"/>
> >>>           <relation type="one" fk-name="COM_SFA_CMEV"
> >>> rel-entity-name="CommunicationEvent">
> >>>             <key-map field-name="communicationEventId"/>
> >>>           </relation>      
> >>>     </entity>
> >>>
> >>> I can associate a CommunicationEvent to a SfaEvent which should allow
> >>> for holding the extended information (currently followUpDate and a
> >>> separate status). My reason for not just adding a columns to the
> current
> >>> CommunicationEvent is that I wanted an independent workflow . The
> >>> workflow  seems to be dictated by StatusItem and StatusValidChange
> and I
> >>> see that CommunicationEvent already has a series of status values
> >>> (statusTypeId=COM_EVENT_STATUS).
> >>>

--
Stephen P Rufle
[hidden email]
H1:480-626-8022
H2:480-802-7173
Yahoo IM: stephen_rufle
AOL IM: stephen1rufle

Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ofbiz is a starting point.
so anything is possible.
the screens are not meant to be intuitive but show how the entity engine
works

it is up to the individual consultants, programmers to change it the way
they want it.

you many want to create a new screen that is more intuitive for Sales
people.
You many want to change the wording displayed

https://demo.hotwaxmedia.com/partymgr/control/EditCommunicationEvent?donePage=
would be where you start

if you go to
https://demo.hotwaxmedia.com/webtools/control/ArtifactInfo
type in CommunicationEvent
you will get a list of related entities, services, ECA, forms, and
Screens, you can use for Ideas.

The Data model resource books are also handy to understand how the basic
  entity structure was created.  The Second one deals more with industries.


Stephen Rufle sent the following on 2/2/2009 8:16 PM:

> I see "New Communication Work Purpose", but that link seems to go to
> "New Communication Content"
> https://demo.hotwaxmedia.com/partymgr/control/UpdateCommPurposes?communicationEventId=10001
>
> What is the name of the request that should be used instead? I can fix
> that and then investigate using that method to add a purpose to my
> "Communication Event".
>
> How does CommunicationEventPrpTyp/CommunicationEventPurpose relate to
> "Reason Enum Id" on the "Communication Event"?
> "Reason Enum Id" initially seemed to be what I thought was going to end
> up being (Initial Call, Followup Call).
>
> I also see Start and Finish date/times as not fitting semantically into
> the concept of a sales person should be reminded to follow up at this
> Date and Time about the current Event. Would it be useful to add
> followUpDate to CommunicationEvent for that purpose?
>
> BJ Freeman wrote:
>> https://demo.hotwaxmedia.com/webtools/control/FindGeneric?entityName=CommunicationEventPrpTyp&find=true&VIEW_SIZE=50&VIEW_INDEX=0
>> has a supportcall
>> you can add
>> SalesCall
>> FollowupSales
>>
>>
>> BJ Freeman sent the following on 2/2/2009 4:21 PM:
>>> before you go to far down this path.
>>> communications events is also phone calls
>>> you should investigate all the communication event entities
>>>
>> https://demo.hotwaxmedia.com/webtools/control/ViewRelations?entityName=CommunicationEvent
>>> like role, purpose, contentAssoc
>>
>>
>>> Stephen Rufle sent the following on 2/2/2009 2:21 PM:
>>>> After closer examination CommunicationEvent looks like it was designed
>>>> more to be a series of e-mail's then phone calls. Perhaps this was
>>>> easiest for the initial requirements.
>>>> Without any relationship to CommunicationEvent I see SfaEvent having
>>>> more columns to capture needed information.
>>>>     <entity entity-name="SfaEvent"
>>>> package-name="org.ofbiz.party.communication" title="Sfa Communication
>>>> Event Entity">
>>>>         <field name="sfaEventId" type="id-ne"></field>
>>>>         <field name="partyIdFrom" type="id"></field> <!-- Logged in
>>>> user, maybe we could allow choosing? -->
>>>>         <field name="partyIdToAccount" type="id"></field>
>>>>         <field name="partyIdToContact" type="id"></field>
>>>>         <field name="entryDate" type="date-time"></field>
>>>>         <field name="statusId" type="id"></field>
>>>>         <field name="followUpDate" type="date-time"></field>
>>>>         <prim-key field="sfaEventId"/>
>>>>     </entity>
>>>> I would also like to ask are there any standard "Sales Force
>> Automation"
>>>> schemas. The pdf mentions SugarCRM and I have heard www.salesforce.com
>>>> as the other major example when I was doing my initial research.
>> While I
>>>> was writing this email I looked at "The Data Model Resource Book" and
>>>> see CommunicationEvent. Am I just not seeing how to use
>>>> CommunicationEvent properly all by itself?
>>>> Stephen Rufle wrote:
>>>>> I created a patch that starts on the work that I think is needed
>> for my
>>>>> request. The reason I am not creating a JIRA issue is that I think my
>>>>> code might be a little rough and would like to know what
>> modification my
>>>>> be needed.
>>>>>
>>>>> I started by stubbing out the "Events" link that was previously
>> not live.
>>>>> https://localhost:8443/sfa/control/FindEvents
>>>>>
>>>>> I tried to use https://localhost:8443/sfa/control/FindContacts as my
>>>>> guide for how things are getting done.
>>>>>
>>>>> When I started this endeavor I thought I could use a combination of
>>>>> CommunicationEvent and Soem other existing Entity. I was unable to
>> find
>>>>> one that I thought was suitable, so I think creating a new SfaEvent
>>>>> entity will give me what I want.
>>>>>
>>>>> /applications/party/entitydef/entitymodel.xml
>>>>>     <entity entity-name="SfaEvent"
>>>>> package-name="org.ofbiz.party.communication" title="Sfa Communication
>>>>> Event Entity">
>>>>>         <field name="sfaEventId" type="id-ne"></field>
>>>>>         <field name="communicationEventId" type="id"></field>
>>>>>         <field name="statusId" type="id"></field>
>>>>>         <field name="followUpDate" type="date-time"></field>
>>>>>         <prim-key field="sfaEventId"/>
>>>>>           <relation type="one" fk-name="COM_SFA_CMEV"
>>>>> rel-entity-name="CommunicationEvent">
>>>>>             <key-map field-name="communicationEventId"/>
>>>>>           </relation>      
>>>>>     </entity>
>>>>>
>>>>> I can associate a CommunicationEvent to a SfaEvent which should allow
>>>>> for holding the extended information (currently followUpDate and a
>>>>> separate status). My reason for not just adding a columns to the
>> current
>>>>> CommunicationEvent is that I wanted an independent workflow . The
>>>>> workflow  seems to be dictated by StatusItem and StatusValidChange
>> and I
>>>>> see that CommunicationEvent already has a series of status values
>>>>> (statusTypeId=COM_EVENT_STATUS).
>>>>>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJiDdurP3NbaWWqE4RAoufAKDGS50R0Judz9QA2807WK7p9W9gxACgqnqz
sO3jjnguJcPetgNVSgy20eU=
=sW1X
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

Stephen Rufle-2
I see "New Communication Work Purpose", but that link seems to go to
"New Communication Content"
https://demo.hotwaxmedia.com/partymgr/control/UpdateCommPurposes?communicationEventId=10001


Thanks for the ArtifactInfo link, but the screen named
UpdateCommPurposes in
/ofbiz/applications/party/widget/partymgr/CommunicationScreens.xml line
457 I see that the target for the button is AddCommContent which seems
wrong. I would create a AddCommPurposes screen if one does not already
exist.


BJ Freeman wrote:

> Ofbiz is a starting point.
> so anything is possible.
> the screens are not meant to be intuitive but show how the entity engine
> works
>
> it is up to the individual consultants, programmers to change it the way
> they want it.
>
> you many want to create a new screen that is more intuitive for Sales
> people.
> You many want to change the wording displayed
>
> https://demo.hotwaxmedia.com/partymgr/control/EditCommunicationEvent?donePage=
> would be where you start
>
> if you go to
> https://demo.hotwaxmedia.com/webtools/control/ArtifactInfo
> type in CommunicationEvent
> you will get a list of related entities, services, ECA, forms, and
> Screens, you can use for Ideas.
>
> The Data model resource books are also handy to understand how the basic
>   entity structure was created.  The Second one deals more with
> industries.
>
>
> Stephen Rufle sent the following on 2/2/2009 8:16 PM:
> > I see "New Communication Work Purpose", but that link seems to go to
> > "New Communication Content"
> >
> https://demo.hotwaxmedia.com/partymgr/control/UpdateCommPurposes?communicationEventId=10001
>
> > What is the name of the request that should be used instead? I can fix
> > that and then investigate using that method to add a purpose to my
> > "Communication Event".
>
> > How does CommunicationEventPrpTyp/CommunicationEventPurpose relate to
> > "Reason Enum Id" on the "Communication Event"?
> > "Reason Enum Id" initially seemed to be what I thought was going to end
> > up being (Initial Call, Followup Call).
>
> > I also see Start and Finish date/times as not fitting semantically into
> > the concept of a sales person should be reminded to follow up at this
> > Date and Time about the current Event. Would it be useful to add
> > followUpDate to CommunicationEvent for that purpose?
>
> > BJ Freeman wrote:
> >>
> https://demo.hotwaxmedia.com/webtools/control/FindGeneric?entityName=CommunicationEventPrpTyp&find=true&VIEW_SIZE=50&VIEW_INDEX=0
> >> has a supportcall
> >> you can add
> >> SalesCall
> >> FollowupSales
> >>
> >>
> >> BJ Freeman sent the following on 2/2/2009 4:21 PM:
> >>> before you go to far down this path.
> >>> communications events is also phone calls
> >>> you should investigate all the communication event entities
> >>>
> >>
> https://demo.hotwaxmedia.com/webtools/control/ViewRelations?entityName=CommunicationEvent
> >>> like role, purpose, contentAssoc
> >>
> >>> Stephen Rufle sent the following on 2/2/2009 2:21 PM:
> >>>> After closer examination CommunicationEvent looks like it was
> designed
> >>>> more to be a series of e-mail's then phone calls. Perhaps this was
> >>>> easiest for the initial requirements.
> >>>> Without any relationship to CommunicationEvent I see SfaEvent having
> >>>> more columns to capture needed information.
> >>>>     <entity entity-name="SfaEvent"
> >>>> package-name="org.ofbiz.party.communication" title="Sfa Communication
> >>>> Event Entity">
> >>>>         <field name="sfaEventId" type="id-ne"></field>
> >>>>         <field name="partyIdFrom" type="id"></field> <!-- Logged in
> >>>> user, maybe we could allow choosing? -->
> >>>>         <field name="partyIdToAccount" type="id"></field>
> >>>>         <field name="partyIdToContact" type="id"></field>
> >>>>         <field name="entryDate" type="date-time"></field>
> >>>>         <field name="statusId" type="id"></field>
> >>>>         <field name="followUpDate" type="date-time"></field>
> >>>>         <prim-key field="sfaEventId"/>
> >>>>     </entity>
> >>>> I would also like to ask are there any standard "Sales Force
> >> Automation"
> >>>> schemas. The pdf mentions SugarCRM and I have heard
> www.salesforce.com
> >>>> as the other major example when I was doing my initial research.
> >> While I
> >>>> was writing this email I looked at "The Data Model Resource Book" and
> >>>> see CommunicationEvent. Am I just not seeing how to use
> >>>> CommunicationEvent properly all by itself?
> >>>> Stephen Rufle wrote:
> >>>>> I created a patch that starts on the work that I think is needed
> >> for my
> >>>>> request. The reason I am not creating a JIRA issue is that I
> think my
> >>>>> code might be a little rough and would like to know what
> >> modification my
> >>>>> be needed.
> >>>>>
> >>>>> I started by stubbing out the "Events" link that was previously
> >> not live.
> >>>>> https://localhost:8443/sfa/control/FindEvents
> >>>>>
> >>>>> I tried to use https://localhost:8443/sfa/control/FindContacts as my
> >>>>> guide for how things are getting done.
> >>>>>
> >>>>> When I started this endeavor I thought I could use a combination of
> >>>>> CommunicationEvent and Soem other existing Entity. I was unable to
> >> find
> >>>>> one that I thought was suitable, so I think creating a new SfaEvent
> >>>>> entity will give me what I want.
> >>>>>
> >>>>> /applications/party/entitydef/entitymodel.xml
> >>>>>     <entity entity-name="SfaEvent"
> >>>>> package-name="org.ofbiz.party.communication" title="Sfa
> Communication
> >>>>> Event Entity">
> >>>>>         <field name="sfaEventId" type="id-ne"></field>
> >>>>>         <field name="communicationEventId" type="id"></field>
> >>>>>         <field name="statusId" type="id"></field>
> >>>>>         <field name="followUpDate" type="date-time"></field>
> >>>>>         <prim-key field="sfaEventId"/>
> >>>>>           <relation type="one" fk-name="COM_SFA_CMEV"
> >>>>> rel-entity-name="CommunicationEvent">
> >>>>>             <key-map field-name="communicationEventId"/>
> >>>>>           </relation>      
> >>>>>     </entity>
> >>>>>
> >>>>> I can associate a CommunicationEvent to a SfaEvent which should
> allow
> >>>>> for holding the extended information (currently followUpDate and a
> >>>>> separate status). My reason for not just adding a columns to the
> >> current
> >>>>> CommunicationEvent is that I wanted an independent workflow . The
> >>>>> workflow  seems to be dictated by StatusItem and StatusValidChange
> >> and I
> >>>>> see that CommunicationEvent already has a series of status values
> >>>>> (statusTypeId=COM_EVENT_STATUS).
> >>>>>

Reply | Threaded
Open this post in threaded view
|

Re: SFA Manager Application - Events Tab

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

since this is titled SFA Manager Application
I assumed you would create screens under that application.
Since you are using the SFA controller you can have any screen to to any
other screen, servlet, event.
if you feel it is something that would fit into the SVN feel free to
submit it
http://docs.ofbiz.org/display/OFBIZ/OFBiz+Beginner%27s+Development+Guide+Using+Practice+Application
is a good place to start.



Stephen Rufle sent the following on 2/3/2009 6:57 AM:

> I see "New Communication Work Purpose", but that link seems to go to
> "New Communication Content"
> https://demo.hotwaxmedia.com/partymgr/control/UpdateCommPurposes?communicationEventId=10001
>
>
> Thanks for the ArtifactInfo link, but the screen named
> UpdateCommPurposes in
> /ofbiz/applications/party/widget/partymgr/CommunicationScreens.xml line
> 457 I see that the target for the button is AddCommContent which seems
> wrong. I would create a AddCommPurposes screen if one does not already
> exist.
>
>
> BJ Freeman wrote:
>> Ofbiz is a starting point.
>> so anything is possible.
>> the screens are not meant to be intuitive but show how the entity engine
>> works
>>
>> it is up to the individual consultants, programmers to change it the way
>> they want it.
>>
>> you many want to create a new screen that is more intuitive for Sales
>> people.
>> You many want to change the wording displayed
>>
>> https://demo.hotwaxmedia.com/partymgr/control/EditCommunicationEvent?donePage=
>> would be where you start
>>
>> if you go to
>> https://demo.hotwaxmedia.com/webtools/control/ArtifactInfo
>> type in CommunicationEvent
>> you will get a list of related entities, services, ECA, forms, and
>> Screens, you can use for Ideas.
>>
>> The Data model resource books are also handy to understand how the basic
>>   entity structure was created.  The Second one deals more with
>> industries.
>>
>>
>> Stephen Rufle sent the following on 2/2/2009 8:16 PM:
>>> I see "New Communication Work Purpose", but that link seems to go to
>>> "New Communication Content"
>>>
>> https://demo.hotwaxmedia.com/partymgr/control/UpdateCommPurposes?communicationEventId=10001
>>
>>> What is the name of the request that should be used instead? I can fix
>>> that and then investigate using that method to add a purpose to my
>>> "Communication Event".
>>> How does CommunicationEventPrpTyp/CommunicationEventPurpose relate to
>>> "Reason Enum Id" on the "Communication Event"?
>>> "Reason Enum Id" initially seemed to be what I thought was going to end
>>> up being (Initial Call, Followup Call).
>>> I also see Start and Finish date/times as not fitting semantically into
>>> the concept of a sales person should be reminded to follow up at this
>>> Date and Time about the current Event. Would it be useful to add
>>> followUpDate to CommunicationEvent for that purpose?
>>> BJ Freeman wrote:
>> https://demo.hotwaxmedia.com/webtools/control/FindGeneric?entityName=CommunicationEventPrpTyp&find=true&VIEW_SIZE=50&VIEW_INDEX=0
>>>> has a supportcall
>>>> you can add
>>>> SalesCall
>>>> FollowupSales
>>>>
>>>>
>>>> BJ Freeman sent the following on 2/2/2009 4:21 PM:
>>>>> before you go to far down this path.
>>>>> communications events is also phone calls
>>>>> you should investigate all the communication event entities
>>>>>
>> https://demo.hotwaxmedia.com/webtools/control/ViewRelations?entityName=CommunicationEvent
>>>>> like role, purpose, contentAssoc
>>>>> Stephen Rufle sent the following on 2/2/2009 2:21 PM:
>>>>>> After closer examination CommunicationEvent looks like it was
>> designed
>>>>>> more to be a series of e-mail's then phone calls. Perhaps this was
>>>>>> easiest for the initial requirements.
>>>>>> Without any relationship to CommunicationEvent I see SfaEvent having
>>>>>> more columns to capture needed information.
>>>>>>     <entity entity-name="SfaEvent"
>>>>>> package-name="org.ofbiz.party.communication" title="Sfa Communication
>>>>>> Event Entity">
>>>>>>         <field name="sfaEventId" type="id-ne"></field>
>>>>>>         <field name="partyIdFrom" type="id"></field> <!-- Logged in
>>>>>> user, maybe we could allow choosing? -->
>>>>>>         <field name="partyIdToAccount" type="id"></field>
>>>>>>         <field name="partyIdToContact" type="id"></field>
>>>>>>         <field name="entryDate" type="date-time"></field>
>>>>>>         <field name="statusId" type="id"></field>
>>>>>>         <field name="followUpDate" type="date-time"></field>
>>>>>>         <prim-key field="sfaEventId"/>
>>>>>>     </entity>
>>>>>> I would also like to ask are there any standard "Sales Force
>>>> Automation"
>>>>>> schemas. The pdf mentions SugarCRM and I have heard
>> www.salesforce.com
>>>>>> as the other major example when I was doing my initial research.
>>>> While I
>>>>>> was writing this email I looked at "The Data Model Resource Book" and
>>>>>> see CommunicationEvent. Am I just not seeing how to use
>>>>>> CommunicationEvent properly all by itself?
>>>>>> Stephen Rufle wrote:
>>>>>>> I created a patch that starts on the work that I think is needed
>>>> for my
>>>>>>> request. The reason I am not creating a JIRA issue is that I
>> think my
>>>>>>> code might be a little rough and would like to know what
>>>> modification my
>>>>>>> be needed.
>>>>>>>
>>>>>>> I started by stubbing out the "Events" link that was previously
>>>> not live.
>>>>>>> https://localhost:8443/sfa/control/FindEvents
>>>>>>>
>>>>>>> I tried to use https://localhost:8443/sfa/control/FindContacts as my
>>>>>>> guide for how things are getting done.
>>>>>>>
>>>>>>> When I started this endeavor I thought I could use a combination of
>>>>>>> CommunicationEvent and Soem other existing Entity. I was unable to
>>>> find
>>>>>>> one that I thought was suitable, so I think creating a new SfaEvent
>>>>>>> entity will give me what I want.
>>>>>>>
>>>>>>> /applications/party/entitydef/entitymodel.xml
>>>>>>>     <entity entity-name="SfaEvent"
>>>>>>> package-name="org.ofbiz.party.communication" title="Sfa
>> Communication
>>>>>>> Event Entity">
>>>>>>>         <field name="sfaEventId" type="id-ne"></field>
>>>>>>>         <field name="communicationEventId" type="id"></field>
>>>>>>>         <field name="statusId" type="id"></field>
>>>>>>>         <field name="followUpDate" type="date-time"></field>
>>>>>>>         <prim-key field="sfaEventId"/>
>>>>>>>           <relation type="one" fk-name="COM_SFA_CMEV"
>>>>>>> rel-entity-name="CommunicationEvent">
>>>>>>>             <key-map field-name="communicationEventId"/>
>>>>>>>           </relation>      
>>>>>>>     </entity>
>>>>>>>
>>>>>>> I can associate a CommunicationEvent to a SfaEvent which should
>> allow
>>>>>>> for holding the extended information (currently followUpDate and a
>>>>>>> separate status). My reason for not just adding a columns to the
>>>> current
>>>>>>> CommunicationEvent is that I wanted an independent workflow . The
>>>>>>> workflow  seems to be dictated by StatusItem and StatusValidChange
>>>> and I
>>>>>>> see that CommunicationEvent already has a series of status values
>>>>>>> (statusTypeId=COM_EVENT_STATUS).
>>>>>>>
>
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJiJjNrP3NbaWWqE4RAkZEAKC2cYtGxns6HIuhJOoEQPGUL0XwDwCggJVI
auvhYJN1/EulnN8osvdUoII=
=/V4/
-----END PGP SIGNATURE-----