A rendszerhez a megfelelő interfészek implementálásával új modulok, szűrők és loginmodulok fejleszthetőek. Egy további megkötés, hogy az új osztályoknak regisztrálniuk kell magukat a megfelelő Manager osztályba, amelyek nyilvántartják az elérhető modulokat, szűrőket és loginmodulokat.
A szűrők interfésze és az eddig bemutatott szűrők a 12. ábrán láthatóak, az egyes szűrőkhöz szükséges beállításokat hordozó mezőkkel együtt.
12. ábra: A szűrőket tartalmazó osztálydiagram
A run metódus a szűrő futtatására szolgál, míg a getName metódussal lekérdezhető név a webes felületen való megjelenítéshez szükséges. A SessionIdFilter tárolja az oldalon megjelenő linkekben elhelyezett munkamenet-azonosító paraméterének nevét, a StripFilter pedig a kiszűrendő szövegrész elejét és végét azonosító karaktersorozatokat. A HashFilter nem rendelkezik egyedi beállításokkal, az osztályra csak a kivonat elkészítésének feladata hárul.
A modulok a 13. ábrán láthatóak. A run és a getName metódusok szerepe megegyezik a szűrőknél ismertetettel. Az interfész kiegészül még egy isValidUrl metódussal is, amely false-t ad vissza, ha az adott UserURL-lel (illetve az ahhoz tartozó webszervertől lekért tartalommal) az adott modul nem használható. Például nincs Last‑Modified fejléc a LastModifiedHeader modulhoz stb. Ez részben egységes hibajelzésre használható, másrészt ezáltal megoldható, hogy a rendszer fel se ajánlja egy‑egy weboldalhoz a nem használható modulokat.
13. ábra: A rendszer moduljait bemutató osztálydiagram
A ParseLinks és a LastmodHeader modulhoz nincs szükség egyedi beállítások tárolására, míg a RegExpModule a reguláris kifejezést, a DiffLinesModule pedig az értesítéshez szükséges megváltozott sorok minimális számát tárolja.
14. ábra: A loginmodulok osztálydiagramja
A loginmodulokat ábrázoló osztálydiagram a 14. ábrán láthatóak. Az előző két ábra kapcsán említett getName metódus itt is szerepel, a run helyét pedig a login metódus veszi át. A getLoginHash metódus egy ellenőrzőösszeget számít a modul beállításaiból (például a felhasználónevet, jelszót és a modul nevét felhasználva), ami az alwaysRefresh mező kapcsán említett módon használható fel (10.2. fejezet).
Említésre méltó még a CustomForm modulhoz tartozó cachedSessionCookie tranziens mező, amely a bejelentkezéskor visszakapott cookie‑t tárolja. Így a beágyazott tartalmak figyelésekor nem szükséges minden kép letöltése előtt bejelentkezni, csupán a cookie‑t tartalmazó HTTP fejlécet kell a kéréssel elküldeni.
Legutóbbi hozzászólások
9 év 12 hét
10 év 1 hét
10 év 5 hét
10 év 23 hét
11 év 25 hét
11 év 31 hét
11 év 31 hét
11 év 32 hét
11 év 42 hét
12 év 12 hét