New Group Favorite Functionality in Infor CRM 8.3.06

One of the new features introduced in 8.3.06 is the concept of favorite groups. Previously a user saw all groups that were released to them when they went to a page in the web client. This caused performance problems to load all of these groups when the page was rendered- especially once you got above 100 groups for a page.

Infor’s solution to this is to allow defining a maximum number of groups to allow on any one page. The default number is 30. Only the groups marked as a user’s “favorite” are shown. The user can have up to the max number of groups marked as a favorite. There are a few issues with this approach (which I wont get into here) but it has lergely prevented one of the big performance issues in the web client.

When you install the Core 8.3.06 components, you get a new version of the ConversionUtility.exe placed in the Saleslogix install folder. This is version 8.3.0.2655. A previous version of this same named conversion utility exists prior to 8.3.06. You need to have run the previous version first before you upgrade to 8.3.06 and then run this new version at that time. One of the options in the new conversion utility is to “Create default favorite groups”.

What this step does is, for each user, it writes data to the USEROPTIONS table like this:

INSERT INTO SYSDBA.USEROPTIONS 
(OPTIONID, USERID, CATEGORY, NAME, OPTIONVALUE, LOCKED,CREATEDATE,CREATEUSER,MODIFYDATE,MODIFYUSER) 
VALUES (
'QDEMOA000JR2', 
'UDEMOA00000O', 
'MAINVIEW', 
'SETTINGS', 
'{"UserFavorites":[{"pluginId":"p6UJ9A00024K","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"My Accounts"},{"pluginId":"p6UJ9A00024L","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"My History"},{"pluginId":"p6UJ9A00024M","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"My Leads"},{"pluginId":"p6UJ9A00024N","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"My Prospects"},{"pluginId":"p6UJ9A00024Q","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Status = Duplicate"},{"pluginId":"p6UJ9A00024P","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Status = Purge"},{"pluginId":"p6UJ9A00024G","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"All Accounts"},{"pluginId":"p6UJ9A00024O","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Partners"},{"pluginId":"p6UJ9A00024J","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Duplicate Suspects"},{"pluginId":"p6UJ9A00024H","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Latest Accounts"},{"pluginId":"p6UJ9A00024I","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Customers"},{"pluginId":"p6UJ9A0003NP","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Active Campaigns"},{"pluginId":"p6UJ9A0004LR","basedOnPluginId":null,"pluginFamily":"Account","pluginName":"Open Responses"},{"pluginId":"p6UJ9A0004VI","basedOnPluginId":null,"pluginFamily":"ACCOUNT","pluginName":"ImportedAccounts"},{"pluginId":"p6UJ9A0005CC","basedOnPluginId":null,"pluginFamily":"ACCOUNT","pluginName":"PromotedAccounts"},{"pluginId":"p6UJ9A0004WX","basedOnPluginId":null,"pluginFamily":"AREACATEGORYISSUE","pluginName":"All"},{"pluginId":"pDEMOA0000IZ","basedOnPluginId":null,"pluginFamily":"BODMAPPING","pluginName":"CustomBODMappings"},{"pluginId":"pDEMOA0000J0","basedOnPluginId":null,"pluginFamily":"BODMAPPING","pluginName":"StandardBODMappings"},{"pluginId":"pDEMOA0000J1","basedOnPluginId":null,"pluginFamily":"BODMAPPING","pluginName":"InactiveBODMappings"},{"pluginId":"pDEMOA0000J2","basedOnPluginId":null,"pluginFamily":"BODMAPPING","pluginName":"AllBODMapping"},{"pluginId":"pDEMOA0000J3","basedOnPluginId":null,"pluginFamily":"BODMAPPING","pluginName":"Active BOD Mappings"},{"pluginId":"p6UJ9A0003NK","basedOnPluginId":null,"pluginFamily":"CAMPAIGN","pluginName":"All Campaigns"},{"pluginId":"p6UJ9A0003NL","basedOnPluginId":null,"pluginFamily":"CAMPAIGN","pluginName":"My Campaigns"},{"pluginId":"p6UJ9A0003NM","basedOnPluginId":null,"pluginFamily":"CAMPAIGN","pluginName":"Open Campaign Tasks"},{"pluginId":"p6UJ9A0003NN","basedOnPluginId":null,"pluginFamily":"CAMPAIGN","pluginName":"Open Campaigns"},{"pluginId":"p6UJ9A0003NO","basedOnPluginId":null,"pluginFamily":"CAMPAIGN","pluginName":"Overdue Campaign Tasks"},{"pluginId":"p6UJ9A0004V0","basedOnPluginId":null,"pluginFamily":"COMPETITOR","pluginName":"All Competitors"},{"pluginId":"p6UJ9A00050P","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"Active Campaigns"},{"pluginId":"p6UJ9A00050Q","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"All Contacts"},{"pluginId":"p6UJ9A00050R","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"Do Not Solicit"},{"pluginId":"pDEMOA0000JB","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"Duplicate Emails"},{"pluginId":"p6UJ9A00050T","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"Latest Contacts"},{"pluginId":"p6UJ9A00050U","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"My Activities for Today"},{"pluginId":"p6UJ9A00050V","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"My Contacts"},{"pluginId":"p6UJ9A00050W","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"My History"},{"pluginId":"p6UJ9A00050X","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"Status = Duplicate"},{"pluginId":"p6UJ9A00050Y","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"Status = Purge"},{"pluginId":"p6UJ9A00051A","basedOnPluginId":null,"pluginFamily":"Contact","pluginName":"Authorized Contacts"},{"pluginId":"p6UJ9A00051B","basedOnPluginId":null,"pluginFamily":"CONTACT","pluginName":"Web-Enabled Contacts"},{"pluginId":"p6UJ9A0005JT","basedOnPluginId":null,"pluginFamily":"CONTACT","pluginName":"MissingEmailsForCustPort"},{"pluginId":"p6UJ9A0004TS","basedOnPluginId":null,"pluginFamily":"CONTRACT","pluginName":"Active Contracts"},{"pluginId":"p6UJ9A0004TT","basedOnPluginId":null,"pluginFamily":"CONTRACT","pluginName":"All Contracts"},{"pluginId":"p6UJ9A0004TU","basedOnPluginId":null,"pluginFamily":"CONTRACT","pluginName":"Pending Expirations"},{"pluginId":"p6UJ9A0004VK","basedOnPluginId":null,"pluginFamily":"DEDUPJOB","pluginName":"AllDeDupJobs"},{"pluginId":"p6UJ9A0004VL","basedOnPluginId":null,"pluginFamily":"DEDUPRESULT","pluginName":"AllDeDupResults"},{"pluginId":"p6UJ9A0003H1","basedOnPluginId":null,"pluginFamily":"DEFECT","pluginName":"All Defects"},{"pluginId":"p6UJ9A0003H2","basedOnPluginId":null,"pluginFamily":"DEFECT","pluginName":"My Defects"},{"pluginId":"p6UJ9A0003H3","basedOnPluginId":null,"pluginFamily":"DEFECT","pluginName":"Open Defects"},{"pluginId":"p6UJ9A0003H4","basedOnPluginId":null,"pluginFamily":"DEFECT","pluginName":"Pending Defects"},{"pluginId":"p6UJ9A0003H5","basedOnPluginId":null,"pluginFamily":"DEFECT","pluginName":"SpeedSearch Defects"},{"pluginId":"p6UJ9A0003H6","basedOnPluginId":null,"pluginFamily":"DEFECT","pluginName":"Unassigned Defects"},{"pluginId":"p6UJ9A0004WY","basedOnPluginId":null,"pluginFamily":"DEFECTACTIVITYRATE","pluginName":"AllRates"},{"pluginId":"p6UJ9A0004UY","basedOnPluginId":null,"pluginFamily":"DEPARTMENTVIEW","pluginName":"All Departments"},{"pluginId":"p6UJ9A0004UN","basedOnPluginId":null,"pluginFamily":"HISTORY","pluginName":"All History"},{"pluginId":"p6UJ9A0004UO","basedOnPluginId":null,"pluginFamily":"HISTORY","pluginName":"Completed Activities"},{"pluginId":"p6UJ9A0004UP","basedOnPluginId":null,"pluginFamily":"HISTORY","pluginName":"My Completed Activities"},{"pluginId":"p6UJ9A0004UQ","basedOnPluginId":null,"pluginFamily":"HISTORY","pluginName":"My Notes"},{"pluginId":"p6UJ9A0004JT","basedOnPluginId":null,"pluginFamily":"IMPORTHISTORY","pluginName":"Lead Import History"},{"pluginId":"p6UJ9A0005JU","basedOnPluginId":null,"pluginFamily":"IMPORTHISTORY","pluginName":"All Import History"},{"pluginId":"p6UJ9A0005F0","basedOnPluginId":null,"pluginFamily":"INTEGRATION","pluginName":"AllIntegrations"},{"pluginId":"p6UJ9A0004LS","basedOnPluginId":null,"pluginFamily":"LEAD","pluginName":"All Leads"},{"pluginId":"p6UJ9A0004LT","basedOnPluginId":null,"pluginFamily":"LEAD","pluginName":"Latest Leads"},{"pluginId":"p6UJ9A0004LU","basedOnPluginId":null,"pluginFamily":"LEAD","pluginName":"My Leads"},{"pluginId":"p6UJ9A0004LV","basedOnPluginId":null,"pluginFamily":"LEAD","pluginName":"Touched Leads"},{"pluginId":"p6UJ9A0004LW","basedOnPluginId":null,"pluginFamily":"LEAD","pluginName":"Untouched Leads"},{"pluginId":"p6UJ9A0004US","basedOnPluginId":null,"pluginFamily":"LEADSOURCE","pluginName":"AllLeadSources"},{"pluginId":"p6UJ9A0004VA","basedOnPluginId":null,"pluginFamily":"LITERATURE","pluginName":"All Literature Items"},{"pluginId":"p6UJ9A0005J1","basedOnPluginId":null,"pluginFamily":"LITREQUEST","pluginName":"All Open"},{"pluginId":"p6UJ9A0005CE","basedOnPluginId":null,"pluginFamily":"OAUTHPROVIDER","pluginName":"AllProviders"},{"pluginId":"p6UJ9A000250","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"All Opportunities"},{"pluginId":"p6UJ9A000254","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"My History"},{"pluginId":"p6UJ9A000255","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"My Open Opps"},{"pluginId":"p6UJ9A000256","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"My Opportunities"},{"pluginId":"p6UJ9A000251","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"Latest Opportunities"},{"pluginId":"p6UJ9A0003RA","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"Closed - Lost"},{"pluginId":"p6UJ9A0003RB","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"Closed - Won"},{"pluginId":"p6UJ9A0003V2","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"Sales Processes"},{"pluginId":"p6UJ9A0004UI","basedOnPluginId":null,"pluginFamily":"OPPORTUNITY","pluginName":"All Open"},{"pluginId":"p6UJ9A0004UJ","basedOnPluginId":null,"pluginFamily":"OPPORTUNITY","pluginName":"My Closed Opportunities"},{"pluginId":"p6UJ9A0004UK","basedOnPluginId":null,"pluginFamily":"Opportunity","pluginName":"My Open Opportunities"},{"pluginId":"p6UJ9A0004UL","basedOnPluginId":null,"pluginFamily":"OPPORTUNITY","pluginName":"My Pipeline"},{"pluginId":"p6UJ9A0004UM","basedOnPluginId":null,"pluginFamily":"OPPORTUNITY","pluginName":"My Top Opportunities"},{"pluginId":"p6UJ9A0004UT","basedOnPluginId":null,"pluginFamily":"PACKAGES","pluginName":"All Packages"},{"pluginId":"p6UJ9A0004UX","basedOnPluginId":null,"pluginFamily":"PICKLISTVIEW","pluginName":"All Pick Lists"},{"pluginId":"pDEMOA0000J5","basedOnPluginId":null,"pluginFamily":"PLACE","pluginName":"AllPlaces"},{"pluginId":"pDEMOA0000J6","basedOnPluginId":null,"pluginFamily":"PLACE","pluginName":"MyPlaces"},{"pluginId":"pDEMOA0000J7","basedOnPluginId":null,"pluginFamily":"PLACE","pluginName":"SharedPlaces"},{"pluginId":"p6UJ9A0004VM","basedOnPluginId":null,"pluginFamily":"PRODUCT","pluginName":"All Products"},{"pluginId":"p6UJ9A0004VN","basedOnPluginId":null,"pluginFamily":"PRODUCT","pluginName":"Available Products"},{"pluginId":"p6UJ9A0004VO","basedOnPluginId":null,"pluginFamily":"PRODUCT","pluginName":"Discontinued Products"},{"pluginId":"p6UJ9A0004VH","basedOnPluginId":null,"pluginFamily":"QUALIFICATION_CATEGORY","pluginName":"All Qualifications"},{"pluginId":"p6UJ9A000510","basedOnPluginId":null,"pluginFamily":"RESOURCELIST","pluginName":"All Resources"},{"pluginId":"p6UJ9A0003H7","basedOnPluginId":null,"pluginFamily":"RMA","pluginName":"All Returns"},{"pluginId":"p6UJ9A0003H8","basedOnPluginId":null,"pluginFamily":"RMA","pluginName":"Expected Returns"},{"pluginId":"p6UJ9A0003H9","basedOnPluginId":null,"pluginFamily":"RMA","pluginName":"My Returns"},{"pluginId":"p6UJ9A0003HA","basedOnPluginId":null,"pluginFamily":"RMA","pluginName":"Open Returns"},{"pluginId":"p6UJ9A0003HB","basedOnPluginId":null,"pluginFamily":"RMA","pluginName":"Products in Repair"},{"pluginId":"p6UJ9A0003HC","basedOnPluginId":null,"pluginFamily":"RMA","pluginName":"Received Returns"},{"pluginId":"p6UJ9A0003HD","basedOnPluginId":null,"pluginFamily":"RMA","pluginName":"Returns Needing PO"},{"pluginId":"p6UJ9A0004VB","basedOnPluginId":null,"pluginFamily":"ROLE","pluginName":"All Roles"},{"pluginId":"p6UJ9A0003RC","basedOnPluginId":null,"pluginFamily":"SALESDASHBOARD","pluginName":"Sales Dashboard"},{"pluginId":"p6UJ9A0004VQ","basedOnPluginId":null,"pluginFamily":"SALESORDER","pluginName":"My Sales Orders"},{"pluginId":"p6UJ9A0004VP","basedOnPluginId":null,"pluginFamily":"SALESORDER","pluginName":"All Sales Orders"},{"pluginId":"p6UJ9A0004VV","basedOnPluginId":null,"pluginFamily":"SECUREDACTION","pluginName":"All Secured Actions"},{"pluginId":"p6UJ9A0004VT","basedOnPluginId":null,"pluginFamily":"SYNCJOB","pluginName":"Latest Sync Jobs"},{"pluginId":"p6UJ9A0005CF","basedOnPluginId":null,"pluginFamily":"SYNCJOB","pluginName":"AllSyncJobs"},{"pluginId":"p6UJ9A0005F2","basedOnPluginId":null,"pluginFamily":"SYNCRESULT","pluginName":"AllSyncResults"},{"pluginId":"p6UJ9A0005F3","basedOnPluginId":null,"pluginFamily":"SYNCRESULT","pluginName":"Latest Sync Results"},{"pluginId":"p6UJ9A0005F4","basedOnPluginId":null,"pluginFamily":"SYNCRESULT","pluginName":"My History"},{"pluginId":"p6UJ9A0005F5","basedOnPluginId":null,"pluginFamily":"SYNCRESULT","pluginName":"Today"},{"pluginId":"p6UJ9A0004UZ","basedOnPluginId":null,"pluginFamily":"TEAMVIEW","pluginName":"All Teams"},{"pluginId":"p6UJ9A000348","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"All Open"},{"pluginId":"p6UJ9A00034A","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"My Tickets"},{"pluginId":"p6UJ9A00034B","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"Overdue"},{"pluginId":"p6UJ9A00034D","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"Unassigned"},{"pluginId":"p6UJ9A0004DK","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"Punched In"},{"pluginId":"p6UJ9A0004I7","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"Web Portal All Tickets"},{"pluginId":"p6UJ9A0004I8","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"Web Portal Closed Tickets"},{"pluginId":"p6UJ9A0004I9","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"Web Portal Open Tickets"},{"pluginId":"p6UJ9A0004LX","basedOnPluginId":null,"pluginFamily":"TICKET","pluginName":"Follow-Up"},{"pluginId":"p6UJ9A0004WZ","basedOnPluginId":null,"pluginFamily":"TICKETACTIVITYRATE","pluginName":"AllTicketActivityRates"},{"pluginId":"p6UJ9A0004X0","basedOnPluginId":null,"pluginFamily":"TICKETAREAOWNER","pluginName":"All"},{"pluginId":"p6UJ9A0004VF","basedOnPluginId":null,"pluginFamily":"TICKETPROBLEMTYPE","pluginName":"All Standard Problems"},{"pluginId":"p6UJ9A0004VE","basedOnPluginId":null,"pluginFamily":"TICKETSOLUTIONTYPE","pluginName":"All Standard Resolutions"},{"pluginId":"p6UJ9A000511","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"AllUsers"},{"pluginId":"p6UJ9A000512","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"WebUsers"},{"pluginId":"p6UJ9A000513","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"Templates"},{"pluginId":"p6UJ9A000514","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"RemoteUsers"},{"pluginId":"p6UJ9A000515","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"RetiredUsers"},{"pluginId":"p6UJ9A000516","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"NetworkUsers"},{"pluginId":"p6UJ9A000517","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"ConcurrentUsers"},{"pluginId":"p6UJ9A000518","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"WebViewerUsers"},{"pluginId":"p6UJ9A000519","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"Users With Failed Logins"},{"pluginId":"p6UJ9A0005CG","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"Integrations"},{"pluginId":"p6UJ9A0005JV","basedOnPluginId":null,"pluginFamily":"USERSECURITY","pluginName":"MissingEmails"}]}', 
'F',
'20170503 19:21:15',
'ADMIN',
'20170503 19:21:15',
'ADMIN'
)

INSERT INTO SYSDBA.USEROPTIONS 
(OPTIONID, USERID, CATEGORY, NAME, OPTIONVALUE, LOCKED,CREATEDATE,CREATEUSER,MODIFYDATE,MODIFYUSER) 
VALUES (
'QDEMOA000JQ2', 
'UDEMOA00000O', 
'MAINVIEW', 
'HIDDENGROUPS', 
'pDEMOA0000J9
pDEMOA0000JA
pDEMOA0000JC
p6UJ9A0004VR
', 
'F',
'20170503 19:21:15',
'ADMIN',
'20170503 19:21:15',
'ADMIN'
)

That is a lot to look at, but basically it adds two rows for each user. Both have a category = “MAINVIEW” and one has a name =”SETTINGS” and the other a name = “HIDDENGROUPS”. The “SETTINGS” row has the OptionValue set to an array of which groups are defined as the favorites at all areas of the client. Pretty ugly to look at and even uglier to try to manipulate via SQL. Seems like this area wasn’t fully thought out.

Regardless, without running this step when you log into the web client any area you go to has no groups showing other than the “Lookup Results” group. After running this you will have the default groups showing.

Users and the administrator can define these favorite groups. See the web client’s online help regarding this.
https://docs.infor.com/crm/8.3/webclient/en-us/content/manage/using_the_group_manager_view.htm

ABOUT THE AUTHOR

Kris Halsrud

Kris Halsrud is a Senior Analyst / Developer for Customer FX Corporation.

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) news and product updates!

You have Successfully Subscribed!