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

Fix IOSHAContentSkinLayer registration #244

Open
wants to merge 20 commits into
base: quaive-app
Choose a base branch
from

Conversation

reinhardt
Copy link
Contributor

Ref syslabcom/scrum#1979

@reinhardt reinhardt requested a review from ale-rt May 23, 2024 11:47
@ale-rt
Copy link
Member

ale-rt commented May 23, 2024

This is mysterious, but I think the biggest issue is that the IOSHAContentSkinLayer overrides the NuPlone and not the Euphorie one.

See:

Can you test if my suspect is right?

@reinhardt
Copy link
Contributor Author

How would you test that? What issue do you expect?

@ale-rt
Copy link
Member

ale-rt commented May 23, 2024

How would you test that?

I would revert the change you are proposing and add the modification I am proposing.

What issue do you expect?

The answer to your question is "None".
If you were instead asking: "What issue do we have right now?" the answer is: "We do not have the proper skin layer inheritance".

The package osha.oira depends on euphorie that depends on plonetheme.nuplone.

The layers should respect that hierarchy in order for the customizations to work properly.

@reinhardt
Copy link
Contributor Author

I would revert the change you are proposing and add the modification I am proposing.

And then what? Just making that change will not do anything. I will at least have to start up the instance, and probably call some view or whatever.

If you were instead asking: "What issue do we have right now?" the answer is: "We do not have the proper skin layer inheritance".

OK and how does that manifest? That sounds very theoretical. I need some issue that I can reproduce so that I can verify that it is fixed by the change you're proposing.

@reinhardt
Copy link
Contributor Author

Wait a minute, are you still talking about the issue that the IOSHAContentSkinLayer is not active? When you wrote “This is mysterious, but I think the biggest issue is ...” I thought you were referring to a new issue, but maybe I misunderstood that?

@reinhardt
Copy link
Contributor Author

I've changed the inheritance for good measure in e7333cf, but as soon as I restore that interface declaration in the zcml the quaive-edit view returns 404 again.

@ale-rt
Copy link
Member

ale-rt commented May 23, 2024

I would revert the change you are proposing and add the modification I am proposing.

And then what? Just making that change will not do anything. I will at least have to start up the instance, and probably call some view or whatever.

If you were instead asking: "What issue do we have right now?" the answer is: "We do not have the proper skin layer inheritance".

OK and how does that manifest? That sounds very theoretical. I need some issue that I can reproduce so that I can verify that it is fixed by the change you're proposing.

I think you figure it out all by yourself by now.
If not please let's make a call.

@ale-rt
Copy link
Member

ale-rt commented May 24, 2024

Question: did you install first osha.oira and then Euphorie?

@reinhardt
Copy link
Contributor Author

I think so. I assumed that euphorie would be installed as a dependency of osha.oira, but IIRC it wasn't and I installed euphorie manually afterwards. Do you think that caused the issue? How?

@ale-rt
Copy link
Member

ale-rt commented May 24, 2024

I think so. I assumed that euphorie would be installed as a dependency of osha.oira, but IIRC it wasn't and I installed euphorie manually afterwards.

This caught me off guard as well.

See: https://github.com/euphorie/osha.oira/pull/247/files#diff-337d185a6f002c5bacab1003a4f8acd7e506ed6e15b3f9ff50fde4743e21dd41R7

Can you review #246 and #247 please?

Do you think that caused the issue?

Yes, and I can confirm by installing the packages in the proper order.

How?

Because the layers are layered :D

If you have package.foo that install IFooBrowseLayer and then package.bar that installs IBarBrowserLayer, the layer that will take the precedence is the last one you install.

Does this explanation seems reasonable to you?
Should we close this PR in and use the approach suggested in #247?

@reinhardt
Copy link
Contributor Author

Ah, I didn't know there was an order of precedence. That would explain some things. But if we make IOSHAContentSkinLayer inherit from IEuphorieContentLayer then the more specific layer (IOSHAContentSkinLayer) will take precedence, regardless of the install order, right?

#247 claims to be only about tests, but I saw now that it also changes the profile dependencies and interface inheritance. That's a bit sneaky, but OK, I noticed. I'll double check whether this fixes the issue for me as well, and if so, I'm fine with that!

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

Successfully merging this pull request may close these issues.

None yet

3 participants