Вход
Главное меню





12>


Помогите разобраться.
#1
Just popping in
Just popping in


Возникла у меня потребность создать свой проект посвященный цифровой фотографии и видео. И начал я искать движок, чтобы было все как у взрослых. Попробовал PostNuke и Xoops2 и понял, что столкнулся с серьезной проблемой: эти движки совсем не объекто-ориентированные(как везде написано) и работают они со своими "объектами" криво. У Вас, дорогой читатель, внутри поднялась волна негодования? Не спешите и дочитайте, пожалуйста, до конца.

Итак, как я уже упоминал выше, хочется сделать сайт о цифровой фотографии и видео. Немного поразмыслив о структуре данных и о манипулировании ими я пришел к следующему умозаключению:

1. ДАННЫЕ
Вы будете смеяться, но для построения ПОЛНОЦЕННОГО сайта достаточно всего ДВУХ БАЗОВЫХ объектов - "СООБЩЕНИЕ" и "ПОЛЬЗОВАТЕЛЬ".

ПОЛЬЗОВАТЕЛЬ - это пользователь в том виде, в котором он сейчас существует во всех подобных CMS - тут у меня претензий никаких.

СООБЩЕНИЕ - любой текстовый объект на сайте имеет следующие основные свойства:
-- заголовок
-- тело сообщения
-- дата и время создания
-- пользователь, создавший сообщение
-- количество просмотров(показов)
-- тип (HTML или TEXT)
-- раздел(ы)
Какие же типы объектов мы можем получить, основываясь на объекте СООБЩЕНИЕ?
-- Системное сообщение (заметьте, это нечто отличное от новостей) - добавляем поле "группа" для того, что бы обозначить, каким пользователям оно предназначено (Всем, администраторам, редакторам и т.д.)
-- Новости (делятся по разделам) - добовляем поле "ключевой(ое) признак(слово)" для того, что бы можно было быстро строить линки между статьями и новостями, посвященными одному и тому же продукту.
-- Статьи (они же обзоры)- по сути, ничем, кроме объема, от новостей не отличаюся.
-- Ссылки - добавляем поле "ссылка" и выводим это все в заголовок, а тело сообщения - это описание ресурса.
-- Закачки (downloads) - опять все тоже самое, только добавляем ссылку на файл.
-- Картинка - опять та же структура, только еще ссылка на картинку.
-- Комментарий (к статье, новости, системному сообщению и т.д.) - тоже самое, только содержит в себе еще индетификатор статьи (новости и т.д.).

В зависимости от типа объекта, смысл некоторых базовых полей может немного меняться, например для объекта "закачки" поле "количество показов" быдет выводится как "скачано столько-то раз", но это уже детали.

2. Манипулирование данными.
С движком все предельно ясно - он делится на 3 функциональные части: манипулирование данными (в базе данных), работа с пользователями (и, самое главное, их правами) и отображение объектов через темы.

АГА! Каждому объекту в базе можно смело добавить поле "индетификатор темы" и тогда, при необходимости, простой привязкой к этому объетку отличного от других объетов класса CSS, или же файла CSS или целой темы(!) можно будет легко врендрять в оформление сайта блоки, привлекающие повышенное внимание пользователей (например реклама).

Теперь суть, к которой мы так долго и мучительно шли.
Предположим, у меня есть следующая структура сайта:
* Системные сообщения
* Новости
--* Новости сайта
--* Фото
----* Камеры
----* Оптика
----* Аксесуары
----* Софт
----* Новости торговли
--* Видео
----* Камеры
----* Аксесуары
----* Софт
----* Новости торговли
--* Разное
* Статьи
--* Фото
----* Камеры
----* Оптика
----* Аксесуары
----* Софт
----* Съемочный процесс
--* Видео
----* Камеры
----* Аксесуары
----* Софт
----* Съемочный процесс
--* Разное
* Обзоры
--* Фото
----* Камеры
----* Оптика
----* Аксесуары
----* Софт
--* Видео
----* Камеры
----* Аксесуары
----* Софт
--* Разное
* Форум

Ну предположим все. Получилось ужастное дерево, состоящие из сплошных дубликатов, которые отличаются незначительно, например, обзор - это та же самая статья, только посвященная конкретному продукту (вспоминаем поле "ключевой(ое) признак(слово)"). В этом случае, имея базу данных, построенную на унифицированных объектах, очень легко выдавать пользователю только то, что ему интересно. Например, хочет пользователь читать только про видео - пожалуйста, а хочет только новости всех разделов - пожалуйста, хочет только про софт из всех разделов - пожалуйста! Более того, один объект элементарно может быть превращен в другой простым добавлением нужного поля(!)(хотя я не представляю, зачем это нужно). Разделы в базе присутствуют исключительно как индекс, по которому осуществяется поиск объектов. Комментарии к статьям могут быть легко представлены как одна из ветвей форума (хотя такой фичи я нигде не встречал), поскольку форум как раз и служит для общения пользователей.

Вместо этого, мы имеем "паралельные" модули, которые работают только со своим типом данных (например, модуль новостей) и никак не взаимодействуют с другими модулями. В моем случае - это просто кошмар. Вместо того, что бы использовать удобный движок и тратить минимум усилий на наполнение сайта контентом (для чего и создавались CMS), мне придется тратить кучу времени на генерирование ссылок на статьи, объединение статей и новостей в группы по тематике и т.д. или оставить все как есть, бросив пользователей на произвол судьбы, заставив их блуждать в дебрях ресурса, что намного снизит его (ресурса) привлекательность и удобство.

Итоги: в XOOPS 2 RC4 обещали сделать нечто похожее на ту систему, которая здесь описана. Но исходя из текущей версии, я думаю, что получится нечто иное, поскольку наследование и абстракция являются основополагающими принципами ООП, а они, на мой взгляд, так и не были использованы разработчиками.

С уважением ко всем читателям и, особенно, разработчикам бесплатных CMS, Irzichek.

P.S. Буду безмерно благодарен тому, кто поможет мне изменить мое мнение о существующих на текущий момент времени CMS. Спасибо.

Posted on: 2003/3/28 10:13
 Top  Print  Reply Quote


Re: Помогите разобраться.
#2
Just popping in
Just popping in


То что ты хочешь, в бесплатных порталах не найдешь, они все написаны по одной схеме
Ну например практически все модули для XOOPS-а - это переделанные модули PHP-NUKE, то же относиться и к Themes, ядро практически такое же, POST-NUKE тоже клон PHP-NUKE, и ещё целая куча бесплатных порталов и все одни клоны.
Короче все беды идут от нуки, как было в начале все криво, так все эту кривизну и повторяют
Вывод следующий:
Покупай нормальный портал или пиши сам то что тебе надо.
Лично меня хоорs вполне устраивает, я от него не ожидаю ничего сверх возможного.

Posted on: 2003/3/28 10:56
 Top  Print  Reply Quote


Re: Помогите разобраться.
#3
Just popping in
Just popping in


Я не хочу чего-то сверхестетсвенного. На мой взгляд, такая система более проста в разработке, поддержке и использовании. Ведь функции по работе с контентом будут практически идентичны для любых видов данных. А можно вообще унифицированные функции писать. А кроме того, не очень сложно сделать модуль генерации новых типов данных и их обработки самим вебмастером. Что-то вроде ВИЗИВИНГ редактора :)

Posted on: 2003/3/28 11:06
 Top  Print  Reply Quote


Re: Помогите разобраться.
#4
Just popping in
Just popping in


Для этого наверно нужно полностью переписать ядро, что повлечет за собой переписывание модулей и блоков. В принципе для твоих целей наверно подойдет in-link http://www.in-link.net/download/ - он позволяет создавать какие хощь базы данных, крекнутую версию ищи на крекерсих сайтах.

Posted on: 2003/3/28 15:52
 Top  Print  Reply Quote


Re: Помогите разобраться.
#5
Just popping in
Just popping in


Вам шашечки или кататься Какая разница как построен сайт с точки зрения начинки во всяком случае для внешнего пользователя. После Ваших высказываний повеяло чем-то давно забытым - совковой академической наукой, не обижайтесь, простите старика, это я так, к слову. Фото/видео сайт можно построить на любой популярной CMS с той или иной степенью гимора. Во всяком случае у меня такой опыт есть, через недельку заходите на Photoman.ru убедитесь что все работает и на мой взгляд неплохо. У меня использован старый движок Post-Nuke 0.64. Те, возможно правильные идеи, которые Вы высказываете скорее теоретически правилны, но возможно практически неисполнимы. Более того любой универсализм, как правило ограничивает возможности. Что касается выбора движка - подход который использовал я - был выбран движок на тот момент обладавший наиболее развитыми функциями и имел хорошую переносимость модулей и их достаточный набор. Как резюме - если цель запустить в работу сайт в разумные сроки выберите тот движок, который на данный момент времени максимально удовлетворяет Вашим требованиям и - вперед. Успехов.

Posted on: 2003/3/28 16:58
 Top  Print  Reply Quote


Re: Помогите разобраться.
#6


Спешу Вас информировать, что PHP в полном смысле не объектно-ориентированный язык. Классы и прочее - фикция.
Что касается ожиданий от RC4, ну наверное каждый желает подтянуть за уши свои необходимости к конкретно реализованному движку.
Если есть спицифика, значит нужно затачивать отдельно.
Если все так просто, как Вы объяснили, то какие проблемы? Пишите модуль и используйте его.

P.S. Почему все все ждут от новой версии чего-то сверхестественного? Это все то-же самое, но в другой упаковке!

Posted on: 2003/3/28 17:24
 Top  Print  Reply Quote


Re: Помогите разобраться.
#7
Just popping in
Just popping in


Так я и не спорю, если делать сайт в блокноте то можно взять любой портал.

Posted on: 2003/3/28 17:29
 Top  Print  Reply Quote


Re: Помогите разобраться.
#8
Just popping in
Just popping in


2 Anatol
Quote:
Фото/видео сайт можно построить на любой популярной CMS с той или иной степенью гимора


Сайт любой сложности можно построить на HTML-страницах, которые при этом создавать в notepad'e. А смысл?

А разговор я затеял о том, что вроде грамотные программисты пишут серьезный продкут, а идею, которая, казалось бы, должна поавать на поверхности, никто до сих пор не реализовал. А по поводу небольшого гимора - так CMS для того и создавались, что бы этого гимора избежать. Ан нет - не выходит

Posted on: 2003/3/29 20:00
 Top  Print  Reply Quote


Re: Помогите разобраться.
#9
Just popping in
Just popping in


600$ и немецкая комманда SSG, если не ошибаюсь, сделает то, что тебе угодно -) тут эе freeware - значит оноказу и другие ничем никому не обязаны. это так, к сведению. =)

Posted on: 2003/3/30 20:36
Дождь идет а мы на лыжах
 Top  Print  Reply Quote


Re: Помогите разобраться.
#10
Just popping in
Just popping in


Да причем тут "должен" или "обязан"? И вообще, зачем на меня обижаться?

Никто никому ничего не должен. Просто в основе хорошего продукта должна лежать концепция. Опять же, я не говорю, что существующие CMS - отстой. Просто они, как тут многие заметили, отличаются друг от друга совершенно незначительно (в плане возможностей и функциональности), а такое большое количество людей тратит уйму своего времени на развитие паралельных систем, в то время, когда логично было бы пересмотреть задачи и сделать продукт на новом уровне.

Posted on: 2003/3/31 7:03
 Top  Print  Reply Quote








Powered by XOOPS © 2001-2023 The XOOPS Project