W3M [LSARC/2008/346 FastTrack timeout 06/03/2008]
Irene Huang
Irene.Huang at SUN.COM
Wed Jun 4 03:12:47 PDT 2008
Closing as approved
Newest version of proposal at
http://sac.eng/Archives/CaseLog/arc/LSARC/2008/346/w3m-proposal-v2.txt
a diff from the old version is at
http://sac.eng/Archives/CaseLog/arc/LSARC/2008/346/w3m-proposal.diff
OR at
http://www.opensolaris.org/os/community/arc/caselog/2008/346/
--Irene
Irene Huang wrote:
> Hi, all
>
> If there's any issues with this case, please reply with an email. If
> not, I am closing this case tomorrow as approved.
>
> Thanks
>
> --Irene
> On Thu, 2008-05-29 at 14:42 +0800, Rick Ju wrote:
>
>> Hi, Brian,
>>
>> We are shipping this because tracker, a desktop search tool, depends on w3m.
>> I will add this info into materials.
>>
>> -rick
>>
>>
>>> Brian Cameron wrote:
>>>
>>>> Could you explain why W3M is needed on Solaris. The FastTrack doesn't
>>>> seem to indicate what need it fills. Dan has suggested elinks is a
>>>> better text-based web browser. Did we consider elinks? What made us
>>>> want to integrate w3m instead of other alternatives?
>>>>
>>>> Brian
>>>>
>>>>
>>>> Shi-Ying Irene Huang wrote:
>>>>
>>>>> Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
>>>>> This information is Copyright 2008 Sun Microsystems
>>>>> 1. Introduction
>>>>> 1.1. Project/Component Working Name:
>>>>> W3M
>>>>> 1.2. Name of Document Author/Supplier:
>>>>> Author: Rick Ju
>>>>> 1.3 Date of This Document:
>>>>> 27 May, 2008
>>>>> 4. Technical Description
>>>>> 1. Introduction
>>>>> 1.1. Project/Component Working Name:
>>>>>
>>>>> w3m a text-based WWW browser
>>>>>
>>>>> 1.2. Name of Document Author/Supplier:
>>>>> Author: Rick Ju
>>>>> Sponser: Irene Huang
>>>>>
>>>>> 1.3. Date of This Document:
>>>>>
>>>>> 05/11/2008
>>>>>
>>>>> 2. Technical Description:
>>>>> 2.1. Details:
>>>>> w3m is a text-based web browser as well as a pager like
>>>>> `more' or `less'.
>>>>> With w3m you can browse web pages through a terminal emulator
>>>>> window
>>>>> (xterm, rxvt or something like that). Moreover, w3m can be
>>>>> used as a
>>>>> text formatting tool which typesets HTML into plain text.
>>>>>
>>>>> w3m has support for tables, frames, SSL connections, color and
>>>>> even inline
>>>>> images on suitable terminals. Generally, it renders pages in a
>>>>> form as true
>>>>> to their original layout as possible. And W3m is small. Its
>>>>> stripped
>>>>> binary for Sparc is only 260kbyte.
>>>>>
>>>>> w3m locally run cgi scripts to test html output (requires *no*
>>>>> webserver).
>>>>> w3m keystroke compatible with lynx and support the keybindings
>>>>> customize.
>>>>> w3m support SSL through the openssl library. And w3m could
>>>>> support cookies.
>>>>>
>>>>> Table rendering algorithm in w3m
>>>>>
>>>>> HTML table rendering is difficult. Tabular environment of LaTeX
>>>>> is not very
>>>>> difficult, which makes the width of a column either a specified
>>>>> value or
>>>>> the maximum width to put items into it. On the other hand, HTML
>>>>> table
>>>>> renderer has to decide the width of a column so that the entire
>>>>> table can
>>>>> fit into the display appropriately, and fold the contents of
>>>>> the table
>>>>> according to the column width. Inappropriate column width
>>>>> decision makes
>>>>> the table ugly. Moreover, table can be nested, which makes the
>>>>> algorithm
>>>>> more complicated.
>>>>>
>>>>> 1. First, calculate the maximum and minimum width of each
>>>>> column. The
>>>>> maximum width is the width required to display the column
>>>>> without
>>>>> folding the contents. Generally, it is the length of paragraph
>>>>> delimited by <BR> or <P>. The minimum width is the lower limit
>>>>> to display the contents. If the column contains the word
>>>>> `internationalization', the minimum width will be 20. If the
>>>>> column
>>>>> contains <pre>..</pre>, the maximum width of the preformatted
>>>>> text will be the minimum width of the column. 2. If the
>>>>> width of
>>>>> the column is specified by WIDTH attribute, fix the column
>>>>> width using that value. If the specified width is smaller
>>>>> than the
>>>>> minimum width of the column, fix the column width to the
>>>>> minimum
>>>>> width.
>>>>>
>>>>> 3. Calculate the sum of the maximum width (or fixed width) of
>>>>> each column
>>>>> and check if the sum exceeds the screen width. If it is
>>>>> smaller than
>>>>> screen width, these values are used for width of each column.
>>>>>
>>>>> 4. If the sum is larger than the screen width, determine the
>>>>> widths of
>>>>> each column according to the following steps.
>>>>> 1. Let W be the screen width subtracted by the sum of
>>>>> widths of
>>>>> fixed-width columns.
>>>>> 2. Distribute W into the columns whose width are not
>>>>> decided, in
>>>>> proportion to the logarithm of the maximum width of each
>>>>> column.
>>>>> 3. If the distributed width of a column is smaller than the
>>>>> minimum
>>>>> width, then fix the width of the column to the minimum
>>>>> width,
>>>>> and do the distribution again.
>>>>> In this process, distributed width is proportion to logarithm of
>>>>> maximum width.
>>>>>
>>>>> The algorithm above assumes that the screen width is known. But
>>>>> it is not
>>>>> true for nested table. According the algorithm above, the column
>>>>> width of
>>>>> the outer table have to be known to render the inner table,
>>>>> while the total
>>>>> width of the inner table have to be known to determine the
>>>>> column width of
>>>>> the outer table. If WIDTH attribute exists there are no problems.
>>>>> Otherwise, w3m assumes that the inner table is 0.8 times as wide
>>>>> as the
>>>>> outer table. It works fine, but if there are two tables side by
>>>>> side in an
>>>>> outer table, the width of the outer table always exceeds the
>>>>> screen width.
>>>>> To render this kind of table correctly, one have to render the
>>>>> table once,
>>>>> check the width of outmost table, and then render the entire
>>>>> table again.
>>>>> Netscape might employ this kind of algorithm.
>>>>>
>>>>> 2.2. Interfaces:
>>>>> Exported Interfaces
>>>>> Interface Classification Comments
>>>>> --------------- ---------------
>>>>> -----------------------
>>>>> w3m CLI Volatile See w3m-help.txt
>>>>>
>>>>> $HOME/.w3m/config Project Private w3m Configuration
>>>>> information
>>>>> SUNWw3m Uncommited w3m end-user
>>>>> packaging contains binary, libraries.
>>>>> SUNWw3m-l10n Uncommited Localization.
>>>>>
>>>>> Imported Interfaces
>>>>> Interface Classification Comments
>>>>> --------------- --------------- -----------------------
>>>>> HTML/XML/HTTP Stable These specs are
>>>>> defined
>>>>> W 3C.org
>>>>> OpenSSL Volatile PSARC/2003/500
>>>>> Firefox Volatile LSARC/2008/158
>>>>> GTK+ Committed LSARC/2006/202
>>>>> libpng Volatile LSARC/2006/202
>>>>>
>>>>> 2.3. Doc Impact:
>>>>> Man page is needed.
>>>>> 2.4. Packaging & Delivery:
>>>>> SUNWw3m (base package) - application i.e
>>>>> binary, libraries
>>>>> SUNWw3m-l10n (localization) - Localization.
>>>>>
>>>>> 2.5. Dependencies:
>>>>> w3m depends on OpenSSL, Firefox, GTK+, and libpng.
>>>>> 2.6. L10N Impact:
>>>>> There are string changes. Hence this should be taken care.
>>>>>
>>>>> 2.7 Security Impact:
>>>>>
>>>>> None.
>>>>> 6. Resources and Schedule
>>>>> 6.4. Steering Committee requested information
>>>>> 6.4.1. Consolidation C-team Name:
>>>>> Desktop
>>>>> 6.5. ARC review type: FastTrack
>>>>> 6.6. ARC Exposure: open
>>>>>
>>>>> _______________________________________________
>>>>> opensolaris-arc mailing list
>>>>> opensolaris-arc at opensolaris.org
>>>>>
>
>
More information about the opensolaris-arc
mailing list