- what is the + for ? --> it seems to be used to compose shape, is there another way ?
- what is the @ for ? --> it seems to be for interaction, is it the sole way to use it ?
- what is RTTabTable ? it seems to be something different than view,shape,edges,layout,interaction,builder
- should I care about trachel when I use Roassal?
Some issues with the website:
- section 9 is badly presented: https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Roassal/0104-Roassal.html
And this is the workflow I should use:1- create a view2- create a shape pattern3- create edge pattern4- associate data with shape5- associate data with edge6- define and associate the layout7- define and associate interactions8- build and open the viewIs that right ?
_______________________________________________2014-11-07 12:59 GMT-03:00 jannik laval <jannik.laval@gmail.com>:2014-11-07 12:28 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com>:==="the three following lines are ok for me"v := RTView new.shape := RTEllipse new size: 20; color: Color lightBlue.shape := shape + RTLabel."ok, we are transforming a collection of objects into roassal elements"es := shape elementsOn: (1 to: 20)."and we add them to the view."v addAll: es."my point here is that the visualization is not directly correlated to the objects. Objects are transformed. It means that if I add a new object, I also should add a new element and add it in the visualization. This is not trivial to understand. Why is it not done lazily ?”First, this situation is not common. Visualizing changes of a data set while these changes are occurring has not been a pressing case study Roassal should address. Until you have sent your email :-)Ok, it is interesting to have a new test case :)Let's do it.Let’s go it iteratively. You said : "It means that if I add a new object”How do you want to add it? What about the following scenario:-=-=-=-=-=-=-=-=-=-=myCollection := OrderedCollection new.v := RTView new.v addAll: (RTEllipse elementsOn: myCollection).myCollection add: 1; add: 2; add: 3.v-=-=-=-=-=-=-=-=-=-=If you execute this script, the view will be empty, since elements are created before the collection is filled. However, I have the impression this is what you wish to have?Yes, because when I am using elementsOn: a collection, my idea is that it should take care about the collection, not the items of the collection.I saw the source code, and it is not easy to manage.But in my case, I tried to understand, and extend the RTAnimation that you propose to me, but it is not trivial.It can work with RTAnimation and adding that inside it. That is what I did, but it makes the code unreadable because I add objects, then transform them, then add them to RT with elementsOn:.My question here is: can we do it smarter. You could probably propose me a better way to do that."following lines create edges, it is ok"RTEdgeBuilder newview: v;objects: (1 to: 20) from: [ :i | i // 2 ]."We are applying a layout to a group of elements, not to a view. It means that all the expected behaviors are on the group of elements"RTTreeLayout on: es."Here is strange. Why RTDraggable is applied to es and not to a shape ?"es @ RTDraggable.vShapes are solely about the visual aspect of each individual elements.Does there anywhere a comment to say for each RT class on what they can be applied ?===You know what I mean. Roassal has multiple key elements: objects, elements, view. And I do not see the interactions and builder.I would like to know what is applied to each element.An element is a wrapper to an external provided object (e.g., a number, a file, your object).To an element, you can add a shape (composed or not), and interaction. Elements are added in a view.Builders are at a higher level. Builders offer API to build more sophisticated elements, shapes, interactions and layouts. But it all boils down into shapes and interaction added to elements, and elements added to a view.Ok, I begin to understand. I will try to write something about my understanding and the work I am doing. It can help.I am updating the Roassal chapter with these information.Thank you a lot.Cheers,JannikCheers,AlexandreCheers,Jannik_______________________________________________2014-11-07 10:48 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com>:Hi Jannik,You are raising an excellent point! Designing a documentation that find the right balance between what roassal offers, how people want to use it, and considering the previous knowledge people may have is hardly difficult.Let me try:- There are three sources of documentation for Roassal2: the http://agilevisualization.com book, examples contains in Roassal2, and this mailing list. Chapters about Mondrian, Roassal1 are more than obsolete by now.- You may want to try to work with the core of Roassal. Just focus on the Roassal2-Core then. Just look at the ‘Roassal Example’ in the example browser. Play a bit with it. Once you understand the basic functionalities of Roassal, you can read more about the builders (what I think you are referring to with ‘scripts’). Chapter II.1 in Agile Visualization.An advice: do no try to build any complex Visualization in Roassal without having read the builder infrastructure.Cheers,Alexandre--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
On Nov 7, 2014, at 10:25 AM, jannik laval <jannik.laval@gmail.com> wrote:_______________________________________________Hi Alex,I am trying to use Roassal2. We can do amazing things with it. It is a powerful tool.But, it lakes of documentation. I mean, there are lots of examples and we can reuse them.My problem is that I cannot create something from scratch, just because I do not understand the workflow.You know, I used Glamour and Mondrian, where the workflow were clear. In Roassal2, I am playing with blocks without understanding and without any idea what can be the result before executing it.My problem is not about language or DSL or API.My question is: do you have a document that explain how to think a Roassal script ?It seems that to make something we can do it by multiple way. I just need one way to understand the workflow or creating visualization.Thank you for your help.--~~Jannik Laval~~
École des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
http://www.phratch.com
http://www.approchealpes.info
http://car.mines-douai.fr/
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--~~Jannik Laval~~
École des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
http://www.phratch.com
http://www.approchealpes.info
http://car.mines-douai.fr/
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--~~Jannik Laval~~
École des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
http://www.phratch.com
http://www.approchealpes.info
http://car.mines-douai.fr/--~~Jannik Laval~~
École des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
http://www.phratch.com
http://www.approchealpes.info
http://car.mines-douai.fr/
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev