No es raro tener flujos de trabajo "mixtos" en FrameMaker donde miembros de un equipo utilizan diferentes versiones de FrameMaker. Los documentos guardados en una versión inferior pueden abrirse con versiones superiores, pero no puede abrir documentos guardados con una versión superior mediante una versión inferior de FrameMaker. Existen dos soluciones: En primer lugar, puede utilizar la versión superior para "guardar hacia abajo" a la versión inferior. Sin embargo, solo puede guardar hacia abajo a la siguiente versión más baja; por ejemplo, de FrameMaker 12 a FrameMaker 11. En segundo lugar, puede guardar el documento en MIF (Maker Interchange Формат), en cuyo caso puede abrirlo con cualquier versión inferior de FrameMaker.
El principal inconveniente al guardar a MIF es que tiene que recordar hacerlo. Pero con ExtendScript, puede automatizar este proceso. Puede crear un script que guarde automáticamente el documento a MIF siempre que elija Archivo > Guardar o presione Control+S. Cuando esté listo para pasar el archivo MIF a otro miembro del equipo que quizás utilice una versión inferior de FrameMaker, sabrá que siempre reflejará los cambios guardados más recientes.
A continuación se explica cómo configurar el script:
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);
}