Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Task]: Move specific functionalities into bundles to keep the core leaner #12094

Closed
19 tasks done
brusch opened this issue May 11, 2022 · 11 comments
Closed
19 tasks done
Milestone

Comments

@brusch
Copy link
Member

brusch commented May 11, 2022

Functionality Package Name Notes Own Git Repo / Package
Custom Reports pimcore/custom-reports-bundle
Glossary pimcore/glossary-bundle
SEO pimcore/seo-bundle redirects, robots.txt, SEO Editor, HTTP Errors, Sitemap
System Info pimcore/system-info-bundle PHP info, OpCache status
File Explorer pimcore/file-explorer-bundle
Word Export pimcore/word-export-bundle
Personalization pimcore/personalization-bundle personalization and targeting
Google Marketing pimcore/google-marketing-bundle Everything in "Marketing Settings"
Web-to-print pimcore/web-to-print-bundle
Ecommerce pimcore/ecommerce-framework-bundle
Static Routes pimcore/static-routes-bundle
Simple Backend Search pimcore/simple-backend-search-bundle
XLIFF pimcore/xliff-bundle
Application Logger pimcore/application-logger-bundle
Admin UI Classic pimcore/admin-ui-classic-bundle
UUID pimcore/uuid-bundle
Newsletter pimcore/newsletter-bundle

Tasks:

Also consider #9357 for each functionality

@brusch brusch added this to the 11.0.0 milestone May 11, 2022
@dkarlovi
Copy link
Contributor

Related #11105.

@passioneight
Copy link
Contributor

@brusch will the bundles stay open source?

@brusch
Copy link
Member Author

brusch commented Jun 7, 2022

@passioneight yes, of course. This task is just about restructuring and possibly also about priorities, but not about licensing 😊

@NiklasBr
Copy link
Contributor

Regarding pimcore/web-to-print-bundle, wkhtmltopdf is no longer being maintained, maybe it should be deprecated and removed in 11?

@brusch
Copy link
Member Author

brusch commented Jun 17, 2022

@NiklasBr thanks for the hint, you're right, that should be deprecated, no reason to further support an unmaintained product.

@brusch
Copy link
Member Author

brusch commented Jun 17, 2022

See #12431

@jdreesen
Copy link
Contributor

Pimcore will still be a monorepo-right? Cause the issues you created read like the code will actually be moved to independent repos, instead of creating subtree splits of this monorepo.

@brusch
Copy link
Member Author

brusch commented Jun 28, 2022

@jdreesen this is not yet finally decided, but currently our favorite is to separate them out into their own repos. There are multiple reasons for that, mostly organizational wise, e.g. this gives us a better control over permissions and responsibilities. Of course we also know about the drawbacks, but as we're currently only talking about additional features, which are not essential core features such as data objects, I think it would be still reasonable.

@dkarlovi
Copy link
Contributor

IMO, the value of having it be a mono-repo heavily outweighs the drawbacks. Symfony proved the mono-repo approach works on a huge scale, I don't see why it would work for Pimcore.

Managing many repos, keeping their settings, tags, GH actions etc in sync, making cross-cutting PRs, doing releases in sync will be a huge PITA otherwise.

@dpfaffenbauer
Copy link
Contributor

CoreShop also successfully uses the mono-repo approach and works flawless. Makes development a lot easier

@brusch
Copy link
Member Author

brusch commented Nov 2, 2022

Strategy is as follows:

  1. bundles which will be a community bundle in future, will be moved to their own repos / packages
  2. functionality / bundles that are going to be replaced in future should also be in a separate repo (e.g. Classic Admin UI)
  3. smaller commonly used functionalities will be extracted into bundles, but remain in the core repo. They are not provided as their own packages via Composer, when using them you just need to enable them in bundles.php.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants