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

plone.volto:default should install all necessary dependencies #149

Open
jensens opened this issue Jun 11, 2024 · 4 comments
Open

plone.volto:default should install all necessary dependencies #149

jensens opened this issue Jun 11, 2024 · 4 comments
Labels
01 type: bug something does not work 14 prio: low nice to have it fixed 33 needs: docs missing documentation: write it 41 lvl: easy beginner skills needed, good for newbies

Comments

@jensens
Copy link
Member

jensens commented Jun 11, 2024

In order to have a sane dependency graph on GenericSetup-Level, the default profile must depend on profile-Products.CMFPlone:dependencies.

Currently one need to depend on both profiles with some disadvantages:

If not:

  • the order of dependency installation is fuzzy and so volto overides may not be active
  • not all types are installed.
  • not all features are present.

#143 is probably related.

@jensens jensens added the 01 type: bug something does not work label Jun 11, 2024
@jensens jensens changed the title Plone volot should install all necessary dependencies plone.volto:default should install all necessary dependencies Jun 11, 2024
@jensens
Copy link
Member Author

jensens commented Jun 11, 2024

actually, in my profile-myproject.backend:default I need

    <dependency>profile-Products.CMFPlone:plone</dependency>
    <dependency>profile-Products.CMFPlone:dependencies</dependency>
    <dependency>profile-plone.app.contenttypes:default</dependency>
    <dependency>profile-plone.volto:multilingual</dependency>

to install a Volto site using plone.distribution with a profiles.json like so

{
  "base": [
    "myproject.backend:default"
  ]
}

I am pretty sure this is more than we want.

@davisagli
Copy link
Member

@jensens Just to make sure I understand correctly, your goal would be that your project can depend on only profile-plone.volto:multilingual and the rest gets pulled in automatically, right?

@jensens
Copy link
Member Author

jensens commented Jun 17, 2024

This is what i would expect from a dependency tree.

@jensens jensens added 14 prio: low nice to have it fixed 33 needs: docs missing documentation: write it 41 lvl: easy beginner skills needed, good for newbies labels Jul 19, 2024
@jensens
Copy link
Member Author

jensens commented Jul 19, 2024

FTR: it turns out the problem is using plone.distribution together with a custom profile.
in order to make it work correctly one has to define in profiles.json:

{
  "base": [
    "Products.CMFPlone:plone",
    "Products.CMFPlone:dependencies",
    "plone.app.contenttypes:default",
    "myproject.backend:default"
  ]
}

and in the metadata.xml of the myproject.backend:default profile:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
  <version>1000</version>
  <dependencies>
    <dependency>profile-plone.volto:multilingual</dependency>
  </dependencies>
</metadata>

So this is more a documentation issue of Volto together with plone.distribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
01 type: bug something does not work 14 prio: low nice to have it fixed 33 needs: docs missing documentation: write it 41 lvl: easy beginner skills needed, good for newbies
Projects
None yet
Development

No branches or pull requests

2 participants