Some extensions and modifications

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MaxDau
    Member
    • Nov 2022
    • 38

    Some extensions and modifications

    Hello

    I need an extension to use EspoCRM as a central calendar.
    - One calendar per entity
    - Import from ical per entity
    - Export of ical per entity / total
    - Optional password protection / link generation with hash
    - Filter in existing calendar by entity, status, ...

    Optional tasks
    - Hooks for calendar actions (event: new, changed, deleted) from ical
    - Integration in API

    Details:
    An entity has different events. The calendar should be retrievable via GET ical.domain.tld/$hash(random)/$hash(id)/$filter[].
    Extra settings in the entity, if no filter is specified, which events (type, status) are output.
    (Several) external calendars of the entity should be retrieved at regular intervals. New events should be created as events. Change events that have been changed, but note the change. Deleted events should be set to a specific status and marked as deleted (no longer delivered in ical and displayed in the internal calendar).
    In the internal calendar, it must be possible to filter events not only by entity type (as is currently the case) but also by individual entities of a contact or an entity.

    There are other adjustments, but they do not have a high priority at the moment and can be done next year.

    (if this would not already be possible)
    - Making calendars available via API
    - Possibility to execute hooks for ical imports.
    - Better (faster) filters for emails (by email account)
    - Simple calendar view in the portal (without interactions, only display of events and free days)
    - Adjustments to the portal such as form wizards
    and more...
  • esforim
    Active Community Member
    • Jan 2020
    • 2204

    #2
    You might want to look into CalDAV as that is more web standard for calendar.

    Comment

    • emillod
      Active Community Member
      • Apr 2017
      • 1405

      #3
      We have already working extension which allow to:
      1. Sync contacts through CardDAV
      2. Sync calendars through CalDAV
      3. Manage documents e.g. as map drive, through WebDAV

      It'll be available for sale in this or next month

      Comment


      • esforim
        esforim commented
        Editing a comment
        Been looking forward to this for a long time! Work overtime!!!

      • mfuermann
        mfuermann commented
        Editing a comment
        Do you have any news on this?
        Up to now I don't see a mention on this in the extension list on your website.

      • esforim
        esforim commented
        Editing a comment
        emillod, Just like to give you a nudge!
    • MaxDau
      Member
      • Nov 2022
      • 38

      #4
      CalDav is not supported by the third-party providers. The CRM is to become a central syncronisation point for calendars. The only interface that is identical for all platforms would be ical.
      At the moment we have a many-to-many synchronisation for each calendar of an entity. This means that every calendar has to be registered with every other calendar.
      With 5 calendars per entity, 4 calendars each query a different calendar. So calendars 2 - 5 query calendar 1, calendars 1,3-5 query calendar 2 and so on.

      The target is that the CRM retrieves all calendars, combines events and all external calendars only have to synchronise the entity's calendar from the CRM. So for calendar 1 I only have to register the entity's CRM calendar and not 4 others.

      Retrieving the calendars and evaluating the entries is very easy. I have tested this today on the side and have a few ready-made classes that already analyse 2 calendars.
      Contacts, File or other are not available. The calendar only shows whether something is reserved/blocked, which ID the reservation has and perhaps an ID or a link to call up details in the browser. (Blocked has no ID, because no reservation, just blocked)

      Code:
      BEGIN:VCALENDAR
      VERSION:2.0
      CALSCALE:GREGORIAN
      PRODID:None
      BEGIN:VEVENT
      UID:8f760461-ed8d-4a9f-89ce-25093b3c28ff
      DTSTAMP:20221208T050122Z
      DTSTART;VALUE=DATE:20200718
      DTEND;VALUE=DATE:20200725
      SUMMARY:Belegt - Sandra
      END:VEVENT
      BEGIN:VEVENT
      UID:70fe17d9-5e25-427c-a122-148a3a147834
      DTSTAMP:20221208T050122Z
      DTSTART;VALUE=DATE:20230721
      DTEND;VALUE=DATE:20230723
      SUMMARY:Geblockt
      END:VEVENT
      END:VCALENDAR​


      There is a simple reason for all this. We expect over 100 entities by the end of 2023. When we add, change or remove a third party, we have to change the calendar every time at 100 entities x 4-5 third parties. This is a workload that can easily be automated away.

      Comment

      • item
        Active Community Member
        • Mar 2017
        • 1476

        #5
        Hi emillod, MaxDau ,

        i am not here for proposal my skill, i don't have skill .. but not really understand your request and it's just for share my experiment, 100 entity it's crazy for me.. maybe you say 100 records. (of course, i don't know your business)
        in the past, i have proposal something like to my boss :
        out-of-box espoCrm.
        Account -> many2many -> Contact.

        Avability to have "calendar" for Account and of course contact related to Account.
        So Account->calendar = is like teams Calendar and each contact have private calendar it's like ACL out-of-box espoCrm.
        And of course, portal users have access with ACL to Account->calendar or Personal->calendar.

        This was for us a extension i will need, in the past, because now we stop ours business.

        But i think this kind of extention can find many project

        Best Regards
        If you could give the project a star on GitHub. EspoCrm believe our work truly deserves more recognition. Thanks.​

        Comment

        • MaxDau
          Member
          • Nov 2022
          • 38

          #6
          Originally posted by item
          Hi emillod, MaxDau ,

          i am not here for proposal my skill, i don't have skill .. but not really understand your request and it's just for share my experiment, 100 entity it's crazy for me.. maybe you say 100 records. (of course, i don't know your business)
          in the past, i have proposal something like to my boss :
          out-of-box espoCrm.
          Account -> many2many -> Contact.
          Entity = Record
          Anything else would just be wrong.

          Originally posted by item
          Avability to have "calendar" for Account and of course contact related to Account.
          So Account->calendar = is like teams Calendar and each contact have private calendar it's like ACL out-of-box espoCrm.
          And of course, portal users have access with ACL to Account->calendar or Personal->calendar.

          This was for us a extension i will need, in the past, because now we stop ours business.

          But i think this kind of extention can find many project

          Best Regards
          The missing calendar in the portal is really a problem. I will work with data lists for the first time. But there has to be a calendar view in the next few months.



          ATM we work without any CRMClick image for larger version

Name:	aktuell.png
Views:	868
Size:	168.0 KB
ID:	86134

          What I want is an extension to use the CRM as a central synchronisation point. Third-party vendors, contacts and users then only need to synchronise with the CRM. All third-party vendors only supports ical!

          Click image for larger version

Name:	Record B.png
Views:	748
Size:	910.0 KB
ID:	86135


          Contacts should be able to use the portal to access the entries linked to them and the events associated with these entries. Currently as a list, a simple calendar view without editing will follow in the next few months.

          Click image for larger version

Name:	Contact.png
Views:	718
Size:	66.0 KB
ID:	86136

          Most of the functions are already available. I can also provide the ical classes for fetching and outputting. The service must be created, ical data converted into events and assigned to a record. Retrieve the external calendars every X minutes (value is specified in the record) and synchronise events.
          A third party provider may only change/delete the events coming from them. For this purpose, events have a source field and a UID field.​

          Comment


          • item
            item commented
            Editing a comment
            Hi @MaxDau
            "The missing calendar in the portal is really a problem."
            yes

            i think if someone can do a extension for have calendar for portalUsers.. with out-of-box acl/role "OnlyAccount", "OnlyMy", then the futur is simply.

            i think for synchronization can be done with jobs/api .. in easy way
        • esforim
          Active Community Member
          • Jan 2020
          • 2204

          #7
          Originally posted by emillod
          We have already working extension which allow to:
          1. Sync contacts through CardDAV
          2. Sync calendars through CalDAV
          3. Manage documents e.g. as map drive, through WebDAV

          It'll be available for sale in this or next month
          Bumping this incase you forget!

          Comment

          • Russ
            Senior Member
            • Feb 2022
            • 426

            #8
            Hey guys, sorry to bother you, but is there any expected date of implementation? At least task synch?
            emillod

            Comment

            • emillod
              Active Community Member
              • Apr 2017
              • 1405

              #9
              Hello Russ
              DAV integration doesn't have tasks sync. DAV integration sync documents, contacts and calendar.
              We have BETA version which is working on production. By BETA i mean version with some known bugs. Main functionality working.
              We'll probably release this version for sell and we'll release fixes. Tomorrow we have internal meeting about price.

              Comment

              • esforim
                Active Community Member
                • Jan 2020
                • 2204

                #10
                I believe Task syncing is achieved through the CalDAV protocol. Task.org achieve this through that method I believe, maybe you can dig through their Documents to see how it is done.

                Comment

                • Russ
                  Senior Member
                  • Feb 2022
                  • 426

                  #11
                  Originally posted by emillod
                  Hello Russ
                  DAV integration doesn't have tasks sync. DAV integration sync documents, contacts and calendar.
                  We have BETA version which is working on production. By BETA i mean version with some known bugs. Main functionality working.
                  We'll probably release this version for sell and we'll release fixes. Tomorrow we have internal meeting about price.
                  Thanks, is there any plugin that I can purchase, install and see tasks (start/due) dates (like an event) on a synched calendars via Google?

                  Comment

                  • emillod
                    Active Community Member
                    • Apr 2017
                    • 1405

                    #12
                    Russ
                    we'll have to check, probably it's doable but it'll require development. Right now i'm working on a demo of our DAV extension.

                    Comment


                    • emillod
                      emillod commented
                      Editing a comment
                      esforim - yep! We're working on it, it's matter of hours to close compatibility issues and publish on demo We're working on it to make sure that it'll work on nginx and apache

                    • emillod
                      emillod commented
                      Editing a comment
                      esforim - you can play with it on our demo instance. Here you have documentation: https://docs.dubas.pro/extensions/dav/webdav/

                    • esforim
                      esforim commented
                      Editing a comment
                      Thank Boss emillod look good, but not sure if you have a thread yet. Guess I show off it my usual Learning Thread.

                      It seem that Photo/Profile is not yet supported from my test. But this is good at the moment!
                  • esforim
                    Active Community Member
                    • Jan 2020
                    • 2204

                    #13
                    Russ
                    It think it happenings: https://devcrm.it/product/dav/

                    emillod
                    Tried testing it on the demo but I'm guessing with the Roles restriction can't really test it. What is the DAV url? Or have you already add it to .htaccess redirect Discovery and it will auto find the URL?
                    Last edited by esforim; 04-14-2023, 08:18 AM.

                    Comment

                    • Russ
                      Senior Member
                      • Feb 2022
                      • 426

                      #14
                      Originally posted by espcrm
                      Russ
                      It think it happenings: https://devcrm.it/product/dav/

                      emillod
                      Tried testing it on the demo but I'm guessing with the Roles restriction can't really test it. What is the DAV url? Or have you already add it to .htaccess redirect Discovery and it will auto find the URL?
                      thanks, will check that link

                      Comment

                      • esforim
                        Active Community Member
                        • Jan 2020
                        • 2204

                        #15
                        emillod

                        You should enable Meetings for the demo as well.

                        Secondly, does it support Location for CalDAV/Meeting?

                        Thirdly, how does "Shortcut" work? I see the setting but don't quite understand it.
                        • Specify entities with shortcuts.
                        ​EDIT: Location is supported, you just need to create a field (varchar only? Not sure) and it will work. Here is a screenshot:

                        Click image for larger version

Name:	image.png
Views:	441
Size:	21.3 KB
ID:	95437
                        So I guess new question is, what other syntax is there? I tried searching in SabreDAV but can't find anything.
                        Last edited by esforim; 07-15-2023, 10:22 AM.

                        Comment

                        Working...