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
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply via email to