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