No announcement yet.

Learning EspoCRM and Design

  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Version 7 is looking quite good; some highlight that I'm looking forward to:

    PDF: Ability to set document title in template #2046
    The new field Title in the Template entity. {$name} placeholder is available to substitute an entity name.

    Entity Manager: Quick search for entities, fields, relationships #2044

    Feature Request finally fulfilled for those that link their Portal system:
    Editable tag line in 'description' HTML metatag #2041
    Is your feature request related to a problem? Please describe. The default description meta tag for Espo is hard-coded in html/main.html to "EspoCRM is Open Source CRM application. Increase profita...

    And one of my hidden Feature Request:
    Supporting SVG images #2038

    New URL protocol (any)
    URL field: Allow any protocol #2034


  • #62
    JSON parser for Android. Look very cool and good, too bad there is no instruction on how to use. Perhaps someone who more skill may be able to make use of it:


    • #63
      Found another low-code drag and drop GUI app. This one seem to have no restriction in term of usage at the moment.

      I'm learning how to install it for a local private version instead of having to rely on the online service. Hopefully I can resume the Mobile App project. Welcoming anyone who want to join me.

      Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API. - appsmithorg/appsmith


      Also another user has create a Discord page with the invite link if anyone want to join the chat community, keep in mind that it is freshly created with very little customization at the moment. I probably won't be active on Discord:

      Check out the EspoCRM community on Discord - hang out with 18 other members and enjoy free voice and text chat.

      emillod as above if you a discord kind of person.
      Last edited by espcrm; 08-26-2021, 12:24 AM.


      • espcrm
        espcrm commented
        Editing a comment
        I been playing with AppSmith, at the end of the day it can only "deploy" webapp, if that the case I might as well keep using EspoCRM interface.

        Also found Budibase and it seem to be the same system. I guess Bravo is still the only choice when it come to creating a Mobile Phone App

    • #64
      hello here is an invite to discord link


      • #65
        Harden your website/CRM security by restricting IP.

        While trying to solve this AppGyver and CORS and API issue I came across .htacess, among the feature it can do is IP block.

        Thinking about how our website/service doesn't really support international and we only services locally I decide to follow this guide here:

        More more importantly is I use that Country IP Blocks homepage to generate IP for me to block. Testing it by blocking every country/continent which isn't mine come up to about 100k IP range. This lag and slow down my htaccess. The alternative solution was, "Block all and only allow some", I use the format, "Apache .htaccess Allow" to do this.

        But for it to work (I think), we also need to add these lines on top before the allow:

        order deny,allow
        deny from all

        Of course there is no stopping people from using a VPN or proxy to enter your website once they realize you Whitelist a country/continent. However if you limited the IP address to only your system (e.g. office IP, home IP, mobile phone IP) then that will restrict it even more.


        • #66
          RE: AppGyver

          Good news guys, I manage to successfully got through the first error, copy and paste from Discord.


          Finally some success in retrieving the API, here is a how to guide to get started. Too bad I was greet with another error but at least there is progress. Hopefully there will be more people to contribute information to this.

          Go to your espocrm/api/v1/.htacess file

          Add the following lines
          > <ifModule mod_headers.c>
          > Header add access-control-allow-origin ""
          > Header add Access-Control-Allow-Headers "origin, content-type, x-api-key"
          > Header always set Access-Control-Allow-Methods "POST, GET, PUT, PATCH, DELETE"
          > </ifModule>

          Next issue I need to solve is:

          > Error: Error:
          > The result was not an array. Maybe the data you're looking for is inside one of the response object keys?

          If anyone got a better way, please let me know.


          • espcrm
            espcrm commented
            Editing a comment
            I only whitelist AppGyver because this is still testing phase, we see how it go. Also it not good to use "*" (wildcard) apparently so that why I only allow this whitelist. If you use another software that run into the error this then the above solution should work.

            Access to fetch at 'https://espocrm/api/v1/CRMTest' from origin '' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.

          • espcrm
            espcrm commented
            Editing a comment
            It is an lonely journey at the moment, manage to solve one of the error above... only to be greet by another, but hopefully someone can help.

            For EspoCRM we need to add the word, "list" in the "Response key path" of AppGyver.

            The next issue have to solve is this error:
            "Error: Error: A espo record not found from the response!status: -1"

            I posted here, hopefully some result or solution:

          • espcrm
            espcrm commented
            Editing a comment
            Manage to solve the issue above by adding the /{id} in manually. However a new display issue causing another halt in this project. In the meantime I'll post my update on AppGyver forum instead, maybe can garner some interest that way.

            Here is the thread and here is what I wrote:

            Hi all, I don't think this reach the quality of being a guide yet and I'm still slowly trying to get thing to work. I will use this thread to post my learning experience, documents some information for anyone that might help with.

            This thread will be mainly for the purpose of making AppGyver work with EspoCRM, other CRM system made be different. Hopefully this thread will garner some interest and possible provide solution that I am stuck on.

            In term of how to, I'm following the online tutorial by James NoCode here:

            As of this post I'm stuck on the "Data variable", all mine preview is showing up as blank at the moment, however my JSON test result came up good and you can see it in the preview. In particular around this timeframe
            As you can see he can get the Name to appear, as for mine one it just blank, nothing showing. With that said, let get started on the hurdle that I faces.

            I will skip the Creating API authentication part on EspoCRM for another time and mainly will focus on AppGyver. This guide below will taken as you are totally new and should (hopefully) provide step by step on how to get it to work.

            Create a project on AppGyver
            Click on "Data" up top, Click "Add Data Resource" > Rest API Direct Client
            Resource ID: espo
            Short description: crm test
            Resource URL:
            Click on the + under HTTP Header and add these two:
            HTTP Header (1):
            Label: apikey
            Key: X-Api-Key
            Value: (enter your API key you create from EspoCRM here)

            HTTP Header (2):
            Label: content-type
            Key: content-type
            Value: application/json

            Click Save up top. Now left area click, "Get Collection (GET)" > Test > Run Test
            Hopefully you will get a result but it will say this with an Error,
            "Error: Error: The result was not an array. Maybe the data you're looking for is inside one of the response object keys?"

            I was stuck here for hours, but after reading tutorial and guide I found out why, we need to go back to "Config" and add this:
            Response key path: list

            Now go back to Test > Run Test and everything should work, your Status: OK
            Click "Set Schema From Response", click Save (top right)
            Go back to Test, in the result box, grab an ID, it should be something like this:

            "id": "6125eb3519518958",
            "name": "John Smith",

            Copy that id, "6125eb3519518958", Next click on "Get Record (GET)",

            I was stuck here for hours for some reason, if you can just click "Test > paste the 6125eb3519518958 in ID > Run Test" and if it work then all good. However you may get these error like me!

            > Error: Non-JSON error body.status: 404

            "total": 274,
            "list": [

            Error: The server responded with a list for a single data record. The response must be an object.status: -1

            In this case, go back to Config and add this add the end of the URL
            For example it will look like this:

            Do the Test again and hopefully you will only get 1 result. Then click "Set Schema From Response", now click save.

            Click up on Data up middle top which will minimize that page. Next I continue the tutorial in the youtube video above. Sadly when I do preview it all blank, I try a combination of Data Variable and option but nothing. I can see it in View tabs but not in the App Preview Portal.

            Hopefully someone can help or go further than me. I will continue to write this thread if I manage to find a solution.

            Thank you.

        • #67
          Look like the initial issue is finally solved, the Page variable to pass from List to Details view didn't not work properly for me.

          From another (official) tutorial and they used Formula & String, using this method worked.

          Now it just about designing the App and hopefully a prototype can be created for myself firstly, then perhaps a more public version (need to remove private data and use public data).

          It look quite ugly at the moment but the basic function work, it can display the information I want although it is a bit laggy due to displaying all data and still need to iron out the bug.

          Anyway now would be a good time to join me in making a community EspoCRM mobile app... their documentations is here:
          I'm reading through it slowly and adding feature that I find would be useful; in particular these type:


          • #68
            I recently came across an software call FileMaker Pro by Claris. This seem pretty good, but the learning curve is a bit too difficult for me for some reason. The beauty of is that it is a single application but you can do layout for different environment (e.g. desktop, tablet, phone) so it is more flexible.

            The weakness of course is; Paid software, closed software, not sure about their community.

            I tried their trial and couldn't get very yet. But it is certainly a good choice if I want to build an "semi-open" software in the future for EspoCRM, from reading their documents you can use API and parse JSON file, or read directly from database such MYSQL.


            • #69
              For future Code/Guide.
              VCard & Barcode QRCode

              Update: see thread below on how to increase QR code image size. Also you can change some of the coding as necessary, for example:

              Address that I usually use is Home Address, hence why it is: "ADR;HOME;PREF:;;"
              But if you use WORK address for your contact, you might want to change it to: "ADR;WORK;PREF:;;"

              See the documentation Code/Guide above and play around with it. Or be lazy and just copy/paste it.
              Last edited by espcrm; 09-14-2021, 02:48 AM.


              • #70
                Use this formula to generate a QR code that you can scan to add a single contact. Most field are default field from EspoCRM so everything should work. Only one field is custom which is "barcodeContactQR", this is my field name you have to create this fieldname or change it to yours, this is a barcode QR field, I also set it as Read-Only.

                For my camera, it bad and after setting it to 300x250 image size it was clear enough. Please see this thread on how to increase the size:

                // QR Code to Scan Contact
                "BEGIN:VCARD", '\n',
                "VERSION:2.1", '\n',
                "N:",lastName,";",firstName,";", '\n',
                "EMAIL:",emailAddress, '\n',
                "TEL;CELL;VOICE:",phoneNumber, '\n',
                "ADR;HOME;PREF:;;",addressStreet,";",addressCity,, ";",addressState,";",addressPostalCode,";",addressCountry, '\n',
                "FN:",name, '\n',
                "ORG:",accountName, '\n',
                "TITLE:",title, '\n',
                //End QR Code


                • espcrm
                  espcrm commented
                  Editing a comment
                  Just notice something odd with the QR code, I seem to run into a bug but haven't got the chance to find out how to fix yet. Anyway the QR code won't work when you have too many characters in Account's Title it seem.

                  For title if I wrote, "Delivery" it work, but if I wrote, "Delivery Driver" then it doesn't. Think it must be the [space] I tried, "DeliveryDriver" but still fail. After trying it slowly there seem to be a characters limited before it stop rendering. This one work though, "DeliveryDrive".

                • espcrm
                  espcrm commented
                  Editing a comment
                  It would seem there is another bug that causing it unable to generate QR Code also. It got to do with the Account Name again, some of the Account Name I have got the symbol "&" (and; ampersand)

                  Any Contact linked to an Account with this symbol will cause issue, at least this I haven't investigate on a how to fix yet. Example would be:

                  "John & Smith Shop"

              • #71
                Got this link from shal, and there some very interesting feature in Astro, I like this "Tab" system they got which help navigate bottom panel by showing all of the "bottom panel" as clickable link at the top and you can easily modify what you want to see in the Bottom Panel with various different row height.

                Installation wise it still a bit too difficult and require more access to your server and doesn't seem like it would work for Shared Hoster like myself. Considering it is based on EspoCRM moving over or running both system might be a possibility.

                Until installation can be done easier I stick with EspoCRM but will keep an eye on Astro and see some of it function. Perhaps doing a manual patch is also possible if you have the coding skill to do so. Hopefully someone with more skill can look into this.

                Here is the demo link:
                Their Core Github:


                • espcrm
                  espcrm commented
                  Editing a comment
                  Other feature I like:

                  1) Filter Empty Field, Field language field, Filter required field in Details view.
                  2) Custom download (modify your image before downloading) or still can download original file without issue.
                  3) Auto-generate metadata
                  4) Mass upload asset/image!!!
                  5) "Save and Create Next" - good if you are mass data entry new record, too bad there is no "duplicate these few related field for me"
                  6) Import and Export Feed - have their own setting
                  7) Multiple list view (see Products)

                  Feature I didn't like:
                  There seem to be a bug with "small list side details view" when I try to select related relationship
                  Last edited by espcrm; 09-18-2021, 02:22 AM.

              • #72
                It weird how meeting doesn't have a "Location" field, usually meeting must have one. I decide to add in the Address & Map field in my Meeting entity. mcdvoice
                Last edited by managlsur; 10-02-2021, 11:15 AM.


                • yuri
                  yuri commented
                  Editing a comment
                  It's possible to add Location field via Entity Manager.

                • espcrm
                  espcrm commented
                  Editing a comment
                  Actually I recommend you use the free Real Estate extensions, then create a Relationship to the Meeting, after that you can use this relationship to link meeting information.

                  Doing this way is better because (1) You can re-use existing property you add and (2) If you look at the Properties, you can see all the meeting that took place there.

                  If you just create a Location field (some varchar) or an Address field (got street name, city, etc), the weakness is you have to retype it each time and you can only have address.

                  I made my relationship Many-to-Many, so sometime I have multiple location for one meeting (since I'm lazy). For example 9am to 12pm, ShopA, ShopB, "Going for coffee and lunch".

                  I think I wrote about my journey learning on how to do this but it relatively easy so you can just do it... but considering you just join the forum (new user?) it might be hard for you.

                  Feel free to create new thread or try asking here if you need help.
                  Last edited by espcrm; 08-17-2022, 09:10 AM.

              • #73
                Summary: Email > Right Click > This Frame > Print this Frame > Remove Header and Footer > Print
                Need Firefox, not sure how other browser if they have setting option or named differently.


                I just discover something today after learning about "Print Header and Footer" when you print.

                Thinking about this I wanted to print out an email, using the PDF template I have setup, in anyway it looked ugly (it does look good if you just want information though), but the format is too long (multiple pages and blank space but all background and colors removed).

                After a few test, including, "Opening this New Frame" and Print this Screenshot.

                The above solution work great, it print out "As what you see in the email". I guess the weakness is it will print everything so you might want to selectively choose to print page 1 only or Print to PDF and edit it before printing.

                Anyway this is a good feature to use if you want to print... however staying digital is good (environment) so don't print if you can help it.


                • #74
                  While reading about the SVG issue and TCPDF PDF template here:

                  I came across this:

                  Rather than me trying to explain what it is I will just quote their description. Hopefully someone can make use of it.
                  "What is CSS Paged Media

                  In brief: CSS Paged Media (a W3C standard) is a way of generating PDF documents using XML/HTML as input and CSS for styling. It can be thought of as an extension of CSS for print purposes."

                  Basically no more ugly looking PDF. It require coding (HTML + CSS) though so it still too far away from easy to use mode using a drag/drop or a wysiwyg toolbar.


                  • espcrm
                    espcrm commented
                    Editing a comment

                    After reading this page I don't think this will be the right tools unless you are willing to spend big money.

                    From briefly looking through it, each of the tools require to make this work costing up to $5000 or higher.

                • #75
                  It quarter of the year and I decide to try my hand at updating espoCRM again... and it fail. Luckily manage to restore the server and it working again. Look like I'll be struck with 6.1.2.

                  Upgrade using CLI... upgrade successful but version remain the same. No offer of "would you like to update again". Blank login screen, getting "Container.php" and "Filemanager.php" error (core files). Uploaded a various 6.0 - 6.1 version of these two files and it still don't work. Replace the whole Core folder with these file but it start showing up again.

                  But now I got a new error, "authTokenManager" service cannot be found/load Error 500. There is a file call that in the Core/Authetication folder, replace that file but no luck either. Also tried creating a config-internal.php file as I remember v7 this file get created and someone on the bitnami forum mention authTokenManager error.

                  Tried running php command.php upgrade but nothing happen. Tried multiple time for it to work but no luck. Changed PHP version but nothing either.

                  And I'll give up for now. If anyone know how to fix this issue, I give it a try. Hopefully anyone that have this error manage to restore old version. Be sure to backup!