I didn't manage to use blog example on xwiki 7.0.1
(I replace 'XWiki.ArticleClass' by 'Blog.BlogPostClass' : we must fix doc
if it is ok)
The query example don't work (or maybe I don't know how to use it ;-) )
select distinct doc.fullName, doc.creationDate from XWikiDocument as doc, BaseObject as
obj, DBStringListProperty as prop join prop.list list where obj.name=doc.fullName and
obj.className='Blog.BlogPostClass' and obj.id=prop.id.id and
prop.id.name='category' and list='${category}' order by doc.creationDate
desc
If I remove category parameter
#set ($query ="select distinct doc.fullName, doc.creationDate from XWikiDocument as
doc, BaseObject as obj, DBStringListProperty as prop join prop.list list where
obj.name=doc.fullName and obj.className='Blog.BlogPostClass' order by
doc.creationDate desc")
the query return all doc with blog class
--------------------------------------------
En date de : Lun 2.11.15, Marius Dumitru Florea <mariusdumitru.florea(a)xwiki.com> a
écrit :
Objet: Re: [xwiki-users] Need help to find a hql query
À: "Pascal BASTIEN" <pbasnews-xwiki(a)yahoo.fr>fr>, "XWiki Users"
<users(a)xwiki.org>
Date: Lundi 2 novembre 2015, 13h47
On Mon,
Nov 2, 2015 at 1:00 PM, Pascal BASTIEN <pbasnews-xwiki(a)yahoo.fr>
wrote:
Hello,
I have a xwiki doc class with some properties: 'Static
List' type and 'Page' (multiselect) type.
I try to write a query to retrieve document in one query
shot but I encoutered problem with 'Page' type.
This query working well based on
http://platform.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples#HGett…
select distinct doc.name,
doc.creationDate from XWikiDocument as doc, BaseObject as
obj, StringProperty prop where (doc.fullName=obj.name and
obj.className='FormSMQ.ACClass' and
doc.space='FormSMQ' and doc.hidden=false and prop.id.id=obj.id
and prop.name='P1_Processus'
and prop.value='M3') order by doc.creationDate
desc
'P1_Processus' is a static list type
But this query doesn't work:
select distinct doc.name, doc.creationDate from
XWikiDocument as doc, BaseObject as obj, StringProperty prop
where (doc.fullName=obj.name and
obj.className='FormSMQ.ACClass' and
doc.space='FormSMQ' and doc.hidden=false and prop.id.id=obj.id
and prop.name='MY_PAGE_TYPE_PROPERTY_NAME'
and prop.value='MYVALUE') order by doc.creationDate
desc
I suppose the 'P1_Processus'
property has single selection, which means
'prop.value' is a string and thus you can write
"prop.value='M3'". If the Page type
property is multiple select then it's value is a list.
You should check the
"List all blog posts, published and not
hidden (filter by multiple properties of an object)"
example from
http://extensions.xwiki.org/xwiki/bin/view/Extension/Query+Module#HQueryLan…
. Look for :
:category member of blog.category (in
the XWQL version)
DBStringListProperty as categoryProp
join categoryProp.list list (in the HQL version)
Hope this helps,
Marius
Ididn't find some "PageProperty" in
https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwi…,
then I must use DBStringListProperty ?
Any help will be welcome.
Pascal B
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users