Зарегистрироваться Войти Редактировать К списку тем

Тестовый форум Still Life

StillLife: Свежие сообщения

Создана
07.12.2008 20:29 (ссылка)
taris-marh.livejournal.com

Статус:
Email:

Небольшое замечание по установке: в Fedora 10 в репозитариях есть все необходимые пакеты "родной" сборки, кроме HTML::BBReverse и Net::OpenID::Consumer.

HTML::TreeBuilder находится в пакете perl-HTML-Tree-3.23-4.fc9.noarch - кто бы догадался.

07.12.2008 20:20 (ссылка)
taris-marh.livejournal.com

Статус:
Email:

После переустановки системы восстанавливал набор пакетов. hostinfo отсутствие HTML::BBReverse не определилось. Выявил это по логам web-сервера.

26.11.2008 23:28 (ссылка)
taris-marh.livejournal.com

Статус:
Email:

Обнаружил такую штуку: если при создании тем не указывать URL, то процесс ломается при создании второй темы - скрипт пытается повторного использовать "00000001".

Причина - отсутствие файла "sequence" в ожидаемом месте (просто никто его не создал) и, соответственно, использование в качестве текущего значения счётчика значения 0. Проблема в том, что открытие файла в режиме "+<" файл не создаёт.

Соответственно, 2 варианта решения:
1. Создать файл при установке форума.
2. Добавить в скрипт кусок кода, который проверяет наличие файла и при необходимости создаёт. Учитывая, что пишется он туда же, куда и базы паролей и сессий, права на это директорию у скрипта быть должны в любом случае.

Upd: Fixed.
07.10.2008 11:33 (ссылка) (в ответ на)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Сппсибо, учтем.


--
Сэр извращенец? Тогда вам на сюда
04.10.2008 21:34 (ссылка) (в ответ на)
taris-marh.livejournal.com

Статус:
Email:

Скрипт не определил отсутствия в системе Email::Valid, который скрипту forum нуже.

04.10.2008 12:31 (ссылка)
taris-marh.livejournal.com

Статус:
Email:

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

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

Прогнозировать нагрузку сложновато - тем может быть и много и пользователи могут активно это всё пользовать. Это как бы вопрос приоритетов.

А ещё, насколько я понял, в конечном итоге будет экспорт в RSS/Atom, так что в какомм-то виде оно таки будет.

23.08.2008 23:36 (ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru
  1. Доделать новую систему работы с форматированным текстом. Прикрутить tinymce
  2. Операция перемещения объекта
  3. Операция смены дизайна (переприменения шаблонов ко всем существующим страницам, Там же продумать концепцию общих фрагментов для нескольких шаблонов.
  4. Систематизировать и документировать client-side скрипты.
  5. Пробрасывать статистику вверх до корня
  6. E-mail подтверждение регистрации и хуки для captcha
  7. Резка длинных тем на страницы и все что с этим связано
  8. Страничка всех тем/сообщений данного пользователя
  9. openid-producer
  10. Большой рефакторинг кода и поддержка онтологий (возможность легкого и простого описания новых типов объектов

--
Сэр извращенец? Тогда вам на сюда
23.08.2008 23:25 (ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru
  1. Автоматическое преобразование URL в тексте в ссылке должно делаться не на сервере, а на клиенте. Потому что иначе preview будет неадекватным. И перенос этой функциональности на клиента - минус один не слишком стандартный модуль со CPAN.
  2. Идея хранить свойства пользователя в dbm-ке признана неудачной. Лучше иметь статическую страничку пользователя. Так пользователь будет обрабатываться более похоже на все прочие объекты. В dbm-ке хранить только пароли и прочую информацию, которая на клиента вообще не попадает.
  3. Необходимо иметь возможность автогенерации служебных страниц (создание, редактирование и т. д. объектов). А то слишком много шаблонов руками рисовать приходится. Хотя по опыту Communiware возможность создания таких страниц с ограниченной функциональностью средствами шаблона следует оставить.
  4. Использование префикса имен классов для подстановки атрибутов вложенного объекта (автора в сообщении) - неправильно. Пусть лучше будет объемлющий элемент с классом. Это уединообразит код подстановки.
  5. Cуществующий скрипт, скрывающий элементы управления, недоступные текущему пользователю приводит к тому, что эти элементы при загрузке страницы видны, и только потом исчезают. Лучше по умолчанию показывать только элементы управления, доступные анониму, и только потом показывать остальное. Это будет меньше смущать пользователя. То что часть элементов которые у него должны быть, дорисовываются не сразу - привычно. А то что показывается лишнее, а потом исчезает - нет. На то что работать с выключенным js нельзя - наплевать. Поскольку в нынешней архитектуре ни wysiwyg, ни bbcode работать не будут. И вообще мы живем во времена Web 2.0

--
Сэр извращенец? Тогда вам на сюда
06.05.2008 17:10 (ссылка) (в ответ на)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru
Постинг с картинкой

--
Сэр извращенец? Тогда вам на сюда
06.05.2008 16:48 Редактируется разделитель(ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

При редактировании сообщения разделитель между сообщением и подписью попадает в редактируемый текст
--

Сэр извращенец? Тогда вам на сюда
06.05.2008 12:56 Проверка ников(ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Надо ввести в конфигурацию форума параметр, задающий регулярное выражение, которому должны соответствовать ники вновь регистрирующихся юзеров (не OpenID)
--

Сэр извращенец? Тогда вам на сюда
06.05.2008 12:49 Отредактированное старое сообщение появляется в списке свежих реплик.(ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

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

Upd:Fixed

Сэр извращенец? Тогда вам на сюда
06.05.2008 12:48 Картинки в списке свежих реплик(ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Если реплика имеет приаттаченные картинки, то в списке свежих реплик они не показываются. Потому что в текст реплики попадают относительные URL в той же директории что и сама тема. А страница "свежие реплики" живет совсем в другом месте.

Upd: Fixed
--

Сэр извращенец? Тогда вам на сюда
21.03.2008 17:02 Тестовая реплика(ссылка)
vitus

Статус:
Email: vitus@wagner.pp.ru

Высказываюсь.

Редактирую высказывание

21.04.2008 22:27 (ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Язык шаблонов StillLife в отличие от большинства других систем обработки шаблонов (включая Django, Communiware и php) базируется не на тексте, а на DOM-дереве HTML.

То есть любой шаблон представляет собой валидный HTML. В отличие от XSLT здесь нет специальных элементов, которые описывают действия. Всю необходимую функциональность несут классы (и иногда идентификаторы) элементов, благо в HTML 4.01 все элементы могут иметь атрибуты class и id.

Возможные конструкции языка шаблонв:

Подстановка значений
содержимое элемента данного класса и/или некоторые его атрибуты заменяются на некоторое генерируемой программой (например в результате обработки пользовательского ввода) содержимое. В некоторых случаях (например при подстановке юзерпика) набор элементов, к которым применяется данная подстановка ограничен.
Условная подстановка значения
Здесь должны присутсвовать два элемента с указанными (разными) классами (а может сделать одинаковыми и проверять на вложенность?). Если подставляемое значение присутствует, то содержимое/атрибуты внутреннего элемента заменяется на это значение, и внешний элемент делается видимым, иначе внешний элемент делается невидимым или удаляется из сгенерированной страницы.
Условный блок
Если указанное условие не выполняется, блок делается невидимым/удаляется
Список
Здесь требуется два элемента с заданными классами. Сейчас класс объемлющего элемента делается из класса элемента списк добавлением list - message и messagelist, topic и topiclist. Объемлющий класс может включать в себя какое-то обрамление (заголовки, табличную структуру и т.д.) и как минимум один элемент. Если это элемент представляет собой щаблон-заготовку (например элемент списка сообщений в пустой теме, в которой ни одного сообщения еще не создано), скрывается весь список.

Если элементов больше одного, тэг-элемент списка со всем содержимым копируется и копия помещается непосредственно за предыдущим элементом.

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

Это, на мой взгляд, является большим плюсом, так как полностью исключает возможность перемешивания кода и дизайна.

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

Существующий скрипт forum на самом деле представляет собой жуткую смесь модели и контроллера. К сожалению, для того чтобы понять, как следует отделять модель от контроллера его надо было написать.


--
Сэр извращенец? Тогда вам на сюда
21.04.2008 16:32 (ссылка)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Опубликован скрипт, проверяющий все ли необходимые модули установлены на сервере.

Сам по себе скрипт требует только perl и CGI.pm, который с давних пор входит в дистрибутив Perl.

Скопировать этот скрипт в директорию cgi-скриптов вашего сервера и сходить браузером на URL http://ващ-сервер/cgi-bin/hostinfo.

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


--
Сэр извращенец? Тогда вам на сюда
16.04.2008 00:04 (ссылка) (в ответ на)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

А если бы ты не был OpenId пользователем, твой юзерпик бы нужно было заливать на мой сервер. Где я и image magick на него натравить могу.
--

Сэр извращенец? Тогда вам на сюда
16.04.2008 00:02 (ссылка) (в ответ на)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Угу. При этом данное кэширование либо у тебя в браузере, либо на промежуточной прокси. Скорее последнее. Потому что с другой, более грамотно настроенной прокси все в порядке.
--

Сэр извращенец? Тогда вам на сюда
15.04.2008 19:09 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

Не понял. Проблема в том, что не видится вночь введённое сообщение. Т.е. кэширование как бы слшком эффективное - не замечает обновления.
--

15.04.2008 19:08 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

А что, если бы я не был OpenID пользователем, я не смог бы поставить юзерпик огромного размера?
--

15.04.2008 18:20 (ссылка) (в ответ на)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Или не считать это дыркой? Оставить наведение порядка на усмотрение модератора?
--

Сэр извращенец? Тогда вам на сюда
15.04.2008 18:15 (ссылка) (в ответ на)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

Дырку нашел. Найду время, заткну, чтобы openid-пользователи не могли юзерпиков менять.
--

Сэр извращенец? Тогда вам на сюда
15.04.2008 18:11 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru

Вообще-то эффективное кэширование - это фича, а не баг.
--

15.04.2008 18:00 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

А вот с комментом - разнеслася!!!
--

15.04.2008 18:00 (ссылка)
ramendik.livejournal.com

Статус: Пользователь
Email:

Юзерпик молча не виден. Оно точно так положено?
--

В списке тем - положено

15.04.2008 17:52 (ссылка)
ramendik.livejournal.com

Статус: Пользователь
Email:

За другой прокси не повторяется. За той же - повторяется стабильно.

15.04.2008 17:09 (ссылка) (в ответ на)
slobin.livejournal.com

Статус: Пользователь
Email: slobin@ice.ru

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

15.04.2008 13:46 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru
Ну в дизайне есть баги. К сожалению, пока не реализвоана операция "переприменить шаблоны к уже созданным форумам/темам" исправление подобного рода глюков возможно только глобальными заменами по файловой системе, что неинтересно.

И вообще я не дизайнер. Поэтому очень хотелось бы найти дизайнеров, которые бы сделали 2-3 комплекта шаблонов, отлиных от базового. Разных.

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


--

15.04.2008 13:41 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru
Когда я отредактировал некоторые поля (но не трогал поле "подпись"), она стала

и появились два минуса внизу моих сообщений

Эту багу я уже заметил, но пока не дошли руки испаравить


--

15.04.2008 13:37 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru
Во-первых, меньше требования к хостингу - только cgi и некий один язык (как я понимаю perl?) Нужен еще десяток модулей с CPAN, причем не все из них в норме у хостера стоят. Их можно поставить к себе в домашний каталог, но это усложняет процедуру установки (хотя и не делает её невозможной даже при наличии только ftp-доступа) Во-вторых, если хостинг и того не предоставляет, можно гонять CMS у себя локально, а потом попросту миррорить (хоть по фтп) на хостинг результат. Вообще говоря, можно и оперативность сохранить. Если где-нибудь прикрутить после обновления страницы запуск синхронизатора прямо из cgi.

--

15.04.2008 13:35 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru
Проблема в том, что без соответствующей интерфейсной поддержки вынос ссылки в отдельное место сбивает с мысли при написании текста (хотя облегчает его чтение)

--

15.04.2008 13:32 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru
А вот с кнопочкой Check all - проблемы. У XMLHttpRequest большие ограничения по поводу того, куда можно делать запрос со страницы. А задача - явно для client-side.

--

15.04.2008 05:46 (ссылка) (в ответ на)
slobin.livejournal.com

Статус: Пользователь
Email: slobin@ice.ru

В продолжение темы: до чего у неё богатая фантазия на тему того, что такое "пустое поле"! ;-) Пока я ни разу не редактировал профиля, подписи у меня не было. Когда я отредактировал некоторые поля (но не трогал поле "подпись"), она стала <p class="text"> и появились два минуса внизу моих сообщений. Если я вручную стираю этот параграф и нажимаю сохранить, то получается <p class="text"><br> в режиме plain text и <div></div> в режиме html. Сейчас, если ничего не напутал, стоит последний -- интересно, как он отобразится?
--

15.04.2008 05:40 (ссылка) (в ответ на)
slobin.livejournal.com

Статус: Пользователь
Email: slobin@ice.ru

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

1) Ни со списка пользователей, ни со страницы редактирования своего профиля нельзя никуда уйти по ссылке -- на них просто нет никаких ссылок (в смысле на другие страницы натюрморта). Стрелка влево ещё годится в первом случае (посмотрели-вернулись), но совершенно неприемлема во втором: идти по истории назад после _действия_ (редактирования), а не _взгляда_ крайне противоестественно.

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


--

15.04.2008 05:25 (ссылка)
slobin.livejournal.com

Статус: Пользователь
Email:

На этой странице (и, кажется, на вообще всех, кроме корневой), ссылка "пользователи" показывает на

http://vitus.wagner.pp.ru/stilllife/users

, а не на

http://vitus.wagner.pp.ru/cgi-bin/forum/stilllife/users

Желающие могут сами проверить, куда идёт вторая, а куда первая. :-) Кстати, а в режиме "без разметки" ссылки распознаются? Вот сейчас и проверим...

15.04.2008 05:15 (ссылка) (в ответ на)
slobin.livejournal.com

Статус: Пользователь
Email:

Готовым конвертором html->plain text является lynx. ;-)

15.04.2008 05:09 (ссылка) (в ответ на)
slobin.livejournal.com

Статус: Пользователь
Email:

Немножко в сторону: авторы всех "упрощённых" языков разметки (да, я знаю, что у нас всё хранится в HTML, но) делают одну и ту же ошибку: как только дело доходит до возможности написать ссылку вовне, они придумывают синтаксис с url'кой прямо в тексте. Это и классический HTML с его a href, и вики с её [ссылка описание]. Это всегда очень неудобно. И только авторы reST (хотя, может, и не только -- я не утверждаю, что просмотрел _все_ проекты) сделали умнее:

For the syntax of URIs see RFC2396_ and RFC2732_.

(ниже, где угодно)

.. _RFC2396: http://www.rfc-editor.org/rfc/rfc2396.txt
.. _RFC2732: http://www.rfc-editor.org/rfc/rfc2732.txt

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

15.04.2008 04:58 (ссылка) (в ответ на)
slobin.livejournal.com

Статус: Пользователь
Email:

Уфф... Я этот текст уже набирал один раз, но он куда-то делся. :-( Вторая попытка:

Когда Витус только замышлял Коммунивер (на Спиридоновке дело было), я писал ему письмо, в котором предлагал идею разнесения сервиса структурирования информации (собственно CMS) и сервиса раздачи её читателям (обычный файловый хостинг). Тогда мне не пришёл в голову вариант CMS прямо на пользовательской машине, потому что я представлял себе модель использования "сравнительно немного (но больше одного) авторов и гораздо больше читателей". То есть на одном сервере мы можем запускать программы, но у нас сравнительно узкий канал, а другой -- файловый хостинг: отдаёт только статику, зато много. На самом деле деление на "авторов" и "читателей" проходит не по людям, а по транзакциям: человек может прочитать сотню страниц с быстрого тупого файлового сервера и потом написать одну на медленном, но умном. Помнится, я тогда не помнил слова "аутсорсинг" (то есть знал смысл понятия, но не помнил, как звучит), и предлагал путь развития Коммунивера как сервис структурирования информации с "это самое слово, Левенчук знает" её раздачи читателям. Найти бы сейчас то письмо...

15.04.2008 04:46 (ссылка)
slobin.livejournal.com

Статус: Пользователь
Email:
Это сбой в авторизации или я чего-то не понял? Когда я, не будучи залогиненым, нажал на "высказаться", она предложила мне формочку с именем пользователя и текстовым полем для самого сообщения (и ещё какие-то поля, я всех не запомнил). Я наивно думал, что, если указать там имя и набрать сообщение, то она авторизует меня в ЖЖ и сообщение запостит. Однако фигвам! Теперь всё заново набирать. :-( Это я чего-то не понял или это ошибка?

P.S. Чисто психологически неудобно без превьюшки.

15.04.2008 03:23 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

А готового конвертора нет разве?

15.04.2008 03:20 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

Да, сейчас понял, что у StillLife CMS есть парочка принципиальных (следующих из архитектуры) преимуществ для юзера (т.е. хозяина сайта). Причём как раз в секторе, где я. То есть я таки захочу в её бета тестеры, когда/если она будет.

Во-первых, меньше требования к хостингу - только cgi и некий один язык (как я понимаю perl?)

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

15.04.2008 03:16 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

...а тогда уж и линков заодно? Посмотрел на "изнанку" - увидел линки. Нажал кнопочку check all - увидел, какие линки дохлые.

14.04.2008 22:01 (ссылка) (в ответ на)
vitus

Статус: Отец-основатель
Email: vitus@wagner.pp.ru

А это идея - что изнанка HTML-документа должна содержать, в частности, список упоминающихся в нем картинок.
--

Сэр извращенец? Тогда вам на сюда
14.04.2008 19:28 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

...а ещё можно загрузить HTML, прожевать его, и выдать юзеру список отсутствующих картинок. Каждую из них можно будет либо загрузить вручную, либо удалить.

14.04.2008 19:27 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

Для _первой_ версии даже втягивание HTML без картинок (но с приведением к шаблону при сохранении всяких там выделений и внутренних линков) было бы очень хорошо.

14.04.2008 18:23 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru

Засада именно в том, что зааплоадить HTML вместе с картинками нетривиально. Вот odt или rtf - пожалуйста - там картинки внутри. в html все равно придется картинки грузить отдельно. Возможно, DAV-клиент в OO.o это умеет автоматизировать.
--

14.04.2008 14:17 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

Если я подготовил документ в текстовом процессоре, я и оглавление там сгенерирую. Насколько я понимаю, в OO.o я вполне сделаю корректные HTML линки. Но не уверен насчёт ворда.

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

14.04.2008 11:30 (ссылка) (в ответ на)
vitus-wagner.livejournal.com

Статус: Пользователь
Email: vitus@wagner.pp.ru
Вот возможность аккуратного импорта документа, подготовленного в текстовом процессоре, это ключевая фишка для CMS. Собственно, в первую очередь для таких документов и нужна функция генерации оглавлений.

Каким образом организовывать импорт -отдельный вопрос. Не исключено что для OO.o оптимальным способом будет поддержка DAV (чтобы делать Save As HTML прямо на сайт).

Универсальный вариант - копирование через clipboard всего документа в WYSIWYG-редактор в web-форме. Точно известно что это работает с вордом. Правда, в этом случае засада с картинками.

Аплоад документа через <input type="file"> - это необходимость на серверной стороне разбираться с форматами. Конечно, формат OO.o - вещь открытая и довольно простая для обработки. А с rtf уже имеется довольно большой опыт. Но в итоге конвертилка будет требовать столько же кода, сколько вся остальная CMS вместе с HTML::TreeBuilder


--

13.04.2008 05:44 (ссылка)
ramendik.livejournal.com

Статус: Пользователь
Email:

"Баг под вопросом" сейчас не повторился.

13.04.2008 05:41 (ссылка) (в ответ на)
ramendik.livejournal.com

Статус: Пользователь
Email:

Вкурил твой ответ внимательно. Пришёл к интересной мысли.

Мне всё-таки не нужно создание длинных документов прямо в CMS. ну и соответственно функции вроде оглавления в них.

Но не потому, что таких докмуентов не будет на сайте, а потому, что для таких документов я использую OO.org Writer. И если и сменю его - то на другую среду, созданную специально для создания таких вот длинных документов.

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

А сколь-либо длинные тексты я не пишу "на сайт", я их просто пишу как таковые. Они могут быть сначала размещены в одном сайте, потом на другом, а потом вообще в книге. Кроме того, длинные тексты я могу брать и у других авторов, у которых свои любимые инструменты, и в одном из типовых случаев _уже_ готовы сами тексты.

Создать более удобную, чем OO.org Writer и иже с ним (для меня это уже именно так, а вовсе не "Word и иже с ним"), систему подготовки длинных текстов можно. Я даже писал краткое ТЗ в своё время; там должна быть _только_ логическая разметка, но при этом - условно-визивиговое представление. Штука будет куда более легковесная, кстати.

Но это IMHO не должно иметь отношения к CMS, поскольку очень не хотелось бы ограничивать такую систему возможностями HTML. Она может работать с каким-то подмножеством DocBook или чем-то ещё в этом роде, и не должна быть привязана к понятию "сайт" - документ "самоценен" и может размещаться много где в много каком виде.

А от CMS хотелось бы штатного способа разместить "сторонний" документ, подготовленный в различных инструментах. В идеале - взять этот самый документ, но отформатировать в свой шаблон. Лично мне хватило бы такой обратотки ровно для исходника, полученного "родным" экспортом документа OO.org в HTML.

(На другую тему: я не смотрел standalone редакторы Web-форм, без CMS они мне не особо интересны. Просто нарезать какой-то HTML я и в OO.Org смогу).