Категорія: ColdFusion 9

 

Новини CF-OpenSource v14

Оновлення продуктів та додатків

Model Glue 3.1 Release Candidate

New Official Release - Model-Glue 3.1

Вийшов новий випуск популярного фреймворку. Він містить чималу кількість виправлень та покращень, повний список яких можна переглянути за першим посиланням.

ColdDoc 1.0 Alpha Released

Марк Мендел робить короткий огляд планів щодо першого повноцінного релізу його системи для автоматизації документування.

Salsa 1.0

Додаток, що замінює редактор на Markdown в Mango Blog.

Prettify 1.0

Втілення підсвітки синтаксису з prettify.js для Mango.

<cfscrum> 0.01

Позиціонується як проект для управління процесом розробки з використанням Agile/Scrum методик. На момент написання публікації чомусь було відсутнє посилання до завантаження.

Google Translation API CFC

Назва говорить сама за себе.

ColdBooks

Компонента для втілення можливостей API Intuit QuickBooks. Яких саме, пропонується дізнатися з документації.

IMAP Watcher Event Gateway

Компонента для організації взаємодії з IMAP-шлюзом.

SNMP Event Gateway

Компонента для організації взаємодії з SNMP-шлюзом.

Alagad Image Component

Колись комерційний продукт для роботи з малюнками зроблено вільним, очевидно завдяки розповсюдженю CF8+, де ці можливості втілені на рівні мови.

Alagad Captcha Component

Ситуація аналогічна попередньому записові.

cfCalais – A Coldfusion tag to easily create semantic data

Мітка для додавання семантичної розмітки для даних на сторінках сайту.

Mach-II Simplicity (1.8) Released

Випущено нову версію популярного фремворку.

 

Різні оновлення та повідомлення

Trying out the CFWheels framework

Звіт про експерименти початківця з CFWheels.

Front Controllers Should NOT Extend Application.cfc

Барні Бувер пропонує подискутувати щодо потреби наслідування Application.cfc на прикладі FW/1

Using JavaLoader in Mach-II

Замітка розповідає про те, як можна вбудувати JavaLoader до проекту на Mach-II.

ColdFusion Query of Query tips and tricks

Ендрю Мерсер ділиться деякими знахідками та підказками з використання QoQ.

Cache Template in Request Setting Explained

Піт Фрейтаґ пояснює особливості цієї нової можливості CF9.

Автор: Сергій Галашин | Опубліковано: 14.03.2010 о 11:18 | Категорії: ColdFusion 9 - Community - Discussions - Frameworks - FW/1 - Links - MachII - Model-Glue - News - OpenSource - RIAForge -

 

Установка Coldfusion и Railo на одном J2EE сервере на примере Glassfish

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


Читати далі...
Автор: Родион Быков | Опубліковано: 01.03.2010 о 01:21 | Категорії: ColdFusion 9 - Glassfish - Railo -

 

Cumulative Hot Fix 1 for Coldfusion 9

Ось і прийшов час для випуску першого набору оновлень для ACF9. Він містить невелику кількість патчів для баґів, знайдених з моменту релізу та рекомендується до застосування в першу чергу тим, хто потерпає від описаних проблем. Жодних критичних оновлень він не містить.

Автор: Сергій Галашин | Опубліковано: 20.02.2010 о 18:00 | Категорії: ColdFusion 9 - Security - Adobe -

 

Glassfish как application server для Сoldfusion

Достаточно много критики поступает в редакцию Adobe за использование во все стороны устаревшего сервера приложений JRun4. Вероятно в 10 версии Coldfusion будет использоваться другой сервер. Но необязательно ждать, уже сейчас можно облегчить себе жизнь. Например, поступить как описывает Пол Кукель (Paul Kukiel) в этом посте. Суть проста - установить сервер приложений Glassfish, и установить Coldfusion как WAR-приложение внутри "стеклорыбы". Кроме того, Railo тоже можно скачать как WAR-приложение и использовать вместе с Glassfish. Самое приятное, что настроив в Apache два виртуал-хоста, можно использовать Coldfusion и Railo вместе на одной машине - только различать их по имени хоста. При этом, связка GF+CF+Railo работает действительно быстро, субъективно, но я уверен, что точные тесты покажут ускорение объективно.

Автор: Родион Быков | Опубліковано: 09.02.2010 о 16:09 | Категорії: ColdFusion 9 - Glassfish - Railo - Tips -

 

Важливе оновлення безпеки для ACF9 (CVE-2010-0185)

Вчора було опубліковано інформаційний бюлетень з безпеки від Adobe, що повідомив про появу виправлення для вразливості в Solr.

Вразливість заключається в тому, що будь-хто може дістатися до колекції знаючи URL спеціального формату.

Adobe позначила вразливість як важливу та настійливо рекомендує вжити заходів для виправлення, що докладно описані в публікації How to limit access to the Solr collections

Автор: Сергій Галашин | Опубліковано: 30.01.2010 о 13:12 | Категорії: Adobe - ColdFusion 9 - Security -

 

Інтерв'ю Хеманта Хенделвала та Тодда Шарпа для RIA DZone

DZone продовжує активно спілкуватися з цікавими людьми зі світу ColdFusion.

Ми вже згадували про інтерв'ю з Фортою та Менделом, тепер коротко про ще два.

Хемант Хенделвал, головний інженер в команді ACF та CFB, розповів про трохи свою роботу та детально про деякі оновлення, що з'явилися в CF9.

Тодд Шарп, розробник SlideSix.com -- спільноти для обміну слайдами, розповів про суть спільноти та технічні сторони її розробки.

Обидві бесіди можна переглянути у відео-записі, або прочитати розшифровку.

Автор: Сергій Галашин | Опубліковано: 17.01.2010 о 14:56 | Категорії: Adobe - ColdFusion 9 - ColdFusion Builder - Interview - Video -

 

Новини CF-OpenSource v10

Оновлення продуктів та додатків на RIAForge

 

cfRhino 0.3.4

Новий MVC фреймворк.

jTidy CFC 1.2

Компонента, що за допомогою jTidy ковертує текст до валідного xHTML.

cfturbine 1.2_BETA

Двигунець для створення прототипів, що реалізує принципи scaffolding.

SQLiteCFC 1.1a

Компонента для безпосередньої взаємодії з SQLite базою без участі JDBC, реалізує стандартні операції, вміє зберігати набір CF даних безпосередньо в таблицю SQLite.

CFC2UML 0.6

Додаток для експорту мета-даних компоненти до XML-файлу, що може бути імпортований до редактора UML.

Deadwood 1.0

Додаток для пошуку зайвих CFM-файлів в директоріях проекту. Навряд чи буде корисним у випадку використання фреймворків, бо базується на пошуку безпосередніх підключень (cfinclude) сторінок.

YelpCFC .1

Втілення API рекомендаційного сервісу Yelp.

Collection Iterator 1.0

Втілення механізму ітератора для складних типів даних.

cfBCove 1.0

Втілення API сервісу хостингу онлайн-відео Brightcove.

Linked List 2.1

Втілення складної структури даних: зв'язаний список.

i18n 1.0

Бібліотека для інтернаціоналізації додатків, потребує CF9.

Fixed File Reader 1.0

Вельми корисна бібліотека, що дозволяє не зациклюватися на XML як форматі для обміну даними, але й підтримувати вже існуючі складні текстові формати (як EDI чи VCF4).

easyImages 0.8

Бібліотека, що реалізує базові операції з малюнками.

Smartermail API wrapper + UI 1.0

Втілення API програмного комплексу Smartermail.

 

Кілька нових додатків для Mango

 

OpenSearch Plugin 1.0

Розширення для вбудови пошуку блогу в пошукове вікно оглядача.

Google Translation Widget

Додає вказаний віджет до сайту, щоб читачі могли швидко перекладати вміст за допомогою перекладача Google.

Social Links 1.0.1

Додає блок зі швидкими посиланнями на популярні соціальні веб-сайти, наприклад Facebook чи Twitter.

PowerMail 1.0

Дозволяє надсилати листи з блогу (наприклад, сповіщення про коментарі) через SMTP, що вимагають TLS/SSL з'єднання.

twitpics 1.0

Реалізує включення малюнків з Twitpics в бічну панель блогу.

 

Різні оновлення та повідомлення

 

Model-Glue Training Course

Розробники фреймворку Model-Glue опублікували тренувальний курс для новачків.

Mach-II Simplicity (1.8) RC2 Released

Черговий крок до випуску нової версії Mach-II

ColdFISH 3.0 Alpha Released

Ще один популярний продукт готується до випуску нової версії. Це додаток для підсвітки синтаксису від Джейсона Делмора, що використовується зокрема в BlogCFC.

Fusebox Scaffolder Alpha 3

Кілька оновлень отримав і додаток, що втілює scaffolding для Fusebox.

Implicit Blocks in Fusebox 5.5.1

Патч для Fusebox, що дозволяє обійтись без зайвих true міток, коли в if-блоці немає false.

Portcullis 2.0 released

Оновлено бібліотеку для захисту додатків від SQL-ін'єкцій та XSS атак.

 

Автор: Сергій Галашин | Опубліковано: 17.01.2010 о 13:19 | Категорії: ColdFusion 9 - Frameworks - Fusebox - MachII - Mango Blog - News - OpenSource - RIAForge -

 

Покращуючи CFScript

Шон Корфілд розповів про те, як відбувається еволюція CFScript. Він навів приклад того, як було втілено функції в різних серверах застосунків та роль CFML Advisory Commitee. Ми вже колись згадували про цю тему.

Що цікаво, я вже довгий час сповідую синтаксис, аналогічний до наведеного прикладу ColdBox: класичне визначення cffunction+cfargument, а тіло на cfscript.

Треба відмітити, що до широкого використання нового синтаксису ще далеченько, аж поки CF9 та Railo не займуть достатньо велику частину ринку. До того часу доведеться писати сумісний з CF8 код, щоб забезпечити собі спокійний тил.

Автор: Сергій Галашин | Опубліковано: 30.12.2009 о 09:54 | Категорії: CFML - CFScript - ColdFusion 8 - ColdFusion 9 - Railo - Subjective -

 

Чат з Марком Менделом в Java DZone

Не так давно до DZone завітав Бен Форта, тепер це зробила й людина, про котру ми доволі часто згадуємо. Це Марк Мендел, розробник JavaLoader та Transfer ORM.

Як заведено, Марк спочатку розповідає деякі загальні речі про себе, зв'язок Java та ColdFusion та ORM, потім бесіда переходить до обговорення принад інтеграції, використання ORM з ACF9 чи Transfer, та короткого пояснення можливостей JavaLoader.

Про все це докладніше в Tech Chat: Mark Mandel on ColdFusion and Java Integration

Автор: Сергій Галашин | Опубліковано: 25.12.2009 о 07:33 | Категорії: ColdFusion 9 - Interview - Java - ORM - Transfer -

 

Application.cfc на CFScript

Всі CF-розробники знають про Довідку з Application.cfc від Рея Кемдена, що довгий час є дороговказом для учасників спільноти.

Стів Блейдс зробив аналогічну річ для CF9, написану на чистому CFScript.

Додавайте в закладки :)

Автор: Сергій Галашин | Опубліковано: 10.11.2009 о 08:18 | Категорії: ColdFusion 9 - Blogs - HOWTO - CFScript -

 

Деякі відмінності між Verity та Solr

Реймонд Кемден в формі конспекту розповів про ключові відмінності між новим пошуковим двигуном Solr для CF9 та його попередником -- Verity.

Серед основних можна відмітити значне покращення швидкодії, зникнення обмежень на розмір індексу, уніфікацію пошуку за регистром -- завжди в нижньому, зміни в синтаксисі запитів (+/- замість AND/NOT), заборона використання шаблонів (?/*) на початку запиту, відмова від previousCriteria -- але QoQ нікуди не дівається.

Трохи детальніше про ці та інші зміни в замітці Кемдена.

Автор: Сергій Галашин | Опубліковано: 31.10.2009 о 19:11 | Категорії: ColdFusion 8 - ColdFusion 9 - Gotchas -

 

Adobe ColdFusion 9 хостинг від Hostek.com

Компанія Hostek.com одною з перших запропонувала CF9 хостинг. Я не великий шанувальник shared-хостингів для CF, але треба відзначити їхню оперативність та доступність тарифних планів. Крім цього, вони мають доволі м'яку політику щодо заборон синтаксису CFML та ряд додаткових пропозицій.

Автор: Сергій Галашин | Опубліковано: 31.10.2009 о 18:47 | Категорії: ColdFusion 9 - Hosting - News -

 

Начало работы с MachII+Coldspring

Интересующийся разработчик знает, что для Coldfusion существует стопятьсот фреймворков (навскидку Fusebox, Mach II, Coldbox, FW/1), и в настоящее время без фреймворка начинать разрабатывать просто некошерно. На страницах нашего уютного бложека мы попробуем освещать популярные фреймворки. Для затравочки начну с описания Mach II, с самого начала работы с ней (ним ?).

Начало работы с Mach II взято из этой статьи (via) с небольшими изменениями. Все сводится к этому:

1. скачать и развернуть код собственно Mach II, Dashboard и Coldspring, добавить маппинги в CF Administrator:

  • /coldspring
  • /MachII
  • /MachIIDashboard

Код этих трех я расположил вне корня веб-сервера и настроил маппинги, чтобы все проекты использовали одну версию фреймворка и чтобы Mach II не путался под ногами в корневой папке.

2. Код Skeleton развернуть в корень веб-сервера.

3. В файле /skeleton/config/mach-ii.xml подправить:

а) раскомментировать подключение Coldspring (mach-ii_coldspringProperty.xml) в разделе includes

б) добавить модуль с Dashboard

в) изменить свойство applicationRoot в разделе properties

г) открыть сайт в браузере и радоваться.

Упомянутый в статье баг CF 9 № 78588 починен и MachII полноценно работает под CF9 без всяких "но и если".

 

Автор: Родион Быков | Опубліковано: 29.10.2009 о 09:14 | Категорії: ColdFusion 9 - HOWTO - Links - MachII -

 

Що обрати для Client Storage: Registry чи Datasource

Марк Кругер докладно розповів про те, чому потрібно запобігати використанню реєстру для зберігання клієнтських змінних (client variables).

Він навів приклад, коли за кілька місяців (за умовчанням 90 днів) Adobe ColdFusion починає періодично очищувати реєстр (знову-таки, за умовчанням кожні 67 хвилин), що призводить до несподіваних "залипань" сервера.

Цікаво, що ця проблема стосується й Linux, де реєстр просто емулюється в текстовому файлі (/coldfusion8/registry/cf.registry).

Він слушно зауважив про те, що напевно запобігти використанню цих змінних дуже складно, навіть якщо розробник запевняє, що не користується ними.

Тож він пропонує використати окрему базу (MySQL чи SQL Server цілком підійдуть) та відповідне джерело даних (datasource) для зберігання клієнтських змінних -- з прикладами, та наводить кілька порад щодо ефективного використання цьго методу.

Насамкінець він розповідає про кілька проблем, що можуть спіткати на шляху впровадження цієї оптимізації, особливо коли це стосується налаштувань вже робочого серверу.

Про все це докладно та з прикладами читайте в дописі Марка.

 

 

Автор: Сергій Галашин | Опубліковано: 28.10.2009 о 11:11 | Категорії: Blogs - ColdFusion 8 - ColdFusion 9 - Gotchas - Performance -

 

Новини CF-OpenSource v6

Нові продукти та оновлення

CFML Admin API

Система для програмного керування налаштуваннями CF сервера, такими як датасорси, мапінги, шляхи до кастом теґів. Підтримуються Adobe ColdFusion 7/8/9 Railo 3.1, OpenBD 1.1

cfUpdater - Manager for ColdFusion Updates

Компонента для спрощення процесу оновлення Adobe ColdFusion версій 7/8/9

CFGoogleTrends

Конвертація Google Trends RSS в CFML масив.

trac-cfc

Рання альфа компоненти для взаємодії CF з Trac (популярною системою баґтрекінгу з wiki).

CFShell

Клієнт на Python + CFML скрипти, що дозволяють інтерактивно виконувати CFML код в консолі. Дещо сумнівна щодо практичної користі, але цікава розробка.

wp2blogcfc

Утиліта для міграції блогу з Wordpress на BlogCFC.

sosFactory

Проста в користуванні (як запевняють розробники) реалізація Factory (автоматизоване створення об'єктів) для CFML.

ColdFusion - Yahoo Maps

Інтеграція Yahoo Maps в CF додатки, написана одним з членів команди Adobe ColdFusion.

Debug To File

Можливість записувати debug output до файлів - якщо він потрібен, але показувати його небажано, фактично розширення наявної (і доволі кострубатої) системи журналювання.

ORMBootStrap

Невеличкий фреймворк для пришвидшення розробки додатків з ORM.

Spellify for Coldfusion V1.0

Реалізація додатку для перевірки правопису в textarea на CFML.

Різні новини зі світу OSS

ColdFusion on Rails is almost here

Кріс Пітерс повідомив про те, що реліз 1.0 CF on Wheels вже близько.

Ant4CF Mailing List Created

Створено Гугл-групу для Ant4CF.

ColdBox 3.0.0 Beta 2 Released!

Популярний фреймворк наближається до релізу. Що нового третій версіі можна дізнатися з wiki проекту.

Автор: Сергій Галашин | Опубліковано: 26.10.2009 о 09:09 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - Components - Frameworks - IIS - Links - OpenSource - Python - Railo - RIAForge -

 

Merlin в публічній беті

Мерлін (Merlin) -- це система, що базується на AIR, призначена для керування сервером Adobe ColdFusion версій 7,8,9.

На даний момент вона в публічній беті, реліз обіцяють приблизно одночасно з виходом дев'ятки.

Дізнатися більше про неї можна з ґрунтовного скрінкасту від розробників, а заповнивши невеличку форму, й скачати дистрибутив з офіційного сайту.

 

І на додаток, просто ще один сайт на CF. Дружина Адама Лемана запустила в бету рекомендаційний сервіс Interfolio. Звісно, що написаний на CFML.

Автор: Сергій Галашин | Опубліковано: 01.10.2009 о 19:03 | Категорії: AIR - ColdFusion 8 - ColdFusion 9 - News - Using CF -

 

Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 3

Продовжуємо розповідь про налаштування середовища для CFML-розробника.

В першій частині ми дізналися як налаштувати Apache 2, PHP 5, Java та ColdFusion 8.

В другій частині ми детально встановлювали та налаштовували ColdFusion 9.

 

Нарешті, дійшла черга й до мого нового улюбленця: Railo.

Я покладаю великі надії на цей CFML-двигун та вже пробую використати його для нових проектів.

 

Як заведено, для початку нам знадобиться дистрибутив, а саме стандартна версія Railo Server без JRE для всих ОС.

Скачаний tar.gz треба розпакувати та перемістити в /opt/railo.

 

Наш Railo насправді вже готовий до роботи, в чому легко переконатися виконавши команду

/opt/railo/bin/httpd.sh start

За кільканадцять секунд можна буде відкрити http://localhost:8600/ (стандартний порт) та побачити вітальне демо:

13-demo.png

Так само можна завітати до адміністратора веб-контексту за умовчанням:

14-default-context-admin.png

 

Але наша задача дещо ширша, тому вимикаємо Railo-server та переходимо до конфігурування.

Варто зауважити, що в цьому випадку немає проблеми конфлікту з CF, тому домашньою текою для хосту буде взято ту ж саму, що й для CF8.

В ній зберігаються всі мої CFML-проекти та скрипти, тому це буде зручно та виправдано.

 

Спочатку нам потрібно зібрати модуль Apache.

cd /opt/railo

./configure --with-java-home=/usr/lib/jvm/java-6-sun/ --with-apxs=/usr/bin/apxs2

Зауважу, що ключ java-home не обов'язковий, якщо у вас потрібна версія Java встановлена за умовчанням.

Треба уважно переглянути виведення на предмет повідомлень про помилки, які обов'язково треба виправити до переходу на до наступних команд:

make

sudo make install

В результаті цього ми отримаємо встановлений модуль /usr/lib/apache2/modules/mod_caucho.so

Через це відмінне ім'я (caucho) решта налаштувань теж матимуть його для одноманітності.

 

У випадку, якщо Railo змінить httpd.conf, його знову-так треба буде почистити аби запобігти дублюванню директив.

Натоміть створити /etc/apache2/cauchoconnector з таким вмістом:

<IfModule mod_caucho.c>
ResinConfigServer localhost 6800
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
</IfModule>

Ініціалізація модуля аналогічна попередникам:

/etc/apache2/mods-available/caucho.load

LoadModule caucho_module /usr/lib/apache2/modules/mod_caucho.so

a2enmode caucho

 

Створення віртуального хосту теж вже знайоме:

/etc/apache2/sites-available/localhost.railo

NameVirtualHost localhost.railo
<VirtualHost localhost.railo>

    ServerAdmin SetYourEmail@ServerName.tld
   
    ServerAlias localhost.railo

    ServerName localhost.railo
   
    DocumentRoot /home/trovich/www/cfm

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/trovich/www/cfm/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        allow from all
        DirectoryIndex index.cfm index.html index.htm
    </Directory>

    ErrorLog /var/log/apache2/error.localhost.railo.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.localhost.railo.log combined

    Include cauchoconnector

</VirtualHost>

a2ensite localhost.railo

sudo /etc/init.d/apache2 restart

 

Так само робимо скрипт запуску, текст якого трішки відрізняється:

#! /bin/sh

java=/usr/lib/jvm/java-6-sun/bin/java

script=`/bin/ls -l $0 | awk '{ print $NF; }'`

while test -h "$script"
do
  script=`/bin/ls -l $script | awk '{ print $NF; }'`
done

exec $java -jar /opt/railo/lib/resin.jar $*

Зауважу, що за основу тексту цього скрипта було взято оригінальний /opt/railo/bin/httpd.sh

 

Нарешті, реєструємо віртуальний хост в конфігурації Resin /opt/railo/conf/resin.conf

    <host id="localhost.railo" root-directory="/home/trovich/www/cfm">
        <web-app id="/" root-directory="/home/trovich/www/cfm/"/>
    </host>

Він має знаходитися відразу після кофігурації хосту за умовчанням (<host id="" root-directory=".">).

Також в цьому файлі варто закоментувати блок, що відповідає за логування подій. По-перше, це вже робить для нас Apache, по-друге, він писатиме логи в доступну з вебу теку, що потребуватиме додаткового захисту. Цей блок починається з теґу <access-log ...

 

Запускаємо Railo:

sudo /etc/init.d/caucho [start|stop]


Якщо все йде добре, маємо бачити вже інакший дамп того самого файлу server.cfm.

http://localhost.railo/server.cfm

15-railo-dump.png

 

Найприємнішим в цій ситуації є факт, що Railo та CF8 можуть працювати одночасно, що дуже допомагає в тестуванні сумісності між ними та портуванні коду.

Сподіваюся, що ця стаття стане у нагоді розробникам та допоможе звертати більше уваги новим технологіям.

 

Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 1

Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 3

Автор: Сергій Галашин | Опубліковано: 29.09.2009 о 10:07 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - HOWTO - PHP - Railo -

 

Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 2

В першій частині розповіді ми дізналися як налаштувати Apache 2, PHP 5, Java та ColdFusion 8.

 

Час переходити до наступного етапу -- встановлення ColdFusion 9 (Centaur).

Хочу зауважити, що налаштування підпорядковані наступному принципові: CF9 поки в беті, тому використовується для експериментів та навчання. Вона не має заважати роботі CF8, хоча й намагатиметься.

 

Ця частина містить кільканадцять знимків екрану для наглядності, тому доволі великий повний текст розміщено тільки на сторінці посту »


Читати далі...
Автор: Сергій Галашин | Опубліковано: 29.09.2009 о 10:04 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - HOWTO - PHP - Railo -

 

Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 1

Як правило, веб-розробники мають потребу в декількох типах середовищ, навіть різних версій одного й того ж додатку.

В цій статті я розповім про те, як я налаштовую свою систему, що в даний момент включає в себе PHP 5, ColdFusion 8, ColdFusion 9 та Railo 3.1. На даний момент моєю основною робочою системою є Xubuntu (9.04), тож інструкції відповідатимуть цій ОС. Відповідно, потрібні деякі мінімальні знання з цієї області, як то навички користування консолею.

Головною нашою задачею є ізоляція різних середовищ одне від одного в рамках єдиної інсталяції Apache 2.

 

Це перша частина, присвячена налаштуванню Apache 2, PHP 5, Java та ColdFusion 8.

 

Для початку нам треба визначитися з іменами віртуальних хостів, на яких будуть розташовані середовища. Останнім часом я зупинився на наступній системі йменування хостів, котру ілюструє запис в /etc/hosts

127.0.0.1 localhost localhost.php localhost.cf8 localhost.cf9 localhost.railo

Призначення кожного елементу цілком очевидне.

 

Першим кроком є встановлення Apache 2 та PHP 5. В Ubuntu це дуже просто, потрібно в консолі виконати команду, подібну до наступної:

sudo apt-get install apache2 apache2-threaded-dev libapache2-mod-php5 build-essential

Решту потрібних модулів встановлюється при потребі. Примітка: останній елемент знадобиться нам пізніше, він не є необхідним для даного етапу.

PHP встановлюється глобально для всього веб-серверу (.php скрипти оброблятимуться і в кожному віртуальному хості), мене це не турбує, тому залишаю як є. На даний момент мені просто треба зробити окремий хост для PHP розробки. Для цього треба створити файл конфігурації хосту:

/etc/apache2/sites-available/localhost.php

Я звик тримати всі робочі файли в домашній теці, тому шлях до файлів розробки є таким:

/home/trovich/www/php

Тоді конфігурація localhost.php буде наступною (це повний текст файлу).

NameVirtualHost localhost.php
<VirtualHost localhost.php>

    ServerAdmin SetYourEmail@ServerName.tld


    ServerAlias localhost.php

    ServerName localhost.php
   
    DocumentRoot /home/trovich/www/php

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/trovich/www/php/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        allow from all
        DirectoryIndex index.php index.html index.htm
    </Directory>

    ErrorLog /var/log/apache2/error.localhost.php.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.localhost.php.log combined

</VirtualHost>

Тепер нам залишається змусити Apache підхопити цей хост та перевірити його. Для цього виконаємо в консолі:

sudo a2ensite localhost.php

sudo /etc/init.d/apache2 restart

Створивши файл /home/trovich/www/php/index.php зі вмістом <?php phpinfo(); ?> можемо протестувати http://localhost.php/

У випадку успіху маємо побачити щось подібне до цієї картинки:

cf-install-00-phpinfo.png

У випадку, якщо з'являються повідомлення про помилку (типовим є статус 500), варто звернутися до журналу Apache, що відповідає даному хостові:

/var/log/apache2/error.localhost.php.log

Я полюбляю спостерігати за змінами використовуючи tail:

tail -f /var/log/apache2/error.localhost.php.log

tail -f /var/log/apache2/access.localhost.php.log

Другий журнал відповідає нормальній роботі хосту та містить повідомлення про всі запити.

 

Тепер переходимо до головної задачі -- встановлення ColdFusion 8. Головної тому, що вона наразі є моїм основним середовищем розробки, тому всі налаштування орієнтуватимуться саме на її потреби.

 

Для початку треба отримати дистрибутив ColdFusion, скачавши розробницьку linux-версію з офіційного сайту Adobe.

Після скачування треба надати файлові права на виконання, в моєму випадку це виглядає так:

chmod +x coldfusion-801-lin.bin

Треба відмітити, що Adobe зробили вельми зручний консольний інсталятор для 8-ки (і 9-ки, відповідно), тому негайно переходимо до процесу:

sudo ./coldfusion-801-lin.bin

Виконання з правами рута (root) необхідне через потребу запису файлів в системні директорії.

З огляду на те, що на момент проведення даного експерименту в мене вже була готова інсталяція ColdFusion 8, я не описуватиму її детально, це буде зроблено нижче для ColdFusion 9. На щастя, вони майже ідентичні.

 

Зауважу лише кілька важливих моментів.

1. Очевидно, що для роботи CF потрібна Java JRE, а для Railo ще й JDK. Встановлення їх теж дуже просте:

sudo apt-get install java6-runtime java6-sdk

2. Зазвичай я встановлюю CF до /opt/coldfusion8.

Шлях для домашньої теки CF у мене історично є /home/trovich/www/cfm, без вказання версії. Там CF8 й розміщує теку CFIDE. Це важливо, бо CF9 матиме іншу домашню теку з власною CFIDE.

3. Встановлення CF та налаштування хостів мають йти поетапно, бо вони обидві переписують стандартний файл конфігурації Apache:

/etc/apache2/httpd.conf

Він нам буде ще потрібен, тому перейдемо до налаштувань віртуального хосту.

 

По-перше, нам необхідно ізолювати модуль CF8, для цього створимо йому окремий файл конфігурації.

/etc/apache2/mods-available/cf8.load

В цей файл переносимо текст завантаження модуля:

LoadModule jrun_module /opt/coldfusion8/runtime/lib/wsconfig/1/mod_jrun22.so

Далі створюємо файл /etc/apache2/cf8connector (назва може бути інша, головне щоб лежав в теці Apache2) та переносимо в нього решту конфігурації модуля:

<IfModule mod_jrun22.c>
JRunConfig Verbose false
JRunConfig Apialloc false
JRunConfig Ignoresuffixmap false
JRunConfig Serverstore /opt/coldfusion8/runtime/lib/wsconfig/1/jrunserver.store
JRunConfig Bootstrap 127.0.0.1:51800
#JRunConfig Errorurl url <optionally redirect to this URL on errors>
#JRunConfig ProxyRetryInterval 600 <number of seconds to wait before trying to reconnect to unreachable clustered server>
#JRunConfig ConnectTimeout 15 <number of seconds to wait on a socket connect to a jrun server>
#JRunConfig RecvTimeout 300 <number of seconds to wait on a socket receive to a jrun server>
#JRunConfig SendTimeout 15 <number of seconds to wait on a socket send to a jrun server>
AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
</IfModule>

Увага: видаляти httpd.conf не можна, він просто має залишитися порожнім.

Підкажемо Apache, що у нас є новий модуль для нього:

sudo a2enmode cf8

 

Налаштуємо власне віртуальний хост. Для цього створимо файл конфігурації

/etc/apache2/sites-available/localhost.cf8

Вміст його майже ідентичний тому, що вже було показано для PHP:

NameVirtualHost localhost.cf8
<VirtualHost localhost.cf8>

    ServerAdmin SetYourEmail@ServerName.tld

    ServerName localhost.cf8
   
    DocumentRoot /home/trovich/www/cfm

    <Directory /home/trovich/www/cfm/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        allow from all
        DirectoryIndex index.cfm
    </Directory>

    ErrorLog /var/log/apache2/error.localhost.cf8.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.localhost.cf8.log combined

    Include cf8connector

</VirtualHost>

Дуже важливою особливістю є виділена жирним директива. Вона підключає наш файл конфігурації модулю саме для цього віртуального хосту.

Нарешті, завершимо операцію командами:

sudo a2ensite localhost.cf8

sudo /etc/init.d/apache2 restart

 

Перед тим, як перевіряти результати, варто запустити ще й CF. Зазвичай це робиться наступною командою:

sudo /opt/coldfusion8 start (stop для зупинки)

Для зручности я створюю Shell-скрипт для цього діла, що має наступний вміст:

#! /bin/sh

coldfusion=/opt/coldfusion8/bin/coldfusion

script=`/bin/ls -l $0 | awk '{ print $NF; }'`

while test -h "$script"
do
  script=`/bin/ls -l $script | awk '{ print $NF; }'`
done

exec $coldfusion $*

Таким чином процедура запуску/зупинки зводиться до канонічного

sudo /etc/init.d/cf8 [start|stop]

Отже, сервер запущено, можна перевірити його дієздатність: http://localhost.cf8/server.cfm з текстом <cfdump var="#server#">. Маємо бачити щось схоже на це:

00-cf8dump.png

У випадку помилок так само звертаємося до журналів Apache, як було описано вище.

 

Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 2

Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 3

Автор: Сергій Галашин | Опубліковано: 29.09.2009 о 09:46 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - HOWTO - PHP - Railo -

 

Опитування щодо ColdFusion 9 на Amazon EC2

Adobe проводить опитування щодо перспектив ColdFusion 9 в Amazon EC2 хмаринці.

Там можна дізнатися про деякі плани Adobe та навіть спробувати своїм голосом вплинути тим чи іншим чином на особливості інтеграції CF9 до EC2.

Загалом, тема перспективна та цікава, тож рекомендую витратити кільканадцять хвилин на цю справу.

Автор: Сергій Галашин | Опубліковано: 24.09.2009 о 11:49 | Категорії: Adobe - Cloud Computing - ColdFusion 9 - Links -

 

Відповіді на поширені питання щодо ORM в ColdFusion 9

Теренс Райян (Terrence Ryan) відповідає на деякі поширені питання щодо ORM в CF9. Зокрема пояснює базову різницю між паттернами Data Mapper та Active Record, чому для ColdFusion було обрано саме паттерн перший з них та розкриває деякі особливості його реалізації.

Автор: Сергій Галашин | Опубліковано: 21.09.2009 о 14:02 | Категорії: Adobe - Blogs - ColdFusion 9 - ORM -

 

Новини CF-OpenSource v4

Повертаємося до рубрики після деякої паузи. Сьогодні у нас нові CMS, фреймворки та CF9.

Quicksilver

Фреймворк, що використовує новинки CF9, а також реалізує сучасні методики розробки.

LightFront

Ще один невеличкий MVC фреймворк. На відміну від більшости популярних аналогів, не використовує XML для конфігурації, лише "чисті" CFC.

Splash CMS

ColdFusion порт Radiant CMS для Ruby.

Generate ORM Mapping

Додаток до CF Builder для генерації CF9 ORM мапінгів.

Base Persistent (ORM) Object

Додаток, що реалізує Business Objects для CF9 ORM.

bluApple

І ще одна CMS, нащадок CF-Nuke.

CFOpenChat

Додаток, що реалізує чат за допомогою CF та jQuery.

Coldfusion XML Meta Tag System

Додаток для керування мета теґами вашого сайту за допомогою базованої на XML конфігурації.

Credit Card Generator

Цей проект допомагає генерувати тестові номери карток найпопулярніших типів (Visa|Mastercard|Discover|Amex), корисно в процесі розробки та інтеграції платіжних систем.

Documentation Plugin for Mango Blog

Назва каже сама за себе. Плагін інтегрує довідку з Манго прямо в панель адміністратора.

 

Автор: Сергій Галашин | Опубліковано: 07.09.2009 о 09:09 | Категорії: CMS - ColdFusion 9 - ColdFusion Builder - Frameworks - News - OpenSource -

 

Статті про основи ORM/Hibernate в ColdFusion 9

Марк Мендел (Mark Mandel, compoundtheory.com) опублікував цикл статей, що висвітлюють основи ORM в Centaur.

 

Сподіваюся, на цьому етапі він не закінчить цю справу та продовжить висвітлювати цю перспективну та цікаву тему.

 

Автор: Сергій Галашин | Опубліковано: 10.08.2009 о 19:56 | Категорії: Blogs - ColdFusion 9 - Documentation - ORM -

 

Щодо швидкодії створення об'єктів

Минулого місяця тривала (й триває досі) хвиля дискусій, що були породжені появою ORM в CF9. Якщо бути точним, реалізацією ORM за допомогою CFC-об'єктів.

Багато хто з розробників піддав сумніву доцільність цього кроку, небезпідставно стверджуючи про те, що створення об'єктів в CF є витратним та повільним процесом, бо потребує ряду операцій та витрат, наприклад сама компонента та кожен метод є окремим Java об'єктом, створення областей видимості та ін. Докладніше про це питання можна прочитати ув одного з інженерів Adobe в замітці ColdFusion ORM and CFC Performance.

Нас же зараз цікавлять приклади та порівняння. Цією справою не полінувалися зайнятися кілька ентузіастів:

І показали вельми цікаві результати, зокрема здивувала значна перевага Railo. Зрозуміло, що це лише один з аспектів швидкодії, котрий сам по собі не може бути базою для висновків.

Зауважу також, що обговорення питання проходить в гілці Object creation performance in CF 9: any better?

Автор: Сергій Галашин | Опубліковано: 02.08.2009 о 13:43 | Категорії: ColdFusion 8 - ColdFusion 9 - Discussions - Links - Open BlueDragon - ORM - Performance - Railo -

 

Офіційна документація з ColdFusion 9 CFML

Поки не доступна з публічних сторінок підтримки.

За традицією, з дещо переробленим дизайном. З можливістю експорту в PDF.

Adobe ColdFusion 9 CFML Reference

Сайт №1 для CF-розробника.

Автор: Сергій Галашин | Опубліковано: 25.07.2009 о 05:48 | Категорії: CFML - ColdFusion 9 - Documentation -