diff --git a/softspring/cms-bundle/5.2/config/packages/sfs_admin_menu_cms.yaml b/softspring/cms-bundle/5.2/config/packages/sfs_admin_menu_cms.yaml
new file mode 100644
index 00000000..503bf8b6
--- /dev/null
+++ b/softspring/cms-bundle/5.2/config/packages/sfs_admin_menu_cms.yaml
@@ -0,0 +1,41 @@
+twig:
+ globals:
+ admin_menu:
+ cms:
+ translation_key: 'sidebar.menu.cms.title'
+ pages:
+ translation_key: 'sidebar.menu.cms.pages'
+ route: 'sfs_cms_admin_content_page_list'
+ # role: ROLE_SFS_CMS_ADMIN_PAGES_LIST
+ active_expression: 'sfs_cms_admin_content_page_'
+ icon: 'bi bi-code-slash'
+ menus:
+ translation_key: 'sidebar.menu.cms.menus'
+ route: 'sfs_cms_admin_menus_list'
+ # role: ROLE_SFS_CMS_ADMIN_MENUS_LIST
+ active_expression: 'sfs_cms_admin_menus_'
+ icon: 'bi bi-list-nested'
+ blocks:
+ translation_key: 'sidebar.menu.cms.blocks'
+ route: 'sfs_cms_admin_blocks_list'
+ # role: ROLE_SFS_CMS_ADMIN_BLOCKS_LIST
+ active_expression: 'sfs_cms_admin_blocks_'
+ icon: 'bi bi-puzzle'
+ medias:
+ translation_key: 'sidebar.menu.cms.medias'
+ route: 'sfs_media_admin_medias_list'
+ # role: ROLE_SFS_MEDIA_ADMIN_MEDIAS_LIST
+ active_expression: 'sfs_media_admin_medias_'
+ icon: 'bi bi-images'
+ routes:
+ translation_key: 'sidebar.menu.cms.routes'
+ route: 'sfs_cms_admin_routes_list'
+ # role: ROLE_SFS_CMS_ADMIN_ROUTES_LIST
+ active_expression: 'sfs_cms_admin_routes_'
+ icon: 'bi bi-signpost-split'
+ sites:
+ translation_key: 'sidebar.menu.cms.sites'
+ route: 'sfs_cms_admin_sites_list'
+ # role: ROLE_SFS_CMS_ADMIN_SITES_LIST
+ active_expression: 'sfs_cms_admin_sites_'
+ icon: 'bi bi-diagram-3'
diff --git a/softspring/cms-bundle/5.2/config/packages/sfs_cms.yaml b/softspring/cms-bundle/5.2/config/packages/sfs_cms.yaml
new file mode 100644
index 00000000..6e7caf22
--- /dev/null
+++ b/softspring/cms-bundle/5.2/config/packages/sfs_cms.yaml
@@ -0,0 +1,18 @@
+imports:
+ - { resource: '@SfsCmsBundle/config/security/admin_role_hierarchy.yaml' }
+
+security:
+ role_hierarchy:
+ ROLE_ADMIN:
+ - ROLE_SFS_MEDIA_ADMIN_MEDIAS_RW
+ - ROLE_SFS_CMS_ADMIN_BLOCKS_RW
+ - ROLE_SFS_CMS_ADMIN_CONTENTS_RW
+ - ROLE_SFS_CMS_ADMIN_ROUTES_RW
+ - ROLE_SFS_CMS_ADMIN_MENUS_RW
+ - ROLE_SFS_CMS_ADMIN_SITES_RO
+ - ROLE_SFS_CMS_ADMIN_CONTENTS_TRANSLATOR
+
+sfs_cms:
+ site:
+ identification: "domain"
+ throw_not_found: false
diff --git a/softspring/cms-bundle/5.2/config/routes/sfs_cms_admin.yaml b/softspring/cms-bundle/5.2/config/routes/sfs_cms_admin.yaml
new file mode 100644
index 00000000..0a2ed8ad
--- /dev/null
+++ b/softspring/cms-bundle/5.2/config/routes/sfs_cms_admin.yaml
@@ -0,0 +1,31 @@
+_sfs_cms_pages_:
+ resource: "@SfsCmsBundle/config/routing/admin_pages.yaml"
+ prefix: "/admin/pages"
+
+# CONFIGURE YOUR CUSTOM CONTENT TYPES ADMIN ROUTES
+# _sfs_cms_custom_:
+# resource: "@SfsCmsBundle/config/routing/admin_content_type.yaml",
+# prefix: "/admin/custom"
+# defaults:
+# _content_type: custom
+# name_prefix: sfs_cms_admin_content_custom_
+
+_sfs_cms_routes_:
+ resource: "@SfsCmsBundle/config/routing/admin_routes.yaml"
+ prefix: "/admin/routes"
+
+_sfs_cms_menus_:
+ resource: "@SfsCmsBundle/config/routing/admin_menus.yaml"
+ prefix: "/admin/menus"
+
+_sfs_cms_blocks_:
+ resource: "@SfsCmsBundle/config/routing/admin_blocks.yaml"
+ prefix: "/admin/blocks"
+
+_sfs_cms_sites_:
+ resource: "@SfsCmsBundle/config/routing/admin_sites.yaml"
+ prefix: "/admin/sites"
+
+_sfs_media_admin_types_:
+ resource: "@SfsMediaBundle/config/routing/admin_media.yaml"
+ prefix: "/admin/media"
diff --git a/softspring/cms-bundle/5.2/manifest.json b/softspring/cms-bundle/5.2/manifest.json
new file mode 100644
index 00000000..a3b313f3
--- /dev/null
+++ b/softspring/cms-bundle/5.2/manifest.json
@@ -0,0 +1,9 @@
+{
+ "bundles": {
+ "Softspring\\CmsBundle\\SfsCmsBundle": ["all"]
+ },
+ "copy-from-recipe": {
+ "config/": "config/",
+ "translations/": "translations/"
+ }
+}
diff --git a/softspring/cms-bundle/5.2/post-install.txt b/softspring/cms-bundle/5.2/post-install.txt
new file mode 100644
index 00000000..522a8da1
--- /dev/null
+++ b/softspring/cms-bundle/5.2/post-install.txt
@@ -0,0 +1,15 @@
+* Your admin is almost ready:
+
+1. Install webpack by running composer require webpack
+2. Install Javascript dependencies
+ yarn install
+ yarn add @popperjs/core bootstrap underscore.string bootstrap-icons --dev
+ yarn build
+3. Edit webpack.config.js and uncomment the following lines:
+
+ Encore
+ // ...
+ .addEntry('admin', './assets/js/admin.js')
+ // ...
+ .enableSassLoader()
+ // ...
diff --git a/softspring/cms-bundle/5.2/translations/sfs_components.en.yaml b/softspring/cms-bundle/5.2/translations/sfs_components.en.yaml
new file mode 100644
index 00000000..e275faa0
--- /dev/null
+++ b/softspring/cms-bundle/5.2/translations/sfs_components.en.yaml
@@ -0,0 +1,10 @@
+sidebar:
+ menu:
+ cms:
+ title: "CMS"
+ pages: "Pages"
+ menus: "Menus"
+ blocks: "Blocks"
+ medias: "Medias"
+ routes: "Routes"
+ sites: "Sites"