General XMetaL Discussion

XMetaL Community Forum General XMetaL Discussion Customization of XMetal

  • girishd

    Customization of XMetal

    Participants 4
    Replies 5
    Last Activity 11 years, 8 months ago

    Hi,

    I am new to XMetal Author Enterprise 6.0. We are core user of Arbortext Editor. We have done lot of customization on base product Arbortext Editor and now we are evaluating XMetal 6.0 as abase product.

    We are currently evaluating trial version of XMetal 6.0, but could not find much information about customization of XMetal.

    So, we would like to know following information:

    1. Is it possible to use Formatting Output Specification Instance (FOSI) in XMetal which can be used as a stylesheet to convert the document to PDF format?

    2. Is it possible to customize basic editor functions like Save, Open, New and launch our own XUI dialogs on these functions?

    3. Which programming language is used to customize the XMetal? Is it possible to use Java here?

    4. There is no sample for Repository configuration file in XMetal. How we can integrate Rational ClearCase with XMetal?

    I have lot of such questions, but above are the first level of questions which we would like to be answered before proceeding further evaluations.

    It will be really helpful if any one of you in the forum can provide answers to these questions.

    Best Regards,
    Girish Kumar

    Reply

    Derek Read

    Reply to: Customization of XMetal

    1. XMetaL uses standard W3C CSS not FOSI.

    2. Yes, you can customize any of these functions you list. I have not tried to use XUI with XMetaL so don't know how easy it is do that. Our own form format is similar to VB forms (though it really is different, and to people really familiar with VB it can seem a little odd) and has the extension .XFT (XMetaL Forms Toolkit). This is a compiled (binary) format and so requires a specific editor to create. The editor is included with XMetaL Developer.

    If you prefer you could also create your own forms using another language and then launch whatever you build there from an XMetaL macro (examples include VB, C#, C++, Java, etc). In this case the easiest thing to build is a stand-alone binary (EXE or DLL) that returns some value when it exits or that communicates with XMetaL's APIs to set a value in memory before exiting.

    3. Java is supported but not directly within “macros”. Macros are essentially scripts loaded by XMetaL at startup or when a specific document type is loaded and either run when certain events are triggered or when a user specifically directs them to run. Any scripting language can be used in a macro provided you have an engine installed on your machine. All versions of Windows include JScript and VBScript engines but we have clients that prefer Perl and Python (which means they must install an engine for these such as those from ActiveState). Scripts are also supported from within our forms (XFT).

    4. You must contact our partner manager for information on creating a “connector”. This type of work is typically done by our CMS partners, however, I believe IBM has no interest in creating a connector for XMetaL and ClearCase. We do have some clients that work with ClearCase and they perform all of their check-in/outs using the standard ClearCase tools for that (outside of XMetaL's UI). A connector is likely most useful when you have a lot of people working with the product and you wish to avoid having to train them on two different tools so you'd need to weigh the amount of work it takes to build a connector against that as building a connector is not a trivial undertaking.


    You should probably obtain a copy of XMetaL Developer if you will be customizing XMetaL Author. The documentation it contains will probably answer most of your questions. You can read the same documentation here as well: http://na.justsystems.com/content-support-technical-info (see “User Guides” and “Tutorials”).

    You may also be interested in discussing the difference between XMetaL Author Enterprise and XMetaL Author Essential with our sales people. There are differences in functionality and pricing and you may wish to go with the less expensive XMetaL Author Essential depending on your exact needs.

    Reply

    girishd

    Reply to: Customization of XMetal

    Hi Derek Read,

    Thank you very much for providing this information. We would like to know if it is possible to get trial version of XMetal developer. This will help us in exploring the options available to customize Xmetal.

    Best Regards,
    Girish Kumar

    Reply

    Derek Read

    Reply to: Customization of XMetal

    There is no actual trial version but you can obtain XMetaL Developer through our sales people. This typically requires you to sign a “letter of destruction” (because they provide you with a licensed version to use for a limited time).

    Reply

    girishd

    Reply to: Customization of XMetal

    Hi Derek Read,

    Thank you for your response.

    We have XMetal 2.0 based customization (a particular DTD which was integrated with XMetal 2.0). For this customization, we have a compiled binary in the format .rlx file.

    We would like to know if we are upgrading to XMetal 6.0, whether this DTD needs to be recompiled in XMetal 6.0 or .rlx file can be directly placed inside “Rules” folder of XMetal package?

    If the DTD needs to be recompiled, how a DTD can be compiled in XMetal Author Enterprise 6.0 and .rlx file can be generated? I did not find any information about compilation in the XMetal 6.0 help.

    On XMetal's support for ClearCase as a Repository, we understand that a connector is needed between ClearCase and XMetal. If we have this connector available, we would like to know the functions/features of ClearCase which are supported by XMetal 6.0.

    One more support I would like to receive from you regarding XMetal 6.0. We have empty element with attributes as “title” and “title-id”, as shown below:

    As per my understanding, .ctm file can be used to define the authoring rules for a particular DTD. We have titles available in the webpage in Assets view of XMetal 6.0. We want that when this title is selected and drag-and drop to the document at valid position, new element should be inserted where “title” attribute is set to this title and random title-id is generated. Please find the attached screenshot of the XML document and Assets in XMetal and our sample .ctm file. We want to know how this behavior can be achieved in the .ctm file. If this cannot be achieved using .ctm file, then what are the alternates?

    Best Regards,
    Girish Kumar

    Reply

    Derek Read

    Reply to: Customization of XMetal

    DTD/RLX:
    Newer versions can typically read older RLX files. We don't support 2.0 any longer so I cannot say for sure. That is a very old release. I suspect it would not be an issue.

    You will find some information about “rules files” in the XMetaL Developer help in the Customization Guide, but in general you do not need to worry about it so the documentation does not go into great detail. If you provide your DTD to XMetaL Author 6.0 (or any other version) it will automatically generate and manage the RLX file for you. There are some very specific use cases where you might choose to deliver the RLX instead of the DTD. The main one being that you wish to “protect” your DTD (we have some partners that do this). However, for the average customization you can pretty much completely ignore it as long as XMetaL can find your DTD.

    Clear Case:
    In order to support ClearCase you do not need a connector. You are free to author your XML in XMetaL Author and then use the ClearCase tools to manage these files. A connector would simply attempt to make some of this functionality accessible through the XMetaL Author Enterprise “Repository” menu. Having a connector in place does have some advantages especially when it comes to “link management” (linking from one XML document to another either to incude images located in a CMS, general linking to other documents, or in the case of DITA for example for “conrefs”). When a connector is in place and a customization for your DTD is written properly this link management just works automatically (in theory).

    CTM / Assets / Drag and Drop:
    First thing you should note is that the Assets tab was deprecated long ago and although it is still in the product it is no longer supported. It could not be made compliant with newer versions of Windows (Vista and 7) and so will be removed. This does not mean you cannot have similar functionality as the product supports the addition of new tabs (with the ResourceManager.AddTab method outlined in the XMetaL Developer Programmer's Guide) and you are free to load Internet Explorer or any other ActiveX control into such a tab so you could easily reproduce this without using Assets. You may wish to continue to use Assets until we completely remove it (the timing of that is uncertain) but I think you should consider this as one thing to add to your to-do list.

    The CTM file will not help with allowing people to drop items into a document. In order to enable drag and drop will need to create an On_Drop_* macro for a particular type of content. This is outlined in the XMetaL Developer Programmer's Guide. Working with On_Drop_* can be difficult so you may wish to consider creating an On_Click event inside the HTML page (assuming your titles are in an HTML page) hosted inside IE hosted inside the Resource Manager. This On_Click event would instantiate XMetaL Author as a COM object and then simply use the various APIs available for inserting the title. There are many so it would be difficult to say which is best for your case. Another advantage to this is that the user need not drop the title into the exact position in the document for it to succeed in this case. This alternative solution would be able to decide if a title was valid at the current position, whether or not it would look for the next valid location to insert one, insert any missing elements if necessary, etc. In theory that could be done with On_Drop_* as well but it seems like it would be easier this way (as it will be entirely contained within script). Perhaps after reading about what is required for On_Drop_* events you will have a better understanding of the complexity.

    Reply

  • You must be logged in to reply to this topic.

Lost Your Password?

Products
Downloads
Support