Forum Replies Created

  • Derek Read

    Reply To: String copy crashes XMetaL

    Participants 0
    Replies 2618
    Last Activity 9 months, 2 weeks ago

    I can't seem to reproduce this with any files we provide out of the box: DITA, the Journalist sample, etc, but…

    Where are you copying that content from?

    That is going to make a difference. How XMetaL Author handles what it is asked to paste depends on what is on the Windows clipboard, and that will vary widely depending on which application added it onto the clipboard.

    Which document type are you pasting into?

    That is going to make a big difference as XMetaL Author handles some things on its own (natively) but it can be extended using script to handle more clipboard content types, and to handle the content in different ways, modify it before pasting, perform transformations on it, as well as perform actions after pasting.

    The view you are pasting the content into is going to make a difference as well: Tags On, Normal or Plain Text.

    Reply

    Derek Read

    Reply To: [XMetaL Tables] Cell merging not working in XMetaL for enhanced CALS model

    Participants 0
    Replies 2618
    Last Activity 9 months, 2 weeks ago

    Unfortunately, this feature has not been documented yet.

    However, if you look at the CTM files for the DITA authoring functionality (in XMetaL Author Enterprise) I believe most of the possible settings are in there.

    Reply

    Derek Read

    Reply To: [XMetaL Tables] Cell merging not working in XMetaL for enhanced CALS model

    Participants 0
    Replies 2618
    Last Activity 9 months, 2 weeks ago

    In the CTM file, after the section (as a sibling to that section), add the following:

         
         

    Table

          tgroup
         

    tbody

         

    thead

          colspec      row
          entry
       
     

    If you don't have XMetaL Developer installed you may need to restart XMetaL Author for the CTM file to be reloaded.

    Reply

    Derek Read

    Reply To: xmax API-Description / Programmer’s guide

    Participants 0
    Replies 2618
    Last Activity 11 months, 3 weeks ago

    Yes, it is the same Programmers Guide for XMetaL Author Enterprise, XMetaL Author Essential, and XMAX. APIs specific to XMAX are identified as such.

    Reply

    Derek Read

    Reply To: How to insert a link to a MS Outlook Email Template into a Task Topic?

    Participants 0
    Replies 2618
    Last Activity 1 year ago

    DITA supports linking to any file type.

    However, what happens when the user clicks on a link to that file will depend on what format you are transforming to, what the DITA Open Toolkit creates for that link in that particular output, which application the person viewing/reading that particular output is using, and how that application (maybe a browser, but possibly also the OS, antivirus, etc) deals with the link when that person clicks on it, and whether the user has the right software installed to open and use an OFT file (ie: they have MS Outlook installed or some other software capable of using that file). Best case scenario is that it might be automatically associated with the right software like Outlook and opened. Worst case scenario is that nothing happens or the application tells the user it doesn't know what to do with an OFT file. Medium case scenario is that the application tells the user it doesn't know what to do and simply offers to save the file, or perhaps locate some software that can open it.

    Lots of variables there, but perhaps some of them are within your control.

    First thing I'd try is this:

    1. Figure out where you are going to save the OFT file. This will either need to be a permanent location or travel with the other file you are outputting from this particular DITA task (ie: full path, or URL, or relative path).

    2. Create a link from the task to the OFT file: Insert > Link > File Reference, browse to and select the OFT file. Or if the file will live on a web server then use: Insert > Link > Web Link.

    3. Generate output for the task (using whatever output format you need it to be in) and see if it does what you need under whichever test conditions the person reading your output content will be using.

    The following works under these specific conditions for me on Windows:

    1. The @href value links to the *.oft file (ie: C:temptemplate.oft) or relative path (ie: template.oft) and @scope is set to either “peer” or “external”. (see note 1)

    2. Generate output in HTML form using the default DITA OT. Most people are generating some form of HTML (CHM, HTML, Java Help, etc, so this is my assumption).

    3. Open the resulting HTML file in a browser.

    4. In the HTML (in the browser) click on the link to the OFT file. Some versions of IE will just try to open the file, some will trigger a security warning, some will prompt you to save and / or scan for viruses then might offer to open the file. Other browsers should do similar things.

    5. If whatever happens in #4 triggers the file to be opened then it might open. I have MS Outlook installed and it is associated with these files so opens the OFT file.

    Note 1: The DITA specs are a bit vague on which @scope value is correct for this particular case, but the DITA OT generates a link (at least in HTML) that browsers seem to deal with in a somewhat expected way in both cases. That expected way (for me) is that because the browser itself can't open the file it either offers to save it somewhere on my system, or it saves a temp copy and offers to open it in an application or my choosing, or it saves a temp copy and then automatically opens it in MS Outlook (if I have it installed).

    If all that works then you might be done — assuming all the people reading that topic in its output form have a similar setup.

    If it doesn't work then you might need to adjust attributes for the (perhaps a relative link is needed if you are shipping the OFT file together with the output topic, or perhaps if you are storing the OFT file on a web server you really should be using a URL instead). The main two for are @href and @scope (see the DITA specs for details) which you can also adjust using the Attribute Inspector (F6). Depending on the output you are generating you may also need to adjust how the DITA OT generates that output (CHM, PDF, HTML, Java Help, etc) or whichever other process you are using to generate output if it is using something other than the DITA OT, a modified copy of the DITA OT, or something else.

    If things beyond how output is generated need to be modified, or controlled, I don't know that there is much else you can do unless this is part of some internal system and you can force people reading the file to follow some procedure and configure their computers a specific way. ie: If the person reading your output doesn't have or refuses to install MS Outlook what do you want them to do instead?

    Reply

    Derek Read

    Reply To: New Feature Request: Use modern JavaScript

    Participants 0
    Replies 2618
    Last Activity 1 year ago

    In theory yes…if you can find and install a JavaScript engine that meets those needs.

    Windows includes JScript and VBScript with the Windows Script Host but you can install other script engines. Such an engine would probably need to identify itself using a name other than “JScript” to avoid conflicts with the Windows Script Host version of JScript. The script engine's name is what you insert in a macro inside the MCR file used by XMetaL Author to let it know which script engine to tell Windows Script Host to use to run the script for that particular macro.

    Whether such an engine exists for Windows I don't know. It needs to meet these requirements: https://docs.microsoft.com/en-us/scripting/winscript/windows-script-engines

    This would be similar to people that install and use the PerlScript (ActivePerl) or PythonScript (ActivePython) engines with XMetaL Author. Most people are using JScript or VBScript as they do not require additional software to be installed, but there are a number of XMetaL Author users that do use these other engines.

    Reply

    Derek Read

    Reply To: XMetaL 12 Crashes

    Participants 0
    Replies 2618
    Last Activity 1 year ago

    It sounds like this is limited to one user, so identifying what is different about this particular computer's setup would be the first step. Compare any files installed that modify or extend the XMetaL Author installation: “application customization” files (this would include CMS integration modifications or other changes to the software, primarily limited to scripting modifications or other code that is calling XMetaL APIs) as well as “document customization” files (the DTD/XSD plus any other files loaded when a particular XML file is loaded, which can include script inside MCR, CTM and possibly other files). The people that created these customizations should be able to do this.

    If this is affecting multiple users then debugging can be done by the people that created any custom scripts or other code you are running then the code to examine in particular would be anything inside events corresponding to mouse clicks (On_Click, On_Double_Click), the “Selection” object in general (or the mostly equivalent “Range” object), events that fire frequently (On_Update_UI), or similar.

    If that isn't possible for whatever reason please feel free to submit any customizations plus a sample XML document to XMetaL Support so they can try to reproduce the issue. If the issue is limited to one person then the most likely cause is a broken file. If the issue is affecting everyone, but has not in the past, then it is most likely that changes to the customization have been made that are buggy that were not properly tested, or that an API is being used incorrectly, or if used correctly then perhaps in an unexpected way that was unforeseen.

    The more information that can be provided to XMetaL Support the better as they will likely need to reproduce your setup as closely as possible to trigger the issue.

    Reply

    Derek Read

    Reply To: Missing "rowheader" attribute in table

    Participants 0
    Replies 2618
    Last Activity 1 year ago

    In case this is actually a concern for some reason, the DITA 1.2 spec lists it as an #IMPLIED attribute (and the DTD that I have shows it that way as well).

    https://docs.oasis-open.org/dita/v1.2/os/spec/langref/table.html

    That suggests to me that the DTD being picked up for you (DITA-1.2/technicalContent/dtd/ditabase.dtd), which will be relative to the XML file at that location (ie: in a subfolder called DITA-1.2), defines this attribute as #REQUIRED.

    But, if you are using the following DOCTYPE then (by default at least) you should be getting the DTDs that are installed with XMetaL Author provided there is no DTD named “reference.dtd in the same folder as the XML file (which I would expect is the case):

    However, if a CMS is involved then it could be that nothing I've said above applies as CMS integrations often change where DTDs are loaded from by customizing XMetaL Author's behaviour through configuration and scripting.

    Reply

    Derek Read

    Reply To: Missing "rowheader" attribute in table

    Participants 0
    Replies 2618
    Last Activity 1 year ago

    I guess the error “invalid against DTD error” must be coming from some 3rd party (outside of XMetaL Author) system?

    Can I assume you have XMetaL Author integrated with something else like a CMS?

    If so, then I guess you should check with the people running it to be sure you are meeting any input requirements. It sounds you have done that (ie: must use DITA 1.2) but just in case there are others I'd suggest you confirm.

    Still not sure why XMetaL Author would be giving a validation error about rowheader. As far as I can tell it has never been a required attribute (from DITA 1.x through 1.3). That suggests there is some other DTD involved here that has it set to #REQUIRED.

    Reply

    Derek Read

    Reply To: Missing "rowheader" attribute in table

    Participants 0
    Replies 2618
    Last Activity 1 year ago

    If this is one of the standard DITA DTDs there is a rowheader attribute on the

    and elements.

    However, this attribute is not required in any version of the DITA DTDs that I'm familiar with. Perhaps you are using a specialized DITA DTD?

    XMetaL uses the actual DTD for any document you are authoring to perform validation, so it is almost guaranteed that this attribute is actually required in your case. Knowing exactly which DTD you are working with would let me tell you for sure (or send a sample to XMetaL Support and they can help you work it out).

    When you are in Tags On or Normal view XMetaL Author tries to take you to the closest location that it can when you click on an error in the Validation Log, but it might not be able to take you exactly there for some reason (ie: if you cannot normally visit that element in a particular view).

    If you validate the document (F9) while viewing it in Plain Text view clicking on an error in the Validation Log should take you to the precise location of the error in the document, or much closer to it (if for example an element is missing it obviously can't take you to the missing element but to the element that requires it).

    The Attribute Inspector also shows required attributes for any given element in bold face when you put your selection inside that element.

    The Table Properties dialog allows you to modify most standard portions of a table, including all the various attributes accessible for a CALS table, but this does not include @rowheader. There is also no way to place an insertion point inside a element in Tags On or Normal view (as making related changes is normally done through the Table Properties dialog). So, if your DTD does force this attribute to be required, and it is on a element you may need to switch to Plain Text view to access. If this is really what's going on the software could be customized to try to accommodate this need through scripting (APIs) or possibly also through an additional custom dialog.

    Reply

    Derek Read

    Reply To: Catalog is not working in XMetal 6.0 on Windows 7, while the same setup is worki

    Participants 0
    Replies 2618
    Last Activity 1 year ago

    I don't see any obvious issues with your catalog file that would trigger a crash. My guess is that something else being loaded is triggering the issue.

    I do see that the XML file references a DTD on an HTTP server:

    XMetaL Author will attempt to download the DTD, RLX or XAC file from that location together with any other files that XMetaL Author is able to obtain (CSS, CTM, MCR, possibly others). If XMetaL Author does find the DTD (or RLX or XAC file) it isn't going to use any entries from the catalog file. If it doesn't locate the DTD (or RLX or XAC) then it will use the entry in your catalog file to load the urteil.dtd from the same location as the catalog file, which will typically be in the Rules subfolder of the XMetaL Author installation.

    Check to see that the DTD or other files do not exist at the HTTP server above if you don't want XMetaL Author to use that copy.

    If you want thorough testing to be done on this, the files needed to reproduce the issue will be needed. That would include an XML sample (which you have provided here) but also the DTD, CSS, CTM, MCR, and any other files that the software is loading. Your issue could be due to the loading of the XML file itself, the DTD, any files that DTD references (entities, etc), the CSS properties interacting with the document, CTM settings or scripts, a script in the MCR file or a DLL that the MCR file references, maybe an XFT form, or perhaps some third party software the MCR or DLL code calls, possibly something else.

    Please submit a support case to XMetaL Support here: https://xmetal.com/contact-support/

    Note: That form does not accept file attachments. Once a case has been opened you can either send attachments via email. If email will not work for the files you need to send then XMetaL Support will let you know how to share them.

    If 3rd party software is required to reproduce the issue (such as a CMS integration or some other software that modifies the XMetaL Author Enterprise installation to extend its functionality) please also let XMetaL Support know those details.

    Please keep in mind that testing on version 6 cannot be done as it is an unsupported release. Testing will need to be done on a recent version. Issues are generally only corrected in the current release (right now that's 14) though exceptions are made for clients that must use a slightly older version that one of our partners requires in order to function with their software.

    From the install-readme for XMetaL Author Enterprise 6 SP1 (released Jan 2010):

    • Microsoft Windows XP, Vista, 7* or 2008 Server
    * Windows 7 support is pending as only preliminary testing has been completed to date. Although no problems have appeared with XMetaL Author Enterprise under Windows 7, please use XMetaL Author Enterprise at your own risk.

    Reply

    Derek Read

    Reply To: Associate enter key with button in form?

    Participants 0
    Replies 2618
    Last Activity 1 year, 1 month ago

    If you set the ButtonType property for a button on a form to “OK” its OnClick event will fire when the user presses Enter.

    Reply

    Derek Read

    Reply To: Catalog is not working in XMetal 6.0 on Windows 7, while the same setup is worki

    Participants 0
    Replies 2618
    Last Activity 1 year, 1 month ago

    It seems odd that XMetaL 6 (I'm not sure which product) is running on Windows 10 without issue as that version (all products) was not tested on that operating system. All of the XMetaL version 6 products were released 5 years before Windows 10 was released. If anything I might expect the opposite of what you describe.

    Please submit any files necessary to reproduce the issue to XMetaL Support together with detailed description where the files are placed, any specific configuration steps, an XML sample file, etc, so they can try to help.

    Keep in mind that version 6 is not supported. It was tested on Windows XP but as Microsoft no longer supports that OS we cannot either. The first version to support Windows 7 was version 8. The first version to support Windows 8 was version 9. And the first version to support Windows 10 was version 11.

    I'm not sure what any of this has to do with Page Preview, so if that is important please also include information about that in the description of the problem when you submit files to XMetaL Support.

    Reply

    Derek Read

    Reply To: Customization object? How can I use a form?

    Participants 0
    Replies 2618
    Last Activity 1 year, 1 month ago

    Still guessing a bit but here's an example that might help.

    There's an example macro in the Journalist.mcr file called “Insert ULink” that launches a form, lets the user input a Description and URL, and then generates some content in the XML based on that input.

    My sample below reuses that form but doesn't tie it to a document (in the original it isn't tied to any document either really, it's just that the Journalist sample is the only one to use it). Instead of inserting the values into the document like the Journalist sample does this sample merely checks the values and displays them.

    Not sure what you want to do with your values, but in this example they are now strings and you can do whatever you like with them.

    [code=sample]
    //XMetaL Script Language JScript:
    var formPath = Application.Path + “\Forms\ULink.xft”;
    var dlg = Application.CreateFormDlg(formPath);
    dlg.doModal();

    //as long as you don't set the form object to null
    //(in this example that's “dlg”)
    //you can access the controls on it like so:
    if (dlg.DoModal == 1) { //user clicked OK button*
    var desc = dlg.URLDesc.Text;
    var url = dlg.URLLink.Text;
    Application.Alert(“Description: ” + desc + “n” + “URL: ” + url);
    }
    dlg = null;
    [/code]

    *For a form to return 1 when an OK button is pressed you need to set ButtonType for the button to “OK” (as in this form).
    When the user dismisses a dialog using the built-in close button on a form -1 is returned.
    When the user dismisses a form using a button with ButtonType set to “Cancel” then 2 is returned.

    You should null any references to the form eventually (before XMetaL shuts down, but the safest place is in the same script that launched the form so you know for sure the reference is gone). Windows Script Host (JScript and VBScript) does do garbage collection but the timing is not predictable. XFT's are running as part of an external control (a COM DLL) and COM references need to be cleaned up to make sure the software can properly shut down.

    Reply

    Derek Read

    Reply To: Customization object? How can I use a form?

    Participants 0
    Replies 2618
    Last Activity 1 year, 1 month ago

    Have a look at the topic “Associate a form with a customization object”.

    That discusses how to add added to the CTM file that tell XMetaL Author which form to associate with which element, whether it is embedded or to be launched as a modal dialog and various other settings.

    You can also launch a form using an API but the most common method (if you need to associate the form with an element) is to make the associations with the CTM file. The topic “Executing a form as a modal dialog in XMetaL” discusses that and provides the simplest example of launching an XFT as a modal form from script.

    The topic “Sample forms” lists the forms provided with the Journalist with brief descriptions (fully understanding what each does is best done by using the Journalist sample and examining it's MCR, CTM and XFT files). Hard to say which one would be nearest to what you want to do.

    Reply

Products
Downloads
Support