Регистрация  |  Вход

Salesforce Spring ’23 Release Dates

December 21: Preview release notes are available
January 6 and 7: Sandboxes upgraded
January 6: Spring ’23 release site is live
February 10 and 11: Final release weekend

https://www.salesforceben.com/salesforce ... rmation/
December 21: Preview release notes are available
January 6 and 7: Sandboxes upgraded
January 6: Spring ’23 release site is live
February 10 and 11: Final release weekend

https://www.salesforceben.com/salesforce-spring-23-release-date-preview-information/
General Features:
1. Dynamic Forms for Case and Leads objects (+ existing for Account, Contact and Opportunity)

2. Fetch Data Using the GraphQL Wire Adapter (Pilot): – Built on the Salesforce GraphQL API, the GraphQL wire adapter enables you to use UI API-enabled objects with the object-level security and field-level security of the current user. Lightning Data Service provides the wire adapter with client-side caching and data management capabilities.
https://help.salesforce.com/s/articleVie ... ease=242


3. Field History Tracking for Activities (Task and Event)
up to 6 fields

4. Return characters in a String in Reverse Order - $REVERSE (не знаю где это можно использовать, но nice)

5. Track File Download in Near-Real Time with FileEvent (Beta)
With FileEvent in Salesforce Real-Time Event Monitoring, you now get real-time notifications when a user downloads a file containing sensitive information. File Event supports transaction security policies.

6. Limit the Maximum number of Loaded Lightning Console Tabs in a session. (required to enable it and define a number of tabs)
General Features:
1. Dynamic Forms for Case and Leads objects (+ existing for Account, Contact and Opportunity)

2. Fetch Data Using the GraphQL Wire Adapter (Pilot): – Built on the Salesforce GraphQL API, the GraphQL wire adapter enables you to use UI API-enabled objects with the object-level security and field-level security of the current user. Lightning Data Service provides the wire adapter with client-side caching and data management capabilities.
https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_graphql_wire.htm&type=5&release=242


3. Field History Tracking for Activities (Task and Event)
up to 6 fields

4. Return characters in a String in Reverse Order - $REVERSE (не знаю где это можно использовать, но nice)

5.  Track File Download in Near-Real Time with FileEvent (Beta)
With FileEvent in Salesforce Real-Time Event Monitoring, you now get real-time notifications when a user downloads a file containing sensitive information. File Event supports transaction security policies.

6. Limit the Maximum number of Loaded Lightning Console Tabs in a session. (required to enable it and define a number of tabs)
Implementation / Development features:

7. Screen FLOW - Reactive Screen Components (Beta)например показать результаты поиска в таблице когда пишешь в строке поиска
8. FLOW  - make calls to external web services from within Flow Builder without any need for code (Beta)
using "Create HTTP Callout (Beta)" option in flow
9. Development
Improved conditional directives
https://help.salesforce.com/s/articleVie ... ease=242
<template> <template lwc:if={isTemplateOne}> This is template one. </template> <template lwc:else> This is template two.</template>

10. Secure Apex code with User Mode in DML. (GA)
List<Account> acc = [SELECT Id FROM Account WITH USER_MODE];
https://help.salesforce.com/s/articleVie ... ease=242

11.  Dynamically pass Bind variables to a SOQL queryWith the new Database.queryWithBinds, Database.getQueryLocatorWithBinds, and Database.countQueryWithBinds methods, the bind variables in the query are resolved from a Map parameter directly with a key rather than from Apex code variables. As a result, it’s not necessary for the variables to be in scope when the query is executed.
https://help.salesforce.com/s/articleVie ... ease=242
Implementation / Development features:

7. Screen FLOW - Reactive Screen Components (Beta)например показать результаты поиска в таблице когда пишешь в строке поиска
8. FLOW  - make calls to external web services from within Flow Builder without any need for code (Beta)
using "Create HTTP Callout (Beta)" option in flow
9. Development
Improved conditional directives
https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_if_else.htm&type=5&release=242
[code]<template> <template lwc:if={isTemplateOne}> This is template one. </template> <template lwc:else> This is template two.</template>
[/code]

10. Secure Apex code with User Mode in DML. (GA)
[code]List<Account> acc = [SELECT Id FROM Account WITH USER_MODE];[/code]
https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_User_Mode_GA.htm&type=5&release=242

11.  Dynamically pass Bind variables to a SOQL queryWith the new Database.queryWithBinds, Database.getQueryLocatorWithBinds, and Database.countQueryWithBinds methods, the bind variables in the query are resolved from a Map parameter directly with a key rather than from Apex code variables. As a result, it’s not necessary for the variables to be in scope when the query is executed.
https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_bind_var_soql.htm&type=5&release=242

Eric
Fetch Data Using the GraphQL Wire Adapter
Вот это интересненько. Пробовал GraphQL на одном Python проекте, очень понравилось. Хотя я не сторонник юзать дата модель (SObject и SObject Fields) на фронте. Я везде делаю DTO классы и перегоняю данные в них, а потом отправляю на фронт. Больше гибкости в этом и на фронте нет прямой зависимости от дата модели. Интересно как с GraphQL будет это все выглядеть.

Eric
9. Development
Improved conditional directives
lwc:if, lwc:elseif, lwc:else - а вот это хорошая штука. Честно поднадоело if:true/if:false огороды городить. Но лично я очень скучаю по настоящим expression в теплейтах (к примере item.mode == 'list') а не просто boolean переменная. Надоело эти костыли из геттеров городить.

Eric
11.  Dynamically pass Bind variables to a SOQL queryWith
А вот это интересно попробовать. Часто использую динамические запросы. И естественно с биндингом, но не испытывал проблем иметь переменную в scope чтобы ее подхватил динамический запрос так как все переменные обычно приходят в виде параметров метод. А так чтобы из map параметры биндить что-то еще не припомню необходимости. Но знать про эту фичу полезно!
[quote="Eric"]Fetch Data Using the GraphQL Wire Adapter[/quote]
Вот это интересненько. Пробовал GraphQL на одном Python проекте, очень понравилось. Хотя я не сторонник юзать дата модель (SObject и SObject Fields) на фронте. Я везде делаю DTO классы и перегоняю данные в них, а потом отправляю на фронт. Больше гибкости в этом и на фронте нет прямой зависимости от дата модели. Интересно как с GraphQL будет это все выглядеть.

[quote="Eric"]9. Development
Improved conditional directives[/quote]
lwc:if, lwc:elseif, lwc:else - а вот это хорошая штука. Честно поднадоело if:true/if:false огороды городить. Но лично я очень скучаю по настоящим expression в теплейтах (к примере item.mode == 'list') а не просто boolean переменная. Надоело эти костыли из геттеров городить.

[quote="Eric"]11.  Dynamically pass Bind variables to a SOQL queryWith[/quote]
А вот это интересно попробовать. Часто использую динамические запросы. И естественно с биндингом, но не испытывал проблем иметь переменную в scope чтобы ее подхватил динамический запрос так как все переменные обычно приходят в виде параметров метод. А так чтобы из map параметры биндить что-то еще не припомню необходимости. Но знать про эту фичу полезно!
Вот еще интересная фича! Использую достаточно часто когда сложные интерфейсы пилятся. С этим проблем не было, но то как это будет выглядеть теперь намного все проще. Плюс автокоплит в редакторе может будет обрабатывать.
Query DOM Elements with Refs
Вот еще интересная фича! Использую достаточно часто когда сложные интерфейсы пилятся. С этим проблем не было, но то как это будет выглядеть теперь намного все проще. Плюс автокоплит в редакторе может будет обрабатывать.
[url=https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_templaterefs.htm&type=5&release=242]Query DOM Elements with Refs[/url]
И вот эта штука крайне заманчиво звучит
Enable Third-Party Integrations with Light DOM (Beta)
Я не очень люблю Shadow DOM, но понимаю что для инкапсуляции очень полезная штука чтобы не навредить другим компонентам. Но мне больше нравится подход как в том же Angular когда ВСЕ рендерится в один большой html и скажем те же глобальные стили можно легко накатить на все компоненты. Или с легкостью поменять стили из родителя внутри подчиненного компонента. И мне этого крайне не хватает в Lightning Components. Конечно данная фича касается кастомных компонентов и при желании в них можно пробросить все что угодно из родителя (добавить поддержку каких-то доп параметров) но хотелось бы видеть что-то подобное и для стандартных. Иногда так хочется поиздеваться над видом стандартного компонента, но хрень туда влезешь.
И вот эта штука крайне заманчиво звучит :surprised:
[url=https://help.salesforce.com/s/articleView?id=release-notes.rn_lwc_light_dom.htm&type=5&release=242]Enable Third-Party Integrations with Light DOM (Beta)[/url]
Я не очень люблю Shadow DOM, но понимаю что для инкапсуляции очень полезная штука чтобы не навредить другим компонентам. Но мне больше нравится подход как в том же Angular когда ВСЕ рендерится в один большой html и скажем те же глобальные стили можно легко накатить на все компоненты. Или с легкостью поменять стили из родителя внутри подчиненного компонента. И мне этого крайне не хватает в Lightning Components. Конечно данная фича касается кастомных компонентов и при желании в них можно пробросить все что угодно из родителя (добавить поддержку каких-то доп параметров) но хотелось бы видеть что-то подобное и для стандартных. Иногда так хочется поиздеваться над видом стандартного компонента, но хрень туда влезешь.
Eric
FLOW  - make calls to external web services from within Flow Builder without any need for code (Beta)
using "Create HTTP Callout (Beta)" option in flow

Интересно, а будут такие же ограничения как с триггерами или нет?)

Eric
11.  Dynamically pass Bind variables to a SOQL queryWith the new Database.queryWithBinds, Database.getQueryLocatorWithBinds, and Database.countQueryWithBinds methods, the bind variables in the query are resolved from a Map parameter directly with a key rather than from Apex code variables. As a result, it’s not necessary for the variables to be in scope when the query is executed.
https://help.salesforce.com/s/articleVie ... ease=242

А тут вопрос чисто в том, а какая разница, кроме того что это будет MAP.


Dmitry Shnyrev
Вот еще интересная фича! Использую достаточно часто когда сложные интерфейсы пилятся. С этим проблем не было, но то как это будет выглядеть теперь намного все проще. Плюс автокоплит в редакторе может будет обрабатывать.
Query DOM Elements with Refs

да, выглядит круто, жаль что нельзя их использовать для повторяющихся элементов, придется делать старый добрый template.query
[quote="Eric"]FLOW  - make calls to external web services from within Flow Builder without any need for code (Beta)
using "Create HTTP Callout (Beta)" option in flow[/quote]

Интересно, а будут такие же ограничения как с триггерами или нет?)

[quote="Eric"]11.  Dynamically pass Bind variables to a SOQL queryWith the new Database.queryWithBinds, Database.getQueryLocatorWithBinds, and Database.countQueryWithBinds methods, the bind variables in the query are resolved from a Map parameter directly with a key rather than from Apex code variables. As a result, it’s not necessary for the variables to be in scope when the query is executed.
https://help.salesforce.com/s/articleVie ... ease=242[/quote]

А тут вопрос чисто в том, а какая разница, кроме того что это будет MAP.


[quote="Dmitry Shnyrev"]Вот еще интересная фича! Использую достаточно часто когда сложные интерфейсы пилятся. С этим проблем не было, но то как это будет выглядеть теперь намного все проще. Плюс автокоплит в редакторе может будет обрабатывать.
Query DOM Elements with Refs[/quote]

да, выглядит круто, жаль что нельзя их использовать для повторяющихся элементов, придется делать старый добрый template.query
Maxim Elets
Интересно, а будут такие же ограничения как с триггерами или нет?)

не совсем понял, какие ограничения ты имеешь ввиду.

Работает примерно так:
создаешь Screen Flow, quick action чтоб отркрыть его.
+ Named Credential with service endpoint.

в "Create HTTP Callout Beta" component выбераешь Named Credential, заносишь JSON response example,чтоб был mapping между полями в response и flow variables.

вызов синхронный - Request & Reply
[quote="Maxim Elets"]Интересно, а будут такие же ограничения как с триггерами или нет?)[/quote]

не совсем понял, какие ограничения ты имеешь ввиду.

Работает примерно так:
создаешь Screen Flow, quick action чтоб отркрыть его.
+ Named Credential with service endpoint.

в "Create HTTP Callout Beta" component выбераешь Named Credential, заносишь JSON response example,чтоб был mapping между полями в response и flow variables.

вызов синхронный - Request & Reply
Eric
Maxim Elets
Интересно, а будут такие же ограничения как с триггерами или нет?)

не совсем понял, какие ограничения ты имеешь ввиду.

Работает примерно так:
создаешь Screen Flow, quick action чтоб отркрыть его.
+ Named Credential with service endpoint.

в "Create HTTP Callout Beta" component выбераешь Named Credential, заносишь JSON response example,чтоб был mapping между полями в response и flow variables.

вызов синхронный - Request & Reply
ну я не ппо скрин флоу, а про тригер флоу
[quote="Eric"][quote="Maxim Elets"]Интересно, а будут такие же ограничения как с триггерами или нет?)[/quote]

не совсем понял, какие ограничения ты имеешь ввиду.

Работает примерно так:
создаешь Screen Flow, quick action чтоб отркрыть его.
+ Named Credential with service endpoint.

в "Create HTTP Callout Beta" component выбераешь Named Credential, заносишь JSON response example,чтоб был mapping между полями в response и flow variables.

вызов синхронный - Request & Reply[/quote]
ну я не ппо скрин флоу, а про тригер флоу
Spring '23 Release Highlights
https://trailhead.salesforce.com/content/learn/modules/spring-23-release-highlights