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

Во первых, оказалось, что аяксовые виджеты без элементов li, то есть только теги ul, по мнению html валидатора не являются валидным кодом. Как же это исправить? Ну да, конечно, не вставлять теги ul. А как это сделать? сейчас шаблон виджета состоит из двух частей - обертки над элементами и шаблон элемента. Сами эти два шаблона не обязаны быть тегами ul и li. Например шаблон может быть параграфом с переводами строк или небольшой таблицей или ячейкой таблицы. Да все что угодно - блоголёт не ограничивает верстальщика в своих предпочтениях. Модель из двух шаблонов отлично работает при наличии элементов - никаких вопросов. Проблема возникает при отсутствии элементов, а именно при аяксовом режиме виджета, когда элементы (контент виджета) подгружается по клику. Также частично проблема возникает при отсутствии элементов и показе виджета. Пример такого - виджет друзей, при отсутствии друзей. Необходимо либо не показывать виджет совсем, либо показывать, но правильно. Как же быть? Вводить новую сущность? не хочется, так как чем больше сущностей, тем однозначно хуже. Пытаться анализировать html виджета? Еще более тупиковый путь, так как движок не является лингвистическим анализатором и не обязан понимать мысли верстальщика, если они отличаются от стандартных.

С другой стороны, новая сущность введена без деклараций, а именно - аяксовая ссылка в названии виджета. Эта сущность никак не отражается в шаблоне. Так что думаю, что можно в виджете выделить новую сущность - заголовок виджета. Эта сущность будет понятна, поскольку в неформализованном виде уже присутствует в шаблоне виджета. С другой стороны нет технической необходимости отделять название от всего шаблона, так по техническим причинам требуется отделить контейнер для элементов. Следовательно, скрепя сердце, придется экстрагировать секцию и по аналогии с секцией item назвать ее items. таким образом получится вот такой абстрактный шаблон виджета


<!--widget-->
<div class="widget">
<h2>%s</h2>
<!--items-->
<ul>
<!--item-->$title<!--/item-->
</ul>
<!--/items-->
</div>
<!--/widget-->

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

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