As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
All around the web you can read about how important it is to have the correct document type declaration (DOCTYPE) in a web page. (W3C Quality Assurance, Web Design Group, A List Apart...) As has previously noted, HTML Composer operates in "Quirks" mode ( Wikipedia). I would love to know why. Why is the document type declaration not complete in HTML Composer designed pages? Why is there an HTML comment line at the top of the page? These two things (comment line above DTD, incomplete DTD) cause problems when using jQuery UI and probably other JavaScript and CSS extensions.
HTML Composer:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
HTML 4.01 Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
A List Apart:
quote:
As mentioned in previous ALA articles (and in other interesting places), DOCTYPES are also essential to the proper rendering and functioning of web documents in compliant browsers like Mozilla, IE5/Mac, and IE6/Win.
A recent DOCTYPE that includes a full URI (a complete web address) tells these browsers to render your page in standards–compliant mode, treating your (X)HTML, CSS, and DOM as you expect them to be treated.
Using an incomplete or outdated DOCTYPE—or no DOCTYPE at all—throws these same browsers into “Quirks” mode, where the browser assumes you’ve written old-fashioned, invalid markup and code per the depressing industry norms of the late 1990s.
This message has been edited. Last edited by: Francis Mariani,
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
David Glick Director WebFOCUS App Studio and WebFOCUS Developer Studio WebFOCUS Division Information Builders, Inc. Direct (917) 339-5560 Voice Mail (212) 736-6250 x3560 Fax (212) 947-5168 Email david_glick@ibi.com
Be careful what you ask for. You can always edit the HTML and put your own DOCTYPE in there. If/when you change it, some existing IB supplied JS will not work as expected (I've only found 2 things that mess up a bit).
The next time we are in the same location I will give you a "fix" that will automate your DOCTYPE setting ... if you want it.
"There is no limit to what you can achieve ... if you don’t care who gets the credit." Roger Abbott
I've started putting the HTML 5 doctype ahead of the incomplete HTML Composer one. This allows things like jQuery UI elements to work correctly. I do have to remember to delete the comment that HTML Composer re-adds every time the document is updated.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
Originally posted by Francis Mariani: All around the web you can read about how important it is to have the correct document type declaration (DOCTYPE) in a web page. . . .
I've wondered the same thing. . . and supply a working doctype in the template I use.
Rob
WebFocus 8201m on Windows; App Studio 8201; Procedures: WebFocus with SQL; HTML Parameter Pages & Dashboard; Output: Excel, HTML, & PDF.
Posts: 88 | Location: MI | Registered: July 23, 2009
The DOCTYPE used is not incomplete. There is a version that is just:
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
With the comment at the top, it goes into "quirks" mode anyway. That is what "transitional" means as well. In Release 8, we use "strict".
David Glick Director WebFOCUS App Studio and WebFOCUS Developer Studio WebFOCUS Division Information Builders, Inc. Direct (917) 339-5560 Voice Mail (212) 736-6250 x3560 Fax (212) 947-5168 Email david_glick@ibi.com
The product does not support anything other than "transitional" until release 8. If you change what we generate, it will not be supported.
David Glick Director WebFOCUS App Studio and WebFOCUS Developer Studio WebFOCUS Division Information Builders, Inc. Direct (917) 339-5560 Voice Mail (212) 736-6250 x3560 Fax (212) 947-5168 Email david_glick@ibi.com
I have to change what you generate to make use of jQuery UI.
<!DOCTYPE HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
You still haven't answered where on the web I can find that the doctype in an HTML Composer created file is valid and complete.
Why is the HTML Composer generated comment the first line in the HTML file? In a standards compliant html file, the doctype should be the first line.
Perhaps if HTML Composer adhered to standards, we wouldn't have to change what is generated. Every time I modify the HTML Composer generated page via the GUI, I have to remove that comment.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
And here's another reason why I have to edit the code generated by HTML Composer: after applying HotFix 5 the dreaded "rtFileName" issue had reared its head - I have to replace "rtFileName" with "src" every time I use the GUI.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
The comment at the top of the file is used to tell the Developer Studio framework that the file should be opened in Composer. Now, as far as DOCTYPE goes, I believe I found that Google's page uses the same one we use. Though I cannot check now. You mention standards. We use Microsoft's own HTML parser to generate our pages. I would venture to say that Microsoft is standard.
David Glick Director WebFOCUS App Studio and WebFOCUS Developer Studio WebFOCUS Division Information Builders, Inc. Direct (917) 339-5560 Voice Mail (212) 736-6250 x3560 Fax (212) 947-5168 Email david_glick@ibi.com
It shouldn't be difficult to develop code that reads/puts the "Generated by Report Layout Painter" comment as the second line in an HTML file. Also, the page is not "Generated by Report Layout Painter", but by HTML Composer, or Composer...
Meanwhile, here are a few doctypes around the web, none (including Microsoft.com) match the syntax generated by HTML Composer:
google.com:
<!doctype html>
microsoft.com:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
adobe.com:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
gartner.com:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
informationbuilders.com:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
nytimes.com:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
cnn.com:
<!DOCTYPE HTML>
guardian.co.uk:
<!DOCTYPE html>
theglobeandmail.com:
<!DOCTYPE html>
facebook.com:
<!DOCTYPE html>
flickr.com:
<!DOCTYPE html>
thestar.com:
<!DOCTYPE html>
whitehouse.gov:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
In release 8 we generate "strict" DTD. We also no longer generate a comment line at the top. Incidentally, "Report Layout Painter" was the original name of the facility which is why it is used.
David Glick Director WebFOCUS App Studio and WebFOCUS Developer Studio WebFOCUS Division Information Builders, Inc. Direct (917) 339-5560 Voice Mail (212) 736-6250 x3560 Fax (212) 947-5168 Email david_glick@ibi.com
A Microsoft article that is suggested reading states "In most cases, we recommend that websites use the HTML5 document type in order to support the widest variety of established and emerging standards, as well as the broadest range of web browsers.".
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
1) Manually change the HTML file after you've made any modifications to it in HTML composer, which is what we always do and which Francis described above:
- Remove the comment in the first line - Set the first line of the document as an HTML 5 declaration:
<!DOCTYPE html>
- Make sure to "fix" your <script> and tags to JavaScript and CSS files external to the MRE, subsituting "src" for "rtFileName"
-or-
Implement some sort of filtering on the application server side (Tomcat or whichever you use) to perform those changes automatically on any HTML response that passes through it.
I think dhagen mentioned something about it in an older post but don't have a reference to it right now.
In WebFOCUS 8, there is out-of-the-box support for HTML5 content (Active reports and Graphs/Charts). I don't know the reasons why they did not make (or have not yet) that an option also for HTML Composer-generated pages, but as David mentioned above, the HTML document will use "strict" and even better, will no longer have that HTML comment at the top of the file which is what makes the browser go into quirks mode so that is a great improvement.
Support for HTML5 in HTML Composer as a Document option somewhat similar to how they handle encoding would be a nice and I think "obvious" addition but I understand that IBI may need to rework most of their existing controls and supporting JavaScript/CSS to fully support that change.
Now, I saw a demo of the new Application Studio tool and its version of HTML Composer is really, really neat. It uses jQuery out of the box and have some new and nicer widgets; I don't know if it users HTML5 or still relies on HTML 4.01 / strict but it's definitely a big step forward in improving the product.