Статьи

Джефф Бауэрс на платформе FarCry

Хотя это больше известно как система управления контентом с открытым исходным кодом, FarCry на самом деле является мощной средой для создания приложений ColdFusion. Джефф Бауэрс, генеральный директор сиднейского Daemon и самозваный «доброжелательный диктатор», рассказывает нам о том, что заставляет FarCry тикать.

SitePoint: Джефф, можешь ли ты дать нам свой лифт? Кратко изложите суть FarCry в одном или двух предложениях.

FarCry Core — это фреймворк для веб-приложений, основанный на языке ColdFusion. FarCry CMS — это популярное решение для управления контентом, созданное с помощью FarCry Core. Как сообщество, мы предоставляем поддержку для фреймворка, CMS и множества плагинов сообщества, включая библиотеки для Google Maps, манипуляции с изображениями, бесплатный поиск текста и многое другое. Сообщество FarCry было сформировано в апреле 2003 года, когда Daemon open source поставил базовую платформу FarCry Core и соответствующее решение FarCry CMS. С тех пор FarCry выросла в одну из крупнейших баз кода ColdFusion с активным сообществом разработчиков по всему миру.

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

SP: Давайте копать немного глубже: расскажите нам больше об основных функциях.
Я расскажу о FarCry Core — фреймворке. Кроме того, FarCry CMS обладает всеми этими и другими функциями, заключенными в пример решения, которое устанавливается из коробки.

FarCry Core — это набор инструментов для создания веб-приложений, который содержит, помимо прочего, модель безопасности на основе ролей, объектно-реляционный картограф (ORM), брокер кэширования в памяти для объектов и представлений, полностью настраиваемую веб-панель администрирования, механизм formtools для быстрого создания пользовательских интерфейсов, полностью гибкая среда шаблонов и расширяемая архитектура подключаемых модулей для совместного использования кода. Это сложно объяснить одним-двумя предложениями, но каждая из этих функций представляет собой годы работы, которую разработчики могут использовать.

Одно из моих любимых — это «formtools», движок, который динамически создает ваш пользовательский интерфейс на основе атрибутов, которые вы прикрепляете к свойствам вашего базового компонента. Мы не говорим об основных формах HTML — это действительно богатая библиотека пользовательского интерфейса, которую можно беспощадно настроить так, как вы хотите. Formtools облегчает мне жизнь, но в то же время дает мне низкоуровневый доступ для написания собственного интерфейса для тех уникальных или уникальных элементов пользовательского интерфейса, с которыми я сталкиваюсь.

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

SitePoint: Как появился FarCry и какова была причина его создания? Как вы вовлечены?

Еще в 2002 году Daemon должен был принять решение о том, что делать с нашей базой кода: продавать другим поставщикам, наращивать маркетинг и конкурировать в качестве коммерческого поставщика, или строить бизнес, ориентированный на услуги, на базе открытого исходного кода? Мы не хотели рисковать финансовыми вложениями, необходимыми для наращивания маркетинга, особенно в середине «бомбы доткомов». Мы действительно предпочли нашу кодовую базу перед множеством поставщиков, которые обратились к нам за выкупом, и мы не могли даже подумать о том, чтобы увидеть наше решение в куче мусора ради меньшего предложения. В апреле 2003 года мы выпустили FarCry CMS под общей публичной лицензией, и у нас была возможность создать сообщество с открытым исходным кодом.

FarCry Core стал отличной базой кода платформы для выпуска v4.0, когда мы отделили решение для управления контентом от базовой структуры и добавили сложную архитектуру плагинов. Сама CMS сейчас очень популярный, но необязательный плагин.

Интересно, что название FarCry происходит от старого английского термина, когда преступники или посланники были отправлены в дальние края королевства, чтобы доставить королевское воззвание. Это подходящее название для платформы доставки веб-приложений!

Что касается моего участия, то я могу назвать вас «Доброжелательным диктатором». Я больше не ведущий разработчик проекта, но я все еще последний арбитр для того, что в конечном итоге делает его, а что нет в отношении изменений и улучшений функциональности, если когда-либо в сообществе есть иное несогласие. Я регулярно балуюсь базой кода, но большую часть времени провожу за сообществом, за написанием документации и за управлением базой ошибок. Недавно я собрал кучу отличных плагинов с открытым исходным кодом для ведения блогов и интеграции с Picnik.

SitePoint: Когда разработчик должен искать FarCry? Что это значит для этого?

Большинство разработчиков ищут FarCry CMS как средство для достижения цели: им нужно комплексное решение для управления контентом. Только после того, как они немного поиграли и создали свои собственные расширения, они начинают понимать, насколько мощной является базовая структура.

Разработчики должны рассмотреть FarCry Core, фреймворк для любого веб-приложения — это не просто CMS. Фактически, FarCry используется для создания сложных веб-приложений повсюду, включая CRM-системы, решения для электронной коммерции, онлайновые телегиды, интранет, службы каталогов и многое другое. А с растущим списком доступных плагинов становится еще проще начать работу с любым количеством сложных решений, практически «из коробки».

SitePoint: Каковы предварительные условия для использования FarCry? Есть ли какие-либо предварительные знания, которые помогут новым пользователям? Использует ли он какие-либо другие структуры, которые могут упростить или усложнить вещи?

Для FarCry нет никаких предварительных условий, хотя знание того, как программировать в ColdFusion, очевидно, помогает. Как и в случае с любым другим фреймворком, вам нужно делать все по-другому. FarCry Core описывает подход к организации вашего кода, используя базовые сервисы, доступные в библиотеке кода, и решая различные проблемы. Если вы боретесь с «FarCry Way», вы расстроитесь. Фреймворк очень важен для вас, и если вы можете заставить себя «отпустить», вы можете внезапно оказаться сверхпродуктивным. FarCry может быть абсолютной радостью работать с.

В отличие от других платформ в сообществе ColdFusion, которые работают друг с другом, чтобы сформировать более полное предложение, FarCry делает все это. Есть ORM, всеобъемлющий механизм кэширования, модель безопасности на основе ролей, модель вложенного дерева, шаблонизатор, механизм категоризации, архитектура плагинов и многое другое. Хотя мы думаем, что наша собственная кодовая база довольно крута, в некоторых более специфичных средах, таких как Transfer ORM и ColdSpring, предлагается отличная функциональность. Чтобы лучше использовать эти библиотеки, мы планируем серию плагинов для подключения сторонних фреймворков и обеспечения их большей доступности в среде FarCry.

SitePoint: Что отличает FarCry от других фреймворков?

Современная тенденция в средах ColdFusion заключается в том, чтобы заставить разработчика очень ориентироваться на объект. Под капотом FarCry в значительной степени опирается на концепции ОО, но прилагает все усилия, чтобы предоставить разработчикам менее пугающий интерфейс — более «холодный» стиль работы.

Возьмите, например, webskins; они аналогичны View в вашем классическом паттерне MVC. Если вам удобно работать с HTML, вы можете создать веб-оболочку FarCry. Просто поместите ваш шаблон в каталог webskins, и он будет автоматически зарегистрирован. Он поставляется со всеми данными для конкретного объекта, который вы отображаете, имеет доступ ко всем функциям родительского типа контента, библиотекой пользовательских тегов, помогающих создать ваш пользовательский интерфейс, и автоматически кэшируется в памяти. И еще есть «formtools» — движок, который динамически создает многофункциональные пользовательские интерфейсы для добавления и обновления контента без единой строчки кода. Конечно, во всех случаях, если вы хотите испачкать руки и написать код в более объектно-ориентированном стиле, вы можете это сделать.

SitePoint: Есть ли замечательные примеры FarCry «в дикой природе»?

Очень много! Вот три недавних проекта, в которых участвовал Daemon, и я думаю, что они особенные:

  • Клиника Мейо. Этот огромный медицинский сайт представляет собой общедоступный вид на знаменитую Клинику Мейо, в среднем около 2 миллионов страниц в день. Он построен из конца в конец в FarCry и представляет собой великолепный пример ColdFusion. Фил Трюсдейл из команды Mayo будет в Сиднее, чтобы выступить на конференции разработчиков webdu в июне.
  • Bluescope Steel — Bluescope Steel, одна из 20 ведущих австралийских компаний, использует FarCry во всех своих веб-ресурсах. Сайт Australian Products является, вероятно, одним из лучших промышленных / промышленных сайтов, которые я когда-либо видел. Он обладает огромной глубиной содержания, обширными перекрестными ссылками, красивыми изображениями, интерактивными инструментами, видео, интеграцией с Google Maps и подключен непосредственно к их колл-центру. Это также центр нескольких фирменных дочерних сайтов, которые используют точно такой же контент, но представлены совершенно по-разному. Bluescope серьезно настроен на свое присутствие в Интернете.
  • SelecTV — SelecTV — очень конкурентоспособная альтернатива платному телевизионному провайдеру FoxTel здесь, в Австралии. Сайт компании построен на FarCry и тесно интегрирован с внутренним механизмом клиентской подписки Websphere. Недавно мы собрали полномасштабный онлайн-справочник по телевидению с персонализированными руководствами, опциями печати и доставки в формате PDF, а также оповещениями о напоминаниях по SMS / электронной почте. Платформа FarCry используется от импорта каналов канала XML до сервисов членства и предоставления самого руководства.

SitePoint: А как насчет лицензирования, сообщества, поддержки и документации?

FarCry лицензируется в рамках Common Public License 1.0 . Вы можете создавать производные работы и делиться или не делиться, как вам нравится. В отличие от других лицензий с открытым исходным кодом, это то, что является коммерчески дружественным.

Мы всегда делаем все возможное, чтобы привлечь людей к сообществу FarCry, и с этой целью мы вложили значительные средства в обеспечение доступности FarCry на всех видах систем:

  • FarCry работает на Adobe ColdFusion, New Atlanta Bluedragon и Railo, включая различные серверы приложений ColdFusion, от коммерческих вариантов до бесплатных для использования сообществом.
  • FarCry поддерживает Linux, Solaris, Windows и OSX (практически все, на чем вы можете запустить сервер ColdFusion).
  • FarCry работает с серверами баз данных MySQL, Postgres, Oracle и MS SQL.

Само сообщество — яркое и дружелюбное место. Мы предоставляем столько услуг, сколько можем, чтобы помочь людям учиться, участвовать и видеть, что происходит в базе кода изо дня в день:

Недавно мы выпустили весь курс DaCmon для разработчиков FarCry (более 130 страниц) под Creative Commons. Мы надеемся, что это поможет разработчикам быстро ознакомиться с платформой.

И, конечно же, Daemon предоставляет широкий спектр услуг по коммерческой поддержке, разработке и обучению для компаний, инвестирующих в FarCry в качестве платформы для своего онлайн-бизнеса.

SitePoint: Что будет в будущем с FarCry?

Важная новость: релиз FortCry v5.0 «Fortress» выйдет в марте 2008 года — мы только находимся на финальной стадии бета-тестирования. Крепость качается! В Fortress появилось так много новых функций, одна из самых больших — тема безопасности, ее тезка. И мы продолжим выпуск этого огромного релиза с помощью серии плагинов, которые используют и демонстрируют многие новые базовые сервисы сборки Fortress.

SitePoint: Где люди могут найти больше информации о FarCry?

Лучше всего начинать с сайта сообщества и форумов разработчиков . Но если вы хотите отыграться и прослушать обзор FarCry, есть несколько предстоящих презентаций, которые могут представлять интерес:

FarCry Core Framework
cf.frameworks онлайн мастерская
27 марта 2008 г., 6-7 вечера (время Сиднея)
Онлайн семинар

Использование FarCry с ColdFusion
Adobe Pacific eSeminar
4 апреля 2008 г., 2-3 вечера (время Сиднея)
Онлайн семинар

Мастерская: FarCry 5.0 Jump Start
Конференция разработчиков webDU
11 июня 2008 г., Сидней, Австралия
Полный день Семинар