[TYPO3-core] IRRE implementation bugs

Ingmar Schlecht ingmar at typo3.org
Fri Oct 19 21:34:46 CEST 2007


Hi Kasper,

Kasper Skårhøj wrote:
> I have largely been left out of the IRRE development but I have at various 
> occasion looked at the implementation, especially related to workspaces, and 
> shivered a bit because I felt something was wrong conceptually.

By the way, we officially claimed that the TYPO3 4.1 version of IRRE did 
not support versioning and workspaces (so neither the parent nor the 
child-table was allowed to be versioning enabled). That means everything 
related to IRRE and workspaces was never in a shipped TYPO3 version 
except 4.2 Alpha 1 and so we can still change it.

> On the TYPO3 core level IRRE is just a clever way interface wise to
> edit records which are "one object" seen with the users eyes. Inside TYPO3s core 
> they are NOT one object and should be treated correspondingly as individual 
> elements. 

Well, that's not quite true. When you look at moving or copying of 
records, IRRE children are always copied/moved along with the parent. 
(That is also why it's highly suggested to disable showing IRRE child 
tables in the list module.)
So in those cases, they ARE treated as one object inside TYPO3s core as 
well.

> If we wish to make them versioned all together we must invent a 
> meta-concept for grouping versions somehow. This could be useful for other 
> things too, for instance someone wanted a new element verison of a page to 
> trigger element versions of all content elements on the page - well, ok, then 
> but we must invent a new meta-concept for this. So far my concerns with IRRE in 
> general, forgive me if I am not right about the implementation, after all I just 
> concluded from the core.

Yes, maybe that'd be something to think about.

Now regarding the specific bug you found:

> [...]
> 
> Ergo, we select directly from offline records which is by definition forbidden. 
> The right way is to first select the live record, then look for an overlay record.
> 
> I can't say exactly what the wanted effect for IRRE shoudl be but definitely 
> this is wrong and gotta be a bug lots of people are having with workspaces now.

OK. If that's so, I agree that you are the one who decides what's wrong 
or right regarding workspaces and therefore am fine with you reverting 
Dmitry's change.

> Conclusions:
> - Remember, since August I'm the authority on versioning and workspaces and I 
> must approve any non-trivial change to these parts. This is to avoid these 
> situations because we have realized that the core team as a unit doesn't 
> understand this technology well enough to maintain it error-free.

I didn't notice when that decision was made, but agree that it's sensbile.

> - Question: Are you sure IRRE is conceptually sound? Did any of my concerns ring 
> true?

Regarding workspaces the answer is definitely No, but apart from that, 
I'd say yes, but it works differently to how you think it works. IRRE is 
not only "just a clever way interface". Inside TYPO3s core a record and 
its children IS treated as one object when copying and moving. That 
needs to be considered when thinking about possiblities of IRRE 
versioning as well.

> - I will revert this code issue

Yep, fine with me.

cheers
Ingmar


More information about the TYPO3-team-core mailing list