Let me know if this works for you Cheers, Alexandre
> On Jun 20, 2015, at 2:46 PM, Alexandre Bergel <alexandre.ber...@me.com> wrote: > > Hi Offray, > > The problem is rather easy to solve. Consider this script: > > -=-=-=-=-=-=-=-=-=-=-=-= > timeline := FossilTimeline new. > timeline importFromUrl: > 'http://mutabit.com/deltas/repos.fossil/piamed/libro/doc/tip/Libro/timeline-buscador.json'. > > > "Visualization" > view := RTMondrian new. > view nodes: timeline commits. > view edges > connectFrom: #parents. > view layout tree. > view. > -=-=-=-=-=-=-=-=-=-=-=-= > > Apparently, each fossil commit has a parent. The parent could be nil (which > is okay). > Why do you call the variable “parents” and not “parent” ? > > Cheers, > Alexandre > >> On Jun 19, 2015, at 9:41 AM, Offray Vladimir Luna Cárdenas >> <off...@riseup.net> wrote: >> >> Alexandre, >> >> Could you please run this: >> >> ~~~~~~~~~ >> "Adapted from: https://vimeo.com/116886609" >> | view timeline | >> >> "Loading package for working with fossil" >> "Integration with external tools" >> Gofer new >> smalltalkhubUser: 'Offray' project: 'Grafoscopio'; >> package: 'Grafoscopio-ExternalTools'; >> load. >> >> "Extracting data" >> timeline := FossilTimeline new. >> timeline importFromUrl: >> 'http://mutabit.com/deltas/repos.fossil/piamed/libro/doc/tip/Libro/timeline-buscador.json'. >> >> "Visualization" >> view := RTMondrian new. >> view nodes: timeline commits. >> view edges >> connectFrom: [#parents first]. >> view layout tree. >> view. >> "(timeline commits at: 1) parents first" >> ~~~~~~~~~ >> >> At the end you will get a set of squares visualized like this ones: >> >> <jcjdcjje..png> >> ^Up Graphic 1: Trying to understand edges. >> >> These squares are representations of FossilCommits objects imported from a >> Json file, and the "connectFrom: [#parents first]" is the line I'm having >> problems with. "#parents first" is the message I send to each node to know >> its parents in that very collection of commits, so I imagined that if I put >> that as the block argument for "connectFrom" I would get a nice tree, >> similar to the graphic 2 below. I don't get what's happening here or what >> I'm missing. >> >> <cfbfiagc..png> >> ^ Up Graphic 2: A nicely drawn mondrian tree layout for RTLayout. >> >> Any help on how to get tree like visualizations for this Fossil objects >> would be greatly appreciated. >> >> Thanks, >> >> Offray >> >> Ps: Something was happening with ws.stfx.eu this morning at 7:00 (GMT -5) >> and trying to publish a workspace gives a 500 error. >> >> >> On 16/06/15 16:08, Alexandre Bergel wrote: >>> I am not really following. Hard to guess here. >>> >>> Can you make the image accessible for me? I can then have a closer look at >>> it. >>> >>> Alexandre >>> >>> >>> >>>> On Jun 15, 2015, at 3:18 PM, Offray Vladimir Luna Cárdenas >>>> <off...@riseup.net> >>>> wrote: >>>> >>>> Hi all. Is me again :), >>>> >>>> I have being fighting all this morning trying to bet a better >>>> understanding of edge connections and tree layouts. I'm making some >>>> progress, but still I don't grasp it. At [1] you can find my starting >>>> example. So far, so good, so I created my own variation for my own data at >>>> [2]. My main issue is the #connectFrom message argument. If you uncomment >>>> the last line of [1] you will see that sending the #superclass message >>>> gives me an object that is of the same kind that the ones have been added >>>> to the view previously and I imagine that the reason they can be connected >>>> in a tree. With the example at [2] the message [#parents first] gives me a >>>> fossil commit object, but if I ran the code, the nodes are unconnected. >>>> What I'm missing? >>>> >>>> [1] >>>> http://ws.stfx.eu/DK3VNXBVAHXF >>>> >>>> [2] >>>> http://ws.stfx.eu/DHF4VIR8TSPC >>>> >>>> >>>> Thanks, >>>> >>>> Offray >>>> >>>> On 15/06/15 06:47, Offray Vladimir Luna Cárdenas wrote: >>>> >>>>> Hi Peter, >>>>> >>>>> Thanks for your quick answer. I was pretty curious about trying to >>>>> implement some of this ideas, but only until today I had the proper time >>>>> to do it. I ran your code and now I'm trying to translate the ideas on it >>>>> to my problem: Drawing a tree for the story of a fossil repository. >>>>> >>>>> First, using the procedure at [1] I was able to export a fossil commit >>>>> repo history as Json and by running the script at [2] I was able to get a >>>>> small set of dots, which represent dictionaries with all commit data, >>>>> including ancestors for each node, like the attached screenshot shows. In >>>>> the video at [3] at 1:06 min, seems that lays the key for my >>>>> visualization, but for that I need to create a fossil commit object that >>>>> can understand the #ancestor message. Because I already have them as >>>>> dictionaries thanks to NeoJson, seems that I'm really close to get the >>>>> visualization I'm looking for. I hope to work on it this morning and >>>>> return to the list with data visualizations or more questions. >>>>> >>>>> >>>>> [1] >>>>> http://stackoverflow.com/questions/30577090/how-to-export-fossil-scm-timeline-to-another-format/30584926#30584926 >>>>> >>>>> [2] >>>>> http://ws.stfx.eu/A5C8JJMA2HUK >>>>> >>>>> [3] >>>>> https://vimeo.com/116886609 >>>>> >>>>> >>>>> Cheers, >>>>> >>>>> Offray >>>>> >>>>> >>>>> >>>>> On 02/06/15 05:09, Peter Uhnák wrote: >>>>> >>>>>> HI Offray, >>>>>> >>>>>> I gave it a quick bash and come up with the following code. It's just a >>>>>> prototype and could be greatly simplified. >>>>>> >>>>>> - MCVersionInfo ancestors for whatever reason returned empty array down >>>>>> the line (so its cut off at the end), but I didn't investigate the >>>>>> problem >>>>>> - edge building and possibly ancestor retrieval could be simplified with >>>>>> builders; I think RTMondrian has methods for it but can't remember >>>>>> exactly (agilevisualization mentioned RTGraphBuilder but that has been >>>>>> removed to my knowledge) >>>>>> >>>>>> ~~~~~~~~~~~~~~~ >>>>>> mc := MCSmalltalkhubRepository allInstances detect: [ :m | m project = >>>>>> 'Roassal2' ]. >>>>>> >>>>>> root := mc versionInfoFromFileNamed: mc readableFileNames first. >>>>>> >>>>>> family := Set new. >>>>>> retriever := nil. >>>>>> retriever := [ :child | >>>>>> family add: child. >>>>>> child ancestors do: [ :a | retriever value: a ] >>>>>> ]. >>>>>> retriever value: root. >>>>>> obs := family asGroup. >>>>>> >>>>>> v := RTView new. >>>>>> es := RTEllipse new size: 15; color: Color blue; elementsOn: obs. >>>>>> v addAll: es. >>>>>> >>>>>> edges := RTEdge >>>>>> buildEdgesFromObjects: obs >>>>>> from: #yourself >>>>>> toAll: #ancestors >>>>>> using: (RTArrowedLine new withShorterDistanceAttachPoint; color: Color >>>>>> red) >>>>>> scope: es. >>>>>> v addAll: edges. >>>>>> >>>>>> es @ RTDraggable. >>>>>> es @ (RTLabelled new text: [ :m | m nameWithout: 'Roassal2' ]). >>>>>> >>>>>> v @ RTDraggableView. >>>>>> v @ RTZoomableView. >>>>>> >>>>>> RTDominanceTreeLayout new >>>>>> verticalGap: 30; >>>>>> horizontalGap: 15; >>>>>> on: es. >>>>>> >>>>>> v open >>>>>> ~~~~~~~~~~~~~~~~ >>>>>> >>>>>> >>>>>> <Mail Attachment.png> >>>>>> >>>>>> Cheers, >>>>>> Peter >>>>>> >>>>>> >>>>>> On Tue, Jun 2, 2015 at 5:39 AM, Offray Vladimir Luna Cárdenas >>>>>> <off...@riseup.net> >>>>>> wrote: >>>>>> Hi, >>>>>> >>>>>> On a closer detail, seems that [1] contains the starting point I'm >>>>>> looking for. I'll keep you posted and of course any other approach will >>>>>> be listened. >>>>>> >>>>>> [1] >>>>>> https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Roassal/0104-Roassal.html >>>>>> >>>>>> >>>>>> Cheers, >>>>>> >>>>>> Offray >>>>>> >>>>>> >>>>>> On 01/06/15 22:04, Offray Vladimir Luna Cárdenas wrote: >>>>>> Hi all, >>>>>> >>>>>> I had asked a similar question before with no much advances, but today I >>>>>> made a discovery that can improve the things a lot: how to export >>>>>> timeline data as structured JSON [1] (and of course this open the >>>>>> possibility to work with it on Pharo). Now I would like to graph the >>>>>> data as a tree with forks, merges and dates and authors of commits. I >>>>>> have seen chronia, but seems overkill for this feature (and is >>>>>> integrated with CVS only). >>>>>> >>>>>> [1] >>>>>> http://stackoverflow.com/questions/30577090/how-to-export-fossil-scm-timeline-to-another-format/30580043#30580043 >>>>>> >>>>>> >>>>>> As usual, any pointer on how to get this going will be greatly >>>>>> appreciated and I will give feedback to the community on how to do it. >>>>>> >>>>>> Cheers, >>>>>> >>>>>> Offray >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >> > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.