Hi all,
I have been trying for the last day to put the TODO app in my wiki and it
kept on failing to show the mytodo list in the panel. I use Oracle for
backend so I thought it was that the problem. Here is the panel's code
corrected to work in my case (XWiki 1.9.3, Tomacat 6, Oracle XE 11):
#panelheader('My Todos')
#set ($hql = ", BaseObject as obj, StringProperty as prop1,
LargeStringProperty as prop2 where obj.name=doc.fullName and
obj.className='XWiki.TodoClass' and obj.name <>
'XWiki.TodoClassTemplate'
and obj.id=prop1.id.id and prop1.id.name='Status'
and prop1.value <> 'Finished' and obj.id=prop2.id.id
and prop2.id.name ='Assignee' and prop2.value like '$context.user'
order by doc.date desc")
#foreach ($todo in $xwiki.searchDocuments($hql, 5, 0))
* [$todo]
#end
#panelfooter()
The big difference is the LargeStringProperty (Instead of StringProperty
used in the XAR) and the like instead of = used to match the value.
For the LargeStringProperty it is strange for me that someone chose a CLOB
to store user names but... maybe because of the class hierarchy involved in
the user name. Then again, how can this work even without oracle?
For the like, well, oracle atleast will not even bother checking a string
against a stream. Yes the words are phonetically close but.... oracle
doesn't care about phonetics.
I hope others out there will enjoy this helpful app.