Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012
Помог: 1 раз(а)
Я, по большей части теоретик в программировании, поэтому обращаюсь за помощью к практикам...
Господа, кто знает что такое LDAP (кто не знает, идите в wiki), тот должен понять, чего я хочу добиться. В общем, задумал я написать аналог LDAP на связке PHP+MySQL. Только это не простой LDAP. В общем, я хочу создать штуку, которая могла бы генерировать бесконечно-ветвящееся дерево HTML-страниц, содержимое которых хранилось бы в БД, причем это содержимое, можно было бы выполнять.
Как в оснастке администрирования Windows в общем. Аналог AD, только на php и mysql.
Вот картинка:
Только что б в правой части могла располагаться, как ссылка на еще более глубокий уровень, либо ссылка на какое либо приложение (форма добавления инфы, например).
Уже есть некоторые наработки класса, правда они без комментариев, но все же покажу:
(Добавление)
Получается весь скрипт сайта состоит из нескольких файлов инициализации базы данных, которая-то уже и содержит код всех остальных функций системы. Причем не важно какая это система, этот шаблон построения можно применять к приложения любой сложности. А если к этому еще добавить и ACL (Access Control List), по русски говоря, запись для каждого объекта этого каталога, которая бы разъясняла, кто и какие права имеет на этот объект, то это было бы вообще шедеврально! Более подробно можно почитать у меня в блоге. nkl.su (Добавление)
Приведенный код может создавать только одноуровневый каталог.
Мелкий
Отправлено: 30 Мая, 2012 - 20:50:21
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
У меня один вопрос - и что? Простейший показыватель записей из базы.
И почему методы set* вообще выводят данные?
----- PostgreSQL DBA
nkl
Отправлено: 30 Мая, 2012 - 21:08:24
Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012
Помог: 1 раз(а)
Я не говорю что это какое-то революционное изобретение. Если вы способны уложить эту древовидную структуру в реляционную базу, то милости прошу, изложите... В моей голове это не укладывается. (Добавление)
Мелкий пишет:
И почему методы set* вообще выводят данные?
Не сразу понял о чем вы. В следующей версии будет get)
Мелкий
Отправлено: 30 Мая, 2012 - 21:45:55
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
nkl пишет:
Если вы способны уложить эту древовидную структуру в реляционную базу, то милости прошу, изложите...
Где здесь древовидная структура?
Используйте классический Adjacency List. Nested Sets здесь может быть так же уместен, если допустимо снижение скорости редактирования структуры на приличных объёмах дерева.
Не менее классический Materialized Path не подойдёт, т.к. имеет ограничение на глубину.
Не ищите в моих словах никакого подтекста, я правда не понимаю "и что дальше?". Вижу глобальную хотелку, вижу некий код. А никаких вопросов, просьб советов, "наработок по собственным проектам" - ничего не вижу.
nkl пишет:
В следующей версии будет get)
Почему get, если print?
----- PostgreSQL DBA
nkl
Отправлено: 30 Мая, 2012 - 22:05:48
Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012
Помог: 1 раз(а)
Цитата:
Где здесь древовидная структура?
Файлы, вложенные в папки, а те в другие папки - вот древовидная структура
Цитата:
Если вы способны уложить эту древовидную структуру в реляционную базу, то милости прошу, изложите...
Как бэ объяснить... Откройте хотя бы оснастку regedit. Грубо говоря, он состоит из папок и файлов вложенных друг в друга. Я хочу тоже самое, только что бы html страница могла быть как "файлом", так и "папкой" в этом каталоге.
Возьмем пример по-проще. Откройте php-manual в chm формате. Он сосотоит из разделов и подразделов и по-большому счету, ничто не ограничивает глубину этого каталога.
Цитата:
я правда не понимаю "и что дальше?"
Видимо Вы не системный администратор, windows. Этот активный каталог может содержать, к примеру, пошаговый мастер добавления записи в БД, либо скрипт выводящий таблицу. При помощи mmc, в windows к примеру можно рулить практический всей системой. В чем собственно, ИМХО и заключается успех этих операционных систем. Легко освоить, и принцип един для большинства типичных действий.
Вообще, откуда пошли эти мысли. Было предложено переписать FreePBX из файлового варианта в SQL, причем не MySQL, а PostgeSQL в виду колоссального католичества пользователей. Т.е., что бы как можно большее кол-во файлов хранилось в базе данных, а из файлов читался только вот-такой вот "показыватель" этих скриптов. До завтра попробую изобразить схематично. Сегодня уже спать.
caballero
Отправлено: 30 Мая, 2012 - 22:10:09
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
только что бы html страница могла быть как "файлом", так и "папкой" в этом каталоге.
HTML может быть либо HTML страницей либо динамически геренитmся на PHP. И при чем тут вообще HTML если речь судя по всему идет о древовидном представлениии неких данных. (Добавление)
Цитата:
Было предложено переписать FreePBX из файлового варианта в SQL, причем не MySQL, а PostgeSQL в виду колоссального католичества пользователей.
И сколько у вас миллиардов пользователей что Mysql не потянет?
А если по теме- в чем проблемма собственно? Садись и пиши. Или заплати тому кто напишет. Вряд ли тут на пальцах кто то раскажет решение.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
nkl пишет:
Откройте хотя бы оснастку regedit.
Для этого винда нужна
И я знаю, что такое деревья и знаю плюсы и минусы всех 3 уже названных мной методов их размещения в реляционной СУБД.
nkl пишет:
Видимо Вы не системный администратор, windows. Этот активный каталог может содержать, к примеру, пошаговый мастер добавления записи в БД, либо скрипт выводящий таблицу.
Да, я - разработчик. Но я представляю, что такое LDAP, сталкивался как-то раз. Даже помню когда это было - тем же летом, когда на этом форме зарегистрировался.
Ещё раз - я прекрасно вижу в теме вашу глобальную затею. Но я не вижу ни одного вашего вопроса. Что я вижу:
"хочу сделать аналог LDAP"
"есть вот такой кусочек кода"
... ммм... Всё, больше ничего не вижу.
----- PostgreSQL DBA
nkl
Отправлено: 31 Мая, 2012 - 13:49:07
Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012
Помог: 1 раз(а)
Мелкий пишет:
И я знаю, что такое деревья и знаю плюсы и минусы всех 3 уже названных мной методов их размещения в реляционной СУБД.
Я ознакомился с приведенными вами статьями, огромное спасибо за ценные статьи, очень многое прояснилось, сегодня попробую накрапать что нить после работы, быть может тогда для вас станет ясна моя глобальная затея.
Это, что-то вроде универсальной платформы для приложений. Из чего состоит php-сайт? Из набора php-файлов. Заказчик столкнулся с ситуацией, когда сайт (в частности это FreePBX, это даже не сайта, а web-gui приложения для работы call-центра под *nix) начинает жутко тормозить уже при нагрузке в 500-600 одновременных обращений. И была предложена идея переписать этот Dt,-Гуй из файлов в унифицированную sql-таблицу.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.