Giter Site home page Giter Site logo

skeleton's Introduction

Pimcore Project Skeleton

This skeleton should be used by experienced Pimcore developers for starting a new project from the ground up. If you are new to Pimcore, it's better to start with our demo package, listed below 😉

Getting started

COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton my-project
cd ./my-project
./vendor/bin/pimcore-install

Docker

You can also use Docker to set up a new Pimcore Installation. You don't need to have a PHP environment with composer installed.

Prerequisites

  • Your user must be allowed to run docker commands (directly or via sudo).
  • You must have docker compose installed.
  • Your user must be allowed to change file permissions (directly or via sudo).

Follow these steps

  1. Initialize the skeleton project using the pimcore/pimcore image docker run -u `id -u`:`id -g` --rm -v `pwd`:/var/www/html pimcore/pimcore:php8.3-latest composer create-project pimcore/skeleton my-project

  2. Go to your new project cd my-project/

  3. Part of the new project is a docker compose file

    • Run sed -i "s|#user: '1000:1000'|user: '$(id -u):$(id -g)'|g" docker-compose.yaml to set the correct user id and group id.
    • Start the needed services with docker compose up -d
  4. Install pimcore and initialize the DB docker compose exec php vendor/bin/pimcore-install

    • When asked for admin user and password: Choose freely
    • This can take a while, up to 20 minutes
    • If you select to install the SimpleBackendSearchBundle please make sure to add the pimcore_search_backend_message to your .docker/supervisord.conf file inside value for 'command' like pimcore_maintenance already is.
  5. Run codeception tests:

    • docker compose run --user=root --rm test-php chown -R $(id -u):$(id -g) var/ public/var/
    • docker compose run --rm test-php vendor/bin/pimcore-install -n
    • docker compose run --rm test-php vendor/bin/codecept run -vv
  6. ✔️ DONE - You can now visit your pimcore instance:

Pimcore Platform Version

By default, Pimcore Platform Version is added as a dependency which ensures installation of compatible and in combination with each other tested versions of additional Pimcore modules. More information about the Platform Version can be found in the Platform Version docs.

It might be necessary to update a specific Pimcore module to a version that is not included in the Platform Version. In that case, you need to remove the platform-version dependency from your composer.json and update the module to the desired version. Be aware that this might lead to a theoretically compatible but untested combination of Pimcore modules.

Other demo/skeleton packages

skeleton's People

Contributors

blackbitdevs avatar blackikeeagle avatar blankse avatar brusch avatar cleggypdc avatar ctippler avatar datom avatar dpfaffenbauer avatar dvesh3 avatar fashxp avatar haaseit avatar igorbenko avatar jdreesen avatar jjonas-gcs avatar jremmurd avatar kingjia90 avatar maff avatar mattamon avatar mcop1 avatar mehlichmeyer avatar niklasbr avatar podarcis avatar simonrainer avatar skoch98 avatar thomaskeil avatar timhonders avatar ultramegatom avatar vmalyk avatar weisswurstkanone avatar yariksheptykin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skeleton's Issues

Issue when installing e-commerce extension

Steps i have followed to install e-commerce extension:

1: Installed Pimcore Skeleton.
2: Install E-commerce extension.
3: Clearing Cache and reload and then comes infinite screen loading which never ends.

Please help in this situation.

[Improvement]: split up docker-compose.yaml

Improvement description

Currently, the docker-compose.yaml contains the complete container configuration. However, when working with different environments running docker (e.g., localhost & staging-server), you may want to have a different configuration.

For example, on localhost I may want to expose the db port so I can use my IDE to check the database if needed. On staging, I usually don't want this behaviour. Another example is the php-fpm-debug container: I usually only want to start this container locally.

To achieve this, create a docker-compose.override.yaml which contains any localhost specific configuration. Now, when starting the containers, the configuration in both files will be merged by default - so no extra work is needed. When starting the containers in any other environment, I can specifically add the -f docker-compose.yaml - f another-compose-file.yaml option to merge only these files.

If the -f option is provided, the docker-compose.override.yaml is not used.

This means that exposed ports should be in the docker-compose.override.yaml only, so that the current behaviour is still default, but it is possible to change it without having to tinker with the originally provided docker-compose.yaml.

[Bug]: Getting error when trying to install Pimcore skeleton v10.5.13

Expected behavior

I should be able to access both front-end and admin panel of Pimcore.

Actual behavior

Unable to access admin panel of Pimcore skeleton v10.5.13. Tried installing using docker based on the predefine docker-compose.yml
Uploading Screenshot from 2022-12-29 18-15-14.png…

twig_matches(): Argument #2 ($str) must be of type string, null given, called in /var/www/html/var/cache/dev/twig/6d/6d7d7144a0d9841000a8f80619c140a9.php on line 91

Steps to reproduce

Follow these steps
Initialize the skeleton project using the pimcore/pimcore image docker run -u id -u:id -g --rm -v pwd:/var/www/html pimcore/pimcore:php8.1-latest composer create-project pimcore/skeleton my-project

Go to your new project cd my-project/

Part of the new project is a docker compose file

Run echo id -u:id -g to retrieve your local user and group id
Open the docker-compose.yml file in an editor, uncomment all the user: '1000:1000' lines and update the ids if necessary
Start the needed services with docker-compose up -d
Install pimcore and initialize the DB docker-compose exec php vendor/bin/pimcore-install --mysql-host-socket=db --mysql-username=pimcore --mysql-password=pimcore --mysql-database=pimcore

Add sample docker-compose.yml

Hi guys!

This is a discussion bug.

What are your thoughs on adding a docker-compose.yml to the pimcore project skeleton?

Docker and docker-compose have meanwhile become standard tools for software developers. Currently to get this skeleton project up and running one needs to: a) issue composer create-project to download this project template, and b) set up supporting services (redis, mysql, elasticsearch, etc) to be able to install and run pimcore application. To deal with the latter a casual developer, such as myself, would use docker and docker-compose to provision the execution enviroment for local development. Often projects such as https://github.com/dpfaffenbauer/pimcore-docker-compose would be used as a template to bootstrap this process.

My proposal ist to add a sample docker-compose.yaml to this skeleton as a reference for setting up a vanilla developer environment. We can all benefit from this it two ways:

  1. saving us from doing a necessary step b), and
  2. building up a shared knowledge of system setup encoded in a docker-compose.yml and Dockerfiles.

docker-compose.yml from (https://github.com/dpfaffenbauer/pimcore-docker-compose) seems to me a reasonalble starting point for such a shared docker-compose.yml.
What do you think, @dpfaffenbauer ?

[Bug]: Docker install fails in different ways

Expected behavior

Following the docker setup instructions on https://github.com/pimcore/skeleton I would expect the setup to be smooth and quick.

Actual behavior

When I use the commands as stated, using

pimcore/pimcore image docker run -u id -u:id -g--rm -vpwd:/var/www/html pimcore/pimcore:php8.2-latest composer create-project pimcore/skeleton my-project

I get:

pimcore-camunda-supervisord-1 | Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.2.0". You are running 8.1.14. in /var/www/html/vendor/composer/platform_check.php on line 24

Same error when subsequently trying docker compose exec php vendor/bin/pimcore-install

When I then try pimcore/pimcore image docker run -u id -u:id -g--rm -vpwd:/var/www/html pimcore/pimcore:php8.1-latest composer create-project pimcore/skeleton my-project (8.1 instead of 8.2) I get to the pimcore setup. After entering values, I get

Starting the install process...

0/11 [>---------------------------] 0%

[ERROR] The following errors were encountered during installation

  • Couldn't establish connection to MySQL: An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory

The db container is running just fine:

NAME COMMAND SERVICE STATUS PORTS
pimcore-camunda-db-1 "docker-entrypoint.s…" db running 3306/tcp

What gives? Is this setup still maintained? I expected this to be a breeze.

Steps to reproduce

just follow your instructions on https://github.com/pimcore/skeleton -> Docker

403 Not Authorized error when launching https://localhost/admin in firefox browser

Hello,

I have an issue in launching the project in localhost. I have some unauthorized accesses when I try to open the pimcore backoffice.
In the following picture you can some of the gets which are generating 403 not authorized error:

These are the logs I've retrieved from apache set up in one of your docker containers (pimcore-php)

Can you please help me with this issue?

Thanks a lot.

[Bug]: Admin panel does not work

Expected behavior

Admin panel is working

Actual behavior

Not Found
The requested URL was not found on this server.

Steps to reproduce

  1. Install PimCore 11 with composer on local machine on pimcore11.pim domain
  2. run /vendor/bin/pimcore-install
  3. everything is ok
  4. go to http://pimcore11.pim -> I see PimCore logo
  5. go to http://pimcore11.pim/admin and I see

Not Found
The requested URL was not found on this server.

As I see there is no any .htaccess file in /public directory. Is it ok ?

twig_matches issue

Expected behavior

We are excepting the working of the admin login page in the Pimcore skeleton package.

Actual behavior

Actually, the behavior of the admin route is different. It shows the twig_matches(): Argument #2 ($str) must be of type string, null given in var/cache/dev/twig file. This is the current behavior. Please suggest any solution. We are trying different ways but it's not working.

Steps to reproduce

Recently we installed the Pimcore skeleton package on my local pc. Previously this package works perfectly.
After installing and when we open the admin route page in the browser it shows this twig_matches error.
We fixed it temporarily but again when we run the cache clear command in the terminal the issue is coming in the browser.
Please suggest any solution for this. Almost 4 to 5 developers are facing this issue.
Please check the below image for reference.

image

[Bug]: Docker setup not installable

Expected behavior

After running composer-create I do expect pimcore installs itself with the vendor/bin/pimcore-install command.

Actual behavior

pimcore can't find db while installing:

image

Steps to reproduce

Run the Docker setup as mentioned in README:

COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton my-project
cd ./my-project
docker-compose run --rm php-fpm vendor/bin/pimcore-install --mysql-host-socket=db --mysql-username=pimcore --mysql-password=pimcore --mysql-database=pimcore

Error while comparing document versions

Getting below error while comparing document versions:-

The template "PimcoreAdminBundle:Admin/Document:diff-versions-unsupported.html.php" does not exist.

I have investigated the same and found these files are available in wrong directory. Please review the attached screenshots.

screenshot-pim local com-2019 02 25-19-59-38

screenshot 2019-02-25 at 8 06 37 pm

Download csv assets does not work

Hi everyone,

I'm currently working on a project using Pimcore, and I've encountered an issue with downloading .csv files from the Digital Asset Management (DAM) system using the public URL.

When I try to access the .csv file through its public URL, I get the following error:
No route found for "GET http://localhost:2009/route-name/name-file.csv"

Interestingly, when I use an .xlsx format, the download works correctly, but the .csv files do not. Unfortunately, I require the files to be in .csv format.

Originally posted by @AlephCode in pimcore/pimcore#17066

[Feature]: Documents Editable

Feature description

Curretly, templates/default/default.html.twig has no allowed editables,
so any document created it not editable.

I believe that Skeleton for ANY application need documents to include at least some layout and to be editable.

Minimum:

{{ pimcore_areablock('content', {
            'allowed': ['blockquote', 'embed', 'featurette', 'gallery-carousel', 'gallery-folder',
                'gallery-single-images', 'headlines', 'horizontal-line', 'icon-teaser-row', 'image',
                'image-hotspot-marker', 'image-metadata', 'pdf', 'product-grid', 'product-teaser', 'standard-teaser', 'text-accordion',
                'time-slider-featurette', 'video', 'wysiwyg', 'wysiwyg-with-images', 'personalized-product-teaser']
        }) }}

Follow symfony 4 catalogs structure

Pimcore has moved from 5.x to 6.x and switched into Symfony 4.x. I think we should start using Symfony 4 catalogs structure:
/config instead of /app/config
/public instead of /web
index.php instead of app.php

skeleton does not work with php 8

  • Installation request for doctrine/dbal 2.10.4 -> satisfiable by doctrine/dbal[2.10.4].
    • doctrine/dbal 2.10.4 requires php ^7.2 -> your PHP version (8.0.3) does not satisfy that requirement.

and a lot more

this feels strange combined with the reference to the php8 docker container

so probably it should be better to still include the php7.4 container

[Improvement]: Use port 3307 instead of 3306 in docker-compose.yaml

Improvement description

I believe many developers (including me) have localhost web server installed and use port 3306 for local MySQL.
Please use port 3307 in docker-compose.yml and other configs to avoid WSL conflicts with MySQL.
For both repositories, Skeleton and Demo.

[Feature]: Skeleton Repository for SAAS application

Feature description

Can you please create one more repository for Skeleton of the SAAS application.
It will promote Pimcore for many Startups to be used as 1st step for MVP.

Required features that I believe are necessary to be added to existing ones that you can fork from current Skeleton:

  • documents already editable
  • layout
  • customers and personalization bundles activated
  • users/tenants registration + login including League/oauth2-client
  • users password recovery page
  • subscription tariffs selection:
    • free
    • small
    • middle
    • big
  • recurring payments
  • PHP service allowing payment gateway injection
  • customer profile page where he can edit his personal data and tariff and payment data
  • Impressum and Public Offer pages samples
  • Documents skeletons for: page for legged in user, page for paid user
  • post-merge.sh script to apply migrations and rebuild classes after code is pulled
  • pre-push.sh script to execute all checks of PHP code before to push it
  • to put this functionality in the bundle, so multiple startups can load updates using composer instead of hard-coding files on the beginning only.
  • ? balance state, deposit balance pages

[Bug]: Tests in "Readme" not working

Expected behavior

As written in the readme file of Pimcore 11.0.0:
docker compose run --rm test-php vendor/bin/codecept run -vv

Running installation. You can find a detailed install log in var/log/test.log

Marking all migrations as done ...

 11/11 [============================] 100%

Actual behavior

In Kernel.php line 594:
  Unable to create the "cache" directory (/var/www/html/var/installer/cache).

There is a permission problem.

Steps to reproduce

Just follow the installation steps of the readme file and on step 5:

docker compose run --rm test-php vendor/bin/codecept run -vv

bin/install is obsolete

https://github.com/pimcore/skeleton/blob/master/bin/install

When using it, the following error appears:

Warning: require_once(/var/www/html/pimcore/config/constants.php): failed to open stream: No such file or directory in /var/www/html/bin/install on line 43
[17-Aug-2018 09:18:35 Europe/Berlin] PHP Fatal error:  require_once(): Failed opening required '/var/www/html/pimcore/config/constants.php' (include_path='/var/www/html/vendor/pear/net_url2:.:/usr/local/lib/php') in /var/www/html/bin/install on line 4

Also the README.md states to use ./vendor/bin/pimcore-install

Can't download "pimcore/pimcore:2.8.10"

Hi,

I am trying to install pimcore/skeleton with latest pimcore/pimcore : 6.8.10 package.
but i am getting is pimcore/pimcore : 6.8.9

you need to update pimcore/skeleton package on packagist.org.

Please update codeception

"codeception/codeception": "~2.4.5"

The version of codeception uses facebook/webdriver, which has been replaced by php-webdriver/webdriver.

Since projects like "symfony/panther" and other tools using webdriver use the php-webdriver version composer update and install will fail.

Reproduce: create pimcore project, add symfony/panther as requirement. If this works, composer update will break.

[Improvement]: Permissions "var/log/dev.log"

Improvement description

After some time of server operation after start, the owner and group of the file "var/log/dev.log" changes to "root". As a result, I get the error "failed to open stream: Permission denied". If I manually change the owner and group, then everything works again for a while, but then it fails again

How to solve this problem?
2023-03-11_22-05-43
2023-03-11_22-09-57

no vendor directory in composed project

Hi!

The instructions in the README don't work for me under Ubuntu 20.04 with composer version 1.10.1 2020-03-13 20:34:27.
I can create the project.

$ COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton my-project
$ cd ./my-project

But the mentioned vendor directory isn't there:

$ ./vendor/bin/pimcore-install
-bash: ./vendor/bin/pimcore-install: No such file or directory

$ ls -l
total 436
-rw-rw-r-- 1 pimrim pimrim   1161 Nov 30 10:46 README.md
drwxrwxr-x 4 pimrim pimrim   4096 Nov 30 10:46 app
drwxrwxr-x 2 pimrim pimrim   4096 Nov 30 10:46 bin
-rw-rw-r-- 1 pimrim pimrim   1299 Nov 30 10:46 composer.json
-rw-rw-r-- 1 pimrim pimrim 376823 Nov 30 10:46 composer.lock
-rw-rw-r-- 1 pimrim pimrim   1068 Nov 30 10:46 docker-compose.yml
-rw-rw-r-- 1 pimrim pimrim  35147 Nov 30 10:46 gpl-3.0.txt
drwxrwxr-x 3 pimrim pimrim   4096 Nov 30 10:46 src
drwxrwxr-x 3 pimrim pimrim   4096 Nov 30 10:46 var
drwxrwxr-x 2 pimrim pimrim   4096 Nov 30 10:46 web

$ php -v
PHP 7.4.3 (cli) (built: Oct  6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

$ composer --version
Composer 1.10.1 2020-03-13 20:34:27

Error creating link under HOME.

Hi,
After creating a LINK item, the document tree is not displayed. I get this on the console:
Error: You're trying to decode an invalid JSON String: {"offset":0,"limit":50,"total":"1","nodes":[{"id":2,"idx":1,"text":"es_PE","type":"link","path":"\/es_PE","basePath":"\/","locked":false,"lockOwner":false,"published":true,"elementType":"document","leaf":false,"permissions":{"view":true,"remove":true,"settings":true,"rename":true,"publish":true,"unpublish":true,"create":true},"expandable":false,"loaded":true,"expanded":true,"icon":null,"iconCls":"pimcore_icon_link","cls":"","qtipCfg":{"title":"ID: 2","text":"Type: link"}}],"filter":"","inSearch":0}{"success":false,"message":"Serialization of \u0027Doctrine\\DBAL\\Driver\\PDOConnection\u0027 is not allowed","trace":[{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/Profiler\/FileProfilerStorage.php","line":175,"function":"serialize","args":[{"token":"51a178","parent":null,"children":[],"data":{"pimcore":{},"request":{},"time":{},"memory":{},"validator":{},"ajax":{},"pimcore_targeting":{},"form":{},"exception":{},"logger":{},"events":{},"router":{},"cache":{},"translation":{},"security":{},"twig":{},"db":{},"swiftmailer":{},"dump":{},"config":{}},"ip":"172.17.0.1","method":"GET","url":"http:\/\/localhost:9003\/admin\/document\/tree-get-childs-by-id?_dc=1617774295411\u0026limit=50\u0026node=1\u0026view=","time":1617774295,"status_code":200}]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/Profiler\/Profiler.php","line":104,"function":"write","class":"Symfony\\Component\\HttpKernel\\Profiler\\FileProfilerStorage","type":"-\u003E","args":[{}]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/EventListener\/ProfilerListener.php","line":112,"function":"saveProfile","class":"Symfony\\Component\\HttpKernel\\Profiler\\Profiler","type":"-\u003E","args":[{}]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/Debug\/WrappedListener.php","line":126,"function":"onKernelTerminate","class":"Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener","type":"-\u003E","args":[{},"kernel.terminate",{}]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/EventDispatcher.php","line":264,"function":"__invoke","class":"Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener","type":"-\u003E","args":[{},"kernel.terminate",{}]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/EventDispatcher.php","line":239,"function":"doDispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"-\u003E","args":[[{},{}],"kernel.terminate",{}]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/EventDispatcher.php","line":73,"function":"callListeners","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"-\u003E","args":[[{},{}],"kernel.terminate",{}]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/Debug\/TraceableEventDispatcher.php","line":168,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\EventDispatcher","type":"-\u003E","args":[{},"kernel.terminate"]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/HttpKernel.php","line":100,"function":"dispatch","class":"Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher","type":"-\u003E","args":[{},"kernel.terminate"]},{"file":"\/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/Kernel.php","line":166,"function":"terminate","class":"Symfony\\Component\\HttpKernel\\HttpKernel","type":"-\u003E","args":[{"attributes":{},"request":{},"query":{},"server":{},"files":{},"cookies":{},"headers":{}},{"headers":{}}]},{"file":"\/var\/www\/html\/web\/app.php","line":38,"function":"terminate","class":"Symfony\\Component\\HttpKernel\\Kernel","type":"-\u003E","args":[{"attributes":{},"request":{},"query":{},"server":{},"files":{},"cookies":{},"headers":{}},{"headers":{}}]}],"traceString":"in \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/Profiler\/FileProfilerStorage.php:175\n#0 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/Profiler\/FileProfilerStorage.php(175): serialize(Array)\n#1 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/Profiler\/Profiler.php(104): Symfony\\Component\\HttpKernel\\Profiler\\FileProfilerStorage-\u003Ewrite(Object(Symfony\\Component\\HttpKernel\\Profiler\\Profile))\n#2 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/EventListener\/ProfilerListener.php(112): Symfony\\Component\\HttpKernel\\Profiler\\Profiler-\u003EsaveProfile(Object(Symfony\\Component\\HttpKernel\\Profiler\\Profile))\n#3 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/Debug\/WrappedListener.php(126): Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener-\u003EonKernelTerminate(Object(Symfony\\Component\\HttpKernel\\Event\\TerminateEvent), \u0027kernel.terminat...\u0027, Object(Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher))\n#4 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/EventDispatcher.php(264): Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener-\u003E__invoke(Object(Symfony\\Component\\HttpKernel\\Event\\TerminateEvent), \u0027kernel.terminat...\u0027, Object(Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher))\n#5 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/EventDispatcher.php(239): Symfony\\Component\\EventDispatcher\\EventDispatcher-\u003EdoDispatch(Array, \u0027kernel.terminat...\u0027, Object(Symfony\\Component\\HttpKernel\\Event\\TerminateEvent))\n#6 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/EventDispatcher.php(73): Symfony\\Component\\EventDispatcher\\EventDispatcher-\u003EcallListeners(Array, \u0027kernel.terminat...\u0027, Object(Symfony\\Component\\HttpKernel\\Event\\TerminateEvent))\n#7 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/EventDispatcher\/Debug\/TraceableEventDispatcher.php(168): Symfony\\Component\\EventDispatcher\\EventDispatcher-\u003Edispatch(Object(Symfony\\Component\\HttpKernel\\Event\\TerminateEvent), \u0027kernel.terminat...\u0027)\n#8 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/HttpKernel.php(100): Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher-\u003Edispatch(Object(Symfony\\Component\\HttpKernel\\Event\\TerminateEvent), \u0027kernel.terminat...\u0027)\n#9 \/var\/www\/html\/vendor\/symfony\/symfony\/src\/Symfony\/Component\/HttpKernel\/Kernel.php(166): Symfony\\Component\\HttpKernel\\HttpKernel-\u003Eterminate(Object(Symfony\\Component\\HttpFoundation\\Request), Object(Pimcore\\Bundle\\AdminBundle\\HttpFoundation\\JsonResponse))\n#10 \/var\/www\/html\/web\/app.php(38): Symfony\\Component\\HttpKernel\\Kernel-\u003Eterminate(Object(Symfony\\Component\\HttpFoundation\\Request), Object(Pimcore\\Bundle\\AdminBundle\\HttpFoundation\\JsonResponse))\n#11 {main}"}<br /> <b>Fatal error</b>: Uncaught BadMethodCallException: Symfony\Component\VarDumper\Cloner\Data objects are immutable. in /var/www/html/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Cloner/Data.php:165 Stack trace: #0 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php(88): Symfony\Component\VarDumper\Cloner\Data-&gt;offsetSet('called_listener...', Array) #1 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php(68): Symfony\Component\HttpKernel\DataCollector\EventDataCollector-&gt;setCalledListeners(Array) #2 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php(100): Symfony\Component\HttpKernel\DataCollector\EventDataCollector-&gt;lateCollect() #3 /var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php(112): Symfony\Component\HttpKernel\Profiler\Profiler-&gt;saveProfile(Object(Symfony\Component\HttpKernel\Profiler\Profile)) #4 /var/www/html/ in <b>/var/www/html/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Cloner/Data.php</b> on line <b>165</b><br />
imagen

I'm using:
Pimcore Skeleton v.2.8.16
PHP 7.4.16
MariaDB 10.4

Any suggestion?. Thanks

Don't make SymLinksIfOwnerMatch active by default.

Hello,

In the .htaccess, there is Options +SymLinksIfOwnerMatch (please see: https://github.com/pimcore/skeleton/blob/master/web/.htaccess#L25).

On some environment, ACL linux permissions is used, so owner is not www-data (apache), but with ACL www-data has rwx owner/group permissions.
SymLinksIfOwnerMatch don't allow ww-data (apache) to follow symlink in this case (even if it has ACL rwx permissions as owner).

I think it should not be enabled by default. I know it is enabled for security, but maybe it could be just commented by default in the htaccess. So people wanted to enforce it can decomment it.
Any ways this option should be setted by the admin in the virtualhost in any serious security scheme (not in the htaccess, delegating the security to the developpers ; )).

In our case, in our local environnement we use ACL because www-data is not the user. It allow to git pull as the user but ACL give rwx to www-data as owner/group. But symlink are not followed by apache with this default activated option. So we need to adapt htaccess to each project...

Hope it make sense.
Thanks.

[Bug]: config/config.yaml is not being loaded

Expected behavior

Since it exists, config/config.yaml should be loaded by something.

Actual behavior

config/config.yaml is not actually loaded by anything.

Steps to reproduce

Create a new project from Skeleton, try to rely on config/config.yaml for some general config.

[Bug]: Duplicate extension "avif", content type

Expected behavior

No errors or warnings from Nginx when starting up. Can you reproduce this issue?

Actual behavior

With Nginx 1.24 we get the following warning on starting the container:

2023-07-25 10:38:43 nginx: [warn] duplicate extension "avif", content type: "image/avif", previous content type: "image/avif" in /etc/nginx/conf.d/default.conf:5
2023-07-25 10:38:43 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2023-07-25 10:38:43 nginx: configuration file /etc/nginx/nginx.conf test is successful

The content type appears to already be defined in newer versions on Nginx, see:
Screenshot 2023-07-25 at 10 53 55

Steps to reproduce

These lines may not be required.

# mime types are already covered in nginx.conf
#include mime.types;
types {
image/avif avif;
}

[Feature]: Add RabbitMQ

Feature description

As discussed with Bernhard Rusch at the Inspire to add RabbitMQ as recommended system-requirement I am also want to add RabbitMQ into the docker-compose tempalte.

Add amqp PHP extension (by brusch):

Add RabbitMQ as recommended system-requirement:

composer.lock is in .gitignore

It is common practice to add composer.lock to version control to be able to install the same library versions on different systems (e.g. live and local development). Why is it in .gitignore?

Command php bin console --env=test don't work out of the box.

Hello,

On Pimcore 6, using php bin/console --env=test works out of the box (useful for pure CI/lint php code so, if there is no database, no specific errors are triggered).

On Pimcore X (fresh pimcore/skeleton installed), it brings the following error:

image

It can be resolved by commenting cache section in config/packages/test/config.yaml

# this cache is used during tests when setting up pimcore
# pimcore:
#     cache:
#         pool_service_id: pimcore.cache.core.pool.array

I think maybe it should be commented by default, so env test work out of the box like before.

Thanks!

[Feature]: support Caddy as a reverse proxy

Feature description

Currently Nginx setup is supported, which is OK since Nginx is very robust tech.

In the meantime, there was a raise of new generation HTTP servers written in Go, such as Traefik and Caddy. My suggestion is to provide provisional Caddy config which would allow to successfully run Pimcore behind Caddy.

One reason for this is Mercure ships as a Caddy module now, and there's a RFC in Pimcore describing real-time two way communication with a Pimcore app via Mercure as a transport, so having this be streamlined makes sense.

Customview "Where" condition not working - 6.3.1

“treetype” => “object”,
“name” => “Sample”,
“icon” => “/bundles/pimcoreadmin/img/flat-white-icons/pimcore-main-icon-product.svg”,
“id” => 2,
“rootfolder” => “/”,
“showroot” => FALSE,
“classes” => “42,13,34”,
“position” => “left”,
“sort” => “5”,
“expanded” => false,
“where” => “o_path LIKE ‘/Productmap/%’”,

I want here to create a perspective in which display the objects which satisfy the where condition, but if I remove the where condition, its showing object (all object), but i want to use where condition, because, i want to display only objects from specfic folders.

[Bug]: Skeleton now requires unstable pimcore version

Expected behavior

Pimcore-Skeleton requires a stable Pimcore version in composer.json

Actual behavior

Pimcore-Skeleton requires an unstable Pimcore version in composer.json (10.x-dev)

Is the pimcore Skeleton not meant to be the starting point for new installations? If not, what is the replacement?

Steps to reproduce

Look into composer.json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.