Guide - 7.8-7.9 API Changes

1 Changes

DescriptionAPI changesHow to migrate

Pipeline from cartridge

bc_costcenter

ProcessCostCenter-GetCostCenterDetails

Optional return parameter CostCenterOrders is deprecated and is never returned.

ProcessCostCenter-GetCostCenterDetails

Use the CostCenterBOOrderExtension BO extension to retrieve the orders for a cost center.

Java code of cartridge

bc_basket

BasketBO

functionality which was deprecated for a longer time was removed.

following methods have been added:

  • boolean isOnHold()
  • void setOnHold(boolean)

BasketProductLineItemBO

functionality which was deprecated for a longer time was removed

BasketBOShippingBucketExtension

functionality which was deprecated for a longer time was removed

BasketBO:
    Delete implementation for removed methods

BasketProductLineItemBO:
    Delete implementation for removed methods

BasketBOShippingBucketExtension:

Delete implementation for removed methods

Java code of cartridge

bc_basket_orm

BasketBOGiftingExtension

functionality which was deprecated for a longer time was removed

BasketBOGiftingExtension:

Delete implementation for removed methods

Java code of cartridge

bc_order

OrderBO

functionality which was deprecated for a longer time was removed

OrderProductLineItemBO

functionality which was deprecated for a longer time was removed

OrderBORepository

functionality which was deprecated for a longer time was removed

OrderBO:

    Delete implementation for removed methods

OrderProductLineItemBO:

    Delete implementation for removed methods

OrderBORepository:

    Delete implementation for removed methods

Java code of cartridge

sld_ch_b2c_base

BasketBOShippingMethodExtension

functionality which was deprecated for a longer time was removed


OrderBOImpl.getNotificationEmailAddress()

now also returns notification e-mail address for registered users (previously only for unregistered users and null for registered users)

BasketBOShippingMethodExtension:

    Delete implementation for removed methods


OrderBOImpl:

Check and adapt method occurrences, if necessary

Pipelet "ValidateQuoteBeforeAddToBasket" from

bc_quote

The pipelet "ValidateQuoteBeforeAddToBasket" has no configuration parameter "checkDuplicateQuotesInBasket" anymore. The quote validation has been extracted to "BasketQuoteValidator". The default implementation checks for duplicate quotes by default.In order to customize this validation, a new validation implementation can be wired to this interface via Google Guice.

Java code of cartridge

bc_marketing

The following methods have been removed:

com.intershop.component.marketing.capi.promotion.PromotionBOCampaignExtension

Removed methodReplacement
hasCampaign()getCampaignBO() != null
getCampaign()getCampaignBO()
setCampaign(Campaign campaign)setCampaignBO(CampaignBO campaignBO)

com.intershop.component.promotion.capi.PromotionBO

Removed methodReplacement
getRebateBOsCount()getRebateBOs().size()
getID()getPromotionID() - Remark: The method getID() still exists in AbstractPersistentObjectBO and returns the UUID instead of promotion id
getLegalContentMessage()getLegalContentMessage(LocaleInformation)
getDisplayName()getDisplayName(LocaleInformation)
getDescription()getDescription(LocaleInformation)
getCreatorIDNull()getCreatorID() == null
getBudgetIDNull()getBudgetID() == null
getBudgetNotificationThresholdNull()getBudgetNotificationThreshold() - Remark: No real replacement since threshold value is a double
getBudgetNotificationEmailNull()getBudgetNotificationEmail() == null
isDisableByBudget()

functionality is removed out of this BO; this two methods can be used to determine if budget is exhausted or threshold is reached

checkBudgetExhausted() or checkBudgetThresholdReached()

getSingleCodeNull()getSingleCode() == null
getSingleCodeTotalNull()getSingleCodeTotal() - Remark: No real replacement since single code total value is a int
getContentActivationTypeNull()getContentActivationType() - Remark: No real replacement since content activation type  value is a int
getContentActivationStartDateNull()getContentActivationStartDate() == null
getContentActivationEndDateNull()getContentActivationEndDate() == null
getBudget()

functionality is removed out of this BO; there are several methods that can be used to retrieve budget related information:

getBudgetAmount()
hasBudget()
checkBudgetExhausted()
checkBudgetThresholdReached()

getAttribute(String)

getAttribute("Title")
getAttribute("LongTitle")
getAttribute("RuleDescription")
getAttribute("Icon")
getAttribute("DisableMessages")

getExtension(BusinessObjectAttributes.class).getAttribute(name)

getTitle(LocaleInformation)
getLongTitle(LocaleInformation)
getRuleDescription(LocaleInformation)
getIcon(LocaleInformation)
isDisableMessages()

getAttribute(String, LocaleInformation)getExtension(BusinessObjectAttributes.class).getLocalizedAttribute(String).getValue(LocaleInformation)
getMultipleAttributes(String aName)getExtension(BusinessObjectAttributes.class).getAttribute(name)
getMultipleLocalizedAttributes(String, LocaleInformation)getExtension(BusinessObjectAttributes.class).getLocalizedAttribute(String).getValue(LocaleInformation)

Delete implementation for removed methods and use alternative methods


Java code of cartridge

app_sf_contactcenter_rest

The following constructors have been removed:

com.intershop.application.contactcenter.capi.rest.resourceobject.PromotionRO

Removed constructorReplacement

PromotionRO(PromotionBO aPromotion)

PromotionRO(PromotionBO aPromotion, LocaleInformation aLocaleInformation)

com.intershop.application.contactcenter.capi.rest.resourceobject.PromotionCodeRO

Removed constructorReplacement
PromotionCodeRO(PromotionBO aPromotion, Domain domain, String aPath, String aCode)PromotionCodeRO(PromotionBO aPromotion, Domain domain, String aPath, String aCode, LocaleInformation aLocaleInformation)



Java code of cartridge

sld_ch_b2c_base

Java class:

com.intershop.sellside.appbase.b2c.capi.catalog.CatalogCategoryBOImageExtension

The following method has been removed:

Removed methodReplacementReason
ImageContainerBO getImageContainer()ImageContainerBO getImageContainerBO()

deprecated since 7.0.0.0

The following methods have been added:

Added method
String getDefaultImageTypeID()
Iterator<String> getAvailableImageTypeIDs()

The ImageTypeID was fixed in pipelines and templates to 'M'. This fixed value was replaced by a method from this Java extension.

The current implementation com.intershop.sellside.appbase.b2c.internal.catalog.CatalogCategoryBOImageExtensionImpl simply returns default values.

The default image type and all available image type ids(might be used in a UI select box) can be changed by writing a project specific implementation for this interface.


Java code of

sld_ch_b2c_base and bc_basket

com.intershop.sellside.appbase.b2c.capi.basket.BasketBOAppliedRebateExtension was completely removed and replaced by com.intershop.component.basket.capi.extension.BasketBOAppliedRebateExtension (bc_basket)

Java code of cartridge

bc_approval

Deprecated all classes from the older ApprovalMgr based approval. They were never used in ICM 7.x, but weren't marked as deprecated either. In addition to that the generic approval REST resource classes, that were also never used were deprecated as well.

Deprecated EDLs

EDLs

edl/com/intershop/component/approval/capi/ApprovalAnswer.edl

edl/com/intershop/component/approval/internal/ApprovalAnswerPO.edl

Deprecated interfaces

CAPI

com.intershop.component.approval.capi.ApprovalActions

com.intershop.component.approval.capi.ApprovalAnswer

com.intershop.component.approval.capi.ApprovalAnswerException

com.intershop.component.approval.capi.ApprovalCompoundObject

com.intershop.component.approval.capi.ApprovalConstants

com.intershop.component.approval.capi.ApprovalExpression

com.intershop.component.approval.capi.ApprovalExpressionAllOf

com.intershop.component.approval.capi.ApprovalExpressionConstant

com.intershop.component.approval.capi.ApprovalExpressionEscalation

com.intershop.component.approval.capi.ApprovalExpressionFactory

com.intershop.component.approval.capi.ApprovalExpressionOneOf

com.intershop.component.approval.capi.ApprovalExpressionOperator

com.intershop.component.approval.capi.ApprovalExpressionSequentialAllOf

com.intershop.component.approval.capi.ApprovalExpressionSequentialOneOf

com.intershop.component.approval.capi.ApprovalExpressionSingleUser

com.intershop.component.approval.capi.ApprovalExpressionUser

com.intershop.component.approval.capi.ApprovalExpressionUserGroup

com.intershop.component.approval.capi.ApprovalMgr

com.intershop.component.approval.capi.ApprovalObject

com.intershop.component.approval.capi.ApprovalObjectForPersistentObject

com.intershop.component.approval.capi.ApprovalPipelineActions

com.intershop.component.approval.capi.ApprovalPreview

com.intershop.component.approval.capi.ApprovalStrategy

Deprecated implementation classes

While internal classes aren't API and could be removed at any time, the approval related classes have been kept and only marked as deprecated.

Internal

com.intershop.component.approval.internal.AcceptItem

com.intershop.component.approval.internal.ApprovalAnswerPO

com.intershop.component.approval.internal.ApprovalAnswerPOAttributeValuePO

com.intershop.component.approval.internal.ApprovalAnswerPOAttributeValuePOFactory

com.intershop.component.approval.internal.ApprovalAnswerPOAttributeValuePOKey

com.intershop.component.approval.internal.ApprovalAnswerPOFactory

com.intershop.component.approval.internal.ApprovalAnswerPOKey

com.intershop.component.approval.internal.ApprovalConstExprAllOfImpl

com.intershop.component.approval.internal.ApprovalConstExprConstantImpl

com.intershop.component.approval.internal.ApprovalConstExprConverter

com.intershop.component.approval.internal.ApprovalConstExprEscalationImpl

com.intershop.component.approval.internal.ApprovalConstExprImpl

com.intershop.component.approval.internal.ApprovalConstExprOneOfImpl

com.intershop.component.approval.internal.ApprovalConstExprSequentialAllOfImpl

com.intershop.component.approval.internal.ApprovalConstExprSequentialOneOfImpl

com.intershop.component.approval.internal.ApprovalConstExprSingleUserImpl

com.intershop.component.approval.internal.ApprovalConstExprUserGroupImpl

com.intershop.component.approval.internal.ApprovalExpressionAllOfImpl

com.intershop.component.approval.internal.ApprovalExpressionConstantImpl

com.intershop.component.approval.internal.ApprovalExpressionEscalationImpl

com.intershop.component.approval.internal.ApprovalExpressionFactoryImpl

com.intershop.component.approval.internal.ApprovalExpressionImpl

com.intershop.component.approval.internal.ApprovalExpressionOneOfImpl

com.intershop.component.approval.internal.ApprovalExpressionOperatorImpl

com.intershop.component.approval.internal.ApprovalExpressionSequentialAllOfImpl

com.intershop.component.approval.internal.ApprovalExpressionSequentialOneOfImpl

com.intershop.component.approval.internal.ApprovalExpressionSingleUserImpl

com.intershop.component.approval.internal.ApprovalExpressionUserGroupImpl

com.intershop.component.approval.internal.ApprovalMgrImpl

com.intershop.component.approval.internal.ApprovalPreviewImpl

com.intershop.component.approval.internal.DictionaryAnswerContainer

com.intershop.component.approval.internal.DictionaryObjectUserMappingContainer

com.intershop.component.approval.internal.SimplePreview2TextConverter

Deprecated pipelets

Pipelets

com.intershop.component.approval.pipelet.AcceptApprovalActivity

com.intershop.component.approval.pipelet.ApproveApprovalObject

com.intershop.component.approval.pipelet.CancelApprovalObject

com.intershop.component.approval.pipelet.CreateApprovalCompoundObject

com.intershop.component.approval.pipelet.CreateApprovalObject

com.intershop.component.approval.pipelet.CreateApprovalPipelineActions

com.intershop.component.approval.pipelet.CreateApprovalPreviews

com.intershop.component.approval.pipelet.CreateApprovalStatusView

com.intershop.component.approval.pipelet.CreateApprovalStatusViews

com.intershop.component.approval.pipelet.CreateApprovalTextView

com.intershop.component.approval.pipelet.CreateApprovalTextViews

com.intershop.component.approval.pipelet.DeclineApprovalActivity

com.intershop.component.approval.pipelet.GetActiveApprovalAspects

com.intershop.component.approval.pipelet.GetActiveApprovalObjects

com.intershop.component.approval.pipelet.GetApprovalActivities

com.intershop.component.approval.pipelet.GetApprovalActivtiesByApprover

com.intershop.component.approval.pipelet.GetApprovalAnswersByApprover

com.intershop.component.approval.pipelet.GetApprovalLastNotifiedUsers

com.intershop.component.approval.pipelet.GetApprovalObjects

com.intershop.component.approval.pipelet.GetApprovalTasklistActivities

com.intershop.component.approval.pipelet.PrepareApprovalAnswerList

com.intershop.component.approval.pipelet.RecalculateNextApprovalStep

com.intershop.component.approval.pipelet.RecalculateNextApprovalSteps

com.intershop.component.approval.pipelet.RejectApprovalObject

com.intershop.component.approval.pipelet.RemoveApprovalAnswer

com.intershop.component.approval.pipelet.RemoveApprovalAnswers

com.intershop.component.approval.pipelet.SetApprovalLastNotifiedUsers

com.intershop.component.approval.pipelet.StartApproval

Deprecated REST resource classes

REST

com.intershop.component.approval.rest.resource.ApprovalItemResource

com.intershop.component.approval.rest.resource.ApprovalItemResultResource

com.intershop.component.approval.rest.resource.ApprovalResource


Deprecated pipelines

Pipelines

APP_RemoveDomainReferences

ApprovalEscalation

ApprovalNotification


Minor schema version of xcs/impex (catalog.xsd) is increased from 7.0 to 7.1 since an optional element 'images' is added to CatalogCategory type

xcs/impex

The change allows to import and export images for categories in the same manner as for products.

See Reference - Category Data XML Import Specification#CategoryDataXMLImportSpecification-Images

The <image> and <thumbnail> tag was also removed from catalog.xsd.


Java code of cartridge

xcs

in f_business/f_legacy

Modified EDLs

EDLs
edl/com/intershop/beehive/xcs/capi/product/Product.edl

edl/com/intershop/beehive/xcs/internal/product/DerivedProductPO.edl

edl/com/intershop/beehive/xcs/internal/product/ProductPO.edl

Modified ORM files

image and thimbnail table columns were removed

ORM files
main/recources/com/intershop/beehive/xcs/internal/product/ProductPO.orm

main/recources/com/intershop/beehive/xcs/internal/product/DerivedProductPO.orm

The interface and implementation classes changes relate to the removal of the image and thumbnail attributes in product table and

to the removal of deprecated image framework BusinessObject methods

Modified interfaces

CAPI

com.intershop.beehive.xcs.capi.product.Product

com.intershop.beehive.xcs.capi.product.ProductAdapter

Modified implementation classes

InternalProduct / ImageBO

com.intershop.beehive.xcs.internal.product.ProductPO

Product
com.intershop.beehive.xcs.internal.product.ProductPOFactoryProduct
com.intershop.beehive.xcs.internal.product.DerivedProductPOProduct
com.intershop.beehive.xcs.internal.product.DerivedProductPOFactoryProduct
com.intershop.beehive.xcs.internal.product.ProductViewImplProduct
com.intershop.beehive.xcs.internal.impex.product.AbstractXMLParseContentHandlerProductProduct
com.intershop.beehive.xcs.internal.impex.product.DTDProductProduct
com.intershop.beehive.xcs.internal.impex.product.ElementValidatorOfferProduct
com.intershop.beehive.xcs.internal.impex.product.ElementValidatorProductProduct
com.intershop.beehive.xcs.internal.impex.product.ElementBulkerSQLLDRProductProduct
com.intershop.beehive.xcs.internal.impex.product.ElementProductProduct
com.intershop.beehive.xcs.internal.impex.product.ElementBulkerORMProductProduct and ImageBO
com.intershop.beehive.xcs.internal.impex.catalog.ElementBulkerORMCatalogCategoryImageBO
com.intershop.beehive.xcs.internal.product.ProductMgrImplImageBO

Deprecated pipelets

The pipelet changes relate to the removal of deprecated image framework BusinessObject methods

Pipelets

com.intershop.beehive.xcs.pipelet.image.CreateImageProductAssignment

com.intershop.beehive.xcs.pipelet.image.RemoveImageProductAssignment

Java code of cartridge

bts

in f_business/f_legacy

Modified interfaces

Added method
boolean com.intershop.beehive.bts.capi.orderprocess.basket.Basket.isOnHold()

void com.intershop.beehive.bts.capi.orderprocess.basket.Basket.setOnHold(boolean)

Modified implementation classes

The implementation classes changes relate to the removal of the image and thumbnail attributes in product table.

Internal
com.intershop.beehive.bts.internal.orderprocess.ProductLineItemUpdateProviderImpl

Java code of cartridge

bc_image

in f_business/f_legacy

Modified interfaces

The capi changes relate to the removal of deprecated image framework BusinessObject methods.

CAPI
com.intershop.component.image.capi.ImageBO

com.intershop.component.image.capi.ImageContainerBO

com.intershop.component.image.capi.ImageContainerBORepository

com.intershop.component.image.capi.ImageSetDefinitionBORepository

com.intershop.component.image.capi.ImageTypeBO

com.intershop.component.image.capi.ImageTypeBORepository

com.intershop.component.image.capi.ImageViewBO

com.intershop.component.image.capi.ImageViewBORepository

Modified implementation classes

The implementation changes relate to the removal of deprecated image framework BusinessObject methods.

Internal

com.intershop.component.image.internal.ImageBOUrlExtensionImpl

com.intershop.component.image.internal.ImageBORepositoryExtensionFactory

com.intershop.component.image.internal.ORMImageBOImpl

com.intershop.component.image.internal.ORMImageBORepositoryImpl

com.intershop.component.image.internal.ORMImageContainerBOImpl

com.intershop.component.image.internal.ORMImageContainerBORepositoryImpl

com.intershop.component.image.internal.ORMImageSetDefinitionBOImpl

com.intershop.component.image.internal.ORMImageSetDefinitionBORepositoryImpl

com.intershop.component.image.internal.ORMImageTypeBOImpl

com.intershop.component.image.internal.ORMImageTypeBORepositoryImpl

com.intershop.component.image.internal.ORMImageViewBOImpl

com.intershop.component.image.internal.ORMImageViewBORepositoryImpl

com.intershop.component.image.internal.common.ImageTypeViewFilter

Deprecated pipelets

The pipelet changes relate to the removal of deprecated image framework BusinessObject methods

Pipelets

com.intershop.component.image.pipelet.AddImage

com.intershop.component.image.pipelet.GetImageByID

com.intershop.component.image.pipelet.AssignImageTypeToImageView

com.intershop.component.image.pipelet.CreateImageSetDefinition

com.intershop.component.image.pipelet.CreateImageType

com.intershop.component.image.pipelet.CreateImageView

com.intershop.component.image.pipelet.DetermineMatchingImageType

com.intershop.component.image.pipelet.GetImageSetDefinitionByID

com.intershop.component.image.pipelet.GetImageSetDefinitions

com.intershop.component.image.pipelet.GetImageTypeByID

com.intershop.component.image.pipelet.GetImageTypes

com.intershop.component.image.pipelet.GetImageViewByID

com.intershop.component.image.pipelet.GetImageViews

com.intershop.component.image.pipelet.GetUniqueImageSetDefinitionContents

com.intershop.component.image.pipelet.RemoveImage

com.intershop.component.image.pipelet.UnassignImageTypeFromImageView

Java code of cartridge

bc_mvc

in f_business/f_catalog

Modified EDLs

The edl changes relate to the removal of the image and thumbnail attributes in product table.

EDLs
edl/com/intershop/component/mvc/capi/snapshot/ProductSnapShot.edl

Modified interfaces

The interface changes relate to the removal of the image and thumbnail attributes in product table.

CAPI

com.intershop.component.mvc.capi.product.ProductWOProvider

com.intershop.component.mvc.capi.snapshot.ProductSnapShot

com.intershop.component.mvc.capi.syndication.ProductXMLMarshaller

Modified implementation classes

The implementation classes changes relate to the removal of the image and thumbnail attributes in product table.

Internal

com.intershop.component.mvc.internal.snapshot.comparison.ProductSnapShotStandardAttributesComparerImpl

com.intershop.component.mvc.internal.syndication.OutboundProductImpl

Deprecated pipelets

The pipelet changes relate to the removal of the image and thumbnail attributes in product table and to the

removal of deprecated image framework BusinessObject methods.

Pipelets

com.intershop.component.mvc.pipelet.product.CopyProductAttributes

com.intershop.component.mvc.pipelet.product.UpdateProduct

com.intershop.component.mvc.pipelet.sitemaps.GetImageTypeViewPairs

Java code of cartridge

sld_ch_b2c_base

in f_business/f_sales

Modified interfaces

removed deprecated methods

CAPI

com.intershop.sellside.appbase.b2c.capi.product.ProductBOImageExtension

Modified implementation classes

removed deprecated methods

Internal

com.intershop.sellside.appbase.b2c.internal.product.ProductBOImageExtensionImpl


Java code of cartridge

bc_requisition

in f_business/f_checkout

Modified interfaces

The implementation classes changes relate to the removal of the image and thumbnail attributes in product table.

CAPI

com.intershop.component.requisition.capi.orderprocess.SimplifiedProductLineItemUpdateProviderImpl


Java code of cartridge

bc_marketing

in f_business/f_checkout

Modified interfaces

The implementation classes changes relate to the removal of the image and thumbnail attributes in product table.

CAPI

com.intershop.component.marketing.capi.syndication.DataFeedMarshaller


Java code of cartridge

bc_product

in f_business/f_catalog

Modified code (CAPI, Implementation, Pipelet)

The implementation classes changes relate to the removal of the image and thumbnail attributes in product table.

CAPI, Implementation, Pipelet

com/intershop/component/product/capi/ProductBO

com/intershop/component/product/internal/ORMProductBOImpl

com/intershop/component/product/pipelet/UpdateProductBO

Pipelet
GetPageletModelUtils
moved from

sld_enterprise_app

to sld_pmc

The pipelet GetPageletModelUtils was moved from sld_enterprise_app to sld_pmc.

This way the GetPageletModelUtils pipelet is located next to the PageletModelUtils that it makes usable within pipelines.
So pipelines using this pipelet do no longer need to be dependend on sld_enterprise_app but on the lower level sld_pmc.

Custom pipelines or pipeline customizations that use the GetPageletModelUtils pipelet need to be updated to the pipelets new reference pointing to sld_pmc.

Java code of cartridge

rest

in p_platform

Deprecated the following methods as authorization logic moved outside of the RestResource classes.

com.intershop.component.rest.capi.resource.AbstractRestResource

Deprecated method
protected void restrictAccess()
protected void restrictAccess(String resourceID)



Define access control restrictions for REST resources in resources-acl.properties file, located in the components folder of the cartridge where the REST API is defined.

Java code of cartridge

app_sf_rest

in f_business/a_storefront

com.intershop.sellside.rest.common.capi.resource.customer.AbstractCustomerRestResource,

com.intershop.sellside.rest.common.capi.resource.customer.AbstractCustomerRestCollectionResource

Deprecated method
protected void checkCustomerAndUserPermission(CustomerBO requestedCustomer, UserBO requestedUser, CustomerBO authenticatedCustomer, UserBO authenticatedUser)


com.intershop.sellside.rest.common.capi.resource.recurringorder.RecurringOrderListResource,

com.intershop.sellside.rest.common.capi.resource.recurringorder.RecurringOrderItemResource

Deprecated method

protected void checkCustomerAndUserPermission(CustomerBO requestedCustomer, UserBO requestedUser,

                    CustomerBO authenticatedCustomer, UserBO authenticatedUser)

private boolean isPrivateCustomer(CustomerBO customer)



Define access control restrictions for REST resources in resources-acl.properties file, located in the components folder of the cartridge where the REST API is defined.

Java code of cartridge

app_sf_rest_b2b

in f_b2b

com.intershop.application.storefront.rest.b2b.capi.punchout.resource.AbstractPunchoutRestCollectionResource,

com.intershop.application.storefront.rest.b2b.capi.punchout.resource. AbstractPunchoutRestResource

Deprecated method
protected void checkPunchoutViewPermission(UserBO currentUserBO)
protected void checkPunchoutManagePermission(UserBO currentUserBO)
protected boolean hasPunchoutManagePermission(UserBO userBO)
protected boolean hasPunchoutViewPermission(UserBO userBO)
Define access control restrictions for REST resources in resources-acl.properties file, located in the components folder of the cartridge where the REST API is defined.

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets