Het is niet ongewoon om "gemengde" FrameMaker-workflows te hebben waarbij teamleden verschillende versies van FrameMaker gebruiken. Documenten die in een lagere versie zijn opgeslagen, kunnen worden geopend met hogere versies, maar u kunt documenten die met een hogere versie zijn opgeslagen, niet openen met een lagere versie van FrameMaker. Er zijn twee oplossingen: Ten eerste kunt u de hogere versie gebruiken om "omlaag op te slaan" naar de lagere versie. U kunt echter alleen omlaag opslaan naar de volgende lagere versie, bijvoorbeeld van FrameMaker 12 naar FrameMaker 11. Ten tweede kunt u het document opslaan in MIF (Maker Interchange Format), waarna u het met elke lagere versie van FrameMaker kunt openen.
Het belangrijkste probleem met opslaan naar MIF is dat u moet onthouden dit te doen. Maar met ExtendScript kunt u dit automatiseren. U kunt een script maken dat het document automatisch naar MIF opslaat wanneer u File > Save kiest of Control+S indrukt. Wanneer u het MIF-bestand aan een ander teamlid overdraagt dat mogelijk een lagere FrameMaker-versie gebruikt, weet u dat het altijd de meest recente opgeslagen wijzigingen bevat.
Hier ziet u hoe u het script hieronder instelt:
Notification (Constants.FA_Note_PostSaveDoc, true);
function Notify (note, object, sparam, iparam) {
switch (note) {
case Constants.FA_Note_PostSaveDoc :
saveAsMif (object);
break;
}
}
function saveAsMif (doc) {
// Get required parameters for the save function.
var params = GetSaveDefaultParams();
var returnParamsp = new PropVals();
// Replace the .fm extension with .mif.
var saveName = doc.Name.replace (/\.[^\.\\]+$/,".mif");
// Get the FileType save parameter and set it to MIF.
var i = GetPropIndex(params, Constants.FS_FileType);
params[i].propVal.ival = Constants.FV_SaveFmtInterchange;
// Save the document as MIF.
doc.Save(saveName, params, returnParamsp);
}