Intellect Board Pro
Система управления форумами
Объявление

30 ноября 2015 года выпущена окончательная версия Intellect Board 3.00! Перейти к скачиванию
Также доступен конвертор данных для IntB 2.22

Для получения новостей о новых версиях подписывайтесь на наши страницы ВКонтакте и в Twitter.

Привет, гость!

Деревья (в том числе, сетевые)

О сферах (например, в интерфейсе форумов) применения иерархически-сворачиваемых структур взаимосвязанных информационных объектов

Ваше общее мнение о применении деревьев

Перспективно1
 
Не понятно0
 
Альтернативное мнение (в сообщении)0
 
Настройки отображения темы Показывать по сообщений с сортировкой .
Выводить , отправленные .
Правила раздела
Страницы:
Распечатать
_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
10 апреля 2015, 14:29. Редактировалось 14 раз, последний — 12 января 2016, 06:07#1
Сегодняшние форумы работают не эффективно (это подтверждается оттоком пользователей в социальные сети). Причина неэффективности - в отсутствии денежных отношений. Деньги - гениальный инструмент для взаимодействий. Никому даже в голову не придёт строить современный завод, НЕ интегрируя в его деятельность денежные инструменты. Но в сфере производства информации до сих пор преобладают первобытные отношения. Даже бартер отсутствует!

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

--

Контекстные посты из других тем:
  1.      -->   Дополнительные примеры: (графический архив) 
  2.      -->   Для работы с деревьями разрешить в моих сообщениях вставку html-кода
  3.      -->   Каждый пост - отдельно (специальный адрес в запросе к серверу)
Прикрепленные файлы:
  • Единый ответ на три сообщения.png

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
10 апреля 2015, 14:41. Редактировалось 10 раз, последний — 28 апреля 2015, 10:57#2
Сетевые деревья как элемент глобального форума
 
Главной целью этой темы является создание глобального форума. Преимущественно, этот форум будет построен на чужих сообщениях. Их не обязательно импортировать в глобальный форум, достаточно дать на них ссылку. Фокус в том, чтобы связывать эти гиперссылки в древовидную структуру, и подсчитывать важность (актуальность) таких узлов и деревьев.
 
Любой двухмерный направленный граф всегда можно представить в сетевом иерархически-сворачиваемом виде. Например,

В этой таблице присутствуют объектные идентификаторы (например, идентификаторы сообщений форума). А в дерево, сгенерированное по этой таблице, можно подставить дополнительные атрибуты, например: ИМЯ узла, ГИПЕРССЫЛКУ, всплывающую подсказку, … (и т.д.).

            Здесь  —  сетевое дерево, заполненное реальной информацией:




 
Древовидная структура весьма наглядна, и допускает в связанном контенте вместо скроллинга перелистывание объектов выбором её узлов. Например,
  1.       Если узлами дерева обозначить окна приложений, открытых в операционной системе, получим систему управления окнами: достаточно щёлкнуть узел (или расставить галочки), и на экранах компьютера появится соответствующая группа взаимосвязанных окон. Каждое окно – в специальном месте.
  2.       Если такими узлами обозначать отдельные сообщения в какой-то теме форума, то получим структуру обсуждения  этой темы. Причём, не обязательно включать в эту структуру все посты этой темы, то есть, получаем мягкую фильтрацию: плохие посты остаются в оригинальной ветке, но мало кто их видит (если просматривать эту тему через фреймы).
          Пользователям, работающим с такой структурой, будет трудно понять, что такое оффтоп. Ведь в своей структуре запросто можно связывать сообщения из разных тем, и никому не придёт в голову за это наказывать.
Вот, фреймы для представления вложенных цитат
(и вообще: для представления любой структуры обсуждений):

Деревом показать структуру взаимосвязанных объектов – это самая компактная форма превью!
 
 
 
Перемещаясь по такому дереву, автоматически меняем содержимое обоих правых фреймов. Сообщения (или другие информационные объекты) вовсе не обязаны находиться на одном сайте. Отсюда требование к любому форуму: предоставлять информацию в универсальном объектном формате. Это означает возможность получать один пост на страницу, и получать направленные связи этого поста в соответствии со структурами обсуждений, где он участвовал.
 
Фреймы больше нужны не для представления информации (сегодня для этого есть Ajax), а для её увязки: страница с фреймами является шаблоном, на основе которого современный броузер может организовать связь между окнами или вкладками. Например, перемещаясь по дереву в одном окне (открытом на отдельном мониторе), можно динамически изменять содержимое сразу двух других окон, одно из которых плавает поверх другого.



-
Прикрепленные файлы:
  • netGraph.png
  • Следящие фреймы.png

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
10 апреля 2015, 16:40. Редактировалось 2 раза, последний — 15 апреля 2015, 15:34#3
Поехали дальше.
Вопросы конфиденциальности и коллективного доступа. Любую систему раздельного доступа можно наглядно представить в виде сетевой иерархии. Отсюда обязательное требование к форумам: уметь работать хотя бы с обычными деревьями, ведь визуально и функционально сетевые ничем не отличаются от обычных (отличия проявляются на более глубоком, реляционном уровне).

Пример системы раздельного доступа: изображение иерархии копий документа при его коллективной обработке.

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
10 апреля 2015, 16:43. Редактировалось 2 раза, последний — 10 апреля 2015, 16:45#4
Сетевые структуры помогают думать

Если в одной строчке таблицы записать: сегодня --> понедельлник
    , а в какой-нибудь другой строке добавить: понедельник --> нужно идти на работу
         , то компьютер нарисует: сегодня --> нужно идти на работу

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
12 апреля 2015, 11:31. Редактировалось 3 раза, последний — 12 апреля 2015, 11:54#5
Концепция множественных ссылок и взаимосвязанных деревьев






  Вопрос лишь в методах последующей публикации этой сборки:
нужен специальный формат для гипертекстового сохранения деревьев.




-
Прикрепленные файлы:
  • drag-and-drop.png
  • Vzaimodeistvie_baz_dannyh.png
  • Ne_strogaya_giperssylka.png

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
13 апреля 2015, 20:44. Редактировалось 23 раза, последний — 20 апреля 2015, 09:27#6
<-- intbpro.ru/plans/near_plans/post-2.htm от 4X_Pro :
Планы развития на ближайшее будущее ...          
    •  Имейте в виду, что в Intellect Board никогда не будет древовидной структуры комментариев вместо линейной      ....



 
— Никогда не говори: «Никогда!»

  1. Даже сейчас я могу воткнуть в своё сообщение несколько деревьев (отображающих структуру обсуждений), причём, сделаю это разными способами… Накажете за это?  

    И не "вместо", а "вместе". Вместе с обычной линейной структурой пользователи смогут работать с TreeView-конструктором. Это удобно, это полезно.
    Через недельку-другую планирую начать активно пользоваться такими деревьями. Много лет пользуюсь ими локально. Теперь пора выносить эту технологию в Интернет.




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




  3. При перемещении постов в этом форуме сбивается их адресация: старые ссылки на перемещённое сообщение перестают действовать. Менять систему адресации — это значит заново проектировать четверть форумского движка.

    Но нет худа без добра... )) В этих условиях чуть ли не единственным спасением становится возможность связывать посты через древовидную структуру. И это универсальное решение! Вы не имеете возможностей перемещать посты в чужих форумах, но через собственную древовидную структуру можете связывать эти посты, как только вздумается!

    Именно на древовидной надстройке сейчас нужно сосредоточить внимание. А будущую систему адресации, конечно, обсудим…




  4. Если сообщения большие,  да ещё и с рисунками (как в этой теме)), долго длится загрузка страницы. Зачем её грузить полностью, если нужно показать лишь один пост?




  5. Если деревом представлена структура обсуждений, то через эту структуру можно управлять видимостью сообщений: Например, кликнув узел, развернуть соответствующие i-фреймы.
==


       Главное, чего сейчас нет  НИ  В  ОДНОМ  форуме – это:

1)      Древовидный конструктор. Он необходим для интеграции, для взаимодействия форумов (и прочих сайтов).

Оффтопик:
2)      Информационные и энерго-деньги, с возможностью перечислений между кошельками пользователей. Тут речь о сотнях миллионов человеческих жизней. И сейчас уже приходится платить страшную цену (хоть многие не понимают причин). Одна коррупция чего стоит!! Дальше без правильных оценок будет ещё печальней...


3)      Конкретный пример: если идёт ответ из одной темы в другую (как в этом посте)), невозможно, просматривая тот пост, понять, откуда на него ссылаются (то есть, где расположены ответы).
Древовидная структура обсуждений наглядно соберёт эту статистику. Будь хоть сто ответов-ссылок из разных тем, все они станут видны как на ладони.



_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
15 апреля 2015, 01:47. Редактировалось 18 раз, последний — 16 апреля 2015, 17:21#7
  Илья Ермаков  
   
 




              

















      Правильно ли я понимаю, "сетевые деревья" - это когда:
- в обычной файловой системе я имею, допустим /математическое моделирование/статьи/книги (и постоянно мучаюсь между дилеммой - то ли так, то ли делать наоборот статьи/темы, книги/темы)

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

Вы имеете в виду подобную идею - или нет?



     Вот, как это можно сделать:







-
Прикрепленные файлы:
  • Построение сетевого оглавления (пример).png

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
19 апреля 2015, 10:24. Редактировалось 25 раз, последний — 19 мая 2015, 18:27#8
Деревья в формате HTML
 
Работать с web-деревьями учусь на примерах  jquery.dynatree-1.2.5 (скачивал с сайта разработчика)
    Это один из лучших дистрибутивов, позволяющих работать с деревьями в броузере.
 
Один из главных разработчиков: Мартин

http://wwwendt.de/images/Martin_vs_seelion.jpg
 


Здесь: архив.rar (700 kb) — разместил частично изменённый (мною) набор файлов. Это – с чем сейчас играюсь. До настоящего момента более-менее освоил импорт таких деревьев. В отличие от  предлагаемого разработчиками, прменяю свой формат
   
, разработанный ещё в 2011 году:  он позволяет легко объединять и видоизменять деревья. Но главное преимущество этого табличного (реляционного) формата —  возможность генерировать деревья автоматически, без вмешательства человека: не нужно думать ни о каких правилах. Задал таблицу + критерий сортировки сиблов, и этого достаточно, чтобы дерево было построено, причём, однозначно (на любом другом компьютере оно будет таким же). Для построения сетевых деревьев, вычислений в сотни раз больше, чем при обычном выводе заранее предопределённых структур. Но все эти вычисления не касаются оператора. Их выполняет компьютер. Обсчитать несколько сотен узлов для него не проблема.
 
Drag-and-drop в этом пакете тоже ещё не осваивал (не успел). И сохранение деревьев в "куках" броузера — тоже не смотрел.
На днях доделаю программный код для экспорта из таблиц в html-формат. А вот с асинхронной загрузкой разбираться не очень хочется. Хотя бы, намекните, где об этом почитать или в каком направлении легче "копать". Задачу сейчас вижу так: js-модули для этих деревьев – весят под мегабайт. И грузить весь этот трафик фактически, для просмотра иерархических списков (которые и есть деревья) — ну совершенно не интересно.
 
Конечно, я и сам начну лопатить об этом информацию. А здесь написал для страховки, чтоб зря не тратить время на поиски.
 
Короче
             1.
   Как навсегда (до специального "пинка") заставить броузер отказаться от загрузки повторяющегося кода (стандартизированного и не изменяемого)?
                   



Тут речь не только о JavaScript, рисунки, таблицы стилей пусть тоже войдут в список уже загруженных и готовых к работе. Тут возможны два режима:
         ·   Принудительный отказ от загрузок: броузер сам решает, от чего отказаться
         ·   
Согласование с сервером: броузер в запросе сообщит контрольной суммой, какие модули у него уже есть. Тогда сервер их даже не предложит.



             2.
   Нужна технология локально-глобальных ссылок: 
                   





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



 
-
 
Из архива советую обратить внимание на изменённые мною файлы:
  • \doc\sample-default.html   – переключение стилей и возможности отображения узлов

  •                    Также, об этом стандартный пример:  \doc\sample-multiline.html (там я ничего не менял)
  • \doc\samples.html   – модель   в действии: на примере папки [Drag'n'drop]
  • \doc\sample-api.html   – это мой основной конструктор именно в этот файл добавляю (и буду добавлять) большинство из нужных мне возможностей.

    Кнопка [tmp_Example] для временных экспериментов. Сейчас в ней код, генерирующий полный экспорт структуры. Чуть позже перенесу этот код в кнопку [Copy all structure] (пока оставил для сравнения: копируем только параметры, не совпадающие с умолчанием).

    Сам импорт осуществляется элементарно: копирую сгенерированную таблицу:
                   
                       (id1-id2-имя-гиперссылка-дополнительные_параметры)

    , и вставляю её прямо в форму:


    Осталось нажать в ней кнопку [Создать заново], и получим результат:
                        
Теперь, имея эту структуру, с ней можно делать всё, что можно делать с данными в реляционной базе. Например, можно частично (выборочно) экспортировать в html-формат.
 
В файле
                   




  • \doc\sample-dnd3.html   – для каждого дерева своя кнопка. В идеале, нужно сделать, чтоб отдельные кнопки вообще не были нужны. То есть, должна быть возможность единой кнопкой (или клавиатурной комбинацией, или через контекстное меню) копировать структуру активного дерева (на котором находится курсор мыши).
 

 
Прикрепленные файлы:

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
20 апреля 2015, 15:48. Редактировалось 3 раза, последний — 6 мая 2015, 18:00#9
Методы размещения деревьев  (на форумах)

Всем форумам не хватает сервиса, помогающего гиперссылками упорядочивать информацию (по аналогии с картой сайта). Этот сервис может быть внешним (то есть, обслуживать любое количество форумов).
 
В любые сообщения можно вставлять следующие структуры ссылок (допускается их  комбинировать: применять совместно):
         
 
 
  1. Пиктограммка + ссылка на сервис (+ графический архив для локальной генерации TreeView)
  2. Картинка, изображающая конкретное дерево (+ возможно, графический архив)
  3. Текстовый иерархический список (с отступами), состоящий из ссылок, пиктограммок и "папок".
  4. Гиперссылка во всплывающее окошко (TreeView в отдельном окне).

_1_
Участник
Всего сообщений: 147
Зарегистрирован: 14 окт 2014, 09:11
Рейтинг пользователя: 15

0 +
3 мая 2015, 17:01. Редактировалось 5 раз, последний — 22 мая 2015, 11:20#10
Асинхронная подгрузка из локального кэша

      (грархив)

-

Аналогичным способом можно ускорить загрузку страниц и изображений форума: если на обновляемой странице версия каждого из постов (в цепочке) соответствует кэшированной, то загрузка осуществится из локального кэша.     
Продолжение следует: #25

-

Статья об асинхронной загрузке (от Евгения Попова)


-
Прикрепленные файлы:
  • кэшируемая загрузка TreeView.rar (+).PNG

Страницы:
Распечатать

У вас нет прав для отправки сообщений в эту тему.

0: Контрольная точка "Конец инициализации". Время выполнения: 0.001. Запросов: 8, время запроса: 0.001 (46.83)%. Памяти использовано: 514240 байтов

0: Контрольная точка "Фиксация действия пользователя выполнена". Время выполнения: 0.002. Запросов: 10, время запроса: 0.001 (51.58)%. Памяти использовано: 514568 байтов

0: Контрольная точка "Основное действие выполнено". Время выполнения: 0.009. Запросов: 18, время запроса: 0.003 (30.39)%. Памяти использовано: 803776 байтов

0: Контрольная точка "Вспомогательные действия выполнены". Время выполнения: 0.009. Запросов: 20, время запроса: 0.003 (30.80)%. Памяти использовано: 811456 байтов

0: Контрольная точка "После срабатывания шаблонизатора.". Время выполнения: 0.013. Памяти использовано: 1120480 байтов