понеділок, 26 жовтня 2015 р.

Salesforce: фіксаємо помилку "Current Company is not set"

Чудова стаття про те, як пофіксати помилку Current Company is not set.


Загалом під час тесту можуть траплятися дві помилки:

1. Current Company is not set.

2. This operation cannot be performed in multi-company mode

Загалом ці помилки залежать від кількості джанкшин-обджект рекордів між юзером і кода-компані. Якщо ці квері

[ select Id from c2g__codaUserCompany__c where c2g__User__c = :UserInfo.getUserId() ].size()
[ select Count(Id) from c2g__codaUserCompany__c where c2g__User__c = :UserInfo.getUserId() ]
повертають число 0, тоді маємо помилку "Current Company is not set", якщо вони повертають число, більше за одиницю, тоді маємо помилку "This operation cannot be performed in multi-company mode".

Щоб не було помилки, потрібно мати рівно один запис в базі даних для джанкшин-обджекта кода-юзер-компані c2g__codaUserCompany__c. Тому бажано мати @isTest(seeAllData=false), бо якщо поставити @isTest(seeAllData=true). можуть бути видимі записи, які існують на сендбоксі чи продакшині.



Ось код з оригінальної статті.



@isTest 
private class salesInvoiceTestClass {
 static testMethod void salesInvoiceTest() {
 Group testGroup = new Group(Name='test group', Type='Queue');
 insert testGroup;
 QueuesObject testQueue ; 
 System.runAs(new User(Id=UserInfo.getUserId())) {
     List<queuesobject >  listQueue = new List<queuesobject >();
   queuesobject q1 = new queuesobject (queueid=testGroup.id, sobjecttype='Case'); 
   listQueue.add(q1);
   queuesobject q2 = new queuesobject (queueid=testGroup.id,                                                                 sobjecttype='c2g__codaAccountingCurrency__c'); 
   listQueue.add(q2);
   queuesobject q3 = new queuesobject (queueid=testGroup.id,                                                                 sobjecttype='c2g__codaPurchaseInvoice__c'); 
   listQueue.add(q3);
   queuesobject q4 = new queuesobject (queueid=testGroup.id, sobjecttype='c2g__codaCompany__c'); 
   listQueue.add(q4);
   queuesobject q5 = new queuesobject (queueid=testGroup.id, sobjecttype='c2g__codaYear__c'); 
   listQueue.add(q5);
   queuesobject q6 = new queuesobject (queueid=testGroup.id, sobjecttype='c2g__codaInvoice__c'); 
   listQueue.add(q6);
   insert  listQueue;

   GroupMember GroupMemberObj = new GroupMember();
   GroupMemberObj.GroupId = testGroup.id;
   GroupMemberObj.UserOrGroupId = UserInfo.getUserId();
   insert GroupMemberObj;
 }        

 c2g__codaCompany__c company = new c2g__codaCompany__c();
 company.Name = 'Test Record';
 company.c2g__CashMatchingCurrencyMode__c = 'Test Account';
 company.c2g__YearEndMode__c = 'Test Code';
 company.c2g__ExternalId__c = 'ABCDE1234567876';
 company.c2g__LogoURL__c ='ww.XYZ.com';
 company.c2g__ECCountryCode__c = 'AE' ;
 company.c2g__VATRegistrationNumber__c = 'Test 222.222.222 TVA' ;
 company.c2g__Website__c = 'ww.xyz.com';
 company.c2g__Country__c ='US';
 company.ownerid = testGroup.Id;
 insert company;

 c2g__codaYear__c yr= new c2g__codaYear__c();
 yr.Name ='2015';
 yr.c2g__AutomaticPeriodList__c =  true;
 yr.c2g__OwnerCompany__c = company.id;
 yr.c2g__ExternalId__c = 'yzsd1234';
 yr.c2g__NumberOfPeriods__c =11;
 yr.c2g__StartDate__c =  system.today() - 10;
 yr.c2g__Status__c = 'Open';
 yr.c2g__PeriodCalculationBasis__c = '445';
 yr.c2g__YearEndMode__c = 'Full Accounting Code' ; 
 yr.c2g__UnitOfWork__c = 12;
 yr.ownerid = testGroup.Id;
 insert yr;

 c2g__codaPeriod__c prd = new c2g__codaPeriod__c();
 prd.Name ='Test2015';
 prd.c2g__ExternalId__c ='abdc12345';
 prd.c2g__StartDate__c = System.today()-10;
 prd.c2g__EndDate__c= System.today()+10;
 prd.c2g__OwnerCompany__c = company.id;
 prd.c2g__PeriodNumber__c ='123';
 prd.c2g__Description__c ='test Desc';
 prd.c2g__PeriodGroup__c = 'Q1';
 prd.c2g__PeriodNumber__c = '1';
 prd.c2g__YearName__c = yr.id;
 insert prd;

 c2g__codaUserCompany__c userCompany = new c2g__codaUserCompany__c();
 userCompany.c2g__Company__c =company.id;
 userCompany.c2g__User__c = userInfo.getUserId();
 userCompany.c2g__ExternalId__c = 'ABCDE1234567876';
 userCompany.c2g__UnitOfWork__c = 111 ;
 insert  userCompany;

 c2g__codaAccountingCurrency__c accCurrency = new c2g__codaAccountingCurrency__c();
 accCurrency.c2g__OwnerCompany__c = company.id;
 accCurrency.c2g__DecimalPlaces__c = 2;
 accCurrency.Name = 'AED';
 accCurrency.c2g__Dual__c = true ;
 accCurrency.ownerid = testGroup.Id;
 insert accCurrency;

 c2g__codaExchangeRate__c exchRate = new c2g__codaExchangeRate__c();
 exchRate.c2g__ExchangeRateCurrency__c = accCurrency.id;
 exchRate.c2g__OwnerCompany__c = company.id;
 exchRate.c2g__ExternalId__c ='12323232';
 exchRate.c2g__Rate__c =44.55;
 exchRate.c2g__StartDate__c = system.today()-10;
 exchRate.c2g__UnitOfWork__c =10;
 insert exchRate;       

 c2g__codaGeneralLedgerAccount__c GLAcc = new c2g__codaGeneralLedgerAccount__c();
 GLAcc.Name = 'Retained Earnings';
 GLAcc.c2g__BalanceSheet1__c ='Balance Sheet'; 
 GLAcc.c2g__ExternalId__c ='testID';
 GLAcc.c2g__ReportingCode__c = '1234567543333';
 GLAcc.c2g__UnitOfWork__c =123;
 GLAcc.c2g__TrialBalance1__c = 'Balance Sheet' ;
 GLAcc.c2g__Type__c = 'Balance Sheet' ;
 insert GLAcc;

 Account acc= new Account();
 acc.Name='Test Account';
 acc.CurrencyIsoCode='USD';
 acc.c2g__CODAAccountsPayableControl__c = GLAcc.Id;
 insert acc;

 c2g__codaInvoice__c testInvoice = new c2g__codaInvoice__c();
 testInvoice.CurrencyIsoCode = 'USD'
 testInvoice.c2g__InvoiceDate__c = date.today().addDays(-7)
 testInvoice.c2g__DueDate__c = date.today().addDays(-7)
 testInvoice.c2g__Account__c = acc.Id
 testInvoice.c2g__OwnerCompany__c = company.id
 testInvoice.ownerid = testGroup.Id
 insert testInvoice;            
 }  
}

середу, 21 жовтня 2015 р.

Twilio Сервіс для відправлення смсок


Минулого місяця колеги розповіли про такий цікавий сервіс Твіліо, за допомогою якого можна відсилати смски на верифіковані номери.
Додати номер до списку верифікованих можна на своєму профайлі, після чого клацнути веріфай - щоб на вказаний номер подзвонили чи відправили смс з кодом, який треба ввести для підтвердження верифікації.
При реєстрації треба верифікувати хоча б один номер.
Глобальні налаштування містять країни, куди дозволяється відсилати смски, якщо не вибрати там України, буде видавати помилку "Permission to send an SMS has not been enabled for the region indicated by the 'To' number:" 
Можливо комусь буде цікаво.
Там я не давав посилання на реалізацію свою, ось сторінка, з якої можна мені відправляти смски
У своїй версії я не сильно змінив реалізацію, єдине що, то це змінив едітбокс на дропдаун, оскільки у пробній безкоштовній версії можна відправляти смски лише на верифіковані номери, а не на всі.
При налаштуванні цього сервісу буде потрібно пройти усі кроки, що подані на сторінці з кодом, тобто:
  1. Зареєструвати безкоштовну пробну версію сервісу, створити номер, з якого будуть відправлятися смс, верифікувати усі номери, на які збираєтесь відправляти смски.
  2. Додати віддалений сайт (<ваш інстанс>/0rp/e)  https://api.twilio.com
  3. Створити клас Sendsms
    public class Sendsms {
        public String phNumber{get;set;}
        public String smsBody{get;set;}
        String accountSid;
        string token;
        String fromPhNumber;
        errorResponseWrapper erw;
        public sendsms(){
            phNumber ='+'+Apexpages.currentpage().getparameters().get('phNumber');
            accountSid = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';
            token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
            fromPhNumber = 'xxxxxxxx';
        }
        public void processSms(){
            HttpRequest req = new HttpRequest();
            req.setEndpoint('https://api.twilio.com/2010-04-01/Accounts/'+accountSid+'/SMS/Messages.json');
            req.setMethod('POST');
            String VERSION  = '3.2.0';
            req.setHeader('X-Twilio-Client', 'salesforce-' + VERSION);
            req.setHeader('User-Agent', 'twilio-salesforce/' + VERSION);
            req.setHeader('Accept', 'application/json');
            req.setHeader('Accept-Charset', 'utf-8');
            req.setHeader('Authorization','Basic '+EncodingUtil.base64Encode(Blob.valueOf(accountSid+':' +token)));
            req.setBody('To='+EncodingUtil.urlEncode(phNumber,'UTF-8')+'&From='+EncodingUtil.urlEncode(fromPhNumber,'UTF-8')+'&Body='+smsBody);
            Http http = new Http();
            HTTPResponse res = http.send(req);
            if(res.getStatusCode()==201)
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'SMS Sent Successfully'));
            else{
                erw =(errorResponseWrapper)json.deserialize(res.getBody(),errorResponseWrapper.class);
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,erw.message));
            }
        }
        public class errorResponseWrapper{
            String code;
            String message;
            String moreInfo;
            String status;    
        }
    }
  4. Створити сторінку
    <apex:page controller="Sendsms" sidebar="false" showHeader="false" title="Send SMS">
    <apex:pagemessages />
    <apex:form >
    <br/>
    <center><b>Send SMS</b> <br/><br/>
    <b>To</b> &nbsp;&nbsp;&nbsp;&nbsp;<apex:inputtext value="{!phNumber}"/> <br/><br/><br/>
    <b>Body</b>&nbsp;<apex:inputtext value="{!smsBody}"  /> &nbsp;<br/>(160 Char Max)<br/><br/><br/>
    <apex:commandButton value="Send Sms" action="{!processSms}"/>
    </center>
    </apex:form>
    </apex:page>
  5. Перейти на дану сторінку або створити додаткову кнопку для відправлення смс.
  6. Профіт!!!
От тільки з останнім пунктом проблема. Не зрозуміло, як це можна монетизувати, і як можна отримати з цього прибуток?
Можна було б заплатити за платну версію, щоб зробити доступним відправлення смс на всі номери, але що з того? Тільки витрати, і жодного прибутку. Може, хтось має якусь ідею для монетизації?

понеділок, 19 жовтня 2015 р.

Нові фічі релізу Зима'16: Кеші і розбиття


 В новому релізі хмарної платформи (самі знаєте, якої) з'явилося нове поняття. Кеші. Як підказує нам Васюник, є два кеші: Cache.Session (кеш сесії) та Cache.Org (кеш організації).
Дані в першому кеші прив'язані до сесії певного юзера, дані в другому кеші прив'язані лише до організації і не прив'язані до сесії чи користувача.


Також є два розбиття. Кеш можна розбити на декілька розбиттів, кожне з яких матиме свої дані.
Кеш сесії можна безпосередньо використовувати у Віжуелфорс сторінках через синтаксис {!Cache.Session.простір_імен.назва_розбиття.ключ}.
Однак до цього кешу не можна доступитися з анонімного блоку виконання, натомість до кешу організації можна.
Кожен зі згаданих класів поводиться як мапа, кожен з них має методи "put", "get", "contains".

пʼятницю, 24 квітня 2015 р.

Потрібні автори\перекладачі

Останнім часом я рідко коли наповнював цей блоґ, це пов'язано з тим, що він має малу відвідуваність - мало хто цікавиться матеріалами про технологію Salesforce українською мовою, тому я перестав писати україномовні статті, а здебільшого писав англомовні статті у іншому блозі на вордпресі, деякі з яких недавно почали перепощувати на блозі компанії, де я зараз працюю, наприклад, цю статтю, цю, цю і цю.
Не знаю, чи когось все таки цікавлять матеріали про Salesforce українською мовою, якщо так - то запрошую до співпраці. Можете звертатись до мене особисто або просто прокоментувати цю публікацію, якщо Ви бажаєте писати якісь україномовні статті в цій юзергрупі або перекладати існуючі статті написані мною чи ті, які я перепощую на особистому блозі - серед них є справді цікаві матеріали, однак в мене немає часу перекладати їх українською, і дуже сумнівно, чи це комусь потрібно.

четвер, 23 квітня 2015 р.

3-денний експрес-курс для тих, хто хоче освоїти програмування на платформі Salesforce


Позавчора, вчора і сьогодні, о 19:00. 3-денний експрес-курс для тих, хто хоче освоїти програмування на платформі Salesforce. Проводить мій колега Dima Smirnov, автор блоґу http://dimmys.blogspot.com/ та першої спроби створити юзер-групу у Львові http://lvivforcecom.blogspot.com/

Дякую 
Khrystyna Lutskiv за красиву картинку

четвер, 8 січня 2015 р.

Враження від вебінару Весна'15

Відбувся вебінар оглядовий про версію Весна'15 ПродажноїСили.
https://developer.salesforce.com/events/webinars/spring_15_release_preview_highlights
Багато бажаючих не змогли потрапити на вебінар через обмеження в 1001 юзерів, що могли приєднатися. Отже, як мінімум 1001 людина слухала цей вебінар.

Ведучі не відповіли на мої запитання

Q: What is the maximum number of filter criteria inside one step of process builder? What is the maximum number of actions fired by one step of process builder?


Q: What is maximum number of versions inside process builder?

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

#forcewebinar @salesforcedevs Is 50 or 30 the limit for filter criteria in process builder?

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

А взагалі треба читати релізноути.
https://developer.salesforce.com/releases/release/Spring15

Запис чату тут: http://sug-lviv.blogspot.com/2015/01/spring15-preview.html

Запис чату з семінару Spring'15 Preview

Audience Question
Q: Hello
A: Welcome to the webinar!



Salesforce Developers (to All - Entire Audience):
8:05 PM: Good day all! Welcome to the webinar! Your host @SoniaAdvani



Salesforce Developers (to All - Entire Audience):
8:05 PM: Our speakers today:



Salesforce Developers (to All - Entire Audience):
8:05 PM: Michael Gerholdt
Admin Evangelist @MikeGerholdt



Salesforce Developers (to All - Entire Audience):
8:05 PM: Bill Takacs
Director of Product Management, Visual Workflow
@SFDCBill



Salesforce Developers (to All - Entire Audience):
8:06 PM: Josh Kaplan
Director of Product Management @JoshSfdc



Salesforce Developers (to All - Entire Audience):
8:06 PM: Adam Torman
Director of Product Management @atorman



Salesforce Developers (to All - Entire Audience):
8:06 PM: This webinar is being recorded!
The video will be posted to YouTube
& the webinar recap page
(same URL as registration)



Audience Question
Q: A co-worker can't get - it says the session is full.  Whats up?
A: Goto Webinar caps the participation at 1001 unfortunately



Salesforce Developers (to All - Entire Audience):
8:07 PM: Please allow a week or so after the webinar! Thank you!



Salesforce Developers (to All - Entire Audience):
8:07 PM: Go social with us!:



Salesforce Developers (to All - Entire Audience):
8:07 PM: Twitter:    @salesforcedevs / #forcewebinar



Audience Question
Q: Hi, I have a colleague who is trying to get in but it's saying the meeting space is full
A: Sorry, the service maxed out with so many listeners. We will be posting the recording soon after for all those who couldn't get into the webinar.



Salesforce Developers (to All - Entire Audience):
8:08 PM: FB/LI/YouTube/Google+ : Salesforce Developers



Salesforce Developers (to All - Entire Audience):
8:08 PM: Have Questions?



Salesforce Developers (to All - Entire Audience):
8:08 PM: Don’t wait until the end to ask your question!
Technical support will answer questions starting now.
Respect Q&A etiquette
Please don’t repeat questions. The support team is working their way down the queue.
Stick around for live Q&A at the end
Speakers will tackle more questions at the end, time-allowing.
Head to Developer Forums
More questions? Visit developer.salesforce.com/forums



Audience Question
Q: There about four or five groups called "Salesforce Developers" on fb. What is the 'true' group?
A: www.facebook.com/salesforcedevs



Audience Question
Q: Duplicate Mnagement GA?
A: Yes in Spring 15. Requres Admin setup



Audience Question
Q: Is this only for data.com for duplicate management?
A: Duplicate management uses our data.com engine, but doesn't require a data.com license.



Audience Question
Q: Duplicate Management - Do we need Data.com in order to use this feature?
A: No.



Q: What is the maximum number of filter criteria inside one step of process builder? What is the maximum number of actions fired by one step of process builder?


Q: What is maximum number of versions inside process builder?


Audience Question
Q: how is this different from dupeblocker or demandtool features?
A: It's similar, but works at the point of data entry. Not for existing duplicates.



Audience Question
Q: The Duplicate Prevention is "only" on Accounts, Leads and Contacts objects. Is it also possible to extend this future to Custom Objects as well?
A: Maybe in a future release, but for Spring it's only on Accounts, Leads, and Contacts.



Audience Question
Q: Not available on the desktop?
A: Sales path? No. Only available on Salesforce1



Audience Question
Q: Is Sales Path available on the desktop client also?
A: No only on mobile- Salesforce1



Audience Question
Q: Is Sales Path like a workflow?
A: No. Sales path is a visualization of steps of the sales cycle that show where a salesperson is in the sales process.



Audience Question
Q: Is salespath available on the desktop application too ?
A: No only on the Salesforce1 for Spring 15.



Audience Question
Q: Is this Sales Path only going to be showing the Stages for that Opp record t ype?  or can you customize the path steps?
A: Sales Path is totally customizable. You decide what it shows.



Audience Question
Q: Sales Path - Will this be available for other objects, such as cases?
A: For Spring 15, only Opportunities. This would be a great idea to post to the IdeaExchange.



Audience Question
Q: How many Criteria can you have in a single Process?
A: You can have up to 50 criteria in a single process



Audience Question
Q: will salespath just work with opportunities, or will it work with cases as well?
A: For Spring 15 only Opportunities. But this would be a great idea to post to the IdeaExchange



Audience Question
Q: Is sales Path only for mobile, or is it available on PCs as well?
A: For Spring 15, yes only Salesforce1 mobile.



Audience Question
Q: Is Sales Path available in "desktop" version?
A: For Spring 15 only on Salesforce1 mobile.



Audience Question
Q: Is the traditional workflow still available post Spring '15 release ?
A: Absolutely. Workflow Rules will still exist and your rules will continue working



Audience Question
Q: Is Sales Path available on Service Cloud as well as Sales Cloud?
A: For Spring 15 Sales Path is available for Opportunities.



Audience Question
Q: What does GA mean?
A: Generally Available, Availabe as part of the product



Audience Question
Q: Will Salespath and Deduplication be avalible in Profesional editions?
A: Available in:
• Professional • Enterprise
• Performance • Unlimited
• Developer



Audience Question
Q: Will Process Builder be able to invoke an APEX class that has a callout to an external web service?
A: Yes, Process Builder can invoke any APEX class. Webservice callout is one of the primary use cases



Audience Question
Q: Will Process Builder still fail on Apex Limitations like Mixed DML Operations, etc.?
A: Yes,  Process Builder is built on the Salesforce Platform.   It will respect the limits.  #safeharbor, we are working to update how we handle limits.  Moving from a fixed number to a time based limit.



Audience Question
Q: Is paths also available for custom objects?
A: In Spring 15, only for Opportunities.



Audience Question
Q: Is the social starter pack an add-on purchase? If so, is pricing available?
A: I would contact your Account Executive.



Audience Question
Q: If you pause a flow, does the same user have to pick it back up or can anyone pick it up?
A: For now the same user has to pick up back up.  #safeharbor,  we are working on the ability to handoff a flow interview (an interview is a running instance of a flow) to another user.



Audience Question
Q: Creating records with this? That is awesome.
A: We think so too!



Audience Question
Q: If we have an existing process consisting of multiple workflow rules/triggers that were developed prior to process builder/flows being available, it would be nice if the platform could interpret these/import them into a Flow or Process.  Is this on the roadmap?
A: Automated migration isn't poss



Audience Question
Q: Hi - Process Builder goes GA in the upcoming release, but what is the status of Visual Workflow - is that GA now?
A: Visual Workflow is GA and has been for many releases.



Audience Question
Q: Process Builder is delivering some features wanted for a lonnnnnnngggg time Good work team!!!
A: :)



Audience Question
Q: Can APEX be executed from Process Builder?
A: Yes,  you can use the new APEX Action to call / APEX from Process Builder



Audience Question
Q: Are there any other limits around process builder, besides number of criteria?
A: All the standard Apex limits apply (same as in Flow) see the help doc for all the details. Thx



Audience Question
Q: In process builder example, if you update your Stage picklist names, will it automatically update on the process builder or do you have to update there also?
A: It will be updated in Process Builder, PB 'reads' what is in your salesforce data/config



Audience Question
Q: Is the add-on additional cost?
A: Can you clarify which Add-on you are asking about?



Audience Question
Q: Flows today would automatically be migrated into Process Builders?
A: Acutally Process Builder uses Flow,  so when you build a Process it builds a Flow "under the hood".   #safeharbor we are working on away that you'll be able to migrate your Process to Flow.



Audience Question
Q: Is this process builder avilable in Developer addition org?
A: Yes,  DE also Performance, Enterprise and Unlimited Editions



Audience Question
Q: If you decide to use Process Builder, will you have to re-write all your current workflows in there? Or can they run side by side?
A: Existing workflows can continue to run along with any new Processes you create. You can migrate at your own pace.



Audience Question
Q: Is the Process Builder publicly available or pilot?
A: It is publicly available - what we mean by GA (genrally available).



Audience Question
Q: Will Process Builder allow incorporation of custom objects, or just standard ones?
A: Yes, Process Builder works on Custom objects as well



Audience Question
Q: can we have multiple criterias in Process builder WF ?
A: Yes



Salesforce Developers (to All - Entire Audience):
8:39 PM: Want to know about more great webinars like this? Follow me, your SFDC webinar host on twitter! @SoniaAdvani



Audience Question
Q: Does Duplicate Management only work for records you have access to? If I want to create Contact A, and it matches Contact B, but I don't have access to Contact B...will it show a duplicate exists?
A: You can have Duplicate management respect sharing rules, or override sharing rules.



Audience Question
Q: Can you add additional criteria to the right after you meet a criteria and execute an action?
A: Not yet. Currently it works like this: Criteria = True>Actions>Stop. It is on the near-term roadmap to allow additional criteria after actions.



Audience Question
Q: how is process builder different from visual workflow?
A: Think of Process Builder as the next generation of Workflow.   If you need to use screens (build forms) or need complext logic / decisions you'll want to use Flow.



Audience Question
Q: Process builder - can you add another criteria if your from a true branch?
A: Not yet. Currently it works like this: Criteria = True>Actions>Stop. It is on the near-term roadmap to allow additional criteria after actions.



Audience Question
Q: what about quick deploy ?
A: Will talk about that shortly



Audience Question
Q: If I well understand, Process Builder coexists with flows and approval rules and permits to build "real" processess that integrates that existent features ?
A: Yes, think of it as the next generation of workflow rules - in the future we will add Approvals functionality as well.



Audience Question
Q: Sales Path! Is it avaialbel only on mobile?
A: Yes Salesforce1.



Audience Question
Q: Using the process builder, in the demonstration, can we filter on the contacts to update s specific contact rather than all contacts? Or should that still be implemented using Triggers?
A: Right now you can't - but this is on our short term roadmap as the next step in more power/control for users. Currently you can do this with Flow & Triggers.



Audience Question
Q: How is Flow different from the Process Builder?
A: The short answer is yes.   You can think of Process Builder as having a subset of Flow functionality with a super easy to use interface.  If you have a process that requires complex logic or needs user inputs (screens / forms) you'll need to use Flow.



Audience Question
Q: Does Sales Path respect multiple Sales Processes? i.e. different stages for different sales processes and record types
A: You can set up Sales Path by Record Type.



Audience Question
Q: Please show us how to use builder with apex class.
A: Sorry we have very limited time on this particular webinar so we had to present a very simple scenario. We will have tutorials and guides online soon to help.



Audience Question
Q: If you decide to use Process Builder, will you have to re-write all your current workflows in there? Or can they run side by side?


A: They can run side by side but we'd recommend that you eventually migrate your existing WF rules to Process Builder.   Process Buildeer will enable you to do more and is more efficient that existing WF Rules.



Audience Question
Q: Could you exclude some Contacts from being updated, in this last example?
A: Right now you can't select certain records- but  we have filtering with criteria for update on our short term roadmap as the next step in more power/control for users. Currently you can do this with Flow & Triggers.



Audience Question
Q: Does the address have to match exactly?  e.g., 1234 Main Street vs 1234 Main St. vs 1234 Main St
A: The filter criteria was simple - ISCHANGED = TRUE, so in that Process, any change to the address would trigger the Process and update all the Contacts with the updated address.



Audience Question
Q: As an ISV, can you package processes from the process builder in a managed package?
A: Yes, Processes are packagable



Audience Question
Q: Fist pump for Process Builder!!
A: Thanks! Looking forward to your feedback once you use it.



Audience Question
Q: Is there a way to add in a verification--like a message that says, do you want to update all contact addresses?
A: You'll want to use Visual Workflow if you need  interact with a user when exectuing an automated process.    Process Builder will execute its process based on how you configure it.   Currently there is no way, in Process Builder, to have User Interaction as described.



Audience Question
Q: Can you define multiple branches in a process or are they only linear?
A: Not yet. Currently it works like this: Criteria = True>Actions>Stop. It is on the near-term roadmap to allow additional criteria after actions to allow some simple branching.



Audience Question
Q: What is the difference betwwen visual workflow and process builder
A: Process Builder is built "on top" of Visual Workflow.  As of now you can have decisions with multiple outcomes (complex logic) or screens for User Interactions.



Audience Question
Q: See it
A: Great!



Audience Question
Q: Is the purpose of Process Builder to replace the usage of creating multiple workflow rules?
A: Yes - that's one of its strengths, along with more cross object workflow and more powerful actions.



Audience Question
Q: is process builder a paid feature?
A: No cost and its available in Developer, Performance, Enterprise and Unlimited editions.



Audience Question
Q: not able to see this screen
A: Thanks



Audience Question
Q: Can the process builder fire from any object, or is it only for certain objects?
A: PB can fire from all primary standard objects and custom objects. There's a limitation currently around secondary objects like Case Comments. Those are on the roadmap.



Audience Question
Q: I don't believe the Process Builder Pilot version would not allow you edit a saved Process... any changes?
A: Yes, we now have versions. The pilot req'd you to create a new process entirely.



Audience Question
Q: what happens to the existing Workflow Rules after Spring '15 release ?
A: Workflow Rules will stick around and will continue running.



Audience Question
Q: Is there a maximum number of criteria per process?
A: Max criteria is 50



Mike   (to All - Entire Audience):
8:54 PM: For all the information about Spring 15 visit - http://www.salesforce.com/customer-resources/releases/spring15/



Audience Question
Q: can you add another criteria if your criteria results in true or only an action?
A: Not yet. Currently it works like this: Criteria = True>Actions>Stop. It is on the near-term roadmap to allow additional criteria after actions to allow some simple branching.



Q: Is testSetup called for all tests in organization or all tests in class where it was declared?4
A: The setup method is only run for the class in which it is declared.  Each class can have its own test setup method. These can all call common utility methods if they need similar reference data.



Audience Question
Q: Does DupeBlock require data.com licenses or is it independant of that?
A: No it does not require a data.com license.



Audience Question
Q: In Process Builder pilot, we haven't been able to delete processess that have been activated within the last 12 hours, even in a sandbox - this has made it very difficult to develop and troubleshoot because we have to keep "Saving As" a new process and cannot delete the old. does versioning allow modifying when it's been recently activated?
A: The reason for the limitations is to ensure that any actions or other items in the process complete  In other words nothing get "stuck" because a process got deleted.   #safeharbor we are evaluating the capability to override the 12 hour limit.  Possible feature for an upcoming release.



Audience Question
Q: Will process builder work any unrelated object ?
A: Not yet - right now it can access any RELATED record. Flow can access Unrelated records. It's on our roadmap to work on a simplified way for PB to access unrelated records.



Audience Question
Q: is process builder and lightning process builder are both same?
A: Yes they are sorry for the confusion



Audience Question
Q: would be nice to have a utility that moves workflows/rules to process builder automatically
A: Unfortunately it's not feasible because it's not a 1-1 mapping. Multiple workflow rules could be subsumed into a single process.



Audience Question
Q: When will we have access to use Process Builder?
A: Process Builder is available in Spring '15 Release for all UE, EE, Performance and DE editions.