Manager - це такий всесильний адміністратор, аналог рута. Owner - власник тих ресурсів, які він створив. Анонімний пользователь - просто відвідувач сайту; йому спочатку доступні типи доступу: Access content, View, Use SQL Methods (це для того, щоб дозволити викликати SQL Методи з DTML Методів) і Search ZCatalog. Адміністратор сайту в подальшому може створювати нові ролі, як в корені, якщо у самого адміністратора є права на редагування кореня, так і в будь-яких Піддерево, на які у адміністратора є права.
Більшість коду Zope реалізована мовою python, за винятком невеликого числа модулів написаних на C для підвищення продуктивності. Python є багатоцільовим, об'єктно-орієнтованою мовою програмування. Python являє собою повноцінний мова програмування, що використовується для створення додатків будь-якого типу. У відмінності від PHP який орієнтований на розробку web-додатків. Багатий набір додаткових модулів може бути використаний для створення веб-додатків на основі Python. Python є інтерпретується мовою і орієнтована на виконання «сценаріїв» в першу чергу. Це не означає, що Python додаток не може бути великими і складними. Використовуючи Python можна створювати складні додатки. Установчий пакет Python містить багатий набір модулів, які охоплюють більшу частину функціоналу, необхідного типовому розробнику. Додаткові модулі можуть бути завантажені і встановлені зі сховища індексу PyPI. PyPI що містить більше 14 000 додаткових сторонніх модулів (станом на травень 2011 р.). Простий в освоєнні. Синтаксис і концепції Python дуже легко дізнатися і зрозуміти. Середній розробника, як правило, в стані вивчити основи протягом дня або двох. Код python зазвичай читається і зрозумілий (наприклад, в порівнянні з Perl). [10]
Для динамічного побудови сторінок із шаблонів в Zope застосовується мова TALявляется системою шаблонів Zope Page Template (ZPT). TAL підтримує простору імен TAL, METAL і I18N.является еквівалентом TALES, Template Attribute Language Expression Syntax (синтаксис атрибутивного мови шаблонів). Він визначає, як обробляються значення атрибутів XML.
Так як PTALES подібний TALES, TAL шаблони python і PHP можуть однаково використовуватися і транспортуватися з однієї мови в інший.
Щоб бути сумісним з PHPTAL, TAL реалізує XPath-подібний доступ до даних. [6]
Для підключення до Firebird використовується продукт kinterbasDA. Продукти - компоненти, написані програмістом на Пітоні - дозволяють доповнювати Zope новими типами об'єктів. У нашому випадку це драйвер для роботи з СУБД. Він дозволяє створювати параметризовані SQL методи. Викликати методи можна безпосередньо на сторінці, використовуючи TAL шаблон, або в скрипті, написаному на мові Python.
.1 Опис загальної архітектури системи
Система складається з форми авторизації і чотирьох модулів.
· Модуль створення тестів
· Модуль призначення тестів
· Модуль проходження тестів
· Модуль перегляду статистики
Кожен з модулів використовує свій власний коннект під відокремленою для модуля роллю, з певним набором прав і дозволів.
На наступному малюнку представлено схематичне будова модулів.