[TYPO3-core] Status of RFC: #9046: Nested domain linking with domain record on root page

Daniel Pšötzinger nospam at nospam.de
Wed Oct 7 15:29:38 CEST 2009


Hey

Whats the status if this? Would really like to see it in 4.3!

Thx


Tobias Liebig schrieb:
> Thanks Daniel, for testing.
> 
> You're right, the patch v6 does not apply due to changes in trunk in the 
> meanwhile.
> 
> We now have two +1's, but i will not commit until the caching issue is 
> not solved.
> I'll file an issue in the bugtracker and raise a thread in the dev-list 
> for that today.
> 
> regards
>   tobias
> 
> 
> Daniel Pšötzinger schrieb:
>> +1 on testing
>>
>> Also the latest patch do not work because of small adustments in trunk
>> I attached new onw
>>
>>> Ingmar and i had a review session during the T3CON. We discussed the 
>>> solution, tested serveral situations.
>>> The attached patch fixes some issues regarding the forced domain mainly.
>>>
>>> i'm sure about Ingmar's +1, but we still need another +1.
>>>
>>> Further we need to fix the cache issues (see below, add domain to the 
>>> cache identifier).
>>>
>>> So if you can help out and need any help from my side (further 
>>> explanation or test-setup), do not hesitate to contact me.
>>>
>>>
>>> regards
>>>    tobias
>>>
>>>
>>>
>>> Tobias Liebig schrieb:
>>>> Hej,
>>>>
>>>> sorry for being that late on this issue!
>>>>
>>>> After some discussions we (at least Ingmar, Christopher, Dmitry and 
>>>> some more people during the T3DD) decided for the following solution:
>>>>
>>>> * if the current page is part of the target pages rootline, the 
>>>> target page is reachable within the current domain and thus we do 
>>>> not need to prepend the domain to the link
>>>> * if not, step downwards the rootline of the *target page*
>>>> * search for the first domain record in the target rootline
>>>> * if this 'targetDomain' is not the same as the currently called 
>>>> HTTP_HOST, prepend the link with this domain
>>>>
>>>> * the flag is_siteroot (oage properties) does not play here any role 
>>>> anymore
>>>>
>>>>
>>>> Additionaly we think it makes sense to be able to force a domain 
>>>> prepending (always prepend that domain). So i've added a 'forced' 
>>>> flag to sys_domain, and:
>>>>
>>>> * search for a domain record which has the 'forced' flag within the 
>>>> target page rootline
>>>>
>>>> So a subpage would be prepended with the 'forced' domain, even if 
>>>> the page would be available within the current domain. This is 
>>>> pretty helpful for independent subpages like in christophers example.
>>>>
>>>>
>>>> The attached patch implements this solution. It's created initially 
>>>> by Oli and discussed with Ingmar. Addionally i implemented the 
>>>> 'forced' flag in the domain record.
>>>>
>>>>
>>>>
>>>> Known Issues:
>>>> * caching / domain name
>>>>
>>>> The patch takes the current domain (HTTP_HOST) into account.
>>>> If a page is available by multiple domains, and is cached the 
>>>> solution may fail, if the page is delivered from cache.
>>>> So we need separate caches per HTTP_HOST, which can be achieved 
>>>> easily by adding the HTTP_HOST to teh cache identifier/hash
>>>> I'm not that into the caching mechanism, so someone need to help out.
>>>> If i remember right, Dmirty told he started to implement something 
>>>> like that for memcache caching.
>>>>
>>>>
>>>> * speed up by using a cache for sys_domains
>>>>
>>>> currently we do a database query on sys_domains for *each* typolink 
>>>> on the page. I'm sure we can save some queries, if we memroize all 
>>>> records in an array (i think sys_domain would not contain many 
>>>> records usually).
>>>> But i'm not sure where to store that array. Any suggestions? (TSFE, 
>>>> GLOBALS)
>>>>
>>>>
>>>> Note:
>>>> i'm not sure, if this is a new feature (due to the forced flag in 
>>>> sys_domain), or more like an 'enhanced' bugfix
>>>>
>>>> Note II:
>>>> Before we can commit this, we should solve the caching issue!
>>>> For testing and reviewing the patch, you may want to turn off caching.
>>>>
>>>> regards
>>>>    tobias
>>>>
>>>>
>>>>
>>>>
>>>> Christopher Hlubek schrieb:
>>>>> Hi,
>>>>>
>>>>> This is an SVN patch request.
>>>>>
>>>>> Type: Bugfix
>>>>>
>>>>> Branches: Trunk, TYPO3_4-2
>>>>>
>>>>> Bugtracker references:
>>>>> http://bugs.typo3.org/view.php?id=9046
>>>>>
>>>>>
>>>>> Problem:
>>>>>
>>>>> Consider the following setup with multiple domains:
>>>>>
>>>>> + root (domain A, siteroot)
>>>>> |
>>>>> +--+ Subsite (domain B, siteroot)
>>>>> | |
>>>>> | +--+ Subpage
>>>>> |
>>>>> +--+ Some Page
>>>>> |
>>>>> +--+ Other Page
>>>>>
>>>>> Even with typolinkEnableLinksAcrossDomains enabled, the links from 
>>>>> the subsite (domain B) back to some page on domain A won't get 
>>>>> domain A prepended.
>>>>>
>>>>>
>>>>> How to reproduce:
>>>>>
>>>>> Create a site with a similar page structure and multiple, nested 
>>>>> domain records like above. Create a link from the inner domain to 
>>>>> some page with the outer domain -> The link doesn't get the outer 
>>>>> domain prepended.
>>>>>
>>>>> Solution:
>>>>> In class.tslib_content.php (5324) there is a check for every part 
>>>>> in the rootline, if the linked page shares a root page with the 
>>>>> current page. It does! The recently added check for is_siteroot is 
>>>>> not considered, because it is checked after this. So these checks 
>>>>> should be swapped to check for is_siteroot first and find the 
>>>>> domain record on the root page.
>>>>>
>>>>> Additionally there should be another tweak to not always include 
>>>>> the domain for pages that link between the outer domain (which will 
>>>>> always be found). This could be accomplished by comparing the 
>>>>> HTTP_HOST with the domain that should be prepended.
>>>>>
>>>>>
>>>>> Thanks
>>>>> Christopher
>>>>
>>>
>>


More information about the TYPO3-team-core mailing list