When I remove the getTranslatedDocument() it
works, but only gives me the default document language and not the current language
When I add the getTranslatedDocument() I get empty output
Gerritjan Koekkoek
Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
Visit our website
Facebook
email
________________________________________
From: users <users-bounces(a)xwiki.org> on behalf of Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
Sent: 12 June 2015 09:38
To: XWiki Users
Subject: Re: [xwiki-users] Get parts of a page...
On Thu, Jun 11, 2015 at 8:18 PM, Gerritjan Koekkoek
<gerritjan(a)cdlsworld.org> wrote:
I tied to replace getDocument() in this line with
getTranslatedDocument()...
getTranslatedDocument() is a Document API so you should not remove
getDocument(). In other words you get the translated version of that
document so it's getDocument().getTranslatedDocument().
#foreach($ParagraphBlock in
$topicDefenitionDocument.getDocument().getXDOM().getBlocks("class:ParagraphBlock",
"DESCENDANT"))
But the $ParagraphBlock is empty???
Gerritjan Koekkoek
Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
Visit our website
Facebook
email
________________________________________
From: users <users-bounces(a)xwiki.org> on behalf of Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
Sent: 11 June 2015 19:46
To: XWiki Users
Subject: Re: [xwiki-users] Get parts of a page...
On Thu, Jun 11, 2015 at 4:37 PM, Gerritjan Koekkoek
<gerritjan(a)cdlsworld.org> wrote:
> I almost have it right I think:
> #foreach($topicDefenitionDoc in $topicDefenitionDocs)
> #set($topicDefenitionDocument=$xwiki.getDocument($topicDefenitionDoc))
>
#set($topicDefenitionObject=$topicDefenitionDocument.getObject($classDefenitionName))
> ==
$topicDefenitionDocument.display('topicTitle','view',$topicDefenitionObject)
==
>
##$topicDefenitionDocument.display('topicDescription','view',$topicDefenitionObject)
> #foreach($ParagraphBlock in
$topicDefenitionDocument.getDocument().getXDOM().getBlocks("class:ParagraphBlock",
"DESCENDANT"))
> #if($velocityCount == 1)
> #set ($blockParent = $ParagraphBlock.getParent())
> #set ($leadParagraph = $services.rendering.render($ParagraphBlock,
"xwiki/2.1"))
> #if($blockParent.getParameter('class') == 'lead')
> (%class="lead"%)((($leadParagraph)))
> #else
> $leadParagraph
> #end
> #end
> #end
>
> The one issue I have left is the translation.
> The $topicDefenitionsDocs are in the $context.language
>
> But the Blocks are in the default language?
> How can I get the blocks in the $context.language
In document API you have getTranslatedDocument() which return the
right document from current locale point of view on which you can then
call getXDOM().
>
> Gerritjan Koekkoek
> Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
> Visit our website
> Facebook
> email
>
>
>
>
> ________________________________________
> From: users <users-bounces(a)xwiki.org> on behalf of Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
> Sent: 11 June 2015 13:51
> To: XWiki Users
> Subject: Re: [xwiki-users] Get parts of a page...
>
> On Thu, Jun 11, 2015 at 12:58 PM, Gerritjan Koekkoek
> <gerritjan(a)cdlsworld.org> wrote:
>> A little progress, but what to do to inspect if paragraph has class lead to it
and to display the paragraph remains unclear.
>>
>> #foreach($topicDefenitionDoc in $topicDefenitionDocs)
>> #set($topicDefenitionDocument=$xwiki.getDocument($topicDefenitionDoc))
>>
#set($topicDefenitionObject=$topicDefenitionDocument.getObject($classDefenitionName))
>> ==
$topicDefenitionDocument.display('topicTitle','view',$topicDefenitionObject)
==
>>
$topicDefenitionDocument.display('topicDescription','view',$topicDefenitionObject)
>> #foreach($ParagraphBlock in
$topicDefenitionDocument.getDocument().getXDOM().getBlocks("class:ParagraphBlock",
"DESCENDANT"))
>> #if($velocityCount == 1)
>> $ParagraphBlock.self
>> #end
>> $velocityCount
>> #end
>> #end
>> #else
>>
>> Will give me a correct count of all html <p> parts
>> One of these, usually the first is enclosed by a <div
class="lead">
>> I would like to display this text only
>> $ParagraphBlock.self
>> But it does only show:
>> $ParagraphBlock.self
>
> There is no such method in Block so not sure what you expect "self" to
> do. If you want to render a block you can use rendering service, see
>
http://extensions.xwiki.org/xwiki/bin/view/Extension/Rendering+Module.
>
>>
>> as if method in this context is not valid
>>
>> Second I have no idea how to inspect the <div class="lead"> that
holds the first <p>
>>
>> My output currently looks as follows:
>>
>> Behavior
>> Behavioral problems in people with CdLS are not inevitable. In fact, some people
have no behavioral problems, while others are mild, have transient problems. Many problems
are treatable. At the same time it is obviously the severity of behavioral problems in
people who injure themselves or others deny.
>> Many behavior problems are a reaction to something in the body or the environment
and they are cyclical (they come and go). Behavioral changes often occur in early
childhood and the teenage years. Like most people, develop people with CdLS behavior for a
certain reason, and it is important to first address the underlying causes of the
behavior. If the source of the behavior is determined, one can try to recognize that
resource and to avoid.
>>
>> If the behavior follows a pattern (such as it is always at the same time, same
place, or to a particular person) treatment will begin to investigate whether the
situation can be changed. When the problem is that the environment does not provide
sufficient structure or variation, that can be addressed. Discovering the reasons for
behavior is the most difficult part of the treatment. Sometimes one can not eliminate the
cause and one should look for ways to control the behavior. This can vary from moment to
rest in your own room, distract the person to another activity to the use of protective
clothing.
>>
>> It remains important to always look at possible underlying medical problems.
Gastrointestinal problems, muscle pain, ear infections, dental pain and epilepsy can cause
irritability, self-injurious behavior or aggressive behavior. Even people who can
communicate well, sometimes can not recognize the source of their discontent. Undetected
disease (silent reflux) and tooth decay / gum disease are the two most common causes of
behavioral changes.
>>
>>
>> $ParagraphBlock.self
>> 1
>> 2
>> 3
>> 4
>>
>> Gerritjan Koekkoek
>> Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
>> Visit our website
>> Facebook
>> email
>>
>>
>>
>>
>> ________________________________________
>> From: Gerritjan Koekkoek
>> Sent: 08 June 2015 18:45
>> To: XWiki Users
>> Subject: Re: [xwiki-users] Get parts of a page...
>>
>> I'm not sure what cased the 503, maybe because I did:
>> #foreach($topicDefenitionDoc in $topicDefenitionDocs)
>> #set($topicDefenitionDocument=$xwiki.getDocument($topicDefenitionDoc))
>>
#set($topicDefenitionObject=$topicDefenitionDocument.getObject($classDefenitionName))
>> ==
$topicDefenitionDocument.display('topicTitle','view',$topicDefenitionObject)
==
>> #foreach($headerBlock in
$topicDefenitionDocument.getXDOM().getBlocks("class:HeaderBlock",
""DESCENDANT"))
>> $headerBlock -- to inspect what's inside
>> #end
>> #end
>>
>> I changed the inside of the loop to $velocityCount and indeed the numbers seemed
to allign wel with number of headers inside the page
>>
>> I've now changed class:HeaderBlock into class:GroupBlock
>> but now the $velocityCount equals 1 all the time wile my text is like:
>> == Behavior ==
>> Behavioral problems in people with CdLS are not inevitable. In fact, some people
have no behavioral problems, while others are mild, have transient problems. Many problems
are treatable. At the same time it is obviously the severity of behavioral problems in
people who injure themselves or others deny.
>>
>> Many behavior problems are a reaction to something in the body or the environment
and they are cyclical (they come and go). Behavioral changes often occur in early
childhood and the teenage years. Like most people, develop people with CdLS behavior for a
certain reason, and it is important to first address the underlying causes of the
behavior. If the source of the behavior is determined, one can try to recognize that
resource and to avoid.
>>
>> If the behavior follows a pattern (such as it is always at the same time, same
place, or to a particular person) treatment will begin to investigate whether the
situation can be changed. When the problem is that the environment does not provide
sufficient structure or variation, that can be addressed. Discovering the reasons for
behavior is the most difficult part of the treatment. Sometimes one can not eliminate the
cause and one should look for ways to control the behavior. This can vary from moment to
rest in your own room, distract the person to another activity to the use of protective
clothing.
>>
>> It remains important to always look at possible underlying medical problems.
Gastrointestinal problems, muscle pain, ear infections, dental pain and epilepsy can cause
irritability, self-injurious behavior or aggressive behavior. Even people who can
communicate well, sometimes can not recognize the source of their discontent. Undetected
disease (silent reflux) and tooth decay / gum disease are the two most common causes of
behavioral changes.
>>
>> I would have expected the velocity count to number to 4 )equal to number op
<p>tags in the text? but it counts only 1
>>
>> Gerritjan Koekkoek
>> Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
>> Visit our website
>> Facebook
>> email
>>
>>
>>
>>
>> ________________________________________
>> From: users <users-bounces(a)xwiki.org> on behalf of Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
>> Sent: 08 June 2015 11:19
>> To: XWiki Users
>> Subject: Re: [xwiki-users] Get parts of a page...
>>
>> On Mon, Jun 8, 2015 at 11:11 AM, Gerritjan Koekkoek
>> <gerritjan(a)cdlsworld.org> wrote:
>>> From: users <users-bounces(a)xwiki.org> on behalf of Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
>>> Sent: 08 June 2015 11:00
>>> To: XWiki Users
>>> Subject: Re: [xwiki-users] Get parts of a page...
>>>
>>> On Mon, Jun 8, 2015 at 10:52 AM, Gerritjan Koekkoek
>>> <gerritjan(a)cdlsworld.org> wrote:
>>>> From: users <users-bounces(a)xwiki.org> on behalf of Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
>>>> Sent: 08 June 2015 10:46
>>>> To: XWiki Users
>>>> Subject: Re: [xwiki-users] Get parts of a page...
>>>>
>>>> On Mon, Jun 8, 2015 at 10:28 AM, Gerritjan Koekkoek
>>>> <gerritjan(a)cdlsworld.org> wrote:
>>>>> Hi,
>>>>>
>>>>> this indeed looks very useful...
>>>>> We run XWiki version 6.4
>>>
>>> Is this functionality very costly from a performance perspective?
>>> The loop i'm running will give me approx 25 pages
>>> Now I have added the loop through all the Headerblocks and the server crashed
(503 service not available)
>>> Now retrying and the page load is very slow: Wating for many minutes now?
>>
>> Loading 25 pages is slow whatever you do with them, then they are in
>> cache and it should be OK. I don't see how reading a XDOM could cause
>> a crash, you should look at the log and see what this 503 really mean.
>>
>>>
>>>>> ________________________________________
>>>>> From: users <users-bounces(a)xwiki.org> on behalf of Thomas
Mortagne <thomas.mortagne(a)xwiki.com>
>>>>> Sent: 08 June 2015 10:17
>>>>> To: XWiki Users
>>>>> Subject: Re: [xwiki-users] Get parts of a page...
>>>>>
>>>>> In your macro you could get the document and then use something like
>>>>> what is described in
>>>>>
http://www.xwiki.org/xwiki/bin/view/ReleaseNotes/ReleaseNotesXWiki61RC1#HAc…
>>>>> to extract the GroupBlock you want (i.e. the one with a parameter
>>>>> "class" equals to "lead" from what I
understood).
>>>>>
>>>>> My script is:
>>>>> #foreach($topicDefenitionDoc in $topicDefenitionDocs)
>>>>>
#set($topicDefenitionDocument=$xwiki.getDocument($topicDefenitionDoc))
>>>>>
#set($topicDefenitionObject=$topicDefenitionDocument.getObject($classDefenitionName))
>>>>> ==
$topicDefenitionDocument.display('topicTitle','view',$topicDefenitionObject)
==
>>>>>
$topicDefenitionDocument.getXDOM().getBlocks("class:lead",
"DESCENDANT")
>>>> I understand above line should be changed in:
>>>> #foreach($headerBlock in
$topicDefenitionDocument.getXDOM().getBlocks("class:HeaderBlock",
"DESCENDANT"))
>>>> But how do is then inspect if the block has the
'class="lead" ?
>>>
>>> Note that HeaderBlock is for headers and what you have in your example
>>> in your first mail is a GroupBlock.
>>>
>>> Now for the parameters I talked about see
>>>
http://nexus.xwiki.org/nexus/service/local/repositories/releases/archive/or…
>>>
>>> When you have the block you can as for the value of "class"
parameter
>>> using $headerBlock.getParameter('class')
>>>
>>>> ...
>>>> #end
>>>>> #end
>>>>>
>>>>> But the output I get is:
>>>>> == Behavior ==
>>>>> $topicDefenitionDocument.getXDOM().getBlocks("class:lead",
"DESCENDANT")
>>>>> == Early Intervention / Education ==
>>>>> $topicDefenitionDocument.getXDOM().getBlocks("class:lead",
"DESCENDANT")
>>>>>
>>>>> ...
>>>>> What am I missing?
>>>>
>>>> the "class" in
$topicDefenitionDocument.getXDOM().getBlocks("class:lead",
>>>> "DESCENDANT") has nothing to do with css. This is the Java
class of
>>>> the block you want to find so you are supposed to put GroupBlock there
>>>> as I suggested and then select the one in the list having the
>>>> parameter "class" equals to "lead".
>>>>
>>>>> I also tried:
>>>>>
$topicDefenitionDocument..getDocument().getXDOM().getBlocks("class:lead",
"DESCENDANT")
>>>>> Same result, as if methods/functions are not available?
>>>>>
>>>>> On Mon, Jun 8, 2015 at 9:31 AM, Gerritjan Koekkoek
>>>>> <gerritjan(a)cdlsworld.org> wrote:
>>>>>> I know wiki has a nice macro to select a part of a page based on
headers.
>>>>>>
>>>>>> But headers can be changed and when you translate the page the
page holding the macro wil have a ugly error.
>>>>>>
>>>>>>
>>>>>> {{include reference="DocumentToInclude"
section="HMySection"}}
>>>>>>
>>>>>>
>>>>>> How could I do it based on the following wiki syntax:
>>>>>>
>>>>>>
>>>>>> (%class="lead")(((
>>>>>>
>>>>>> Text to be included
>>>>>>
>>>>>> )))
>>>>>>
>>>>>> Text to be excluded
>>>>>>
>>>>>>
>>>>>> 'Text to be included' and 'text to be excluded'
can have any wiki-markup
>>>>>>
>>>>>>
>>>>>> I would like to create a macro that would look like
>>>>>>
>>>>>> {{myGetSectionMacro reference="DocumentToInclude"
onlyLeadText="true"}}
>>>>>>
>>>>>>
>>>>>> I could get the whole page by
>>>>>>
>>>>>> {{myGetSectionMacro reference="DocumentToInclude"
onlyLeadText="false"}}
>>>>>>
>>>>>>
>>>>>> I could get only 'Text to be excluded' by
>>>>>>
>>>>>> {{myGetSectionMacro reference="DocumentToInclude"
onlyLeadText="false" onlyRestText="true"}}
>>>>>>
>>>>>> Any suggestion is welcome
>>>>>> Note that the used Class is a bootstrap class that will add
markup to the section that will show it as a INTRO text...
>>>>>>
>>>>>>
>>>>>> Gerritjan Koekkoek
>>>>>> Vader van Rai Koekkoek (cdls) en voorzitter vereniging CdLS
>>>>>> Visit our website<http://www.cdlsworld.org>
>>>>>>
Facebook<https://www.facebook.com/gerritjan.koekkoek>
>>>>>> email<gerritjan(a)cdlsworld.org>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> users(a)xwiki.org
>>>>>>
http://lists.xwiki.org/mailman/listinfo/users
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thomas Mortagne
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users(a)xwiki.org
>>>>>
http://lists.xwiki.org/mailman/listinfo/users
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users(a)xwiki.org
>>>>>
http://lists.xwiki.org/mailman/listinfo/users
>>>>
>>>>
>>>>
>>>> --
>>>> Thomas Mortagne
>>>> _______________________________________________
>>>> users mailing list
>>>> users(a)xwiki.org
>>>>
http://lists.xwiki.org/mailman/listinfo/users
>>>> _______________________________________________
>>>> users mailing list
>>>> users(a)xwiki.org
>>>>
http://lists.xwiki.org/mailman/listinfo/users
>>>
>>>
>>>
>>> --
>>> Thomas Mortagne
>>> _______________________________________________
>>> users mailing list
>>> users(a)xwiki.org
>>>
http://lists.xwiki.org/mailman/listinfo/users
>>> _______________________________________________
>>> users mailing list
>>> users(a)xwiki.org
>>>
http://lists.xwiki.org/mailman/listinfo/users
>>
>>
>>
>> --
>> Thomas Mortagne
>> _______________________________________________
>> users mailing list
>> users(a)xwiki.org
>>
http://lists.xwiki.org/mailman/listinfo/users
>> _______________________________________________
>> users mailing list
>> users(a)xwiki.org
>>
http://lists.xwiki.org/mailman/listinfo/users
>
>
>
> --
> Thomas Mortagne
> _______________________________________________
> users mailing list
> users(a)xwiki.org
>
http://lists.xwiki.org/mailman/listinfo/users
> _______________________________________________
> users mailing list
> users(a)xwiki.org
>
http://lists.xwiki.org/mailman/listinfo/users
--
Thomas Mortagne
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
--
Thomas Mortagne
_______________________________________________
users mailing list
users(a)xwiki.org
_______________________________________________
users mailing list
users(a)xwiki.org