Yes I've tried this, but XWiki doesn't execute this code it just displays:
$doc.display($prop.name, "view", $obj) as if its just any other text on the
page!
What's happening? Why won't it execute?
-----Original Message-----
From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
Erin Schnabel
Sent: 09 October 2007 18:15
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
set of criteria
try this:
#set($obj = $bentrydoc.getObject("XWiki.ArticleClass"))
$doc.display($prop.name, "view", $obj)
On 10/9/07, goldring, richard <richard.goldring(a)uk.thalesgroup.com> wrote:
> Jean-Vincent,
>
> I've developed this code for searching and then displaying the properties
> and property values of an documents object - only the line indicated
doesn't
> display the properties value - any ideas how to do this?
>
> #set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
> BaseObject obj, StringProperty prop where doc.fullName=obj.name and
> obj.className='XWiki.ArticleClass' and prop.id.id=obj.id and
> prop.name='title' and prop.value like 'Art%'", 5, 0))
>
> #foreach ($item in $list)
> #set($bentrydoc = $xwiki.getDocument($item))
>
> #set($class = $bentrydoc.getObject("XWiki.ArticleClass").xWikiClass)
> $bentrydoc.name
> <table border="1" cellspacing="0" cellpadding="2">
> #foreach($prop in $class.properties)
> <tr>
> <td> *${prop.prettyName}* </td>
> <td>Value: $doc.display($prop.value)</td> <--- this line!
> </tr>
> #end
> </table>
>
> Regards,
>
> Richard
>
> -----Original Message-----
> From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
> Jean-Vincent Drean
> Sent: 09 October 2007 13:12
> To: XWiki Developers
> Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> set of criteria
>
>
> Added here :
>
http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples#HGettingdoc
> umentswhereobjects27propertiesequalssomevalue
>
> JV.
>
> 2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > Thanks Jean-Vincent,
> >
> > What you've done helps ... but how does one list documents with a
certain
> > object attached whom's properties = a certain value?
> >
> > Regards,
> >
> > Richard
> >
> > -----Original Message-----
> > From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
> > Jean-Vincent Drean
> > Sent: 09 October 2007 12:34
> > To: XWiki Developers
> > Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> > set of criteria
> >
> >
> > I've started documenting hql queries through public and privileged APIs
> > here:
> > http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples
> >
> > The privileged API will fit your need (don't forget to protect the
> > edition of your scripts pages by non-admins).
> >
> > JV.
> >
> > 2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > > Jean-Vincent,
> > >
> > > Thanks - I tried it and it worked.
> > >
> > > What I'd like to do now is to have a set of pages with objects
attached
> > and
> > > to search those pages by the attributes on those objects.
> > >
> > > So for example the pages could represent 'tasks', the objects would
> store
> > > details of those tasks e.g. task status, task owner, task description,
> > task
> > > date, etc. On a browser page a search/filter could then be done on say
> > task
> > > status to list all uncompleted tasks.
> > >
> > > Any idea how to do that?
> > >
> > > Also is there any documentation on how to do these searches using:
> > >
> > > $xwiki.xWiki.search("select count(doc) from XWikiDocument doc
${query}",
> > > $context.context).get(0))
> > >
> > > and
> > >
> > > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> > >
> > > i.e. what database tables to search - a description of how these
methods
> > > work and how to use them, etc
> > >
> > > If anyone has some more examples and explaination of these then it
would
> > > really help! Thanks!
> > >
> > > Regards,
> > >
> > > Richard
> > >
> > > -----Original Message-----
> > > From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf
Of
> > > Jean-Vincent Drean
> > > Sent: 03 October 2007 15:00
> > > To: XWiki Developers
> > > Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> > > set of criteria
> > >
> > >
> > > The snippet on xwiki.org :
> > > http://www.xwiki.org/xwiki/bin/view/Code/PaginateSearch
> > >
> > > 2007/10/3, Jean-Vincent Drean <jv(a)xwiki.com>:
> > > > Hi,
> > > >
> > > > It's a recurrent need but AFAIK we don't have any generic solution.
> > > > I've made a 5' snippet, hope it will be useful.
> > > >
> > > > This snippet requires programming rights ($xwiki.xWiki.search) so
> > > > you'll have to make sure that simple users can't edit this page.
> > > >
> > > >
> > >
> >
>
-----------------------------------------------8<---------------------------
> > > ----------------------------------------
> > > > #macro(paginedSearch $query $currentPage $resultsPerPage)
> > > > #set ($start = $resultsPerPage * $currentPage)
> > > > #set ($resultsnb = $xwiki.xWiki.search("select count(doc) from
> > > > XWikiDocument doc ${query}", $context.context).get(0))
> > > > #if ($resultsnb > $resultsPerPage)
> > > > #set ($pagesnb = $resultsnb / $resultsPerPage)
> > > > #foreach ($pagenb in [0..$pagesnb])
> > > > [$pagenb>$doc.fullName?page=$pagenb]
> > > > #end
> > > > #end
> > > > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage,
$start))
> > > > #foreach ($item in $list)
> > > > * $item
> > > > #end
> > > > #end
> > > >
> > > > #if ($request.page)
> > > > #set ($desiredStart = $xwiki.parseInt($request.page))
> > > > #else
> > > > #set ($desiredStart = 0)
> > > > #end
> > > >
> > > > #paginedSearch("where 1=1" $desiredStart 5)
> > > >
> > >
> >
>
-----------------------------------------------8<---------------------------
> > > ----------------------------------------
> > > >
> > > > 2007/10/3, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > > > > Anyone?
> > > > >
> > > > >
> > > > > Hi all,
> > > > >
> > > > > Does anyone know how to generate a list of links to wiki pages
that
> > meet
> > > a
> > > > > set of defined features i.e. filter and sort (features defined on
> the
> > > > > objects or tags on those pages)? Perhaps like the Google search,
> list
> > > the
> > > > > first 20 or 30 pages and have a next/previous, 1, 2, 3, etc
buttons
> to
> > > list
> > > > > the next selections of page links (to cope with the display of
large
> > > numbers
> > > > > of page links).
> > > > >
> > > > > If anyones got any code snipits to get me started then that would
be
> > > really
> > > > > useful - thanks.
> > > > >
> > > > > The idea is perhaps to explore how to use XWiki to semi
> automatically
> > > > > generate pages to record tasks or issues, and then to list those
> pages
> > > > > (tasks/issues) according to say the status or owners of those
> > > tasks/issues.
> > > > > For tasks I'm thinking XWiki might be used to help guide users
> through
> > > > > business processes and semi-automatically document they have
> followed
> > > those
> > > > > processes (for CMMI) so they can be simply audited. Documents
> > generated
> > > > > through users following the tasks/processes can then be generated
> from
> > > > > templates and stored within the wiki. If anyone else has any
> > ideas/code
> > > that
> > > > > could help perhaps realise this then let me know!
> > > > >
> > > > > Regards,
> > > > >
> > > > > Richard Goldring
> > > > >
> > > > > TAO
> > > > > Wookey Hole Road
> > > > > Wells, Somerset
> > > > > BA5 1AA
> > > > >
> > > > > Direct Line: 01749 682694
> > > > > Switchboard: 01749 672081
> > > > > richard.goldring(a)uk.thalesgroup.com
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Thales UK Ltd (Wells) DISCLAIMER: The information contained in
this
> > > e-mail
> > > > > is confidential. It may also be legally privileged. It is intended
> > only
> > > for
> > > > > the stated addressee(s) and access to it by any other person is
> > > > > unauthorised. If you are not an addressee, you must not disclose,
> > copy,
> > > > > circulate or in any other way use or rely on the information
> contained
> > > in
> > > > > this e-mail. Such unauthorised use may be unlawful. We may monitor
> all
> > > > > e-mail communications through our networks. If you have received
> this
> > > e-mail
> > > > > in error, please inform us immediately on +44 (0) 1749 672081 and
> > delete
> > > it
> > > > > and all copies from your system. We accept no responsibility for
> > changes
> > > to
> > > > > any e-mail which occur after it has been sent. Attachments to
this
> > > e-mail
> > > > > may contain software viruses which could damage your system. We
> > > therefore
> > > > > recommend you virus-check all attachments before opening. A
business
> > of
> > > > > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> > > Business
> > > > > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England
> No.
> > > > > 868273
> > > > > _______________________________________________
> > > > > devs mailing list
> > > > > devs(a)xwiki.org
> > > > > http://lists.xwiki.org/mailman/listinfo/devs
> > > > >
> > > >
> > > _______________________________________________
> > > devs mailing list
> > > devs(a)xwiki.org
> > > http://lists.xwiki.org/mailman/listinfo/devs
> > >
> > > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
> e-mail
> > > is confidential. It may also be legally privileged. It is intended
only
> > for
> > > the stated addressee(s) and access to it by any other person is
> > > unauthorised. If you are not an addressee, you must not disclose,
copy,
> > > circulate or in any other way use or rely on the information contained
> in
> > > this e-mail. Such unauthorised use may be unlawful. We may monitor all
> > > e-mail communications through our networks. If you have received this
> > e-mail
> > > in error, please inform us immediately on +44 (0) 1749 672081 and
delete
> > it
> > > and all copies from your system. We accept no responsibility for
changes
> > to
> > > any e-mail which occur after it has been sent. Attachments to this
> e-mail
> > > may contain software viruses which could damage your system. We
> therefore
> > > recommend you virus-check all attachments before opening. A business
of
> > > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> > Business
> > > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> > > 868273
> > > _______________________________________________
> > > devs mailing list
> > > devs(a)xwiki.org
> > > http://lists.xwiki.org/mailman/listinfo/devs
> > >
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
e-mail
> > is confidential. It may also be legally privileged. It is intended only
> for
> > the stated addressee(s) and access to it by any other person is
> > unauthorised. If you are not an addressee, you must not disclose, copy,
> > circulate or in any other way use or rely on the information contained
in
> > this e-mail. Such unauthorised use may be unlawful. We may monitor all
> > e-mail communications through our networks. If you have received this
> e-mail
> > in error, please inform us immediately on +44 (0) 1749 672081 and delete
> it
> > and all copies from your system. We accept no responsibility for changes
> to
> > any e-mail which occur after it has been sent. Attachments to this
e-mail
> > may contain software viruses which could damage your system. We
therefore
> > recommend you virus-check all attachments before opening. A business of
> > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> Business
> > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> > 868273
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
> Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
> is confidential. It may also be legally privileged. It is intended only
for
> the stated addressee(s) and access to it by any other person is
> unauthorised. If you are not an addressee, you must not disclose, copy,
> circulate or in any other way use or rely on the information contained in
> this e-mail. Such unauthorised use may be unlawful. We may monitor all
> e-mail communications through our networks. If you have received this
e-mail
> in error, please inform us immediately on +44 (0) 1749 672081 and delete
it
> and all copies from your system. We accept no responsibility for changes
to
> any e-mail which occur after it has been sent. Attachments to this e-mail
> may contain software viruses which could damage your system. We therefore
> recommend you virus-check all attachments before opening. A business of
> Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
Business
> Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> 868273
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
--
'Waste of a good apple' -Samwise Gamgee
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
Dear all,
I am starting to take a deeper look at XEclipse and I think there are
some improvements at the design level that, IMHO, are worth to be
taken into account.
These improvements leverage Eclipse platform's features that, to some
extent, have been re-implemented in XEclipse.
1) Deferred tree content managers.
I am a big fan of this feature and I tend to use it whenever I can.
Basically a deferred tree content manager allows you to "fetch" tree
children in a deferred way.
One example is the "SVN Repository" or "CVS Repository" views in your
Eclipse IDE. When you expand a node it displays a "Pending..." element
and, when the fetching job is over, the actual elements (i.e., files
and directories available on the repository) are displayed.
The same mechanism could be used in XEclipse to fetch Spaces and Pages.
The good thing about this approach is that the manager takes care of
everything:
* A tree node that is collapsed before the fetching job is terminated
deletes the corresponding job;
* Changing the input element of the tree invalidates all the active jobs
* You can expand different tree nodes without waiting that the
previous ones terminate their fetching job: in this case you will
have several "Pending..." indicators in the tree.
You can play a bit with the "SVN Repository" view and see what I mean.
The best news is that all of this already implemented and available
in the eclipse platform through the DeferredTreeContentManager[1] class.
Using the deferred tree content fetching mechanism eliminates the
need of having additional logic in XWikiSpace for understanding when
pages are ready (i.e., all the code that manages isPagesReady in
XWikiSpace.java). You will simply have a method getPages that could
take possibly forever and that directly fetches the pages from the
XMLRPC source (or from the offline cache).
I think that this will also have impact on the Decorators that are
used to wrap XWiki* elements in order to provide a visual feedback on
what's going on (i.e., all the GuiUtils.runOperationWithProgress will
be unnecessary since the deferred tree content manager will take care
of everything)
2) Adapters
I noticed that there is a TreeAdapter interface that basically is
used for providing labels, children and so on.
All classes that can be "displayed" in a tree implements this
interface (i.e., XWikiConnection, XWikiPage, XWikiSpace).
I think that this "pollutes" the model because, for example, getPages
and getTreeChildren basically return the same thing and, therefore,
are duplicated methods. Moreover in this way you put "GUI"-oriented
stuff in the model and this is not good.
The Eclipse platform has a mechanism for providing adapters that are
able to give information about model elements to GUI components[2].
Not surprisingly they are called Adapters and are handled via
extension points. Basically you register an AdapterFactory that
provides IWorkbenchAdapters.
An IWorkbenchAdapter[3] actually contains what was declared in
XEclipse TreeAdapter.
When you need structural information about an object, you can then
query the platform for an adapter that matches a given interface and
is suitable for a given object. In our case I can register an adapter
for XWikiSpace that implements the getChildren method and that will
simply call the getPages method of the XWikiSpace model object.
In this way I can clearly separate the "GUI" code from the "model"
code and leave Eclipse handle the rest.
It is worth to notice that many GUI content providers directly
support IWorkbenchAdapters out of the box, so if you carefully write
your model adapters you will never have to write a content/label
provider; but even when you write your own content provider you can
always put a lookup to the adapter and then talk to it for getting
the information to display (this is actually a standard practice).
In the attachment you can find a sample implementation of the
"deferred tree" way of displaying the XWiki navigator that makes use
of adapters.
Notice the getChildren methods in XWikiSpaceAdapter (declared in
AdapterFactory.java). It calls a method myGetPages that I've added
for testing purposes to the IXWikiSpace interface and that basically
does the following straight simple thing:
public Collection<IXWikiPage> myGetPages() throws
ConfluenceException, SwizzleConfluenceException {
Confluence rpc = getConnection().getRpcProxy();
String spaceKey = getKey();
List<Object> pages = rpc.getPages(spaceKey);
List<IXWikiPage> result = new ArrayList<IXWikiPage>();
for (int i = 0; i < pages.size(); i++) {
PageSummary pageSummary = (PageSummary) pages.get(i);
XWikiPage xWikiPage = new XWikiPage(this, pageSummary);
result.add(xWikiPage);
}
return result;
}
Of course this is a proposal to discuss about.
But I think that we should spend some time on it because we could end
up with a lighter design and a more maintainable product.
WDYT?
Cheers,
Fabio
[1] http://help.eclipse.org/help33/index.jsp?topic=/
org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/progress/
DeferredTreeContentManager.html
[2] Of course the adapters mechanism is not limited to GUI components
but can be used to adapt an object to whatever interface we need to.
[3] http://help.eclipse.org/help33/index.jsp?topic=/
org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/model/
IWorkbenchAdapter.html
These are the XML lines in plugin.xml that defines the
org.eclipse.core.runtime.adapters extension point for registering the
AdapterFactory and types:
<extension point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="org.xwiki.plugins.eclipse.model.IXWikiConnection"
class="fm.AdapterFactory">
<adapter
type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"></adapter>
</factory>
<factory
adaptableType="org.xwiki.plugins.eclipse.model.IXWikiSpace"
class="fm.AdapterFactory">
<adapter
type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"></adapter>
</factory>
</extension>
Jean-Vincent,
Thanks.
Seems that the line:
#set($class = $bentrydoc.getObject("XWiki.ArticleClass").xWikiClass)
seemed to cause the $class not to get set and
"$bentrydoc.display($prop.name,"view", $class)" not to evaluate and just got
displayed on the page - removing ".xWikiClass" solved the problem i.e.
#set($class = $bentrydoc.getObject("XWiki.ArticleClass"))
Was ".xWikiClass" just a typo?
Also "<td> *${prop.prettyName}* </td>" didn't evaluate and just got
displayed on the page!
So my working code is now:
#set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
BaseObject obj, StringProperty prop where doc.fullName=obj.name and
obj.className='XWiki.ArticleClass' and prop.id.id=obj.id and
prop.name='title' and prop.value like 'Art%'", 5, 0))
#foreach ($item in $list)
#set($bentrydoc = $xwiki.getDocument($item))
#set($class = $bentrydoc.getObject("XWiki.ArticleClass"))
$bentrydoc.name
<table border="1" cellspacing="0" cellpadding="2">
#foreach($prop in $class.properties)
<tr>
<td> *${prop.name}* </td>
<td>
$bentrydoc.display($prop.name,"view", $class)
</td>
</tr>
#end
</table>
#end
I might try your refactored code as well - thank :)
Regards,
Richard
-----Original Message-----
From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
Jean-Vincent Drean
Sent: 10 October 2007 09:58
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
set of criteria
2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> #set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
> BaseObject obj, StringProperty prop where doc.fullName=obj.name and
> obj.className='XWiki.ArticleClass' and prop.id.id=obj.id and
> prop.name='title' and prop.value like 'Art%'", 5, 0))
Remember that you'll get only the 5 first results with this call :
http://build.xpertnet.biz/latestdoc/api/com/xpn/xwiki/api/XWiki.html#search(
java.lang.String,%20int,%20int)
from :
http://build.xpertnet.biz/latestdoc/api/com/xpn/xwiki/api/package-summary.ht
ml
> #foreach ($item in $list)
> #set($bentrydoc = $xwiki.getDocument($item))
>
> #set($class = $bentrydoc.getObject("XWiki.ArticleClass").xWikiClass)
> $bentrydoc.name
> <table border="1" cellspacing="0" cellpadding="2">
> #foreach($prop in $class.properties)
> <tr>
> <td> *${prop.prettyName}* </td>
> <td>Value: $doc.display($prop.value)</td> <--- this line!
> </tr>
> #end
> </table>
While you know the type of the object you want to display you don't
have to use the xWikiClass (which is privileged API).
You can consult the list of the class properties at :
/xwiki/bin/edit/XWiki/ArticleClass?editor=class (class editor,
accessible from the top menu).
I'd refactor your snippet like this :
#foreach ($item in $list)
#set($bdoc = $xwiki.getDocument($item))
$bdoc.title
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td> *Title* </td>
<td>$bdoc.display("title")</td>
</tr>
<tr>
<td> *Category* </td>
<td>$bdoc.display("category")</td>
</tr>
<tr>
<td> *Content* </td>
<td>$bdoc.display("content")</td>
</tr>
</table>
#end
JV.
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
Jean-Vincent,
I've developed this code for searching and then displaying the properties
and property values of an documents object - only the line indicated doesn't
display the properties value - any ideas how to do this?
#set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
BaseObject obj, StringProperty prop where doc.fullName=obj.name and
obj.className='XWiki.ArticleClass' and prop.id.id=obj.id and
prop.name='title' and prop.value like 'Art%'", 5, 0))
#foreach ($item in $list)
#set($bentrydoc = $xwiki.getDocument($item))
#set($class = $bentrydoc.getObject("XWiki.ArticleClass").xWikiClass)
$bentrydoc.name
<table border="1" cellspacing="0" cellpadding="2">
#foreach($prop in $class.properties)
<tr>
<td> *${prop.prettyName}* </td>
<td>Value: $doc.display($prop.value)</td> <--- this line!
</tr>
#end
</table>
Regards,
Richard
-----Original Message-----
From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
Jean-Vincent Drean
Sent: 09 October 2007 13:12
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
set of criteria
Added here :
http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples#HGettingdoc
umentswhereobjects27propertiesequalssomevalue
JV.
2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> Thanks Jean-Vincent,
>
> What you've done helps ... but how does one list documents with a certain
> object attached whom's properties = a certain value?
>
> Regards,
>
> Richard
>
> -----Original Message-----
> From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
> Jean-Vincent Drean
> Sent: 09 October 2007 12:34
> To: XWiki Developers
> Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> set of criteria
>
>
> I've started documenting hql queries through public and privileged APIs
> here:
> http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples
>
> The privileged API will fit your need (don't forget to protect the
> edition of your scripts pages by non-admins).
>
> JV.
>
> 2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > Jean-Vincent,
> >
> > Thanks - I tried it and it worked.
> >
> > What I'd like to do now is to have a set of pages with objects attached
> and
> > to search those pages by the attributes on those objects.
> >
> > So for example the pages could represent 'tasks', the objects would
store
> > details of those tasks e.g. task status, task owner, task description,
> task
> > date, etc. On a browser page a search/filter could then be done on say
> task
> > status to list all uncompleted tasks.
> >
> > Any idea how to do that?
> >
> > Also is there any documentation on how to do these searches using:
> >
> > $xwiki.xWiki.search("select count(doc) from XWikiDocument doc ${query}",
> > $context.context).get(0))
> >
> > and
> >
> > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> >
> > i.e. what database tables to search - a description of how these methods
> > work and how to use them, etc
> >
> > If anyone has some more examples and explaination of these then it would
> > really help! Thanks!
> >
> > Regards,
> >
> > Richard
> >
> > -----Original Message-----
> > From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
> > Jean-Vincent Drean
> > Sent: 03 October 2007 15:00
> > To: XWiki Developers
> > Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> > set of criteria
> >
> >
> > The snippet on xwiki.org :
> > http://www.xwiki.org/xwiki/bin/view/Code/PaginateSearch
> >
> > 2007/10/3, Jean-Vincent Drean <jv(a)xwiki.com>:
> > > Hi,
> > >
> > > It's a recurrent need but AFAIK we don't have any generic solution.
> > > I've made a 5' snippet, hope it will be useful.
> > >
> > > This snippet requires programming rights ($xwiki.xWiki.search) so
> > > you'll have to make sure that simple users can't edit this page.
> > >
> > >
> >
>
-----------------------------------------------8<---------------------------
> > ----------------------------------------
> > > #macro(paginedSearch $query $currentPage $resultsPerPage)
> > > #set ($start = $resultsPerPage * $currentPage)
> > > #set ($resultsnb = $xwiki.xWiki.search("select count(doc) from
> > > XWikiDocument doc ${query}", $context.context).get(0))
> > > #if ($resultsnb > $resultsPerPage)
> > > #set ($pagesnb = $resultsnb / $resultsPerPage)
> > > #foreach ($pagenb in [0..$pagesnb])
> > > [$pagenb>$doc.fullName?page=$pagenb]
> > > #end
> > > #end
> > > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> > > #foreach ($item in $list)
> > > * $item
> > > #end
> > > #end
> > >
> > > #if ($request.page)
> > > #set ($desiredStart = $xwiki.parseInt($request.page))
> > > #else
> > > #set ($desiredStart = 0)
> > > #end
> > >
> > > #paginedSearch("where 1=1" $desiredStart 5)
> > >
> >
>
-----------------------------------------------8<---------------------------
> > ----------------------------------------
> > >
> > > 2007/10/3, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > > > Anyone?
> > > >
> > > >
> > > > Hi all,
> > > >
> > > > Does anyone know how to generate a list of links to wiki pages that
> meet
> > a
> > > > set of defined features i.e. filter and sort (features defined on
the
> > > > objects or tags on those pages)? Perhaps like the Google search,
list
> > the
> > > > first 20 or 30 pages and have a next/previous, 1, 2, 3, etc buttons
to
> > list
> > > > the next selections of page links (to cope with the display of large
> > numbers
> > > > of page links).
> > > >
> > > > If anyones got any code snipits to get me started then that would be
> > really
> > > > useful - thanks.
> > > >
> > > > The idea is perhaps to explore how to use XWiki to semi
automatically
> > > > generate pages to record tasks or issues, and then to list those
pages
> > > > (tasks/issues) according to say the status or owners of those
> > tasks/issues.
> > > > For tasks I'm thinking XWiki might be used to help guide users
through
> > > > business processes and semi-automatically document they have
followed
> > those
> > > > processes (for CMMI) so they can be simply audited. Documents
> generated
> > > > through users following the tasks/processes can then be generated
from
> > > > templates and stored within the wiki. If anyone else has any
> ideas/code
> > that
> > > > could help perhaps realise this then let me know!
> > > >
> > > > Regards,
> > > >
> > > > Richard Goldring
> > > >
> > > > TAO
> > > > Wookey Hole Road
> > > > Wells, Somerset
> > > > BA5 1AA
> > > >
> > > > Direct Line: 01749 682694
> > > > Switchboard: 01749 672081
> > > > richard.goldring(a)uk.thalesgroup.com
> > > >
> > > >
> > > >
> > > >
> > > > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
> > e-mail
> > > > is confidential. It may also be legally privileged. It is intended
> only
> > for
> > > > the stated addressee(s) and access to it by any other person is
> > > > unauthorised. If you are not an addressee, you must not disclose,
> copy,
> > > > circulate or in any other way use or rely on the information
contained
> > in
> > > > this e-mail. Such unauthorised use may be unlawful. We may monitor
all
> > > > e-mail communications through our networks. If you have received
this
> > e-mail
> > > > in error, please inform us immediately on +44 (0) 1749 672081 and
> delete
> > it
> > > > and all copies from your system. We accept no responsibility for
> changes
> > to
> > > > any e-mail which occur after it has been sent. Attachments to this
> > e-mail
> > > > may contain software viruses which could damage your system. We
> > therefore
> > > > recommend you virus-check all attachments before opening. A business
> of
> > > > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> > Business
> > > > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England
No.
> > > > 868273
> > > > _______________________________________________
> > > > devs mailing list
> > > > devs(a)xwiki.org
> > > > http://lists.xwiki.org/mailman/listinfo/devs
> > > >
> > >
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
e-mail
> > is confidential. It may also be legally privileged. It is intended only
> for
> > the stated addressee(s) and access to it by any other person is
> > unauthorised. If you are not an addressee, you must not disclose, copy,
> > circulate or in any other way use or rely on the information contained
in
> > this e-mail. Such unauthorised use may be unlawful. We may monitor all
> > e-mail communications through our networks. If you have received this
> e-mail
> > in error, please inform us immediately on +44 (0) 1749 672081 and delete
> it
> > and all copies from your system. We accept no responsibility for changes
> to
> > any e-mail which occur after it has been sent. Attachments to this
e-mail
> > may contain software viruses which could damage your system. We
therefore
> > recommend you virus-check all attachments before opening. A business of
> > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> Business
> > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> > 868273
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
> Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
> is confidential. It may also be legally privileged. It is intended only
for
> the stated addressee(s) and access to it by any other person is
> unauthorised. If you are not an addressee, you must not disclose, copy,
> circulate or in any other way use or rely on the information contained in
> this e-mail. Such unauthorised use may be unlawful. We may monitor all
> e-mail communications through our networks. If you have received this
e-mail
> in error, please inform us immediately on +44 (0) 1749 672081 and delete
it
> and all copies from your system. We accept no responsibility for changes
to
> any e-mail which occur after it has been sent. Attachments to this e-mail
> may contain software viruses which could damage your system. We therefore
> recommend you virus-check all attachments before opening. A business of
> Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
Business
> Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> 868273
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
After seeing XE-14 [1] I've made a quick evaluation of what
Admin.WebHome contains, available here :
http://www.xwiki.org/xwiki/bin/view/Design/RefactoringAdminWebHome
My suggestion is at the end of the document, I suggest to remove the
link to this page in the quicklinks panel and replace its content by a
small description since it would be useless after some minor additions
in the top menu.
WDYT ?
JV.
[1] : http://jira.xwiki.org/jira/browse/XE-14
Sorry, made a mistake in the page name.
2007/10/9, Jean-Vincent Drean <jv(a)xwiki.com>:
> After seeing XE-14 [1] I've made a quick evaluation of what
> Admin.WebHome contains, available here :
> http://www.xwiki.org/xwiki/bin/view/Design/RefactoringAdminWebHome
>
> My suggestion is at the end of the document, I suggest to remove the
> link to this page in the quicklinks panel and replace its content by a
> small description since it would be useless after some minor additions
> in the top menu.
>
> WDYT ?
>
> JV.
>
> [1] : http://jira.xwiki.org/jira/browse/XE-14
>
Hey it works!
I coded it thus:
1.1 Listing documents by searching on their object properties - XWikiUsers
and first name
#set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
BaseObject obj, StringProperty prop where doc.fullName=obj.name and
obj.className='XWiki.XWikiUsers' and prop.id.id=obj.id and
prop.name='first_name' and prop.value='Graham'", 5, 0))
#includeForm("XWiki.Results")
1.1 Listing documents by searching on their object properties - Article and
title
#set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
BaseObject obj, StringProperty prop where doc.fullName=obj.name and
obj.className='XWiki.ArticleClass' and prop.id.id=obj.id and
prop.name='title' and prop.value like 'Art%'", 5, 0))
#includeForm("XWiki.Results")
and it displays the results using the Results table (although with two
#includeForm("XWiki.Results") it displays the filter columns twice on the
first table and no fitler columns on the second table on the same page?).
So thanks again Jean-Vincent!!!! This is really going to help me (and
others) use XWiki to develop useful applications with it.
Best Regards,
Richard
-----Original Message-----
From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
Jean-Vincent Drean
Sent: 09 October 2007 13:12
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
set of criteria
Added here :
http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples#HGettingdoc
umentswhereobjects27propertiesequalssomevalue
JV.
2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> Thanks Jean-Vincent,
>
> What you've done helps ... but how does one list documents with a certain
> object attached whom's properties = a certain value?
>
> Regards,
>
> Richard
>
> -----Original Message-----
> From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
> Jean-Vincent Drean
> Sent: 09 October 2007 12:34
> To: XWiki Developers
> Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> set of criteria
>
>
> I've started documenting hql queries through public and privileged APIs
> here:
> http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples
>
> The privileged API will fit your need (don't forget to protect the
> edition of your scripts pages by non-admins).
>
> JV.
>
> 2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > Jean-Vincent,
> >
> > Thanks - I tried it and it worked.
> >
> > What I'd like to do now is to have a set of pages with objects attached
> and
> > to search those pages by the attributes on those objects.
> >
> > So for example the pages could represent 'tasks', the objects would
store
> > details of those tasks e.g. task status, task owner, task description,
> task
> > date, etc. On a browser page a search/filter could then be done on say
> task
> > status to list all uncompleted tasks.
> >
> > Any idea how to do that?
> >
> > Also is there any documentation on how to do these searches using:
> >
> > $xwiki.xWiki.search("select count(doc) from XWikiDocument doc ${query}",
> > $context.context).get(0))
> >
> > and
> >
> > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> >
> > i.e. what database tables to search - a description of how these methods
> > work and how to use them, etc
> >
> > If anyone has some more examples and explaination of these then it would
> > really help! Thanks!
> >
> > Regards,
> >
> > Richard
> >
> > -----Original Message-----
> > From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
> > Jean-Vincent Drean
> > Sent: 03 October 2007 15:00
> > To: XWiki Developers
> > Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> > set of criteria
> >
> >
> > The snippet on xwiki.org :
> > http://www.xwiki.org/xwiki/bin/view/Code/PaginateSearch
> >
> > 2007/10/3, Jean-Vincent Drean <jv(a)xwiki.com>:
> > > Hi,
> > >
> > > It's a recurrent need but AFAIK we don't have any generic solution.
> > > I've made a 5' snippet, hope it will be useful.
> > >
> > > This snippet requires programming rights ($xwiki.xWiki.search) so
> > > you'll have to make sure that simple users can't edit this page.
> > >
> > >
> >
>
-----------------------------------------------8<---------------------------
> > ----------------------------------------
> > > #macro(paginedSearch $query $currentPage $resultsPerPage)
> > > #set ($start = $resultsPerPage * $currentPage)
> > > #set ($resultsnb = $xwiki.xWiki.search("select count(doc) from
> > > XWikiDocument doc ${query}", $context.context).get(0))
> > > #if ($resultsnb > $resultsPerPage)
> > > #set ($pagesnb = $resultsnb / $resultsPerPage)
> > > #foreach ($pagenb in [0..$pagesnb])
> > > [$pagenb>$doc.fullName?page=$pagenb]
> > > #end
> > > #end
> > > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> > > #foreach ($item in $list)
> > > * $item
> > > #end
> > > #end
> > >
> > > #if ($request.page)
> > > #set ($desiredStart = $xwiki.parseInt($request.page))
> > > #else
> > > #set ($desiredStart = 0)
> > > #end
> > >
> > > #paginedSearch("where 1=1" $desiredStart 5)
> > >
> >
>
-----------------------------------------------8<---------------------------
> > ----------------------------------------
> > >
> > > 2007/10/3, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > > > Anyone?
> > > >
> > > >
> > > > Hi all,
> > > >
> > > > Does anyone know how to generate a list of links to wiki pages that
> meet
> > a
> > > > set of defined features i.e. filter and sort (features defined on
the
> > > > objects or tags on those pages)? Perhaps like the Google search,
list
> > the
> > > > first 20 or 30 pages and have a next/previous, 1, 2, 3, etc buttons
to
> > list
> > > > the next selections of page links (to cope with the display of large
> > numbers
> > > > of page links).
> > > >
> > > > If anyones got any code snipits to get me started then that would be
> > really
> > > > useful - thanks.
> > > >
> > > > The idea is perhaps to explore how to use XWiki to semi
automatically
> > > > generate pages to record tasks or issues, and then to list those
pages
> > > > (tasks/issues) according to say the status or owners of those
> > tasks/issues.
> > > > For tasks I'm thinking XWiki might be used to help guide users
through
> > > > business processes and semi-automatically document they have
followed
> > those
> > > > processes (for CMMI) so they can be simply audited. Documents
> generated
> > > > through users following the tasks/processes can then be generated
from
> > > > templates and stored within the wiki. If anyone else has any
> ideas/code
> > that
> > > > could help perhaps realise this then let me know!
> > > >
> > > > Regards,
> > > >
> > > > Richard Goldring
> > > >
> > > > TAO
> > > > Wookey Hole Road
> > > > Wells, Somerset
> > > > BA5 1AA
> > > >
> > > > Direct Line: 01749 682694
> > > > Switchboard: 01749 672081
> > > > richard.goldring(a)uk.thalesgroup.com
> > > >
> > > >
> > > >
> > > >
> > > > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
> > e-mail
> > > > is confidential. It may also be legally privileged. It is intended
> only
> > for
> > > > the stated addressee(s) and access to it by any other person is
> > > > unauthorised. If you are not an addressee, you must not disclose,
> copy,
> > > > circulate or in any other way use or rely on the information
contained
> > in
> > > > this e-mail. Such unauthorised use may be unlawful. We may monitor
all
> > > > e-mail communications through our networks. If you have received
this
> > e-mail
> > > > in error, please inform us immediately on +44 (0) 1749 672081 and
> delete
> > it
> > > > and all copies from your system. We accept no responsibility for
> changes
> > to
> > > > any e-mail which occur after it has been sent. Attachments to this
> > e-mail
> > > > may contain software viruses which could damage your system. We
> > therefore
> > > > recommend you virus-check all attachments before opening. A business
> of
> > > > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> > Business
> > > > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England
No.
> > > > 868273
> > > > _______________________________________________
> > > > devs mailing list
> > > > devs(a)xwiki.org
> > > > http://lists.xwiki.org/mailman/listinfo/devs
> > > >
> > >
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
e-mail
> > is confidential. It may also be legally privileged. It is intended only
> for
> > the stated addressee(s) and access to it by any other person is
> > unauthorised. If you are not an addressee, you must not disclose, copy,
> > circulate or in any other way use or rely on the information contained
in
> > this e-mail. Such unauthorised use may be unlawful. We may monitor all
> > e-mail communications through our networks. If you have received this
> e-mail
> > in error, please inform us immediately on +44 (0) 1749 672081 and delete
> it
> > and all copies from your system. We accept no responsibility for changes
> to
> > any e-mail which occur after it has been sent. Attachments to this
e-mail
> > may contain software viruses which could damage your system. We
therefore
> > recommend you virus-check all attachments before opening. A business of
> > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> Business
> > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> > 868273
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
> Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
> is confidential. It may also be legally privileged. It is intended only
for
> the stated addressee(s) and access to it by any other person is
> unauthorised. If you are not an addressee, you must not disclose, copy,
> circulate or in any other way use or rely on the information contained in
> this e-mail. Such unauthorised use may be unlawful. We may monitor all
> e-mail communications through our networks. If you have received this
e-mail
> in error, please inform us immediately on +44 (0) 1749 672081 and delete
it
> and all copies from your system. We accept no responsibility for changes
to
> any e-mail which occur after it has been sent. Attachments to this e-mail
> may contain software viruses which could damage your system. We therefore
> recommend you virus-check all attachments before opening. A business of
> Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
Business
> Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> 868273
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
Guillaume,
I'll make time and see what I can do.
Regards,
Richard
-----Original Message-----
From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
Guillaume Lerouge
Sent: 09 October 2007 14:09
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a set of
criteria
Hi Richard,
how would you feel about writing a tutorial about what you did and adding it
to the tutorial page on the DevGuide with some screenshots? I'm sure this
would be quite useful for a lot of us... And you would help set the tone
towards more user-contributed documentation ;-)
(plus I'm sure you could be added to XWiki's Hall of Fame for doing this :-)
Many thanks in advance,
Guillaume
On 09/10/2007, goldring, richard < richard.goldring(a)uk.thalesgroup.com
<mailto:richard.goldring@uk.thalesgroup.com> > wrote:
Hey it works!
I coded it thus:
1.1 Listing documents by searching on their object properties - XWikiUsers
and first name
#set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
BaseObject obj, StringProperty prop where doc.fullName=obj.name and
obj.className='XWiki.XWikiUsers' and prop.id.id=obj.id and
prop.name='first_name' and prop.value='Graham'", 5, 0))
#includeForm("XWiki.Results")
1.1 Listing documents by searching on their object properties - Article and
title
#set ($list = $xwiki.search("select doc.fullName from XWikiDocument doc,
BaseObject obj, StringProperty prop where doc.fullName=obj.name and
obj.className='XWiki.ArticleClass' and prop.id.id=obj.id and
prop.name='title' and prop.value like 'Art%'", 5, 0))
#includeForm("XWiki.Results")
and it displays the results using the Results table (although with two
#includeForm("XWiki.Results") it displays the filter columns twice on the
first table and no fitler columns on the second table on the same page?).
So thanks again Jean-Vincent!!!! This is really going to help me (and
others) use XWiki to develop useful applications with it.
Best Regards,
Richard
-----Original Message-----
From: devs-bounces(a)xwiki.org <mailto:devs-bounces@xwiki.org> [mailto:
devs-bounces(a)xwiki.org <mailto:devs-bounces@xwiki.org> ]On Behalf Of
Jean-Vincent Drean
Sent: 09 October 2007 13:12
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
set of criteria
Added here :
http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples#HGettingdoc
<http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples#HGettingdo
c>
umentswhereobjects27propertiesequalssomevalue
JV.
2007/10/9, goldring, richard < richard.goldring(a)uk.thalesgroup.com
<mailto:richard.goldring@uk.thalesgroup.com> >:
> Thanks Jean-Vincent,
>
> What you've done helps ... but how does one list documents with a certain
> object attached whom's properties = a certain value?
>
> Regards,
>
> Richard
>
> -----Original Message-----
> From: devs-bounces(a)xwiki.org <mailto:devs-bounces@xwiki.org> [mailto:
devs-bounces(a)xwiki.org <mailto:devs-bounces@xwiki.org> ]On Behalf Of
> Jean-Vincent Drean
> Sent: 09 October 2007 12:34
> To: XWiki Developers
> Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> set of criteria
>
>
> I've started documenting hql queries through public and privileged APIs
> here:
> http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples
<http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples>
>
> The privileged API will fit your need (don't forget to protect the
> edition of your scripts pages by non-admins).
>
> JV.
>
> 2007/10/9, goldring, richard < richard.goldring(a)uk.thalesgroup.com
<mailto:richard.goldring@uk.thalesgroup.com> >:
> > Jean-Vincent,
> >
> > Thanks - I tried it and it worked.
> >
> > What I'd like to do now is to have a set of pages with objects attached
> and
> > to search those pages by the attributes on those objects.
> >
> > So for example the pages could represent 'tasks', the objects would
store
> > details of those tasks e.g. task status, task owner, task description,
> task
> > date, etc. On a browser page a search/filter could then be done on say
> task
> > status to list all uncompleted tasks.
> >
> > Any idea how to do that?
> >
> > Also is there any documentation on how to do these searches using:
> >
> > $xwiki.xWiki.search("select count(doc) from XWikiDocument doc ${query}",
> > $context.context).get(0))
> >
> > and
> >
> > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> >
> > i.e. what database tables to search - a description of how these methods
> > work and how to use them, etc
> >
> > If anyone has some more examples and explaination of these then it would
> > really help! Thanks!
> >
> > Regards,
> >
> > Richard
> >
> > -----Original Message-----
> > From: devs-bounces(a)xwiki.org <mailto:devs-bounces@xwiki.org> [mailto:
devs-bounces(a)xwiki.org <mailto:devs-bounces@xwiki.org> ]On Behalf Of
> > Jean-Vincent Drean
> > Sent: 03 October 2007 15:00
> > To: XWiki Developers
> > Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> > set of criteria
> >
> >
> > The snippet on xwiki.org <http://xwiki.org> :
> > http://www.xwiki.org/xwiki/bin/view/Code/PaginateSearch
<http://www.xwiki.org/xwiki/bin/view/Code/PaginateSearch>
> >
> > 2007/10/3, Jean-Vincent Drean < jv(a)xwiki.com <mailto:jv@xwiki.com> >:
> > > Hi,
> > >
> > > It's a recurrent need but AFAIK we don't have any generic solution.
> > > I've made a 5' snippet, hope it will be useful.
> > >
> > > This snippet requires programming rights ($xwiki.xWiki.search) so
> > > you'll have to make sure that simple users can't edit this page.
> > >
> > >
> >
>
-----------------------------------------------8<---------------------------
> > ----------------------------------------
> > > #macro(paginedSearch $query $currentPage $resultsPerPage)
> > > #set ($start = $resultsPerPage * $currentPage)
> > > #set ($resultsnb = $xwiki.xWiki.search("select count(doc) from
> > > XWikiDocument doc ${query}", $context.context).get(0))
> > > #if ($resultsnb > $resultsPerPage)
> > > #set ($pagesnb = $resultsnb / $resultsPerPage)
> > > #foreach ($pagenb in [0..$pagesnb])
> > > [$pagenb>$doc.fullName?page=$pagenb]
> > > #end
> > > #end
> > > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> > > #foreach ($item in $list)
> > > * $item
> > > #end
> > > #end
> > >
> > > #if ($request.page)
> > > #set ($desiredStart = $xwiki.parseInt($request.page))
> > > #else
> > > #set ($desiredStart = 0)
> > > #end
> > >
> > > #paginedSearch("where 1=1" $desiredStart 5)
> > >
> >
>
-----------------------------------------------8<---------------------------
> > ----------------------------------------
> > >
> > > 2007/10/3, goldring, richard < richard.goldring(a)uk.thalesgroup.com
<mailto:richard.goldring@uk.thalesgroup.com> >:
> > > > Anyone?
> > > >
> > > >
> > > > Hi all,
> > > >
> > > > Does anyone know how to generate a list of links to wiki pages that
> meet
> > a
> > > > set of defined features i.e. filter and sort (features defined on
the
> > > > objects or tags on those pages)? Perhaps like the Google search,
list
> > the
> > > > first 20 or 30 pages and have a next/previous, 1, 2, 3, etc buttons
to
> > list
> > > > the next selections of page links (to cope with the display of large
> > numbers
> > > > of page links).
> > > >
> > > > If anyones got any code snipits to get me started then that would be
> > really
> > > > useful - thanks.
> > > >
> > > > The idea is perhaps to explore how to use XWiki to semi
automatically
> > > > generate pages to record tasks or issues, and then to list those
pages
> > > > (tasks/issues) according to say the status or owners of those
> > tasks/issues.
> > > > For tasks I'm thinking XWiki might be used to help guide users
through
> > > > business processes and semi-automatically document they have
followed
> > those
> > > > processes (for CMMI) so they can be simply audited. Documents
> generated
> > > > through users following the tasks/processes can then be generated
from
> > > > templates and stored within the wiki. If anyone else has any
> ideas/code
> > that
> > > > could help perhaps realise this then let me know!
> > > >
> > > > Regards,
> > > >
> > > > Richard Goldring
> > > >
> > > > TAO
> > > > Wookey Hole Road
> > > > Wells, Somerset
> > > > BA5 1AA
> > > >
> > > > Direct Line: 01749 682694
> > > > Switchboard: 01749 672081
> > > > richard.goldring(a)uk.thalesgroup.com
<mailto:richard.goldring@uk.thalesgroup.com>
> > > >
> > > >
> > > >
> > > >
> > > > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
> > e-mail
> > > > is confidential. It may also be legally privileged. It is intended
> only
> > for
> > > > the stated addressee(s) and access to it by any other person is
> > > > unauthorised. If you are not an addressee, you must not disclose,
> copy,
> > > > circulate or in any other way use or rely on the information
contained
> > in
> > > > this e-mail. Such unauthorised use may be unlawful. We may monitor
all
> > > > e-mail communications through our networks. If you have received
this
> > e-mail
> > > > in error, please inform us immediately on +44 (0) 1749 672081 and
> delete
> > it
> > > > and all copies from your system. We accept no responsibility for
> changes
> > to
> > > > any e-mail which occur after it has been sent. Attachments to this
> > e-mail
> > > > may contain software viruses which could damage your system. We
> > therefore
> > > > recommend you virus-check all attachments before opening. A business
> of
> > > > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> > Business
> > > > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England
No.
> > > > 868273
> > > > _______________________________________________
> > > > devs mailing list
> > > > devs(a)xwiki.org <mailto:devs@xwiki.org>
> > > > http://lists.xwiki.org/mailman/listinfo/devs
<http://lists.xwiki.org/mailman/listinfo/devs>
> > > >
> > >
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org <mailto:devs@xwiki.org>
> > http://lists.xwiki.org/mailman/listinfo/devs
<http://lists.xwiki.org/mailman/listinfo/devs>
> >
> > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
e-mail
> > is confidential. It may also be legally privileged. It is intended only
> for
> > the stated addressee(s) and access to it by any other person is
> > unauthorised. If you are not an addressee, you must not disclose, copy,
> > circulate or in any other way use or rely on the information contained
in
> > this e-mail. Such unauthorised use may be unlawful. We may monitor all
> > e-mail communications through our networks. If you have received this
> e-mail
> > in error, please inform us immediately on +44 (0) 1749 672081 and delete
> it
> > and all copies from your system. We accept no responsibility for changes
> to
> > any e-mail which occur after it has been sent. Attachments to this
e-mail
> > may contain software viruses which could damage your system. We
therefore
> > recommend you virus-check all attachments before opening. A business of
> > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> Business
> > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> > 868273
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org <mailto:devs@xwiki.org>
> > http://lists.xwiki.org/mailman/listinfo/devs
<http://lists.xwiki.org/mailman/listinfo/devs>
> >
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org <mailto:devs@xwiki.org>
> http://lists.xwiki.org/mailman/listinfo/devs
<http://lists.xwiki.org/mailman/listinfo/devs>
>
> Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
> is confidential. It may also be legally privileged. It is intended only
for
> the stated addressee(s) and access to it by any other person is
> unauthorised. If you are not an addressee, you must not disclose, copy,
> circulate or in any other way use or rely on the information contained in
> this e-mail. Such unauthorised use may be unlawful. We may monitor all
> e-mail communications through our networks. If you have received this
e-mail
> in error, please inform us immediately on +44 (0) 1749 672081 and delete
it
> and all copies from your system. We accept no responsibility for changes
to
> any e-mail which occur after it has been sent. Attachments to this e-mail
> may contain software viruses which could damage your system. We therefore
> recommend you virus-check all attachments before opening. A business of
> Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
Business
> Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> 868273
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org <mailto:devs@xwiki.org>
> http://lists.xwiki.org/mailman/listinfo/devs
<http://lists.xwiki.org/mailman/listinfo/devs>
>
_______________________________________________
devs mailing list
devs(a)xwiki.org <mailto:devs@xwiki.org>
http://lists.xwiki.org/mailman/listinfo/devs
<http://lists.xwiki.org/mailman/listinfo/devs>
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
_______________________________________________
devs mailing list
devs(a)xwiki.org <mailto:devs@xwiki.org>
http://lists.xwiki.org/mailman/listinfo/devs
<http://lists.xwiki.org/mailman/listinfo/devs>
--
http://wikibc.blogspot.com/ <http://wikibc.blogspot.com/>
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
Thanks Jean-Vincent,
What you've done helps ... but how does one list documents with a certain
object attached whom's properties = a certain value?
Regards,
Richard
-----Original Message-----
From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
Jean-Vincent Drean
Sent: 09 October 2007 12:34
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
set of criteria
I've started documenting hql queries through public and privileged APIs
here:
http://www.xwiki.org/xwiki/bin/view/DevGuide/velocityHqlExamples
The privileged API will fit your need (don't forget to protect the
edition of your scripts pages by non-admins).
JV.
2007/10/9, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> Jean-Vincent,
>
> Thanks - I tried it and it worked.
>
> What I'd like to do now is to have a set of pages with objects attached
and
> to search those pages by the attributes on those objects.
>
> So for example the pages could represent 'tasks', the objects would store
> details of those tasks e.g. task status, task owner, task description,
task
> date, etc. On a browser page a search/filter could then be done on say
task
> status to list all uncompleted tasks.
>
> Any idea how to do that?
>
> Also is there any documentation on how to do these searches using:
>
> $xwiki.xWiki.search("select count(doc) from XWikiDocument doc ${query}",
> $context.context).get(0))
>
> and
>
> #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
>
> i.e. what database tables to search - a description of how these methods
> work and how to use them, etc
>
> If anyone has some more examples and explaination of these then it would
> really help! Thanks!
>
> Regards,
>
> Richard
>
> -----Original Message-----
> From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
> Jean-Vincent Drean
> Sent: 03 October 2007 15:00
> To: XWiki Developers
> Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
> set of criteria
>
>
> The snippet on xwiki.org :
> http://www.xwiki.org/xwiki/bin/view/Code/PaginateSearch
>
> 2007/10/3, Jean-Vincent Drean <jv(a)xwiki.com>:
> > Hi,
> >
> > It's a recurrent need but AFAIK we don't have any generic solution.
> > I've made a 5' snippet, hope it will be useful.
> >
> > This snippet requires programming rights ($xwiki.xWiki.search) so
> > you'll have to make sure that simple users can't edit this page.
> >
> >
>
-----------------------------------------------8<---------------------------
> ----------------------------------------
> > #macro(paginedSearch $query $currentPage $resultsPerPage)
> > #set ($start = $resultsPerPage * $currentPage)
> > #set ($resultsnb = $xwiki.xWiki.search("select count(doc) from
> > XWikiDocument doc ${query}", $context.context).get(0))
> > #if ($resultsnb > $resultsPerPage)
> > #set ($pagesnb = $resultsnb / $resultsPerPage)
> > #foreach ($pagenb in [0..$pagesnb])
> > [$pagenb>$doc.fullName?page=$pagenb]
> > #end
> > #end
> > #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> > #foreach ($item in $list)
> > * $item
> > #end
> > #end
> >
> > #if ($request.page)
> > #set ($desiredStart = $xwiki.parseInt($request.page))
> > #else
> > #set ($desiredStart = 0)
> > #end
> >
> > #paginedSearch("where 1=1" $desiredStart 5)
> >
>
-----------------------------------------------8<---------------------------
> ----------------------------------------
> >
> > 2007/10/3, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > > Anyone?
> > >
> > >
> > > Hi all,
> > >
> > > Does anyone know how to generate a list of links to wiki pages that
meet
> a
> > > set of defined features i.e. filter and sort (features defined on the
> > > objects or tags on those pages)? Perhaps like the Google search, list
> the
> > > first 20 or 30 pages and have a next/previous, 1, 2, 3, etc buttons to
> list
> > > the next selections of page links (to cope with the display of large
> numbers
> > > of page links).
> > >
> > > If anyones got any code snipits to get me started then that would be
> really
> > > useful - thanks.
> > >
> > > The idea is perhaps to explore how to use XWiki to semi automatically
> > > generate pages to record tasks or issues, and then to list those pages
> > > (tasks/issues) according to say the status or owners of those
> tasks/issues.
> > > For tasks I'm thinking XWiki might be used to help guide users through
> > > business processes and semi-automatically document they have followed
> those
> > > processes (for CMMI) so they can be simply audited. Documents
generated
> > > through users following the tasks/processes can then be generated from
> > > templates and stored within the wiki. If anyone else has any
ideas/code
> that
> > > could help perhaps realise this then let me know!
> > >
> > > Regards,
> > >
> > > Richard Goldring
> > >
> > > TAO
> > > Wookey Hole Road
> > > Wells, Somerset
> > > BA5 1AA
> > >
> > > Direct Line: 01749 682694
> > > Switchboard: 01749 672081
> > > richard.goldring(a)uk.thalesgroup.com
> > >
> > >
> > >
> > >
> > > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
> e-mail
> > > is confidential. It may also be legally privileged. It is intended
only
> for
> > > the stated addressee(s) and access to it by any other person is
> > > unauthorised. If you are not an addressee, you must not disclose,
copy,
> > > circulate or in any other way use or rely on the information contained
> in
> > > this e-mail. Such unauthorised use may be unlawful. We may monitor all
> > > e-mail communications through our networks. If you have received this
> e-mail
> > > in error, please inform us immediately on +44 (0) 1749 672081 and
delete
> it
> > > and all copies from your system. We accept no responsibility for
changes
> to
> > > any e-mail which occur after it has been sent. Attachments to this
> e-mail
> > > may contain software viruses which could damage your system. We
> therefore
> > > recommend you virus-check all attachments before opening. A business
of
> > > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
> Business
> > > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> > > 868273
> > > _______________________________________________
> > > devs mailing list
> > > devs(a)xwiki.org
> > > http://lists.xwiki.org/mailman/listinfo/devs
> > >
> >
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
> Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
> is confidential. It may also be legally privileged. It is intended only
for
> the stated addressee(s) and access to it by any other person is
> unauthorised. If you are not an addressee, you must not disclose, copy,
> circulate or in any other way use or rely on the information contained in
> this e-mail. Such unauthorised use may be unlawful. We may monitor all
> e-mail communications through our networks. If you have received this
e-mail
> in error, please inform us immediately on +44 (0) 1749 672081 and delete
it
> and all copies from your system. We accept no responsibility for changes
to
> any e-mail which occur after it has been sent. Attachments to this e-mail
> may contain software viruses which could damage your system. We therefore
> recommend you virus-check all attachments before opening. A business of
> Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
Business
> Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> 868273
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273
Jean-Vincent,
Thanks - I tried it and it worked.
What I'd like to do now is to have a set of pages with objects attached and
to search those pages by the attributes on those objects.
So for example the pages could represent 'tasks', the objects would store
details of those tasks e.g. task status, task owner, task description, task
date, etc. On a browser page a search/filter could then be done on say task
status to list all uncompleted tasks.
Any idea how to do that?
Also is there any documentation on how to do these searches using:
$xwiki.xWiki.search("select count(doc) from XWikiDocument doc ${query}",
$context.context).get(0))
and
#set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
i.e. what database tables to search - a description of how these methods
work and how to use them, etc
If anyone has some more examples and explaination of these then it would
really help! Thanks!
Regards,
Richard
-----Original Message-----
From: devs-bounces(a)xwiki.org [mailto:devs-bounces@xwiki.org]On Behalf Of
Jean-Vincent Drean
Sent: 03 October 2007 15:00
To: XWiki Developers
Subject: Re: [xwiki-devs] Ref: Displaying lists of wiki pages given a
set of criteria
The snippet on xwiki.org :
http://www.xwiki.org/xwiki/bin/view/Code/PaginateSearch
2007/10/3, Jean-Vincent Drean <jv(a)xwiki.com>:
> Hi,
>
> It's a recurrent need but AFAIK we don't have any generic solution.
> I've made a 5' snippet, hope it will be useful.
>
> This snippet requires programming rights ($xwiki.xWiki.search) so
> you'll have to make sure that simple users can't edit this page.
>
>
-----------------------------------------------8<---------------------------
----------------------------------------
> #macro(paginedSearch $query $currentPage $resultsPerPage)
> #set ($start = $resultsPerPage * $currentPage)
> #set ($resultsnb = $xwiki.xWiki.search("select count(doc) from
> XWikiDocument doc ${query}", $context.context).get(0))
> #if ($resultsnb > $resultsPerPage)
> #set ($pagesnb = $resultsnb / $resultsPerPage)
> #foreach ($pagenb in [0..$pagesnb])
> [$pagenb>$doc.fullName?page=$pagenb]
> #end
> #end
> #set ($list = $xwiki.searchDocuments($query, $resultsPerPage, $start))
> #foreach ($item in $list)
> * $item
> #end
> #end
>
> #if ($request.page)
> #set ($desiredStart = $xwiki.parseInt($request.page))
> #else
> #set ($desiredStart = 0)
> #end
>
> #paginedSearch("where 1=1" $desiredStart 5)
>
-----------------------------------------------8<---------------------------
----------------------------------------
>
> 2007/10/3, goldring, richard <richard.goldring(a)uk.thalesgroup.com>:
> > Anyone?
> >
> >
> > Hi all,
> >
> > Does anyone know how to generate a list of links to wiki pages that meet
a
> > set of defined features i.e. filter and sort (features defined on the
> > objects or tags on those pages)? Perhaps like the Google search, list
the
> > first 20 or 30 pages and have a next/previous, 1, 2, 3, etc buttons to
list
> > the next selections of page links (to cope with the display of large
numbers
> > of page links).
> >
> > If anyones got any code snipits to get me started then that would be
really
> > useful - thanks.
> >
> > The idea is perhaps to explore how to use XWiki to semi automatically
> > generate pages to record tasks or issues, and then to list those pages
> > (tasks/issues) according to say the status or owners of those
tasks/issues.
> > For tasks I'm thinking XWiki might be used to help guide users through
> > business processes and semi-automatically document they have followed
those
> > processes (for CMMI) so they can be simply audited. Documents generated
> > through users following the tasks/processes can then be generated from
> > templates and stored within the wiki. If anyone else has any ideas/code
that
> > could help perhaps realise this then let me know!
> >
> > Regards,
> >
> > Richard Goldring
> >
> > TAO
> > Wookey Hole Road
> > Wells, Somerset
> > BA5 1AA
> >
> > Direct Line: 01749 682694
> > Switchboard: 01749 672081
> > richard.goldring(a)uk.thalesgroup.com
> >
> >
> >
> >
> > Thales UK Ltd (Wells) DISCLAIMER: The information contained in this
e-mail
> > is confidential. It may also be legally privileged. It is intended only
for
> > the stated addressee(s) and access to it by any other person is
> > unauthorised. If you are not an addressee, you must not disclose, copy,
> > circulate or in any other way use or rely on the information contained
in
> > this e-mail. Such unauthorised use may be unlawful. We may monitor all
> > e-mail communications through our networks. If you have received this
e-mail
> > in error, please inform us immediately on +44 (0) 1749 672081 and delete
it
> > and all copies from your system. We accept no responsibility for changes
to
> > any e-mail which occur after it has been sent. Attachments to this
e-mail
> > may contain software viruses which could damage your system. We
therefore
> > recommend you virus-check all attachments before opening. A business of
> > Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne
Business
> > Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
> > 868273
> > _______________________________________________
> > devs mailing list
> > devs(a)xwiki.org
> > http://lists.xwiki.org/mailman/listinfo/devs
> >
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
Thales UK Ltd (Wells) DISCLAIMER: The information contained in this e-mail
is confidential. It may also be legally privileged. It is intended only for
the stated addressee(s) and access to it by any other person is
unauthorised. If you are not an addressee, you must not disclose, copy,
circulate or in any other way use or rely on the information contained in
this e-mail. Such unauthorised use may be unlawful. We may monitor all
e-mail communications through our networks. If you have received this e-mail
in error, please inform us immediately on +44 (0) 1749 672081 and delete it
and all copies from your system. We accept no responsibility for changes to
any e-mail which occur after it has been sent. Attachments to this e-mail
may contain software viruses which could damage your system. We therefore
recommend you virus-check all attachments before opening. A business of
Thales UK Ltd. Registered Office: 2 Dashwood Lang Road, The Bourne Business
Park, Addlestone, Weybridge, Surrey KT15 2NX Registered in England No.
868273