Часто задаваемые вопросы
Q: Где можно найти документацию по API шаблонизатора?
A: Документация содержится в исходном коде в формате Doxygen. Для построения документации в виде HTML, PDF или XML достаточно перейти в каталог проекта и запустить doxygen. Документация будет создана в каталоге doc/html.
Q: Я обновил версию библиотеки с 2.1.1 до 2.2.3 и теперь ничего не работает!
A: Двоичная совместимость гарантируется только для версий, отличающихся в номере патча. Версии, отличающиеся номером релиза могут быть несовместимыми (обычно, это указывается на официальной сайте). К примеру, все версии 2.2.X: 2.2.0, 2.2.1, 2.2.2 ... двоично соместимы друг с другом, но несовместимы с версиями 2.1.X (2.1.0, 2.1.1, ...). Чтобы все заработало, необходимо пересобрать все модули, зависящие от библиотеки CTPP2.
Q: Какую версию библиотеки считать самой стабильной?
A: Самая стабильная версия - последняя опубликованная.
Q: Как влияет на скорость работы шаблонизатора введение новых features, например, поддержки арифметических выражений?
A: Шаблонизатор построен на основе виртуальной машины, исполняющей заранее скомпилированный байт-код. Если вы не используете арифметические выражения в своих шаблонах, их, соответственно, нет и в байткоде. Поэтому скорость выполнения не меняется. Все то же самое относится и ко всем другим нововведениям.
Q: Что делать, если я не могу найти двоичные пакеты для своей системы?
A: В архиве с исходными кодами содержатся файлы для сборки двоичных пакетов для систем Debian, Fedora, RH EL, SuSe, CentOs, Gentoo и FreeBSD. Вы можете самостоятельно собрать пакет под свою систему. Как это сделать, описано в разделе "Установка".
Q: Поддерживает ли CTPP2 UTF?
A: Да, поддерживает. CTPP2 изначально разрабатывался как универсальный шаблонизатор без привязки к конкретной кодовой странице.
Q: Какая основная система разработки проекта?
A: Как таковой основной системы разработки нет. Каждая новая версия обязательно тестируется широким набором компиляторов под системами FreeBSD, Linux, Solaris, HP/UX и Windows. Для сборки на этих системах используется cmake.
Q: Что такое cmake и почему проект не использует autotools?
A: Cmake (http://www.cmake.org/) - кроссплатформенная система сборки проекта. В отличие от autotools, проекты на основе cmake проще в разработке и дальнейшей поддержке на разных платформах и архитектурах.
Q: Почему проект не обновляется на SourceForge?
A: Потому, что SourceForge неудобен как хостинговая площадка проекта. На Sourceforge есть только ссылка на основной сайт и минимальный набор кода и документаци для первоначального ознакомления с CTPP.
Q: Какова политика лицензирования CTPP?
A: CTPP распространяется под BSD-подобной лицензией. Это значит, что любой вправе использовать код CTPP для любых собственных или коммерческих целей и проектов без каких-либо гарантий со стороны команды разработчиков CTPP. Команда разработчиков выражает признательность за посильную помощь в разработке CTPP, но не требует обязательной публикации модифицированного исходного кода при распространении проектов, основанных на CTPP.
Q: Можно ли сменить лицензию проекта, например, на GPL, создав ответвление ("fork") какой-либо версии?
A: Нет, нельзя. В поставляемом коде указан прямой запрет на изменение политики лицензирования кода проекта. Вы можете пользоваться библиотекой в любых проектах независимо от их лицензии, однако вы не имеете права менять лицензию CTPP или использовать код CTPP без указания ссылки на авторов.
Q: Сколь долго поддерживается стабильный исходный код проекта?
A: Каждая предыдущая стабильная версия CTPP поддерживается до момента выхода следующей стабильной версии. Версии, начиная с которых сильно меняется API или внутренняя структура шаблонизатора, открыты только для исправлений ошибок. На данный момент таких версий две: 1.7.5 и 1.8.6.
Q: Что делать, если в коде обнаружилась ошибка?
A: Все зависит от того, что это за ошибка. Если вы считаете какое-либо поведение шаблонизатора неправильным, обратитесь к документации проекта. Вполне возможно, что ошибки на самом деле нет, а есть просто специфическое поведение проекта. Если же вы уверены в том, что такое поведение неправильно, вы можете исправить код самостоятельно или поставить в известность об ошибке коллектив разработчиков CTPP.
Q: Я знаю, как сделать лучше!
A: Если вы готовы помочь в развитии проекта, его портировании на другие системы или доработке функциональности - не стесняйтесь, пишите на email <reki@reki.ru>
|