Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Solution-Management/CtrlVAF

An extensive framework, made to make your life as an M-Files VAF engineer much more simple, powerful and S.O.L.I.D
https://github.com/Solution-Management/CtrlVAF

m-files reflection vault-application-framework

Last synced: 3 months ago
JSON representation

An extensive framework, made to make your life as an M-Files VAF engineer much more simple, powerful and S.O.L.I.D

Awesome Lists containing this project

README

        

# CtrVAF

This package was created in order to move logic out of the standard VaultApplication class into seperate classes that can handle these tasks for the VaultApplication class.

The design is based on the dispatcher/command pattern.

At this time there are three different dispatchers:

1. **Event** dispatcher that seeks out classes that react to M-Files events. These classes would replace the event handler functions on the VaultApplication class.
2. **Validation** dispatcher which seeks out classes that do custom validation on the configuration set in the admin tools. These classes would replace the logic happening inside the overrideable `CustomValidation()` method of the VaultApplication class
3. **Background** dispatcher which seeks out classes with a method that can be called as a background operation

Furthermore, every dispatcher can be decorated with a **Licensed** dispatcher to enable easy marking of license requirements on the handler classes.

All this minimizes the times the VaultApplication class needs to be reopened and edited. Perfect open/close on the VaultApplication class is not (yet) possible we think, but this is a step in that direction.

For more information on how each dispatcher works and how to implement the handler classes, please take a look at the information in the relevant folder.