Категорія: Blogs

 

Новий сайт з CFML документації: CFMLDocs

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

Про все це в його публікації New ColdFusion Documentation Site Launched

Серед вже реалізованих варто відмітити простий, але зручний AIR-клієнт.

Сам проект: http://cfmldocs.com

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

 

Flex и PHP - странные связи

Один из евангелистов Adobe - Райан Стюарт (Ryan Stewart) - пишет в своем блоге, что теперь будет вести свои проповеди в среде PHP разработчиков. Тема интеграции Flex с PHP набирает обороты, насколько можно судить по статьям и постам на форумах. Возможно, об интеграции Flex и Coldfusion уже написано слишком много (да и сама связка CF+Flex очень проста в использовании, спасибо Adobe), поэтому Adobe ищет новых друзей для Flex-а за пределами своей крепости. Кроме того, борьба с Silverlight заставляет искать новых союзников, а PHP явно не друг Microsoft-у. Думаю, что надо следить за этой тенденцией, и возможно, открыть неожиданные перспективы.

Автор: Родион Быков | Опубліковано: 25.01.2010 о 22:58 | Категорії: Blogs -

 

CFML 101 - Помилки новачків (друга частина) та веселощі зі списками

Ерік Кобб продовжує (див. про першу частину) серію публікацій про основи CFML.

В другій публікації про помилки новачків він розповідає про особливості використання Application.cfm (рекомендується уважно переглянути коментарі, бо в цій частині є певні помилки), деякі можливості вкладання викликів функцій та необхідність використання cfparam.

В публікації Fun with Lists розповідається про переваги використання списків, котрі є вельми зручним та ефективним з точки зору швидкодії інструментмо.

Автор: Сергій Галашин | Опубліковано: 25.12.2009 о 06:32 | Категорії: Blogs - CFML -

 

Дискусія: чому CFML, а не Java?

Нещодавно Шон Корфілд (Sean Corfield) опублікував невеличку замітку, в якій критично висловився щодо компанії, котра витратила три роки (!) на переписування сайту з CFML на Java.

Обговорення тої самої новини на TechCrunch вилилося в значну дискусію за участі великої кількості авторитетних членів спільноти (навіть Бен Форта завітав!), частина якої перекинулася й на коментарі до посту Шона.

Зокрема, в них відмітився оборонець ідеї переписування (можливо, учасник) Девід Теннерсін (David Tannersyn), котрий викликав нову хвилю обговорення, що призвело до написання Шоном нової ґрунтовної публікації Why CFML? Why not Java?, котра має на меті розставити крапки над "і" в цій дискусії.

Рекомендую до ознайомлення, все доволі цікаво.

Автор: Сергій Галашин | Опубліковано: 13.12.2009 о 20:15 | Категорії: Blogs - CFML - Community - Discussions - Java - Jobs - Subjective -

 

10 речей, котрі СПРАВДІ потребує Adobe ColdFusion

Один зі старожилів, гуру спільноти, Джейсон Делмор склав список речей, що мають бути додані чи покращені в Adobe CF 10. Зважаючи на його досвід, дуже варто ознайомитися. Деякі моменти доволі очевидні, а деякі зовсім ні, але не менш важливі.

Серед списку є пропозиції позбутися застарілого серверу застосунків JRun, покращити будівельник звітів, CFDocument, моніторинг серверу, флеш форми, виправити розгортання застосунків, додати підтримку різних протоколів IM, оновити двигун веб-служб, додати сучасний workflow менеджер та, нарешті, зробити безкоштовну версію для простих задач.

Докладний список з поясненнями в публікації 10 Things ColdFusion 10 Really NEEDS

 

Автор: Сергій Галашин | Опубліковано: 13.12.2009 о 07:51 | Категорії: Adobe - Blogs - Community - Discussions -

 

CFML 101 - Помилки новачків, частина 1

Ерік Кобб розпочав вельми корисну серію публікацій про типові помилки новачків в CFML, популярні питання та інші корисні речі.

Досвідчені розробники навряд чи знайдуть щось нове для себе, але для початківців дуже рекомендується до ознайомлення:

CFML 101 - Rookie Mistakes Part 1

В першій частині розповідається по символи фунтів (pounds, #), грамотне використання cfoutput, доцільність вказування області видимості змінних та небезпеки використання Evaluate.

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

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

Автор: Сергій Галашин | Опубліковано: 12.12.2009 о 20:23 | Категорії: Blogs - CFML -

 

Новини CF-OpenSource v9

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

 

Qualified Address LiveAddress API 0.0.3

Особливо приємне оновлення, бо це мій перший досвід публікації вільного ПЗ на RIAForge. Сподіваюсь, комусь стане в нагоді ця невеличка бібліотека, що організовує взаємодію з сервісом Qualified Address для покращення та виправлення адрес.

ppIPN

Компонента для обробки асинхронних IPN-запитів, що надсилає Paypal в процесі обробки транзакцій. Більш детально на сайті розробника.

CF Builder DocShare Support 1.0

Втілення популярного додатку Eclipse для CFB.

dbfrp 1.0

Застосунок для пошуку та заміни тексту в базі даних, з можливістю відміни змін.

Stiletto - Silent server-side debugging 1.0.1

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

ColdFusion Social Network Alpha_0.1

Рання альфа втілення сайту для соціальної мережі.

WordArt for ColdFusion 0.6

Компонента для створення малюнків з типографією.

Regular Expression Find And Replace 0.1

Додаток CFB для пошуку з використанням регулярних виразів. Поки не активний.

Mach-II 1.8 Release Candidate

Готується до випуску нова версія фреймворку, за посиленням опис нових можливостей.

MXUnit 1.0.8

Оновлення популярної бібліотеки для модульного тестування.

Запуск ForgeBox

Луїс Маджано повідомив про запуск ресурсу для обміну застосунками та додатками, побудованими на ColdBox.

FlexPMDPDF - A ColdFusion PDF report generator for Flex PMD!

Як зрозуміло з назви, це генератор PDF звітів для Flex.

 

 

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

 

Mach-II Runs on Google App Engine with Open BlueDragon

Мет Вудвард повідомив про те, що нова версія фреймворку тепер може бути розгорнута на GAE.

 

Автор: Сергій Галашин | Опубліковано: 12.12.2009 о 18:53 | Категорії: Blogs - Coldbox - ColdFusion Builder - Flex - MachII - OpenSource - RIAForge -

 

Що собою являє Railo Enterprise Bundle?

Цей текст є перекладом оригінальної публікації Шона Корфілда What is the Railo Enterprise Bundle?

 

Я отримав кілька запитань щодо Railo Enterprise Bundle, тому вирішив, що буде непогано написати відповідь для всіх до блогу.

Зазвичай питання ставляться у формі "що є в корпоративній версії, чого немає у безкоштовній?", але зважаючи на відомі типи комплектації та рівні цін від Adobe та New Atlanta, не є дивним сприйняття Railo Enterprise Bundle як трохи іншого типу "комплектації" серверу, котрий коштує грошей (та, відповідно, має більше можливостей).

Можливо, ми обрали трохи неточне ім'я для неї, але "пакунок" (bundle) якраз це й означає: набір речей, котрі ви можете придбати разом, але за зменшеною ціною. Отже, що входить до цього набору?

  • FusionReactor Enterprise Server Monitor
  • FusionDebug Interactive Step Debugger
  • Всі поточні комерційні додатки Railo

На додаток, ви отримаєте рік Срібної (Silver) підтримки від Railo та рік супроводу (maintenance) від FusionReactor та FusionDebug. І ви економите гроші, ніж купуючи компоненти окремо.

Давайте розберемо набір докладніше...

Набір включає ліцензію на FusionReactor Enterprise з річним супроводом, що зазвичай коштує $799. Це звичайний продукт, що ви можете придбати у Intergral, розробників FusionReactor.

Набір також включає серверну ліцензію FusionDebug. Це трохи відрізняється від того, що ви можете придбати у Integral на сьогодні. Вони пропонують ліцензію для одного клієнта (за $399 з роком супроводу) та 5 клієнтських ліцензій (за $1495 з роком супроводу). В наборі ж Railo ви отримуєте серверну ліцензію FusionDebug, що не має обмежень на кількість клієнтів. Цінність цього залежить від кількості ваших розробників, котрі матимуть потребу виконувати сесії налагоджування (debug) на сервері, де буде встановлено набір :)

З огляду на те, що налагоджування відбувається на рівні JVM серверу, ви можете мати тільки одне активне з'єднання в даний момент, але кількість розробників, що можуть встановити FusionDebug та приєднатися до серверу, не обмежена.

Які ж є комерційні додатки до Railo:

  • CFVIDEO - $100 / server
  • Amazon S3 - $100 / server
  • URL Spidering for CFSEARCH - $100 / server
  • Cluster Scope - $200 / server
  • Administrator Synchronization - $200 / server
  • Caching (memcached, ehCache, distributed caching etc) - $200 / server

Ціна всих додатків складає $900, також ви отримуєте кожне оновлення та виправлення для додатків протягом року.

І на додаток до цього ви отримуєте місяць Silver Support для вашого серверу, що включає чотири години консультацій, та, як і в інших пакетах підтримки, гарантований договором про підтримку (SLA) час відповіді на проблеми, а також знижку на будь-які додаткові консультації, що можуть вам знадобитися. Silver Support зазвичай коштує $999 за сервер.

Повертаючись до найпершого питання, єдиною чисто корпоративною "можливістю" в наборі Railo є прив'язка до серверної ліцензії для FusionDebug, так що ви можете мати необмежене чисто клієнтів для налагоджування на сервері (зазвичай FusionDebug ліцензується якраз за кількістю клієнтів). В решті, Railo сервер є тим самим Railo сервером -- з тою самою підтримкою CFML та функціональністю, тою самою швидкодією, тими самими інноваційними можливостями, що ви знайдете у вільній відкритій версії.

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

Очікуйте більше публікацій наступними тижнями від команди Railo щодо FusionReactor Server Monitor та FusionDebug CFML Debugger, а також докладніший розгляд можливостей комерційних додатків.

 

Переклад українською: Сергій Галашин.

 

Автор: Сергій Галашин | Опубліковано: 22.11.2009 о 11:38 | Категорії: Blogs - Business - Railo -

 

FuseNG -- ненароджене дитя

Незважаючи на певний оптимізм, проявлений спільнотою кілька місяців тому з приводу спроби переродження Fusebox, породжений заявою головного розробника останнього Адама Хаскеля про початок роботи над FuseNG, мріям не було суджено здійснитися. Суть подій була в тому, що компанія Teratech гальмувала розвиток Fusebox, через що фреймворк поступово відставав від розвитку подій в галузі, тому Адам зробив спробу витворити гілку проекту, повністю підтримувану спільнотою, аби надати проектові другий шанс.

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

Як повідомив Адам в своєму блозі, він не має наснаги підтримувати фреймворв, котрим сам не користується.

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

Шкода, він досі є моїм першим та улюбленим фреймворком.

 

Автор: Сергій Галашин | Опубліковано: 12.11.2009 о 23:02 | Категорії: Blogs - Community - Fusebox - Subjective -

 

Application.cfc на CFScript

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

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

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

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

 

Новини CF-OpenSource v7

Cf Event Manager 1.0

Андреа Камполоньї повідомив про реліз його додатку, що реалізує EM-парадігму (events based) для CFML.

Update to CFML Framework Skeletons – Eclipse Plugin

Роберт Бернс повідомив про оновлення свого корисного додатку для Eclipse, що допомагає створювати скелети проектів для різних фреймворків. В цьому релізі були додані FW/1 та LightFront.

ColdBricks 1.1 Update: Custom Resource Libraries & Extension Modules

Оскар Еревало повідомив про деякі оновлення ColdBricks CMS, котрі є підготовкою до стабільного релізу 1.1.

BlogCFC v.5.9.5

Випущено оновлення популярного CF-блогу, багато з яких зачіпають клієнтську (JavaScript) частину.

CF Admin Searcher v.1

Розширення для Adobe ColdFusion Administrator, що дозволяє виконувати прямі запити (тут -- queries) до колекцій Verity та Solr (в залежності від версії серверу)

ColdTurkey v.1

Спроба реалізації CRUD-додатку, з доволі широким спектром можливостей.

cfMediaPlayer v.20091106.01

CFML кастом теґ-обгортка для включення на сторінку FLV, MP3, MP4 та AAC файлів з використанням JW FLV Player.

All Around Player v.0.10

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

Tokamak v.0.0.1a

Проста реалізація REST апі для Fusion Reactor, фактично поки підтримує тільки читання метрик сервера в XML форматі.

Cachebox CFWheels Plugin v.1

Реалізація кешування в CFWheels за допомогою додатку Cachebox.

miniwiki v.0.1

Простий та маленький wiki-двигунець.

Junior v.0.1

Клон рубі-фреймворку Sinatra, поки в ранній стадії розробки.

 

 

Автор: Сергій Галашин | Опубліковано: 07.11.2009 о 21:51 | Категорії: Blogs - CMS - Frameworks - News - OpenSource - RIAForge -

 

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

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

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

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

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

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

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

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

 

 

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

 

Вектор Script Injection атаки

Марк Кругер (Mark Kruger) знову робить корисну справу: досліджує можливість проведення Script Injection атаки через завантаження (upload) шкідливого скрипта.

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

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

Про все це дещо докладніше в Script Injection Attack: Smoking Gun?

Найбільшою проблемою дослідження наслідків такої атаки є труднощі з ідентифікацією шкідливих скриптів, адже вони вже не існують пост-фактум. Особисто я використовую два обробники помилок 404 в Application.cfc: один слугує для запису помилок, перенапрямлених з веб-серверу (фейкова сторінка 404.cfm), інший -- для заптів до недозволених cfm-сторінок (дозволені зазвичай index.cfm та wsdl.cfm - для веб-сервісів). Це дає деяку інформацію у випадку спроб дослідження додатку через навмисні запити до неіснуючих сторінок.

Автор: Сергій Галашин | Опубліковано: 22.09.2009 о 14:02 | Категорії: Blogs - Security - Tips -

 

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

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

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

 

Новини CF-OpenSource v5

Невеличкий огляд на сьогодні

CacheBox 0.9 Beta

Як повідомляє автор, цей фреймворк для кешування майже "дозрів" до релізу.

ColdFusion on Wheels 0.9.4

Майже те саме можна зауважити про вже відомий нам фреймворк CFWheels.

FuseCache 0.8

Додаток до Fusebox, що дозволяє швидко інтегрувати існуючі рішення з кешування для CF, зокрема вищезгаданий CacheBox, а також cfMemcached та навіть EHCache з комплекту CF9.

Announcing ColdPress

Анонімний автор повідомив про початок розробки аналога WordPress на CF. Сподіваюся, що з нього вийде добрий конкурент існуючим рішенням.

Автор: Сергій Галашин | Опубліковано: 20.09.2009 о 14:52 | Категорії: Blogs - OpenSource - RIAForge - News - Links - Frameworks -

 

Чому Railo кермує як платформа для Saas

Розробники з компанії Straker зробили свій внесок до популярної теми для обговорення в спільноті: Railo vs ColdFusion.

Вони стверджують, що в одному з аспектів Railo є безумовним лідером. Як платформа для Software as a Service рішень.

Переваги було згруповано за чотирма категоріями: масштабованість, безпека, ціна, оновлення.

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

Докладно про всі ці речі читаємо в Why Railo kicks butt for ColdFusion based SaaS.

 

Автор: Сергій Галашин | Опубліковано: 14.09.2009 о 09:09 | Категорії: Blogs - Discussions - Railo -

 

Анонсовано The For ColdFusion Foundation (4CFF)

На минулій CFUnited Джейсон Делмор анонсував 4CFF, пізніше про це також повідомив у своєму блозі.

Маніфест фонду звучить наступним чином.

The For ColdFusion Foundation (4CFF) є некомерційною організацією, покликаною допомогата ColdFusion спільноті в будь-якій доступній формі. Первинними напрямками роботи є: створення співтовариства професіоналів світового рівня; надання підтримки OpenSource спільноті задля створення гарного програмного забезпечення на ColdFusion.

Якщо ви зацікавлені дізнатися про те, хто ми є та як плануємо допомагати, завітайти до розділу "Про нас" та "ЧаПи". Якщо ви зацікавлені в тому, щоб приєднатися до фонду, долучіться до груп обговорення і ми надішлемо вам дані щодо приєднання відразу як підготуємо їх. Якщо ви бажаєте стати спонсором, зв'яжіться з нами.

Більше можна буде прочитати на сайті 4CFF, зокрема побачити, що серед організаторів присутні чимало знайомих облич.

Чекатимемо на розвиток подій, сподіваюся з цього вийде щось путнє.

Автор: Сергій Галашин | Опубліковано: 30.08.2009 о 10:10 | Категорії: Blogs - Community - News -

 

Про Adobe MAX 2009 з гумором

Щойно вляглися хвилі відгуків після CFUnited, а спільнотає вже починає готуватися до нової великої події: Adobe MAX 2009. Як водиться, Бен Форта опублікував список доповідей про CF 9.

Серед інших виділився Філіп Керман (Phillip Kerman), котрий зроби відео-пародію Бівіс та Батхед їдуть на MAX.

Автор: Сергій Галашин | Опубліковано: 29.08.2009 о 17:18 | Категорії: Blogs - Conferences - Humor - Video -

 

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

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

 

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

 

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

 

Найміть Community Expert працювати

Цікаве питання про роботу в галузі було підняте в пості Шона Корфілда (Sean Corfield).

Крім обговорення загальної ситуації та порад було визначено кілька причин того, чому компанії побоюються пропонувати роботу добре відомим учасникам спільноти (Community Expert в термінах Adobe).

Зокрема було сказано, що вони дуже багато часу приділяють спільноті :)

Мається на увазі, що вони багато виступають на конференціях, пишуть в блоґи/twitter, беруть участь у відкритих проектах і тому не мають часу працювати. Звісно, малося на увазі працювати повний робочий день, як це роблять "звичайні" програмісти.

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

І все це замість того, щоб просто радісно ковбасити код разом з колегами-програмістами ("work happily with their peers and code like a demon").

 

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

На цій оптимістичній ноті започатковуємо нову категорію Subjective.

 

Автор: Сергій Галашин | Опубліковано: 02.07.2009 о 06:43 | Категорії: Blogs - Subjective - Jobs -

 

Пропозиція щодо нового OSS проекту від Hal Helms

Гол Гелмс (Hal Helms) нещодавно виніс на розгляд спільноти пропозицію розробки відкритого e-commerce рішення на базі ColdFusion та AJAX.

Долучитися до обговорення можна в його блозі, в повідомленнях Update on "Ideas" та Project Serenity.

Учасники UACFUG також розмірковують над тим, щоб долучитися до цієї, без сумнівів, корисної та цікавої ініціативи.

Автор: Сергій Галашин | Опубліковано: 02.07.2009 о 06:28 | Категорії: Blogs - OpenSource -

 

Підміна MIME типу при завантаженні .cfm файлів на сервер

Днями прокотилася хвиля серйозних порушень роботи сайтів та навіть цілих ColdFusion серверів, пов'язана з використанням вразливості, коли підміна MIME типу завантажуваного файлу дозволяла залити .cfm скрипт та виконати його.

Ось простий приклад як це можна зробити:

<cfhttp url="http://target.example.com/upload" method="post">
 <cfhttpparam file="#ExpandPath("badstuff.cfm")#"
  mimetype="image/gif"
  type="file"
  name="photo">
</cfhttp>

Така проста конструкція легко дозволяє обійти вбудовану перевірку типу:

<cffile action="upload"
  filefield="photo"
  accept="image/gif,image/jpeg"
  destination="#ExpandPath("./photos/")#">

Приклади було взято з посту Піта Фрейтаґа (Pete Freitag), в якому він наводить рекомендації щодо захисту від подібних атак.

Зокрема, можна використати вбудовані функції IsImageFile("path") (з урахуванням вже описаної проблеми) та IsPDFFile("path"), використовувати окремий сервер (простіше кажучи, окремий домен - скажімо з nginx - для швидкодії) для статичного вмісту (як то Amazon S3), користуватися можливостями Sandboxing (якщо у вас CF Enterise), відключати можливість виконання скриптів для тек завантаження та іншими методиками.

Ці та інші поради описані у вищевказаному повідомленні, також варто звернути увагу на коментарі до нього, там теж є слушні поради.

Також варто звернути увагу на аналогічне повідомлення Брента Фрая (Brent Frye), котрий зазнав серйозних неприємностей через описану проблему, тому теж уклав список порад для її обходу.

 

Автор: Сергій Галашин | Опубліковано: 01.07.2009 о 05:34 | Категорії: Blogs - Gotchas - Security -

 

Fig Leaf запустила блоґ

Big Leaf – одна з найстаріших та найвідоміших компаній, що багато років займається розробкою на ColdFusion, створє веб-сайти для сенаторів, державних установ та відомств США, займається сертифікацією CF-програмістів та іншими корисними проектами.

Отже, компанія цього тижня запустила власний блоґ, з огляду на озвучені плани, має бути цікаво.

Автор: Сергій Галашин | Опубліковано: 28.06.2009 о 09:00 | Категорії: Blogs - News - Companies -

 

Робота з таблицями Excel в ColdFusion 9

Вчора Бен Форта розкрив ще одну новинку з CF Centaur.

Цей пост є вільним перекладом оригінальної замітки Working With Spreadsheets In ColdFusion.

 

Таблиці Excel (далі просто "таблиці" - прим. перекл.) дуже важливі для багатьох компаній та організацій, тому ColdFusion програмісти давно прагнули працювати з ними програмно. Справа в тому, що ColdFusion підтримував доступ до таблиць різними шляхами, навіть можна було їх читати через ODBC драйвер, також можна було створювати їх за допомогою CFReport, а ще створювати HTML і CSV файли та встановлювати потрібний MIME-тип щоб оглядач міг корректно відкрити їх в Excel.

Але програмісти прохали про більше, про більші можливості контролю, в тому числі про роботу зі специфічними частинами файлів таблиць. Як було показано в моїй (Б.Ф. - прим. перекл.) презентації минулого тижня, це вже заплановано в ColdFusion "Centaur".

Так само як це було з малюнками, робота з таблицями в ColdFusion відбувається за допомогою теґів чи функцій, або їх комбінацією. Теґ <CFSPREADSHEET> призначено для читання (до об'єкту таблиці, query, CSV рядка чи HTML), запису до XLS файлів, а також додавання до них сторінок. Більш ніж 30 функцій, таких як SpreadsheetSetCellValue(), SpreadsheetAddRow() та SpreadsheetSetCellFormula() призанчено для дрібніших маніпуляцій, та може бути використано разом з допоміжними функціями, як то SpreadsheetNew() для створення об'єкту таблиці, SpreadsheetInfo() для діставання заголовку, листів та інших атрибутів.

Ось деякі приклади з моїх (Б.Ф. - прим. перекл.) презентацій.

Перший приклад читає всю таблицю до query та друкує її зміст (dumps the contents - прим. перекл.).

<!--- Read spreadsheet --->
<cfspreadsheet action="read"
                src="Sales.xls"
                query="myQuery">
<cfdump var="#myQuery#">

Другий приклад читає конкретну ячейку таблиці до змінної.

<!--- Read a spreadsheet cell --->
<cfspreadsheet action="read"
                src="Sales.xls"
                name="myVar"
                sheet="1"
                rows="C"
                columns="3">
<cfdump var="#myVar#">

<CFSPREADSHEET> також використовується для запису (чи перезапису) файлу таблиці:

<!--- Write spreadsheet --->
<cfspreadsheet action="write"
    overwrite="true"
    filename="Sales.xls"
    name="sObj" />

Щоб оновити вміст ячейки вам потрібно прочитати, оновити її та записати файл:

<!--- Read spreadsheet --->
<cfspreadsheet action="read"
        src="Sales.xls"
        name="sObj" />
<!--- Set cell value --->
<cfset spreadsheetSetCellValue(sObj, FORM.sales, FORM.row, FORM.col)>
<!--- Write spreadsheet --->
<cfspreadsheet action="write" overwrite="true"
        filename="Sales.xls"
        name="sObj" />

Цей приклад використовує дані з форми для оновлення ячейки.

 

Звісно, є ще багато інших можливостей, але ідея зрозуміла.

Також, <CFSPREADSHEET> підтримує таблиці Excel та OpenOffice.

 

Також, питання підіймалося кілька разів, тому варто про нього згадати. Так само як в інших випадках доступу до файлу (наприклад, використання <CFFILE> чи <CFIMAGE>), вам би не хотілося одночасного доступу,  тому варто використовувати <CFLOCK>, блокування для читання при читанні, повне блокування для запису, використання іменованих блоків (скажімо, з ім'ям файлу таблиці в якості імені блоку).

 

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