No es inusual tener flujos de trabajo "mixtos" en FrameMaker donde los miembros de un equipo utilizan diferentes versiones de FrameMaker. Los documentos guardados en una versión anterior pueden abrirse con versiones posteriores, pero no puede abrir documentos guardados con una versión posterior con una versión anterior de FrameMaker. Existen dos soluciones: En primer lugar, puede utilizar la versión posterior para "guardar en versión anterior" a la versión inferior. Sin embargo, solo puede guardar en la versión anterior inmediata, por ejemplo, de FrameMaker 12 a FrameMaker 11. En segundo lugar, puede guardar el documento en MIF (Maker Interchange Formatoo), en cuyo caso puede abrirlo con cualquier versión anterior de FrameMaker.
El principal inconveniente del guardado en MIF es que debe recordar hacerlo. Pero con ExtendScript, puede automatizar este proceso. Puede crear un script que guarde automáticamente el documento en MIF cada vez que seleccione Archivo > Guardar o presione Control+S. Cuando esté listo para pasar el archivo MIF a otro miembro del equipo que pueda estar utilizando una versión anterior de FrameMaker, sabrá que siempre reflejará los cambios guardados más recientes.
A continuación, se indica 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);
}