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

Line 1: Line 1:
 +
 +
Here are the list of classes which you can extend to enhance zimbra standard fnctionality.
 +
 
==com.zimbra.cs.lmtpserver.LmtpCallback==
 
==com.zimbra.cs.lmtpserver.LmtpCallback==
 
By this, you can register your custom function to be called when a messege is receive with lmtp.
 
By this, you can register your custom function to be called when a messege is receive with lmtp.

Revision as of 13:42, 24 August 2011

Here are the list of classes which you can extend to enhance zimbra standard fnctionality.

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.

com.zimbra.cs.mailbox.ScheduledTask

Jump to: navigation, search