 |
ITS Standards A forum for users of ITS standards
|
| View previous topic :: View next topic |
| Author |
Message |
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
Posted: Fri Sep 17, 2004 3:05 pm Post subject: Adding hyperlinks to standards documents |
|
|
There has been debate recently on how we can go about posting the message set standard on a web page type media and how we can add hyper-links to the issued standard so that the reader can easily go from one page to another, Attached is a sample page using a new style of report based on what I have heard in this regard. Let hear come comments pro and con on this and see if people think it will serve before building it.
A few comments on the major sections follow. The basic report style here is the one used by SAE and IEEE for standards, but with limited style changes it fits all the other SDOs as well. This is basically the report you get when you run the “First Word” product.
Forward linking
This uses the “used by” section of the current report generation make multiple calls to the database and then extracts and lists other places where the current entry is used in a short table. This is an “upward” link and in the current document sis simply printed out by name (no hyper-link).
Downward linking
The actual ASN (and the XML) has the formal name of other elements which make up a data frame or a message. In this example these have all been turned into hyper links (while keeping the code style formatting) This provides a "downward" link. In the current document you have the turn back to the table of contents, find the entry by name, then use the hyper-link there to reach it.
Multiple links points
Each entry would be linked to at the head (where the descriptive name is) and also at the ASN name and at the XML name. All three of these links would be woven together to allow transferring the document within the same view point (i..e you could link from one XML entry to another XML entry and in a similar fashion for ASN entries).
Note that all of these hyper-links could be removed and the document would still have the same basic information, you would simply have the turn the pages yourself. This is an important issue for the standards organizations that still need to produce a final products in printed paper. I envision having a simple on/off switch to render out documents without such links as needed and another switch that will render them to sets of single webs pages for posting and exchanging.
There are some additional features which I would like to add to the document production process mentioned in the examples as well, but I will leave these for another day.
Again, comments are solicited on this style and how to make it serve better.
| Description: |
| An example page rendered in Word. See if this has enough links for you! |
|
 Download |
| Filename: |
ExampleReport.doc |
| Filesize: |
97 KB |
| Downloaded: |
358 Time(s) |
| Description: |
| An example page rendered in HTML (and poorly at that as it comes from Word) Unzip this first. |
|
 Download |
| Filename: |
ExampleReport.zip |
| Filesize: |
7.65 KB |
| Downloaded: |
366 Time(s) |
_________________ DC Kelley |
|
| Back to top |
|
 |
 |
FHWA requests your thoughts on:
Building a Reference Implementation node
Read the request and thread, and get the survey form here
|
Consider how much easier YOUR life would be if there was place
on the web where you could go to see ITS work or to test your own
work.
Please participate in the survey.
|
|
|
|
|
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
Posted: Sat Sep 18, 2004 1:54 pm Post subject: Rob Ayers says... |
|
|
At 11:52 AM 9/18/2004, Rob Ayers wrote:
Dave-
When I clicked on the one you commented try this, it did what I was looking for--that is link me to the place where the item is defined. Clicking on other items spawned a browser & took me to search.com??? Perhaps those were not working in the example.
Would prefer not to include the 'used by' table in the base document if we don't have to, would prefer that to be output to a separate informative file.
Thanks
Rob
Last edited by DC Kelley on Sat Sep 18, 2004 1:56 pm; edited 1 time in total |
|
| Back to top |
|
 |
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
Posted: Sat Sep 18, 2004 1:55 pm Post subject: Need more info |
|
|
I made the other links (which would go to almost all pages and parts of a 700 page report I was not going to connect by hand) just go to www.search.com to demonstrate the concept. Only the links back and forth to those two entires work "inside" the document. I wanted to get a feel for what a typical entry would look like with all those blue lines .
I think SAE and IEEE would want to keep the "used by" entry in the document as they do now because it makes for a complete set of cross references. To turn this off, simply un-check the button "include cross links" in First Word. When you say print it "to a separate informative file" that can be done but what would you want to link to? Just the name of the other entry? Perhaps you can edit the sample pages to show me what you want.
|
|
| Back to top |
|
 |
Site Admin Site Admin

Joined: 24 Jun 2004 Posts: 368 Location: Off at yet another ITS standards meeting
|
Posted: Wed Oct 06, 2004 4:44 pm Post subject: The TCIP feature list |
|
|
The followng comes from the ISO WG 9 TCIP committee working group who have been trying to establish a "wish list" of key features they feel is needed in their standard to address deployment needs.
[This document was produced at about the same time, and they did not see the above thread, so the thought are all a bit dis-joint from each other at this point]
TWG 9 and TWG Chairs:
Paul Slonaker put together a list of baseline requirements for the cross
reference table(s). Please review these, edit and comment on the
document.
The purpose of the table are two-fold,
(1) to support review of the content requirements of the TCIP standard
during this review period
(2) aid developers in navigating through the document to identify
-- content requirements supported by messages and embedded data frames
-- relationships among messages and data frames to help map data
repositories and data maps to TCIP messages to ensure referential
integrity of the messages.
Thanks for your review.
I believe that Rob needs these requirements soon, so please send me your comments by the COB Friday. I'll compile them, send them to Rob and distribute them to this mailing list. If you think there are others
(in your company or TWG) who may want to contribute to these requirements, please feel free to forward the materials to them. I will
put them on the mailing list when I distribute the final version.
Thanks for your help. Polly
| Description: |
| Draft Document linking requirements form TCIP |
|
 Download |
| Filename: |
TCIP_TWG9_XRef_Reqt.doc |
| Filesize: |
24.5 KB |
| Downloaded: |
336 Time(s) |
|
|
| Back to top |
|
 |
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
Posted: Thu Oct 07, 2004 2:51 pm Post subject: More requirements |
|
|
Here is a more flushed-out document after the group meet last reflecting more of what is wanted. My own feelings (Kelley) is that this is quite doable and should not be hard to implement in the next quarters improvements.
| Description: |
| Requirements from TCIP users, more flushed out |
|
 Download |
| Filename: |
Crossreference-Requirements.doc |
| Filesize: |
33 KB |
| Downloaded: |
354 Time(s) |
|
|
| Back to top |
|
 |
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
Posted: Thu Oct 07, 2004 3:59 pm Post subject: What does closure mean here? |
|
|
I am looking at the requirements expressed in this document and think most of them are easy to understand and fairly direct to build. The document has gotten much more mature since I saw it last. However the last item (#6) dealing with "closure" still confuses me and I can not quite visualize what is really wanted. Is there a well formed fragment somewhere that illustrates this?
Quoting that part of the document which confuses me:
| Quote: | | The next requirements focus on the closure of an element. That is, for a given element, what is the set of all elements that are either 1) ancestors of (parents or grand-parents of, etc) or 2) descendants of that element. For a data element, this would be the set of all data frames that use that element, plus the set of all messages that use any of those frames. For a message, this would be the set of all data frames that is uses, plus all of the data elements used by those frames. Or, perhaps, it is more important to look just at the data elements used (indirectly) by a message, or at the messages that use (indirectly) a particular data element. |
What is the rational for this requirement, or what is the benefit? I can see some value in having a sort of pop-up hover image with the next nested down contents of an elements, but that is starting to get rather complex. I have only seen this type of requirement in the need to correctly export a sub-schema (a sub set of the entire set of messages) to ensure that all the needed sub parts were obtained. That need (the ability to select an entry and all the other dependent entries needed to build it) is a good one to build into a database tool, but I am not sure how it is really used in the context of documentation viewing.
|
|
| Back to top |
|
 |
Site Admin Site Admin

Joined: 24 Jun 2004 Posts: 368 Location: Off at yet another ITS standards meeting
|
Posted: Mon Oct 11, 2004 8:19 pm Post subject: Continued threads on how this should all work |
|
|
The following reprises continued discussion by email among several people regarding how this should all work. Thanks to Paul Slonaker for reformatting things into a readable linear form.
From: Paul Slonaker <p_slonaker@yahoo.com>
I'd like to weigh in with some comments on what
Jon and Dave have said. I'll preface Jon's
comments with JL> and Dave's by DK>. I have
rearranged their quotes somewhat to make it
easier for me to reply to them; please accept
my apologies if by doing so I've misrepresented
anyone. (I've also changed everything back into
plain text - without, I hope, losing too much
readability.)
---------------------------------------------
DK> One of the things that struck me as strange
DK> about the WG9 comments set was
DK> that the table like the one you propose is
DK> a stand alone document. This
DK> seems to be a history thing with TCIP but I
DK> feel I need to ask while
DK> people want to do it that way. You are
DK> going to end up with two sets of
DK> long tables for each entry (one for what is
DK> in an item and another for
DK> where that item is used)
My understanding, and I hope that someone will
correct me if I'm wrong, is that the main desire
is that the user not have to buy or even just
download and install a special tool to view
the cross-reference. At first blush, putting
all of the cross-reference info into an HTML
document yields that freedom while providing
the necessary navigation ability. If this is
not practical given the size of the standard
(and the cross-reference provided by ARINC was
large enough to be cumbersome), then we will
have to reconsider this.
A clarification: Let me be very clear that the purpose of Mini-Edit is as a tool for the standards producers, not to trap anyone into needing a custom tool of any sort. [ Although a growing number of deployment use it manage data as well] The output of the Mini-Edit work is a Word Document (or PDF or HTML), or XML or ASN files - all things you can then read and play with without having to purchase any anything. Everything it does you can do yourself by hand, it is just much fast at it and automates the drudgery involved. The tool is free to all, as part of the FHWA support program. If we can come to agreement on what this linking feature is that different SDOs want, then I will have our programmers add it to the tool suite and all the standards not just TCIP) will end up using the result.
DK> The reason I ask this is because in the
DK> SAE and IEEE work, we build one long (some
DK> would say huge) document with all the links
DK> forward and back in one place. We do that
DK> now, we simply have the add the hyperlinks
DK> in the right places. It seems to me this
DK> is clearer than having a separate document.
DK> Having gotten that off my chest, it would
DK> be no be a big deal to build it both ways
DK> and let the end user render it either way
DK> as they prefer.
I agree; I think that it would be optimal if
this kind of navigation was built into the
standard "document" itself.
DK> I also expect in the next go round that we
DK> will start rendering entries as single web
DK> pages to support better web access to the
DK> work, and the link design need to support
DK> this as well.
Yes. The standard would not necessarily
consist of a single document, but would be more
of a database with multiple views (one of which
would be separate web pages as you suggest).
------------------------------------------------
JL> Your revised example uses a frame (F1) in
JL> an element (E1) and (E3), which
JL> is not possible.
DK> I do not see why you say which is not
DK> possible here, could you help to me
DK> understand the violation you see.
I think that the problem was that the ASN.1
and the used-by examples seemed to bear an
inverse relationship to each other.
The ASN.1 example was:
| Code: | DK> Frame1 ::= SEQUENCE {
DK> itemA Entry1 OPTIONAL,
DK> itemB SEQUENCE OF (1..3) Entry2,
DK> itemC Entry3 (10..15)
DK> } |
and the used-by example was:
| Code: | DK>(F1) used by:
DK> (E1) OPTIONAL
DK> (F3) Occurs 1 to 3 times
DK> (E2) Limited to values 10 to 15 |
which is sort-of inside-out by comparison to
the ASN.1 example. Jon's point was that you
wouldn't have a frame F1 being used by an
element such as E1 or E2.
---------------------------------------------
DK> I did not understand your prior comment
DK> of therefore (E1) is overloaded in (M1)
DK> either. Absence some other
DK> constraint, this is perfectly valid ASN.1
I think that Jon was alluding to a situation
where an element appearing more than once in
a message meant that there was some needless
or harmful redundancy. But I agree with Dave
that the ASN.1 is valid - the element E1
could occur more than once, whether or not
each time it has the the same meaning. If
there is indeed a redundancy, then there have
to be other indications that would allow the
reviewer to spot it. More on this below.
----------------------------------------------
DK> And I have to ask why not, at that point,
DK> just put the links directly in
DK> the ASN source listing anyway?
JL> The whole concept of "Closure" is the
JL> ability to drill --UP--, your
JL> example of embedding the hyperlinks in the
JL> definition is used to drill --DOWN--.
DK> I agree, and think we need to understand
DK> how to present both directions in a simple
DK> way. My real point was that the -down-
DK> layout is already well provided by the ASN
DK> so why not use that
I agree with Dave that the ASN.1 already
provides a well-defined and agreed-upon
representation that would work well with
hyperlinks that drill down. This seems to me
to be one very good way to navigate (downward)
through the standard.
JL> I suppose the concept could work both ways,
JL> if the left of "=" (Frame1)
JL> drills-up, and the right of "="
JL> (Entry1, Entry2, Entry3) drills-down.
DK> I do not think so because the up direction
DK> is (potentially) a one to many mapping, so
DK> we will end up mapping to (at the least)
DK> some listing of each of the entries from
DK> which the user can then pick which one to
DK> visit.
Exactly; that's why we need some sort of list
of places where the entity is used. (Let's
call it a "used-by" list
The simplest would be to just have a list of
the names of the ASN.1 constructs that use the
entity, where the names are hyperlinks to the
ASN.1 definitions of those constructs.
To adapt the earlier example, the
used-by report for Frame1 might be:
| Code: | Used By: _Message1_, _Message3_, _Message4_
Frame1 ::= SEQUENCE {
itemA _Element1_ OPTIONAL,
itemB SEQUENCE OF (1..3) _Element2_,
itemC _Element3_ (10..15)
} |
Where Message-n and Element-n would all link
to the used-by reports for each. (I've used
underscores to show which are links.) This
would allow the user to navigate both upwards
and downwards through the standard.
It might be useful to add more information to
the used-by part. For example, it might be
useful to be able to directly compare the
contexts within which the frame is being used.
This might look like:
| Code: | Used By:
(_Message1_) aframe1 : Frame1 OPTIONAL
(_Message1_) arfame1 : Frame1
(_Message1_) aframe8 : Frame1
(_Message3_) frame1array : SEQUENCE OF
(1..10) Frame1
(_Message4_) aframe1 : Frame1
Frame1 ::= SEQUENCE {
itemA _Element1_ OPTIONAL,
itemB SEQUENCE OF (1..3) _Element2_,
itemC _Element3_ (10..15)
} |
And the reviewer might be able to see things
like:
1) Frame1 is used three times within Message1,
which is ok, but the second and third usages
may be questionable. (This gives some ability
to look for redundancies.)
2) Frame1 is used as a scalar element in one
message, and as an array in another - does that
make sense in the message contexts?
3) Frame1 is optional in Message1 but not in
Message4 - does that make sense?
This is something like being able to apply
unix grep to the ASN.1. Like grep, the
problem lies with the potential size of the
used-by list. For some simple, often-used data
elements, I suppose that the list could be
extremely long. Perhaps this could be under
the user's control, so that the user could
toggle between seeing just the names of the
using entities and seeing the contexts, in
order to expand/contract the amount of data
presented.
|
|
| Back to top |
|
 |
Site Admin Site Admin

Joined: 24 Jun 2004 Posts: 368 Location: Off at yet another ITS standards meeting
|
Posted: Mon Oct 11, 2004 8:24 pm Post subject: Further thoughts |
|
|
Also re-posted to follow the thread:
As soon as I had sent my previous message, I realized that I had not talked about "closure". I'll try to explain what I mean by this, and the rest of you can decide if it's useful enough to require.
Remembering the previous example,
| Code: | Used By: _Message1_, _Message3_, _Message4_
Frame1 ::= SEQUENCE {
itemA _Element1_ OPTIONAL,
itemB SEQUENCE OF (1..3) _Element2_,
itemC _Element3_ (10..15)
} |
This time let's look at one of the elements:
| Code: | Closure: _Frame3_, _Message1_, _Message3_,_Message4_, _Message5_
Used By:
(_Frame1_) itemC Element3 (10..15)
(_Frame2_) whatever Element3 OPTIONAL
Element3 ::= SEQUENCE {
id INTEGER
value NAME8
} |
(Where Frame3 is a data frame that uses
Frame2 and is, in turn, used by Message5.)
This example shows that the closure is the
set of entities that depend indirectly on
this element: they don't use it directly,
but they use something else (that may use
something else) that uses this element.
In this case, it's the messages that this
element becomes part of, but also a frame
(Frame3) that doesn't use Element3 directly.
I had originally thought that this might
be useful downward as well, to see all
of the elements that are used (directly
and indirectly) in the definition of a
message. But since it's easier in general
to drill down than up, I think that the
downward closure is probably not all that
useful.
Paul E. Slonaker
Principal, Transformative Software Engineering
Phone: 781-646-2377
Email: pes@transformativesoftware.com
Web: www.transformativesoftware.com
|
|
| Back to top |
|
 |
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
Posted: Tue Dec 14, 2004 10:13 am Post subject: Some related information |
|
|
FYI: Some related information on the general subject of automated publishing methods and converting between Word and XML and a database can also be found at this thread:
http://serv4.itsware.net/bb/viewtopic.php?t=636
|
|
| Back to top |
|
 |
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
|
| Back to top |
|
 |
DC Kelley Site Admin

Joined: 24 Jun 2004 Posts: 1068 Location: Lost in LA
|
Posted: Mon Jan 22, 2007 7:39 am Post subject: |
|
|
I just came across this thread while reviewing the most read topics (this was in the top ten). It has been a year, so a short update may be in order.
At this point this function (adding hyper links to listings) is universally loved and many people have come to depend on it. The tool can go document over 30,000 links or more (even thought Microsoft claims this should not be possible, and frankly no one wants to read docs that long). It still takes time (5 minutes to render a ~250 page std, 50 minutes to link it).
I can not imagine reading a standard without it anymore. Committee document reviewers have learned that if they DON'T see a link on a bit code, it likely means that the element in question has a problem, so it is helping people do better reviews, besides making the page turning process go away. The only real problem to report is that those SDOs that want render final standards to PDFs are still having issues with the Adobe tool not handling hyper links well. Some of the 3rd party tools do it fine, but Adobe seems to have made it harder in recent releases.
This is so damn useful that I have taken to rendering deployment projects the same way. I take the schema set they want to use, hack it down from the issued standard and add local content (the same process any deployment must deal with) but then I run the resulting product past the First Word tool and issue a nice composite document they can use in procurement and in actual vendor/code validation work. Take a look at the AzTech project in the schema repository for some examples of this. Perhaps in time we can make this available by way of a web service to others.
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|