Question

A new client is running on Enterprise 13.1, using Varnish with disabled FPC and a community theme. Since this a quit bad setup and Varnish is causing several issues we want to get rid of Varnish and using Magento’s FPC.

I never had to deal with FPC in detail nor had to make a theme supporting EE. But hey there is always a first time. So I read a few very interesting articles about FPC. The best I’ve found:

  1. How do I include a dynamic block in the product page with full page caching turned on
  2. How does magento full page cache work
  3. Overcoming Magento’s full-page cache through hole punching
  4. Full Page Cache invalidation on cart (quote) change

Perhaps you already noticed, every article focus on how to deal with dynamic blocks/content (keyword: Hole punching). Definitely a very important topic! But this leads me to the issue:

Is this the only difference? I mean if a theme is only supporting CE or also EE?

Beside learning how FPC works I set up a dev environment, removed varnish and enabled FPC. And I’m really surprised: The site is quite fast and nothing seems to be broken. Its not a complicated setup with dozen extensions but also not just Magento default. But I couldn’t find any issue so far. But I’m also wondering if I didn’t miss something and if the site is really running on a "full" FPC? And why does the theme is not supporting EE then?

I'm a little bit lost here and would really appreciate it, if anyone can help me here. Perhaps with other links and your personal experience?

Thank you so much in advance!

2. Update

I think I got over my initial problem: The difference between Enterprise and Community themes is apparently the FPC. And it seems Enterprise is just hole punching several blocks, nothing else (related to FPC). These can be found in etc/cache.xml:

./PageCache/etc/cache.xml

./Wishlist/etc/cache.xml

These files tell me which blocks on the page needs to have special behavioral pattern than other blocks on the page.

But I have still a basic understanding problem: When the FPC is processing the content, no layout XML will be loaded, and the regular block hierarchy isn't instantiated at all.

  1. Does this mean, FPC is already working completely because it doesn't hook into the templates itself but the model which is defined in in cache.xml defines the behavior of the block cache?
  2. Related to FPC the "only" thing I would have to do is to update extensions the theme comes with because these a) don't support FPC or b) overwrite Enterprise core? Is that correct?

Thank you so much!

Was it helpful?

Solution

There are a number of potential problems with using a Community Theme with Enterprise.

Even though Magento strives to keep as much logic out of the template files as possible, some of it ends up there. Magento is so big and Enterprise has so many complex features that it's impossible to tell you which features may or may not have Etnerprise-logic in the template files. But to give you an example, Target Rules require their own templates, and have support-logic sprinkled through other templates.

And then of course there is the FPC hole punching that you've already run into. Any Enterprise theme is going to be careful to use the original Blocks that Magento has already hole punched, or it will be accompanied by a module which does the rest of the hole punching. However, if you use a Community theme, it's probably going to be a large hunt-and-peck operation to hole punch everything yourself.

My suggestion is to buy an Enterprise theme and modify the CSS as needed.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top