Bottom Panel - Use of Tabs to Display Meetings, Calls, Etc - Advice Needed Please

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • crmscot
    Member
    • Jun 2014
    • 54

    Bottom Panel - Use of Tabs to Display Meetings, Calls, Etc - Advice Needed Please

    I'm trying to use tabs in the bottom panel to display information related to accounts and contacts - e.g. meetings, emails, calls, etc. I think I need a simple step-by-step guide on how to use this new feature because I can't get it to work correctly.

    Using a clean install of V8.0.5:-

    I've looked at all the suggestions I can find on-line on how to do this but must be missing something.

    The furthest I can get is creating a tab for, let's say, meetings but it displays the message 'no data' unless I add a new meeting from the tab itself. If I refresh the record, only that meeting shows on the tab.

    From the account record, the standard contacts tab works just fine in the bottom panel and I'm trying to replicate that functionality for other entities but I must be missing something obvious.

    As the icing on the cake, does anyone know if it's possible to add bottom panel tabs for activities and history (just like the side panels but at the bottom)?

    Any advice on how to achieve this will be much appreciated.​
  • yuri
    Member
    • Mar 2014
    • 8440

    #2
    > The furthest I can get is creating a tab for, let's say, meetings but it displays the message 'no data' unless I add a new meeting from the tab itself. If I refresh the record, only that meeting shows on the tab.

    Maybe some bug. If you could describe steps to reproduce it would help to solve it.

    There was a bug with bottom tabs fixed in v8.0.6 but it was happening in rare specific cases, unlikely your case.
    If you find EspoCRM good, we would greatly appreciate if you could give the project a star on GitHub. We believe our work truly deserves more recognition. Thanks.

    Comment

    • crmscot
      Member
      • Jun 2014
      • 54

      #3
      Hi Yuri
      Here's a note of the steps I've tried:-

      Create fresh install of V8.0.5 with empty database. Upgrade to V8.0.6
      As admin user add 1 account record, 2 contact records linked to account, 2 meetings – one held, one planned both linked to account and one contact.
      For account and contact, the side panels display activity and history correctly as expected.

      Attempt 1:
      Administration > Entity Manager > Meeting > Relationships
      Edit meetings many to many contacts – add layout list (for Account) on right hand side
      Check Administration > Entity Manager > Contact > Relationships
      Edit contact many-to-many and confirm layout list (for Account) is now present on left hand side (this is the only layout available in the drop down list)
      Administration > Entity Manager > Contact > Layouts - Problem - List (for Account) is not on lists of disabled/enabled layouts for Bottom Panels

      Attempt 2:
      Create new custom layout for meetings – List (for Contact) – Problem - new layout not showing in dropdowns for either meeting or contact relationship layout boxes.

      Attempt 3:
      Administration > Entity Manager > Meeting > Relationships
      Create new many-to-many relationship with contact. Still only List (for Account) can be selected in layout drop down. Select this.
      Administration > Entity Manager > Contact > Layouts > Bottom Panels
      Can now drag Tab Break and Meetings1 from Disabled to Enabled
      Clear Cache and Rebuild
      Select contact record and meetings tab now appears at bottom of main record. The panel is entitled Meetings1, however, it only shows a message ‘No Data’
      If I click on the + in this new bottom tab panel, I can add a new meeting record successfully. It is then correctly displayed in both the side panel and the new bottom tab panel.
      Refreshing the contact record display shows all three meetings in the side panels but only the third meeting in the bottom panel.

      Hope this is helpful Yuri.

      Comment

      • yuri
        Member
        • Mar 2014
        • 8440

        #4
        > It is then correctly displayed in both the side panel

        It's not supposed to be added there. I did a test, it was not.

        Your new relationship and the standard one are different. They should not be somehow connected.

        BTW, it's not necessary to select Layout. You can keep it empty.
        If you find EspoCRM good, we would greatly appreciate if you could give the project a star on GitHub. We believe our work truly deserves more recognition. Thanks.

        Comment

        • yuri
          Member
          • Mar 2014
          • 8440

          #5
          This parameter disabled the meetings panel in the bottom layout: https://github.com/espocrm/espocrm/b...tact.json#L608

          You can set it to false in the custom folder. Then you will be able to add the Meetings panel to the bottom. But it can conflict with the Activities and History panels.
          If you find EspoCRM good, we would greatly appreciate if you could give the project a star on GitHub. We believe our work truly deserves more recognition. Thanks.

          Comment

          • rabii
            Active Community Member
            • Jun 2016
            • 1250

            #6
            If you wish to show activities panels on the bottom tab (same as it is shown on the sidepanel) you can try this as well, i have done in a previous project. Create a custom clientDefs file e.g Account.json and add code below:

            PHP Code:
            {
                "bottomPanels": {
                    "detail": [
                        "__APPEND__",
                        {
                            "name": "activities",
                            "label": "Activities",
                            "view": "crm:views/record/panels/activities",
                            "aclScope": "Activities"
                        },
                        {
                            "name": "history",
                            "label": "History",
                            "view": "crm:views/record/panels/history",
                            "aclScope": "Activities"
                        }
                    ]
                }
            }​​ 
            
            After that clear cache and rebuild the system, this will make the activities and history panels available on the bottom layout. For task, you can just do the trick described by Yuri here.
            Rabii
            Web Dev

            Comment

            • crmscot
              Member
              • Jun 2014
              • 54

              #7
              Many thanks for your help Yuri and Rabii. I really appreciate you spending time on this
              I was able to make the edit you suggested Yuri and that gave the result I was looking for. I know I now need to make the change as a custom file to survive updates but I can't figure out the directory path for the folder I need to create. Also, do I copy over the complete existing Contact.json file and make the edit to this copy as you suggested Yuri?

              Rabii, thanks for your suggestion. This looks like my ideal solution but, again, I don't have the experience to know where to put your code and if it is to be appended to a copy of the Contact.json file from the standard system or just as it is.

              Sorry to be such a pain in the backside. I'd like to understand more about the development environment and be more competent. My only excuse is I'm now in my 70's and grew up on a diet of Fortran, Cobol and Basic!!

              Comment

              • telecastg
                Active Community Member
                • Jun 2018
                • 907

                #8
                I know I now need to make the change as a custom file to survive updates but I can't figure out the directory path for the folder I need to create. Also, do I copy over the complete existing Contact.json file and make the edit to this copy as you suggested Yuri?
                Espo's metadata scheme is brilliant, you don't have to copy the whole clientDefs script, to modify the core Contact.json clientDefs specs.

                Create a new file at custom/Espo/Custom/Resources/metadata/clientDefs/Contact.json and enter only the modifications that you want.

                The system will consolidate this new script with the existing medatada upon rebuild, and since your customization exists in a custom file, it will not be affected by any upgrade.

                Hope this helps, I also grew up on a diet of Fortram, Cobol, Basic and punch cards

                Comment

                • rabii
                  Active Community Member
                  • Jun 2016
                  • 1250

                  #9
                  Hey crmscot,

                  If you want to use Yuri's solution follow the steps below:

                  1 - Create two files (and directories if they don't exist) under custom/Espo/Custom/metadata/entityDefs/Account.json and another one for contact at custom/Espo/Custom/metadata/entityDefs/Contact.json and paste the code below:

                  PHP Code:
                  {
                      "links": {
                          "meetings": {
                              "layoutRelationshipsDisabled": false
                          },
                          "calls": {
                              "layoutRelationshipsDisabled": false
                          },
                          "tasks": {
                              "layoutRelationshipsDisabled": false
                          }
                      }
                  }


                  If you want to use the solution i shared then follow the steps below:

                  1 - Create two files (and directories if they don't exist) under custom/Espo/Custom/metadata/clientDefs/Account.json and another one for contact at custom/Espo/Custom/metadata/clientDefs/Contact.json and paste the code below:

                  PHP Code:
                  {
                      "bottomPanels": {
                          "detail": [
                              "__APPEND__",
                              {
                                  "name": "activities",
                                  "label": "Activities",
                                  "view": "crm:views/record/panels/activities",
                                  "aclScope": "Activities"
                              },
                              {
                                  "name": "history",
                                  "label": "History",
                                  "view": "crm:views/record/panels/history",
                                  "aclScope": "Activities"
                              }
                          ]
                      }
                  }​​  ​ 
                  


                  One you apply one of the two methods (please use only one of the two solutions) then you can go to administration > clear cache and also rebuild and when you go the layout manager you will find the relationship/panels available to add them to the bottom.

                  I hope this helps
                  Rabii
                  Web Dev

                  Comment

                  • crmscot
                    Member
                    • Jun 2014
                    • 54

                    #10
                    Hi Guys. Thanks for your help. I was able to implement the meetings/calls/etc tabs successfully in the bottom panel, though I had to add a "Resources" folder between "Custom" and "metadata" to get it to work (as per the path in telecastg's post).

                    Rabii, I also tried (separately) your suggestion for activities and history tabs. The only way I can get this to work is to directly add the code (minus the append line) in the main espo structure. If I try and add it in the custom path, I can't log in to espo (blank screen) after the rebuild and there is the following error in the log files:-

                    ERROR: Uncaught Exception JsonException: "JSON syntax error in 'custom/Espo/Custom/Resources/metadata/entityDefs/Account.json'." at /var/www/html/espocrm/application/Espo/Core/Utils/File/Unifier.php line 240 {"exception":"[object] (JsonException(code: 0): JSON syntax error in 'custom/Espo/Custom/Resources/metadata/entityDefs/Account.json'. at /var/www/html/espocrm/application/Espo/Core/Utils/File/Unifier.php:240)"}

                    If I can make this work, then together with the "reclaim side panel space" mod posted elsewhere, it would give an alternative user experience for people used to CRM products that use a tabbed layout to access detail records.

                    Comment


                    • rabii
                      rabii commented
                      Editing a comment
                      when you copy code from the forum here, it will add some caracter sp you have to paste the code into a coded editor and clear it and then copy it into your espocrm instance. i have tried the same code and it works.

                    • crmscot
                      crmscot commented
                      Editing a comment
                      Rabii, you're absolutely correct! I copied your code from the forum via MS Word which revealed some spurious characters. I deleted them and then pasted the code into Espo. It worked first time and is exactly what I was looking for. Many thanks again for your help.
                  • yuri
                    Member
                    • Mar 2014
                    • 8440

                    #11
                    The Activities and History panels will be available in the bottom layout in v9.0. As well as meetings, calls, tasks. For already created custom entity types, a small manual metadata addition will be needed.
                    If you find EspoCRM good, we would greatly appreciate if you could give the project a star on GitHub. We believe our work truly deserves more recognition. Thanks.

                    Comment


                    • crmscot
                      crmscot commented
                      Editing a comment
                      That's great Yuri. Thanks.
                  Working...