Автор |
Сообщение |
rusec
Заглянувший
Зарегистрирован: 20.07.2007
Сообщ.: 6
Карма: 0 поощрить/наказать
Откуда: Quito, Ecuador
|
Добавлено: Сб Июл 21, 2007 12:00 am (написано за 4 минуты 57 секунд)
Заголовок сообщения: Добавление сообщений орфуса в БД
|
|
Хочу прикрутить орфус к библиотеке Либрусек (lib.rus.ec). Сообщения об опечатках в книгах хочется складывать в базу данных, с некоторой дополнительной информацией, типа id книги. В яваскрипте слаб, серверную часть напишу любую. Не подскажите, что и как поправить? Я так понимаю, при генерации ифрейма надо запихнуть дополнительные параметры, а потом вместо отсылки письма послать post? Перенаправлять письма на ваш сайт не хочется - это будут тысячи сообщений в день ориентировочно. Извините, что отрываю занятых людей, но самому в js копаться решительно некогда :(
|
|
Вернуться к началу |
|
|
Дмитрий Кóтеров
Администратор
Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383 поощрить/наказать
|
Добавлено: Вс Июл 22, 2007 2:20 pm (спустя 1 день 14 часов 20 минут; написано за 4 минуты 26 секунд)
Заголовок сообщения:
|
|
Ну так ради бога, тысячи - так тысячи. Орфус вообще-то распространяется именно в таком виде, какой он сейчас, и я против любой модификации, т.к. это будет уже воровство идеи и кода. Может быть, Вам подойдет какое-нибудь API, к которому Вы сможете обращаться на сайте Орфуса? Например, RSS-канал, в котором будут приводиться все необработанные опечатки? Мы можем с Вами пообщаться на эту тему и совместно определить, какое именно API требуется. Возможно, оно и другим людям пригодится тоже. ID книги наверняка можно выделить из URL страницы. Более того, можно сделать, чтобы перед посылкой сообщения сканировались все META-тэги на странице, и вместе с сообщением присылалось содержимое какого-нибудь META-тэга, например: <meta name="orphus" content="book_id=123&some=other" />
|
|
Вернуться к началу |
|
|
Гость
Карма: 300 поощрить/наказать
|
Добавлено: Пт Июл 27, 2007 9:21 am (спустя 4 дня 19 часов 28 секунд; написано за 6 минут 56 секунд)
Заголовок сообщения:
|
|
давайте попробуем. Такой вопрос. есть текст: <h1>Сказ о пулемётчике <p o=2>Tra-ta-ta-ta <h2 o=3>говорит пулемётчик <p o=4>Tra-ta-ta-ta <p o=5>говорит пулемёт примерно в таком духе. У каждого параграфа есть атрибут 'o' с числовым id. Юзер выделил ошибку. Мне нужно получить id сбойного параграфа, чтобы в модуле редактирования не грузить всю книгу. Если выделение зацепило несколько параграфов - значит все id (ну или первый и последний, они линейно возрастают.) Id я расставляю при генерации html из fb2 и в принципе могу это делать произвольным образом. Есть ли возможность выслать на сервер кроме собственно выделенного текста id параграфов? Текст вокруг выделенного, очевидно, не нужен. Параграфы достаточно невелики.
|
|
Вернуться к началу |
|
|
rusec
Заглянувший
Зарегистрирован: 20.07.2007
Сообщ.: 6
Карма: 0 поощрить/наказать
Откуда: Quito, Ecuador
|
Добавлено: Сб Июл 28, 2007 2:49 am (спустя 17 часов 27 минут; написано за 16 секунд)
Заголовок сообщения:
|
|
В идеале вообще никому никаких сообщений не слать, а при нажатии хоткей вместо текущего параграфа открывать textarea с его исходным fb2 кодом. А по исправлению отсылать на сайт исправленный вариант. И там уже вести лог версий и все такое. Как это реальзовать в ie я примерно понял, но у меня большинство посетителей, включая меня самого - ff. А у мозиллы как-то толком выделение не отрабатывается, или я не нашел как по выделению найти текущий параграф.
|
|
Вернуться к началу |
|
|
Дмитрий Кóтеров
Администратор
Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383 поощрить/наказать
|
Добавлено: Сб Июл 28, 2007 3:42 am (спустя 53 минуты; написано за 3 минуты 33 секунды)
Заголовок сообщения:
|
|
1. Ну, атрибут o=..., конечно, не очень хорошо делать. Потому как он нестандартный, и в XHTML его тоже нет. Давайте просто будем делать id, и присылать вместе с выделением все id элементов, которое это выделение зацепляет? Это, по-моему, достаточно универсальный метод. 2. Если я правильно понял, Вы хотите, чтобы перед отсылкой любой сторонний пользователь мог ввести куда-то исправленный вариант, и уже потом отправлять. Я правильно понял? Сейчас Орфус этого не умеет, т.к. полагает, что все исправления имеет право делать только редактор (а иначе юзеры такого наисправляют...). Вопрос: КТО тот пользователь, который делает выделение? Совершенно произвольный, со стороны, или же сам администратор сайта?
|
|
Вернуться к началу |
|
|
Дмитрий Кóтеров
Администратор
Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383 поощрить/наказать
|
Добавлено: Сб Июл 28, 2007 3:44 am (спустя 1 минуту 51 секунду; написано за 15 секунд)
Заголовок сообщения:
|
|
И Вы еще не ответили насчет экспорта элементов (например, в RSS).
|
|
Вернуться к началу |
|
|
rusec
Заглянувший
Зарегистрирован: 20.07.2007
Сообщ.: 6
Карма: 0 поощрить/наказать
Откуда: Quito, Ecuador
|
Добавлено: Сб Июл 28, 2007 4:29 am (спустя 45 минут; написано за 20 минут 59 секунд)
Заголовок сообщения:
|
|
1. Бог с ним, пусть будет id. Хотя это неправильно, потому как в FB2 у параграфа может уже быть id. Не очень понимаю, какая разница - написать selection.createRange().startContainer.o или selection.createRange().startContainer.id. Не важно. Пусть id. 2. В идеале - пользователь вводит правильный вариант, и оный вариант сохраняется в базе. Проблема простая. В библиотеке - сто тысяч книг. Пока. Будет больше. И в каждой почти книге - ошибки сканирования, опечатки, и прочие глюки. Много. Несколько десятков на книгу. Всего потребны миллионы мелких исправлений. Естественно, такой объем администратор сам править не сможет - жизни не хватит. Хочется автоматизации. Хранить исходный вариант документа и список исправлений. Оный список администратор просматривает. Иногда. Если кто-нибудь начинает вандалить - он банится а его исправления откатываются или хотя-бы проверяются. Но, надеюсь, такого особо не будет. Во всяком случае исправления названий книг, имен авторов и т.п - уже работает, и проблем пока не было. Доступно всем. Получается, нужно чтобы пользователь, заметив опечатку, ткнул в нужный параграф мышой, ткнул CtrlEnter, получил под курсором textarea с содержимым параграфа, с курсором в месте ошибки, поправил, ткнул save, поехал читать дальше. Минимально отвлекаясь. Или, если не хочет править, выделил ошибку мышой, ткнул, скажем, ShiftEnter, пошел читать дальше. В библиотеке на страничке замеченных опечаток появилась запись с ссылкой, любой пользователь в неё ткнул, получил textarea, поправил, ткнул кнопку (сохранить исправление и перейти к следующей ошибке). В переспективе подключить авторов читалок - чтоб сообшать об ошибке можно было прям с палма. Там есть о чем подумать, но невозможностей не видно. Сейчас в лучшем случае это устроено так - выкачиваешь fb2, инсталируешь fb2-редактор, исправляешь, заливаешь обратно. Читая на пальме - отмечаешь ошибки на бумажке (я серьёзно!), далее по тексту. Понятно, что в таком режиме работают только совсем уж сугубые энтузиасты, а их мало. Никто из-за перепутанной буковки на такие труды не пойдет. Да и формат изучать ради этого как-то перебор. Хочется упростить до предела. По поводу экспорта - честно говоря не понятно. Насколько быстро письмо дойдет до вашего сервера а rss вернется? Как это увязать с ajax-nline-редактированием? Слаб я пока в интернет-технологиях, слова непонятные пугают. Извините.
|
|
Вернуться к началу |
|
|
Дмитрий Кóтеров
Администратор
Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383 поощрить/наказать
|
Добавлено: Сб Июл 28, 2007 1:19 pm (спустя 8 часов 49 минут; написано за 6 минут 54 секунды)
Заголовок сообщения:
|
|
rusec писал(а): |
Не очень понимаю, какая разница - написать selection.createRange().startContainer.o или selection.createRange().startContainer.id |
Потому что доработки в Орфусе делаются не конкретно под Вас, а делаются для универсальных целей, чтобы и другие люди могли ими пользоваться. Вы мне денег не платите за это, в конце концов. К тому же надо стремиться к соблюдению стандартов, а атрибут "o" ни в один стандарт не входит. В принципе, есть еще вариант с микроформатами: <p class="orphus_1234">текст</p> <p id="some-id" class="orphus_6666">текст</p> И сохранять вместе с текстом исправления также то, что идет после "orphus_". Это не будет конфликтовать с id-шниками. Вам такой вариант подходит?
rusec писал(а): |
Насколько быстро письмо дойдет до вашего сервера а rss вернется? |
А зачем здесь скорость? Главное, чтобы база ошибок велась. Все равно ведь администратор (или скрипт) не будет просматривать этот RSS мгновенно. Но, в принципе, данные попадают в RSS сразу же, как они попали в базу. А в базу они попадают сразу же после аякс-запроса. Так что задержка тут - исключительно задержка кэшировани rss-потока, т.е., скажем, 1 минута.
rusec писал(а): |
Как это увязать с ajax-nline-редактированием? |
А Вы что, хотите, чтобы любой читатель, изменив текст, СРАЗУ ЖЕ публиковал его на сайте, даже без одобрения администратора? По-моему, это не очень хорошая идея. Мне кажется, пользователи сами ничего править не будут. Максимум, на что они способны, - это подсказать, где ошибка, а уж исправление должен проводить администратор или редакторы. В противном случае вандализма будет очень много - например, на текстах, где ошибок практически нет, 9/10 сообщений Орфуса - это баловство (у меня есть статистика).
|
|
Вернуться к началу |
|
|
WingedFox
Профессионал
Зарегистрирован: 29.04.2003
Сообщ.: 3806
Карма: 227 поощрить/наказать
|
Добавлено: Сб Июл 28, 2007 1:59 pm (спустя 39 минут; написано за 4 минуты 1 секунду)
Заголовок сообщения:
|
|
rusec
Я в нескольких проектах пользую www.google.ru/search?q=wikiwyg - очень удобно. Насчёт параметров в className - хранить <имя:значение1:значениеN> становися стандартом де-факто.
|
|
Вернуться к началу |
|
|
rusec
Заглянувший
Зарегистрирован: 20.07.2007
Сообщ.: 6
Карма: 0 поощрить/наказать
Откуда: Quito, Ecuador
|
Добавлено: Вс Июл 29, 2007 1:05 am (спустя 11 часов 6 минут; написано за 10 минут 22 секунды)
Заголовок сообщения:
|
|
WingedFox писал(а): |
Я в нескольких проектах пользую www.google.ru/search?q=wikiwyg - очень удобно. |
Не знаком к сожалению. Пара вопросов. 1.Оно может каким-то образом редактировать часть документа? У нас есть книга, она весит мегабайт, а то и несколько, надо исправить одно слово. Засасывать в textarea всю книгу, а потом всю ее гнать обратно и на сервере далать diff - неправильно как-то. И неоправданно долго. Даже на приличном канале пару мег туда, пару обратно - заметно. 2. Оно понимает fb2-разметку? Или имеет возможность подключения плугина? Если да на оба вопрост - пойду смотреть. Если нет - какая-то вики у меня стоит, но для вычитки книг оно непригодно. Аннотации, описания авторов - для таких вещей используется успешно, но это не та область, с которой хочется сильно возится. Работает - и ладно.
|
|
Вернуться к началу |
|
|
rusec
Заглянувший
Зарегистрирован: 20.07.2007
Сообщ.: 6
Карма: 0 поощрить/наказать
Откуда: Quito, Ecuador
|
Добавлено: Вс Июл 29, 2007 1:39 am (спустя 33 минуты; написано за 21 минуту 8 секунд)
Заголовок сообщения:
|
|
Дмитрий Кóтеров писал(а): |
А Вы что, хотите, чтобы любой читатель, изменив текст, СРАЗУ ЖЕ публиковал его на сайте, даже без одобрения администратора? По-моему, это не очень хорошая идея. |
Угу, хочу. Может быть, не любой пользователь, а некоторые. А может быть - и любой. В зависимости от редактируемого текста. Так устроена wikipedia, и существует вполне успешно. Не без проблем, но премодерацию не заводит почему-то.
Дмитрий Кóтеров писал(а): |
Мне кажется, пользователи сами ничего править не будут. Максимум, на что они способны, - это подсказать, где ошибка, а уж исправление должен проводить администратор или редакторы. В противном случае вандализма будет очень много - например, на текстах, где ошибок практически нет, 9/10 сообщений Орфуса - это баловство (у меня есть статистика). |
Можете полюбопытствовать lib.rus.ec/node/49. Статистика исправления пользователями информации о книгах и авторах (видна только админам, но Вам могу открыть). В кратце - за неделю существования данной возможности десяток пользователей сделали две сотни поправок. Вандализма не было. Вообще. Что интересно, мой опыт использования орфуса несколько лет назад с Вашей статистикой не вяжется. Было по несколько десятков сообщений в день, баловства не было. Совсем. Изредка попадались сообщения, где я не мог понять в чём ошибка или был несогласен с тем, что это ошибка - русский язык дело такое, многовариантное. Явного бреда не было. Сейчас на либрусеке то же самое - сообщения есть, немного, но есть, практически все по делу. Видимо, книголожцы - это очень специальный контингент. Нелюбопытный до баловства. Потом, я же оставляю за админами возможность контроля и отката. А премодерация слишком всё усложняет. Безусловно, могут найтись книги, в которых начнутся войны. Эти - закроем. Ну ладно, если уж Вы так против inline редактирования, оставим пока эту идею до лучших времен. Попробуем с rss. Куда и как там надо добавить BookId и ParagrafId, чтоб Вам было удобно, и где забирать RSS?
|
|
Вернуться к началу |
|
|
WingedFox
Профессионал
Зарегистрирован: 29.04.2003
Сообщ.: 3806
Карма: 227 поощрить/наказать
|
Добавлено: Вс Июл 29, 2007 11:41 am (спустя 10 часов 2 минуты; написано за 3 минуты 16 секунд)
Заголовок сообщения:
|
|
rusec писал(а): |
Оно может каким-то образом редактировать часть документа? |
demo.wikiwyg.net/wikiwyg/demo/standalone/
Двойной щелчок на любом параграфе.
rusec писал(а): |
Оно понимает fb2-разметку? |
Первый раз про такую слышу. Там есть возможность описать правила разметки. wikiwyg.net/docs/#subclassing
demo.wikiwyg.net/wikiwyg/demo/configure/
Последний раз редактировалось: WingedFox (Вс Июл 29, 2007 3:36 pm), всего редактировалось 1 раз
|
|
Вернуться к началу |
|
|
rusec
Заглянувший
Зарегистрирован: 20.07.2007
Сообщ.: 6
Карма: 0 поощрить/наказать
Откуда: Quito, Ecuador
|
Добавлено: Вс Июл 29, 2007 12:16 pm (спустя 34 минуты; написано за 4 минуты 2 секунды)
Заголовок сообщения:
|
|
WingedFox писал(а): |
rusec писал(а): |
Оно может каким-то образом редактировать часть документа? |
demo.wikiwyg.net/wikiwyg/demo/standalone/
Двойной щелчёк на любом параграфе. |
Любопытно. Пошел изучать, спасибо.
|
|
Вернуться к началу |
|
|
bæv
Модератор «Дзена»
Зарегистрирован: 27.08.2003
Сообщ.: 4151
Карма: 99 поощрить/наказать
|
Добавлено: Вс Июл 29, 2007 3:04 pm (спустя 2 часа 47 минут; написано за 47 секунд)
Заголовок сообщения:
|
|
WingedFox писал(а): |
щелчёк |
— вот она, «грамотность в интернете»...
|
|
Вернуться к началу |
|
|
WingedFox
Профессионал
Зарегистрирован: 29.04.2003
Сообщ.: 3806
Карма: 227 поощрить/наказать
|
Добавлено: Вс Июл 29, 2007 3:36 pm (спустя 31 минуту; написано за 1 минуту 21 секунду)
Заголовок сообщения:
|
|
bæv
Спасибо. Вот что перманентная переписка на ино-языках помноженная на недосып делает..... А в аттестате стоит пятёрка...
|
|
Вернуться к началу |
|
|
Дмитрий Кóтеров
Администратор
Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383 поощрить/наказать
|
Добавлено: Вт Июл 31, 2007 2:42 am (спустя 1 день 11 часов 6 минут; написано за 9 минут 2 секунды)
Заголовок сообщения:
|
|
rusec писал(а): |
Так устроена wikipedia, и существует вполне успешно. Не без проблем, но премодерацию не заводит почему-то. |
Штука в том, что в wikipedia любую правку можно легко и быстро отменить. Можно также легко вернуться к одной из предыдущих версиях. В Вашем же случае правки отменять будет достаточно тяжело. Либо надо делать версионность, но это уже совсем-совсем не Орфус.
WingedFox писал(а): |
хранить <имя:значение1:значениеN> становися стандартом де-факто |
Отлично. Значит, будет class="orphus:id:123".
rusec писал(а): |
Куда и как там надо добавить BookId и ParagrafId, чтоб Вам было удобно, и где забирать RSS? |
Например, так: <div class="orphus:id:b123"> ... <p class="orphus:id:p456">текст</p> ... </div> В этом случае Орфус будет спускаться вниз до корня, выделяя "orphus:id:*" и добавляя в общий список. Вам же в RSS придет для каждого выделения список вида "b123 p456" (в каком именно поле RSS, надо еще подумать), по нему легко восстановить место выделения. Кстати, возможно, лучше даже и не RSS использовать, а какой-нибудь собственный XML-формат, потому что в RSS мало полей. Например, формат такой: <typo> <url>...</url> <pre>текст перед выделением</pre> <sel>текст выделения</sel> <suf>текст после выделения</suf> <ids>b123 p456</ids> ... </typo> <typo> ... </typo> Забирать его с адреса вида orphus.ru/ru/typos.xml (пока не работает, естественно), обновляется 1 раз в минуту. Вопрос к Вам: достаточно ли Вам будет такого API? Лучше это сейчас выяснить, на этапе планирования, чем потом.
|
|
Вернуться к началу |
|
|
Дмитрий Кóтеров
Администратор
Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383 поощрить/наказать
|
Добавлено: Вт Июл 31, 2007 2:56 am (спустя 13 минут; написано за 1 минуту 17 секунд)
Заголовок сообщения:
|
|
Кстати, на странице orphus.ru/ru/typos (смотреть после логина) планируется ввести редактируемое поле "правильная версия". Там можно будет предварительно вводить исправленную версию текста, и оно тоже будет экспортироваться в XML (например, в поле "cor").
|
|
Вернуться к началу |
|
|
Дмитрий Кóтеров
Администратор
Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383 поощрить/наказать
|
Добавлено: Пн Мар 17, 2008 1:28 am (спустя 7 месяцев 16 дней 22 часа 32 минуты; написано за 29 секунд)
Заголовок сообщения:
|
|
Добавился RSS-формат для экспорта опечаток из Орфуса. В частности, можно экспортировать опечатки по определенному фильтру (поисковой строке).
|
|
Вернуться к началу |
|
|
|
Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать в опросах. Вы можете отправлять сообщение модераторам. Вы не можете прилагать файлы к сообщениям. Вы можете скачивать файлы.
|
|