Thursday, 18 February 2016

Bristol DUG Report - Spring '16 Preparation Quiz (With TEST SLAYER!)

On Wednesday 10th February, the Bristol Developer User Group met at the Desynit offices. In the city you could go outside at 5pm without it being pitch black, and no more ice patches were waiting to greet you outside your door, which meant only one thing, spring was just around the corner. How appropriate then, that this edition of the DUG covered the Spring '16 release, focusing on some of the new cool features coming to all Salesforce orgs.

Local Salesforce MVP Simon Lawrence kicked things off with a presentation on some of the new cool Apex code features arriving in Spring '16. The presentation included the awesome ability to set the created dates on test methods (my favourite portion of the release), and also create test suites of re-runnable tests. The presentation also mentioned how developers also now have the ability to stop test runs that already have failing tests registered, making the rerun cycle cover much less time. This ability to halt tests doesn't have an official name, so Simon created the name TEST SLAYER, which I really hope Salesforce adopt!




Simon also covered some additional enhancements, including global picklists and API enhancements. An important concept with the Spring '16 is that from this release forward, all results returned from SOQL queries will be formatted in the locale of the executing user. This could be very significant for multi-national orgs who have to present information to users in different formats, not only from a functionality standpoint, but also from a testing perspective. So be aware that you may have to make some changes!


Here are Simon's presentation slides:


After the presentation, it was time to check if the attendees were ready for the release exam, with a quick fire 10 question quiz. The quiz focused on the features contained in the slides.

While Simon busily marked all the attendees scores, I provided a presentation with live demos of some of the great new features coming to Lightning Experience as part of Spring '16. A new feature that will interest developers is the introduction of new user level global variables for the intended and actual theme displayed to users. Prior to this release, the process of distinguishing which UI theme (LEX, Classic or other) users were viewing content with through code was a tricky business involving interrogating the existence of the sforce.one javascript global. Now with the new UITheme and UIThemeDisplayed variables, available through both the $User global variable and the Userinfo Apex class, this process has been made much more simple and reliable.



Here are my presentation slides:


As soon as my presentation and accompanying demos were completed, Simon read out the answers to the quiz questions and announced the winner. Congratulations to Käbi from Desynit, who scooped the top prize of a Starbucks voucher. The award was presented by Salesforce MVP Simon Goodyear, fresh and buzzing from co-running the massive Londons Calling SF community event!


Thanks to all those who attended, great to see you all, we hope to see you again next month. If you are an existing or aspiring Salesforce developer, why not come along to our next meetup, details here: http://www.meetup.com/Bristol-Salesforce-Platform-Developer-User-Group/events/227339685/

For those who fancy testing their knowledge for the Spring release before the release are available exams, here are the questions and answers from the quiz (no cheating using the slides haha):

Questions:
1. The last/end date of the Spring '16 production roll out?

2. When using a global picklist on a custom field, can you use Profile settings to exclude some values from displaying to certain users?

3. How many test classes can you include in a test suite?

4. For two points: What is the exact, and correct syntax to set the created date of a contact, called “c” to the second of July 1984, in a United Kingdom locale org?

5. What would you enter to make a test exit as soon as the first test fails?

6. Can you delete a Global Picklist definition once it’s created?

7. What API number is Spring’16?

8. Can you set the CreatedDate on a record to be “in the future”?

9. What setup menu item is “Picklists” under?

10. Bonus Question (used as a tie breaker) : How many points does the original “provide universal picklists” ideas exchange post have?

Answers:
1) Sat. Feb 13th 2016
2) No
3) 200
4) Test.setCreatedDate(c.Id, DateTime.newInstance(1984,07,02));
5) 0
6) Yes
7) 36
8) Yes
9) Create
10) 44340