Scriptura Interview with Ken Akren on on Document Design and Generation

Ken Akren is Director of Business Development at Inventive Designers, the developers of Scriptura XBOS that supports easy generation of business output. Akren spoke to Key Insights in an in-depth interview covering many aspects of this innovative product.

INsights: Does Scriptura require IBM WebSphere?
Akren: No. Scriptura can be integrated into any Java-based (J2EE 1.4-compliant) Web Application Server, including IBM WebSphere, BEA WebLogic, JBoss and the like.

INsights: On which platforms does the Scriptura Server run?
Akren: Any platform with Java 1.4.2.

INsights: Where does the Scriptura XBOS Server store its configuration files, log files and cache?
Akren: The Scriptura XBOS Server stores its configuration files, log files and cache in the home directory of the user account running the Scriptura XBOS Server. For example, when running the Scriptura XBOS 3.0 Server Console Under your own account on a Windows 2000/XP machine, you could find the log Files in "C:Documents and SettingsMyAccountscriptura_xbos-3.0Serverlogs." When running the server as a Windows Service, the user home directory might be difficult to locate. By default, the user running the service is a Special system account with home directory "C:WINDOWSsystem32configsystemprofile." In some rare instances, the user account might not have a home directory associated with it. In this unusual case, the server will default to the subdirectory users/username of the installation directory.

INsights: When retrieving dynamic images from the Web, I get a 407 Authorization Required error. However, I correctly filled out the proxy server settings for my Microsoft Proxy server. What is wrong?
Akren: Scriptura does not and cannot support the Microsoft proprietary authentication schemes for Microsoft Proxy servers due to Java Platform Limitations. Microsoft's proxy servers do not adhere to HTTP standard authentication.

INsights: The timestamps printed in the logs of my Scriptura Server running on iSeries are not correct. What is wrong?
Akren: To make sure that the timestamps in the logs on iSeries are correct, you need to add the line "user.timezone=Europe/Brussels" to the file called "SystemDefault.properties" in "/qibm/userdata/Java400." You should replace "Europe/Brussels" with the correct text for your specific time zone. A full list of accepted values can be found here.

INsights: Is it possible to combine multiple data sources in a single template?
Akren: Yes. The Scriptura Designer allows you to define more than one data source. It is also possible to combine different types of data (e.g., XML data with text/spooled files).

INsights: Scriptura XBOS requires JDK 1.4. I am running OS/400 V5R1. How do I get it?
Akren: The following document describes what you need to do to get JDK 1.4 (also known as Java 2 version 1.4) operational on your iSeries running OS/400 V5R1.Visit here.

INsights: Is it possible to run more than one instance of the Scriptura XBOS Server on a single machine?
Akren: Yes, just as long as you use different configuration files.

INsights: How do I add a custom command line option to the Java JVM used by Scriptura XBOS programs?
Akren: You can add custom command line options by editing the corresponding ".ja" files. These files contains Java arguments to be included in the launch command (one per line). This can be very useful to enable 64 bit operations, use the server jvm or specify alternative garbage collector implementations.

INsights: How do I add custom Java System Properties to enable or disable virtual machine specific functions to the Scriptura XBOS programs?
Akren: In order to add a custom system property you will need to edit the corresponding ".sp" file. This can be very useful to enable or disable certain features of your virtual machine that may be more suitable for your environment. For example, if you would like to disable the use of DirectX on your windows workstation because it causes display artifacts when using the Scriptura XBOS Designer, you should edit "ScripturaDesigner.sp" and add the following string "sun.java2d.d3d=false" on a new blank line (without the quotes). Please note that you should not specify the -D prefix that you would usually add on the java command line. This is added automatically.

INsights: When installing the Server on a Microsoft Windows NT4 system, I cannot install the server service. It is missing "shlwapi.dll". Were can I find it?
Akren: "shlwapi.dll" is a lightweight windows shell utility library and should be present on most Windows systems. However, in some clean installations of NT4 with just a service pack it's not always installed. It is part of Internet Explorer 4 (or higher) and the enhanced desktop on Windows. You must Install Internet Explorer 4 or higher. If you do not want to install Internet Explorer, then you can download "shlwapi.dll" from sites such as this one. This latter option is NOT recommended.

INsights: Does the Scriptura Server come with a graphical user interface, or do I need to write code to invoke it?
Akren: There is a GUI wizard included in the Scriptura Server which guides you step by step through the server and allows you to use it without writing one single line of code.

INsights: Which output formats can be generated by the Scriptura Server?
Akren: The Scriptura Server can generate your document in the following output formats: PDF, PCL5, AFP, RTF, XSL-FO, XHTML with CSS, XSLT containing XSL-FO and XSLT containing XHTML with CSS.

INsights: What does SVG refer to?
Akren: Scalable Vector Graphics (SVG) is a XML-based vector graphics format developed by W3C; see here. It is both dynamic and interactive. SVG v1.0 is a W3C recommendation, making it a Web standard. The Specification for SVG 1.0 can be found here.

INsights: What is XML?
Akren: XML refers to eXtensible Markup Language (extensible because it is not a fixed format like HTML). It is designed to enable the use of SGML on the World Wide Web. XML is not a single, predefined markup language: it's a metalanguage -- a language for describing other languages -- which lets you design your own markup language. A predefined markup language like HTML defines a way to describe information in one specific class of documents only: XML lets you define your own customized markup languages for limitless different classes of documents. It can do this because it's written in SGML, the international standard metalanguage for text markup systems.

INsights: What is XSLT?
Akren: XSLT stands for eXtensible Stylesheet Language: Transformations. It is a language that is primarily designed for transforming one XML document into another. However, XSLT is capable of transforming XML to many other text-based formats, so a more general definition might be appropriate:
XSLT is a language for transforming the structure of an XML document. Go here for more information.

INsights: What is XPath?
Akren: XPath is the result of an effort to provide a common syntax and Semantics for functionality shared between XSL Transformations and XPointer. The primary purpose of XPath is to address parts of an XML document. In Support of this primary purpose, it also provides basic facilities for manipulation of strings, numbers and Boolean expressions. XPath uses a compact, non-XML syntax to facilitate use of XPath within URIs and XML attribute values. XPath operates on the abstract, logical structure of an XML document, rather than its surface syntax. XPath gets its name from its use of a path notation as in URLs for navigating through the hierarchical structure of an XML document. Detailed information can be found here.

INsights: Can the XSLT code describing the XSL-FO be edited directly from within
the Scriptura Designer?
Akren: No. The Scriptura Designer is purposely designed as a graphical design environment.

INsights: What is XSL?
Akren: The Extensible Stylesheet Language (XSL) is a language for expressing Style sheets. It consists of two parts: a language for transforming XML Documents (XSLT) and an XML vocabulary for specifying formatting semantics (XSL-FO). Visit here for more information.

INsights: What is XSL-FO?
Akren: XSL-FO is an XML vocabulary that serves the purpose of unambiguously (device independent) describing block layout, inline formatting, and other presentational characteristics. More information can be found here.