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