Axel Naumann University of Nijmegen / NIKHEF, NL 2004-02-27 ROOT 2004 Users Workshop The Future of THtml Plans and Status of ROOT’s documentation facility.

Slides:



Advertisements
Similar presentations
Chapter 8 Technicalities: Functions, etc. Bjarne Stroustrup
Advertisements

ContentQuizzesDropbox DiscussionsePortfolio Design Click on a tool name to explore new features: Welcome to 10.3 & ePortfolio 4.3 SLATE: New Features.
 Fundamentals of Web Design.  Describe the history and theory of XHTML  Understand the rules for creating valid XHTML documents  Apply a DTD to an.
XSL XSLT and XPath 11-Apr-17.
HTML 5 and CSS 3, Illustrated Complete Unit L: Programming Web Pages with JavaScript.
Lesson 12- Unit L Programming Web Pages with JavaScript.
Status and Future of CINT Reflex as Reflection Database Object-Oriented CINT Multi-Threading Masaharu Goto, Agilent Philippe Canal, Fermilab Stefan Roiser,
Tutorial 9 Working with XHTML
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
Web Page Behavior IS 373—Web Standards Todd Will.
DT228/3 Web Development JSP: Directives and Scripting elements.
XP Tutorial 1 New Perspectives on JavaScript, Comprehensive1 Introducing JavaScript Hiding Addresses from Spammers.
Working with Cascading Style Sheets. 2 Objectives Introducing Cascading Style Sheets Using Inline Styles Using Embedded Styles Using an External Style.
September 15, 2003Houssam Haitof1 XSL Transformation Houssam Haitof.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
Business Optix Library Service – Workflow
Bertrand Bellenot root.cern.ch ROOT I/O in JavaScript Reading ROOT files from any web browser ROOT Users Workshop
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
DNN Evoq 8 CMS College of Pharmacy IT. COP Web Management History  Demands for Pharmacists have decreased in the past 3-4 years.  Student registration.
PLUG INS flash, quicktime, java applets, etc. Browser Plug-ins Netscape wanted a method to extend features of the browser became an unofficial standard.
Creating a Simple Page: HTML Overview
Pemrograman Berbasis WEB XML part 2 -Aurelio Rahmadian- Sumber: w3cschools.com.
Javascript and the Web Whys and Hows of Javascript.
Working with Cascading Style Sheets. Introducing Cascading Style Sheets Style sheets are files or forms that describe the layout and appearance of a document.
XP Tutorial 7New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with Cascading Style Sheets Creating a Style for Online Scrapbooks.
CS346 - Javascript 1, 21 Module 1 Introduction to JavaScript CS346.
XP The University of Akron Summit College Business Technology Department Computer Information Systems 2440: 140 Internet Tools Instructor: Enoch E. Damson.
© Ms. Masihi.  The Dreamweaver Welcome Screen first opens when you start Dreamweaver.  This screen gives you quick access to previously opened files,
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Dynamic Action with Macromedia Dreamweaver MX Barry Sosinsky Valda Hilley.
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
Client Scripting1 Internet Systems Design. Client Scripting2 n “A scripting language is a programming language that is used to manipulate, customize,
Css. Definition Cascading style sheet (CSS) Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Enabling High-Quality Printing in Web Applications
Programming for Geographical Information Analysis: Advanced Skills Lecture 1: Introduction Programming Arc Dr Andy Evans.
1 JavaScript in Context. Server-Side Programming.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
DemocracyApps, Inc. Community Budget Explorer A Technical Overview.
JavaScript - A Web Script Language Fred Durao
1 Introduction  Extensible Markup Language (XML) –Uses tags to describe the structure of a document –Simplifies the process of sharing information –Extensible.
Louisa Lambregts, Louisa Lambregts
THtml  THtml will generate >=1 doc.root file .html pages generated from doc.root files by April (Feb doesn't exist)  Bertrand: extract doc for online.
CNIT 132 – Week 4 Cascading Style Sheets. Introducing Cascading Style Sheets Style sheets are files or forms that describe the layout and appearance of.
9/12/99R. Moore1 Level 2 Trigger Software Interface R. Moore, Michigan State University.
National Aeronautics and Space Administration TablePress Evaluation & Section 508 Accessible Tables with Visual Editor WP Workshop, 3/19/2014.
THtml rev 2.0 Status and Plans of ROOT’s documentation facility Axel Naumann / Fermilab.
Overview of Previous Lesson(s) Over View 3 Program.
Tutorial 9 Working with XHTML. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Describe the history and theory of XHTML.
South Dakota Library Network SFX Management Basics A – Z List & Citation Linker South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD
Axel Naumann. Nada FTE  LLVM + cling would take 4 years  when done, move to next hot-spot in ROOT Axel Naumann ROOT Team Meeting2.
Dr. Mark L. HornickCS-1030 Dr. Mark Hornick 1 C++ Global functions Declarations & Definitions Preprocessor Directives.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
XP Tutorial 7New Perspectives on HTML and XHTML, Comprehensive 1 Working with Cascading Style Sheets Creating a Style for Online Scrapbooks Tutorial 7.
*DT Project Model Leo Treggiari Intel Corp. Dec, 2005.
Working with Cascading Style Sheets
Getting Started with CSS
ODF API - ODFDOM Svante Schubert Software Engineer
Unit M Programming Web Pages with
Cascading Style Sheets (Introduction)
Cascading Style Sheets (Introduction)
Background We would like to combine existing User guide and Admin guide currently in PDF form into a single HTML master site This master HTML site will.
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
Programming Arc.
Presentation transcript:

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop The Future of THtml Plans and Status of ROOT’s documentation facility

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 2 Why is THtml important? Obviously for ROOT – but there is more: Users combine different code packages, demand for (uniform) documentation ROOT is everywhere – THtml widely used for documentation of non-ROOT code Future: delivers content to ROOT’s online, context sensitive help system

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 3 Do We Need a New Implementation? THtml’s horizon “limited by CINT”, but code usually compiled with ACLiC ROOT allows “foreign” code – so should THtml Too many feature requests saying “my compiler understands it, why doesn’t THtml” Help system needs doc objects, but THtml generates HTML Answer: YES.

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 4 Can’t We Use Another Tool? Could be Doc++, Doxygen,... Don’t understand ROOT doc syntax No interface to ROOT’s RTTI No doc objects generated but text files No multiple, independent code packages No versioning O(10) slower (Doxygen takes >20mins) Answer: NO.

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 5 Goals Support for complete c++ syntax friend, operator, inline, typedef, template, struct,… C preprocessor and c++ parser Current THtml doesn’t parse c++ tokens but characters – slower & no way to integrate a code parser Need CPP to get valid c++ and to document CPP macros Fast (at least as fast as current) Small (only a few files, simple & clean interface – Rene would prefer 1 class with 10 lines of code) Source “beautifier” understanding c++ syntax e.g. count method calls to determine how important it is

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 6 Goals Documentation objects, independent of output Content for ROOT’s online help, doc objects in file Generate HTML doc from file – parse once, output many Versioned documentation Often doc is needed for older releases Allow for non-ROOT doc syntax Seamless linking of separate documentation sites Not only UserLib  ROOT, but also UserLib1  UserLib2 Need doc object file for UserLib2 to link doc against it

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 7 Design Linked tokens are passed through layer of parsers (CPP parser, type parser, doc extraction) Allows for easy maintenance & customization Nice OO structure with independent parsers Fast, parsers ignore classes of tokens (e.g. CPP) Tiny memory usage Cross-linked documentation objects for doc elements: packages, modules, files, namespaces, classes, methods…

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 8 Design - Customization Extensive customization abilities: split code into packages (ROOT, AliROOT,…) specifying versions split packages into modules (e.g. libraries) specifying source dirs (i.e. not relying on ClassImp) add doc elements of external packages for parsing

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 9 Design - Interfaces Most important: hide everything! same old (but lightweight) interface MakeAll, MakeClass, talking to doc manager, reads doc objects from file (using rlibmap to find file for class) or generates them THtmlNewROOT online help DocManager docfile.root Parser SourceBeautifyHtmlGenerator

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 10 Status Not usable yet :-( Not in ROOT’s cvs yet Concept seems to work 4500 lines of code in 7 header / source files Runs over all (i.e. Unix and WinNT) ROOT sources (1660 files) in 1 minute: tokenizing, CPP’ing and extracting all types & methods

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 11 Design of HTML Pages I need comments from you: What do you want a doc page to look like? Plain typewriter pages, or condensed “stylish” ones? Sorting methods by frequency of usage a good idea? To trigger discussion: peek on possible HTML layout Uses optional CSS2, Javascript and cookies Plain html files on server-side (no cgi/php/…) Works on IE6, Mozilla 1.6, NS4, Opera7

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 12 HTML Output Example

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 13 HTML Output Example Modules (or alphabetical list)

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 14 Page header with location (package, version, module, type) and basic type properties (include file, library, ClassDef’ed) HTML Output Example

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 15 Member overview – expand to see documentation HTML Output Example

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 16 HTML Output Example (Method) Documentation shown by clicking method name

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 17 HTML Output Example (Go to Class) Switch to different class using menu

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 18 HTML Output Example (Go to Class)...or “JumpTo” box

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 19 Example Only showing TExMap’s local methods Click “Show Derived” and...

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 20 Example...TObject’s methods will be added

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 21 Example

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 22 Is Help In Reach?

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 23 Is Help In Reach? Parser 70% done tokenizer, CPP, templates & most types done Manager 70% done (missing: doc file) Generate on-demand, manage doc elements, packages & modules, parsing by source dirs Doc elements 90% done Output generator 0% done

Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop 24 Is Help In Reach? Needs about 3 months of continuous work for basic version Available for 6 months starting October ’04 – need bread & water, though... First version by end of the year!