Сообщения

Сообщения за 2013

Salesforce SSO with PHP

Hello everyone. I glad to introduce new article for salesforce developers. I want to show my example to integrate Salesforce with PHP application . I have used simpleSamlPhp as bridge between Salesforce and user storage. Please enjoy it.

Сумма прописью на Salesforce

Привет коллеги и любители CRM Saleforce. Мой русский блог о салесфорс пополнился очередным кирпичиком знаний.  Сумма прописью на Salesforce  - статья посвященная важной проблемой бизнес сегмента - представление сумм в письменном виде для заполенния документов. Возможно данное решение будет вам полезно, поэтому берите и пользуйтесь.

Salesforce форум

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

Слой служб (Service Layer) в Salesforce

Привет всем. Рад представить вашему вниманию новую статью Паттерны проектирования бизнес приложений на Salesforce — Слой служб (Service Layer) . Здесь вы узнаете о новом подходе к проектированию приложения, которые позволит вынести бизнес логику в отдельный класс и открыть доступ к многим клиентам на Salesforce. В статье приводятся основные соглашения, принятые для разработки классов служб, а также много примеров использования подобных классов.

Принципы проектирования бизнес приложений на Salesforce

Задумывались ли вы о том, а правильно ли вы проектируете, создаете свое приложение на Salesforce? Из коробки нам доступна возможность использовать паттерн проектирования MVC. Проецируя на Salesforce мы получим, что M(Model) - это объекты, V(View) - это Visualforce page, С(Controller) - Apex controller. Все конечно красиво пока вы не начнете писать более менее серьезное приложение. Размещать код в контроллере страницы означает сразу убивать возможность повторного использования кода. Такие приложения становятся головной болью любого разработчика. Существуют другие принципы проектирования, которые помогу оптимизировать структуру приложения и сделают процесс разработки приятным увлечением. Порассуждать о новых принципах разработки бизнес приложений приглашаю на страницы моего блога salesforce-developer.ru

Salesforce Winter'14

Привет всем. На своем сайте я выложил новую статью, посвященную новому релизу Salesforce Winter'14 . Там вы найдете много интересной и полезной информации по изменениям, которые Salesforce планирует внедрить уже этой зимой. 

Храним в Salesforce настройки для приложения

Привет друзья. Довадилось ли вам забивать в код настройки для приложения хардкодом, а потом мучяться с правками и деплоем кода, когда настройки приходится менять? Для вас Salesforce предусмотрительно подготовил отличный инструмент Custom settings

Salesforce community заменили Custom Portals c приходом новой версии API Summer 13

Привет друзья. С выходом в свет новой версии API Summer '13 Salesforce внесло ряд серьезных изменений. Основным новшеством, которое затрагивает большую область разработки, является отказ от поддержки Customer portal (Partner portal) в пользу Salesforce Community. Изучение показало что новые community это объединенные в единое целое Portals и Sites, которые теперь стали доступны в том числе и internal salesforce users (ранее portals могли использовать только пользователи с лицензиями custmore portal user). С результатами моих исследований и инструкцией по практическому применению communities можно ознакомиться в статьях: https://salesforce-developer.ru/salesforce-communities-praktika-1/ https://salesforce-developer.ru/salesforce-community-praktika-2-nastraivaem-self-registration-i-delaem-custom-page-v-kachestve-landing-page/ https://salesforce-developer.ru/salesforce-community-praktika-2-vse-do-kuchi/

Обновление на сайте salesforce-developer.ru

Привет друзья. Продолжаю активно пополнять свой сайт salesforce-developer.ru полезными материалами. Статьи пока выходят в разрезе для начинающих, чтобы сформировать общее понятие о платформе и ее возможностях. Я стараюсь показать как по шагам разработать свое небольшое приложение "Library". Вот список последних материалов, выложенных на сайте:

Работа с объектами в salesforce (CRUD). Стандартные инструменты

Привет всем. Я хочу рассказать как работать с объектами в salesforce стандартными средствами. Для того чтобы осуществлять стандартный набор операций create read update delete в salesforce ничего программировать не надо. Система предоставляет набор страниц (new, edit, view, list) для работы с объектами. О том как добавить эти страницы в приложение salesforce читайте в статье  Работа с объектами. Добавление данных.

Создание модели данные в Salesforce

Новая статья на salesforce-developer.ru " Создание модели данные в Salesforce. Data model ".

Первое приложение на salesforce - библиотека

Чтобы охватить все основы программирования в salesforce давайте сделаем первое рабочее приложение. Практической пользы оно иметь наверное не будет, но на его основе я постараюсь охватить все стороны практической работы с платформой. Тем более мне так проще будет последовательно затронуть все моменты, о которых я пытаюсь написать в отдельных статьях. По мере продвижения вперед приложение будет усложнятся и обрастать новыми возможностями. Точно по такому же пути идет и сам salesforce, предлагая новичкам замечательный workbook . Так что любителей английского отправляю к документации. Ну а те, кто хочет почитать о личном опыте и потолковать об этом, задать вопросы прошу читать дальше. Подробнее об этом и еще больше здесь

Условный вывод информации на Visualforce странице (rendered attribute)

Сразу начну с небольшого рассуждения. Согласно требованиям salesforce, для создания Visualforce page нужно максимально использовать собственные теги <apex: ...></apex:...>. Список этих тегов достаточно внушительный и они позволяют перекрыть все потребности программиста и верстальщика. Но как показывает практика даже программисты с опытом не знают всех apex тегов, тем более что говорить про верстальщиков, привыкших работать с html. Поэтому я советую, использовать теги apex только при необходимости получить нужный функционал от salesforce. Впоследствии это очень помогает, если появится необходимость допилить страницу с помощью javascript или jquery.

Testing apex code - создание тест методов

Изображение
Написание тест методов в Salesforce занимает важное место не только потому что так надо или просит заказчик. Потому что без минимального покрытия кода тестами вы не сможете запаковать ваш код в пакет или перенести код с development org на production org. Минимальное покрытие кода составляет 75%, хотя надо стремиться к совершенству. Написание тестов по сложности можно сопоставить с написанием самого приложения, а порой и выше. Есть много особенностей, без знания которых трудно будет написать тесты быстро. Тест методы можно размещать как в самом классе с тестируемым кодом, так и в отдельном тестовом классе.

Удобная навигация (приемчики в работе)

Изображение
Хочу показать несколько полезных приемов, которые помогают мне ускорить свою работу.

Redirect на стороне контроллера

Редирект на стороне контроллера можно выполнить с помощью класса PageReference. Для начала необходимо получить экземпляр данного класса с указанием страницы, куда мы хотим перейти. Сделать это можно следующими способами:

Работа с GET параметрами в контроллере

Чтобы получить доступ к GET параметрам, которые пришли на страницу нужно воспользоваться замечательных классом PageReference. Среди прочих вкусностей он предоставляет метод getParameters, который возвращает map параметров. Получить объект PageReference текущей страницы можно так - ApexPages.currentPage(). А теперь все это только короче:

Salesforce debugger - отладка кода

Изображение
Salesforce предоставляет разработчику ряд инструментов для отладки приложения. Здесь я покажу как я пользуюсь этими инструментами, распишу ряд методик, которые выработал для себя. Кому интересно почитать первоисточник прощу сюда  Understanding the Debug Log

Контекст триггера - trigger runtime context

Класс System.Trigger предоставляет возможность получить доступ к контексту выполнения. Ниже приведен список переменных и коллекций, без использования которых работа любого триггера невозможна.

Apex Trggers - проверка предыдущего значения поля при изменении записи

Apex trigger предоставляет замечательную возможность узнать предыдущее значение поля при изменении записи. Часто приходится сталкиваться с необходимостью узнать какое значение содержалось в базе данных при изменении значения конкретного поля в записи или отследить факт изменения поля при попытке сохранить запись в базе данных