Es ist nicht ungewöhnlich, „gemischte" FrameMaker-Arbeitsabläufe zu haben, bei denen Teammitglieder verschiedene Versionen von FrameMaker nutzen. Dokumente, die in einer älteren Version gespeichert wurden, können mit höheren Versionen geöffnet werden, aber Sie können Dokumente, die mit einer höheren Version gespeichert wurden, nicht mit einer älteren FrameMaker-Version öffnen. Es gibt zwei Lösungen: Erstens können Sie die höhere Version nutzen, um „nach unten" zur älteren Version zu speichern. Sie können jedoch nur zur nächst niedrigeren Version speichern, beispielsweise von FrameMaker 12 zu FrameMaker 11. Zweitens können Sie das Dokument im MIF-Formatoo (Maker Interchange Formatoo) speichern, wodurch Sie es mit jeder älteren FrameMaker-Version öffnen können.
Das Hauptproblem beim Speichern als MIF ist, dass Sie daran denken müssen, dies zu tun. Mit ExtendScript können Sie diesen Prozess jedoch automatisieren. Sie können ein Skript erstellen, das das Dokument automatisch als MIF speichert, wenn Sie „Datei > Speichern" wählen oder Strg+S drücken. Wenn Sie die MIF-Datei an ein anderes Teammitglied weitergeben, das möglicherweise eine ältere FrameMaker-Version nutzt, können Sie sicher sein, dass sie immer die neuesten gespeicherten Änderungen enthält.
So richten Sie das folgende Skript ein:
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);
}