We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26704
    • 115 Posts
    Quote from: Serenity at Mar 04, 2008, 02:57 PM

    ... сегодня при просмотре архитектуры БД возникло некоторое негативное чувство смешивания всех контентных данных, буду очень рада услышать, что ошибаюсь.


    Quote from: [e
    Bu$ter link=topic=23471.msg144813#msg144813 date=1204668743]
    Наитивное чувство смешивания возникло не спроста. Тут обрадовать нечем.


    Мб кто-нибудь уже занимался данным вопросом и существуют частные готовые решения?
      • 28814 ☆ A M B ☆
      • 1,086 Posts
      Не понял, в чем вопрос. Вы хотите изменить архитектуру БД MODx?
        Разработка сайтов и программных модулей на MODX.
        Опыт работы на MODx с 2005 года. Высокое качество.
        Компания Baltic Design Colors: http://www.bdcolors.ru.
        • 26704
        • 115 Posts
        Да. Первоначально хотелось уточнить - не буду ли создавать "велосипед"?
          • 28814 ☆ A M B ☆
          • 1,086 Posts
          Quote from: Serenity at Mar 05, 2008, 07:44 AM

          Да. Первоначально хотелось уточнить - не буду ли создавать "велосипед"?
          Ну вроде никто этим ранее не занимался.
          Глобальную Вы себе задачу ставите. А для чего это, если не секрет?
            Разработка сайтов и программных модулей на MODX.
            Опыт работы на MODx с 2005 года. Высокое качество.
            Компания Baltic Design Colors: http://www.bdcolors.ru.
            • 26704
            • 115 Posts
            Quote from: Igor at Mar 05, 2008, 07:49 AM

            А для чего это, если не секрет?

            Не секрет. Веб программированием, я занялась относительно не давно (месяц назад примерно), собственно сейчас читаю литературы по php. Работаю над частным коммерческим проектом. Начальство поскупилось на услуги проф. веб программиста, спихнув данную задачу на меня. Знакомство с php начинала с переработки кода Wiki. С этим разобралась довольно быстро (не могу сказать, что без проблем). Следующим пунктом идет установка веб сайта и ненавистные для меня вопросы по хостингу будут наконец закрыты! N-ое время затратила на поиски бесплатной CMS. В итоге сейчас остановилась на MODx, просмотрев поверхностно штук 6 - 8 других CMS. За то время, которое потратила на поиски сервиса, у меня сформировались личные критерии "идеальной" системы. MODx отвечает всем им, кроме расположения данных и вопросов интеграции с форумной системой IPB. Так как при интеграции в любом случае придется видоизменять структуру БД в отношении пользовательских таблиц, думаю заодно сделать более удобной систему хранения контентных данных.
              • 785
              • 2,113 Posts
              Quote from: Serenity at Mar 05, 2008, 08:13 AM

              Так как при интеграции в любом случае придется видоизменять структуру БД в отношении пользовательских таблиц, думаю заодно сделать более удобной систему хранения контентных данных.
              Непонятно, зачем менять структуру для интеграции, и без этого можно отлично обойтись. Правда не совсем ясно, что имеется в виду под пользовательскими таблицами.
              А менять структуру хранения данных – вообще нонсенс. Вся система завязана на имеющуюся структуру, и при ее изменении потребуется переписать не только ядро, но и многие популярные сниппеты, напрямую обращающиеся к базе. То есть фактически ставится цель разработки новой CMS на основе MODx – не могу себе представить проект, для которого это действительно нужно.
              И вообще-то не все ли равно, как построена база данных? Для успешной работы с MODx в подавляющем большинстве случаев не требуется непосредственное обращение к базе.
                Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                Статьи о MODx, регулярно новые публикации
                • 28814 ☆ A M B ☆
                • 1,086 Posts
                Quote from: AKots at Mar 05, 2008, 08:33 AM

                А менять структуру хранения данных – вообще нонсенс. Вся система завязана на имеющуюся структуру, и при ее изменении потребуется переписать не только ядро, но и многие популярные сниппеты, напрямую обращающиеся к базе. То есть фактически ставится цель разработки новой CMS на основе MODx – не могу себе представить проект, для которого это действительно нужно.
                Вот и я думаю, что это просто какая-то глобальная перестройка. Вряд ли реально Вам это нужно.
                  Разработка сайтов и программных модулей на MODX.
                  Опыт работы на MODx с 2005 года. Высокое качество.
                  Компания Baltic Design Colors: http://www.bdcolors.ru.
                  • 26704
                  • 115 Posts
                  Quote from: AKots at Mar 05, 2008, 08:33 AM

                  Непонятно, зачем менять структуру для интеграции, и без этого можно отлично обойтись. Правда не совсем ясно, что имеется в виду под пользовательскими таблицами.

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

                  Цель: интегрирование MODx и IPB v2.3.4
                  Под интеграции понимается: единый реестр пользователей.
                  Возможность авторизации/регистрации как с сайта, так и с форума.
                  Вывод на страницы сайта данных форума: 10ть последних тем форума, 10ть популярных тем, самые активные пользователи итд. Согласна, что последний пункт мало относится к интеграции и не имеет сложностей при реализации. Добавила исключительно, чтобы описать полностью задачу, которую себе поставила.

                  Реализация: первоначальная идея заключается в размещении таблиц MODx и IPB в одной базе данных, что автоматически избавляет от необходимости решать вопросы с подключением к двум разным БД как на сайте, так и на форуме. Недостатком этого является принудительное использование cp1251_general_ci, тк IPB не дружит с UTF8 (последнее предложение лишь замечание, вопросом UTF8 в IPB пока не занималась, хотя уверена, что, скорее всего, существуют готовые решения проблемы!).

                  Далее: общая регистрация пользователей: как я себе представляю это возможно реализовывать двумя способами. А именно: созданием единой таблицы для хранения инф о пользователях, которая будет содержать в себе информационные поля как сайта, так и форума. Развивать именно эту идею не буду, так как она мне не нравится. Вместо этого я считаю будет приемлемым использовать 2 родные таблицы изменяя при этом принципы регистрации на сайте и форуме. Под изменениями подразумевается добавление отсутствующих полей. При заполнении пользователем анкеты, данные будут записываться сразу в две таблицы (те дублироваться).

                  Единая авторизация: заключается в изменении записи в Cookies. Где бы не производилась регистрация, производится запись авторизации сразу в двух системах.

                  Если есть более легкие способы, уточнения или предложения буду рада выслушать их)

                  Quote from: AKots at Mar 05, 2008, 08:33 AM

                  А менять структуру хранения данных – вообще нонсенс. Вся система завязана на имеющуюся структуру, и при ее изменении потребуется переписать не только ядро, но и многие популярные сниппеты, напрямую обращающиеся к базе.

                  Под изменением системы хранения контентных данных я имела в виду разделения информации на дополнительные поля в таблице. А именно меня на данный момент мало устраивает хранения всего контента как единой записи, не считая вынесения заголовков в отдельное поле. Хотелось бы представить структуру хранения в виде нескольких полей внутри одной таблицы, которая будет отдельно содержать теги рисунков, что в свою очередь позволит довольно быстро изменять пути в случае изменения места хранения, запускать скрипты для очистки недоступных рисунков с внешних источников. Задача реализуется изменением лишь файлов отвечающий за запись и чтение информации, добавив в обоих случаях функции парсинга. Естественно при этом несколько упадет скорость чтения и записи.

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

                  Quote from: AKots at Mar 05, 2008, 08:33 AM

                  То есть фактически ставится цель разработки новой CMS на основе MODx – не могу себе представить проект, для которого это действительно нужно.

                  Такой цели не ставится. Нет ни времени, ни желания. Если бы была такая цель, то я начала бы написание с нуля, при этом активно "разглядывая" уже существующие сервисы.

                  Quote from: AKots at Mar 05, 2008, 08:33 AM

                  И вообще-то не все ли равно, как построена база данных? Для успешной работы с MODx в подавляющем большинстве случаев не требуется непосредственное обращение к базе.

                  Нет, не все равно, тк лично меня беспокоит вопрос переноса данных с одной системы на другую. Естественно такой потребности может никогда не возникнуть, но в теории он реален. Писать скрипт экспорта при смешанном хранении данных мне кажется несколько не удобным. В тех статьях, которые я читала и на основании которых я создавала свои критерии выбора CMS, очень советуется обращать на архитектуру хранения данных в сервисе особое внимание.
                    • 785
                    • 2,113 Posts
                    Quote from: Serenity at Mar 06, 2008, 06:56 AM

                    я считаю будет приемлемым использовать 2 родные таблицы изменяя при этом принципы регистрации на сайте и форуме. Под изменениями подразумевается добавление отсутствующих полей. При заполнении пользователем анкеты, данные будут записываться сразу в две таблицы (те дублироваться).
                    Вопрос – а зачем «добавление отсутствующих полей»? Если, например, на форуме есть поле «любимые темы», то зачем это поле нужно в MODx? Оно ведь все равно только на форуме используется. То есть нужно просто при регистрации вводить все поля, а в каждую базу вносить только те, что нужны в форуме или MODx. Получается, что придется переписать процедуры регистрации, внесения изменений в аккаунт и авторизации пользователей, но базы менять не нужно.
                    Правда работы, как мне кажется, будет достаточно много, если все нормально делать.

                    Quote from: Serenity at Mar 06, 2008, 06:56 AM

                    Под изменением системы хранения контентных данных я имела в виду разделения информации на дополнительные поля в таблице. А именно меня на данный момент мало устраивает хранения всего контента как единой записи, не считая вынесения заголовков в отдельное поле.
                    Как раз для добавления отдельных записей к контенту в MODx имеются параметры TV. Лично я их слабо использую, но знатоки системы творят чудеса с их помощью.

                    Quote from: Serenity at Mar 06, 2008, 06:56 AM

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

                    Quote from: Serenity at Mar 06, 2008, 06:56 AM

                    Нет, не все равно, тк лично меня беспокоит вопрос переноса данных с одной системы на другую.
                    Теоретически может это и имеет значение, но практически вряд ли. Каждая система отличается основополагающими принципами, и перенос в подавляющем большинстве случаев заключается в создании сайта заново. Можно автоматизировать перенос контента, переписывая из одной базы в другую с некоторой обработкой, но не более. Как, например, шаблон MODx с вызовами чанков и сниппетов можно преобразовать в шаблон Joomla или Drupal? Или куда переносить информацию из сниппетов?
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации
                      • 28814 ☆ A M B ☆
                      • 1,086 Posts
                      На мой взгляд Вы слишком серьезно относитесь к делу smiley.

                      Под интеграции понимается: единый реестр пользователей.
                      Возможность авторизации/регистрации как с сайта, так и с форума.
                      Теперь задайте себе вопрос - а для чего Вам нужна регистрация пользователей на сайте? И возможно ли использовать регистрацию форума как для форума, так и для сайта?

                      Насколько я понимаю, на данный момент регистрация на сайте средствами MODx дает только одну привилегию - а именно позволяет создавать недоступные незарегистрированным пользователям разделы сайта. Все остальное - шелуха.

                      Насколько Вам важно иметь такую возможность? Вряд ли очень важно. Но даже при крайней необходимости иметь возможность скрывать от незарегистрированных часть контента можно, сделав какой-нибудь сниппет, который будет отслеживать авторизацию пользователя на форуме и, соответственно, предоставлять доступ для закрытой части сайта.

                      Реализация: первоначальная идея заключается в размещении таблиц MODx и IPB в одной базе данных, что автоматически избавляет от необходимости решать вопросы с подключением к двум разным БД как на сайте, так и на форуме. Недостатком этого является принудительное использование cp1251_general_ci, тк IPB не дружит с UTF8 (последнее предложение лишь замечание, вопросом UTF8 в IPB пока не занималась, хотя уверена, что, скорее всего, существуют готовые решения проблемы!).
                      Ничто Вам не мешает запустить на одной базе данных хоть 100 скриптов одновременно. Единственное условие - создавайте разные префиксы к таблицам и никогда никакого наложения таблиц не произойдет. То, что IPB не дружит с UTF-8, конечно, прискорбно, но не смертельно. Ваша БД может содержать таблицы как с кодировкой UTF-8, так и с CP-1251, да хоть с японской какой-то. Другое дело, что неудобно каждый раз при подключении отслеживать эти кодировки и менять параметры подключения. Ну так унифицируйте это. MODx работает с кодировкой CP-1251, используйте тогда ее, раз уж такое дело. Или все-таки найдите способ запустить IPB с человеческой кодировкой ).

                      Единая авторизация: заключается в изменении записи в Cookies. Где бы не производилась регистрация, производится запись авторизации сразу в двух системах.
                      При использовании только форумной системы авторизации думаю, проблемы здесь не будет.

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

                      При этом я не вижу проблем с взаимодействием всей системы при таком изменении. Возможно, это из-за того, что я пока плохо представляю внутренне устройство CMS.
                      Боюсь, действительно плохо представляете. Это может потянуть громадное количество изменений впоследствии. Оно вам надо?

                      Нет, не все равно, тк лично меня беспокоит вопрос переноса данных с одной системы на другую.
                      Естественно такой потребности может никогда не возникнуть, но в теории он реален.
                      Писать скрипт экспорта при смешанном хранении данных мне кажется несколько не удобным.
                      В тех статьях, которые я читала и на основании которых я создавала свои критерии выбора CMS,
                      очень советуется обращать на архитектуру хранения данных в сервисе особое внимание.
                      Не читайте советские газеты перед едой...
                      Идеальных систем не бывает, в каждой CMS при желании можно найти недостатки.
                      На мой взгляд не стоит сейчас думать о переносе на другую систему, Вы все равно не знаете, как будет выглядеть эта ваша новая система.
                      Скорее всего нужно будет переделать все заново и смысл текущих манипуляций будет сведен к нулю.
                        Разработка сайтов и программных модулей на MODX.
                        Опыт работы на MODx с 2005 года. Высокое качество.
                        Компания Baltic Design Colors: http://www.bdcolors.ru.