<div dir="ltr"><div>Hello Juan,</div><div><br></div><div>I did as you suggested and replaced the original fileOut methods with the previous fileOutToNewDestination methods.</div><div><br></div><div>However I feel this means as a user you lose the ability to batch fileOut stuff. As in you can't do Class fileOut without actually pressing enter in the text box asking for the destination (This is why I originally made it a separate method on all instances, well this and what you said about avoiding redefining methods).</div><div><br></div><div>Personally I only fileOut through context menus, but if someone needs to make some sort of interface that batch files out stuff they'll have to modify these methods or make new ones for their particular use.<br></div><div><br></div><div>I've also implemented it for ChangeSets, PseudoClass and, as you requested, CodeFileBrowser (It's easier when I don't touch the menu options haha).</div><div><br></div><div>I'm sitting on the fence about implementing it for package saving too, not sure if that would break the version tracking or not.</div><div><br></div><div>Also how would you feel about giving the user a "Operation was successful" confirmation pop up after the fileOut was done? Or do you feel it's unnecessary?</div><div><br></div><div>Looking forward to your feedback!</div><div><br></div><div>Cheers!</div><div><br></div><div><b>Mauro Rizzi</b><br></div><div><div><br></div><div><br></div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar, 1 dic 2020 a las 15:53, Juan Vuletich (<<a href="mailto:juan@jvuletich.org">juan@jvuletich.org</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div bgcolor="#ffffff">
Hi Mauro,<br>
<br>
I think Utilities is a better place than SystemDictionary for that
kind of stuff. SystemDictionary should only contain stuff that is
core to Smalltalk.<br>
<br>
I'd change something, though. Instead of adding new methods with the
'ToNewDestination' suffix, I'd just modify the existing methods,
avoiding bloat and duplication. I'd also do the changes in
CodeFileBrowser, for consistency.<br>
<br>
Cheers,<br>
<br>
On 11/29/2020 12:32 AM, Mauro Rizzi via Cuis-dev wrote:
<blockquote type="cite">
<div dir="ltr">
<div>Hello Juan!</div>
<div><br>
</div>
<div>I've actually been looking back at the code I shared in the
changeset and except for the
updateWorkDirectoryFromFileStream: method it looks OK to me.</div>
<div><br>
</div>
<div>Have you had any time to take a look?</div>
<div><br>
</div>
<div>I'd love to hear some extra feedback, as it is I'm not sure
if the currentWorkDirectory should be contained in the
Utilities class. Maybe it would make more sense for it to be
part of the Smalltalk system dictionary?</div>
<div><br>
</div>
<div>Kind regards,</div>
<div><b>Mauro Rizzi</b><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">El mar, 24 nov 2020 a las
11:16, Mauro Rizzi (<<a href="mailto:mrizzi@fi.uba.ar" target="_blank">mrizzi@fi.uba.ar</a>>)
escribió:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Hello Juan,</div>
<div><br>
</div>
<div>I found some time and made the changeset with your
recommendations.</div>
<div><br>
</div>
<div>I would like to add that the code still is a WIP and
requires some work but the expected behaviour is there if
you want to test how it feels!</div>
<div><br>
</div>
<div>Kind regards,</div>
<div><b>Mauro Rizzi</b><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">El mar, 24 nov 2020 a las
10:29, Mauro Rizzi (<<a href="mailto:mrizzi@fi.uba.ar" target="_blank">mrizzi@fi.uba.ar</a>>)
escribió:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Hi Juan,</div>
<div><br>
</div>
<div>In that case I would have to replace the regular
fileOut subMenu option to use the current fileOutTo
implementation, I could make sure to only add the
necessary methods for fileOutTo to work so that the
only direct change to the base code is the change on
the message that the submenu uses for fileOut.</div>
<div><br>
</div>
<div>I do feel having to use the fileOutTo option at all
times takes away a bit of the ease of use
fileOutRework was intending to implement, since the
destination confirmation dialogue box doesn't
autofocus itself when created, so as a user you'd
still have to mouse over it or click on it (depending
your focus mode) to be able to press enter and confirm
the fileOut (even if you had no intention to pick a
new destination).</div>
<div><br>
</div>
<div>The point of fileOutRework was to remove all the
nuance in fileOut heavy workflows. <br>
</div>
<div><br>
</div>
<div>But I could easily make the changeset file that
only does what you recommend and keep the
fileOutRework package as my own project not intended
to be in the base image.</div>
<div><br>
</div>
<div>I would like to have more opinions on the matter
before moving on however.</div>
<div><br>
</div>
<div>Kind regards,</div>
<div><b>Mauro Rizzi</b></div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">El mar, 24 nov 2020 a
las 10:01, Juan Vuletich (<<a href="mailto:juan@jvuletich.org" target="_blank">juan@jvuletich.org</a>>)
escribió:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#ffffff"> Hi Mauro,<br>
<br>
Let me go back a little bit. If you want to keep
your code as an optional add on, I think it is quite
good. The only thing I'd perhaps change is to avoid
redefinition of existing methods as much as
possible, because these are fragile, and will break
if the code in the base image changes.<br>
<br>
But if you want your contribution to be part of the
base image (this is reasonable, we want Cuis to be
comfortable for users!), then keep in mind that Cuis
tries to be minimalist. We include all that is worth
its own weight, in terms of class and method count,
lines of code, etc. This keeps Cuis being a system
that is easy to adapt and evolve. In this light,
having several menu options for essentially the same
thing is what I called "a bit too much". I'd rather
prefer a single option on each menu, that suggests
the destination folder, and allows modifying it, and
remembers it for next time.<br>
<br>
Additionally, for code to become part of Cuis base
image, we need to save it in .<a href="http://cs.st" target="_blank">cs.st</a> changeset files, instead
of a .<a href="http://pck.st" target="_blank">pck.st</a> package file.<br>
<br>
Thanks,<br>
<br>
On 11/23/2020 8:17 PM, Mauro Rizzi via Cuis-dev
wrote:
<blockquote type="cite">
<div dir="ltr">
<div>Hello Juan,</div>
<div><br>
</div>
<div> The fileOutTo submenu option does exactly
what you suggest.<br>
</div>
<div><br>
</div>
<div>If you never use the fileOutTo option
fileOut has the same behaviour as the base
image fileOut since the default fileOut
location for my setup is
smalltalkImageDirectory (The same used for the
original fileOut).</div>
<div><br>
</div>
<div>My idea was that as a user you would do
fileOutTo to the folder you're currently
working on, use fileOut normally in that
folder until you need to work on a different
folder and then you'd do fileOutTo to that new
folder and continue on from there.<br>
</div>
<div><br>
</div>
<div>However, if you think it's better to have
the option to file out to the image directory
with a single button on the context menus I
could change the package so it keeps the
original fileOut option and adds fileOut to
work directory and fileOut to new work
directory as new options (So there would be 3
fileOut options, the current smalltalk
implementation, fileOutToWorkDirectory and
fileOutToNewDestination).</div>
<div><br>
</div>
<div>Of course I would also add the
corresponding methods across the system so the
fileOut method has the old implementation and
my current fileOut reimplementation would be
renamed to fileOutToWorkDirectory.</div>
<div><br>
</div>
<div>However i'm not sure if you wanted the
current fileOutTo implementation and missed
the option or if you want to have the regular
fileOut option stay on the menu. I'd love to
get further feedback on why you feel the
current implementation sounds a bit too much
for you (So I can improve it!).<br>
</div>
<div><br>
</div>
<div>Kind regards.</div>
<div><b>Mauro Rizzi</b><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">El lun, 23 nov
2020 a las 17:33, Juan Vuletich (<<a href="mailto:juan@jvuletich.org" target="_blank">juan@jvuletich.org</a>>)
escribió:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#ffffff"> On 11/18/2020 12:44
PM, Mauro Rizzi via Cuis-dev wrote:
<blockquote type="cite">
<div dir="ltr">
<div>Hello everybody!</div>
<div><br>
</div>
<div>My name is Mauro Rizzi and i'm
currently studying Computer
Engineering in the Engineering Faculty
of the University of Buenos Aires.</div>
<div><br>
</div>
<div>We're using cuisUniversity as an
environment for one of our classes and
I found current fileOut
implementations to be counter
productive to a good git workflow. The
current idea of having fileOut always
fileOut to image path means you either
have to have your repository on your
image folder or you have to manually
move the file to your local repository
folder.</div>
<div><br>
</div>
<div>This is not conductive to making
frequent commits but rather it results
in us just doing a single giant commit
at the end of the session.<br>
</div>
<div><br>
</div>
<div>Because of this I set out to make a
package that would streamline the user
experience allowing for cuis to
remember the last destination you
filed out to and adding the option for
the user to directly specify a new
destination.</div>
<div><br>
</div>
<div>You can find the package in my <a href="https://github.com/Mauro-Rizzi/FileOutRework" target="_blank">FileOutRework
repository.</a></div>
<div><br>
</div>
<div>I've just started with this rework
but I was encouraged by my teacher to
share it with you, so far I've only
implemented this behaviour for the
Category list context submenus for the
System browser.</div>
<div><br>
</div>
<div>I'm open to any comments,
criticisms or requests for
collaboration.</div>
<div><br>
</div>
<div>Hope you all have a nice week!</div>
<div>Kind regards.</div>
<div><b>Mauro Rizzi</b><br>
</div>
<br>
</div>
</blockquote>
<br>
Hi Mauro,<br>
<br>
I agree that doing file out always an
arbitrary tacit directory might be
uncomfortable. Still, duplicating the file
out menu options sounds s bit too much to
me. Would a reasonable alternative be to
include dialog with the full path+name in an
edit box? The edited path could be
remembered for suggesting it next time.<br>
<br>
Thanks,<br>
<pre cols="72">--
Juan Vuletich
<a href="http://www.cuis-smalltalk.org" target="_blank">www.cuis-smalltalk.org</a>
<a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a href="https://github.com/jvuletich" target="_blank">https://github.com/jvuletich</a>
<a href="https://www.linkedin.com/in/juan-vuletich-75611b3" target="_blank">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
</div>
</blockquote>
</div>
</blockquote>
<br>
<br>
<pre cols="72">--
Juan Vuletich
<a href="http://www.cuis-smalltalk.org" target="_blank">www.cuis-smalltalk.org</a>
<a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a href="https://github.com/jvuletich" target="_blank">https://github.com/jvuletich</a>
<a href="https://www.linkedin.com/in/juan-vuletich-75611b3" target="_blank">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
<br>
<br>
<pre cols="72">--
Juan Vuletich
<a href="http://www.cuis-smalltalk.org" target="_blank">www.cuis-smalltalk.org</a>
<a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a href="https://github.com/jvuletich" target="_blank">https://github.com/jvuletich</a>
<a href="https://www.linkedin.com/in/juan-vuletich-75611b3" target="_blank">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
@JuanVuletich</pre>
</div>
</blockquote></div>