Midgard, prefetching and the style engine

Edi ran into some issues with link prefetching and MidCOM administrative interface:

The whole idea is to prefetch links. Well what if we have som ajax stuff there, and forms etc. It of course tries to prefetch them also. When this is done, they trigger functions, and this ends up to (at least) these nice situations like:

  • article control in Midcom
    • approve / unapprove => when sent several times, it messes up the system. try reloading the page and see what happens, it’s like russian roulette
    • hide / unhide: the same as with approvals

This is the classic idempotent GET issue that surfaced last spring with Google Web Accelerator. We’ve tried to take this into account with OpenPsa and use only POST requests for things that actually change something.

Luckily Edi reported this quickly, and we were able to identify and fix the problem. The initial way to fix this was to block prefetching entirely in AIS so that we can take the time and fix the couple of places affected by this so that they will use POST.

Another major discussion in the community has been the style engine unification proposal. The idea has simply been to merge Midgard’s style engine and MidCOM’s style engine to provide better consistency and performance.

However, the style engine in Midgard has traditionally been considered one of the best in the industry, and any changes to it obviously make tensions run high in the mailing list.

At the moment the path forward seems to get Midgard’s grand old guru Jukka to arbitrate and provide a new neutral spec to work on. After that we must work swiftly to implement the spec across core, MidCOM and the new Style Editor so that there will be actually something concrete for people to experiment with.

Read more Midgard posts.