diff --git a/docs/user/cards.rst b/docs/user/cards.rst
index 9a7352f..bc48550 100644
--- a/docs/user/cards.rst
+++ b/docs/user/cards.rst
@@ -8,7 +8,7 @@ Webex supports `AdaptiveCards `_ to allow
new levels of interactivity for bots and integrations. You can read more about
how cards and buttons work `in the official guide `_.
-In this guide I want to cover the abstraction built into the webexpythonsdk that
+In this guide we want to cover the abstraction built into the webexpythonsdk that
lets you author adaptive cards in pure python without having to touch the
underlying JSON of an adaptive card.
@@ -22,7 +22,7 @@ Lets dive into a simple example that sends a card to a room
from webexpythonsdk import WebexAPI
from webexpythonsdk.models.cards.card import AdaptiveCard
from webexpythonsdk.models.cards.inputs import Text, Number
- from webexpythonsdk.models.cards.components import TextBlock
+ from webexpythonsdk.models.cards.card_elements import TextBlock
from webexpythonsdk.models.cards.actions import Submit
greeting = TextBlock("Hey hello there! I am a adaptive card")
diff --git a/docs/user/migrate.rst b/docs/user/migrate.rst
index e8963e3..d4c3b61 100644
--- a/docs/user/migrate.rst
+++ b/docs/user/migrate.rst
@@ -8,7 +8,7 @@ Migration
This *should* 🤞 be easy!
-``webexpythonsdk`` is designed to be a drop-in replacement for the ``webexteamssdk`` package. The SDK interface and data objects are largely unchanged with only a few minor name changes.
+The transition from `webexteamssdk` to `webexpythonsdk` is not entirely a "drop-in replacement" due to substantial changes in class structures and functionalities. This guide aims to clarify these changes and offer solutions to ease the migration process.
Major changes that you should be aware of:
@@ -17,7 +17,6 @@ Major changes that you should be aware of:
* The primary API object has changed from ``WebexTeamsAPI`` to ``WebexAPI``
-
---------------
Migration Guide
---------------
@@ -39,7 +38,9 @@ The following table summarizes the name changes that need to be made to migrate
*Note:* The old ``WEBEX_TEAMS_ACCESS_TOKEN`` environment variable should continue to work with the new package; however, you will receive a deprecation warning. It is recommended to update the environment variable name to ``WEBEX_ACCESS_TOKEN``.
-**Doing a quick search-and-replace in your codebase should be all you need to do to migrate.**
+
+
+**Doing a quick search-and-replace in your codebase will help when migrating.**
Detailed Steps
--------------
@@ -64,6 +65,80 @@ Detailed Steps
**Primary API Object:** Replace all instances of ``WebexTeamsAPI`` with ``WebexAPI``.
+Key Changes For Adaptive Cards
+------------------------------
+
+Module and Class Changes
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following table outlines the changes in module and class names:
+
+.. list-table::
+ :widths: 25 25 50
+ :header-rows: 1
+
+ * - Old Module/Class
+ - New Module/Class
+ - Example Usage
+ * - `webexteamssdk.models.cards.components.TextBlock`
+ - `webexpythonsdk.models.cards.card_elements.TextBlock`
+ - `TextBlock(color=Colors.light)`
+ * - `webexteamssdk.models.cards.container.ColumnSet`
+ - `webexpythonsdk.models.cards.containers.ColumnSet`
+ - `ColumnSet(columns=[Column()])`
+ * - `webexteamssdk.models.cards.components.Image`
+ - `webexpythonsdk.models.cards.card_elements.Image`
+ - `Image(url="https://example.com/image.jpg")`
+ * - `webexteamssdk.models.cards.components.Choice`
+ - `webexpythonsdk.models.cards.inputs.Choice`
+ - `Choice(title="Option", value="option")`
+ * - `webexteamssdk.models.cards.options.BlockElementHeight`
+ - `webexpythonsdk.models.cards.options.BlockElementHeight`
+ - `BlockElementHeight(height="stretch")`
+ * - New Imports
+ - `webexpythonsdk.models.cards.actions.OpenUrl`, `Submit`, `ShowCard`
+ - `OpenUrl(url="https://example.com")`
+ * - New Imports
+ - `webexpythonsdk.models.cards.types.BackgroundImage`
+ - `BackgroundImage(url="https://example.com/image.jpg")`
+
+Enums and Case Sensitivity
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Attributes now require specific enums for values, which are case-sensitive. For example:
+
+- **Previous**: `TextBlock.color = "Light"`
+- **New**: `TextBlock.color = Colors.light`
+
+Refer to the `Adaptive Cards TextBlock documentation `_ for valid enum values.
+
+Compatibility Solutions
+-----------------------
+
+Wrapper Classes
+~~~~~~~~~~~~~~~
+
+To facilitate backward compatibility, consider using the following wrapper classes:
+
+.. code-block:: python
+
+ # Example wrapper for components.py
+ from webexpythonsdk.models.cards.card_elements import TextBlock, Image
+ from webexpythonsdk.models.cards.containers import Column, Fact
+
+ # Example wrapper for container.py
+ from webexpythonsdk.models.cards.containers import Container, ColumnSet, FactSet
+
+Module Flag for Compatibility
+-----------------------------
+
+A module flag can be introduced to bypass the `validate_input` function where backward compatibility is needed. Ensure this flag is set before executing legacy code.
+
+.. code-block:: python
+
+ # Example usage
+ webexpythonsdk.enable_backward_compatibility(True)
+
----------------
For Contributors
----------------
@@ -95,6 +170,7 @@ Project changes that you should be aware of:
+-------------------------------------+-------------------------------+
+
*Copyright (c) 2016-2024 Cisco and/or its affiliates.*