See the power of S4S in action.
Register for 21 March 2023
- PST 12:00 pm - 1:00 pm
- CST 2:00 pm - 3:00 pm
- EST 3:00 pm - 4:00 pm
- GMT 7:00 pm - 8:00 pm
- CEST 8:00 pm - 9:00 pm
New Zealand
is
* Friday in the US is
Saturday in New Zealand.
S4S has improved with each release since 2009. For more info see our online resources, email support@fuseit.com, or read the release notes in the S4S download file.
Release Nomenclature
Sitecore 6 support Release 1.6.XXXX
Sitecore 7 support Release 1.7.XXXX
Sitecore 8 support Release 1.8X.XXXX
Sitecore 9 support Release X.9X.XXXX
Sitecore 10 support Release X.10X.XXX
Note that dates are in dd/mm/yyyy format. Changes that break existing methods are noted as a BREAKING CHANGE
[cs34309] Complete update to Winter '23 (v56.0). Update the Bulk API XSD.
[cs34308] Update the Apex API to Winter '23 (v56.0)
[cs34307] Update the Metadata API to Winter '23 (v56.0)
[cs34306] Update the Tooling API to Winter '23 (v56.0)
[cs34305] Update the Partner API to Winter '23 (v56.0)
[cs34280] Mapping Wizard: language copy from correct source, display language info
[cs34269] Support explicit null values on insert or upsert with external id
[cs34201] Add facet fields to v2 Submit Action, resolve conditions loading issue
[cs34178] Enable contact behavior profiles to be disabled
[cs34173] Complete update to Summer `22 (v55.0). Update the Bulk API XSD.
[cs34172] Update the Apex API to Summer `22 (v55.0)
[cs34171] Update the Metadata API to Summer `22 (v55.0)
[cs34169] Update the Partner API to Summer `22 (v55.0)
[cs34166] Rename controller to avoid name clash
[cs34165] Implement check for Sitecore Xdb support, disable analytics functionality when unavailable
[cs34150] Extend ResolveXdbContact pipeline processor to enable configuration of the identifier source and whether the identifier is converted to upper or lower case before identifying the xDB contact
[cs34138] Make string conditions for submit action case-insensitive
[cs34133] Sort lists for S4S Save to Salesforce submit action config by display text
[cs34124] Rename submit action page code file
[cs34123] Add new S4S Save To Salesforce submit action
[cs34109] Add config setting to disable pushing of analytics to Salesforce
[cs34106] Add new S4S Identify Sitecore Contact submit action
[cs34089] Metadata: support for Aura and Lightning web component bundles and FlexiPage, QuickAction and StaticResource types
[cs33994] Add updateMetadata to .Net Standard Metadata wrapper
[cs33976] Complete update to Spring `22 (v54.0). Update the Bulk API XSD.
[cs33975] Update the Apex API to Spring `22 (v54.0)
[cs33974] Update the Metadata API to Spring `22 (v54.0)
[cs33972] Update the Partner API to Spring `22 (v54.0)
[cs33930] FieldService: do not raise exception during update check for fields that are actually relationships
[cs33923] Analytics: Update to use contact behavior profiles instead of interaction profiles - NOTE needs the Saleforce analytics package that implements these changes
[cs33922] Add additional analytics config settings into analytics config section
[cs33913] Metadata: Return names for Lookup fields
[cs34089] Metadata: support for Aura and Lightning web component bundles and FlexiPage, QuickAction and StaticResource types
[cs33994] Add updateMetadata to .Net Standard Metadata wrapper
[cs33976] Complete update to Spring `22 (v54.0). Update the Bulk API XSD.
[cs33975] Update the Apex API to Spring `22 (v54.0)
[cs33974] Update the Metadata API to Spring `22 (v54.0)
[cs33972] Update the Partner API to Spring `22 (v54.0)
[cs33930] FieldService: do not raise exception during update check for fields that are actually relationships
[cs33913] Return names for Lookup fields
[cs33829] Implement copy of cache keys for .Net Standard to avoid enumeration
[cs33828] Resolve .Net Standard cache issues
[cs33779] Change save action to use SOSL if fields to match are encrypted
[cs33778] Correct processing of converted leads in S4SGenericSaveAction
[cs33775] Add the ability to set mapping on Sobject Id for updating a record.
[cs33768] Set cache expiration type when cache duration is specified
[cs33766] Complete update to Winter `22 (v53.0). Update the Bulk API XSD.
[cs33765] Update the Apex API to Winter `22 (v53.0)
[cs33764] Update the Metadata API to Winter `22 (v53.0)
[cs33762] Update the Partner API to Winter `22 (v53.0)
[cs33711] SalesforceField: Map long field type to .NET long as a CLR type.
[cs33707] BulkServiceWrapper: Log warnings returned by the API
[cs33703] Complete update to Summer `21 (v52.0). Update the Bulk API XSD.
[cs33702] Update the Apex API to Summer `21 (v52.0)
[cs33701] Update the Metadata API to Summer '21 (v52.0)
[cs33699] Update the Partner API to Summer `21 (v52.0)
[cs33671] Make the number of interactions that are synced by the bulk update process configurable
[cs33500] Truncating the Goal Path to 255
[cs33470] The sObject metadata DataCache no longer internally stores unique mappings for field describes, relationships, or childrelationships. These are still accessible via existing methods.
[cs33795] Change save action to use SOSL if fields to match are encrypted
[cs33794] Add the ability to set mapping on Sobject Id for updating a record
[cs33785] Correct processing of converted leads in S4SGenericSaveAction
[cs33768] Set cache expiration type when cache duration is specified
[cs33766] Complete update to Winter `22 (v53.0). Update the Bulk API XSD
[cs33765] Update the Apex API to Winter `22 (v53.0)
[cs33764] Update the Metadata API to Winter `22 (v53.0)
[cs33762] Update the Partner API to Winter `22 (v53.0)
[cs33711] SalesforceField: Map long field type to .NET long as a CLR type
[cs33707] BulkServiceWrapper: Log warnings returned by the API
[cs33673] Make the number of interactions that are synced by the bulk update process configurable
[cs33652] Truncate goal paths longer than 255 characters
[cs33649] Force update of pattern card
[cs33502] Upgrade reference xConnect model to version 10.1
[cs33501] Replace fast query with content search
[cs33472] BREAKING CHANGE: Enable file upload functionality into S4S mapping wizard and S4S submit action
[cs33470] The sObject metadata DataCache no longer internally stores unique mappings for field describes, relationships, or childrelationships. These are still accessible via existing methods.
[cs33391] Allow defining a custom WebHeaderCollection with REST API callouts to Apex services. Added additional async methods to ApexRestResource which returns the HttpResponseMessage. This allows for finer control over how HTTP response status codes etc. are handled.
[cs33390] New ApexRestResource class under FuseIT.*.SalesforceConnector.Admin namespace provides methods for performing REST calls to Apex classes in the org that use the @RestResource attribute.
[cs33379] Change S4S status page to display API access permissions for the analytics Salesforce objects and fields
[cs33375] Added Opportunity Stage Facet for Sales Funnel changes to Salesforce package.
[cs33362] Complete update to Spring `21 (v51.0). Update the Bulk API XSD.
[cs33361] Update the Apex API to Spring `21 (v51.0)
[cs33360] Update the Metadata API to Spring '21 (v51.0)
[cs33359] Only set the Last Login Date if the field is defined. Also reset the Failed Password attempt, but only if the field is defined.
[cs33356] Update the Partner API to Spring `21 (v51.0)
[cs33337] Analytics - Use profile definition aliases instead of names to cater for multi-language
[cs33245] Improve support for deploying Profile metadata
[cs33244] Expose the ApexLog.RequestIdentifer
[cs33243] Salesforce MetadataServiceWrapper - Expose CreatePackageXmlAsString to create the package.xml for a collection of metadata paths and return it as a string.
[cs33057] Update to Winter '21 API v50.0 release
[cs33056] Upgrade the Metadata API to v50.0 Winter `21
[cs33055] Update the Tooling API to v50.0 Winter `21
[cs33054] Update the Partner API to v50.0 Winter `21
[cs33053] Update the Apex API to v50.0 Winter `21
[cs33049] Split out OAuth (RefreshToken) and JWT LoginDetails to dedicated objects. Added new SfdxLoginDetails for connection strings against the SFDX CLI.
[cs33018] Improve formatting of SalesforceResultException FailedSaveResults.
[cs33017] Support for metadata deployment of static resources
[cs33015] SalesforceIdKeyPrefix - Raise warnings if there is a keyprefix conflict for the current Salesforce user.
[cs33014] WSDL2Apex: Expand ability to search for missing XML Namespaces
[cs32978] Support for deploying Profile Metadata
[cs33039] Change S4S status page to display API access permissions for the analytics Salesforce objects and fields
[cs33378] Analytics - Use profile definition aliases instead of names to cater for multi-language
[cs33391] Allow defining a custom WebHeaderCollection with REST API callouts to Apex services. Added additional async methods to ApexRestResource which returns the HttpResponseMessage. This allows for finer control over how HTTP response status codes etc. are handled.
[cs33390] New ApexRestResource class under FuseIT.*.SalesforceConnector.Admin namespace provides methods for performing REST calls to Apex classes in the org that use the @RestResource attribute.
[cs33362] Complete update to Spring `21 (v51.0). Update the Bulk API XSD.
[cs33361] Update the Apex API to Spring `21 (v51.0)
[cs33360] Update the Metadata API to Spring '21 (v51.0)
[cs33359] Only set the Last Login Date if the field is defined. Also reset the Failed Password attempt, but only if the field is defined.
[cs33356] Update the Partner API to Spring `21 (v51.0)
[cs33245] Improve support for deploying Profile metadata
[cs33244] Expose the ApexLog.RequestIdentifer
[cs33243] Salesforce MetadataServiceWrapper - Expose CreatePackageXmlAsString to create the package.xml for a collection of metadata paths and return it as a string.
[cs33057] Update to Winter '21 API v50.0 release
[cs33056] Upgrade the Metadata API to v50.0 Winter `21
[cs33055] Update the Tooling API to v50.0 Winter `21
[cs33054] Update the Partner API to v50.0 Winter `21
[cs33053] Update the Apex API to v50.0 Winter `21
[cs33049] Split out OAuth (RefreshToken) and JWT LoginDetails to dedicated objects. Added new SfdxLoginDetails for connection strings against the SFDX CLI.
[cs33018] Improve formatting of SalesforceResultException FailedSaveResults.
[cs33017] Support for metadata deployment of static resources
[cs33015] SalesforceIdKeyPrefix - Raise warnings if there is a keyprefix conflict for the current Salesforce user.
[cs33014] WSDL2Apex: Expand ability to search for missing XML Namespaces
[cs32978] Support for deploying Profile Metadata
[cs32818] Changed to logic that updates Converted Leads
[cs32813] New pipeline to enable a cross-system identifier to be passed in as a query string parameter so the associated Salesforce object can be linked to an xDB contact. This enables analytics to be pushed to Salesforce Leads/Contacts that have not completed a Sitecore form to identify themselves to Sitecore
[cs32807] Apply unified Sitecore contact changes
[cs32791] Expose a common FormattedErrors() method on ISaveResult to provide details on any related error messages.
[cs32789] "S4SMapping.EnableDuplicateAllowSave" config added to allow overriding Salesforce Duplicate rules.
[cs32787] Commenting the FuseIT.Sitecore.Personalization.Pipelines.SetContactIdentity pipeline to reduce logging as usually not required by default.
[cs32767] BREAKING CHANGE - update InternalFields.SetField(string fieldName, object fieldValue, Type type) to validate that the fieldValue object can be successfully cast to the target type.
[cs32735] Update SalesforceSession so that all APIs are working against v49.0 - Summer 20
[cs32734] Update the Metadata API to v49.0 - Summer 2020
[cs32733] Update the Partner API to v49.0 - Summer 2020
[cs32729] Add the MetadataComponentDependency API calls via the Bulk API 2.0
[cs32728] Apex logging - add SOQL_EXECUTE_EXPLAIN Log event
[cs32727] Add the JobComplete JobState for the bulk API
[cs32698] Commenting the FuseIT.Sitecore.Personalization.Pipelines.SetContactIdentity pipeline to reduce logging as usually not required by default.
[cs32695] "S4SMapping.EnableDuplicateAllowSave" config added.
[cs32685] Add new S4S logging config file which can be used to redirect S4S logging to a dedicated log file
[cs32680] Update SOQLResult column names when the defaultNamespace is defined. Includes first-level relationship fields.
[cs32677] SalesforceServiceFoundation ReportErrors is now consistent between SaveResult and UpsertResult for logging Failed records. Errors for a single sObject will continue to throw an exception.
[cs32673] BulkEntityService: Enhancements to the processing of entities for the Bulk API
[cs32668] Analytics: Use campaign display name if present rather than the name on visits
[cs32646] Added trim method to input Org ID field in case white space was included within the input
[cs32613] Add extra config setting to convert identifier value to lower case.
[cs32598] Including the ability to set mapping on sObject Id for updating a record.
[cs32589] Change to logic that updates Converted Leads and adding a setting option to bypass Duplicate Rules.
[cs32555] Expand Graph searchability
[cs32542] Restore the Lead.MobilePhone field. Note - this field may not be exposed in Salesforce with the default Lead Field Level Security (FLS) settings.
[cs32432] Tooling API. Check access to the DebugLevel metadata before attempting to query it.
[cs32343] Update All API versions to Spring 2020 (v48.0)
[cs32342] Upgrading Apex API to Spring 2020 (v48.0)
[cs32341] Upgrade Metadata API to Spring 2020 (v48.0)
[cs32340] Upgrade Tooling API to Spring 2020 (v48.0)
[cs32339] Update the Partner API to Spring 2020 (v48.0)
[cs32331] Update S4S licencing
[cs32312] Tooling API: Correct updating the log levels on TraceFlags
[cs32134] Support for AllRows to return deleted records
[cs32133] Allow a DynamicQuery to return all rows (includes deleted records in SOQL result)
[cs32048] Configuring Bulk Update Analytics Scheduled Tasks in Sitecore Content Tree.
[31915] Moving the update of Last Run Date outside of Connections Strings loop.
[31789] Updating S4S Analytics Last Run Time only when the bulk update is successful.
[31754] Only increment Analytics Bulk Update DateTime on the successful update of analytics. Only query S4S Leads and Contacts if Id field is available.
[31545] Add Authorize data attribute to the SSC controller for mapping wizard
[31484] JWT Authentication for Salesforce sessions
[31483] Added extra debug logs
[31481] Filter Salesforce Object Owner to Standard UserTypes. Filter mappable fields to Createable and Updateable fields only.
[31467] Fixed bug to update the Contact Visitor ID when dealing with a converted Lead.
[31436] Intenal caching of the Tooling API DescribeGlobalResult Metadata
[31264] Adding Sitecore Goal ID to the Salesforce Goal to prevent duplicates. Setting Salesforce Goal ID ticks to DB Datetime format.
[31239] Setting the External ID format on the Salesforce S4S Goal object.
[31176] Fixing Campaign selection when no Campaign is selected.
[31168] Fixed Salesforce Campaign mapping.
[31138] ApexTestRunResult - Fix calculation of Elapsed Timespan if the EndTime isn't set yet.
[30885] Remove "Using Static", which isn't supported by the build server
[30856] Additional edits to links
[30855] Updated support and help Urls
[30747] ApexLogService - Expand LogMessage enum with missing records
[30746] Added ApexTestRunResult Entity, Service, and DataSource
[30742] Ability to filter bulk update analytics connections strings.
[30735] Adding Salesforce Assignment Rule handling.
[30730] Fixed error when submiting from Checkbox List to Multi Picklist.
[30670] T4 Code Generator - Allow for sObjects with no record types defined
[30658] Bug fix to enable not mapping a field.
[30591] Handling the error when no S4S connections strings have been set.
[30590] Handling the error when no S4S connection strings have been set.
[cs32020] Remove the v47.0 QueryOptions header scope element that prevents certain expected results being returned by SOQL queries
[cs32006] SalesforceServiceWrapper - make the DescribeSObjectsBatchSize configurable. Add queryAll support to find deleted records with SOQL. Use dedicated SalesforceIdKeyprefix class to track known keyprefixes
[cs32003] Update to Winter '20 release. v47.0
[cs32002] Fix for Sitecore 9.1+ where Owin and Federation authentication are tuned on, and S4S Membership provider switcher no longer works with S4S Salesforce authentication
[cs32000] Wsdl2Apex generate the common namespaces as constants on the root classes.
[cs31981] SalesforceServiceWrapper - Reload Salesforce object field cache if not in the correct state
[cs31942] Analytics - Improve web service security
[cs31940] Personalization - Improve web service security
[cs31936] Add new field to S4SInfo facet and update the XDB model version
[cs31924] Change bulk analytics to update last sync date only if there was no error. Add the ability to filter which connections run bulk analytics.
[cs31892] G4S - added additional debug logging when processing the G4SLicense.xml file.
[cs31884] Logging Experience Forms data for failed Salesforce submissions.
[cs31838] Wsdl2Apex: Handle an operation binding with no output. Raising a warning for a missing portType rather than an exception.
[cs31803] Support for v46.0 JSON fields.
[cs31802] Wsdl2Apex: Make all private *_type_info members transient to aid with JSON debug output.
[cs31753] SalesforcePod - Map NA65
[cs31748] Update all API calls to use v46.0 Summer '19
[cs31747] Update the BulkAPI schema to v46.0 Summer '19
[cs31746] Update the Tooling API to v46.0 Summer
[cs31745] Upgrade the Apex API to v46.0 Summer '19
[cs31744] Updated the Metadata API to v46.0 Summer '19
[cs31743] Update the Partner API to v46.0 Summer '19
[cs31727] PackageCreation - Expand Metadata type support.
[cs31721] SalesforceServiceBase - new GetBySoqlAsync() async method for running a direct SOQL query.
[cs31719] MonitorCometDChannel - Expose the Connected property for if the Stream is connected.
[cs31716] ToolingServiceWrapper - Support for async SOQL queries
[cs31714] Support for running SOQL queries Async. SalesforceDataSource.RunSoqlQueryAsync()
[cs31712] BulkEntityService - expand to support different concurrency modes and progress reporting.
[cs31711] SalesforceServiceWrapper - support async SOQL query via queryAsync().
[cs31710] ApexTestRunner: New async methods for checking test status. Beta throttled test runner.
[cs31702] Data Export CLI: Allow for parameters to vary in order.
[cs31691] CacheBase - All subclasses of CacheBase to define the CacheExpirationType (Sliding/Absolute/None) and priority if applicable.
[cs31690] Update the SalesforceSessionCache to use the corresponding singleton where the connection strings match. For a unique connection string cache the resulting session. Ensure the cached session can auto reestablish if an issue is found. Also ensure thread safety when constructing new sessions to avoid extra API calls to Salesforce. Use a sliding high priority when caching the sessions. The duration is configurable "FuseIT.S4S.SessionCacheDurationInSeconds" and defaults to 90 minutes.
[cs31689] MetadataServiceWrapper - Support for .layout metadata types. Expose a public, read only, SalesforceSession used by the instance. Improve creation of package zips - only create the required folders.
[cs31683] BREAKING CHANGE: Update SalesforceSessionSingleton to SalesforceSessionSingletonGeneric to isolate subclasses from each other. BREAKING: Explicit references to "SalesforceSessionSingleton.NewSessionHandler" will need to change to "SalesforceSessionSingletonGeneric.NewSessionHandler". With T changed to the subclass that implements the singleton.
[cs31682] Add serializable attribute to HiddenFieldViewModel class
[cs31681] Add serializable attribute to HiddenFieldViewModel class
[cs31668] Caching of Membership User Roles for better performance
[cs31628] Adding Sitecore Goal ID to the Salesforce Goal to prevent duplicates. Setting Salesforce Goal ID ticks to DB Datetime format
[cs31595] Check for List Builder interactions that have changed since last run. Check S4S facet for Salesforce Id
[cs31578] SalesforceField: Map Address, Location, complexValue, and encryptedString field types to .NET strings as a CLR type
[cs31558] Format display of ApexResult and HeapDump from the ToolingAPI SOQL Queries
[cs31557] SalesforcePod: Map AP8
[cs31546] Add Authorize data attribute to the SSC controller for mapping wizard
[cs31542] When getting the list of all sObject names in a Salesforce Org, allow bypassing to certain types (such as __ChangeEvent) based on the suffix
[cs31540] Allow for a CultureInfo.DateTimeFormat.TimeSeparator other than ":". Force the SOQL building code to use the InvariantCulture so the required format is applied.
[cs31538] BREAKING CHANGE: Change S4S mapping functionality for sitecore forms to use form field names intead of labels
[cs31537] Add new functionality map Sitecore form fields to Sitecore contact facets (PersonalInformation and PreferredEmail facets)
[cs31534] Update core SalesforceSession to use v45.0 (Spring 19) APIs
[cs31533] Update the Tooling API to v45 (Spring 19)
[cs31532] Update the Bulk API XSD to v45.0 (Spring 19)
[cs31531] Update the Apex API to v45.0 (Winter 19)
[cs31530] Update the Metadata API to v45 (Winter 19)
[cs31529] Update Partner API to v45.0 (Winter 19)
[cs31506] DataSource.AddDataSourceFilter() - Allow the filter value to be null.
[cs31505] ToolingServiceWrapper - Handle missing Symbol tables for Apex classes. New method - ClearExistingTraceFlags() to remove any existing TraceFlags for the given entityId or those that have already expired.
[cs31497] Add allow controller config for SSC framework
[cs31496] Remove master db Initialization from Sitecoreutility.cs and add allow controller configs for SSC framework
[cs31491] Form mapping - Filter Salesforce Object Owner to Standard UserTypes. Filter mappable fields to Createable and Updateable fields only.
[cs31488] Add new option to Sitecore forms mapping wizard to force insert Salesforce entities rather than update existing objects
[cs31486] Add case insensitive check for form identify field
[cs31457] Code Generation - If generating without custom fields, exclude picklist values containing "__". These typically represent relationships to custom sObjects. Detect and skip duplicate picklist value entries. Fix the generated properties for *Picklist to set based on the enum value rather than the description attribute. Detect references to sObjects that aren't exposed via the metadata.
[cs31456] Regenerate sObjects (plus associated services and data sources) for API v44.0.
[cs31455] Move DataCache into the correct namespace.
[cs31453] CodeGeneration - If configured, exclude relationships to custom fields. Don't generate types for __ChangeEvent, __History, __Share
[cs31452] CodeGeneration - generate "extends" for Apex classes extending other classes.
[cs31451] ApexClass (for generation) - Track if the Apex classes extends a base class.
[cs31447] FieldService - When extracting child elements from a query result skip nodes that aren't XmlElements.
[cs31446] ToolingServiceWrapper - Add describeGlobalCached() that caches describeGlobal() to improve performance.
[cs31445] SalesforceSession - If an exception occurs with a WebRequest include the complete URL in the Exception.Data
[cs31437] SalesforcePod - Add CS57, CS58, CS59, CS102
[cs31426] Add functionality to always insert Contact and Leads
[cs31294] Update the SalesforceSession to use API v44.0 for Winter `19
[cs31293] Update the Metadata API to Winter `19 (v44.0)
[cs31292] Update the Apex API to Winter `19 (v44.0)
[cs31291] Update the Tooling API to Winter `19 (v44.0)
[cs31290] Update Partner API to Winter `19 (v44.0)
[cs31205] Support for deploying Metadata for PermissionSets, GlobalValueSets, and Labels.
[cs31204] Expose the underlying source SalesforceSession from the ToolingServiceWrapper.
[cs31200] Regen for new wasp.tblImageFile SoftDelete field
[cs31136] ToolingServiceWrapper - expose the OrganizationNamespace from the associated SalesforceSession. Wrap the queryAll method to allow logging and retry on invalid session. Internal rework for getting the symbol tables.
[cs31135] Include the LastModifiedDate field when getting the CRC for metadata classes
[cs31132] BulkEntityService Added BulkApiOperation.Delete and DeleteEntitiesAsync,DeleteEntitiesAndGetResultsAsync methods.
[cs31083] Added NA52
[cs31019] Updated methods to find correctly named fields. Modifed Date SOQL query.
[cs31018] CompositeFilter - Extend data types supported by AddDataSourceFilter.
[cs31016] Added ID to SOQL query
[cs31013] Modified Personalization web service with two methods to update XDBContacts with mapped Salesforce Fields with Sitecore S4S Facet Keys
[cs30824] BREAKING CHANGE: Analytics - Remove ability to store profiles in facet as S4S personalization should be used
[cs30823] Personalization - Add PatternMacro that uses profile id instead of name
[cs30821] Analytics - Change load previous visit to use profile ids instead of names
[cs30820] Personalization - Add personalization web service
[cs30819] BREAKING CHANGE: Personalization - Add ability to update facet fields and profiles. Change storage of profiles to be based on profile id rather than name
[cs30744] Update SalesforceSession to use Summer '18 v43.0 API version
[cs30741] Update Bulk API XSD to v43.0 - Summer '18
[cs30740] Update the Tooling API to Summer '18 (v43.0)
[cs30739] Update the Apex API to Summer '18 (v43.0)
[cs30738] Update the Metadata API to Summer '18 (v43.0)
[cs30737] Update the Partner API to Summer '18 (v43.0)
[cs30682] Correct Id override of != operator for null checking.
[cs30678] SalesforcePod - Map CS96
[cs30663] Personalization - Add new rule to match pattern card in S4S facet
[cs30657] Analytics/WFFM/Forms - Save Salesforce contact/lead id and org id into S4S facet when submitting forms with analytics
[cs30648] Personalization - Add personalization rules to allow comparison of S4S facet fields as Numeric or DateTime. Change FacetProfileKeyCondition to use DoubleComparisonCondition
[cs30639] Personalization - Add personalization rule for profile keys stored in S4S facet
[cs30592] SalesforcePod and 0I mapping for AP7
[cs30587] ServerURL Segment Validation
[cs30586] SalesforceSession - Support for visualforce.com was a SOAP Partner URL
[cs30579] Amend status page to show new configuration items
[cs30557] SalesforceServiceWrapper - Improve performance of ObjectTypeFromId(string id) for looking up the sObject type based on the keyprefix. EntityServiceGenerator.tt - Don't include a custom objects keyPrefix in RegisterKeyPrefixObjectType by default.
This release adds new methods and no longer implements other methods, that process Sitecore analytics.
[cs30566] Check all mapped fields exist in the Salesforce org.
[cs30557] SalesforceServiceWrapper - Improve performance of ObjectTypeFromId(string id) for looking up the sObject type based on the keyprefix. EntityServiceGenerator.tt - Don't include a custom objects keyPrefix in RegisterKeyPrefixObjectType by default.
[cs30548] Added extra S4S configurations to status page
[cs30540] Catching multi-connection string session errors in bulk update.
[cs30529] Use EnumHelper instead of ToString() to get enum string value
[cs30527] Added configuration for the Sitecore WFFM Save Action field.
[cs30520] Better error handling for multiple connection strings.
[cs30519] Added checking for multiple connection strings.
[cs30513] Removed ref to Web2Salesforce to test if this project is the project being used for the build
[cs30509] Changed Web2Salesforce and Personalization string encryption to false
[cs30507] Modified UpdateEntityAnalytics web service and Salesforce source to check and create SitecoreXDBConact object if one is not there for the Lead or Contact
[cs30501] Added new methods to return existing Facet keys and save new ones
[cs30495] Updated Personalizatoin DLL that needs to be deployed into XConnect web site
[cs30493] Modified info logging output to show configured domain name
[cs30492] Updated web service to search for XConnect Contact from Salesforce. Added pipeline class to Personalization project file
[cs30484] Added method to search for XConnect Contact via Alias ID
[cs30482] Added pipeline class to add S4S Idenity to XConnect Contact so they can be identified when they log in, compared to when they submit forms.
[cs30477] Update to use API version v42.0 (Spring '18) across all APIs
[cs30476] Update Bulk API XSD to v42.0 - Spring '18
[cs30475] Update Tooling API to v42.0 - Spring '18. Includes SFDX Scratch Org SourceMember
[cs30474] Update Apex API to v42.0 - Spring '18
[cs30473] Update Metadata API to v42.0 - Spring '18
[cs30472] Update Partner API to v42.0 - Spring '18
[cs30467] ApexClassService - Handling missing SOSL search results when looking for test classes.
[cs30466] MetadataServiceWrapper - include support for deployment of permission sets
[cs30465] SalesforceException - Log direct web request with cookie exceptions.
[cs30464] SalesforcePod - Add NA49, CS68, CS79, NA78, NA87
[cs30460] Amend bulk update to ignore converted leads
[cs30458] Latest Salesforce Analytic managed package changes copied from Salesforce package Org.
[cs30457] Modified S4S Facet model, updated Analytics web service methods, updated LoadPreviousVist control
[cs30453] Added XConnect Contact Identifier source and IDs to page output
[cs30448] Remove 'Upload attachment' checkbox from the Sitecore Experiance Forms mapping wizard
[cs30446] Remove additional options for push analytics in mapping wizard
[cs30435] Set the identifier as known with Salesforce Username
[cs30431] Added Profile Data Dictionary to S4SInfo Facet for use with changes to LoadPreviousVisit functionality changes
[cs30429] xConnect web site required files for S4S Personalization
[cs30426] Updated package with Sitecore S4S Rules
[cs30425] Updated S4S dictoionary to be simple string key and string value. Added new Campaign Id rule. Updated Sitecore Rule Install package
[cs30419] Edit warning messages and code comments
[cs30414] Added default web.config from fresh Sitecore 9 installation. Changed functionality with the checkboxes in mapping wizard
[cs30413] ToolingServiceWrapper - Check for API access to sObjects ApexOrgWideCoverage and ApexCodeCoverageAggregate before querying.
[cs30405] Filtering Salesforce system fields from the available fields for mapping.
[cs30386] When determining the FieldsForMembershipUser for both the AccountLookup and RecordType Membership providers check if the Email or Comment fields have already been added via other fields, such as the username field being set to email.
[cs30375] New RecordType security providers that extend the Account Lookup providers to filter by the objects RecordTypeId.
[cs30374] CacheBase and EntityCache update to include optional ConstantKeyPrefix. Allows for two independent Caches to operator on the same generic base type.
[cs30373] SalesforceServiceBase: New method RecordTypeInfosById() to get record type Infos if they are defined for the sObject.
[cs30328] DataExchangeProvider: Current state before putting development on hold
[cs30321] Add BulkEntityService to allow operations to be performed using the Bulk API
[cs30320] Sitecore install package and package xml that will install the S4S custom rules into Sitecore Rules Setting tree, so that the rules can be used to personalize content based on the S4S Personalization xDB Contact Facets
[cs30319] BREAKING CHANGE: Refactor BulkServiceWrapper BatchInfo properties
[cs30303] Set TryToContinueOnException="True" to "False"
[cs30270] DataExchangeProvider: Add list of fields to return from Salesforce in ResolveSalesforceObjectStepProcessor
[cs30266] DataExchangeProvider: Change to write entity id value into entity id property rather than internal fields
[cs30265] Update SalesforceSession to use v41.0 - Winter 18 Update SalesforceBulkApi from xsd schema for v41.0
[cs30258] MetadataServiceWrapper - new GetMetadata(string sObjectName, string packageType) method to get SObjectMetadata for a defined packageType.
[cs30250] DataExchangeProvider: Change to get entity id value from entity id property rather than internal fields
[cs30213] Analytics: Correct order of job id and batch id in logging
This release adds new methods and no longer implements other methods, that process Sitecore analytics.
[cs30542] S4S Experience Mapping Wizard: Fixed bug when creating Field S4SInfo facet
[cs30530] S4S Experience Mapping Wizard: Implement functionality to add Salesforce fields to S4SInfo field facet
[cs30507] Modified UpdateEntityAnalytics web service and Salesforce source to check and create SitecoreXDBContact object if one is not there for the Lead or Contact.
[cs30502] Amend to use latest Salesforce schema.
[cs30501] Added new methods to return existing facet keys and save new ones.
[cs30489] S4S Experience Mapping Wizard: Remove code relating to adding Salesforce fields as dictionary facets
[cs30488] S4S Experience Mapping Wizard: Replicated and changed WFFM code to work with Sitecore 9 and xConnect.
[cs30482] Added pipeline class to add S4S Identity to XConnect Contact so they can be identified when they log in, compared to when they submit forms.
[cs30457] Modified S4S facet model, updated Analytics web service methods, updated LoadPreviousVist control.
[cs30453] Added XConnect Contact Identifier source and IDs to the page output.
[cs30448] Remove 'Upload attachment' checkbox from the Sitecore Experience Forms mapping wizard.
[cs30446] Remove additional options for push analytics in mapping wizard.
[cs30435] Set the identifier as known with Salesforce Username.
[cs30433] Add S4SPushVisitor facet and functionality to use it to get the Sitecore interaction.
[cs30427] Add functionality to use S4S bulk update service. Change bulk update to use UTC for Sitecore times. Make bulk update parameters configurable in config.
[cs30425] Updated S4S dictionary to be simple string key and string value. Added new Campaign Id rule Updated Sitecore Rule Install package.
[cs30421] Updated S4S facet Personalization branch for Sitecore 9.
[cs30414] Changed functionality with the checkboxes in mapping wizard.
[cs30408] Update identify and push visitor to use configurable identifier source.
[cs30375] New RecordType security providers that extend the Account Lookup providers to filter by the objects RecordTypeId.
ANALYTICS METHODS REPLACED BY OTHER METHODS (NotSupportedExceptions)
PushVisitorAction
Execute()
PageHistory
GetVisitPageHistory()
WebToEntity
SaveCurrentVisitorAsSalesforceEntity()
UpdateSfEntityAnalyticsFieldsWithProfilePatterns()
GetVisitorDataWithProfilePatterns()
UpdateSitecoreAnalyticsInSalesforce()
SetVisitorProfile()
SetVisitorProfiles()
Note that this release contains a full core install as well as an update package that brings earlier 8.2 releases up to current.
[cs30212] Analytics: Default bulk update last run time to an hour before current time if the Scheduled Task item is blank
[cs30207] Added Connection String combo to mapping wizard and Connection String aliasing to config.
[cs30206] Setting WFFM mappings to work against different Salesforce orgs.
[cs30205] Multiple S4S session caching and bulk updating analytics to multiple Salesforce Orgs
[cs30197] WFFM/Analytics: Change to check individual save results for success rather than checking for exception
[cs30178] WFFM: Make Mapping pipeline serializable
[cs30099] MetadataServiceWrapper: deploy aura components in packages.
[cs30072] Make SingleFilter public
[cs30071] Add the ability to add a data source filter with a Filter as a parameter
[cs30052] ApexLogService - public methods to convert a debug log to a dataset while filtering the entires. NativeDebugLog to convert the DataSet back to the standard Debug log format.
[cs30051] DataSetConverter - Convert DataTable to CSV. Either directly to file or to StringBuilder.
[cs30017] Add optional allowExistingSObjectsWithoutId="true" to the binding configuration element to allow sObjects to be created with a null Id. Typically this isn't allowed as the ID is used to control insert/update operations and to identify relationship types. This setting can be used for more basic SOQL queries where the results won't be subsequently used for DML.
[cs29991] QueryResultPager - add IsAggregateQuery to identify results for an Aggregrate query with no records. The value is solely in the size.
[cs29975] Updated SalesforceServiceFoundation class to only hide save errors for lists of entities, and not single entities
[cs29953] Wsdl2Apex: Handle case where the Schema TargetNamespace is missing
[cs29951] Crc32 - CalculateHash method from string
[cs29950] SalesforcePod - Add NA18 to NA25, CS65
[cs29922] ApexLogService.LogMessage enum add DUPLICATE_DETECTION_MATCH_INVOCATION_DETAILS
[cs29921] Support for Date fields as DataSource filters via SObjectField (which includes field type metadata)
[cs29901] Analytics: Correct bulk update where multiple contacts/leads have the same Sitecore visitor id
[cs29895] BREAKING CHANGE Stopped the SalesforceCreateException and SalesforceUpsertException from being thrown when saving Salesforce object Ids back to the SaveResults list.
[cs29894] SalesforcePod - Add CS91
[cs29892] SalesforcePod - Add NA64 mapping
[cs29879] WFFM: Update analytics on contact instead of converted lead
[cs29878] WFFM: Process EXM analytics
[cs29876] Analytics: Change method of getting campaign name
[cs29875] SalesforcePod - Added NA59
[cs29874] SalesforcePod: Added CS54
[cs29836] CacheBase - Don't log debug level messages for cache hits.
[cs29834] DataCache for DescribeSObjectResult switched to ConcurrentDictionary internally.
[cs29833] SalesforceChildRelationship, LookupRelationshipCollection, MasterDetailRelationshipCollection, SalesforceDescribeSObjectResult add SerializableAttribute
[cs29832] SalesforceServiceWrapper - Log exceptions when loading cached sObject descriptions.
[cs29830] SalesforcePod. Add AP5, CS66, CS67, CS70
[cs29828] ApexLogService. Add VF_APEX_CALL_START, STACK_FRAME_VARIABLE_LIST, REFERENCED_OBJECT_LIST, FLOW_BULK_ELEMENT_END, HEAP_DUMP Fix FLOW_START_INTERVIEW_END pairing Add Wave LogMessageAttribute
[cs29818] SalesforcePod - Added NA44 and CS49
[cs29809] Analytics: Check for campaign not being found
[cs29799] Update to Summer `17 (v40.0) for Apex, Metadata, Partner and Tooling APIs
[cs29798] Integrating IsActive property into membership provider.
[cs29789] Analytics: Enhance exception handling
[cs29788] Analytics: Fix error in IdentifyAndPushVisitor and BulkUpdateAnalytics with managed/unmanaged package configurations
[cs29757] Analytics: Make Salesforce field/object properties static
[cs29756] Added IsActive property
[cs29752] Added S4SAnalytics.config, S4SAnalyticsManagedPackage.config and S4SAnalyticsUnmanagedPackage.config
[cs29744] Analytics: Rename config items for consistency. Change the way config items are retrieved
[cs29743] Analytics: Move configuration from S4S.config to S4SAnalytics.config
[cs29742] BREAKING CHANGE WFFM and Analytics: Make Salesforce object/field names configurable
[cs29708] LogMessage enum - add VF_APEX_CALL_END
[cs29707] SalesforceSession If the serverUrl is undefined but the sessionID is known and can be resolved to the serverUrl populate...
[cs29706] SalesforcePod: Map cs53 and cs71 pods
[cs29697] Added IdentifyAndPushVisitor Save Action
[cs29691] Added S4SSaveActions.config as location for FuseIT configuration/sitecore/wffm configurations.
[cs29634] Changes for getting paged records.
[cs29630] S4S-Analytics: Bring back additional EXM click event interactions.
[cs29619] S4S-Analytics: Added Scheduled Tasks Items folder and items.
[cs29614] S4S-Analytics: Use Bulk API to update Salesforce entities.
[cs29574] SalesforceSession: Add the NewSalesforceSession to signal when a new session is established automatically.
[cs29573] S4S-Analytics: Process EXM analytics.
[cs29531] SalesforceSession: Update WebRequestWithAuthorizationHeader to include an optional parameter to retry with a new session on a failed request.
[cs29530] SalesforcePod: Identify CS44.
[cs29529] ApexLogService: Identify WF_TIME_TRIGGER and pair FLOW_CREATE_INTERVIEW_BEGIN/END logs.
[cs29528] MetadataServiceWrapper: DeploySingle method added to deploy an apex class by name, API version, and body.
[cs29527] S4S ReportData: Marked class as Obsolete due to lack of support when Lightning is enabled.
[cs29526] BayeuxClient: Extend the waitFor method to identify waiting states where polling should continue.
[cs29509] S4S-Analytics: Improving performance for bulk update of Analytics data to Salesforce.
[cs29502] S4S-Analytics/S4S-Status: Check "web" database then "master database for item definition.
[cs29481] Changed excessive logging of Event Handler to DEBUG.
[cs29447] ApexLogService: Pair CALLOUT_REQUEST and CALLOUT_RESPONSE events. Track the ticks on skipped logs and max debug log messages.
[cs29445] SalesforceDescribeSObjectResult: Expose MasterDetailRelationships and LookupRelationships as properties.
[cs29444] LookupRelationship and MasterDetailRelationship: Update ToString() formatting.
[cs29443] Batcher: Correct logger type. May need to revisit due to logger name length.
[cs29442] SalesforcePod: Include NA17, CS25, CS30.
[cs29441] Update the Tooling API to Spring 17 (v39.0) Update the SalesforceSession to use v39.0 for all APIs.
[cs29439] Update the Metadata API to Spring '17 (v39.0)
[cs29438] Update the Partner API to Spring '17 (v39.0)
[cs29437] Update Apex API to Spring '17 (v39.0)
[cs29421] S4S-Analytics: Exclude interactions created by EXM.
[cs29389] DataSetConverter - Add SaveDataTableAsJson() to export the first DataTable to a JSON file.
[cs29383] ApexLogService - Include Time Elapsed in ticks as a Column. New Static methods for working between log ticks and seconds.
[cs29378] ApexLogService - Pair Validation rules. Revert to pulling the Apex logs via the REST API if traceDownload.apexp isn't working.
[cs29369] Account - update generated standard fields.
[cs29368] ApexLogService - Extend LogMessageAttribute to indicate if the LogMessage is the start or end message. Add VF_EVALUATE_FORMULA_BEGIN and VF_EVALUATE_FORMULA_END.
[cs29362] Updated Tooling API to modified v38.0 WSDL after patches for unsupported types and Coverage lines.
[cs29361] S4S-Analytics: Get page history by interaction id.
[cs29358] S4S-Analytics: Get latest interaction based on start time instead of visit index.
[cs29357] S4S-Analytics: Enable setting of multiple profiles on a visit.
[cs29353] S4S-Analytics: Change GetLatestSalesforceVisit to query XDb.
[cs29348] T4 Code Generation - Only generate subclass for RecordTypes if that are applicable for that sObject type. In CleanName() when creating the enum values, handle the case where no characters in the value are permitted. Handle an sObject picklist that already has an "Unknown" entry. Remove the Database.com generation option. Include the current Salesforce API version in the code generation header.
[cs29343] Entity Code Generator - Exclude ; and : from the enum names. Append @ for invalid identifiers in case they are reserved keywords.
[cs29334] ReportService - Handle the tabularReport record count alternating between int and double.
[cs29333] SalesforceServiceWrapper - Expose DescribeSObjectsBatchSize for the upper limit on how many sObjects can be described in one call.
[cs29303] SalesforcePod - includes NA39 and GS0.
[cs29302] StatusServiceWrapper - Don't check for an existing known domain if the subdomain contains '-'.
[cs29298] ApexMethod - When determining the dependencies - ignore null Request/Response Parameters.
[cs29297] ApexClass.Find() - verify that the apexClassName is not null.
[cs29294] T4 Entity Generator. Use CodeDomProvider to validate identifiers. Exclude commas from generated names.
[cs29282] Improve tracking of REST API callouts. ReportService - add PageCompleteTabularFactMap() method to sort and page tabular report results by a primary key column.
[cs29281] SalesforcePod: Map na42, cs24, cs50, cs62.
[cs29271] S4S-Analytics: Include profile keys with value of zero when sending to Salesforce.
[cs29262] SoqlQuery - Detect if the query contains a SubQuery within the fields.
[cs29261] ApexLogService, add FLOW_ELEMENT_DEFERRED, FLOW_BULK_ELEMENT_BEGIN, FLOW_BULK_ELEMENT_DETAIL.
[cs29259] QueryResultPager - Track the Source SOQL Query.
[cs29256] SalesforcePod - add NA43 and CS87.
[cs29253] Extend ReportService to expose Analytics API. ListRecent() reports, Describe(), ExecuteSync(). Convert Tabular FactMap to DataSet.
[cs29219] MetadataServiceWrapper - Support for deploying sObjects from Metadata.
[cs29218] Expand ApexUpdateException to expose source Apex Class Name and line number if known.
[cs29216] ApexClassService - Add method GetClassBody to get Apex Class body via Class name.
[cs29215] ApexLogService - Add new LogMessage enums for Duplicate detection via the match engine.
[cs29214] FieldService.FieldsForObject use Cached ToolingAPI field metadata to improve performance.
[cs29213] If retrieving a non-nullable DateTime field but the value returned from Salesforce is null return DateTime.MinValue.
[cs29212] SalesforceSession - Add MaximumApiVersion static property to expose the currently supported API version.
[cs29206] ToolingServiceWrapper add describeSObjectCached(). Use this in preference of describeSObject().
[cs29202] Expand SalesforcePod to support NA35, CS52, CS60, CS61, CS63. Extract pod Status via StatusServiceWrapper via GetCurrent...
[cs29198] Make maximum historical interactions to search for Salesforce interactions configurable.
[cs29197] Reimplement LoadPreviousVisit functionality.
[cs29172] Log warning instead of error if LoadPreviousVisit is called
[cs29169] BREAKING CHANGE: Remove LoadPreviousVist and LoadPreviousVisitSalesforce functionality
[cs29140] Upgrade to Winter '17 API (v38.0)
[cs29137] Update the Tooling API to Winter '17 (v38.0)
[cs29134] Update the Partner API to Winter '17 (v38.0)
[cs29133] Update the Metadata API to Winter '17 (v38.0)
[cs29132] Update the Apex API to Winter '17 (v38.0)
[cs29107] BREAKING CHANGE: Added status page aspx file; changed status page to show details for all providers; remove public prope...
[cs29106] Fix typo in SaveAction visitor
[cs29095] SalesforceServiceWrapper - Allow SOAP message tracing per Service class via the TraceSoapExtensionConfigured.
[cs29093] SalesforceField. Use the new "custom" property to identify custom fields.
[cs29079] Handle common SalesforceSettingsSection missing ConfigurationException and just DEBUG log it. Will use default values in...
[cs29078] SalesforceServiceFoundation - Improve UpdateEntities ArgumentOutOfRangeException message if no entities are passed in to...
[cs29077] FieldService - when checking if a field is updatable, check within the current Orgs namespace if defined.
[cs29076] MetadataServiceWrapper - Deployment support for triggers and installed packages
[cs29074] ToolingServiceWrapper - correct paging of describeSObjects to 100 records per batch. Cache DescribeSobject results via d...
[cs29072] Cater for records with an empty billing state
[cs29056] Remove declaration of error label from code behind file.
[cs29019] Changed paged SalesforceDataSource to bring back all available records
[cs29011] Removed 'FuseIT S4S Mapping.xml'
[cs28987] DEBUG in the SalesforceSession Singleton is changed or cleared.
[cs28981] Make the GetByEntityId ObjectType check case insensitive.
[cs28979] Fix Getting a single sObject from the QueryResultPager.
[cs29019] Change to bring back all available records.
[cs29012] Updating S4S Mapping XML to be the same as the 8.1 web project.
[cs29011] Removed 'FuseIT S4S Mapping.xml'.
[cs29010] Corrected assembly name and removed double-click events on Fields List.
[cs29009] Corrected the assembly name.
[cs29006] First check-in.
[cs29005] Add EXM provider information.
[cs28987] DEBUG if the SalesforceSession Singleton is changed or cleared.
[cs28976] Bulk Update Sitecore Analytics in Salesforce - use Lead and Contact SalesforceDataSources to update via the SitecoreVisitorId__c field. Process all matching records via the QueryResultPager. [cs28967] Add new method ClearKeyPrefixCache() to the SalesforceSession.Binding to allow the KeyPrefix Cache to be cleared.
[cs28966] WFFM For the PushVisitorAction, handle the Field Name being the Title rather than underlying Item Name. Map via FieldId. Additional Debug level logging.
[cs28965] When caching the KeyPrefix to ObjectType mappings, include the Salesforce OrgId in the cache key. This will prevent conflicts for custom object key prefixes.
[cs28963] WFFM Resolve the Field Item Name via the Field Id rather than the AdaptedControlResult.FieldName property that can vary between the Item Name and the Item Title.
[cs28961] WFFM - Logging refinements for Execution of form mappings.
[cs28960] Change Logging Levels for "The XML string for this child" and "This node has attributes" from INFO to DEBUG.
[cs28957] Handle Empty Salesforce API batches. e.g. Request to upsert 0 records.
[cs28956] S4S WebToSalesforceSessionSingleton - improve logging message for private constructor to make it clearer that a new SalesforceSession instance isn't being created with every call.
[cs28934] Performance fixes for BulkUpdateAnalytics scheduler.
[cs28910] ApexLogService. Add USER_INFO to LogMessage emum. When parsing a Log, create a Meta DataTable. Include info such as is ...
[cs28892] Don't process WFFM fields that are not mapped to Salesforce SObject fields.
[cs28891] Switch all APIs to use v37.0 of the APIs
[cs28890] Upgrade Metadata API to Summer '16 (v37.0)
[cs28889] Upgrade Apex API to Summer '16 (v37.0)
[cs28888] Upgrade Apex API to Summer '16 (v37.0)
[cs28887] Upgrade Tooling API to Summer '16 (v37.0)
[cs28886] Upgrade Partner API to Summer '16 (v37.0)
[cs28882] Enabling Load Previous Visitor for Sitecore MVC
[cs28872] Add new WF_FLOW_* LogMessages
[cs28858] SoslQuery: Support for executing a SOSL query
[cs28857] SoqlQuery: Improve manual parsing of SOQL query to handling missing FROM clause
[cs28855] MetadataServiceWrapper - fix packaging of page types
[cs28853] ToolingServiceWrapper: Add ApexOrgWideCoverage() to get overall PercentCovered. Include triggers in ApexCodeCoverageAggr...
[cs28851] SalesforcePod: Map AP2, CS28, CS41, CS51, NA32
[cs28847] Add SOQL DataSource
[cs28834] Configuring field mapable forms through the /sitecore/system/Modules/S4S/SaveActions item - BREAKING CHANGE.
[cs28812] Rename WebSvcCalloutTestClass Methods and HttpMethods properties to have Callout prefix to avoid conflict with base clas...
[cs28804] SalesforcePod - Map "29" to cs19 and "8A" to cs45
[cs28767] Changed to 4.5.1 .NET
[cs21745] Allow Salesforce Services to be created where keyPrefix can't be determined directly via Partner API. In these cases it won't be possible to find the sObject type from an Id.
[cs21616] Fix the Sitecore role provider to handle other domain users.
[cs21546] EntityCache now optionally specifies if key is case sensitive. If not case sensitive it will be converted to lowercase. ContactCache constructor now takes a parameter that indicates if the key field is case sensitive.
[cs21546] SalesforceMembershipProvider: Searches for Contacts by the UserNameField now takes into account if the key field is case sensitive as indicated by the S4S.config S4S.UniqueKeyCaseSensitiveProperty setting (Defaults to false).
[cs21546] SalesforceRoleProvider roles now cached for short durations (600 seconds) so repeated calls to IsUserInRole or GetRolesForUser do not result in calls to Salesforce.
[cs21518] Increase CacheItemPriority on primary cache keys to NotRemovable. If these keys are automatically flushed from the cache all the dependent records are also removed (by design). Increase debug level logging from Security Providers and Caching.
[cs21457] Increase DEBUG level logging in the Caches and Providers to assist with debugging.
[cs19648] Handle failure to load provider.
[cs19700] Master Details relationships must have a Child Relationship.
[cs19631] Move the SoqlQuery class into the Soql namespace.
[cs19646] Add new Properties to Security Providers to give a basic indication of the Licensing Status.
[cs19649] Add example log4net appender to send error emails.
[cs19693] Add PolymorphicKeyReference property to base Relationship class so that it can be used for Lookups in addition to MasterDetailRelationships.
[cs19697] Add a new DataSource method, RunQueryExists(). Run a SOQL query and check if at least one matching record exists.
[cs19740] Allow establishment of a SalesforceSession using the sessionId and serverUrl.
[cs19747] Switch from ISubmit to ISaveAction. Allow for the creation of new Contacts and Leads. Add a SalesforceSessionSingleton implementation for working with the API session.
[cs19749] Add a WFFM sample Field Type control to create a Drop Down List using Salesforce field picklist meta data e.g. Create a Drop Down List for the Lead Industry.
[cs19773] Move the parsing of the connection string to the LoginDetails. Raise an event from the SalesforceSessionSingleton when a new Salesforce session is set.
[cs19779] Pre-compiled templates to generate S4S entities.
[cs19781] Take the output of the pre-processed T4 template for the core Salesforce objects (no custom fields or objects) and merge it back into S4S. All exposed default objects and fields will have classes now.
[cs19812] Add support for proxy credentials in the ConnectionString/LoginDetails for Salesforce Soap connections.
[cs19521] Resolve parameters issue in SalesforceDataSource.GetPager method.
[cs19562] Add GetAll() method to EntityCache to retrieve all cached entities of that type. Add additional caching examples.
[cs19354] EntityCache constructor to support get by id with defined cache duration.
[cs19372] New methods for MasterDetail Lookup relationships for sObjectType. Methods in FieldService now return SalesforceFields rather than the Partner. API Field object. Calls to these methods will need to be updated.
[cs19384] Resolve issue with Master-Child Relationships through Partner API.
[cs19250] CacheBase.Contains no longer throws ArgumentNullException if no cacheKey.
[cs19348] Resolved bug when parsing a Salesforce number field to an integer. In some cases, the Salesforce Partner API would return the value with a decimal point even though the precision was 0. For example, a value of 5 in a Salesforce Number(10,0) field would return as "5.0". This caused the field extraction to fail. Resolved bug updating DateTime field from Sitecore User Manager. The value could be extracted from Salesforce but not written back via the Profile provider. Add support for reading and writing internals fields as floats.
[cs19268] Add FieldService.HasField(string fieldName) method.
[cs19278] Add support for the ID EmptyKey, which is used to indicate an empty reference in a Data Export.
[cs19285] SalesforceServiceWrapper.ObjectTypeFromId(Id) will now return null when the type for the ID can't be determined. Previously an ApplicationException error was thrown.
[cs19300] Add Example to Starter Kit to create Sitecore Content Items for Salesforce Contacts using a Sitecore Agent job. Add a generic Singleton implementation for the SalesforceSession. Add support for DateTime Soql filters to data sources. Add RefreshSalesforceSchemaOnError option to SalesforceSession control schema refreshes.
[cs19326] Restrict fields returned when retrieving a single Contact. In the membership provider, don't consume all provider keys (throwing exceptions). Just return null as another provider may be able to match the key.
[cs19349] Switch from Hashtables to Dictionaries for caching. Wrap Salesforce Field metadata in the SalesforceField object.
[cs19352] Add optional support to expire a Contacts Membership login using data from Salesforce. Contacts can optionally be locked out and have the approval status toggled. Add support for setting nullable floats, ints and Id field values.
[cs19353] Create EntityCache class for generic entity caching by a given key or the Id. Move cache keys into the constructors.
[cs19239] Restrict the fields retrieved by the S4S SalesforceMembershipProvider to be the minimal required. This should help address issues where other unrelated fields are being added and removed in production while S4S is running with cached data. Fix bug when searching Membership provider by email.
[cs19240] SalesforceServiceBase.DeleteEntities() Allow for bulk delete of entities in addition to current ID only support. SalesforceServiceBase.GetAll() overload to only pull specific fields.
[cs19241] If a query or retrieve API call to Salesforce fails due an invalid field in the request and the G4S/S4S call didn't specify the field clear the cached Salesforce schema data and retry the API call. This will provide some tolerance for schema changes occurring live in Salesforce when G4S/S4S is running.
[cs19206] Add examples to the S4S Starter-kit pulling details from the Profile and Role providers.
[cs19222] Add a new class to represent a Salesforce ID. Allow for SOQL queries against this new class. E.g. Get by strongly typed ID field. Update the T4 generation templates to output the fields for an object using the required type. Allow for Select queries using fields defined for an sObject. Move exceptions into a folder. Add direct support for Opportunities in the Entities namespace.
[cs19224] T4 templates now produce separate files per class and entity.
[cs19243] Return null when attempting to retrieve a string field that doesn't exist from a sObject. Previously empty string.
[cs19246] Handle REQUEST_LIMIT_EXCEEDED exception when establishing session. Disable the Salesforce Membership/Role/Profile providers if a Salesforce session cannot be established.
[cs19174] Resolved issue with re-establishing Salesforce session from the connection string when it has expired due to inactivity.
[cs19193] ComparisonOperator and Operator moved from FuseIT.Sitecore.SalesforceConnector to FuseIT.Sitecore.SalesforceConnector.Soql namespace.
[cs18626] Updated Salesforce Partner API to 21.0 version. Namespace changed to FuseIT.Sitecore.SalesforceConnector.SalesforcePartner210.
[cs18626] Updated Salesforce Metadata API to 21.0 version. Namespace changed to FuseIT.Sitecore.SalesforceConnector.SalesforceMetadata210.
[cs18571] Generic service updates. Improved field caching per object type. Allow the DataCache to be persisted out. Useful for Winforms. Increase the license period for sandbox users to 365 days.
See the power of S4S in action.
Register for 21 March 2023
is
* Friday in the US is
Saturday in New Zealand.
Ready to join the integration revolution?
Get started and enjoy the benefits sooner