On 3/16/15, Richard Hipp <d...@sqlite.org> wrote:
> On 3/16/15, Warren Young <w...@etr-usa.com> wrote:
>> On Mar 16, 2015, at 11:15 AM, Richard Hipp <d...@sqlite.org> wrote:
>>>
>>> The timeline graph is drawn using JS.  Without JS you do not get the
>>> very nice timeline graph.  I don't see any reasonable way around that.
>>
>> Hi, it's the resident pro web app developer checking in again. :)
>>
>> There are at least three ways to create the timeline without Javascript.
>>
>> 1. Build the timeline as a dynamic PNG on the server side, then serve the
>> client a URL to that dynamic PNG.  This requires libpng or similar, some
>> line-drawing API on top of that (e.g. libgd, SDL, etc.), and ideally a
>> place
>> to cache the generated PNG so it doesn't have to be re-generated until a
>> timeline update invalidates it.
>>
>> We actually have code doing this, written before the next two options
>> became
>> widely available.  We'll get around to rewriting it RSN.
>
> The main difficulty is knowing where to put each node of the graph,
> since the vertical space between nodes depends on how long the
> check-in comment is and how it wraps.  And if the operator resizes the
> browser window to be narrower or wider, then the comments will wrap at
> different places and change the spacing.

Is there a css "fill"/"sticky" option that will shrink/grow that ? If
so, it'd be like using a 1x90 image and just declaring it 500x90 so
it's stretched, making a bar, no ?

I haven't worked in this field for long enough that few paradigms have
come-and-gone, but I feel like a gd (or similar) solution isn't
far-fetched.

-bch


> I didn't get far enough down this path to investigate the second
> potential problem:  limits on the sizes of GIF/PNG files.  Some of the
> graphs can be *very tall* - hundreds of thousands or perhaps millions
> of pixels.   Is there a limit on the height of a GIF/PNG file?  And
> will browsers successfully render very tall GIF/PNGs.  Or would it be
> necessary to bring the image up into segments, with a separate server
> round-trip and CGI-process invocation for each chunk?
>
>>
>> 2. Generate the timeline server-side as SVG, and serve it inline on the
>> timeline page.  Of the mainstream browsers with significant market share,
>> only IE8 doesn't support SVG:
>>
>>   http://caniuse.com/#search=svg
>>
>> The only reason there's still a significant chunk of IE8 out there is that
>> that's the last version of IE that will run on XP.  No developer should
>> still be running an unsupported 13 year old OS on his desktop anyway.
>
> Is it wrong to think that any browser that does not support JS
> probably also does not support SVG?  I've never worked with SVG, so I
> don't know its limitations and capabilities.  Can it create the very
> tall graphics required by the Fossil timeline?
>
>>
>> 3. Generate the timeline via <canvas>.
>
> That also requires JS, no?
>
> Some early versions of Fossil actually did this.  The main problem is
> that the canvas is limited in size to 32768 pixels high.  (What was
> the W3C thinking when they speced this!!!)  Lots of timelines are much
> taller than that.
>
> --
> D. Richard Hipp
> d...@sqlite.org
> _______________________________________________
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to