Converting Twiki HTML URLs to Confluence
Asked by Bruce Cran:

I'm having problems converting URLs from Twiki to Confluence format using UWC.  
The Twiki pages have URLs such as:  

\<img width="200" alt="Img.jpg" src="/twiki/pub/Web/PageName/Img.jpg" height="200" /\>  

That's getting converted to:  

!/twiki/pub/Web/PageName\^2-Img.jpg\|width=200"200", alt="Img.jpg", height=200"200"!  

Confluence then reports "Unable to render embedded object: File (Img.jpg) not found."  
It seems that /twiki/pub/Web needs to be removed, but setting remove-twiki-path to /twiki/pub/\~UWCTOKENCURRENTSPACE\~ doesn't seem to work. I've also tried changing vars-attachurl but that didn't work either.  
What would I need to put in converter.twiki.properties to correctly convert the URLs?


Answers:
author: Laura Kolker
body: Hi Bruce,

Since you posted both here _and_ at the old forum, I'm going to repost my answer from there to here, just for documentation's sake. Let me know if you need anything else.

----

You've hit an edge case.   
I've updated the source to handle this situation better. Hopefully, I understood your syntax case sufficiently to help you out.  

Basically, the ImageConverter was only using the remove-twiki-path-N properties for non-html image syntaxes. I've updated it to now handle both html and non-html types of syntax.  

Additionally, it can now handle image syntaxes with that style of URL, so it can identify what space, etc.  

Here are the two properties I set in my test:

    TWiki.0505.remove-twiki-path-1.property=/twiki/pub/  
    TWiki.6400.space-Web.property=Confkey 

<br />

The latter one identifies what the Web-\>Confluence spacekey mapping should be. You would want whatever your target Confluence spacekey is going to be for that Web. You'll need to set up a space map property for every Web you are transforming.  

Then, with the changes to the source, I rebuilt, and it successfully transformed this:

    <img width="200" alt="Img.jpg" src="/twiki/pub/Web/PageName/Img.jpg" height="200"/> 

<br />

into this:

    !Confkey:PageName^Img.jpg|width="200", alt="Img.jpg", height="200"! 

[Here are instructions for how to build the latest UWC source](https://studio.plugins.atlassian.com/wiki/display/UWC/UWC+Developer+Documentation#UWCDeveloperDocumentation-BuildInstructions "Here are the instructions for how to build the latest UWC source")  

Cheers,  
Laura

comments: author: Jobin Kuruvilla [Adaptavist]
body: Hi Laura,

Is this available on the latest UWC? I have a similar scenario where src="/pub/Web/PageName/.." is not converted properly. I have the mentioned proprties as follows:

    TWiki.0505.remove-twiki-path-1.property=/pub/  
    TWiki.6400.space-Web.property=Confkey 


author: Laura Kolker
body: Hi Jobin, You can get that feature if you [build from source](https://studio.plugins.atlassian.com/wiki/display/UWC/UWC+Developer+Documentation#UWCDeveloperDocumentation-BuildInstructions).


author: Jobin Kuruvilla [Adaptavist]
body: I built it from source, till you execute **ant package**. And used the generated uwc.jar. Am I missing something?


author: Jobin Kuruvilla [Adaptavist]
body: Oops, my bad. I certainly did build from source but added the property on the wrong file. Too many open windows! Worked like a charm. +1


author: Jakub Krikala
body: Hi I'm dealing the same problem for PmWiki, can you write me solution, or is it the same? Thnx :)


author: Jeremy Largman
body: Hi Bruce, I retagged this and your other quesiton (<https://answers.atlassian.com/questions/323/reducing-uwc-memory-usage-when-converting-large-site-from-twiki>), as we'll use the full name rather than the abbreviation. I'm sure some people will miss one or the other, but for now that's the strategy. This way it's more likely to get to the right watchers...


Tags: universal-wiki-converter