Angepasste Scoring-Plug-ins erfordern eine Funktion 'initPlugin'.
initPlugin ermöglicht dem Plug-in das Laden und Speichern von Konfigurationsdaten, die für das Scoring benötigt werden. Die Zeichenfolge für die Datenbankverbindung und der Name der .ini-Datei werden in der Zeichenfolge configInfo bereitgestellt. 'initPlugin' wird ein Mal für jeden Attributtyp aufgerufen, der ein Plug-in verwendet. Hierbei handelt es sich um gemeinsam genutzte Objekte. Soll die Verwendung des Plug-ins für mehr als einen Attributtyp unterstützt werden, müssen die Konfigurationsdaten für jeden Attributtyp gespeichert werden. Auf diese Weise können die Konfigurationsdaten für den jeweiligen Attributtyp beim Aufrufen von 'score' gesucht werden.
const int initPlugin(const char *configInfo, const uint configSize, char *errorStr, const uint maxStrSize);
<ERROR>Fehlertext</ERROR>
Es folgt ein Pseudocodebeispiel der Funktion 'score':
const int initPlugin(const char *configInfo, const uint configSize, char *errorStr, const uint maxStrSize) { //create string out of configInfo //parse string with XML parser //extract DB_CONNECTION and CONFIG_FILE //connect to database //select config info from database //open CONFIG_FILE //read config info from .ini file //if there was an error create null terminated error string and //strcpy into errorStr. Return -1. //if no error, return 0. }
'initPlugin' sollte beim Auftreten eines Fehlers '-1' zurückgeben.