SCn: Долой разметку MediaWiki! Сообщение Burov Alexander » 08 окт 2011, 15:33 Добрый день! Хочу снова вернуться к этой теме, хотя ранее она уже обсуждалась с кем-то лично. Суть: на мой взгляд, выбор разметки MediaWiki для использования в качестве SCn не является оправданным. Да, этот вид разметки текста широко используется благодаря таким проектам, как Wikipedia. Раз она используется в подобных проектах, где важно чтобы любой человек мог внести свою лепту, значит, казалось бы, она проста в понимании и удобна в использовании. Но! Это верно для упомянутой выше Википедии, где большая часть статьи - просто текст с элементами форматирования. Сделать таблицу с помощью такой разметки значительно проще, чем с тем же HTML, нет нагромождения тегов, все достаточно просто, красиво, удобно. В нашем же случае не используется ничего из простых и удобных средств. В нашем случае используется, я бы сказал, самое тонкое место этого языка разметки - шаблоны. Шаблоны в MediaWiki не являются ключевым элементом, ключевым является упрощение наиболее частоиспользуемых вещей. Нам достаточно хорошо подходит сама система MediaWiki по причине схожести ее презназначения и наших задач. Удобно, главным образом, то, что эту систему можно взять и сразу же начать что-то делать. Но язык разметки ее статей - это совсем не то, что нужно для написания SCn-статей. Это хороший узкоспециализированный язык, но SCn - не его специализация. На мой взгляд, наиболее подходящим форматом, для оформления SCn статей является XML. Вот основные моменты, которые, IMHO, обосновывают такой выбор: XML - это четко документированный формат, использующий международные стандарты; XML не накладывает ограничений на такие вещи, как порядок следования элементов (их атрибутов) и форматирование (добавление отступов и переносов строк); XML имеет реализации парсеров для всех современных языков программирования; Существует стандартный механизм преобразования XSLT, реализации которого встроены в браузеры, операционные системы, веб-серверы; Написав XML схему, можно получить поддержку (подсветка синтаксиса, автодополнение, валидация) документов своей специализации языка некоторыми редакторами. Основные достоинства были взяты отсюда (http://ru.wikipedia.org/wiki/XML). P.S. XML - это один из (по-моему) наиболее подходящих вариантов. Существуют и его аналоги, которые упоминаются в той же статье (такие, как YAML, JSON, SweetXML, XF). Суть не в том, что нужно использовать XML, суть в том, что не нужно использовать разметку MediaWiki для целей SCn. Конечно, есть и свои сложности - XML нельзя просто взять и использовать, необходимо реализовать парсер, который из XML документа будет делать красивую страницу. Но такая ли это проблема? Burov Alexander Сообщение davydenko » 08 окт 2011, 20:15 главный вопрос: насколько быстро и безболезненно мы сможем перейти на xml, чтобы успеть что-то сделать полноценное к февралю? davydenko Сообщение Burov Alexander » 08 окт 2011, 20:39 Мне кажется не совсем правильным начинать все с такого вопроса. Первым делом нужно решить - что все-таки подходит больше. А потом уже рассмотреть возможности по миграции - как лучше и когда. Аватар пользователя Burov Alexander Сообщение davydenko » 08 окт 2011, 21:45 Ну этот вопрос все-таки у нас является одним из важнейших) но согласна: сначала надо все взвесить. davydenko Сообщение admin » 08 окт 2011, 22:22 Доброй ночи! Вопрос поднят правильно! Теперешняя версия реализации SCnML появилась такой как есть лишь по одной простой причине - желание использовать старые наработки по шаблонам + сократить время на верстку, что было обусловлено нехваткой рабочих рук. Если говорить о проблеме перехода, то для сайтов, которые используют новую верстку (а их у нас 2,5: conf.ostis.net, геометрия и doc.ostis.net), этот процесс, я думаю, можно за разумное время автоматизировать до февраля так это точно. Для остальных сайтов к сожалению всё более печально, но тоже возможно в 2 этапа, переход на новую верстку и затем автоматическое преобразование. Останется лишь дело за малым продумать xml-вертску максимально близкой к новой текущей div верстке, чтобы функции mediawiki-парсера с функций можно было переделать на xml-теги. Плюсы, которые даст подобный подход выглядят очень привлекательно и в плане универсализации и в плане перехода на платформы отличные от mediawiki. И встает закономерный вопрос, у кого хватит времени на этой всей работой заняться? admin Сообщение DenisKoronchik » 09 окт 2011, 00:41 Вообще как мне кажется не важно как собран текст, какова разметка. Сама идея SCn кода глубже. Сам SCn код разработан так и задуман, чтобы его можно было читать по конечному виду. Тоесть надо разбирать уже готовый html, а как он получен дело другое. Шаблоны хороши тем, что пока SCn полностью не устаканился он часто меняется. К примеру, идентификаторы сделать курсивом при использовании шаблонов в разы проще. Лучше ориентироваться на то, что трансляция уже (в базу знаний прикладной системы (модель памяти)) идет для готового html (по сути и есть наш xml). А вот надо подумать как его быстро и качественно получать. Шаблоны хороши, повторюсь, из-за того, что с ними проще менять общие для всех вещи. Но парсинг xml задача не из легких и какова будет нагрузка на сервер. Редактирование и парсинг должны происходить средствами медиавики. Редактировать во вне плохо ибо сама распределенность которую дает медиавики теряется. DenisKoronchik Сообщение Burov Alexander » 09 окт 2011, 15:43 DenisKoronchik писал(а):Сам SCn код разработан так и задуман, чтобы его можно было читать по конечному виду. Тоесть надо разбирать уже готовый html, а как он получен дело другое. Во-первых, по-моему, разбирать HTML - это очень плохой подход. Безусловно все стараются разделять разметку данных и их оформление (данные в HTML, оформление в CSS), но тут вопрос в том насколько хорошо это получается. Ведь, на самом деле, внешний вид страницы во многом зависит от ее HTML кода, что скорее всего повлечет изменение этого самого HTML-кода рано или поздно. Так зачем связывать себе руки в плане оформления, фиксировав HTML разметку? Кроме того, HTML (как было сказано Вами) по сути и есть XML, однако HTML это специализация XML, лишенная расширяемости. И хотя с помощью HTML можно разметить что угодно, это просто глупо - как копать яму палкой, когда лопата рядом стоит. Во-вторых, вот это самое "дело другое". Оно-то другое, но очень важное для тех, кто эти статьи пишет. DenisKoronchik писал(а):Шаблоны хороши тем, что пока SCn полностью не устаканился он часто меняется. К примеру, идентификаторы сделать курсивом при использовании шаблонов в разы проще. Шаблоны - это связующее звено между тем, что набирает человек, пишущий статью и тем, что видит читатель. При использовании того же XML это звено никто не отменяет. Преобразование от XML к HTML все равно будет происходить в той или иной форме. DenisKoronchik писал(а):Но парсинг xml задача не из легких и какова будет нагрузка на сервер. Редактирование и парсинг должны происходить средствами медиавики. Редактировать во вне плохо ибо сама распределенность которую дает медиавики теряется. Парсинг XML действительно непростая вещь, но во-первых я не знаю сложности парсинга разметки MediaWiki, а во-вторых нужно учитывать тот факт, что парсеры XML уже реализованы и оптимизированы везде где только можно, и вряд ли парсер MediaWiki, написанный на PHP (который как известно интерпретируется) сможет сравниться с ними в скорости. А вот что за распределенность, которая потеряется если редактировать статью вне MediaWiki, мне неизвестно. Burov Alexander Сообщение DenisKoronchik » 09 окт 2011, 17:20 Идея SCn по реализации с отступами похожа на python. Дело в том, что SCn текст может выглядеть только многоуровневым. Поэтому html тут если и будут варианты то очень мало, остальное на себя берет css. И как написан объект курсивом или другим цветом по сути не важно. Важно что если мы ссылаемся на объект, то там будет ссылка тег . Если же ориентироваться на разметку типа википедии или сторонний xml, то таких вариантов может быть уйма. И каждый сайт может использовать свой вариант. Тогда чтобы они работали сообща надо делать N трансляторов. Если же брать за основу выходной html, то транслятор всего один. И не надо изобретать велосипед, тогда можно сайты строить на имеющихся технологиях. Хоть завтра, хоть сегодня. Что касается перехода, то он не целесообразен до февраля. Ибо мы не сможем все системы перевести на это. Можно только тестировать где-то. А системы должны работать к февралю и транслятор нужен, поэтому тут не стоит спешить. Как мне кажется сама идея SCn в том и хороша, что неважно как будет получен результат с помощью чего но он читабелен и человеку и машине. И ориентироваться надо на конечный результат, чтобы значительно упростить дальнейшую поддержку и интеграцию различных систем. DenisKoronchik Сообщение Burov Alexander » 09 окт 2011, 17:57 DenisKoronchik писал(а):Идея SCn по реализации с отступами похожа на python. Дело в том, что SCn текст может выглядеть только многоуровневым. Поэтому html тут если и будут варианты то очень мало, остальное на себя берет css. И как написан объект курсивом или другим цветом по сути не важно. Важно что если мы ссылаемся на объект, то там будет ссылка тег . За тот небольшой промежуток времени, что существует SCn, уже произошло одно кардиналоное изменение HTML верстки - от табличной к блочной. А если учесть что сам HTML развивается, то изменения будут точно. Кроме того HTML отличается от SCnML по своему предназначению, он служит, как ни крути, для оформления документов (имею ввиду структурное оформление - таблицы, списки, абзацы и т.п.). Тег действительно хорошо подходит и к нашей системе, но это одно из немногих пересечений. В остальном же, в HTML содержиться куча вещей, которые остануться незадействованы, а другой кучи будет не хватать и ее придется заменять всяческими изворотами с помощью CSS классов (что неправильно само по себе) или идентификаторов (что и не правильно, и неудобно). DenisKoronchik писал(а):Если же ориентироваться на разметку типа википедии или сторонний xml, то таких вариантов может быть уйма. И каждый сайт может использовать свой вариант. Тогда чтобы они работали сообща надо делать N трансляторов. Если же брать за основу выходной html, то транслятор всего один. И не надо изобретать велосипед, тогда можно сайты строить на имеющихся технологиях. Хоть завтра, хоть сегодня. Вот тут уже все засисит от подхода. Лично я считаю, что необходимо сначала разработать базовую схему XML, позволяющую описывать любые SC-конструкции, после этого уже обобщать сложные структуры в более специализированные. Каждая система будет содержать свою схему, опирающуюся на базовую. Т.е. транслятор останется один (чего, кстати говоря, сейчас нет). И говорить об изобретении велосипеда можно скорее используя HTML, который для таких вещей не предназначен, чем XML, который по сути своей является расширяемым и имеет мощные средства, помогающие в его специализации и использовании. DenisKoronchik писал(а):Как мне кажется сама идея SCn в том и хороша, что неважно как будет получен результат с помощью чего но он читабелен и человеку и машине. И ориентироваться надо на конечный результат, чтобы значительно упростить дальнейшую поддержку и интеграцию различных систем. Вот именно! Именно об этом тут речь и идет. Для целей SCn неважен формат SCnML, потому как это средство, а не цель. Но вот в целях упрощения поддержки и интеграции различных систем XML намного выгоднее. Burov Alexander Сообщение DenisKoronchik » 09 окт 2011, 18:22 тоесть идея в том, что мы придумаем замену html? И всех заставим бросить его? Не кажется ли это немного странным? SCn был придуман для поддержки в современных технологиях. Как только мы четко не специализируем выходной формат в html, (пускай будут блоки, но надо четко зафиксировать, что такие то блоки так то и так-то) мы дадим возможность поисковикам и прочим системам понимать информацию. Если использовать свой xml, то как поисковик к примеру будет понимать? Речь о том, что сначала надо четко специализировать в какой форме будут выходные данные на html. Если это не сделать то вообще нет никакого смысла в SCn на текущий момент. Еще раз повторюсь он придуман чтобы быть понятным даже при распечатке на бумагу. Или при просмотре в браузере или же машине. Не важно. А сделать это реально если будет четко специфицирован выходной формат. Что на входе не важно вообще, хоть scs, хоть SCnML, хоть SCg. Это вопрос номер два, который не решить без решения вопроса номер один. DenisKoronchik Сообщение Burov Alexander » 09 окт 2011, 19:22 При чем тут HTML? На нем как будто свет клином сошелся. Если говорить о выходном формате, то, по-моему, XML тут тоже лучше чем HTML. Для визуального отображения XML есть такая вещь, как XSL (eXtensible Stylesheet Languag). Простейший пример. Вот есть инструкция (http://buriks.ru/xml/install.xml) по установке мода для данного форума. Если посмотреть исходный код - то это XML. При этом пользователь видет то, что понятно ему, машина видит XML, который может быть привязан к своей схеме (в этом примере этого, но там это и не нужно), что сделает его понятным этой машине. Если говорить о поисковиках, то они так же не знают наши договоренности (нашу спецификацию) относительно трактовки HTML, как и нашу спецификацию XML. А в целом, они так же хорошо работают с XML, как и с HTML (взять хотя бы различные rss-трансляции). Но сейчас я, в первую очередь, говорю о непосредственно формате SCnML, который используется на данный момент. Суть предложения в изменении формата SCnML с вики-разметки на XML. Burov Alexander Сообщение DenisKoronchik » 09 окт 2011, 20:16 О чем идет речь на текущий момент понятно. Но нельзя сейчас заменить SCnML на XML просто так не подумав как он будет отображаться. Ибо еще раз повторю для SCn принципиально отображение. Что касается XSL, где происходит обработка его? Как я понимаю есть Stylersheet который преобразует XML к примеру в html или другой XML. Значит происходить это будет на сервере. Речь о том, что чтобы понять какой XML использовать (какие будут теги, атрибуты и прочее) надо сначала специфицировать что будет на выходе. Как можно думать о том, каким будет язык программирования и какой лучше сделать синтаксис, если не знаешь какие программы будут писаться и во что они будут компилироваться. Речь собственно об этом. Что касается современных поисковиков то проблема в следующем. Если наш сайт отдает html, то как бы проблем для них нет, если отдает наш xml тоже проблем нет. В обоих случаях надо их учить понимать информацию. Проблема в браузерах, если мы будем отдавать им xml, то это уже плохо. С html в этом случае все будет проще. Если хочешь, то я говорю о том, что html это как внешний язык на котором такие системы могут между собой общаться и плюс его в том, что он спокойно поддерживается для отображения современными браузерами. DenisKoronchik Сообщение Burov Alexander » 09 окт 2011, 21:20 DenisKoronchik писал(а):О чем идет речь на текущий момент понятно. Но нельзя сейчас заменить SCnML на XML просто так не подумав как он будет отображаться. Ибо еще раз повторю для SCn принципиально отображение. Что касается XSL, где происходит обработка его? Как я понимаю есть Stylersheet который преобразует XML к примеру в html или другой XML. Значит происходить это будет на сервере. Обработка может происходить как на стороне клиента, так и на стороне сервера. Все современные браузеры поддерживают (http://www.w3schools.com/xsl/xsl_browsers.asp) XSLT (это подмножество XSL, которое как раз и проилюстрировано на том примере). DenisKoronchik писал(а):Речь о том, что чтобы понять какой XML использовать (какие будут теги, атрибуты и прочее) надо сначала специфицировать что будет на выходе. Как можно думать о том, каким будет язык программирования и какой лучше сделать синтаксис, если не знаешь какие программы будут писаться и во что они будут компилироваться. Речь собственно об этом. Что касается языков программирования, то, по-моему, не очень важно во что он будет компилироваться. Важно отразить в этом языке аппаратные возможности системы. Аналогично могу сказать, что главным в этой XML разметке является четкое представление данных, т.е. опираться нужно именно на структуру данных. Для любой машины наиболее понятной будет именно такая разметка. Что же касается человека, то применив XSL трансформацию можно получить абсолютно любое представление, будь то HTML или что-то еще (PDF, документ Word, RDF, RTF, CSV и т.п.). DenisKoronchik писал(а):Что касается современных поисковиков то проблема в следующем. Если наш сайт отдает html, то как бы проблем для них нет, если отдает наш xml тоже проблем нет. В обоих случаях надо их учить понимать информацию. Проблема в браузерах, если мы будем отдавать им xml, то это уже плохо. С html в этом случае все будет проще. Если хочешь, то я говорю о том, что html это как внешний язык на котором такие системы могут между собой общаться и плюс его в том, что он спокойно поддерживается для отображения современными браузерами. Не вижу причин считать, что для браузеров HTML лучше, чем XML. Как я уже писал выше, XSL поддерживают все современные браузеры. Ну а если, по какой-либо причине, все же нужен HTML, то это, как я уже говорил, не составляет особых проблем. И давайте не будем говорить в данный момент о каких-то конкретных сроках перехода и т.п. Насколько можно судить по ответам в данной теме, а также по моим личным обсуждениям с некоторыми знакомыми, смысл перейти с вики-разметки на XML есть. Отсюда могу сделать вывод, что начать какие-то работы в этом направлении однозначно стоит. Переход на XML - процесс который хорошо поддается автоматизации, а это означает, что никаких крупных жертв не придвидется, для этого не придется сажать, скажем, весь второй курс за ручное переделывание всех статей. Поэтому наполнение баз знаний будет продолжаться своим ходом и если к февралю 2012-го, по каким-то причинам, XML вариант не будет готов, то абсолютно ничего не случиться - просто на конференции будет представлен текущий вариант. Спорить тут можно достаточно долго. Даже более того, этими спорами можно так и не прийти к единому мнению. В Ваших сообщениях уже появились упоминания сроков перехода, пошла речь о более конкретной спецификации XML, откуда можно сделать вывод, что, в целом, против перехода Вы ничего не имеете. Так что, я предлагаю считать тему исчерпанной и подвести итог: попробовать стоит. Burov Alexander Вернуться наверх Re: SCn: Долой разметку MediaWiki! Сообщение DenisKoronchik » 09 окт 2011, 21:48 Показываться будут не только системы в веб, но и системы десктопные, для которых нужен траслятор. Этот транслятор не возможно написать не имея спецификации. Тема не исчерпана в пятницу мы ее обсудим в 11.40 всей командой. DenisKoronchik Сообщение Burov Alexander » 09 окт 2011, 22:03 DenisKoronchik писал(а):Тема не исчерпана в пятницу мы ее обсудим в 11.40 всей командой. Это предложение? Вся команда уже в курсе? Burov Alexander Re: SCn: Долой разметку MediaWiki! Сообщение DenisKoronchik » 09 окт 2011, 22:48 завтра будет в курсе. И вы приходите :) DenisKoronchik Сообщение Burov Alexander » 09 окт 2011, 23:17 Я прийду обязательно, но время, наверное, называть несколько преждевременно, раз остальные еще не в курсе. Burov Alexander Сообщение DenisKoronchik » 10 окт 2011, 11:15 Все будут в это время. Это 100% DenisKoronchik