Yutaka-Notes about Extensible Classes In ZimbraStore: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:


Here are the list of classes which you can extend to enhance zimbra standard fnctionality.
''Here is the list of classes which you can extend to enhance zimbra standard functionality with your own classes.''
 


==com.zimbra.cs.lmtpserver.LmtpCallback==
==com.zimbra.cs.lmtpserver.LmtpCallback==

Revision as of 13:44, 24 August 2011

Here is the list of classes which you can extend to enhance zimbra standard functionality with your own classes.


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