________________________________________
From: users <users-boun...@xwiki.org> on behalf of Thomas Mortagne 
<thomas.morta...@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
<gerrit...@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. 
I read something in this page which reminds me of my days in XSLT...
http://nexus.xwiki.org/nexus/service/local/repositories/releases/archive/org/xwiki/rendering/xwiki-rendering-api/6.4.4/xwiki-rendering-api-6.4.4-javadoc.jar/!/org/xwiki/rendering/block/Block.Axes.html
Self is mentioned as last search option...

If you want to render a block you can use rendering service, see
http://extensions.xwiki.org/xwiki/bin/view/Extension/Rendering+Module.
OK

>
> 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>
Any Idea how to evaluate if paragraph is insight this div?

>
> 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-boun...@xwiki.org> on behalf of Thomas Mortagne 
> <thomas.morta...@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
> <gerrit...@cdlsworld.org> wrote:
>> From: users <users-boun...@xwiki.org> on behalf of Thomas Mortagne 
>> <thomas.morta...@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
>> <gerrit...@cdlsworld.org> wrote:
>>> From: users <users-boun...@xwiki.org> on behalf of Thomas Mortagne 
>>> <thomas.morta...@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
>>> <gerrit...@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-boun...@xwiki.org> on behalf of Thomas Mortagne 
>>>> <thomas.morta...@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#HAccesstoBlockMatchersfromvelocityscripts
>>>> 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/org/xwiki/rendering/xwiki-rendering-api/6.4.4/xwiki-rendering-api-6.4.4-javadoc.jar/!/org/xwiki/rendering/block/Block.html#getParameter%28java.lang.String%29
>>
>> 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
>>>> <gerrit...@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<gerrit...@cdlsworld.org>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users@xwiki.org
>>>>> http://lists.xwiki.org/mailman/listinfo/users
>>>>
>>>>
>>>>
>>>> --
>>>> Thomas Mortagne
>>>> _______________________________________________
>>>> users mailing list
>>>> users@xwiki.org
>>>> http://lists.xwiki.org/mailman/listinfo/users
>>>> _______________________________________________
>>>> users mailing list
>>>> users@xwiki.org
>>>> http://lists.xwiki.org/mailman/listinfo/users
>>>
>>>
>>>
>>> --
>>> Thomas Mortagne
>>> _______________________________________________
>>> users mailing list
>>> users@xwiki.org
>>> http://lists.xwiki.org/mailman/listinfo/users
>>> _______________________________________________
>>> users mailing list
>>> users@xwiki.org
>>> http://lists.xwiki.org/mailman/listinfo/users
>>
>>
>>
>> --
>> Thomas Mortagne
>> _______________________________________________
>> users mailing list
>> users@xwiki.org
>> http://lists.xwiki.org/mailman/listinfo/users
>> _______________________________________________
>> users mailing list
>> users@xwiki.org
>> http://lists.xwiki.org/mailman/listinfo/users
>
>
>
> --
> Thomas Mortagne
> _______________________________________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users
> _______________________________________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users



--
Thomas Mortagne
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to