Improving the About Text of Versionner
This seemed a fairly easy change so I can keep honing my contributing skills. I came up with this About text for the tool. Below is a screenshot on how it looks: â Here's the text: *Versionner is a GUI for Metacello that allows you to use a nice (but limited, as are most GUI tools) tool instead of writing configs by hand.* *Metacello is a package management system that declares dependencies between* *those packages in configuration classes.* *Monticello is our SCM system that groups code into packages.* *For a tutorial video on how to use Versionner:* * https://youtu.be/cFRJDuWL-Q0 <https://youtu.be/cFRJDuWL-Q0>*
Hi Sergio, It is great that you want to contribute ! Have you seen http://pharo.org/contribute and more specifically http://pharo.org/contribute-propose-fix ? It is a bit of work to get started, but once you have everything set up and understand the process, the next contribution will go much faster! Sven
On 02 May 2015, at 16:34, Sergio Fedi <sergio.fedi@gmail.com> wrote:
This seemed a fairly easy change so I can keep honing my contributing skills.
I came up with this About text for the tool.
Below is a screenshot on how it looks:
<About_text_of_Versionner.png> â
Here's the text:
Versionner is a GUI for Metacello that allows you to use a nice (but limited, as are most GUI tools) tool instead of writing configs by hand.
Metacello is a package management system that declares dependencies between those packages in configuration classes.
Monticello is our SCM system that groups code into packages.
For a tutorial video on how to use Versionner: https://youtu.be/cFRJDuWL-Q0
Look good Sergio. Per Sven's comments, I think its worth you opening an issue for this and a submitting it as a slice to be integrated. cheers -ben On Sat, May 2, 2015 at 11:15 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi Sergio,
It is great that you want to contribute !
Have you seen http://pharo.org/contribute and more specifically http://pharo.org/contribute-propose-fix ?
It is a bit of work to get started, but once you have everything set up and understand the process, the next contribution will go much faster!
Sven
On 02 May 2015, at 16:34, Sergio Fedi <sergio.fedi@gmail.com> wrote:
This seemed a fairly easy change so I can keep honing my contributing skills.
I came up with this About text for the tool.
Below is a screenshot on how it looks:
<About_text_of_Versionner.png> â
Here's the text:
Versionner is a GUI for Metacello that allows you to use a nice (but limited, as are most GUI tools) tool instead of writing configs by hand.
Metacello is a package management system that declares dependencies between those packages in configuration classes.
Monticello is our SCM system that groups code into packages.
For a tutorial video on how to use Versionner: https://youtu.be/cFRJDuWL-Q0
Except, can someone advise, is Versioneer Slice based or Configuration based? cheers -ben On Sun, May 3, 2015 at 12:14 AM, Ben Coman <btc@openinworld.com> wrote:
Look good Sergio. Per Sven's comments, I think its worth you opening an issue for this and a submitting it as a slice to be integrated. cheers -ben
On Sat, May 2, 2015 at 11:15 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi Sergio,
It is great that you want to contribute !
Have you seen http://pharo.org/contribute and more specifically http://pharo.org/contribute-propose-fix ?
It is a bit of work to get started, but once you have everything set up and understand the process, the next contribution will go much faster!
Sven
On 02 May 2015, at 16:34, Sergio Fedi <sergio.fedi@gmail.com> wrote:
This seemed a fairly easy change so I can keep honing my contributing skills.
I came up with this About text for the tool.
Below is a screenshot on how it looks:
<About_text_of_Versionner.png> â
Here's the text:
Versionner is a GUI for Metacello that allows you to use a nice (but limited, as are most GUI tools) tool instead of writing configs by hand.
Metacello is a package management system that declares dependencies between those packages in configuration classes.
Monticello is our SCM system that groups code into packages.
For a tutorial video on how to use Versionner: https://youtu.be/cFRJDuWL-Q0
There is ConfigurationOfVersionner in the image... ----- Cheers, Sean -- View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p48241... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sergio Fedi wrote
There is ConfigurationOfVersionner in the image... What does it mean? Is there something wrong I did?
It was in response to Ben's question: "is Versioneer Slice based or Configuration based?". We have two kinds of external projects in Pharo: - Traditional model: projects that, while technically external, have been adopted (cough... forked) by Pharo core so that we were free to evolve. This seemed to be the only way before we had really good tools because trying to keep everything in sync required massive effort. These can be considered core packages and are committed via the slice process. The projects are sometimes synced with the main project at irregular intervals. - Shiny new model: we have been starting to experiment with keeping projects (e.g. Rubric, TxText) in their own repos and loading improvements via Metacello configurations. While historically this was impractical, now fogbugz issues can specify configurations and their versions to be picked up by CI, and Esteban has just made a tool [1] to create those versions easily (i.e. almost automatically). Writing this, it seems a bit complicated, but actually it seems we are moving toward a very streamlined place. It's just that this moment is the transition. [1] http://forum.world.st/ANN-Screencast-on-Versionner-Part-2-td4823221.html ----- Cheers, Sean -- View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p48241... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sean P. DeNigris wrote
We have two kinds of external projects in Pharo:
After reviewing your fix, your case is especially complicated - you have edited one of each type of project! Spec, which has been forked, and Versionner, which is externally maintained. You may have to open another issue for the Spec changes. In fact, I think we should have a discussion because you extended the extremely ugly SystemWindow logic (not blaming you, you didn't create it!) into Spec: (self model respondsTo: #aboutTitle) ifTrue: [^self model aboutTitle]. ^(self model respondsTo: #toolName) ifTrue: [self model toolName] ifFalse: [self model class name]. The Versionner about text proposal is more straightforward. I copied your package into the PharoExtras/Versionner repo (I actually made some edits to the text as I think that Metacello and Monticello should be described elsewhere in their own context). The next step would be to create a configuration to pick up these changes, but I guess the Spec question would have to be resolved first... Please don't be discouraged! By chance, you stepped into the absolute the worst-case scenario. Thankfully, many issues are much easier to integrate :) ----- Cheers, Sean -- View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p48241... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On Mon, May 4, 2015 at 11:32 AM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Sean P. DeNigris wrote
We have two kinds of external projects in Pharo:
Please don't be discouraged! By chance, you stepped into the absolute the worst-case scenario. Thankfully, many issues are much easier to integrate :)
This is one reason newcomers are valuable. For any system you work with for a while, you unconciously step over the wobbly stones in the path without noticing them. cheers -ben
2015-05-04 8:15 GMT+02:00 Ben Coman <btc@openinworld.com>:
On Mon, May 4, 2015 at 11:32 AM, Sean P. DeNigris <sean@clipperadams.com> wrote:
Sean P. DeNigris wrote
We have two kinds of external projects in Pharo:
Please don't be discouraged! By chance, you stepped into the absolute the worst-case scenario. Thankfully, many issues are much easier to integrate :)
This is one reason newcomers are valuable. For any system you work with for a while, you unconciously step over the wobbly stones in the path without noticing them. cheers -ben
I changed the issue title 15480 <https://pharo.fogbugz.com/default.asp?15480> Improving the About information (WindowModel) and added 15482 <https://pharo.fogbugz.com/default.asp?15482> Improving the About information (VersionnerSpecBrowser) So, that we have now two bug entries, one for the change in specs about window title handling and one for the change in Versionner. Who can move and commit sergios change to the versionner repro?
Nicolai Hess wrote
Who can move and commit sergios change to the versionner repro?
I already copied Versionner-Spec-Browser to the Versionner repo but I didn't make a new config version because I think it depends on the Spec change and so that has to be resolved first... ----- Cheers, Sean -- View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p48242... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On 04 May 2015, at 12:53, Sean P. DeNigris <sean@clipperadams.com> wrote:
Nicolai Hess wrote
Who can move and commit sergios change to the versionner repro?
I already copied Versionner-Spec-Browser to the Versionner repo but I didn't make a new config version because I think it depends on the Spec change and so that has to be resolved firstâ¦
can you open an issue? (new versionner version), dependent on the Spec changes issue? Esteban
----- Cheers, Sean -- View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p48242... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
EstebanLM wrote
can you open an issue? (new versionner version), dependent on the Spec changes issue?
I added 15480 as a dependency of 15482 and put 15482 on hold for the moment. ----- Cheers, Sean -- View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p48242... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Wow! Look what I stirred up! Ok, I *vaguely* understand the two configuration schemes. I do understand how I touched two projects that are mantained differently and the problems in that. I'm not sure what to learn from all of this (I know I didn't do anything wrong) About the design issues. I cringed when I saw that code, that's why I wanted to model the About information in an object, but that would be a lot more change and without knowing all the classes involved. That's why I asked in another mail what to do after a Case is resolved, about further work. Ok then, now I have no idea if I should be doing anything else about this Case. For now I'm going to keep reading how this issue evolves and if I have to do something, just tell me. PS: I'm not discouraged at all, I know the difficulties of projects of this size. Thanks everyone for the patience and encouragement.
On 05 May 2015, at 01:03, Sergio Fedi <sergio.fedi@gmail.com> wrote:
Wow! Look what I stirred up!
Ok, I *vaguely* understand the two configuration schemes.
I do understand how I touched two projects that are mantained differently and the problems in that.
I'm not sure what to learn from all of this (I know I didn't do anything wrong)
Yes, the situation is not nice⦠already Slices are complex, and the âsome (undefined) projects work differentlyâ setup is a mess. But we will improve it! Marcus
After reviewing your fix, your case is especially complicated - you have edited one of each type of project! Spec, which has been forked, and Versionner, which is externally maintained. You may have to open another issue for the Spec changes. In fact, I think we should have a discussion because you extended the extremely ugly SystemWindow logic (not blaming you, you didn't create it!) into Spec: (self model respondsTo: #aboutTitle) ifTrue: [^self model aboutTitle]. ^(self model respondsTo: #toolName) ifTrue: [self model toolName] ifFalse: [self model class name].
I hate so much such kind of design....
The Versionner about text proposal is more straightforward. I copied your package into the PharoExtras/Versionner repo (I actually made some edits to the text as I think that Metacello and Monticello should be described elsewhere in their own context). The next step would be to create a configuration to pick up these changes, but I guess the Spec question would have to be resolved first...
Please don't be discouraged! By chance, you stepped into the absolute the worst-case scenario. Thankfully, many issues are much easier to integrate :)
----- Cheers, Sean -- View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p48241... Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
This seemed a fairly easy change so I can keep honing my contributing skills.
superb! You start to understand the difference between Pharo and others. You can get a real impact on your system. Stef
I came up with this About text for the tool.
Below is a screenshot on how it looks:
â
Here's the text:
/Versionner is a GUI for Metacello that allows you to use a nice (but limited, as are most GUI tools) tool instead of writing configs by hand. / / / /Metacello is a package management system that declares dependencies between/ /those packages in configuration classes./ / / /Monticello is our SCM system that groups code into packages./ / / /For a tutorial video on how to use Versionner:/ /https://youtu.be/cFRJDuWL-Q0/ * *
Ok, I added the case, submited the Slice and Resolved the case. https://pharo.fogbugz.com/f/cases/15480/Improving-the-About-information-of-V... The final text is this: *Versionner is tool for creating configurations.* *A Configuration determines the dependencies between packages. More precisely, the dependency between a version of a package and a particular version of a required package.* *This tool is a GUI for Metacello that allows you to use a nice (but limited) tool instead of writing configurations by hand.* *Metacello is a package management system that declares dependencies between those packages in configuration classes.* *Monticello is our SCM system that groups code into packages.* *For a tutorial video on how to use Versionner:* * https://youtu.be/cFRJDuWL-Q0 <https://youtu.be/cFRJDuWL-Q0>* I hope I didn't make any mistakes. Cheers.
participants (8)
-
Ben Coman -
Esteban Lorenzano -
Marcus Denker -
Nicolai Hess -
Sean P. DeNigris -
Sergio Fedi -
stepharo -
Sven Van Caekenberghe