Flex on Cloud

Programming Flex for Hivext

Удаление записей по роли

оставьте комментарий »

note – таблица, тип данных.
запись – строка в таблице note.

Постановка задачи

Допустим, существует приложение с таблицей данных note, где разные пользователи могут создавать читать и изменять любые записи, а создавать и удалять – только собственные. Пользователи не имеют пермишенсов в приложении; на них назначена роль user с политикой (note/* : CREATE, READ, UPDATE), аналогичная политика существует и в роли owner. Нужно сделать механизм удаления записей с контролем прав, так, чтобы пользователи не смогли удалить записи других пользователей.
Читать далее…

Написано kelegorm

Апрель 9, 2012 в 22:27

Опубликовано в solutions

Отмечено как , ,

Работа с JSON в скриптах.

оставьте комментарий »

Если работа со скриптом ведется на “легком” уровне, и данные посылаются в текстовом виде, то скорее всего будет использоваться JSON-кодирование. Программистам JavaScript и ActionScript очень хорошо знаком синтаксис вида:

var response = { 
       b : 2,
       c : [  2, 3, { 
              ert : 8
       } ],
       a : 1
}

Если обернуть это все в кавычки и компактно записать, то и получится как-раз JSON-строка:
"{\"b\":2,\"c\":[2,3,{\"ert\":8}],\"a\":1}"

Читать далее…

Написано kelegorm

Март 22, 2012 в 23:11

Опубликовано в lessons

Отмечено как ,

Аннотации в скриптах

оставьте комментарий »

В своих скриптах можно встраивать аннотации – это такие маленькие инструкции для сервера, выполняющего скрипт. Аннотации бывают следующие:

  • @auth – скрипт разрешено вызывать только авторизированным пользователям.
  • @local - Скрипт может вызывать только серверный код. При обращении к скрипту клиента по сети произойдет исключение.
  • @req(‘парам1′, ‘парам2′, …) - Указывает обязательные параметры для передачи скрипту
  • @url(‘адрес’) - Адрес по которому будет доступен скрипт по сети

При невыполнении первых трех из перечисленных аннотаций будет вызвано исключение и скрипт вернет ошибку. Читать далее…

Написано kelegorm

Март 22, 2012 в 22:42

Опубликовано в Uncategorized

Отмечено как

Организация серверного кода

оставьте комментарий »

Эти руководства я сформировал во время использования SSJavaScript, но, скорее всего, их можно использовать и с другими языками.

1. Используйте конструкцию try-catch.

Чтобы улучшить читаемость кода и установить стандартную систему отлова ошибок, оборачивайте весь основной код скрипта в конструкцию try-catch. Использование её на языке SSJavaScript выглядит следующим образом:

//@auth
try {
    var getObjectsResponse = hivext.data.base.GetObjectsByRole(appid, session,
                                                               'typeName', 'roleName');
    if (getObjectsResponse.result != 0) throw getObjectsResponse;
} catch (ex) {
    return { error: ex };
}

Таким образом, упрощается обработка результата на клиенте: если в ответе скрипта присутствует поле error – значит, произошла ошибка при выполнении.

(Далее…)

Написано kelegorm

Июль 17, 2011 в 21:27

Опубликовано в Uncategorized

Отмечено как

Как работает инструкция Import

оставьте комментарий »

В качестве серверного языка используется SSJavaScript.

  1. Инструкция import вставляет содержимое одного скрипта в другой при компиляции.
  2. Имена скриптов начинаются с “com.hivext.scripting”.
  3. При изменении импортируемого скрипта нужно также заново компилировать все скрипты, его импортирующие. Если вложение не одно – нужно пройтись по всей линии импортов в дереве связей скриптов.
  4. Если в импортируемом скрипте стоит алиас @req(param1, param2), то этот алиас будет существовать и во всех скриптах, импортирующих его.
  5. Будьте осторожны при импорте, избегайте ошибок дублирования имен переменных и функций. При импорте становится сложнее отлаживать код.

Написано kelegorm

Июль 17, 2011 в 20:48

Опубликовано в Uncategorized

Отмечено как

Как выглядит мой рабочий процесс?

оставьте комментарий »

Client-side я пишу на ActionScript3 с использованием Flex SDK 4.5. Среда разработки: Intellij IDEA, по лицензии EAP. Экспорт relise-версии делаю через FlashBuilder 4, в нем же разрабатываю скинирование компонентов. Flex SDK дает мне возможность гибко и быстро разрабатывать и расширять приложение, множество компонентов и отличная архитектура позволяют мне обходится без использования сторонних библиотек, исключением из которых является библиотеки as3corelib для работы с JSON и Hive SDK для более простой работы с сервисами Hivext. Среда Intellij IDEA позволяет удобно и быстро создавать и модифицировать код, лучше и удобнее других редакторов. Adobe FlashBuilder 4 незаменим при работе со скинами компонентов и имеет готовый функционал по экспорту релиза.

Система контроля версий – Git, локальная, с синхронизацией с резервными хранилищами.

Серверная часть пишется на платформе Hivext, в онлайн редакторе. Там же по FTP выкладываю публичную версию клиента. Промежуточные версии запускаю на локальной машине. Для работы с IDE используется браузер SRWire Iron, для отладки и запуска клиента – Firefox последней стабильной версии, с использованием плагинов FireBug, FlashBug и AMF Explorer. Firefox в связке с упомянутыми выше плагинами является лучшим средством отладки клиент-серверных приложений.

По проектам ведется документация, не для заказчика, а под себя, чтобы запомнить алгоритмы и принципы работы различных функций. Подходящее место для ведения документации – Google Docs.

Написано kelegorm

Июль 4, 2011 в 11:23

Опубликовано в Uncategorized

Планирование развития логики приложения.

оставьте комментарий »

Представим, что мы разрабатываем форум и дописали его до некоторой версии 1.0. Мы переводим его со стадии бета-тестирования в стадию нормальной работы и оставляем в покое. Дальше мы продолжаем дополнять код, работая на тестовом сервере. Когда подходит очередь опубликовать новую версию, мы выбираем самое спокойное время и временно приостанавливаем работу сайта, заливая новые файлы по FTP, запуская скрипты, модифицирующие базу данных. Таков обычный цикл развития клиент-серверного приложения.

Читать далее…

Написано kelegorm

Июнь 9, 2011 в 21:39

Опубликовано в Uncategorized

Отмечено как

Hivext для Flex-программистов.

оставьте комментарий »

С точки зрения Flex-программиста, что нужно, чтобы написать интернет-приложение? - Нужны две его части – клиент и сервер. Клиента пишет Flex-программист, серверную часть – серверный программист. Также нужен настроенный сервер, на котором она будет располагаться и работать.

Что нужно Flex-программисту, чтобы написать интернет-приложение? - Сервер и серверный программист, со своим опытом работы с серверами и знаниями серверных языков и технологий.

Пока у вас нет сервера и серверного программиста, вы не сможете написать интернет-приложение. Можно купить первое и нанять второго, но можно… Использовать Hivext.
Читать далее…

Написано kelegorm

Июнь 4, 2011 в 21:04

Опубликовано в Uncategorized

Отмечено как

Follow

Get every new post delivered to your Inbox.