On Sep 7, 2008, at 3:16 AM, Artem Melentyev wrote: > Vincent Massol wrote: >> On Sep 5, 2008, at 12:08 PM, Jean-Vincent Drean wrote: >> >>> On Fri, Sep 5, 2008 at 11:58 AM, Vincent Massol <[EMAIL PROTECTED]> >>> wrote: >>>>> The second proposal is a temporary hack for hiding documents. The >>>>> idea >>>>> is to add a new field in the XWikiDocument class, 'hidden', which >>>>> will >>>>> be automatically used in searchDocuments and countDocuments to >>>>> filter >>>>> out special documents. This is a workaround until we will be >>>>> able to >>>>> tag >>>>> special documents or spaces, and will allow to create special >>>>> documents >>>>> needed for an application inside the main application's space, >>>>> instead >>>>> of the generic XWiki space. Such hidden pages won't appear in >>>>> normal >>>>> search results, the index page or the navigation panel. >>>> -0 (close to -1) till you explain what is wrong with the solution >>>> below :) >>>> >>>> This could also be implemented using a special Tag (like: >>>> "xwiki:hidden" for example). >>>> >>>> I was going to say: "In general I think we need the ability to add >>>> generic metadata to a document.". however this already exists: it's >>>> called Objects! :) >>>> So I think instead of adding more and more fixed metadata we might >>>> instead want to use Objects. Either reuse the existing Tag or >>>> create a >>>> new Visibility class/objects. >>>> >>>> What are the cons of using Objects for this feature? >>>> >>> At first sight I'd say that using objects (including current tag >>> feature) would lead to complex queries. >> >> Yes but that's an API problem not a design one. >> >> If our API makes it complex to do queries on objects then we should >> fix it. Not do workarounds! Because if we do this then we >> acknowledge >> that the whole foundation of XWiki is bad (i.e. Class/Objects don't >> work). That would be a shame :) > > New XWiki Query Language is targets this problem. > There is easy to query objects on xwql. > example: > > If XWiki.Hidden is just a document flag: > "from Document as doc, doc.object(XWiki.Hidden) as h" > > If not: > "from Document as doc left join doc.object(XWiki.Visibility) as v > where v is null or v.hidden=false" > > We can also introduce special syntax "doc.object?(XWiki.Visibility)" > for > left joins: > > "from Document as doc, doc.object?(XWiki.Visibility) as v > where v is null or v.hidden=false" > > or even: > "where doc.object?(XWiki.Visibility).hidden=false"
Yes I think it would be nice if our query language supported manipulating properties directly at the syntax level. I like the notation: doc.object(MyObject).myproperty Thanks -Vincent _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

