Sonic.cgi je vývojové prostředí vybudované v programovacím jazyce Perl, které umožňuje jednoduchou a především rychlou tvorbu aplikací s HTML výstupem.
Sonic.cgi a jeho funkce jsou výsledkem několikaletého vývoje. Aplikace postavené na tomto systému jsou velmi stabilní a mají přístup k mnoha předprogramovaným funkcím. Vestavěné zabezpečení je na velmi vysoké úrovni ochrany dat.
Systém se skládá z CGI funkcí, tvorby CGI šablon, definicí šablon dokumentů HTML pro výstupy, definicí uživatelů a jejich práv.
Základem pro tento systém je možnost definice přídavných funkcí. Samotné funkce se jako menší skripty kopírují přímo do speciální složky na serveru.
Tyto funkce je poté možno jednoduže používat jak v šablonách CGI, tak dalších HTML šablonách.
Funkce jsou pro lepší orientaci seskupeny dle zaměření (práce s datumy, čísly, databází, soubory,.. apodobně.).
Některé funkce jsou takzvaně systémové a nelze je smazat, či editovat.
Šablony CGI jsou určeny k programování složitějších aplikací. Lze je definovat také přes webové rozhraní a databázi.
Pokud šablona CGI neexistuje, systém dohledá pouze HTML šablonu.
Šablony HTML jsou poté určeny pouze ke grafickým výstupům, přičemž proměnné v nich obsažené se nahradí obsahem z databáze.
Systém má v sobě již zabudovaný systém práv s použitím "rolí", které jsou uživatelům přiřazovány.
Tyto role se také následně přiřazují ke stránkám, kde se automaticky kontroluje zda přihlášený uživatel má roli potřebnou k zobrazení stránky.
Stránka může mít nastaveny práva i pro role anonymního uživatele.
Dále lze nastavit omezení práv i v Šabloně CGI jen na některé části aplikace (použitím funkcí).
Sonic.cgi spouští některé své funkce ve 2 hodiny v noci. Tyto funkce kontrolují celkovou funkčnost systému a případně opravují některé součásti. Dále se používají ke kontrolám funkcí jednotlivých modulů, jako je například uzavření soutěže, uzávěrka grantu, či každodenní indexování banneru pro zobrazení.
Aplikace Sonic.cgi funguje systémem načítání dalších modulů do jádra systému. Každá instance aplikace může mít obsažené různé moduly dle požadavku zákazníka.
Systém obsahuje také souborový systém se stromovou virtuální strukturou adresářů a možnostmi přidělení práv pro Role Uživatelů.
Jejich zobrazení a případná možnost zobrazení či stažení se řeší jednoduše s pomocí funkce, která je volána ze šablony CGI.
Systém má zabudován systém emailů, kde lze nadefinovat konktrétní emaily. Pro jednotlivé projekty pak jejich odesílatele a hlavičky.
Tyto emaily stačí jednoduše zavolat funkcí s paramnetrem cílové emailové adresy.
Systém má zabudován databázový systém chyb, kde lze přes webové rozhraní nadefinovat konktrétní texty chyb a jejich kódy. Pro samotné projekty je možno definovat i grafickou šablonu pro výpis chyb.