Građa modula

Građa modula dozvoljava proširenjima da doprinose različitim područjima stranice da bi osigurali fleksibilnost, poboljšali iskustvo korisnika i poboljšali performanse.

Građa modularizacije odvaja omogućavanje funkcije od samog koda teme. Teme se mogu lakše razviti i s manje znanja o detaljima kako radi osnovni kod komponente. Postoje logička mjesta na kojima moduli mogu doprinositi podatke u temu u vrijeme izvođenja i zatim optimizirati te doprinose njihovim kombiniranjem kad je to moguće. Više odvojenih i udaljenih izvora se može kombinirati u jedan zahtjev, radi poboljšanja performansi.

Funkcije teme se mogu omogućiti i onemogućiti upotrebom profila za njihovu konfiguraciju. Zatim se možete usredotočiti na dizajn sučelja teme, bez razmišljanja o tome kako ćete postići da funkcije rade ispravno unutar teme. Funkcije koje nisu potrebne u nekoj okolini se lako mogu isključiti i koristiti u nekoj drugoj okolini. Na primjer, možete onemogućiti načine uređivanja u proizvodnoj okolini portala, a omogućiti ih u razvojnoj okolini. Isti kod teme se može koristiti u takvim okolinama gdje je jedina varijabla profil modula.

Možete postaviti zavisnosti na funkcijama u portletima i profilima. Funkcije se automatski učitavaju na stranicu u agregatnom načinu. Vaš profil ne treba sadržavati više modula nego što ih zahtijevaju portleti. Vaš profil se može usmjeriti na sposobnosti teme. Portleti mogu učitavati samo one module koje zahtijevaju. Zavisnosti portleta se učitavaju nezavisno od profila. Ako više portleta koristi iste funkcije na više stranica, možete dodati te funkcije u profil radi boljih performansi predmemorije. Ako ste kreirali vašu temu na bazi WebSphere Portal verzije 8.5 prije CF03, tada morate omogućiti ovu funkciju. Teme koje se baziraju na WebSphere Portal verziji 8.5 kreirane u CF03 ili kasnije već imaju ovu funkciju omogućenu po defaultu.

Moduli su registrirana proširenja koje zatim koristi profil modula. Svaki modul se numerira s jednoznačnim identifikatorima modula. Modul može zahtijevati da drugi moduli dozvoljavaju automatsko uključenje potrebnog koda koji je potreban za funkcioniranje određene komponente. Na primjer, možete koristiti Dojo opremu unutar modula. Modul može koristiti Dojo opremu za izgradnju prilagođenih grafičkih elemenata. Za odvajanje koda za modul od Dojo koda, modul treba određene Dojo module koji će osigurati da se kod učitava u ispravnom redoslijedu. Ovo odvajanje dozvoljava veću upotrebljivost odvajanjem pakiranja od koda za svaki modul.