2017-02-23 06:03:03 +00:00
|
|
|
Hooks
|
|
|
|
======
|
|
|
|
|
|
|
|
Attention: the api for hooks isn't stable yet!
|
|
|
|
|
|
|
|
Hooks in SeedDMS are user definied methods which are being called by
|
|
|
|
the application. The SeedDMS Core also has hooks which are being
|
|
|
|
called from the core itself. They are not subject of this document.
|
|
|
|
The SeedDMS application distinguishes between
|
|
|
|
|
|
|
|
* view hooks and
|
|
|
|
* controller hooks
|
|
|
|
|
|
|
|
view hooks usually return some html output which is send to the browser
|
|
|
|
and either replaces the default output or adds additional information.
|
2019-01-17 17:29:53 +00:00
|
|
|
A view hooks which returns null will be considered as not being called
|
|
|
|
at all. If the hook is expected to return something, it must be either
|
|
|
|
a string or an array of strings.
|
2017-02-23 06:03:03 +00:00
|
|
|
|
|
|
|
controller hooks implement additional functions which either replace
|
|
|
|
existing functions or add new ones. If such a hook returns null then
|
|
|
|
this is treated as if the hook was not called. If the hook returns
|
|
|
|
false it will prevent other hooks implementing the same function from
|
|
|
|
being called. All other return values will not stop other hooks from
|
2019-01-17 17:29:53 +00:00
|
|
|
being called. A controller hook may set the error msg of the calling
|
|
|
|
controller.
|
2017-02-23 06:03:03 +00:00
|
|
|
|
|
|
|
Currently available controller hooks
|
|
|
|
------------------------------------
|
2017-02-23 08:03:21 +00:00
|
|
|
AddDocument::preAddDocument
|
|
|
|
Called before a new document will be added
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
If the hook returns false the document will not be added and the error msg
|
|
|
|
set by the hook will be issued. This hook is called before the parameters
|
|
|
|
are fetch from the controller. Therefore it is possible to modify them
|
|
|
|
in this hook.
|
|
|
|
|
|
|
|
AddDocument::addDocument
|
|
|
|
Called when the new document is to be added
|
|
|
|
|
|
|
|
This hook can be used to replace the code for adding a document. In
|
|
|
|
that case it must return a document or false. If
|
|
|
|
the hook does not return null, the original code for adding the
|
|
|
|
document will be skipped.
|
|
|
|
|
2017-02-23 08:03:21 +00:00
|
|
|
AddDocument::postAddDocument
|
|
|
|
Called after a new document has been added
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
This hook will be called after a document was added, both by the
|
|
|
|
original code and within the hook addDocument. The hook is not called
|
|
|
|
if adding the document failed. The document will be passed to the hook.
|
|
|
|
The return value of this hook should always be null.
|
|
|
|
|
2017-02-23 08:03:21 +00:00
|
|
|
AddDocument::preIndexDocument
|
|
|
|
Called before a new document will be indexed
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
This hook will be called after the document was added and before
|
|
|
|
the hook postAddDocument. The parameters passed
|
|
|
|
are the document and the indexed document. Returning false will prevent
|
|
|
|
the document from being indexed.
|
|
|
|
|
2019-10-19 06:16:43 +00:00
|
|
|
EditDocument::editDocumentAttribute
|
|
|
|
Called for each custom document attribute
|
|
|
|
|
|
|
|
This hook will be called for each custom attribute to ouput the form entry.
|
|
|
|
The parameters passed are the document and the attribute definition.
|
|
|
|
Returning an empty array will prevent the attribute from being show.
|
|
|
|
Returning an array with two elements will pass those element to the formField
|
|
|
|
method. A returned string will be output as is.
|
|
|
|
|
|
|
|
EditDocument::addDocumentAttributes
|
|
|
|
Called after all custom document attributes has been output
|
|
|
|
|
|
|
|
This hook will be called right after the document attributes have been shown.
|
|
|
|
The return value is either an array with two elements or a string.
|
|
|
|
The string will be output as is, the array will be passed to the method formField.
|
|
|
|
|
2017-02-23 08:03:21 +00:00
|
|
|
UpdateDocument::preUpdateDocument
|
|
|
|
Called before a new document will be updated
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
If the hook returns false the document will not be updated and the error msg
|
|
|
|
set by the hook will be issued. This hook is called before the parameters
|
|
|
|
are fetch from the controller. Therefore it is possible to modify them
|
|
|
|
in this hook.
|
|
|
|
|
|
|
|
UpdateDocument::updateDocument
|
|
|
|
Called when the document is to be updated
|
|
|
|
|
2019-10-19 06:16:43 +00:00
|
|
|
This hook can be used to replace the code for updating a document. In
|
|
|
|
that case it must return a document content or false. If
|
|
|
|
the hook returns null, the original code for adding the
|
|
|
|
document will be executed.
|
2019-01-17 17:29:53 +00:00
|
|
|
|
2017-02-23 08:03:21 +00:00
|
|
|
UpdateDocument::postUpdateDocument
|
|
|
|
Called after a new document has been updated
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
This hook will be called after a document was updated, both by the
|
|
|
|
original code and within the hook addDocument.
|
|
|
|
The document and content will be passed to the hook.
|
|
|
|
The return value of this hook should always be null.
|
|
|
|
|
2017-02-23 08:03:21 +00:00
|
|
|
UpdateDocument::preIndexDocument
|
|
|
|
Called before an updated document will be indexed
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
This hook will be called after the document was updated and before
|
|
|
|
the hook postUpdateDocument. The parameters passed
|
|
|
|
are the document and the indexed document. Returning false will prevent
|
|
|
|
the document from being indexed.
|
|
|
|
|
2017-02-23 06:03:03 +00:00
|
|
|
RemoveDocument::preRemoveDocument
|
|
|
|
Called before a document will be removed
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
If the hook returns false the document will not be removed and the error msg
|
|
|
|
set by the hook will be issued.
|
|
|
|
|
2017-02-23 06:03:03 +00:00
|
|
|
RemoveDocument::removeDocument
|
2019-01-17 17:29:53 +00:00
|
|
|
Called when the document is to be removed
|
|
|
|
|
|
|
|
If the hook returns null the
|
2017-02-23 06:03:03 +00:00
|
|
|
regular document removal will happen.
|
|
|
|
|
|
|
|
RemoveDocument::postRemoveDocument
|
|
|
|
Called after a document was removed
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
This hook will be called after a document was removed, both by the
|
|
|
|
original code and within the hook removeDocument. It will not be
|
|
|
|
called if removing the document failed.
|
|
|
|
The return value of this hook should always be null.
|
|
|
|
|
2017-02-23 06:03:03 +00:00
|
|
|
RemoveFolder::preRemoveFolder
|
2019-01-17 17:29:53 +00:00
|
|
|
Called before a folder will be removed
|
|
|
|
|
|
|
|
If the hook returns false the folder will not be removed and the error msg
|
|
|
|
set by the hook will be issued.
|
2017-02-23 06:03:03 +00:00
|
|
|
|
|
|
|
RemoveFolder::removeFolder
|
2019-01-17 17:29:53 +00:00
|
|
|
Called for removing the folder.
|
|
|
|
|
|
|
|
If the hook returns null the regular folder removal will happen.
|
|
|
|
Keep in mind, that the hook function must also update the
|
|
|
|
full text index.
|
2017-02-23 06:03:03 +00:00
|
|
|
|
|
|
|
RemoveFolder::postRemoveFolder
|
|
|
|
Called after a document was removed
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
This hook will be called after a folder was removed, both by the
|
|
|
|
original code and within the hook removeFolder. It will not be
|
|
|
|
called if removing the folder failed.
|
|
|
|
The return value of this hook should always be null.
|
|
|
|
|
2017-02-23 06:03:03 +00:00
|
|
|
EditFolder::preEditFolder
|
2019-01-17 17:29:53 +00:00
|
|
|
Called before a folder will be updated
|
|
|
|
|
|
|
|
If the hook returns false the folder will not be updated and the error msg
|
|
|
|
set by the hook will be issued. This hook is called before the parameters
|
|
|
|
are fetch from the controller. Therefore it is possible to modify them
|
|
|
|
in this hook.
|
2017-02-23 06:03:03 +00:00
|
|
|
|
|
|
|
EditFolder::EditFolder
|
2019-01-17 17:29:53 +00:00
|
|
|
Called when the folder is to be updated
|
|
|
|
|
|
|
|
This hook can be used to replace the code for updating a folder. If
|
|
|
|
the hook returns null, the original code for adding the
|
|
|
|
document will be executed.
|
2017-02-23 06:03:03 +00:00
|
|
|
|
|
|
|
EditFolder::postEditFolder
|
2019-01-17 17:29:53 +00:00
|
|
|
Called after a folder was updated
|
|
|
|
|
|
|
|
This hook will be called after a folder was updated, both by the
|
|
|
|
original code and within the hook removeFolder. It will not be
|
|
|
|
called if updating the folder failed.
|
|
|
|
The return value of this hook should always be null.
|
|
|
|
|
|
|
|
TransferDocument::preTransferDocument
|
|
|
|
|
|
|
|
TransferDocument::transferDocument
|
|
|
|
|
|
|
|
TransferDocument::postTransferDocument
|
2017-02-23 06:03:03 +00:00
|
|
|
|
|
|
|
ViewOnline::version
|
|
|
|
Called when a document is downloaded for online view
|
|
|
|
|
|
|
|
Download::version
|
|
|
|
Called when a document is downloaded for saving on disk
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
Login::preLogin
|
|
|
|
Called before a user is logged in
|
|
|
|
|
|
|
|
Login::authenticate
|
|
|
|
Called before any other authentication is done
|
|
|
|
|
|
|
|
If this hooks returns a user, no other authentication will be done.
|
|
|
|
If it returns false, the login fails as well.
|
|
|
|
|
|
|
|
Login::restrictLogin
|
|
|
|
Called right before the user is considered to be logged in
|
|
|
|
|
|
|
|
This hook can contain a last check which keeps the user from being
|
|
|
|
logged in. Return false to stop login. The authenticated user is
|
|
|
|
passed to the hook.
|
|
|
|
|
2017-02-23 06:03:03 +00:00
|
|
|
Login::postLogin
|
|
|
|
Called after user in fully logged in
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
The logged in user is passed to the hook.
|
|
|
|
|
|
|
|
Login::loginFailed
|
|
|
|
Called if authentication failed
|
|
|
|
|
2017-02-23 06:03:03 +00:00
|
|
|
Logout::postLogout
|
|
|
|
Called after user is logged out
|
|
|
|
|
2019-01-17 17:29:53 +00:00
|
|
|
IndexDocument::preIndexDocument
|
|
|
|
|
2017-02-23 06:03:03 +00:00
|
|
|
Currently available view hooks
|
|
|
|
------------------------------------
|