Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-3444

JMAP mailetcontainer validations: allow alternative configurations

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.6.0
    • configuration, JMAP
    • None

    Description

      1. Why?

      Today the position of JMAP mailets is hardcoded in transport processor, and the matcher is hardcoded to RecipientIsLocal, duplicated.

      Given a Distributed James server, backed by a LDAP for identity,
      Each RecipientIsLocal mailet will trigger a call to the LDAP for each recipient.

      Standard good practices we apply at linagora is to extract all the local delivery logic in its own processor in order not to duplicate this matcher.

      However given current checks, we can not move JMAP and Vacation mailets in our local delivery pipeline.

      1. Expected outcome

      I expect to be able to optimize the usage of those matchers by grouping the delivery logic into a dedicated processor, including "JMAP mailets".

      1. How

      For servers powering JMAP, change the default configuration to extract a "local-delivery" processor out of "transport" processor.

      The JMAP checks should then accept these mailets in a "local-delivery" processor, but keep accepting them in "transport" processor for backward compatibility

      1. Definition of done

      The default mailetcontainer.xml for JMAP backed servers should have a single RecipientIsLocal matcher.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            aduprat Antoine Duprat
            btellier Benoit Tellier
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment