Разработка информационной системы управления документацией (Wiki-системы) программный проект по курсу «Базы данных» Скворцов А.Н. гр. 4081/4 Рытенков А.С.

Презентация:



Advertisements
Похожие презентации
Специальность «Программное обеспечение вычислительной техники и автоматизированных систем» Ижевск 2009 Мамаев Михаил Владимирович Платформа для.
Advertisements

Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
СУБД Microsoft Access 2003 ЗНАКОМСТВО. Что такое Access? Access – Приложение, входящее в состав пакета Microsoft Office (разработано компанией Microsoft).
Веб 2.0 сайт для поддержки виртуального мира Студент: Наумов Василий, ПС-52 Научный руководитель: Танаков Андрей Игоревич.
Система программ «1 С: ПРЕДПРИЯТИЕ» Структура Элементы Средства.
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
Опыт реализации отказоустойчивого сервера приложений и хранилища данных на базе СУБД ЛИНТЕР Михаил Ермаков, Дмитрий Мухоедов, РЕЛЭКС.
Языки, технологии и средства создания Web-сайтов. Компонентная структура. Выполнил Федорова Я.В., студентка СФУ ИППС 1 курс заочное отделение.
Лекция 1 Лекция 1 Введение в Автоматизированные информационные системы (АИС) и Базы данных (БД). Определение БД и банков данных (БнД). Компоненты банка.
Инструменты построения информационных систем на основе Wiki-технологии и онтологий предметных областей Шестаков Владимир Научный руководитель: Загорулько.
Работу выполнил: Студент группы ИС-С 06 Попов М.М. Попов М.М.
Система оперативного сбора данных. Ключевые цели и задачи Повысить оперативность, эффективность и качество сбора и предоставления информации в рамках.
Сервисы Google в образовании. Почему Google? 10 аргументов «за» 1. Бесплатность. 2 доступны все базовые возможности; отсутствие ограничений на период.
Тематический раздел «Технологическая поддержка» содержит всю необходимую информацию для проведения регламентных работ по обновлению и настройке программ.
Разработка прототипа системы управления веб-содержимым Анисимов А.О. Руководители: Васючкова Т. А., Семенов И. А.
Развитие платформы SciRus Якшин М. М. БЕН РАН. Исторический экскурс: платформа SciRus Разрабатывается с 2004 г. Инструмент для создания настраиваемых.
СУБД Microsoft Access 2003 ЗНАКОМСТВО. Что такое Access? Access – приложение, входящее в состав пакета Microsoft Office для разработки баз данных и осуществления.
Базы данных: назначение и основные возможности Разработка учителя информатики и ИКТ МОУ СОШ с. Тербуны Болговой Н.А.
Проекты ONLINE Ведение проектов в распределённом режиме, с участием заказчиков, исполнителей и соисполнителей Назначение.
Базы данных MICROSOFT ACCESS. Оглавление Введение Microsoft Access. Основные понятия. Таблицы Связи между таблицами. Формы Запросы Отчёты Создание базы.
Транксрипт:

Разработка информационной системы управления документацией (Wiki-системы) программный проект по курсу «Базы данных» Скворцов А.Н. гр. 4081/4 Рытенков А.С. гр. 4081/3 ФТК 2008

Формулировка задачи Структурирование документов с помощью Wiki-системы

Формулировка задачи Хранение набора документов Предоставление документов пользователям Структурирование информации Логическое связывание документов Редактирование, сохранение истории, статистика Управление доступом к информации Доступ к документам через Web интерфейс Эти функции характерны для любой wiki-системы. Ярким примером может служить всем известная Wikipedia.

Выбор инструментов Язык Java и фреймворк JSF для web-разработки –IDE и фреймворк распространяются свободно –JSF – широкораспространен –- скорость разработки приложений на Java гораздо меньше, чем на python –- фреймворк JSF после первого взгляда показался сложным и иногда интуитивно не понятным (наверное оч. субъективно) –- документация к JSF могла бы быть и получше Язык python и фреймворк django –Новая перспективная технология –Интерпретатор python и фреймворк распространяются свободно –решение на языке python скорее всего будет проигрывать по производительности аналогичному решению на java –фреймворк находится на стадии разработки, версия 1.0 еще не выпущена, хотя есть стабильная версия 0.96 –наличие хорошей online-документации –Высокая скорость разработки приложений на python/django Python мультипарадигменный язык программирования высокого уровня со строгой, динамической типизацией и автоматическим управлением памятью.

Особенности Django Структура web-приложения реализуемого с помощью фреймворка Django

Особенности Django Django - это свободный программный каркас для создания веб-приложений, названый в честь джазового гитариста Джанго Рейнхардта. Слой ORM –Абстракция от конкретной СУБД –Автоматическая трансляция объектов в набор таблиц –Частичная абстракция от схемы БД Подключаемая архитектура приложений. Высокий коэффициент повторного использования кода. Полноценный API доступа к БД с поддержкой транзакций. Расширяемая система шаблонов и тегов Диспетчер URL на регулярных выражениях Встроенный административный интерфейс

Реализация основных функций Основные функции простой wiki-системы можно реализовать всего на двух таблицах. Если постараться, то можно объединить их и в одну Хранение Отображение документов Версионность Список версий Оптимистичная блокировка при редактировании Отчет об истории изменений страницы

Система структурирования документов Тег - ключевое слово для категоризации чего-либо. Иными словами, это метка, которой помечается один или несколько документов Тегирование документов Получение списка страниц помеченных тегом Иерархическая система категорий (на основе тегов) Облако тегов

Приложения к страницам Приложения к документам могут быть разделены на два класса: бинарные файлы и картинки. Картинки используются для оформления страниц, бинарные файлы доступны только для скачивания. Привязка файлов к wiki- страницам Хранение файлов в базе Кодировка base64 Форма загрузки файлов

Подсистема управления доступом Основными правами являются право просмотра, создания и редактирования объекта, например документа. Количество прав в системе не может быть изменено динамически Разделение прав доступа к объектам системы Индивидуальное и групповое предоставление прав Иерархическая система управления правами (возможность организации вложенных групп) Использование стандартных методов управления django.contrib.auth Реализация интерфейса управления иерархической системой прав Реализация системы свободной регистрации

Подсистема управления доступом Упрощенная схема сущностей и связей обеспечивающих работу системы прав

Решенные задачи Функция просмотра изменений реализована на основе стандартной библиотеки difflib Просмотр/Редактирование страниц Просмотр списка страниц Вики-разметка (mediawiki и markdown) Загрузка файлов и картинок Оптимистичная блокировка страниц на редактирование Меню Теги для страниц Просмотр облака тегов Категории для страниц на основе тегов Комментарии Просмотр изменений (diff)/редактирование конфликтов Список ревизий и возможность просмотра конкретной ревизии

Решенные задачи При использовании xml-rpc, работа с базой MySQL идет напрямую, не используя механизм ORM слоя фреймворка Привязка файлов к wiki-страницам, хранение файлов в базе Доступ к основной функциональности через механизм xml-rpc Преобразовать страницу просмотра ревизий в подробный html-отчет об истории изменений страницы, написать xml- rpc метод для получения xml версии этого отчета Авторизация, разграничение прав регистрация пользователей вход/выход администрирование (назначение прав и групп) Модификация системы авторизации, реализация иерархических групп

Заключение Разработано ядро полноценной wiki-системы допускающее добавление функций В качестве основных инструментов использовался язык Python и фреймворк Django. Реализована подсистема тегирования и категорирования для структурирования информации Реализована подсистема управления правами доступа Реализован механизм доступа к данным через xml- rpc Реализован прототип простой подсистемы аудита Наличие возможности простого перехода на другую СУБД из числа поддерживаемых Django За простотой изложенного стоит большая практическая работа, многие особенности который были опущены с тем чтобы не утомлять слушателей

Просмотр страницы

Список ревизий

Загрузка файла

Редактирование группы