Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
Захотелось в очередной раз вернуться к вопросу об архитектуре универсальной системы построения и управления веб-проектами/сайтами (далее СMS). Целью является спроектировать схему такой CMS. Приветствуется введение абстракций высокого уровня для сокращения кода. Присоединяйтесь к разговору, описывайте свое видение, предложения и т.д., а я, при вашей поддержке, постараюсь соединить это в единую
схему.
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
caballero пишет:
как вы можете что то соединить если понятия не имеете что делать?
Ну началось Я бы вам мог ответить что-то типа "докажите ваше утверждение", но это все лирика. Лучше напишите что-нибудь по делу. Хотя бы маленький аспект затроньте, чтобы был предмет для обсуждения.
(Добавлено)
Изучаю ссылки - учту в схеме. Но это не отменяет общения здесь.
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
по какому делу?
Вы думаете можно накидать в кучу каких то аспектов а потом с них что то соединить?
Опишите вообще чего вы хотите и какие у вас проблемы.
Универсальная структура CMS - это ниачем. (Добавление)
общение будет один к одному как было по этим ссылкам
В результате исходные коды проекта могут храниться в сжатом виде в phar формате, а файлы самого сайта будут достаточно лаконичны и просты. Здесь же можно предусмотреть и модульность. Также многое надо уделять работе с консолью т.к. для быстрой разработки надо предусмотреть ряд очень удобных инструментов. Кеширование в таком проекте тоже можно сделать очень продвинутым т.к. он рассчитан на простые сайты, а там можно кешировать буквально все страницы целиком.
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Цитата:
Как таковых "контроллеров" видимо можно и не делать ;))
Сервер обработки сообщений системы обмена сообщениями между пользователями социального сайта тоже во вьюхе будете делать? Или в могучую модель будете перемещать всю логику по обработке этих данных?
Обсуждение таких тем как универсальные CMS (в контексте именно универсальности, а не в контексте обучения программированию) обычно заканчивается тем, что их универсализм простирается от сайта-визитки-блога до корпоративного сайта и/или каталога, что охватывает лишь часть интернет-проектов.
Давным давно все пришли к согласию, что универсализм в широком смысле в проектировании интернет-сайтов достижим в контексте фреймворков, а не CMS. И то, зачастую, путём дописывания новых компонентов фреймворков, опираясь на базовые реализованные сущности. CMS обзывать фреймворками не нужно, их можно сделать на базе фреймворка, и, учитывая специфику новых задач при необходимости ( быстрее чем пересобирать свой велосипед) переделывать модули.
Двери давным давно выломаны несколько раз, починены и открыты, товарищи.
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
МЫСЛЬ 1.
Что такое система построения и управления веб-проектами и сайтами?
Пока не будем углубляться в частности. В самом общем виде, система - это набор директорий и файлов, обеспечивающих модульность с целью дальнейшей расширяемости функциональности системы по установленным правилам унификации модулей, а также интерфейс для связи между модулями. В систему также входит административная панель (GUI для настройки и управления системой, модулями и их данными) и механизм обновлений.
Из вышесказанного следует, что система представляет собой примерно следующую структуру (далее будет уточняться):
/admin/
/data/
/modules/
/system/query.inc – функция межмодульного интерфейса
/updater/ (Добавление)
МЫСЛЬ 2.
В настройках сервера задаются доменные имена и каждому назначается корневая директория на сервере. Все клиентские запросы представлены в виде строки URL, состоящей из имени домена и пути к ресурсу (URI). Для скриптовой обработки запросов используется файл index.php. Для перенаправления запросов существует файл .htaccess (с модулем mod_rewrite).
Что это значит с точки зрения системы (CMS)? Представим что в одном серверном пространстве у нас есть несколько сайтов с разными доменными именами. Это бы означало, что для каждого сайта нужно было бы устанавливать свою копию системы и создавать свои index.php. Для устранения этой избыточности воспользуемся следующим способом: в настройках сервера для всех доменных имен назначим одну и ту же корневую директорию в которой будет лежать файл index.php и файлы системы в единственном экземпляре, а все запросы ко всем доменам будут обрабатываться в едином файле index.php. Отсюда у системы появляются такие свойства как мультидоменности и мультисайтовости.
Что касается URI, то они могут быть разного вида и их комбинаций:
/index.php?page=news&id=3;
/news/2014/03/14/
/about.htm
/contacts/index.php
/каталог/телевизоры/
Для поддержки всех возможных вариантов URI воспользуемся файлом .htaccess, который будет перенаправлять все запросы к любым доменам и URI в файл index.php. Тем самым реализуются такие свойства системы как ЧПУ и поддержка кириллицы.
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
man1 пишет:
мультидоменности и мультисайтовости.
пытался делать когда-то такую штуку... геморой не оправданный т.к. во первых всех ресурсы всех сайтов хранятся в одном месте и могут конфликтовать, а еще пытался в одной БД держать данных от нескольких сайтов - вообще мрак %)) фактически гораздо проще с точки зрения разработки держать каждый сайт отдельно, более того даже вендоры не надо делать общими т.к. нюансов может всплыть много и при "неудачном" обновлении одного проекта, может рухнуть вся система...
хотя в прицнипе некоторое подобие "мультидоменности и мультисайтовости" можно сделать, но только за счет конфигураций системы, а не впаенной в неё хардкора ;)
man1
Отправлено: 12 Марта, 2014 - 11:53:54
Новичок
Покинул форум
Сообщений всего: 57
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
digi пишет:
пытался делать когда-то такую штуку... геморой не оправданный т.к. во первых всех ресурсы всех сайтов хранятся в одном месте и могут конфликтовать, а еще пытался в одной БД держать данных от нескольких сайтов - вообще мрак %)) фактически гораздо проще с точки зрения разработки держать каждый сайт отдельно, более того даже вендоры не надо делать общими т.к. нюансов может всплыть много и при "неудачном" обновлении одного проекта, может рухнуть вся система...
хотя в прицнипе некоторое подобие "мультидоменности и мультисайтовости" можно сделать, но только за счет конфигураций системы, а не впаенной в неё хардкора ;)
Больше похоже на отговорку Данные сайтов конечно будут логически и физически отделены (файлы по разным папкам, а данные по разным базам данных). Для этого у каждого проекта (сайта) нужно ввести собственные настройки БД. При этом никто не отменяет возможность установки одной копии системы или нескольких, хочется - пожалуйста, но это не значит что надо отказываться от многосайтовости вообще.
digi
Отправлено: 12 Марта, 2014 - 13:08:44
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
Понятие "многосайтовость" слишком неоднозначное... например для пользователя - это возможность из некого единого интерфейса управлять несколькими его сайтами...
Программист же может подумать, что для него это будет единый набор исполняемых файлов а также все сайты в единой БД, где в таблицах везде есть поле site_id.
caballero
Отправлено: 12 Марта, 2014 - 13:59:49
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
многосайтовость нужна нечасто.
нет смысла усложнять систему изза редко используемой фичи.
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
man1 пишет:
Пока не будем углубляться в частности. В самом общем виде, система - это набор директорий и файлов, обеспечивающих модульность с целью дальнейшей расширяемости функциональности системы по установленным правилам унификации модулей, а также интерфейс для связи между модулями. В систему также входит административная панель (GUI для настройки и управления системой, модулями и их данными) и механизм обновлений.
Дело в том, что это именно ваши мысли. В то время как в понятие Системы Управления Содержимым (CMS) в контексте сайтов входит только её представление, как системы обеспечения и организации совместного процесса создания, редактирования и управления контентом. А всё остальное — это ваши мысли на этот счёт. Вы считаете что лёгкая расширяемость под любые интернет-проекты и универсальность неотъемлимая черта CMS, но пратика популярных CMS показывает совершенно обратное, сохраняя возможности расширения функционала в рамках целевых задач и не претендуя на возможность построения на системе интернет-проекта любой специфики и сложности.
Поэтому прежде чем вести дискуссии, нужно понять что вы создаёте и не использовать для определения проекта понятия которые не охватывают ваши задачи. И не строить гаубицу для охоты на воробьев и медведей, если вам нужен оружейный завод.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.