Difference between revisions of "Yutaka-Notes about Extensible Classes In ZimbraStore"

Line 30: Line 30:
 
[Note] You have to register this to zimbra-attrs.xml and rebuild ZimbraServer project as far as I remember.
 
[Note] You have to register this to zimbra-attrs.xml and rebuild ZimbraServer project as far as I remember.
  
==com.zimbra.cs.mime.MimeVisitor==
+
==com.zimbra.cs.mime.MimeVisitor[converter]==
 +
By this, you can modify the message on the fly when a message is fetched from the store to be sent back to client or prepared for forwarding and indexing.
 +
These modification is not sotred on disk.
 +
 
 +
Sample is here;
 +
com.zimbra.cs.mime.TnefConverter
 +
 
 +
[Note] You have to register this to com.zimbra.cs.mime.MimeVisitor.
 +
 
 +
==com.zimbra.cs.mime.MimeVisitor[mutator]==
 +
By this, you can modify the message when a message is stored to the dislk.
 +
This is basically to create copy of original MimeMessage and replace the original with it. So it could have some impact to DiskI/O.
 +
 
 +
Sample is here;
 +
No sample.
 +
 
 +
[Note] You have to register this to com.zimbra.cs.mime.MimeVisitor.

Revision as of 02:30, 12 August 2011

com.zimbra.cs.lmtpserver.LmtpCallback

By this, you can register your custom function to be called when a messege is receive with lmtp.

Sample is here;com.zimbra.cs.mailbox.QuotaWarning

[Note]You have to register this to com.zimbra.cs.lmtpserver.ZimbraLmtpBackend

com.zimbra.cs.service.AuthProvider

By this, you can implement to genearate custom auth token and to validate that.

Sample is here; com.zimbra.cs.service.ZimbraAuthProvider

[Note] You have to register this to com.zimbra.cs.service.AuthProvider

com.zimbra.cs.security.sasl.Authenticator

By this, you can add SASL mechanism for IMAP/POP. But to use the custome SASL mechanism, you also needs to customize Zimbra Proxy(Nginx/nginxlookup), which requires you to modify core code.

Sample is here; com.zimbra.cs.security.sasl.PlainAuthenticator

[Note] You have to register this to com.zimbra.cs.security.sasl.Authenticator

com.zimbra.cs.account.AttributeCallback

By this, you can implement custom function which is called right before/after a certain LDAP field is modified.

Sample is here; com.zimbra.cs.account.callback.AccountStatus

[Note] You have to register this to zimbra-attrs.xml and rebuild ZimbraServer project as far as I remember.

com.zimbra.cs.mime.MimeVisitor[converter]

By this, you can modify the message on the fly when a message is fetched from the store to be sent back to client or prepared for forwarding and indexing. These modification is not sotred on disk.

Sample is here; com.zimbra.cs.mime.TnefConverter

[Note] You have to register this to com.zimbra.cs.mime.MimeVisitor.

com.zimbra.cs.mime.MimeVisitor[mutator]

By this, you can modify the message when a message is stored to the dislk. This is basically to create copy of original MimeMessage and replace the original with it. So it could have some impact to DiskI/O.

Sample is here; No sample.

[Note] You have to register this to com.zimbra.cs.mime.MimeVisitor.

Jump to: navigation, search