HomeGuidesAPI Reference
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

Forms 2 - Breaking changes

This topic describes the breaking changes from Optimizely Forms version 1 to version 2.

📘

Note

Episerver Forms is supported by MVC-based websites only.

Some changes are binary breaking but do not necessarily require code changes but rather just a recompilation of the project.

  • AFORM-455 Forms.DLL is now signed.
  • AFORM-540 Actor now can run sync/async with the submission process. With sync-Actor, developer can modify the response return to Visitor. See also Implementing a customized Actor.
  • AFORM-551 Autofill API
    • Introduce IAutofillProvider and AutofillService.
    • Change IFormElement.GetDefaultValue().
  • AFORM-472] The intention of RichTextWithPlaceholder is Recall field value in previous-step. With this new feature, RichTextWithPlaceholder element works like a normal XHTML block (even in the case where no placeholder exists).
  • AFORM-418 Progressive Profiling for Forms BETA.
  • AFORM-480 Built-in Submit button now has Progressive Profiling feature.
  • AFORM-526 Option to not load the default style sheet (EPiServerForms.css).

API changes

Changed

  • IFormElement interface has a new method: IFormElement.GetDefaultValue().
  • AFORM-533 IPostSubmissionActor interface has new properties to provide information about Field mapping to external system.
    • Actor can be sync/async
    • Only sync-actor can have/modify the ResponseBase object
    • If a third party developer uses PostSubmissionActorBase, their class is not affected.
  • AFORM-534 Feed API should be internal use only.
  • AFORM-541 Renamed IElementTittle to IElementTitle, (fixing a typographical error in naming).
  • AFORM-488 Refactored static functions of validation, moved to ValidationService.

Marked as obsolete

  • Method of FormsExtensions should be treated as Internal use only. They are helper functions, and are not critical to provide services to third-party developer.
  • Properties
    • FieldMapping.Name
    • FormElement.Code
    • FormElement.AttributesString
    • IFormElement.Code
    • IFormElement.AttributesString
  • Methods
    • ElementBlockBase.FindParentForm
    • FormsExtensions.GetSelectedDatasource
    • FormsExtensions.GetMatchedValidator
  • Types
    • EPiServer.Forms.Core.FieldMapping
    • EPiServer.Forms.Implementation.DataSubmissionEngine
    • EPiServer.Forms.Implementation.FileSaveItem
    • EPiServer.Forms.Implementation.ProgressiveSubmitInfoService
    • EPiServer.Forms.Implementation.ProgressiveSubmitInfoService