9 – Space refactoring

### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = ", BaseObject as objRedirect
    where objRedirect.name = doc.fullName and doc.space = 'Course.SmaLs0910.Projects' and objRedirect.className = 'XWiki.RedirectClass'"
)
#set( $itemFound = $xwiki.searchDocuments($query) )
$itemFound.size()
#foreach( $item in $itemFound )
 #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
 #if( $foreach.index == 10 )#stop#end
#end
#set( $query = ", BaseObject as objCourseprojects
    where objCourseprojects.name = doc.fullName and objCourseprojects.className = 'Courseprojects.Class' and objCourseprojects.name <> 'Courseprojects.Template' and doc.space <> 'Courseproject'"
)
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no item found
 #stop
#else
($itemFound.size())
## $itemFound
#end
##
#foreach( $item in $itemFound )
 #set( $childDoc = $xwiki.getDocument($item) )
 #set( $theParent = "Courseprojects.WebHome" )
 #set( $discard = $childDoc.setParent($theParent) )
 #set( $discard = $childDoc.save() )
 #set( $source = $services.model.resolveDocument($item) )
 #set( $destination = $services.model.resolveSpace("Courseproject") )
  $services.refactoring.move($source, $destination).join()
* $item set
 #if( $foreach.count == 50 )
   #break
 #end
#end

#set( $query = ", BaseObject as objTalk, DBStringListProperty as propThesis join propThesis.list thesis
    where objTalk.name = doc.fullName and doc.name <> 'Template' and objTalk.className = 'Talks.Class' and propThesis.id.id = objTalk.id and propThesis.name = 'thesis' and thesis <> ''  and thesis like '%Theses.%' "
)
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no thesis found
 #stop
#else
($itemFound.size())
#end
#foreach( $item in $itemFound )
[[$item]]
#end

 
#foreach( $item in $itemFound )
 #set( $itemDoc = $xwiki.getDocument($item) )
 #set( $itemObj = $itemDoc.getObject("Talks.Class") )
 #set( $oldProjectList = $itemDoc.getValue('project') )
*** $oldProjectList
 #set( $newProjectList = [] )
 #foreach( $project in $oldProjectList )
   #set( $discard = $newProjectList.add($project.replace("Projects","Project")) )
 #end
*** $newProjectList
 #set( $discard = $itemObj.set("project",$newProjectList) )
  $itemDoc.save()
#end

### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = ", BaseObject as objRedirect
    where objRedirect.name = doc.fullName and doc.space = 'Theses' and objRedirect.className = 'XWiki.RedirectClass'"
)
#set( $itemFound = $xwiki.searchDocuments($query) )
$itemFound.size()
#foreach( $item in $itemFound )
 #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
 #if( $foreach.index == 100 )#stop#end
#end
#set( $query = ", BaseObject as objThesis
    where objThesis.name = doc.fullName and doc.space = 'Theses' and objThesis.className = 'Theses.Class' "
)
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no item found
 #stop
#else
($itemFound.size())
## $itemFound
#end
#foreach( $item in $itemFound )
 #set( $childDoc = $xwiki.getDocument($item) )
 #set( $theParent = "Thesis.WebHome" )
 #set( $discard = $childDoc.setParent($theParent) )
 #set( $discard = $childDoc.save() )
 #set( $source = $services.model.resolveDocument($item) )
 #set( $destination = $services.model.resolveSpace("Thesis") )
  $services.refactoring.move($source, $destination).join()
* $item set
 #if( $foreach.count == 100 )
   #break
 #end
#end
### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = ", BaseObject as objRedirect
    where objRedirect.name = doc.fullName and doc.space = 'Projects' and objRedirect.className = 'XWiki.RedirectClass'"
)
#set( $itemFound = $xwiki.searchDocuments($query) )
$itemFound.size()
#foreach( $item in $itemFound )
 #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
 #if( $foreach.index == 100 )#stop#end
#end
#set( $query = ", BaseObject as objTalk, DBStringListProperty as propProject join propProject.list list
    where objTalk.name = doc.fullName and doc.name <> 'Template' and objTalk.className = 'Talks.Class' and propProject.id.id = objTalk.id and propProject.name = 'project' and list <> '' "
)
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no event found
 #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
 #set( $itemDoc = $xwiki.getDocument($item) )
 #set( $itemObj = $itemDoc.getObject("Talks.Class") )
 #set( $oldProjectList = $itemDoc.getValue('project') )
*** $oldProjectList
 #set( $newProjectList = [] )
 #foreach( $project in $oldProjectList )
   #set( $discard = $newProjectList.add($project.replace("Projects","Project")) )
 #end
*** $newProjectList
 #set( $discard = $itemObj.set("project",$newProjectList) )
  $itemDoc.save()
#end
#set( $query = ", BaseObject as objPub, DBStringListProperty as propProject join propProject.list list
   where objPub.name = doc.fullName and doc.name <> 'Template' and objPub.className = 'Publications.Class' and propProject.id.id = objPub.id and propProject.name = 'project' and list <> '' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no event found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $itemDoc = $xwiki.getDocument($item) )
  #set( $itemObj = $itemDoc.getObject("Publications.Class") )
  #set( $oldProjectList = $itemDoc.getValue('project') )
*** $oldProjectList
  #set( $newProjectList = [] )
  #foreach( $project in $oldProjectList )
    #set( $discard = $newProjectList.add($project.replace("Projects","Project")) )
  #end
*** $newProjectList
  #set( $discard = $itemObj.set("project",$newProjectList) )
  $itemDoc.save()
#end
#set( $query = ", BaseObject as objEvent, DBStringListProperty as propProject join propProject.list list
   where objEvent.name = doc.fullName and doc.name <> 'Template' and objEvent.className = 'Events.Class' and propProject.id.id = objEvent.id and propProject.name = 'project' and list <> '' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no event found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $itemDoc = $xwiki.getDocument($item) )
  #set( $itemObj = $itemDoc.getObject("Events.Class") )
  #set( $oldProjectList = $itemDoc.getValue('project') )
*** $oldProjectList
  #set( $newProjectList = [] )
  #foreach( $project in $oldProjectList )
    #set( $discard = $newProjectList.add($project.replace("Projects","Project")) )
  #end
*** $newProjectList
  #set( $discard = $itemObj.set("project",$newProjectList) )
  $itemDoc.save()
#end
#set( $query = ", BaseObject as objProject
    where objProject.name = doc.fullName and doc.space = 'Projects' and objProject.className = 'Projects.Class' "
)
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no item found
 #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
 #set( $childDoc = $xwiki.getDocument($item) )
 #set( $theParent = "Project.WebHome" )
 #set( $discard = $childDoc.setParent($theParent) )
 #set( $discard = $childDoc.save() )
 #set( $source = $services.model.resolveDocument($item) )
 #set( $destination = $services.model.resolveSpace("Project") )
  $services.refactoring.move($source, $destination).join()
* $item
#end
### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = ", BaseObject as objRedirect
   where objRedirect.name = doc.fullName and doc.space = 'Journals' and objRedirect.className = 'XWiki.RedirectClass'" )
#set( $itemFound = $xwiki.searchDocuments($query) )
$itemFound.size()
#foreach( $item in $itemFound )
  #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
  #if( $foreach.index == 100 )#stop#end
#end
#set( $query = ", BaseObject as objEvent, DBStringListProperty as propJournal join propJournal.list list
   where objEvent.name = doc.fullName and doc.name <> 'Template' and objEvent.className = 'Events.Class' and propJournal.id.id = objEvent.id and propJournal.name = 'journal' and list <> '' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no event found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $itemDoc = $xwiki.getDocument($item) )
  #set( $itemObj = $itemDoc.getObject("Events.Class") )
  #set( $oldJournalList = $itemDoc.getValue('journal') )
*** $oldJournalList
  #set( $newJournalList = [] )
  #foreach( $journalvenue in $oldJournalList )
    #set( $discard = $newJournalList.add($journalvenue.replace("Journals","Journal")) )
  #end
*** $newJournalList
  #set( $discard = $itemObj.set("journal",$newJournalList) )
  $itemDoc.save()
#end
#set( $query = ", BaseObject as objPub, DBStringListProperty as propJournal join propJournal.list list
   where objPub.name = doc.fullName and doc.name <> 'Template' and objPub.className = 'Publications.Class' and propJournal.id.id = objPub.id and propJournal.name = 'journal-venue' and list <> '' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
no pub found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $itemDoc = $xwiki.getDocument($item) )
  #set( $itemObj = $itemDoc.getObject("Publications.Class") )
  #set( $oldJournalList = $itemDoc.getValue('journal-venue') )
*** $oldJournalList
  #set( $newJournalList = [] )
  #foreach( $journalvenue in $oldJournalList )
    #set( $discard = $newJournalList.add($journalvenue.replace("Journals","Journal")) )
  #end
*** $newJournalList
  #set( $discard = $itemObj.set("journal-venue",$newJournalList) )
  $itemDoc.save()
#end
#set( $query = ", BaseObject as objJournal
    where objJournal.name = doc.fullName and doc.space = 'Journals' and objJournal.className = 'Journals.Class' "
)
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no item found
 #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
 #set( $childDoc = $xwiki.getDocument($item) )
 #set( $theParent = "Journal.WebHome" )
 #set( $discard = $childDoc.setParent($theParent) )
 #set( $discard = $childDoc.save() )
 #set( $source = $services.model.resolveDocument($item) )
 #set( $destination = $services.model.resolveSpace("Journal") )
  $services.refactoring.move($source, $destination).join()
* $item
#end
### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = ", BaseObject as objRedirect
   where objRedirect.name = doc.fullName and doc.space = 'Internships' and objRedirect.className = 'XWiki.RedirectClass'" )
#set( $itemFound = $xwiki.searchDocuments($query) )
$itemFound.size()
#foreach( $item in $itemFound )
  #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
  #if( $foreach.index == 100 )#stop#end
#end
#set( $year = 2024 )
#set( $query = ", BaseObject as objInternship
   where objInternship.name = doc.fullName and doc.space = 'Internship' and objInternship.className = 'Internships.Class' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no item found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
* $item $xwiki.getDocument($item).display('endDate')
#end
#set( $query = ", BaseObject as objInternship
   where objInternship.name = doc.fullName and doc.space = 'Internships' and objInternship.className = 'Internships.Class' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no item found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $childDoc = $xwiki.getDocument($item) )
  #set( $theParent = "Internship.WebHome" )
  #set( $discard = $childDoc.setParent($theParent) )
  #set( $discard = $childDoc.save() )
  #set( $source = $services.model.resolveDocument($item) )
  #set( $destination = $services.model.resolveSpace("Internship") )
  $services.refactoring.move($source, $destination).join()
* $item
#end
### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = ", BaseObject as objRedirect
   where objRedirect.name = doc.fullName and doc.space = 'Publications' and objRedirect.className = 'XWiki.RedirectClass'" )
#set( $itemFound = $xwiki.searchDocuments($query) )
$itemFound.size()
#foreach( $item in $itemFound )
  #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
  #if( $foreach.index == 100 )#stop#end
#end
#set( $query = ", BaseObject as objTalk, DBStringListProperty as propPub join propPub.list list
   where objTalk.name = doc.fullName and doc.name <> 'Template' and objTalk.className = 'Talks.Class' and propPub.id.id = objTalk.id and propPub.name = 'pub' and list <> '' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no talks found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $itemDoc = $xwiki.getDocument($item) )
  #set( $itemObj = $itemDoc.getObject("Talks.Class") )
  #set( $oldPubList = $itemDoc.getValue('pub') )
*** $oldPubList
  #set( $newPubList = [] )
  #foreach( $pubvenue in $oldPubList )
    #set( $discard = $newPubList.add($pubvenue.replace("Publications","Publication")) )
  #end
*** $newPubList
  #set( $discard = $itemObj.set("pub",$newPubList) )
  $itemDoc.save()
#end
##
#set( $query = ", BaseObject as objPub
   where objPub.name = doc.fullName and doc.name <> 'Template' and doc.space = 'Publications' and objPub.className = 'Publications.Class' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no item found
  #stop
#else
($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $childDoc = $xwiki.getDocument($item) )
  #set( $theParent = "Publication.WebHome" )
  #set( $discard = $childDoc.setParent($theParent) )
  #set( $discard = $childDoc.save() )
  #set( $source = $services.model.resolveDocument($item) )
  #set( $destination = $services.model.resolveSpace("Publication") )
  $services.refactoring.move($source, $destination).join()
* $item
#end
#set( $query = ", BaseObject as objTalk, DBStringListProperty as propPub join propPub.list list
   where objTalk.name = doc.fullName and doc.space = 'Talk' and objTalk.className = 'Talks.Class' and propPub.id.id = objTalk.id and propPub.name = 'pub' and list <> '' " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no talks found
  #stop
#else
## ($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
* $item
  #set( $itemDoc = $xwiki.getDocument($item) )
  #set( $itemObj = $itemDoc.getObject("Publications.Class") )
  #set( $oldPubList = $itemDoc.getValue('pub') )
*** $oldPubList
  #set( $newPubList = [] )
  #foreach( $pubvenue in $oldPubList )
    #set( $discard = $newPubList.add($pubvenue.replace("Publications","Publication")) )
  #end
*** $newPubList
  #set( $discard = $itemObj.set("pub",$newPubList) )
  $itemDoc.save()
#end
#set( $year = 2024 )
##
#set( $query = ", BaseObject as objPub, DateProperty as propDate
   where objPub.name = doc.fullName and doc.space = 'Publications' and objPub.className = 'Publications.Class' and propDate.id.id = objPub.id and propDate.name = 'year' and year(propDate.value) < $year order by propDate.value desc " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no item found
  #stop
#else
$year: ($itemFound.size()) $itemFound
#end
#foreach( $item in $itemFound )
  #set( $childDoc = $xwiki.getDocument($item) )
  #set( $theParent = "Publication.WebHome" )
  #set( $discard = $childDoc.setParent($theParent) )
  #set( $discard = $childDoc.save() )
  #set( $source = $services.model.resolveDocument($item) )
  #set( $destination = $services.model.resolveSpace("Publication") )
  $services.refactoring.move($source, $destination).join()
* $item
##
  #set( $from = ", BaseObject as obj, DBStringListProperty as pubvenueProp join pubvenueProp.list list" )
  #set( $where = "obj.name = doc.fullName and obj.className = 'Publications.Class' and obj.name <> 'Publications.Template' and pubvenueProp.id.id = obj.id and pubvenueProp.name = 'pub-venue' and list = '$item' " )
  #set( $query = $from + " where " + $where )
  #foreach( $pub in $xwiki.searchDocuments($query) )
** (pub) $pub
    #set( $pubList = [] )
    #set( $pubDoc = $xwiki.getDocument($pub) )
    #set( $pubObj = $pubDoc.getObject("Publications.Class") )
    #foreach( $pubvenue in $pubDoc.getValue("pub-venue") )
      #set( $discard = $pubList.add($pubvenue.replace("Publications","Publication")) )
    #end
*** $pubList
    #set( $discard = $pubObj.set("pub-venue",$pubList) )
    $pubDoc.save()
  #end
#end
### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = ", BaseObject as objRedirect
   where objRedirect.name = doc.fullName and doc.space = 'Talks' and objRedirect.className = 'XWiki.RedirectClass'" )
#set( $itemFound = $xwiki.searchDocuments($query) )
$itemFound.size()
#foreach( $item in $itemFound )
  #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
  #if( $foreach.index == 105 )#stop#end
#end
#set( $year = 2024 )
##
#set( $query = ", BaseObject as objTalk, DateProperty as propDate
   where objTalk.name = doc.fullName and doc.space = 'Talks' and objTalk.className = 'Talks.Class' and propDate.id.id = objTalk.id and propDate.name = 'date' and year(propDate.value) = $year order by propDate.value desc " )
## execute query new
#set( $itemFound = $xwiki.searchDocuments($query) )
## set counters
#if( $itemFound.size() == 0 )
$year: no talks found
  #stop
#else
$year: $itemFound
#end
##
#foreach( $item in $itemFound )
  #set( $childDoc = $xwiki.getDocument($item) )
  #set( $theParent = "Talk.WebHome" )
  #set( $discard = $childDoc.setParent($theParent) )
  #set( $discard = $childDoc.save() )
  #set( $source = $services.model.resolveDocument($item) )
  #set( $destination = $services.model.resolveSpace("Talk") )
  $services.refactoring.move($source, $destination).join()
* $item
##
  #set( $from = ", BaseObject as obj, DBStringListProperty as talkProp join talkProp.list list" )
  #set( $where = "obj.name = doc.fullName and obj.className = 'Publications.Class' and obj.name <> 'Publications.Template' and talkProp.id.id = obj.id and talkProp.name = 'talk' and list = '$item' " )
  #set( $query = $from + " where " + $where )
  #foreach( $pub in $xwiki.searchDocuments($query) )
** (pub) $pub
    #set( $talkList = [] )
    #set( $pubDoc = $xwiki.getDocument($pub) )
    #set( $pubObj = $pubDoc.getObject("Publications.Class") )
    #foreach( $talk in $pubDoc.getValue("talk") )
      #set( $discard = $talkList.add($talk.replace("Talks","Talk")) )
    #end
*** $talkList
    #set( $discard = $pubObj.set("talk",$talkList) )
    $pubDoc.save()
  #end
#end
## propEvents.name == hosting | colocated | hosted
#set( $query = "select doc.fullName from XWikiDocument doc, BaseObject as objEvent, DBStringListProperty as propEvents join propEvents.list list
   where objEvent.name = doc.fullName and doc.space = 'Event' and objEvent.className = 'Events.Class' and objEvent.name <> 'Event.Template' and propEvents.id.id = objEvent.id and propEvents.name = 'hosting' and list like '%Events.%'" )
## execute query new
#set( $itemFound = $xwiki.search($query) )
## set counters
#if( $itemFound.size() == 0 )
No events found
  #stop
#else
  #foreach($item in $itemFound)
[[$item]]
  #end
#end
### based on https://extensions.xwiki.org/xwiki/bin/view/Extension/Refactoring%20Module#HDelete
##
#set( $query = "select doc.fullName from XWikiDocument doc, BaseObject as objRedirect
   where objRedirect.name = doc.fullName and doc.space = 'Events' and objRedirect.className = 'XWiki.RedirectClass'" )
#set( $itemFound = $xwiki.search($query) )
$itemFound.size()
#foreach( $item in $itemFound )
  #set( $source = $services.model.resolveDocument($item) )
  $services.refactoring.delete($source).join()
* $item deleted
  #if( $foreach.index == 10 )#stop#end
#end
#set( $year = 2024 )
$year
#set( $query = "select doc.fullName from XWikiDocument doc, BaseObject as objEvent, DateProperty as propStart
   where objEvent.name = doc.fullName and doc.space = 'Events' and objEvent.className = 'Events.Class' and objEvent.name <> 'Events.Template' and propStart.id.id = objEvent.id and propStart.name = 'start_date' and year(propStart.value) = $year order by propStart.value desc " )
## execute query new
#set( $itemFound = $xwiki.search($query) )
## set counters
#if( $itemFound.size() == 0 )
No events found
  #stop
#end
#foreach( $item in $itemFound )
  #set( $childDoc = $xwiki.getDocument($item) )
  #set( $theParent = "Event.WebHome" )
  #set( $discard = $childDoc.setParent($theParent) )
  #set( $discard = $childDoc.save() )
  #set( $source = $services.model.resolveDocument($item) )
  #set( $destination = $services.model.resolveSpace("Event") )
  $services.refactoring.move($source, $destination).join()
* $item
## publications
  #set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
  #set( $where = "obj.name = doc.fullName and obj.className = 'Publications.Class' and obj.name <> 'Publications.Template' and eventProp.id.id = obj.id and eventProp.name = 'event-venue' and list = '$item' " )
  #set( $query = $from + " where " + $where )
  #foreach( $pub in $xwiki.searchDocuments($query) )
** (pub) $pub
    #set( $eventList = [] )
    #set( $pubDoc = $xwiki.getDocument($pub) )
    #set( $pubObj = $pubDoc.getObject("Publications.Class") )
    #foreach( $event in $pubDoc.getValue("event-venue") )
      #set( $discard = $eventList.add($event.replace("Events","Event")) )
    #end
*** $eventList
    #set( $discard = $pubObj.set("event-venue",$eventList) )
    $pubDoc.save()
  #end
## talks
  #set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
  #set( $where = "obj.name = doc.fullName and obj.className = 'Talks.Class' and obj.name <> 'Talks.Template' and eventProp.id.id = obj.id and eventProp.name = 'event' and list = '$item' " )
  #set( $query = $from + " where " + $where )
  #foreach( $talk in $xwiki.searchDocuments($query) )
** (talk) $talk
    #set( $eventList = [] )
    #set( $talkDoc = $xwiki.getDocument($talk) )
    #set( $talkObj = $talkDoc.getObject("Talks.Class") )
    #foreach( $event in $talkDoc.getValue("event") )
      #set( $discard = $eventList.add($event.replace("Events","Event")) )
    #end
*** $eventList
    #set( $discard = $talkObj.set("event",$eventList) )
    $talkDoc.save()
  #end
#end
$datetool.getYear($datetool.date)
#set( $pseudoYear = "{284}" )
#if( $mathtool.toInteger($pseudoYear) > 0 )
PIPPO
#else
NO PIPPO
#end