Форум

Форум "Осознание" - Концепция Общественной Безопасности (http://forum.kob.su/index.php)
-   Конкретная работа. Предложения. (http://forum.kob.su/forumdisplay.php?f=6)
-   -   Полная база работ авторского коллектива ВП СССР (и сопутствующих) (http://forum.kob.su/showthread.php?t=4452)

kont 31.01.2011 17:40

Полная база работ авторского коллектива ВП СССР (и сопутствующих)
 
Библиотека КОБ для Андроид


https://play.google.com/store/apps/details?id=com.yurikontik.cob_library.app


Apple:



https://itunes.apple.com/ru/app/biblioteka-kob/id850336250?mt=8

Январь 31.01.2011 17:55

Цитата:

Сообщение от Sirin (Сообщение 48829)
Сортировка - это прекрасно, но моих знаний HTML на это явно недостаточно.
Подключайся.
Есть желающие поработать над форматированием Полной базы работ КОБ?

В каком смысле "форматированием"???

Если это однообразный процесс - можно парсер сделать...

jarogor 31.01.2011 22:32

Цитата:

Сообщение от Sirin (Сообщение 48939)
Есть желающие поработать над форматированием Полной базы работ КОБ?

Просто страницу составленную вручную никак не "отформатируешь", разве что тем же способом - руками)))

Можно создавать материалы типа "Книги по КОБ".
Надо просто наполнять, а сделать вывод с сортировкой потом легко.
В этих материалах можно указать заголовок, дату, автора, категорию, описание, изображение... Если что-то ещё нужно, то скажите, добавлю.

Sirin 01.02.2011 08:36

Вобщем суть в чём?
Существующая на сегодня база представляет из себя просто сборник файлов разложенных в папки по годам.
Примерно до 2006 года они ещё были и форматированы очень плохо. В doc картинки были не внедрены, а связаны и лежали в отдельных папках. Приложенные веб-документы тоже были как попало сохранены.
Это я переделал.
Теперь делаю единый интерфейс, из которого удобно было бы получить доступ ко всем работам сразу и осуществлять поиск.
Простой HTML удобен по нескольким причинам.
1. Браузер есть на любом компе.
2. встроенный в браузер поиск по ctrl-f
3. Возможность простого экспорта полученной в результате базы данных на любой пользовательский сайт. То есть, эти базы можно будет клонировать в сети быквально за пару кликов, скопировав файлы и дав ссылку на стартовую страницу.
4. назревшая необходимость размещения такой базы на нашем сайте.

То есть, задача, в некотором смысле, двоякая, даже тройственная :)
1. создание удобной дружественной для юзера базы;
2. размещение полной базы на сайте;
3. создание легко клонируемой в вебе базы.

В том виде, как я это делаю сейчас (в простом HTML) - это способ объединить все три задачи в одно решение.
По сути же, это идеальное решение (на мой взгляд) только для третьей задачи.
Для первой можно будет потом переформатировать несколько html в " title="chm" target="_blank">chm
, - удобнее, но
- теряем кроссплатформенность,
- саму базу (doc и прочие) в chm не засунешь.
Идеально, на мой взгляд, для 1й задачи было бы создание одного *exe (есть варианты... jar для телефонов...) файла, в котором была бы вся база с возможностью поиска по ней (не только по названиям, но и внутри файлов) и возможностью вывода (сохранения вовне) содержащихся в нем документов. Для этой базы, вероятно, лучше использовать формат *.odt - открытый, наверняка есть готовые исходники читалок.
В таком виде базу ОЧЕНЬ удобно было бы распространять (и пользоваться) - по флешкам, по компам и т.п.
Но это задача для программистов хотя-бы немножко знающих, что это такое вообще, то есть, не для меня ;)
Вторая задача - в принципе, может быть решена и средствами Drupal, но больше, чем за два года существования сайта этого пока так и не сделано...

Sirin 06.02.2011 15:16

Бета версия: http://kob.su/kobbase

Sirin 01.12.2011 12:51

Кстати, этот вопрос:

Цитата:

Сообщение от Sirin (Сообщение 76035)
Хорошо бы все работы загнать в базу данных и оттуда уже делать выборку при публикации.

Получится полноценный поиск по всем работам + возможность отсылки к конкретному месту в какой - либо работе.

больше к этой теме, наверное, относится.

Я в БД особо не соображаю, но мне думается, что это верный путь - создание отдельной БД с текстами и сопутствующими картинками работ ВП - MySQL или подобной.

Оттуда эти тексты уже можно будет легко и стандартно представлять как угодно - HTML, или текстом со стандартным форматированием, распространять всё целиком со стандартной читалкой (есть ведь вроде бы мини версия MySQL?) типа fb2 и т.п.

Как это всё загнать туда с минимальными трудозатратами но с поабзацной (хорошее слово :crazy:) индексацией?

Январь 01.12.2011 14:00

Цитата:

Сообщение от Sirin (Сообщение 76097)
Как это всё загнать туда с минимальными трудозатратами но с поабзацной (хорошее слово :crazy:) индексацией?

База MySQL (MyISAM) имеет возможность полнотекстового поиска (а при грамотном администрировании и работает быстрее чем InnoDB, но InnoDB за то поддерживает транзакции, которые в данном случае вероятно и не нужны) + способ загона материалов в базу (TinyMCE подойдет, он автоматом форматирует "вставку" (copy & paste - текст) в HTML), но его надо сразу глубоко продумывать, если есть желанье сделать публикации (материалы) действительно многофункциональными и медийными + человек который это сделает + предварительная проработка!

Предварительная проработка:

1. Материалы ВП СССР можно объединить в секции, как новости на http://lenta.ru - там есть секция "Россия", секция "б.СССР", секция "Прогресс" и т.д.

Так и материалы ВМ СССР могут быть объединены по признакам: "философско-мировоззренческий" - , "исторический" - , "экономический" - , "политический" - очерк.

Это к вопросу о закладке возможностей динамики базы, выборки по тегам и пр.

2. Порядок действий:

  • Создание 2 таблиц: а) Дерево (рубрикатор), б) Публикация (элемент). По таблице элементов всегда можно будет получить материалы списком, а с использованием рубрикатора - структурой (можно конечно же объединить это дело в одной таблице, но я бы этого делать не стал, так как это нагрузит запросы к базе).
  • Проработка TinyMCE для парсинга данных в базу через его редактор.
  • Разработка модуля документооборота (для упрощения интеграции на кабзу).
  • Интеграция на кабзу.
...


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

...

Еще:

Цитата:

Как это всё загнать туда с минимальными трудозатратами но с поабзацной (хорошее слово :crazy:) индексацией?
По идее через php можно читать pdf-файлы, и тогда "загон туда" в принципе вообще исполним в автоматическом режиме.

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

...

Предлагаю следующие сущности для проект:
  • Категория (привязка к общности публикаций по признаком),
  • Публикация (непосредственно одна отдельно взятая книга),
  • Страница (ясно).
Если парсить текстовики - вариант с сущностью страницы в автоматическом режиме не прокатит, если парсить вручную - то вариант со страницей - это неоправданный геморрой.

...

Так же - данные хранить в BBCode. Это единственный верный вариант для хранения разметки в сети на данный момент...

Шуня 01.12.2011 15:44

А есть на пэхэпэ конвертер из ms word в html?

Январь 01.12.2011 16:41

Цитата:

Сообщение от Шуня (Сообщение 76121)
А есть на пэхэпэ конвертер из ms word в html?

А зачем? Что, слабо MS Word сохранить в HTML :) ??? К тому же MS Word - это и есть по сути XML, с помощью MS Word можно даже конфигурационные файлы в формате .doc создавать!

Sirin 01.12.2011 19:06

MS WORD - это зло! :aq:

Ну его нафиг!
PDF - это наше всё.

Sirin 01.12.2011 19:09

Цитата:

Сообщение от Январь (Сообщение 76106)
1. Материалы ВП СССР можно объединить в секции, как новости на http://lenta.ru - там есть секция "Россия", секция "б.СССР", секция "Прогресс" и т.д.

Цитата:

Так как мою идею интегрировать кабзу ВКонтакт похоронили
Кто это сделал?! оО
Покажи мне на него пальцем! :aq:


Цитата:

я в принципе свободен
Ну и?
Если возьмёшься за это дело, давай хорошенько обдумаем чего да как.
С перспективой создания из этой базы отдельной программы.

Январь 01.12.2011 19:41

Цитата:

Кто это сделал?! оО
Покажи мне на него пальцем! :aq:
Так ты же сам сказал, что создавать еще один форум, пусть бы даже и ВКонтакте смысла в общем-то нет...

Цитата:

С перспективой создания из этой базы отдельной программы.
В смысле отдельной программы?

Цитата:

Если возьмёшься за это дело, давай хорошенько обдумаем чего да как.
Давай...

Опиши саму идею подробно...

Sirin 01.12.2011 20:09

Я не спец по базам данных но мысль такая.

В базе содержаться текстовые блоки (главы или абзацы?), + соответствующие им картинки, + ссылки на примечания (которые тоже - индексированные текстовые блоки).

Если проиндексировать абзацы, можно будет делать ссылки типа:

.../базакоб/книги/Вопросы_митрополиту/глава3/24

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

Почему не страницы? Потому, что, если мы делаем универсальную базу, то не знаем, на каком экране её будут смотреть - 120х120 или 1920х1680, соответственно, должна быть возможность формировать страницы динамически.

Грубо говоря :) - как библию разбили в своё время на нумерованные главы и стихи и сейчас ссылаются типа 2:18

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

И всё это дело портировать, скажем, на PocketPC, Android, и пр. - база + микросервер + читалка в виде программы.
Причём, как я сильно подозреваю, всё это уже изобретено и существует - нужно подобрать подходящий вариант и создать базу.

Из плюшек - нормальный поиск СРАЗУ ПО ВСЕМ или выборочно по отдельным работам ВП.
На сегодня это не реализовано нигде.

Январь 01.12.2011 20:17

Цитата:

Почему не страницы? Потому, что, если мы делаем универсальную базу, то не знаем, на каком экране её будут смотреть - 120х120 или 1920х1680, соответственно, должна быть возможность формировать страницы динамически.
Только не ясно почему все таки не страницу - никаких проблем со страницами не будет.

А я тем не менее не за абзацы, а за главы. Таким образом при поиске будет выводиться целиком найденная глава - а в ней будет выделен найденный фрагмент...

Тут одна проблема - если сохранять тем или иным видом верству, ну например жирное выделение - то поиск будет весьма осложнен... Таким образом выделение будет иметь смысл ставить только на целиком законченные высказывания...

...

В остальном ясно...

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

Хотя абзацы - аяты тоже прикольно...

Sirin 01.12.2011 20:41

Цитата:

Сообщение от Январь (Сообщение 76156)
Тут одна проблема - если сохранять тем или иным видом верству, ну например жирное выделение - то поиск будет весьма осложнен... Таким образом выделение будет иметь смысл ставить только на целиком законченные высказывания...

:scratch:
Цитата:

Сообщение от Sirin (Сообщение 76155)
Причём, как я сильно подозреваю, всё это уже изобретено и существует - нужно подобрать подходящий вариант и создать базу.

может fb2 поковырять?
или djvu?
или odt?

Январь 01.12.2011 20:52

Цитата:

Сообщение от Sirin (Сообщение 76159)
:scratch:

может fb2 поковырять?
или djvu?
или odt?

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

Просто строка:

Шуньке завта трицаган стукнет...

Не равна строке:

Шуньке завта [wow]трицаган[/wow] стукнет...

...

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

Шуньке завта [wow]трицаган[/wow] стукнет...

по идее будет такой же как вес у:

Кобеки, а знаетели вы что Шуньке то нашему завтра уже аж [wow]трицаган[/wow] по годам стукнет...

Тоже проблемка...

Как решение - можно хранить вариант с версткой и без, искать по без верстки, выводить с версткой...

Ну это первое что в головомоск приходит... Не очень конечно же изящно...

Январь 01.12.2011 21:01

И при выводе в ХТМЛ не совсем ясно как со сносками быть...

Михайло Суботич 01.12.2011 21:49

Согласен с Январем, поделюсь своим опытом. В текстах ВП используется много форматирования. Если вводить в базу голый текст, то он будет выводиться без форматирования - теряется некоторый смысл текстов. Если вводить в базу отформатированный в html текст (через tinymce), то в других форматах он будет не правильно отображаться, к тому же при конвертации tinymce получаются разные косяки с форматированием (не так как в исходных текстах + много лишних тегов), которые всё равно приходится устранять руками. Либо нужен универсальный скрипт-конвертер, который будет переводить html в fb2 и т.п. Либо можно всё перевести в fb2 и загрузить в базу, а на сайте поставить скрипт-перекодировщик fb2 -> html (скорее всего уже есть готовые решения).

По поводу сносок - тоже большая проблема, потому что tinymcy добавляет их в конец текста, и это очень неудобно каждый раз обращаться в конец, чтобы прочитать сноску. На e-dotu есть модуль для WordPress, который заключает сноски в теги [ref][/ref] прямо в тексте и потом обрабатывает их. Например, когда наводишь мышкой на номер сноски, сразу всплывает текст сноски. Но это нужно делать вручную, либо написать скрипт, который будет брать сноску из конца и вставлять в теги по соответствующему номеру в тексте.

Админ e-dotu ушёл в армию полгода назад, я взялся за перевод старых и новых текстов в html. Делаю вручную, долго и муторно, но зато качественно. Сейчас переведены тексты с 2007-2011 гг. и 1990-1996 гг.

Sirin 01.12.2011 21:53

Думаю, что мы сейчас велосипед изобретаем.
Всё это, в т.ч. вопрос форматирования уже решён в портативных читалках.
(смотрим в сторону формата .chm)

Сноски индексировать как отдельные фрагменты/блоки/страницы. В основном тексте давать на них сноску.
Фсё.

Январь 01.12.2011 21:58

Ну инденты то как минимум нужны, жирност и курсивность - они на каждом шагу...

Таки опять вопрос - формулы как выводить?

Цитата:

Сообщение от Я
И при выводе в ХТМЛ не совсем ясно как со сносками быть...

Как вариант - сноски мона тултипами сделать, наводишь на нее, она показывается - http://flowplayer.org/tools/demos/tooltip/index.html

Цитата:

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

Цитата:

Думаю, что мы сейчас велосипед изобретаем.
Всё это, в т.ч. вопрос форматирования уже решён в портативных читалках.
(смотрим в сторону формата .chm)

Сноски индексировать как отдельные фрагменты/блоки/страницы. В основном тексте давать на них сноску.
Фсё.
Это если не учитывать - как технически реализовать поиск, сколько времени уйдет на постоянное форматирование туда сюда...

Из мускула полнотекстовый поиск вернет результат за 0.0006 при 10 млн. проходов.

Таким образом дальше только вопрос форматирования... Как все остальное делается - не ясно...

...

Есть такая штука - кладр... У него интересный способ хранения данных... Можно попробовать...

Короче завтра что-нибудь набросаю... Думаю окончательно уйти абсолютно от всех ручных правок не удастся, но от 99% - удастся скорее всего...

Sirin 01.12.2011 21:59

Кстати fb2 большинства работ уже или есть или в скором времени будет.
Может в этом направлении поковырять (т.е. в базу заносить)?

В этом направлении koldun работает - он ручками конвертирует, т.е. высококачественно.

Я ему сделал доступ, будет помогать ВСЕ РАБОТЫ ВП СССР доводить до ума.

Январь 01.12.2011 22:31

Цитата:

Сообщение от Sirin (Сообщение 76169)
Кстати fb2 большинства работ уже или есть или в скором времени будет.
Может в этом направлении поковырять (т.е. в базу заносить)?

В этом направлении koldun работает - он ручками конвертирует, т.е. высококачественно.

Я ему сделал доступ, будет помогать ВСЕ РАБОТЫ ВП СССР доводить до ума.

Я вот не понимаю - fb2 - это по сути XML, можно ли его распарсить в нечто адекватное для базы?

Можно!

Но только это вопрос на столько же принципиальный, как - а можно ли html распарсить? Можно! А можно ли текстовик распарсить? Можно! А пожно ли pdf распарсить? Можно!..

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

Sirin 01.12.2011 22:35

Цитата:

FB2-файл - это файл XML

FB2-документ является файлом в формате XML.

XML (англ. Extensible Markup Language — расширяемый язык разметки; произносится [икс-эм-э́л]) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий из себя свод общих синтаксических правил. XML предназначен для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями.
Вроде бы то, что нужно?..

Январь 01.12.2011 22:38

блин

Sirin 02.12.2011 00:27

:)

Шуня 02.12.2011 07:34

Переводить в fb2 достаточно емкая работа, даже если использовать специальные программы, все равно надо будет руками доводить до ума. Особенно это касается сносок, я бы сказал из-за них +50% работы.

Январь 02.12.2011 09:17

Должно быть МВ самая большоая из работ ВП СССР... Всего - 1 миллион символов, в среднем на главу 35 тысяч символов.

Полнотекстовый поиск применяется максимум для полей TEXT, а это 65 тысяч символов.

На первый взгляд все подойдет, но блин - мало ли...

Думаю вот что хранить все таки целесообразнее главами... То есть с максимальной точностью детализации до глав.

То есть вот предложение - делаю таблицы: одну линейную и одну Nested Sets:

Код HTML:

.. (level - 0) Источник
.... (level - 1) Категория
...... (level - 2) Книги (+ связь с автором)
........ (level - 3) Главы
.......... (level - 4) Подразделы

Поиск по Книгам, Главам и Подразделам. По Книгам для простых ТМ, и более детально для работ вроде МВ и ОС.

Таким образом - если что-либо найдено в каком-либо подразделе - мы автоматом получаем цепочку: подраздел > глава > книга (автор) > категория.

На экран выводим:
  • навигатор по оглавлению,
  • подраздел или главу в зависимости от того, где найдено,
  • выделяем найденный фрагмент.
Таким образом у нас получается точная маска поиска (как хотел Сирин), что-то вроде: книга > глава > подраздел = 24.17.3. Далее стоит задача - как довести степень детализации до абзаца.


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


Сноски храним вместе с сущностями, содержащими текст, то есть выводя главу - выводим все сноски в ней использованные и показываем их как тултипы.



Вот, только такое предложение придумал.


Да, tinymce прекрасно интерпретирует в HTML текст, вставленный в него из MS Word.


http://www.tinymce.com/tryit/full.php - нажимаем кнопку "вставить из MS Word", вставляем главу из МВ, нажимаем кнопку "html" - смотрим что получилось на выходе.


Получившийся код вполне подойдет для перепарса в BBCode и последующего хранения.


... ... ...


Что делать?


1. Ну базу то сделать не тяжело.
2. Но - надо сделать еще какую-нибудь страничку, на которой постараться максимально автоматизировать перевод материалов в базу.


Этим и займусь.

... ... ...

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

Парсинг будет авто-ручной. Но от этого вероятно уйти все равно не получится.

Что-то вроде:

1. Создается категория (если надо),
2. Создается автор (если надо),
3. Создается книга с оглавлением (по оглавлению автоматом формируются главы и подразделы),
4. Главы и подразделы наполняются содержимым (методом copy & paste из MS Word в TinyMCE).

Если книга не содержит каких-либо сложных стилистических моментов, то на добавление 1 книги будет уходить минут 5 (книги вроде МВ). 5 человек соответственно за 5 минут добавят 5 книг.

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

Код HTML:

.... (level - 1) Категория (История)
...... (level - 2) Подкатегория (Военная история)
...... (level - 2) Подкатегория (Древняя история)
...... (level - 2) Подкатегория (История КПСС)


Январь 02.12.2011 10:50

Проработка элементов стилизации книги.

Сразу лучше составить список стилизованных элементов, которые могут быть в книге.

Например:
  • Жирный шрифт,
  • Курсив,
  • indent, outdent (внешний и внутренний отступы),
  • Цитата,
  • Таблица,
  • Картинка,
  • Видео (при печати преобразуется в ссылку на видео).
Ну и т.д.

Чтобы просто потом за голову не хвататься и не делать в порядке под грифом "срочно"...

Михайло Суботич 02.12.2011 13:27

Цитата:

Сообщение от Январь (Сообщение 76168)
Таки опять вопрос - формулы как выводить?

Для этого есть язык формул Latex. Например, вводим
Цитата:

[latex size="1"]\left\{\begin{matrix} {X}_{1}={a}_{11}{X}_{1}+{a}_{12}{X}_{2}+ . . . +{a}_{1n}{X}_{n}+{F}_{1} \\ {X}_{2}={a}_{21}{X}_{1}+{a}_{22}{X}_{2}+ . . . +{a}_{2n}{X}_{n}+{F}_{2} \\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \\ {X}_{n}={a}_{n1}{X}_{1}+{a}_{n2}{X}_{2}+ . . . +{a}_{nn}{X}_{n}+{F}_{n} \end{matrix}\right. (1)[/latex]
Получаем:
http://s.wordpress.com/latex.php?lat...&fg=262626&s=1

Пример - О контрольных параметрах макроэкономики

Или так:
Цитата:

[latex size="2"]{K}_{i}=\frac{{s}_{i}+(p/100)\times \sum_{j=1}^{i-1}{K}_{j}}{1-(p/100)}=\frac{{s}_{i}}{1-(p/100)}+\frac{(p/100)}{1-(p/100)}\sum_{j=1}^{i-1}{K}_{j}[/latex]
http://s.wordpress.com/latex.php?lat...&fg=262626&s=2

Январь 02.12.2011 13:54

Ничего не понял, но это и не первый вопрос правда.

И так, мы храним в базе формулу: [latex size="1"]{K}_{i}=\frac{{s}_{i}+(p/100)\times \sum_{j=1}^{i-1}{K}_{j}}{1-(p/100)}=\frac{{s}_{i}}{1-(p/100)}+\frac{(p/100)}{1-(p/100)}\sum_{j=1}^{i-1}{K}_{j}[/latex] - при выводе на сайт ее надо преобразовать в картинку. Что именно совершает это преобразование? И на каком этапе?

...

Таблицы (типа таво):

Публикации:

Код HTML:

CREATE TABLE `jx_BookBase` (
  `node` bigint(20) unsigned NOT NULL auto_increment,
  `parent` bigint(20) unsigned NOT NULL default '0',
  `level` bigint(20) unsigned NOT NULL default '0',
  `lkey` bigint(20) unsigned NOT NULL default '0',
  `rkey` bigint(20) unsigned NOT NULL default '0',
  `hide` enum('no','yes') NOT NULL default 'no',
  `create` bigint(20) NOT NULL default '0',
  `modify` bigint(20) NOT NULL default '0',
  `type` varchar(16) NOT NULL default 'undefined',
  `author` bigint(20) unsigned NOT NULL default '0',
  `name` text,
  `text` text,
  `chapter` text,
  `A` bigint(20) NOT NULL default '0',
  `B` bigint(20) NOT NULL default '0',
  `signature` text,
  PRIMARY KEY  (`node`),
  UNIQUE KEY `Unique` (`lkey`,`rkey`,`node`,`parent`,`level`),
  UNIQUE KEY `Unique (l,r)` (`lkey`,`rkey`),
  KEY `Node (parent)` (`parent`),
  KEY `Node (level)` (`level`),
  KEY `Node (lkey)` (`lkey`),
  KEY `Node (rkey)` (`rkey`),
  KEY `Node (hide)` (`hide`),
  KEY `Node (create)` (`create`),
  KEY `Node (modify)` (`modify`),
  KEY `Node (type)` (`type`),
  KEY `Node (author)` (`author`),
  KEY `Period` (`A`,`B`),
  KEY `A` (`A`),
  KEY `B` (`B`),
  KEY `General` (`parent`,`level`,`lkey`,`rkey`,`hide`,`create`,`modify`,`type`,`author`,`node`,`A`,`B`),
  FULLTEXT KEY `FullText (name)` (`name`),
  FULLTEXT KEY `FullText (text)` (`text`),
  FULLTEXT KEY `FullText (signature)` (`signature`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251;

Авторы:

Код HTML:

CREATE TABLE `jx_AuthBase` (
  `node` bigint(20) unsigned NOT NULL auto_increment,
  `hide` enum('no','yes') NOT NULL default 'no',
  `create` bigint(20) NOT NULL default '0',
  `modify` bigint(20) NOT NULL default '0',
  `name` varchar(64) NOT NULL default 'undefined',
  PRIMARY KEY  (`node`),
  KEY `General` (`hide`,`create`,`modify`,`name`,`node`),
  KEY `Node (hide)` (`hide`),
  KEY `Node (create)` (`create`),
  KEY `Node (modify)` (`modify`),
  KEY `Node (name)` (`name`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251;


Михайло Суботич 03.12.2011 13:58

Цитата:

Сообщение от Январь (Сообщение 76228)
Что именно совершает это преобразование? И на каком этапе?

Преобразование совершает скрипт. Если посмотреть ссылку на изображение, то в данном случае это http://s.wordpress.com/latex.php?latex=
Код latex тупо передаётся в качестве переменной и на выходе получаем картинку. Я не искал, но думаю в инете есть эти скрипты для скачивания.

Январь 05.12.2011 11:03

У меня кстати интернет закончился. Я начал делать, но прирвался... На работе не делаю... Продолжу сегодня-завтра...

Sirin 05.12.2011 14:42

Цитата:

Сообщение от Январь (Сообщение 76439)
У меня кстати интернет закончился. Я начал делать, но прирвался... На работе не делаю... Продолжу сегодня-завтра...

Будешь бездельничать - спасибку обратно отберу!

Январь 06.12.2011 14:19

:(

Все... Я больше не верю в мир и не верю своему мировоззрению...

...

1. Открываем калькулятор в винде (ВинСвин 7).
2. Ставим режим - "програмистский".
3. Делим 32 на 6...
4. Фигеем!

...

1. Открываем калькулятор в винде (любой).
2. В режиме "обычный" или "инженерный".
3. Находим квадратный корень из 4 (=2).
4. Вычитаем 2.
5. Фигеем!

...

Я больше не верю в математику. Мир не логичен :( ...

...

0.8 - 0.1 = 0.6(9) - JavaScript :bq:

Январь 08.12.2011 08:59

Осталось написать парсер тинимсишного хтмлся в какой-нибудь формат в котором будет это дело в базе храниться (ну в BBCode буду делать, по моему это оптимальный вариант). Сегодня этим и займусь. В остальном системка для наполнения базы книгами готов.

Потом надо будет сделать еще сам сайт... Ну или модуль в рамках кабзы...

Как сделаю парсер - потестю его, ну и передам интерфейсик управления базкой...

... ... ...

Сразу - парсеров HTML в BBCode - пруд пруди, даже в пхп есть готовый пакет такого парсинга туда и обратно...

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

По этому парсер придется сделать... С другой стороны в этом нет ничего сложного... На этапе парсинга из HTML в BBCode можно воспользоваться парсером XML, что упростит работу, но на этапе парсинга из BBCode в HTML, FB2, PSD такая фишка уже не прокатит, так что парсер писать все равно придется, его и можно сразу сделать единым (однообразным) для всего... Для запуска проект понадобится хотя бы 1 парсер - HTML -> BBCode -> HTML, под другие форматы можно будет дописывать позже парсеры...

В целом получается:

1. Берем книгу ВП СССР,
2. Создаем в базе публикацию и главы к ней,
3. Из .doc файла книги ВП СССР копируем текст в базу (некоторым специальным образом оформляя сноски),
4. ПХП приводит это дело в формат хранения,
5. Назначаем книге псевдоним, например для Мертвой Воды - DW,
6. Таким образом получаем возможность ссылаться на публикацию следующими образама:
  1. DW - на книгу,
  2. DW.5 - на пятую главу книги,
  3. DW.5.3 - на третий подраздел пятой главы книги,
  4. DW.5.3.27 - на двадцать седьмой абзац третьего подраздела пятой главы книги,
  5. ну и так далее (хотя далее некуда)...
Я так понимаю, что это и есть начальная задумка.


Следует заметить, что некоторые Текущие Моменты, или же просто статьи могут не содержать оглавления, по этому сущностями, способными содержать материал являются и главы, и подразделы глава и сами публикации... Маски для таких материалов такие же как и для всего остального, только лишь за отсутствием в масках отсутствующих в материале секций, например TM(5).12 = Текущий момент 5, параграф 12...



Всего у нас существует 4 сущности:
  1. Рубрикатор
  2. Категория
  3. Публикация
  4. Глава
Рубрикатор и категории не могут содержать текстового материала и служат лишь для организации логического хранения материалов, при этом узел рубрикатора всегда только 1, он является коренным узлом дерева материалов (см. управление деревьями Nested Sets). Категорий может быть сколько угодно, но сами они могут быть только 3 уровней.

Публикации и главы могут содержать текстовый материал, при чем книга может содержать или не содержать главы. Структура глав у книги (публикации) может быть как простой (плоской), так и сложной - то есть у глав могут быть подглавы, а у них подподглавы - так же как и у категорий - до 3 уровней вложенности.


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



Таким образом поиск по базе может осуществляться:
  1. По маске-указателю DW.5.3.27 (GGI.2.4.11 - Garden grows itself, chapter 2, subsection 4, paragraph 11), кстати, если надо просто сослаться на главу целиком, то следует написать просто DW.5.3 - и на выходе будет третья подглава пятой главы книги. То есть понятно - каждая секция маски является степенью детализации (хотя чо я админам объясняю что это такое?)...
  2. По тегам. К каждой сущности "публикация" может быть привязано до 5 тегов.
  3. По авторам. К каждой сущности "публикация" может быть привязан 1 автор.
  4. По категориям (фактически - объединениям).
  5. По периодам (датам выхода в свет).
  6. По принципу объединения поисковых запросов: период + категория + автор + теги (этот вариант исключает возможность искать еще и по маске, так как такое объединение лишено смысла и на выдаче всегда будет нулевой результат за исключением случаев, когда указаны абсолютно точные данные для одной единственной публикации, но зная эти точные данные такой поиск лишен всякого смысла вообще, так как эту публикацию проще тогда найти тупо по маске).
О принципиальной разнице поиска по тегам и категориям, зачем это надо?


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


Структура:



Рубрикатор (корень дерева)
..Политология (категория)
..История (категория)
....По вере вашей (публикация - не содержательная часть) + тег Религия + тег Альтернативная история
......1 (глава 1 - содержательная часть)
......2 (глава 2 - содержательная часть)
......3 (глава 3 - содержательная часть)
..Материалы (категория)
....Красота и здоровье (категория)
......ЗОЖ (категория)
........Тайная власть бухла (публикация - содержательная часть) + тег Генофонд нации


... ... ... ... ...


Вот это то, систему управления чем я сейчас делаю...


Если что-то не так или не соответствует замыслу - уточните сразу сейчас, чтобы потом не переделывать дэнс !!!


А, ну делаю тут http://agro-time.ru - если кому интересно, следите...


login : test
password : alpha.tester


...


С системой авторизации и правами не заморачивался, делаю как быстрее, так что каждый юзер может при желании все сломать (а сломать можно только структуру дерева). С проверками ввода тоже особо не заморачиваюсь...

Не пытайтесь если что добавить публикацию, добавление сущностей "публикация" и "глава" - отключено, вчера вскрылся какой-то конфликт между jQuery, jQuery-UI, jQuery-Tools и jQuery-TinyMCE (ну ясно - я его точно еще не локализовал :) , если не пойму в чем дело - сделаю "иначе" :) )...

... ... ... ... ...

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

Sirin 10.12.2011 23:34

Цитата:

Сообщение от Артём
<<< Ребят есть предложение сделать OPDS каталог работ ВП для удобства чтения на читалках.

Январь, ты знаешь, что такое OPDS? :scratch:

Январь 10.12.2011 23:43

Цитата:

Сообщение от Sirin (Сообщение 76998)
Январь, ты знаешь, что такое OPDS? :scratch:

Этого даже Вика не знает...

Sirin 10.12.2011 23:46

Вобщем предложил ему подключиться к нам.

Sirin 13.12.2011 17:50

Цитата:

[15:44:36] Evgen: я про те записки, которые у тебя в компе затерялись
[15:44:45] Evgen: а на доту не было
[15:45:49] Ян Юшин: ну так я докучи всё и выложил
[15:46:06] Ян Юшин: и то что потерялось и то что в новых форматах сделалось
[15:46:32] Evgen: дай пож. ссылки или названия, чтобы мне не перерывать всё
[15:48:34] Ян Юшин: [15 ноября 2011 г. 15:44] Ян Юшин:

<<< в 2006 году - Возможные пути восстановления государственности Русской цивилизации
в 1996 - Этико-экономическая экспертиза Концепции структурных реформ ХМаО+ возможно у тебя нету в 2010м - Об экспертизе материалов Концепции общественной безопасности, ставших предметом судебного разбирательства в Хабаровске по поводу их якобы экстремистско-расистского характера
и в 2008-м - Основные претензии по существу к «Заключению специалиста» — лингвистической экспертизы по Усть-Коксинскому делу
[15:48:58] Evgen: (handshake)
[15:49:07] Ян Юшин: две последние задним числом на сайт добавлялись без широкого оповещения
Впихнуть как то надо в базу... но там нумерация... :scratch:

Михайло Суботич 13.12.2011 20:24

Цитата:

две последние задним числом на сайт добавлялись без широкого оповещения
А я думал, что у меня с памятью что-то не так, когда вбивал эти записки на e-dotu. Думал откуда они взялись..


Часовой пояс GMT +3, время: 22:02.

Осознание, 2008-2016