put xml in template job file and zip that file

Post Reply
ppmg
Newbie
Posts: 8
Joined: Thu Jan 24, 2013 10:10 am

put xml in template job file and zip that file

Post by ppmg »



Hi there,



As i am quite the newbie here, i have no starting point in how to tackle the following question:



I have a static template folder that contains files/folders (like this:)



TEMPLATE

FOLDER_A

file_a.xml

file_b.xml

FOLDER_B

image_a.eps





What i would like to do in Switch, is this:



a xml file 'file_a.xml' is submitted by a customer.



In this case i want the file 'file_a.xml' in my template folder to be replaced by the customer's 'file_a.xml'



then the whole folder should be zipped and the zip submitted to a ftp.



Looks as quite the challenge for me, tried some things with Assemble job, but can't make it look at my static template folder...



Any ideas?



thanks in advance,



Leon Dona












freddyp
Advanced member
Posts: 413
Joined: Thu Feb 09, 2012 3:53 pm

put xml in template job file and zip that file

Post by freddyp »

If you want to pick up a static job (file or folder) you have to use "Inject job".



First of all you start with an input folder with two connections, one that goes to "Inject job", another one going to a folder (include all jobs on both connections). Name the injected job after itself, not after the incoming job or the folder will be renamed to the name of the XML file including the extension.



In "Inject job" you have to inject a specific job, namely your static template folder. Note that the settings for "Inject job" are on the outgoing connection, not on the element itself. After the inject job you use an "Archive hierarchy". Make sure to set the "Folder level" high enough. Now you have a copy of your template in a specific location.



On the other branch you direct the incoming XML to the same location by using "Set

hierarchy path" and a connection from there into the same hierarchy as the injected job.



Take care: you want your template to be copied into the hierarchy before the XML that arrived in the flow, and as the template folder is a lot bigger than the XML that is not going to happen. To counter that you let the incoming XML wait a little bit by putting a "Hold job" before the "Set hierarchy path". The setting to use for that is "Space jobs apart" and can be found on the outgoing connection of "Hold job".



There is one more thing: you cannot have outgoing connections on "Archive hierarchy" and you still have to continue to zip everything. This feature will be added to the next update of Switch that we are working on, but for the time being you will have to make a second flow that continues with the zipping and the ftp'ing. This second flow has a "Submit hierarchy" at the beginning pointing to the same path as the hierarchy at the end of the first flow. Tip: do not strip the unique name at the end of the first flow, so all your metadata is still available in the second flow.



Freddy
ppmg
Newbie
Posts: 8
Joined: Thu Jan 24, 2013 10:10 am

put xml in template job file and zip that file

Post by ppmg »

Thanks Freddy, i'm making great progress!



Just one little problem left, i think i'm not using 'set hierarchy path' the right way. I want the file_a.xml to replace the file in my template, what it does now is that it adds the file at top level.



What i want:



TEMPLATE

FOLDER_A

file_a.xml <-- replaced by costumer's version

file_b.xml

FOLDER_B

image_a.eps



What i get now:



TEMPLATE

file_a.xml <-- Costumer's file

FOLDER_A

file_a.xml

file_b.xml

FOLDER_B

image_a.eps



Thanks again for your help sofar.



Leon
ppmg
Newbie
Posts: 8
Joined: Thu Jan 24, 2013 10:10 am

put xml in template job file and zip that file

Post by ppmg »

Got it!



I had to strip the unique name at the end of the first flow, then the file will be punt into place.



thanks,



Leon
freddyp
Advanced member
Posts: 413
Joined: Thu Feb 09, 2012 3:53 pm

put xml in template job file and zip that file

Post by freddyp »

Ah yes of course, not stripping the unique name as I suggested means that the XML file has a different name than the one it is supposed to replace. I did not try out the whole flow, but I am glad you figured it out by yourself, just like you did with the fact that FOLDER_A had to be added to the hierarchy path as well.



Freddy
Post Reply