Zope. Разработка Web-приложений и управление контентом. С.Спикльмайр и др.
Книга ориентирована на специалистов, столкнувшихся с необходимостью быстрого развертывания сайта. Здесь рассмотрены свыше 50 продуктов Zope, позволяющих решать типичные проблемы Web-разработки; приведены рекомендации по их использованию и интеграции с другими системами, а также по написанию и отладке собственных Zope-продуктов.
Оглавление
- Предисловие
- Введение
- Часть I. Отличие Zope от других продуктов
- Глава 1. Цель Web — оптимизация Web-разработки
- Zope — среда публикации объектов
- Публикация — это процесс
- Динамическая генерация страниц
- Как построить Web-сайт
- Встроенный графический интерфейс для управления контентом
- Элементы аналогичны SSI, только лучше
- Правила заимствования
- Поведение и свойства объектов
- Группировка взаимосвязанных элементов
- Уникальные комбинации
- Алхимия заимствования
- Пакеты — взгляд изнутри
- Элементы программирования — присваивание значенийпеременным
- Подготовка к созданию страницы — выявление элементов
- Установка Zope
- Интерфейс управления Zope: все под контролем
- Резюме
- Глава 2. Мышь как инструмент построения сайта
- Интерфейс TTW
- Управление страницами и элементами
- Новый тип объектов Zope — папка
- Новые типы объектов — графика и файлы
- Интерфейсы FTP и WebDAV
- Манипуляции мышью: копирование, вставка и удаление
- Основы программирования
- Дополнительные возможности DTML — управление потоком выполнения
- Выражения в DTML
- Не усложняйте код
- Заставим сайт работать
- Генерирование HTML
- Резюме
- Глава 1. Цель Web — оптимизация Web-разработки
- Часть II. Применение компонентов Zope
- Глава 3. Публикация событий в Web
- Выявление потребностей пользователя
- Односторонняя сеть
- Тег Calendar
- Определение нового тега DTML
- Что можно поместить между тегами
- Простые объекты событий
- Как избежать неразберихи путем изолирования событий
- Управление календарем со стороны пользователя
- Объект TinyTablePlus
- Электронная мини-таблица
- Доступ к данным в таблице TinyTablePlus
- Объект ZCatalog
- Мощная поисковая система для Zope
- Индексация — наиболее трудная часть задачи
- Поисковые формы
- Z-классы
- Создание Z-класса
- Включение Z-классов в свою систему
- Python-сценарии
- Знакомство
- Продукт EventFolder
- Резюме
- Глава 4. Инструменты Zope для организации дискуссий
- Проблемы безопасности Zope
- Практический пример
- Проверим, все ли правильно сделано
- Ввод данных пользователей
- Продукт ZUBB
- ZUBB — реализация BBS в Zope
- Установка ZUBB
- Настройка и использование ZUBB
- ZWiki — разделяемая доска
- Wiki
- Реализация Wiki в Zope
- Использование ZWiki
- Продукт Squishdot
- Squishdot — реализация Web-дневника для Zope
- Установка Squishdot
- Использование объекта Squishdot
- Настройка электронной почты для Squishdot
- Продукт CMF
- Что такое портал
- Описание CMF
- Установка CMF
- Использование CMF
- Как стать членом портала
- Наполнение портала контентом
- Продукт Tracker
- Установка Tracker
- Конфигурирование Tracker
- Использование Tracker
- Резюме
- Глава 5. Web-почта
- Доставка уведомлений пользователям
- Отправка почтового сообщения из программы с помощью тега sendmail
- Объект MailHost
- Необязательные параметры объекта MailHost
- XRON — автоматический планировщик задач
- Установка XRON
- Конкретная задача XRON
- Продукт POPMail
- Установка POPMail
- Использование POPMail
- Библиотека POPLib
- Продукт IMapClient
- Установка IMapClient
- Продукт ZMailIn
- Установка ZMainIn
- Конфигурирование ZMailIn
- Использование ZMailIn
- Резюме
- Глава 6. Новости, опросы и другие Web-инструменты
- Локальный доступ к внешним ресурсам
- Продукт RDFSummary
- Установка RDFSummary
- Включение объекта RDFSummary в сайт
- Опросы
- Продукт Poll
- Установка продукта Poll
- Создание онлайнового опроса
- Инструменты для создания инструментов
- Web-формы для конструирования Web-форм
- Установка Formulator
- Создание Web-формы с помощью продукта Formulator
- Объект EmailField
- Как быстро сделать красивую Web-страницу
- Резюме
- Глава 3. Публикация событий в Web
- Часть III. Управление сайтом и контентом
- Глава 7. Делегирование, базы данных и пользователи
- Управление пользователями
- Роли и полномочия
- Встроенная система безопасности
- Выбор правильных инструментов
- Установление соединения
- Методы ZSQL
- Замена адаптера Zope
- Промышленная база данных
- Что не хочет знать Web-мастер об SQL
- Внешняя аутентификация
- Каталоги и протоколы
- Резюме
- Глава 8. Контент должен быть под контролем
- Запрос и ответ по протоколу HTTP
- Тестирование "цели" вручную
- Подобъекты объекта REQUEST
- Имена полей форм и преобразование типов
- Почему работает процесс заимствования
- Контекст и вложение
- Пример соотношения между контекстом и вложением
- Заимствование на уровне языка Python
- Построение непротиворечивых шаблонов
- Объекты как строительные блоки
- Начнем сверху
- Вернемся к началу
- Шаблоны
- Приступим к изучению CMF
- Инструментальные средства CMF
- Обличья, выбираемые пользователем
- Адаптация стандартного метода
- Добавление своего типа контента
- Шаблоны страниц в Zope
- TAL и TALES
- Макроязык METAL
- Резюме
- Глава 9. Управление временем и Z-каталоги
- Дата и время в Zope
- Объект DateTime
- Обратимся к исходному тексту объекта DateTime
- Математические операции с объектами DateTime
- Добавление объекта DateTime к Z-классу CalendarEvent
- Углубленное изучение Z-каталогов
- Расширенный поиск
- Z-каталог позволяет каталогизировать почти все
- Внешние методы и модуль ZPublisher/Client
- Резюме
- Глава 10. Инструменты Web-мастера
- Хостинг виртуальных сайтов
- Подробный пример
- Доступ к файлам
- Обеспечение безопасности сайта
- Выявление неполадок
- Резюме
- Глава 7. Делегирование, базы данных и пользователи
- Часть IV. Разработка Web-приложений
- Глава 11. Проектирование приложений для интеграции с помощью каркаса ZPatterns
- Назначение продукта ZPatterns
- Одного объектно-ориентированного программирования недостаточно
- Продукт ZPatterns дает объектам новую жизнь
- Основные идеи продукта ZPatterns
- Конкретный пример: Задачи, Цели, Исполнители
- Установка ZPatterns и примера ToDo
- Подготовка участников
- Уточнение состава атрибутов, методов и взаимодействий
- Тактика и словарь ZPatterns
- Классы и их сферы ответственности
- Словарь ZPatterns
- Каркас ZPatterns позволяет объединить компоненты
- Делегирование обязанностей
- Установление соединений: провайдеры атрибутов
- Отношения с более высокими кратностями
- Разделение элементов пользовательского интерфейса между объектами и специалистами
- Назначение Исполнителя Задаче
- Резюме
- Глава 12. Интеграция приложений с помощью каркаса ZPatterns
- Интеграция приложений — трудная задача
- Объект-участник: роль зависит от контекста
- Каркас ZPatterns устанавливает соответствие объектов
- Объединение объектных моделей
- Виртуальные экземпляры — это объектно-ориентированные имитаторы
- Основную работу выполняют подключаемые модули
- Построение интегрированной системы Academic Data System из программ Attendance и Lunch
- Приложение "Учет посещаемости"
- Полный пример приложения
- Интеграция двух несвязанных приложений
- Пример Python-продукта, устанавливаемого в файловой системе
- Резюме
- Глава 13. Управление пользователями: интерфейс с внешними системами
- Пользователи, полномочия и роли
- Управление пользователями как ключ к безопасности
- Аутентификация — доказательство подлинности
- Роли, полномочия и модель безопасности Zope
- Каркас ZPatterns и пользователи. Объект LoginManager
- Конфигурирование простого менеджера аутентификации с помощью объекта GenericUserSource
- Интеграция пользователей в масштабе предприятия
- Пользователи в приложении "Учет посещаемости"
- Предоставление родителям возможности следить, ходит ли их чадо в школу
- Резюме
- Глава 14. Коллективная разработка: тестирование и управление версиями
- У семи нянек дитя без глазу
- Версии Zope
- Система CVS как средство управления версиями проектов
- Совместная работа Zope и CVS
- Конфигурирование продукта ZCVSFolder
- Типичный сценарий
- Организация выкладывания с помощью CVS
- У каждого разработчика есть собственный экземпляр Zope
- Подготовка тестового сервера
- Оперативное обновление
- Тестирование и версии
- Тестирование элементов — это тестирование каждой части
- Тестирование элементов на уровне языка Python
- Тестирование элементов в Zope
- Резюме
- Глава 11. Проектирование приложений для интеграции с помощью каркаса ZPatterns
- Часть V. Организация критически важных приложений
- Глава 15. Вертикальное масштабирование
- О порядке величин
- От класса к школе и далее к округу
- Оценка и выбор инструментов
- Профилирование
- Распределение нагрузки
- Внешнее обслуживание статических страниц
- Кэширование и proxy-серверы
- Объекты ZEO
- Распределение и репликация объектов
- Приближение обработки к данным
- Резюме
- Глава 16. Резервное копирование, восстановление после сбоев и распределенная обработка
- Различные способы экспорта объектов
- Хранение данных в файловой системе и альтернативные варианты
- Простое реплицирование и резервное копирование
- Другие варианты хранения
- Продукт ExternalMount
- Хранилище Berkeley Storage
- Хранилище Oracle Storage
- Распределенная обработка сегодня
- Zope как Web-клиент
- Протокол XML RPC
- Использование XML для других целей
- CORBA и Zope
- Резюме
- Глава 15. Вертикальное масштабирование
- Глоссарий
- Предметный указатель
