Compatibility mode on IPFGrid FDF

Until now, IPF supported compatibility mode for the deprecated MultiLevelList, Panel, Filter, and ListInnerWebPage Web parts. As part of removing SharePoint in IPF 4.x, all deprecated Web part support has been removed. Custom code that is using this compatibility mode will be modified by the migration.

You must migrate any layout code that uses any of these types:

  • Inherits IPFMLLCustomCode
  • Inherits IPFPanelCustomCode
  • Inherits IPFListDetailCustomCode
  • Inherits IPFFilterCustomCode

Since these types do not exist in IPF 4.x, this identifies code that is running in compatibility mode and needs to be migrated.

For each layout found using the above types, the migration will change these types:

From type To type
Inherits IPFMLLCustomCode Inherits IPFGridCustomCode
Inherits IPFPanelCustomCode Inherits IPFGridCustomCode
Inherits IPFListDetailCustomCode Inherits IPFGridCustomCode
Inherits IPFFilterCustomCode Inherits IPFGridCustomCode
As MLLScriptInitializingContextI

As PanelScriptInitializingContextI

As ListDetailScriptInitializingContextI

As FilterScriptInitializingContextI

As GridScriptInitializingContextI
As MLLScriptInitializingParmsI

As PanelScriptInitializingParmsI

As ListDetailScriptInitializingParmsI

As FilterScriptInitializingParmsI

As GridScriptInitializingParmsI
As MLLFilterChangedContextI

As PanelFilterChangedContextI

As ListDetailFilterChangedContextI

As FIlterFilterChangedContextI

As GridFilterChangedContextI
As MLLFilterChangedParmsI

As PanelFilterChangedParmsI

As ListDetailFilterChangedParmsI

As FilterFilterChangedParmsI

As GridFilterChangedParmsI
As MLLLayoutInitializedContextI

As PanelLayoutInitializedContextI

As ListDetailLayoutInitializedContextI

As FilterLayoutInitializedContextI

As GridLayoutInitializedContextI
As MLLLayoutInitializedParmsI

As PanelLayoutInitializedParmsI

As ListDetailLayoutInitializedParmsI

As FilterLayoutInitializedParmsI

As GridLayoutInitializedParmsI
As MLLItemLoadedContextI

As PanelLItemLoadedContextI

As ListDetailLItemLoadedContextI

As FilterLItemLoadedContextI

As GridLItemLoadedContextI
As MLLItemLoadedParmsI

As PanelItemLoadedParmsI

As ListDetailItemLoadedParmsI

As FilterItemLoadedParmsI

As GridItemLoadedParmsI
As MLLItemValidatingContextI

As PanelItemValidatingContextI

As ListDetailItemValidatingContextI

As FilterItemValidatingContextI

As GridItemValidatingContextI
As MLLItemValidatingParmsI

As PanelItemValidatingParmsI

As ListDetailItemValidatingParmsI

As FilterItemValidatingParmsI

As GridItemValidatingParmsI
As MLLClickContextI

As PanelClickContextI

As ListDetailClickContextI

As FilterClickContextI

As GridClickContextI
As MLLClickParmsI

As PanelClickParmsI

As ListDetailClickParmsI

As FilterClickParmsI

As GridClickParmsI
As MLLDropdownLoadingContextI

As PanelDropdownLoadingContextI

As ListDetailDropdownLoadingContextI

As FilterDropdownLoadingContextI

As GridDropdownLoadingContextI
As MLLDropdownLoadingParmsI

As PanelDropdownLoadingParmsI

As ListDetailDropdownLoadingParmsI

As FilterDropdownLoadingParmsI

As GridDropdownLoadingParmsI
As MLLAlertContextI

As PanelAlertContextI

As ListDetailAlertContextI

As FilterAlertContextI

As GridAlertContextI
As MLLAlertParmsI

As PanelAlertParmsI

As ListDetailAlertParmsI

As FilterAlertParmsI

As GridAlertParmsI

These APIs have been removed:

  • Context.ItemsPerPage (MLL and ListDetail) -> during migration change to Context.RowsPerPage
  • Context.Items.ParentItem (MLL) -> during migration change to Context.ParentComponent.Item
  • IPFMLLCollectionI (MLL) -> during migration change to IPFCollectionI
  • Context.HasInnerItems (MLL)
  • Context.ShowInnerItems (MLL)
  • Context.ShowInnerWebPage (ListDetail)
  • IPFItemI.InnerItems (MLL)
  • Context.AlertInnerItems (MLL)
  • Context.AlertInnerWebPage (ListDetail)

During the migration process, any calls to Context.ItemsPerPage are replaced with Context.RowsPerPage. The other APIs are left in the code.