From c35276841ead9b06fefd5ef06f3e86b527e7ce2e Mon Sep 17 00:00:00 2001 From: Yorkie Chadwick Date: Sat, 19 Feb 2022 11:08:48 +0100 Subject: [PATCH] added 4.4 config file (#1307) --- .../packages/dev/networking_init_cms.yaml | 3 + .../config/packages/networking_init_cms.yaml | 58 +++++++++ .../config/routes/networking_init_cms.yaml | 3 + networking/init-cms-bundle/4.4/manifest.json | 17 +++ .../init-cms-bundle/4.4/post-install.txt | 15 +++ .../4.4/serializer/Entity.Page.yaml | 77 +++++++++++ .../init-cms-bundle/4.4/src/Entity/Page.php | 122 ++++++++++++++++++ .../init-cms-bundle/4.4/src/Entity/User.php | 31 +++++ 8 files changed, 326 insertions(+) create mode 100644 networking/init-cms-bundle/4.4/config/packages/dev/networking_init_cms.yaml create mode 100644 networking/init-cms-bundle/4.4/config/packages/networking_init_cms.yaml create mode 100644 networking/init-cms-bundle/4.4/config/routes/networking_init_cms.yaml create mode 100644 networking/init-cms-bundle/4.4/manifest.json create mode 100644 networking/init-cms-bundle/4.4/post-install.txt create mode 100644 networking/init-cms-bundle/4.4/serializer/Entity.Page.yaml create mode 100644 networking/init-cms-bundle/4.4/src/Entity/Page.php create mode 100644 networking/init-cms-bundle/4.4/src/Entity/User.php diff --git a/networking/init-cms-bundle/4.4/config/packages/dev/networking_init_cms.yaml b/networking/init-cms-bundle/4.4/config/packages/dev/networking_init_cms.yaml new file mode 100644 index 00000000..c83c82ca --- /dev/null +++ b/networking/init-cms-bundle/4.4/config/packages/dev/networking_init_cms.yaml @@ -0,0 +1,3 @@ +networking_init_cms: + cache: + activate: false diff --git a/networking/init-cms-bundle/4.4/config/packages/networking_init_cms.yaml b/networking/init-cms-bundle/4.4/config/packages/networking_init_cms.yaml new file mode 100644 index 00000000..8f433ac7 --- /dev/null +++ b/networking/init-cms-bundle/4.4/config/packages/networking_init_cms.yaml @@ -0,0 +1,58 @@ +imports: + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/doctrine.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/fos_ck_editor.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/fos_user.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/mopa_bootstrap.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/oneup_flysystem.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/oneup_uploader.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_admin.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_block.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_doctrine_admin.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_media.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_notification.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_user.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/stof_doctrine_extensions.yaml" } + - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/symfony_cmf_routing_extra.yaml" } +# Default security configuration +# - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/security.yaml" } + +# Set up the serializer to read config file for App Page and User entities +jms_serializer: + metadata: + directories: + NetworkingSonataMediaBundle: + namespace_prefix: "Sonata\\MediaBundle" + path: "@NetworkingInitCmsBundle/Resources/config/serializer" + app: + namespace_prefix: "App" + path: "%kernel.project_dir%/config/serializer" + + +networking_init_cms: + #Base classes to be used for the page and user entities + class: + page: "App\\Entity\\Page" + user: "App\\Entity\\User" + + # Bootstrap some template settings to get you started + templates: + 'app_single_column': + template: "@NetworkingInitCms/sandbox/page/one_column.html.twig" + name: "Single Column" + icon: "bundles/networkinginitcms/img/template_header_one_column.png" + zones: + - { name: header, class: 'col-md-12' } + - { name: main_content, class: 'col-md-12'} + 'app_two_column': + template: "@NetworkingInitCms/sandbox/page/two_column.html.twig" + name: "Two Column" + icon: "bundles/networkinginitcms/img/template_header_two_column.png" + zones: + - { name: header , class: 'col-md-12'} + - { name: left , class: 'col-md-3'} + - { name: right , class: 'col-md-9'} + cache: + activate: true #enable for product, false in dev config + + # For more information regarding configuration of the CMS Bundle, please visit the following documentation + # https://github.com/networking/init-cms-bundle/blob/master/doc/configuration.md diff --git a/networking/init-cms-bundle/4.4/config/routes/networking_init_cms.yaml b/networking/init-cms-bundle/4.4/config/routes/networking_init_cms.yaml new file mode 100644 index 00000000..66940470 --- /dev/null +++ b/networking/init-cms-bundle/4.4/config/routes/networking_init_cms.yaml @@ -0,0 +1,3 @@ +networking_init_cms: + resource: "@NetworkingInitCmsBundle/Resources/config/routing/routing.yaml" + prefix: / diff --git a/networking/init-cms-bundle/4.4/manifest.json b/networking/init-cms-bundle/4.4/manifest.json new file mode 100644 index 00000000..f54d3d45 --- /dev/null +++ b/networking/init-cms-bundle/4.4/manifest.json @@ -0,0 +1,17 @@ +{ + "bundles": { + "Networking\\InitCmsBundle\\NetworkingInitCmsBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/", + "serializer/": "%CONFIG_DIR%/serializer/", + "src/": "%SRC_DIR%/" + }, + "env": { + "LOCALE": "en", + "DATABASE_DRIVER": "mysql" + }, + "composer-scripts": { + "ckeditor:install --clear=drop": "symfony-cmd" + } +} diff --git a/networking/init-cms-bundle/4.4/post-install.txt b/networking/init-cms-bundle/4.4/post-install.txt new file mode 100644 index 00000000..0ba433d4 --- /dev/null +++ b/networking/init-cms-bundle/4.4/post-install.txt @@ -0,0 +1,15 @@ + * The InitCmsBundle imports many configuration files, such as doctrine.yaml, security.yaml etc. In order + to ensure your app will work please do the following: + 1. Check that all files imported via the networking_init_cms.yaml file are not overwritten with a similar + configuration file in your /config/packages folder. !IMPORTANT the doctrine.yaml and security.yaml must be either + deleted, or update/extended with the configuration as proposed in the doctrine.yaml and security.yaml files + included with the CMS. + 2. Check that the Page and User entities were copied to the correct entity folder, and are configured correctly. + 3. Configure your languages in the networking_init_cms.yaml file, for multi-language support. + 4. Configure the lexik translation bundles fallback_local and managed_locales parameters to support DB based translations. + 5. Clear the cache again so that the new config files are loaded correctly. + 6. Check your database configuration, and back up your database if you haven't done so already. + 7. Update your database bin/console doctrine:schema:update or using the doctrine migrate commands + 8. Use the command networking:initcms:install to install the DB install fixtures and create a superuser admin. + ALTERNATIVELY you can use the networking:initcms:data-setup if you just want to install the data structure and fixtures + 9. Enable or disable full page caching by setting networking_init_cms.cache.activate to true/false diff --git a/networking/init-cms-bundle/4.4/serializer/Entity.Page.yaml b/networking/init-cms-bundle/4.4/serializer/Entity.Page.yaml new file mode 100644 index 00000000..86f06af2 --- /dev/null +++ b/networking/init-cms-bundle/4.4/serializer/Entity.Page.yaml @@ -0,0 +1,77 @@ +App\Entity\Page: + properties: + id: + type: integer + createdAt: + type: DateTime + updatedAt: + type: DateTime + pageName: + type: string + metaTitle: + type: string + url: + type: string + path: + type: string + level: + type: integer + metaKeyword: + type: string + metaDescription: + type: string + parent: + accessor: + getter: convertParentToInteger + type: integer + alias: + accessor: + getter: convertAliasToInteger + type: integer + parents: + accessor: + getter: convertParentsToArray + type: array + children: + accessor: + getter: convertChildrenToIntegerArray + type: array + allChildren: + exclude: true + layoutBlock: + type: ArrayCollection + menuItem: + exclude: true + accessor: + getter: prepareMenuItemsForSerialization + type: ArrayCollection + isHome: + type: boolean + status: + type: string + visibility: + type: string + activeFrom: + type: DateTime + activeTo: + type: DateTime + locale: + type: string + translations: + accessor: + getter: convertTranslationsToIntegerArray + type: array + originals: + accessor: + getter: convertOriginalsToIntegerArray + type: array + snapshots: + exclude: true + snapshotClassType: + type: string + oldTitle: + exclude: true + tags: + exclude: true + contentRoute: + exclude: true diff --git a/networking/init-cms-bundle/4.4/src/Entity/Page.php b/networking/init-cms-bundle/4.4/src/Entity/Page.php new file mode 100644 index 00000000..efa22bcf --- /dev/null +++ b/networking/init-cms-bundle/4.4/src/Entity/Page.php @@ -0,0 +1,122 @@ + + * + * @ORM\Entity + * @ORM\Table(name="page", + * uniqueConstraints={@ORM\UniqueConstraint(name="path_idx", columns={ + * "path", "locale" + * })} + * ) + * @ORM\HasLifecycleCallbacks() + */ +class Page extends BasePage{ + + /** + * @var integer $id + * + * @ORM\Column(type="integer") + * @ORM\Id + * @ORM\GeneratedValue(strategy="IDENTITY") + */ + protected $id; + + /** + * @var ContentRoute + * @ORM\OneToOne( + * targetEntity = "Networking\InitCmsBundle\Entity\ContentRoute", + * cascade={"remove", "persist"} + * ) + * @ORM\JoinColumn(name="content_route_id", referencedColumnName="id") + */ + protected $contentRoute; + + /** + * @ORM\OneToMany(targetEntity="Networking\InitCmsBundle\Entity\LayoutBlock", + * mappedBy="page", + * cascade={"remove", "persist"}, + * orphanRemoval=true + * ) + * @ORM\OrderBy({"sortOrder" = "ASC"}) + */ + protected $layoutBlock; + + /** + * @ORM\OneToMany(targetEntity="Networking\InitCmsBundle\Entity\MenuItem", + * mappedBy="page", + * cascade={"remove"}, + * orphanRemoval=true + * ) + */ + protected $menuItem; + + /** + * @ORM\OneToMany(targetEntity="Networking\InitCmsBundle\Entity\PageSnapshot", + * mappedBy="page", + * cascade={"remove"}, + * orphanRemoval=true + * ) + * @ORM\OrderBy({"version" = "DESC"}) + */ + protected $snapshots; + + /** + * @ORM\OneToMany(targetEntity="App\Entity\Page", + * mappedBy="parent" + * ) + */ + protected $children; + + /** + * @var Page + * @ORM\ManyToOne(targetEntity="App\Entity\Page" ) + * @ORM\JoinColumn(name="alias_id", referencedColumnName="id", onDelete="SET NULL") + */ + protected $alias; + + /** + * @var Page + * @ORM\ManyToOne(targetEntity="App\Entity\Page", inversedBy="children", cascade="persist" ) + * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL") + * @Gedmo\TreeParent + */ + protected $parent; + + /** + * @var ArrayCollection $originals + * @ORM\ManyToMany( + * targetEntity="App\Entity\Page", + * inversedBy="translations", + * cascade={"persist"} + * ) + * @ORM\JoinTable( + * name="page_translation", + * joinColumns={ + * @ORM\JoinColumn(name="translation_id", referencedColumnName="id") + * }, + * inverseJoinColumns={ + * @ORM\JoinColumn(name="original_id", referencedColumnName="id") + * } + * ) + */ + protected $originals; + + /** + * @var ArrayCollection $translations + * @ORM\ManyToMany( + * targetEntity="App\Entity\Page", + * mappedBy="originals", + * cascade={"persist"} + * ) + */ + protected $translations; +} diff --git a/networking/init-cms-bundle/4.4/src/Entity/User.php b/networking/init-cms-bundle/4.4/src/Entity/User.php new file mode 100644 index 00000000..ab1ff686 --- /dev/null +++ b/networking/init-cms-bundle/4.4/src/Entity/User.php @@ -0,0 +1,31 @@ +