Add custom field to inbox

I'm sure I've done this in the past but for the past few days I have been having issues making this configuration work. I am trying to add a field to the inbox in WebTop (6.7 SP2). The modifications I have done for this so far are:

Created a InboxNlsProp.properties to include

     MSG_WORKORDER=Work Order #

Extended inboxlist_component.xml

     Referenced the <nlsbundle> created above

     Modified the <pages> to reference inbox_list.jsp below

     Added column information

          <column>

               <attribute>workorder</attribute>

               <label>

                    <nlsid>MSG_WORKORDER</nlsid>

               </label>

               <visible>true</visible>

          </column>

Modified inbox_list.jsp to reference inbox_list_body.jsp below

Modified inbox_list_body.jsp <dmf:celllist>

     <dmf:celltemplate field='workorder'>

     <dmf:datagridTh scope='col' cssclass='doclistfilenamedatagrid leftAlignment' resizable="true">

     <b><nobr><dmf:datasortlink cssclass='doclistbodyDatasortlink' name='sort14' nlsid='MSG_WORKORDER' column='workorder'/></nobr></b>

     </dmf:datagridTh>

     </dmf:celltemplate>

    

     <dmf:celltemplate field='workorder'>

     <dmf:datagridRowTd nowrap="true" cssclass='doclistfilenamedatagrid'>

     <dmf:label datafield='workorder'/>

     </dmf:datagridRowTd>

     </dmf:celltemplate>

When I bring up the inbox I do not see the new field Work Order # in the list of fields. I see it as one of the options that can be added to the inbox but when it is added to the list of inbox items it does not show up in the inbox. Any advice on what I might be missing would be greatly appreciated.

Answers

  • edited August 2016

    Are you sure that workorder attribute is getting returned as part of the component class?  You may have decompile the component class to see the logic and how inbox query is written.

  • edited August 2016

    Thank you for your reply. As I'm not positive the attribute is being returned I modified the inbox_list_body.jsp to use constant data:

    <dmf:celltemplate field='workorder'>

    <dmf:datagridRowTd nowrap="true" cssclass='doclistfilenamedatagrid'>

    <%

    String workorder = "Test";

    %>

    <dmf:label label='<%=workorder%>'/>

    </dmf:datagridRowTd>

    </dmf:celltemplate>

    When I tried removing the <dmf:celltemplate .. > tags the data for the column showed up in the list but not the column header - simply pushed all the other data over to the right.

    Could referencing the workorder under the celltemplate field attribute be causing issues? Right now I'm at a point I just want to be able to get the field to be visible, then I will work on the data -- I'm sure I have done this before but either I'm missing something or I'm mixing up methods of doing it so as to make what I am doing invalid.

    Any ideas?

  • PanfilovABPanfilovAB blog.documentum.pro
    edited August 2016

  • edited August 2016

    Thank you for your reply. I had followed those instructions and released that inbox type modification to our production environment a while back. However, after it was released to production we noticed quite large performance impact in sorting the inbox -- I believe this is caused by each custom record is loaded one line at a time -- this caused our system to come to nearly a stand still and had to be rolled back.

    After some more testing I have found my issue is not specifically with adding any field to the inbox but adding a new field that previously did not exist in the select statement for the inbox.

    What I have done so far is I have overridden the InboxClassic.updateDatagridControl function which has allowed me to grab the dql that is being sent to the inbox as well as modify it to send a new dql statement. In testing to verify this is working as expected I added a new field to the inbox pointing to item_name and changed the dql to be 'TEST' AS item_name for that field. When I loaded the inbox I correctly saw data under this new field as TEST which confirms to me that the dql is being passed correctly from that procedure to the inbox.

    The issue I am having at this point is I also created a new field as 'TEST2' AS aaa_workorder. When I add this field to the form I do not get any data and the field does not appear with even a column header in the inbox. Is there some master list that specifies what is a valid attribute to reference (ie. item_name is valid and therefore can be displayed in the inbox, aaa_workorder is not valid and ignore?).

    protected void updateDatagridControl()

    {

         super.updateDatagridControl();

         try (

              String oldQuery = getInboxService().getInboxQuery();

              System.out.println("Old Query: " + oldQuery);

              String result;

              result = "SELECT content_type, date_sent, dependency_type, due_date, event, item_id, 'TEST' AS item_name, item_type, priority, r_object_id, router_id, sent_by, task_name, task_subject, task_number, task_state, source_docbase, source_event, message, 'TEST2' AS aaa_workorder ";

              result += "FROM dmi_queue_item ";

              result += "WHERE (name IN ( [list as provided by oldQuery] ) AND delete_flag = 0 ";

              result += "ORDER BY 2 DESC";

              Datagrid datagrid = (Datagrid)getControl("__DATAGRID_CONTROL_NAME", com.documentum.web.form.control.databound.Datagrid.class);

              DataProvider = provider = datagrid.getDataProvider();

              provider.getDfSession(getDfSession());

              provider.clearResults();

              provider.setQuery(result);

              intcurrentPage = provider.getCurrentPage();

              if (currentPage != -1)

              {   

                   provider.initiBind();

                   provider.setCurrentPage(currentPage);

              }

             

              System.out.println(New Query: " + result);
         }

         catch (DfException e) {

              e.printStackTrace();

         }

  • srand2, can you please help by posting the detailed steps to customise the webtop inbox.

  • @PanfilovAB said:

    your comment is not visible, not sure why? can you please provide steps to customize webtop inbox component to add attachment attributes as column.

Sign In or Register to comment.