The local MarvelClient file (mc.dl on Windows, mc.so on Linux and mc.dylib on Mac) file is deployed into either the IBM Notes program or data directory and activated on clients with one additional entry in notes.ini (EXTMGR_ADDINS=, see below).
Note that for architectural reasons, on Citrix it is highly recommended to deploy the local MarvelClient file into the Notes program directory. Also, Citrix customers are advised to use the non-UPX packed version of MarvelClient, which is available from support(firstname.lastname@example.org).
The MarvelClient file auto-adapts to the respective end-user’s Notes release, install type and language – from Notes 5 to including 9 Standard (=Eclipse) and Basic Edition, through local and network-, single- and multi-user-, roaming- and non-roaming-installations – meaning that one single file covers all possible IBM Notes client types and configurations.
Integration with IBM Notes
MarvelClient is entirely based on the security architecture of IBM Notes/Domino.
The integration with IBM Notes is based on the so called extension manager service, a specific form of integration into the IBM Notes/Domino platform (for further details see: http://tinyurl.com/ax98ylc).
Extension managers are widely used for a great many different topics in the IBM Notes/Domino world, such as (on both Domino servers, as well as Notes clients):
- Virus scanners,
- Fax extensions, or
- Automatic attachment (de)compression
In principle an extension manager is a (.dll/.so/.dylib) file written in C (++), which makes use of an integration mechanism into Notes/Domino provided by IBM.
Upon starting the Notes client, each extension manager add-in is loaded, which again registers itself for a variety of subsequent events in IBM Notes (such for when attachments are being opened or saved, or the successful login of an end-user) as to be called again by IBM Notes upon each such subsequent event.
panagenda MarvelClient integrates itself into IBM Notes/Domino at several such events – depending on licensed and used feature set - for a detailed description also see About Runtypes.