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