Call for Participation in the Smalltalk Devroom at FOSDEM 2012.
"A devroom for the Pharo, Squeak, GST, Etoilé,
Seaside, Moose Smalltalk projects. Smalltalk environments
offer a very high development productivity, unmatched by
their successors. Come do some pair programming with us
and experience the advantages of a real OO environment."
The meetup will take place Sunday, February 5, 2012,
from 9AM until 5PM, room AW1.126. This room has 72 seats,
a VGA video projector and wireless internet.
More information will be available later.
Proposals on content and format are welcome.
People interested in running a session should announce that
on the smalltalk-devroom mailing list, with the following
information:
- Their name
- The project they are associated with
- A short bio, to be put on the website along with their speaker name
- (optionally) a picture of themselves
- The title of their session (which will go on the website and in the booklet)
- A abstract describing the session in further detail.
- The desired length of the session.
- The desired time slot in which they want to hold the session.
Suggested values for the duration are 55min, 25min, 6m40 (Pecha Kucha).
The desired time slot is meant to help you prevent conflicts with other dev
rooms in which you might have a talk or your travel arrangements.
The deadline for submissions is December 31, 23:00 GMT+1.
Discussion takes place on the
smalltalk-devroom(a)lists.fosdem.org
mailing list. Please subscribe if you are interested:
https://lists.fosdem.org/listinfo/smalltalk-devroom
The local VUB/ULB Smalltalkers have been asked to organize
a sprint/BSUG meeting on Saturday Februari 4.
Devroom related URLs:
http://www.pharo-project.orghttp://www.squeak.org/http://etoileos.com/http://www.seaside.st/http://smalltalk.gnu.org/
Please distribute
Hi Lukas,
I saw that you worked on the Petit refactorings. This is cool, but you seem to have committed a wrong superclass:
AnObsoleteRefactoring subclass: #PPGrammarRefactoring
Do you have time to fix it?
Cheers,
Doru
Begin forwarded message:
> From: admin(a)moosetechnology.org
> Subject: Build failed in Jenkins: moose-latest-dev #735
> Date: 7 December 2011 22:13:31 CET
> To: tudor(a)tudorgirba.com, simon.denier(a)gmail.com, cy.delaunay(a)gmail.com, alexandre(a)bergel.eu, stephane.ducasse(a)inria.fr, jannik.laval(a)gmail.com
>
> See <http://hudson.moosetechnology.org/job/moose-latest-dev/735/>
>
> ------------------------------------------
> Started by timer
> [workspace] $ /bin/sh -xe /tmp/hudson2362877769901627270.sh
> + rm -rf <http://hudson.moosetechnology.org/job/moose-latest-dev/ws/moose> <http://hudson.moosetechnology.org/job/moose-latest-dev/ws/moose-tests> <http://hudson.moosetechnology.org/job/moose-latest-dev/735/artifact/moose_s…>
> + /srv/hudson.moosetechnology.org/builder/build.sh -i Pharo-1.3 -s moose -s glamorous-theme -s glamorous-toolkit -s moose-clean -s cleanupforrelease -o moose
> build.sh: error loading code (/srv/pharo/coglinux2382/squeak)
>
> *** Warning: Warning: This package depends on the following classes:
> AnObsoleteRefactoring
> You must resolve these dependencies before you will be able to load these definitions:
> PPDefineProdcutionRefactoring
> PPDefineProdcutionRefactoring>>checkSource
> PPDefineProdcutionRefactoring>>preconditions
> PPDefineProdcutionRefactoring>>setSource:
> PPDefineProdcutionRefactoring>>sourceRewriter
> PPDefineProdcutionRefactoring>>transform
> PPGrammarRefactoring
> PPGrammarRefactoring>>preconditions
> PPGrammarRefactoring>>rootClass
> PPGrammarRefactoring>>setClass:
> PPRemoveProdcutionRefactoring
> PPRemoveProdcutionRefactoring>>preconditions
> PPRemoveProdcutionRefactoring>>setProduction:
> PPRemoveProdcutionRefactoring>>transform
> PPRenameProdcutionRefactoring
> PPRenameProdcutionRefactoring>>setNewProduction:
> PPRenameProdcutionRefactoring>>setOldProduction:
> PPRenameProdcutionRefactoring>>transform
>
> Recording test results
> Archiving artifacts
>
--
www.tudorgirba.com
"No matter how many recipes we know, we still value a chef."
Hi all,
I just download the last Moose build from the server and i notice a weird cursor behavior:
If i copy/paste something either in a workspace or into a code browser i find the cursor at the beginning of the pasted code intend of at the end.
Is it a Moose related problem? Is it a new pharo feature? Or my image is possessed by the devil? Thanks for any help.
Cheers,
Fabrizio
what would be the pragma to describe a date property in the meta-model?
birthDate
<MSEProperty: #birthDate type: #???>
Number? (representing the date as a timestamp?)
nicolas
I am looking for a method which allows wrapping mondrian drawings. That is,
the nodes are draw to a certain width (the width of the mondrian window)
and whatever comes next, is drawn on the following line. The purpose is to
avoid the need to scroll the window.
thanx
Usman
Hi,
Over the past couple of weeks, Fabrizio did a cool job at detaching his work around SQL into PetitSQLite (for parsing) and Famix-SQLite (for importing and modeling).
I already used the parsing in a project and it worked nicely on quite complex SQL statements.
We will add this to the default Moose configuration. It's a really nice addition.
Cheers,
Doru
p.s. For those that want to have fun with optimizing the grammar, it is still a bit slow so it's a cool case study :)
--
www.tudorgirba.com
"To lead is not to demand things, it is to make them happen."
Status: New
Owner: usman.bh...(a)gmail.com
Labels: Type-Defect Priority-Medium
New issue 760 by usman.bh...(a)gmail.com:
UndefinedObject(Object)>>doesNotUnderstand: #attributeKeyFrom:
http://code.google.com/p/moose-technology/issues/detail?id=760
Menssana dashboard reference values cannot be set because message not
understood error occurs. The message appears before setting the value.
Sometimes, the dialogue for setting the values does appear, but it crashes
when a value is entered.
how to produce:
Right click on an item in Menssana dashboard, click set reference value.
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 756 by vuqui...(a)gmail.com: Glamour: errors when updating panels
http://code.google.com/p/moose-technology/issues/detail?id=756
* Type-Defect
* Component-Mondrian
After modifying the data on one panel I update several other panels, that
are not necessarily connected together. The data is correctly updated, but
not the presentations.
Based on the example below:
#when: in the second list does not react.
* If you start with an empty collection, the list does not appear (ok),
then if you add an element the list does not appear either.
* if you start with some elements, the list is there, but after removing
all the elements the list does not disappear, and instead you have a
SubscriptOutOfBounds error because of a tab index
Example to reproduce the problem:
| browser collection |
collection := GLMAnnouncingCollection new.
collection add: 1.
browser := GLMTabulator new.
browser column: #automatic; column: #menu.
browser act: [:b | b entity add: (b entity size + 1) ] entitled: 'Add an
item in the collection'.
browser act: [:b | b entity removeLast ] entitled: 'Remove last item from
the collection'.
browser act: [:b | b update ] entitled: 'Update complete browser'.
browser transmit to: #automatic; andShow: [ :a |
a title: 'Updated automatically'.
a stackedArrangement.
a list title: [:x | 'List: ', x size printString ];
shouldValidate: true;
updateOn: GLMItemAdded from: #yourself;
updateOn: GLMItemRemoved from: #yourself ].
browser transmit to: #menu; andShow: [ :a |
a title: 'Updated via menu'.
a list title: 'List';
when:[ :e| e size > 0 ];
act: [:p | p update ] entitled: 'Update'.
a text title: 'Text'; act: [:p | p update] entitled: 'Update'. ].
browser openOn: collection
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 645 by cy.delau...(a)gmail.com: we should keep the current selected
tab in the moose panel
http://code.google.com/p/moose-technology/issues/detail?id=645
In the moose finder, If I click on an entity, I have a new pane that open
on the right.
In this new pane, if I select any tab, this one should stay selected when I
click on other entities
Hi
During Smalltalks conference, we started with Mariano and Doru to do an
experiment: to use Mondrian to visualize the graph that is being serialized
with Fuel.
I want to make two questions about that:
1) Is it fine how I installed Mondrian?
Gofer it
squeaksource: 'Mondrian';
package: 'ConfigurationOfMondrian';
load.
(ConfigurationOfMondrian project latestVersion) load.
2) For large graphs, I would like to show them lazily, maybe drawing some
expandable nodes (+). Do you understand what I mean? Is that possible?
thanks!
Martin
Alex this is strange because the log mention mondrian configuration file.
Begin forwarded message:
> From: Hani Abdeen <hani.abdeen(a)gmail.com>
> Subject: Pharo + Moose on Windows 7
> Date: December 4, 2011 8:52:57 PM GMT+01:00
> To: Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>
> Hi Stef,
>
> I started reading "Pharo by Example" and "Moose book" and familiarizing myself with the new implementation of Moose.
> I use Pharo 1.3 release on Windows 7.
> Now, each time I open a clean image of Pharo and try to load the default configuration of Moose, using the code below, I get an error or the VM crashes!
>
> ------
> Gofer new
> squeaksource: 'MetacelloRepository';
> package: 'ConfigurationOfMagma';
> load.
>
> ((Smalltalk at: #ConfigurationOfMagma) project latestVersion) load
> ------
>
> The error Stack and the crash dmp file are herewith attached for more information.
>
> I thought that before all I should ask you if I have to use another release of Pharo or if I have to load Moose differently...
>
> Thanks in advance,
> Hani
>
>
> --
>
> Dr. Hani Abdeen
> Phd. in Software Engineering - RMod, INRIA Lille-Nord Europe
>
>
>
Status: New
Owner: ----
CC: andreho...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-EyeSee Milestone-4.6
New issue 755 by tu...(a)tudorgirba.com: EyeSee form does not properly take
into account the size of axis labels
http://code.google.com/p/moose-technology/issues/detail?id=755
It seems that the bounds of the form do not take into account the size of
the axis labels. Because of this, we get a cropped picture when we export,
and we get some refresh problems.
Try the following:
(ESExamples new verticalBar7 findDeeplyA: ESCanvas) exportAsPNG
If you inspect the resulting image, you will see that both the bottom
labels and the right one gets trimmed.
Hi!
This class 'MerlinExamples' exists, but have nothing there implemented.
I load this extension to my environtment, but the porblem is that i don't
know how to use it! :)
I don't know what exactly the method 'spawn' does, but if I understood
good, with this command I can call my wizard from a menu in a Glamour panel?
On 5 December 2011 11:17, Cyrille Delaunay <cy.delaunay(a)gmail.com> wrote:
> There should be the class 'MerlinExamples' with a set of examples on the
> class side.
> There is also an extension to render merlin wizards with Glamour: the
> package MerlinGlamour at http://www.squeaksource.com/Merlin.
> Once MerlinGlamour loaded, you could do something like:
>
> myGlamourBrowser
> spawn: [ myMerlinWizard glamourWizard ] entitled: 'my menu title'.
>
>
> It looks like what you want to do (?)
>
>
>
>
> 2011/12/5 Júlio Martins <jleandro.martins(a)gmail.com>
>
>> Hi Stef!
>> I had looked about Merlin, but i do not found any examples to understand
>> how it works, and I don't know if i can integrate it with Glamour. A have
>> an application that uses a Glamour panel and I would like to do a menu and
>> from this menu call my wizard with options to modify the visualization on
>> this panel.
>>
>> Might you help me?
>>
>> On 5 December 2011 10:18, Stéphane Ducasse [via Smalltalk] <[hidden
>> email] <http://user/SendEmail.jtp?type=node&node=4160332&i=0>> wrote:
>>
>>> did you look at Merlin?
>>>
>>> Stef
>>>
>>> On Dec 5, 2011, at 1:02 PM, Júlio Martins wrote:
>>>
>>> > Hi buddies!
>>> >
>>> > I need to know how implement a simple wizard using the glamour. For
>>> example, i need include two radio buttons, a text box and maybe a label, in
>>> this wizard.
>>> > Glamour offers this items?
>>> >
>>> > Julio Martins
>>> >
>>> > View this message in context: Glamour
>>> > Sent from the Moose mailing list archive at Nabble.com.
>>> > _______________________________________________
>>> > Moose-dev mailing list
>>> > [hidden email] <http://user/SendEmail.jtp?type=node&node=4160243&i=0>
>>> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=4160243&i=1>
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> ------------------------------
>>> If you reply to this email, your message will be added to the
>>> discussion below:
>>> http://forum.world.st/Glamour-tp4160211p4160243.html
>>> To start a new topic under Moose, email [hidden email]<http://user/SendEmail.jtp?type=node&node=4160332&i=1>
>>> To unsubscribe from Moose, click here.
>>> NAML<http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&id=instan…>
>>>
>>
>>
>> ------------------------------
>> View this message in context: Re: Glamour<http://forum.world.st/Glamour-tp4160211p4160332.html>
>>
>> Sent from the Moose mailing list archive<http://forum.world.st/Moose-f1310756.html>at Nabble.com.
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>
>
> --
> Cyrille Delaunay
> http://cyrilledelaunay.seasidehosting.st/
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
--
View this message in context: http://forum.world.st/Glamour-tp4160460p4160460.html
Sent from the Moose mailing list archive at Nabble.com.
I did several "improvements" to MooseChef.
Reviews are welcome (Simon if you are around, please read this, specifically, at the end) .
- Created withoutSelfLoops in MooseQueryObjectResult as discussed before (see discussion on MooseChef end of november)
- Renamed all queryXxxIncoming/OutgoingDependencies to queryXxxIncoming/OutgoingAssociations (see discussion on MooseChef & hidden dependencies last week)
- Introduced a virtual association : Instanciation that relates a variable (structuredEntity to its type and a method (behaviouralEntity) to its returnType. I created MooseChefInstanciationAssociation for this. It is not in Famix as it is only intended to do queries.
- Followed up with creating appropriate queryIncoming/OutgoingInstanciations in FamixPackage , FamixClass, FamixMethod
All this has been tested and commited (this morning). Documentation on the web site was not updated
Meanwhile, I performed other modifications/corrections:
- Better comment initiative: commented some MooseQueryResult classes
- FamixPackage and FamixNamespace had the same classScope method that [only makes sense to reject self loops in #collectAtScope:], I moved it to FAMIXScopingEntity.
- I found strange that there was no methodScope method, for consistency, I added it, again in FAMIXScopingEntity.
- Still for consistency, I added a methodScope method to FamixType
Finally, I still have some questions (Simon?)
- the trait TScopingEntityQuery seems to exist only to be added to FamixScopingEntity. Is that so?
Why having a trait in this case? Consistency? If so, may be it should be documented (comment).
- MooseOutgoingCompositionQueryResult does not use TDependencyQueryResult whereas its sisters (MooseOutgoing/IncommingQueryResult) do. This means MooseOutgoingCompositionQueryResult is lacking many selectors that its sisters have (opposites, ...)
Error or feature?
nicolas
Hi,
I have an inconvenient with the positions in which edges are being drawn. Attached a screenshot to explain what is happening.
My visualization displays at the beginning all the edges (grey), and then when interacting with a node, its edges change color.
However, when drawing the edges in another color (green/red) some appear in a different location (see the red one).
For me this creates confusion as it seems to be a different edge (i know that when drawing it's a different object but i think it should appear in the same location as most of them do).
I thought that it was related with the type of line (arrowed) but in fact the same happens with a simple line or in a different layout.
This case in particular uses the dominance tree layout.
Now I am wondering if that is a bug of the layout or of the edge's drawing itself. And, if this can be fixed..
Best Regards,
Veronica
Status: New
Owner: ----
Labels: Type-Engineering Priority-Medium Component-Famix
New issue 753 by usman.bh...(a)gmail.com: Move annotations to NamedEntities
http://code.google.com/p/moose-technology/issues/detail?id=753
Usman and Nicolas, we are working on improving comments of Famix entities.
We thought that this thing is worth discussing.
Should all famix entities have annotations? For example, source-language,
source-anchor and associations cannot be annotated.
Doru's suggestion:
Good question. This is a question that we discussed a long time ago,
and we did not come up with a proper answer so, we just made it
generic.
However, in the meantime we learned a bit, and now we know that it
does not make sense to have annotation instances higher than
NamedEntity. So, we can safely move it there.
Status: New
Owner: ----
Labels: Type-Enhancement Priority-Medium Component-Metanool Milestone-4.6
New issue 726 by andreho...(a)gmail.com: FM3PropertyDescription>>getRawFrom:
should return false in Boolean properties instead of nil
http://code.google.com/p/moose-technology/issues/detail?id=726
It avoids to use the binary message into the Finder with meta-annotated
Boolean properties when using Metanool.
For example, instead of:
each annotations hugeClasses = true
We have:
each annotations hugeClasses
What do you think?
Code to fix it is below.
FM3PropertyDescription>>getRawFrom: element
^ element privateState
attributeAt: self name
ifAbsent: [
(self type = FM3 boolean)
ifTrue: [false]
ifFalse: [nil] ]
Status: New
Owner: tudor.gi...(a)gmail.com
Labels: Type-Defect Priority-Medium Component-Famix Milestone-4.6
New issue 758 by tudor.gi...(a)gmail.com: referenced/referencing* FAMIX
navigation methods should be named invoked/invoking*
http://code.google.com/p/moose-technology/issues/detail?id=758
This is has long been a problem.
An example is provided by: FAMIXMethod>>sureReferencedClasses. At the very
least, we should name it sureInvokedClasses.
This is the first step towards re-sanitizing the FAMIX API.
Updates:
Summary: Glamour text presentation does not properly refresh after the
text morph changes
Labels: Component-Glamour
Comment #1 on issue 752 by tu...(a)tudorgirba.com: Glamour text presentation
does not properly refresh after the text morph changes
http://code.google.com/p/moose-technology/issues/detail?id=752
First, please use a sentence to describe the problem :).
The current issue is due to the rendering of the text presentation not
properly notifying the text change in some circumstances.
The problem can be reproduced like this on windows:
- open GLMBasicExamples new textPortsExamples openOn: 'Type'
- type some characters
- the pane on the bottom right will preview correctly the changes
- now, press cmd+s (to tell the morph that we accept the change)
- type some more characters
- the pane on the bottom right will not update
- now, press cmd+s
- the pane on the bottom right will update
As all of us know, Famix recognizes 4 types of associations (reference, access, inheritance, invocation) and Moosechef was built upon these dependencies (queryAllOutgoingReferences, ...)
For convenience, it adds queryAllOutgoingDependencies
but this will miss a good deal of actual dependencies, because many of them are not expressed by associations:
- return type of a method
- type of a variable
- exceptions caught, thrown
- parameter types in parameterized classes
- use of annotations
- other?
Since we now have a nice general API to query dependencies, it would be nicer if it were complete, ...
A possible solution would to rename queryAllOutgoingDependencies into queryAllOutgoingAssociations and change queryAllOutgoingDependencies to "do the right thing"
Or maybe invent new "virtual associations" (like ofTyp e) and create queries for these associations, ...
nicolas
Hi all,
I'm just wondering if is possible to use Moose to install portable apps
Like Xmind[1] or Etoys[2]. Both have a packaging that include the
virtual machine and the software for Windows, Linux and Mac, so
installing it would be matter of telling moose where to download the
files and how to execute the proper file according to the operative
system. May be a more modular and intelligent way could be implemented
using the data analysis tools of moose and models to declare
dependencies between software and may be adding compiling tools or other
ways to install the software.
If you have any hint about where can I get started with this idea it
would be appreciated (I know that on this, pharo and pier mailing list I
continuously ask for pointers for different starting ideas... all they
are related, but now I just have not the time to start with them because
I was preparing the first part of my Ph.D exam... hopefully if I can get
any time to code and proper pointers, it will be with some code on
Smalltalk, instead of reinventing the wheel in other language).
[1] http://xmind.net/
[2] http://squeakland.org/download/
Cheers,
Offray
Hi guys,
we are looking for a mean to exchange data between Moose and Eclipse+EMF.
Do you know if there is already something that would simplify this?
Maybe a way to export/import FM3 to ecore format? Or a transformation from Ecore to FM3?
nicolas + usman
Hi,
I have problems when updating my tabbed panels :'(
After modifying the data on one panel I update several other panels, that are not necessarily connected together.
Using only #update e.g. (browser paneNamed: #example) update.
The data is correctly updated, but not the presentations.
Based on the example #updateableBrowser I am showing the errors.
1) #when in the second list does not react.
* If you start with an empty collection, the list does not appear, then if you add an element the list does not appear neither.
* if you start with some elements, the list is there, but after removing all the elements the list does not disappear, and instead you have a SubscriptOutOfBounds error because of a tab index (this is my same scenario: tabbed panels)
2) #shouldValidate: what is the logic of this?.
I tried to use it, but i got into problems on the selected item. I could only inspect the selected item of the panel using #shouldValidate. In the second panel -> selected item is nil or the value of the first panel.
| browser collection |
collection := GLMAnnouncingCollection new.
collection add: 1.
browser := GLMTabulator new.
browser column: #automatic; column: #menu.
browser act: [:b | b entity add: (b entity size + 1) ] entitled: 'Add an item in the collection'.
browser act: [:b | b entity removeLast ] entitled: 'Remove last item from the collection'.
browser act: [:b | b update ] entitled: 'Update complete browser'.
browser transmit to: #automatic; andShow: [ :a |
a title: 'Updated automatically'.
a stackedArrangement.
a list title: [:x | 'List: ', x size printString ];
shouldValidate: true;
updateOn: GLMItemAdded from: #yourself;
updateOn: GLMItemRemoved from: #yourself ].
browser transmit to: #menu; andShow: [ :a |
a title: 'Updated via menu'.
a list title: 'List';
when:[ :e| e size > 0 ];
act: [:p | p update ] entitled: 'Update'.
a text title: 'Text'; act: [:p | p update] entitled: 'Update'. ].
browser openOn: collection
Please some help.
Best Regards,
Veronica
Hi guys,
Our students in the SDE class are implementing a DeadCodeDetector tool
as their project. They use Moose and combine static, dynamic,
multi-version, and ecosystem analysis to provide a solution.
During a discussion in class I realized that it would make sense if
the MooseModel for a system should have a timestamp associated with it
that would uniquely identify the version of the system under analysis.
Is there any alternative to putting a date in the MooseModel that I'm
not aware of?
M.
--
Dr. Mircea Lungu
Researcher
Software Composition Group
University of Bern