Download og udpak Atlassian CLI fra https://studio.plugins.atlassian.com/wiki/display/ACLI/Atlassian+Command+Line+Interface
Opsæt confluence.sh med username, password og url
Exporter fra Joomla's MySQL database
Det er meget vigtigt at begge exports bruger samme ORDER BY, for at matche rækker
Først exporteres alt body (introtext) til en fil (catid=7 er mine nyheder i Joomla) kaldet created_title.csv
select replace(replace(introtext,'\r','<br>'),'\n','') from joomla.jos_content where catid=7 order by created,id desc
Derefter oprettet dato og titel (created,title) til en fil kaldet introtext.csv
select created,title from joomla.jos_content where catid=7 order by created,id desc
Indholdet af de 2 filer skal nu ind i Confluence....
Importer i Confluence
Script 1 til oprettelse af Blog Posts:
Scriptet opretter 1 blog post for hver linie med titlen Nyhed X, hvor første er "Nyhed 0" og så fremdeles. I body feltet indsættes værdien af introtext fra filen, omkranset af html macroen.
IFS=$(echo -en "\n\b") x=0 for text in `cat introtext.csv` do text=$(echo "$text"|sed 's/\"\"/\"/g') #Transform text #Put a slash before image text=$(echo "$text"|sed 's/\images/\/images/g') #Remove old thumbs text=$(echo "$text"|sed 's/images\/thumbs/images/g') #Remove first quote text=$(echo "$text"| cut -c2-) #Remove last quote text=$(echo "$text"|sed -e 's/.$//g') #Correct Images text=$(echo "$text"|sed -e 's/_w//g') text=$(echo "$text"|sed -e 's/_JPG.jpg/.jpg/g') #Remove paragraph tags text=$(echo "$text"|sed -e 's/<p>//g') text=$(echo "$text"|sed -e 's/<\/p>//g') #Remove DIV tags text=$(echo "$text"|sed 's/<div class=[A-Za-z0-9]*>//g') text=$(echo "$text"|sed 's/<div>//g') text=$(echo "$text"|sed 's/<\/div>//g') #Replace img with wiki markup #text=$(echo "$text"|sed 's/\"image//image/g') #text=$(echo "$text"|sed 's/<src //image/g') echo $text x=$(( $x + 1 )) echo $x ./confluence.sh --action addNews --space "familieblog" --title "Nyhed $x" --content "{html}$text{html}" done
Script 2 til Opdatering af content ved inject direkte i Confluence databasen:
Scriptet opdaterer titel og createdate + moddate direkte i Confluence MySQL Databasen, først findes x som id for den "Nyhed 0" der blev lavet i forrige script.
IFS=$(echo -en "\n\b") x=2686981 for text in `cat created_title.csv` do #Remove illegal chars in title text=$(echo "$text"|sed 's/\"//g') text=$(echo "$text"|sed "s/'/\\\'/g") text=$(echo "$text"|sed "s/\//-/g") text=$(echo "$text"|sed "s/?//g") text=$(echo "$text"|sed "s/@/(at)/g") cdate=$(echo $text | awk -F',' '{ print $1 }' ) title=$(echo $text | awk -F',' '{ print $2 }' ) sql="update CONTENT set title='$title',creationdate='$cdate',lastmoddate='$cdate' where contentid=$x" echo $sql echo "SET NAMES 'utf8';$sql" > /tmp/insert.sql mysql --user=cadmin --password=******* confluence < /tmp/insert.sql rm /tmp/insert.sql x=$(( $x + 1 )) done