17 – Pub experiments

#template('apice_publication_macros.vm')
{{html wiki="true" clean="false"}}
<ul>
<li>#pubpersort("Publication.EneaflFgcs154")</li>
<li>#pubpersort("Publication.CoopargAixia2022")</li>
<li>#pubpersort("Publication.Coordbook2001-Ch13")</li>
<li>#pubpersort("Publication.WeblpTechrep08")</li>
</ul>
{{/html}}
{{html wiki="true" clean="false"}}
#set( $yearList = [] )
##
#template('apice_macros.vm')
#setobjectspace("Publications")
#set( $userString = "%XWiki.AndreaOmicini%" )
#set( $oneUser = true )
## set query
 #set( $query = ", BaseObject as obj, StringProperty as propStatus, LargeStringProperty as propAuthor, LargeStringProperty as propEditor
    where obj.name = doc.fullName and obj.className = '${objectSpace}.Class' and obj.name <> '${objectPool}.Template' and propStatus.id.id = obj.id and propAuthor.id.id = obj.id and propEditor.id.id = obj.id and propStatus.name = 'status' and propAuthor.name = 'author' and propEditor.name = 'editor' and lower(propStatus.value) = 'published' #if( $oneUser )and ( propAuthor.value like '$userString' or ( propAuthor.value = '' and propEditor.value like '$userString' ) )#end"
)
## execute query
#set( $itemFound = $xwiki.searchDocuments($query) )
#foreach( $item in $itemFound )
 #set( $itemYear = $xwiki.getDocument($item).year )
 #if( !$yearList.contains($itemYear) )
   #set( $discard = $yearList.add($itemYear) )
 #end
## insert $item into $itemYear
#end
#set( $discart = $collectionstool.sort($yearList) )
#set( $discard = $collectionstool.reverse($yearList) )
$yearList
{{/html}}

{{html wiki="true" clean="false"}}
#set( $itemMap = {} )
#set( $itemNo = 0 )
##
#template('apice_publications.vm')
#set( $userString = "%XWiki.AndreaOmicini%" )
#set( $oneUser = false )
## set query
 #set( $query = ", BaseObject as obj, StringProperty as propStatus, LargeStringProperty as propAuthor, LargeStringProperty as propEditor
    where obj.name = doc.fullName and obj.className = '${objectSpace}.Class' and obj.name <> '${objectPool}.Template' and propStatus.id.id = obj.id and propAuthor.id.id = obj.id and propEditor.id.id = obj.id and propStatus.name = 'status' and propAuthor.name = 'author' and propEditor.name = 'editor' and lower(propStatus.value) = 'published' #if( $oneUser )and ( propAuthor.value like '$userString' or ( propAuthor.value = '' and propEditor.value like '$userString' ) )#end"
)
## execute query
#set( $itemFound = $xwiki.searchDocuments($query) )
#set( $itemNo = $itemFound.size() )
#foreach( $item in $itemFound )
 #set( $itemYear = $xwiki.getDocument($item).year )
 #if( !$itemMap.keySet().contains($itemYear) )
## add $itemYear to $itemMap
   #set( $itemMap[$itemYear] = [] )
 #end
## insert $item into $itemYear
 #set( $discard = $itemMap[$itemYear].add($item) )
#end
$itemMap.keySet()
{{/html}}