On 3/14/06, [email protected] <[email protected]> wrote:
Hello,
I've got a generic question. In my wiki I'm using many sorted lists. But there must be a smarter way of creating these lists then what I'm doing now. Currently I'm doing the following:
Form 1 used to fill out object of type Project, with several attributes such as the project name and status. On a overview page I want to order the projects by name based on their status. This will create something like:
- active: - project1 - project4 - closed: - project2 - project5 - deprecated: - project3
In which all the projects are links to the pages of the projects, containing all the project information.
Has anybody any idea of a smart way of doing this. Currently I'm looping through all project objects for every possible status. This is way too much overhead.
You can restrict you query to the selected status of project. here is a sample I used in a project : #macro (showCandidatStatus $status) #set ($sql = ", BaseObject as obj, StringProperty as prop, IntegerProperty as ended where obj.name=doc.fullName and obj.className='XWiki.CandidatAnnounceClass' and obj.name<>'XWiki.CandidatAnnounceClassTemplate' and obj.id=prop.id.id and prop.id.name='status' and prop.value='$status' and ended.id.id=obj.id and ended.value!=1 order by prop.value desc") #foreach ($item in $xwiki.searchDocuments($sql)) #set($bentrydoc = $xwiki.getDocument($item)) #set($bentryobj = $bentrydoc.getObject("XWiki.CandidatClass")) #set($CAobjs = $bentrydoc.getObjects("XWiki.CandidatAnnounceClass")) #foreach ($obj in $CAobjs) #if ($obj.status == $status) 1.1.1 [$bentrydoc.display("name","view", $bentryobj)>$bentrydoc.FullName] $bentrydoc.display("AnnounceName","view", $obj) #end #end #end #end Jérémi -- Blog: http://www.jeremi.info LinkedIn: https://www.linkedin.com/profile?viewProfile=&key=1437724 Project Manager XWiki: http://www.xwiki.org skype: jeremi23 -- msn et gtalk : [email protected]