?

Log in

Catalyst Web Framework
The elegant MVC framework

Alex Povolotsky posting in  The elegant MVC framework
User: tarkhil
Date: 2011-06-17 21:38
Subject: Дерева вы мои, дерева...
Security: Public
Есть дерево сообщений. Организованное, вестимо, в SQL.

Надо бы его отобразить в шаблон. Как это сделать рекурсивно с помощью TT, VIEW кувалды и чьей-то матери я понял.

Но.

1. Хочется как-то внятно контролировать количество показываемых сообщений
2. Хочется понять, как бы еще можно было сделать ЭТО.

Есть ли у кого идеи? Нечто о предвычислении размера ветки у меня есть, но пок

Инструментарий, есличто, Catalyst, DBIx::Class. DBIx::Class::Tree я, если честно, не понял. В ситуации, когда с деревом не нужно много манипулировать на изменение, не вижу от него большой пользы.
2 Comments | Post A Comment | Share | Link



Shoorick posting in  The elegant MVC framework
User: shoorick
Date: 2010-12-23 18:57
Subject: Catalyst::Model::DBI с поддержкой UTF-8
Security: Public
Mood:пора домой!пора домой!
Tags:perl
Практика показала, что использование DBIx::Class не всегда оправдано — трудно писать сложные запросы, да и количество выполняемых им лишних телодвижений удручает.

Среди альтернативных вариантов — использование DBI. Для него, естественно, на CPAN уже есть модель Catalyst::Model::DBI, однако её хелпер создаёт модуль, который (при работе с MySQL) не дружит с UTF-8. Что вполне поправимо: достаточно добавить в настройки подключения атрибут mysql_enable_utf8 и переопределить метод connect, добавив туда выполнение запроса SET NAMES utf8

Готовый вариант модели — https://gist.github.com/752990
9 Comments | Post A Comment | Share | Link



Andrei Chernov NanoGrid posting in  The elegant MVC framework
User: nanogrid
Date: 2010-12-08 08:28
Subject: Windows/StrawBerry/Catalyst
Security: Public
Приветствую.

Старый Mechanize ставится также с ошибками:
слет тестаCollapse )

В результате - этот пакет считается недоступным и Catalyst - не ставится.
5 Comments | Post A Comment | Share | Link



Andrei Chernov NanoGrid posting in  The elegant MVC framework
User: nanogrid
Date: 2010-12-07 12:51
Subject: Catalyst on StrawBerry/Windows - installation
Security: Public
Tags:tips
Приветствую, содруги!

Проапдейтил свой пост:
http://community.livejournal.com/ru_catalyst/16984.html

Может кто чего подскажет?
Лучше там, этот пост потом грохнем...

PS. VirtualBox поставил, пока не разобрался, но
4 Comments | Post A Comment | Share | Link



Alex Povolotsky posting in  The elegant MVC framework
User: tarkhil
Date: 2010-12-04 18:30
Subject: Грабли в Catalyst и/или URI::Escape::uri_unescape
Security: Public
Разбираясь в старой, но живой проблеме (пути из нескольких частей - /вот/такие - превращались в частично - до последней части - дважды UTF'нутые) в MojoMojo, я нашел место сбоя.

Путь передается ЧАСТИЧНО в %-кодированном виде (/%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B9_%D1%81%D1%82%D0%B5%D0%BD%D0%B4/чтототакое), возможно, это какие-то причуды javascritpt'а. В любом случае, %D0 и так далее воспринимается как НЕ UTF, и перекодируется в UTF. Результат получается достаточно страшен.

На этом моменте мой субботний запас мозга истощился полностью, и я спрашиваю совета более других людей.

Проблема проявляется в районе 176 строки MojoMojo::Schema::ResultSet::Page.
Post A Comment | Share | Link






Andrei Chernov NanoGrid posting in  The elegant MVC framework
User: nanogrid
Date: 2010-12-02 18:31
Subject: Catalyst on Windows - 2-я часть марлезонского балета ;-)
Security: Public
Приветствую!

Updated
Под StrawBerry имею сейчас:
---
> cpan Task::Catalyst
Database was generated on Mon, 06 Dec 2010 06:49:29 GMT
CPAN: Module::CoreList loaded ok (v2.36)
Catalyst is up to date (5.80029).

Read more...Collapse )
20 Comments | Post A Comment | Share | Link



Shoorick posting in  The elegant MVC framework
User: shoorick
Date: 2010-05-25 17:29
Subject: YAML — проблемы переноса каталистового сайта
Security: Public
Tags:perl
Пытаюсь переносить каталистовое приложение на новый сервер. Приложение должно читать свой конфиг из YAML-файла. При попытке запуска тестового сервера получаю сообщение об ошибке:
Error parsing /path/to/appname.yml: YAML::XS::Load Error: The problem:

    mapping values are not allowed in this context

was found at document: 1, line: 9, column: 11
Похоже, YAML::XS::Load ругается на строки:
rev: $Rev: 2211 $
date: $Date: 2010-05-04 17:27:58 +0600 (вт, 04 май 2010) $
При этом скрипт
perl -0777 -n -MYAML -MData::Dumper -e 'my @data=Load($_); print Dumper(@data)' appname.yml
успешно читает такой файл:
$VAR1 = {
        ...
        'rev' => '$Rev: 2211 $',
А скрипт, где -MYAML заменено на -MYAML::XS — нет.

Вроде, данные, о которые споткнулся YAML::XS::Load, мне не нужны — пока закомментировал их. Но сам факт такого поведения мне не нравится :-\

ОС в обоих случаях почти одна и та же — FreeBSD (правда, разных версий). YAML — 0.68 и 0.71. На старом сервере YAML::XS не установлен.
2 Comments | Post A Comment | Share | Link



User: cityfeet
Date: 2010-04-05 14:51
Subject: Deflators в FormFu
Security: Public
Здравствуйте.

Моя задача:
В базе данных в таблице есть поле типа SET. Хочется иметь для каждого элемента этого множества свой checkbox, которые были бы объединены в checkboxgroup.

В конфиг-файле формы я сделал такое поле:
<elements>
    name        flags
    type        Checkboxgroup
    label       Flags
    deflators   "+xxx::yyy::flags"
    <options>
      value     r_view
      label     user can view
    </options>
    <options>
      value     r_create
      label     user can create
    </options>
</elements>

xxx::yyy:flags - мой класс дефлятора, наследует от HTML::FormFu::Deflator. В него в качестве параметра поступает строка с флагами (например, "r_view,r_create"), установленными для данного row таблицы. Дефлятор должен сделать каждый чекбокс помеченным/непомеченным в зависимости от флагов.

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

Core дефляторы, которые выполняют похожую функцию (например, CompoundSplit), используют для каждого поля, которое они меняют, функцию $field->default(...). Но в checkboxgroup каждый чекбокс - это не field и вообще не класс, а просто хеш (не blessed). Так что не получается вызвать для каждого чекбокса функцию default.

Может, есть готовый пример на эту тему? Или какие-нибудь соображения?
Возможно, я вообще не тем путём пошёл, и это нужно делать не через инфляторы/дефляторы, а как-то по-другому?
4 Comments | Post A Comment | Share | Link



Alex Povolotsky posting in  The elegant MVC framework
User: tarkhil
Date: 2010-03-09 23:10
Subject: проблема с uri_for и utf8 - РЕШЕНА!
Security: Public
5.80021 2010-03-03 23:02:01 - в этой версии сделаны нужные правки. uri_for нормально понимает unicode! Всем апгрейдиться!)
Post A Comment | Share | Link



User: amf3tam1n
Date: 2010-02-19 00:56
Subject: Как организовать долговременный процесс в Catalyst
Security: Public
Обрисую задачу. Есть файлы размером около 300-400 метров текста, их необходимо загружать в базу. Подскажите, плиз, как можно реализовать такой процесс (желательно фоновый) на каталисте? В архивах модулей нашел Catalyst::Plugin::Scheduler, как вариант, подойдет, но хочется чтоб задача ставилась при нажатии на кнопку.
4 Comments | Post A Comment | Share | Link






browse
my journal
links
June 2011