Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
June 2016
- 812 messages
Re: [Pharo-dev] [pharo-project/pharo-core] bb7382: 60072
by stepharo
Le 9/6/16 à 09:04, Marcus Denker a écrit :
>> On 08 Jun 2016, at 19:46, stepharo <stepharo(a)free.fr> wrote:
>>
>>
>>> 60072
>>> 18451 Do not use #ifNotNilDo:ifNil:, #ifNil:ifNotNilDo:, #ifNotNilDo:
>>> https://pharo.fogbugz.com/f/cases/18451
>>>
>>>
>> Is there a rule for such case?
>>
> Indeed, there are!
>
> RBRuleIfNotEmptyDo
> RBRuleIfNotNilDo
Excellent!
>
> Added in Pharo5, so we can deprecate these methods in Pharo6.
>
> (Maybe we can use them as a reason to add the âautomatic rewrite deprecationâ
> in Pharo6⦠with the idea that it says âthis is departed, but I can fix it for youâ.
> At runtime we can do that with 100% correctness.)
>
> Marcus
>
>
>
June 9, 2016
Re: [Pharo-dev] Story of one small fix
by stepharo
> I have a mental block to contributing to part of Pharo maintained in
> external repositories. Maybe its unreasonable, but it just *feels*
> like too much friction. If I've worked on an issue, I. just. want.
> to. submit. it!
:)
June 9, 2016
Re: [Pharo-dev] IMPORTANT: Proposal to create a github team for Voyage and MongoTalk
by Yanni Chiu
On Thu, Jun 9, 2016 at 2:58 AM, Esteban Lorenzano <estebanlm(a)gmail.com>
wrote:
>
> And finally, more we move, more we have encourage to improve the tools,
> complete the missing partsâ¦
>
About a year ago I tried to use git for a project, but gave up because it
was not clear to me what tools and processes should be used. Having an
active project to follow (like PharoNoSQL) would maybe fill in the missing
git knowledge I need.
June 9, 2016
Re: [Pharo-dev] Playground and text evaluation printing result default.
by Tudor Girba
Hi,
> On Jun 8, 2016, at 8:44 AM, stepharo <stepharo(a)free.fr> wrote:
>
>>
>> Hi Stef,
>>
>> Thanks for the feedback. Sorry for the long email, but I you raised several issues and I thought it is worth addressing them.
>>
>> The feature we are talking about came into being after several suggestions on this mailing list (and quite some long discussions) that had the scenario of keeping track of several executions. In the first version of the Playground it was not possible to paste directly in the playground. We did not impose anything, it was the contrary.
>
> and the result is that I can spend time removing spurrious comments.
>> From your email I see that you would rather prefer the variant of embedding the text as is after pressing Enter. Is this correct?
>>
>> Here is another variant:
>> - Cmd+p
>> - Cmd+v ==> paste the string directly in the editor without comments
> why not.
> but this is confusing with copy paste.
> So will you corrupt the current selection.
Hmm. I do not see this one, so I need a bit more explanations. Here is what I understand:
- in the old editor, the behavior was that when you pressed Cmd+p, the printed text got selected
- in my proposal, you press Cmd+p,Cmd+v and you get exactly the same text selected.
Did I misunderstand something?
One note: Cmd+v would not imply copying to the clipboard.
> So should I trade copy/paste with getting a value printed.
> May be cmd+r for raw
This is tempting. How about Cmd+Shift+p (force print-it)?
This brings us to the cmd+shift issue. I wanted to ask for a longer time how do you press Cmd+Shift+n for references? Is there a difference in how you use the keyboard in that case? Please note that I am not mocking you. I want to know.
>> ...
>> This discussion is one of those. We wanted to solve the most often appearing case in which we use Cmd+p as a way to preview quickly the result. Pasting the code in the existing playground is an edge case for Cmd+p, not the primary case.
> how did you measure it?
> Because for me this is always the inverse.
I watched people deleting the printed code so many times, including me that this became frustrating enough to trigger a new solution. Then when we released the playground 2 years ago, people liked it and they only announced the need for a way to keep track of execution results.
>>> ...
>> Letâs do a remote session and I watch you do things. This week I am available this Thursday morning or Friday after 11.
> I'm not available. Going to hard rock concert with teenagers.
Have fun :). How about next week on Monday?
Cheers,
Doru
--
www.tudorgirba.com
www.feenk.com
"Every thing has its own flow."
June 9, 2016
Re: [Pharo-dev] Story of one small fix
by Ben Coman
On Thu, Jun 9, 2016 at 3:42 PM, Pavel Krivanek <pavel.krivanek(a)gmail.com> wrote:
>
>
> 2016-06-08 19:40 GMT+02:00 stepharo <stepharo(a)free.fr>:
>>
>> ***THANKS*** Pavel.
>>
>> Yes it is the best way to make sure that nobody wants to work at this
>> level. We discussed this problem during the last board meeting. This is why
>> I proposed the following process.
>>
>> When the core Pharo developers are in need to change a package they should
>> do it without updating the external package configurations.
>>
>> And the external developers should check and merge the changes from the
>> Pharo repo and when they want
>>
>> release a new configuration that we will integrate.
>
> But the problem is that for bootstrap we need updated configurations (or
> somenting like it) because we want to load all system correctly from them.
> So even for such small changes we need to update them somehow. Moreover, we
> want to test incomming slices with bootstrap. That means that for every new
> slice we need to create temporary configurations and run bootstrap-load
> process on them.
>
> So it is clear that we need configurations that will be created and managed
> automatically and will enable swapping of repositories. We had already
> several discussions on this theme and from my point of view we need:
>
> - own separate repository for every semi-external project. So something like
> fork for Pharo. With GIT it will be natural, for the management by MC it
> will be only a temporary step.
>
> - own configuration that will be aware only of Pharo and will be fully
> automatically managed
>
> Pharo developers will provide only slices and will not care about
> configuraitons at all. It will mean that maintainers of semi-external
> projects will loose part of the controll and will need to care of sync with
> own development repository but it is nothing new. Even now Pharo makes own
> forks of some projects but it is not so visible.
I have a mental block to contributing to part of Pharo maintained in
external repositories. Maybe its unreasonable, but it just *feels*
like too much friction. If I've worked on an issue, I. just. want.
to. submit. it! With Slices its dead simple - so I stick to those
(although I've been a bit unproductive of late).
Maybe some middle ground is to still use Configurations, but you add
the Configurations to a Slice and the individual packages are auto
added. Then the Slice, Configurations and individual packages are all
committed to inbox. Similar to the way integration now copies
packages from the Inbox to "internal" Main repositories, those
packages & configurations homed in other repositories are pushed there
as part of integration. So the workflow would be the same for
internal and external repositories - the only change being the target
repository.
Any other development going on in external repository would be
considered a feature branch, an would be incumbent on them to merge in
changes added to the external repository by TheIntegrator before they
submit their branch to Inbox for integration.
The other thing that would help is the Configuration being marked
dirty when child Package becomes dirty (or does it already do this?)
cheers -ben
>
>>
>> For me this is clear (for example for the icon: fix) I do not do anything
>> if this is with the process you describe because it is insane.
>>
>> In fact fixing this process is part of the job description for your
>> position.
>>
>> It was
>>
>> - republishing automatically changes and the configuration
>>
>> - working on package validation (making sure that the catalog does not
>> get full of not working project)
>>
>> - bootstrap :)
>
>
> Of course I am aware of it :-)
>
> -- Pavel
>>
>>
>> Stef
>>
>>
>> Le 8/6/16 à 11:05, Pavel Krivanek a écrit :
>>
>> Hi,
>>
>> we had in the system circular package dependency between Catalog and
>> GTools and we decided to solve it by simple moving of one method from one
>> package to other one. However, these two packages are external packages
>> managed by configurations. That means that we needed move the method, save
>> dirty packages and fix both configurations.
>>
>> For the catalog we have very simple configuration because it manages only
>> one package (and dependency on STON). ConfigurationOfGTInspectorCore was
>> more complicated because the repository already included newer development
>> version of the modified package so we needed to merge. But because we are
>> not the maintainers, we cannot know if the change in this package is not
>> requiring changes in other packages provided by the configuration.
>> Well, the new configurations were prepared and copied into inbox. We
>> needed to create next two issues for updating of the configuration in the
>> system. We did it and integrated all together in one update. But that is not
>> all...
>> ConfigurationOfGTInspectorCore is used by three other configurations
>> (ConfigurationOfGTPlaygroundCore, ConfigurationOfGToolkitCore and
>> ConfgurationOfGTDebugger) that specify number of
>> ConfigurationOfGTInspectorCore version. In ideal state you should create new
>> versions of the configurations but that means that you need to modify
>> configurations of all other configurations that use them. It is simpler just
>> modify current configuration and upgrade required version number of
>> GTInspectorCore. That means to create three next issues, each for one
>> configuration, create new configuration versions (and check and merge the
>> newer versions in the home repository if needed), copy them to the inbox,
>> wait for the review and hope that during integration the Integrator will not
>> create new versions of some packages. If yes, you need to update
>> configurations again.
>>
>> So at the end you have at least six issues because you wanted to change
>> package for one method that has still the same content and is placed in the
>> same class... And it can be worse. Both of these external projects have
>> public access to the repository and are managed the same way (not mixing MC
>> with GIT).
>>
>> As you see, it is crazy and unmaintainable.
>>
>> It is clear that we need to change the process. We need to discuss it
>> deeply and some of the results may touch maintainers of the external
>> projects integrated in Pharo but please keep in mind that the current system
>> is clearly bad.
>>
>> Cheers,
>> -- Pavel
>>
>>
>>
>
June 9, 2016
Re: [Pharo-dev] Story of one small fix
by Esteban Lorenzano
Cargo will not fix the dependency mess.
maybe it will be easy the process, but it will not fix the real problem: we have a system thatâs not made in a modular way. We are working hard to make it possible, but until we finish that there will be fixes that will touch more than one âmoduleâ and then it will be a problem also with Cargo (a dependency manager does not fixes couples dependencies, just describes them).
Esteban
> On 09 Jun 2016, at 10:58, Pavel Krivanek <pavel.krivanek(a)gmail.com> wrote:
>
> We cannot do that right now. I hope that we will replace configurations with Cargo.
>
> -- Pavel
>
> 2016-06-09 10:03 GMT+02:00 Denis Kudriashov <dionisiydk(a)gmail.com <mailto:dionisiydk@gmail.com>>:
> So does we all agree to commit fixes for external packages by slices without new configs?
>
> 2016-06-09 9:42 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>>:
>
>
> 2016-06-08 19:40 GMT+02:00 stepharo <stepharo(a)free.fr <mailto:stepharo@free.fr>>:
> ***THANKS*** Pavel.
>
> Yes it is the best way to make sure that nobody wants to work at this level. We discussed this problem during the last board meeting. This is why I proposed the following process.
>
> When the core Pharo developers are in need to change a package they should do it without updating the external package configurations.
> And the external developers should check and merge the changes from the Pharo repo and when they want
> release a new configuration that we will integrate.
>
> But the problem is that for bootstrap we need updated configurations (or somenting like it) because we want to load all system correctly from them. So even for such small changes we need to update them somehow. Moreover, we want to test incomming slices with bootstrap. That means that for every new slice we need to create temporary configurations and run bootstrap-load process on them.
>
> So it is clear that we need configurations that will be created and managed automatically and will enable swapping of repositories. We had already several discussions on this theme and from my point of view we need:
>
> - own separate repository for every semi-external project. So something like fork for Pharo. With GIT it will be natural, for the management by MC it will be only a temporary step.
>
> - own configuration that will be aware only of Pharo and will be fully automatically managed
>
> Pharo developers will provide only slices and will not care about configuraitons at all. It will mean that maintainers of semi-external projects will loose part of the controll and will need to care of sync with own development repository but it is nothing new. Even now Pharo makes own forks of some projects but it is not so visible.
>
>
> For me this is clear (for example for the icon: fix) I do not do anything if this is with the process you describe because it is insane.
> In fact fixing this process is part of the job description for your position.
>
> It was
> - republishing automatically changes and the configuration
>
> - working on package validation (making sure that the catalog does not get full of not working project)
> - bootstrap :)
>
>
> Of course I am aware of it :-)
>
> -- Pavel
>
> Stef
>
> Le 8/6/16 à 11:05, Pavel Krivanek a écrit :
>> Hi,
>>
>> we had in the system circular package dependency between Catalog and GTools and we decided to solve it by simple moving of one method from one package to other one. However, these two packages are external packages managed by configurations. That means that we needed move the method, save dirty packages and fix both configurations.
>>
>> For the catalog we have very simple configuration because it manages only one package (and dependency on STON). ConfigurationOfGTInspectorCore was more complicated because the repository already included newer development version of the modified package so we needed to merge. But because we are not the maintainers, we cannot know if the change in this package is not requiring changes in other packages provided by the configuration.
>> Well, the new configurations were prepared and copied into inbox. We needed to create next two issues for updating of the configuration in the system. We did it and integrated all together in one update. But that is not all...
>> ConfigurationOfGTInspectorCore is used by three other configurations (ConfigurationOfGTPlaygroundCore, ConfigurationOfGToolkitCore and ConfgurationOfGTDebugger) that specify number of ConfigurationOfGTInspectorCore version. In ideal state you should create new versions of the configurations but that means that you need to modify configurations of all other configurations that use them. It is simpler just modify current configuration and upgrade required version number of GTInspectorCore. That means to create three next issues, each for one configuration, create new configuration versions (and check and merge the newer versions in the home repository if needed), copy them to the inbox, wait for the review and hope that during integration the Integrator will not create new versions of some packages. If yes, you need to update configurations again.
>>
>> So at the end you have at least six issues because you wanted to change package for one method that has still the same content and is placed in the same class... And it can be worse. Both of these external projects have public access to the repository and are managed the same way (not mixing MC with GIT).
>>
>> As you see, it is crazy and unmaintainable.
>>
>> It is clear that we need to change the process. We need to discuss it deeply and some of the results may touch maintainers of the external projects integrated in Pharo but please keep in mind that the current system is clearly bad.
>>
>> Cheers,
>> -- Pavel
>>
>>
>
>
>
>
June 9, 2016
Re: [Pharo-dev] Story of one small fix
by Esteban Lorenzano
> On 09 Jun 2016, at 10:03, Denis Kudriashov <dionisiydk(a)gmail.com> wrote:
>
> So does we all agree to commit fixes for external packages by slices without new configs?
that would break the bootstrap process, so no.
Esteban
>
> 2016-06-09 9:42 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>>:
>
>
> 2016-06-08 19:40 GMT+02:00 stepharo <stepharo(a)free.fr <mailto:stepharo@free.fr>>:
> ***THANKS*** Pavel.
>
> Yes it is the best way to make sure that nobody wants to work at this level. We discussed this problem during the last board meeting. This is why I proposed the following process.
>
> When the core Pharo developers are in need to change a package they should do it without updating the external package configurations.
> And the external developers should check and merge the changes from the Pharo repo and when they want
> release a new configuration that we will integrate.
>
> But the problem is that for bootstrap we need updated configurations (or somenting like it) because we want to load all system correctly from them. So even for such small changes we need to update them somehow. Moreover, we want to test incomming slices with bootstrap. That means that for every new slice we need to create temporary configurations and run bootstrap-load process on them.
>
> So it is clear that we need configurations that will be created and managed automatically and will enable swapping of repositories. We had already several discussions on this theme and from my point of view we need:
>
> - own separate repository for every semi-external project. So something like fork for Pharo. With GIT it will be natural, for the management by MC it will be only a temporary step.
>
> - own configuration that will be aware only of Pharo and will be fully automatically managed
>
> Pharo developers will provide only slices and will not care about configuraitons at all. It will mean that maintainers of semi-external projects will loose part of the controll and will need to care of sync with own development repository but it is nothing new. Even now Pharo makes own forks of some projects but it is not so visible.
>
>
> For me this is clear (for example for the icon: fix) I do not do anything if this is with the process you describe because it is insane.
> In fact fixing this process is part of the job description for your position.
>
> It was
> - republishing automatically changes and the configuration
>
> - working on package validation (making sure that the catalog does not get full of not working project)
> - bootstrap :)
>
>
> Of course I am aware of it :-)
>
> -- Pavel
>
> Stef
>
> Le 8/6/16 à 11:05, Pavel Krivanek a écrit :
>> Hi,
>>
>> we had in the system circular package dependency between Catalog and GTools and we decided to solve it by simple moving of one method from one package to other one. However, these two packages are external packages managed by configurations. That means that we needed move the method, save dirty packages and fix both configurations.
>>
>> For the catalog we have very simple configuration because it manages only one package (and dependency on STON). ConfigurationOfGTInspectorCore was more complicated because the repository already included newer development version of the modified package so we needed to merge. But because we are not the maintainers, we cannot know if the change in this package is not requiring changes in other packages provided by the configuration.
>> Well, the new configurations were prepared and copied into inbox. We needed to create next two issues for updating of the configuration in the system. We did it and integrated all together in one update. But that is not all...
>> ConfigurationOfGTInspectorCore is used by three other configurations (ConfigurationOfGTPlaygroundCore, ConfigurationOfGToolkitCore and ConfgurationOfGTDebugger) that specify number of ConfigurationOfGTInspectorCore version. In ideal state you should create new versions of the configurations but that means that you need to modify configurations of all other configurations that use them. It is simpler just modify current configuration and upgrade required version number of GTInspectorCore. That means to create three next issues, each for one configuration, create new configuration versions (and check and merge the newer versions in the home repository if needed), copy them to the inbox, wait for the review and hope that during integration the Integrator will not create new versions of some packages. If yes, you need to update configurations again.
>>
>> So at the end you have at least six issues because you wanted to change package for one method that has still the same content and is placed in the same class... And it can be worse. Both of these external projects have public access to the repository and are managed the same way (not mixing MC with GIT).
>>
>> As you see, it is crazy and unmaintainable.
>>
>> It is clear that we need to change the process. We need to discuss it deeply and some of the results may touch maintainers of the external projects integrated in Pharo but please keep in mind that the current system is clearly bad.
>>
>> Cheers,
>> -- Pavel
>>
>>
>
>
>
June 9, 2016
Re: [Pharo-dev] Story of one small fix
by Serge Stinckwich
On Thu, Jun 9, 2016 at 9:58 AM, Pavel Krivanek <pavel.krivanek(a)gmail.com> wrote:
> We cannot do that right now. I hope that we will replace configurations with
> Cargo.
When Cargo will be deployed ?
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/
June 9, 2016
Re: [Pharo-dev] Story of one small fix
by Pavel Krivanek
We cannot do that right now. I hope that we will replace configurations
with Cargo.
-- Pavel
2016-06-09 10:03 GMT+02:00 Denis Kudriashov <dionisiydk(a)gmail.com>:
> So does we all agree to commit fixes for external packages by slices
> without new configs?
>
> 2016-06-09 9:42 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com>:
>
>>
>>
>> 2016-06-08 19:40 GMT+02:00 stepharo <stepharo(a)free.fr>:
>>
>>> ***THANKS*** Pavel.
>>>
>>> Yes it is the best way to make sure that nobody wants to work at this
>>> level. We discussed this problem during the last board meeting. This is why
>>> I proposed the following process.
>>>
>>> When the core Pharo developers are in need to change a package they
>>> should do it without updating the external package configurations.
>>>
>>> And the external developers should check and merge the changes from the
>>> Pharo repo and when they want
>>>
>>> release a new configuration that we will integrate.
>>>
>> But the problem is that for bootstrap we need updated configurations (or
>> somenting like it) because we want to load all system correctly from them.
>> So even for such small changes we need to update them somehow. Moreover, we
>> want to test incomming slices with bootstrap. That means that for every new
>> slice we need to create temporary configurations and run bootstrap-load
>> process on them.
>>
>> So it is clear that we need configurations that will be created and
>> managed automatically and will enable swapping of repositories. We had
>> already several discussions on this theme and from my point of view we need:
>>
>> - own separate repository for every semi-external project. So something
>> like fork for Pharo. With GIT it will be natural, for the management by MC
>> it will be only a temporary step.
>>
>> - own configuration that will be aware only of Pharo and will be fully
>> automatically managed
>>
>> Pharo developers will provide only slices and will not care about
>> configuraitons at all. It will mean that maintainers of semi-external
>> projects will loose part of the controll and will need to care of sync with
>> own development repository but it is nothing new. Even now Pharo makes own
>> forks of some projects but it is not so visible.
>>
>>
>>> For me this is clear (for example for the icon: fix) I do not do
>>> anything if this is with the process you describe because it is insane.
>>>
>>> In fact fixing this process is part of the job description for your
>>> position.
>>>
>>> It was
>>>
>>> - republishing automatically changes and the configuration
>>>
>>> - working on package validation (making sure that the catalog does
>>> not get full of not working project)
>>>
>>> - bootstrap :)
>>>
>>
>> Of course I am aware of it :-)
>>
>> -- Pavel
>>
>>>
>>> Stef
>>>
>>> Le 8/6/16 à 11:05, Pavel Krivanek a écrit :
>>>
>>> Hi,
>>>
>>> we had in the system circular package dependency between Catalog and
>>> GTools and we decided to solve it by simple moving of one method from
>>> one package to other one. However, these two packages are external packages
>>> managed by configurations. That means that we needed move the method, save
>>> dirty packages and fix both configurations.
>>>
>>> For the catalog we have very simple configuration because it manages
>>> only one package (and dependency on STON).
>>> ConfigurationOfGTInspectorCore was more complicated because the
>>> repository already included newer development version of the modified
>>> package so we needed to merge. But because we are not the maintainers, we
>>> cannot know if the change in this package is not requiring changes in other
>>> packages provided by the configuration.
>>> Well, the new configurations were prepared and copied into inbox. We
>>> needed to create next two issues for updating of the configuration in the
>>> system. We did it and integrated all together in one update. But that is
>>> not all...
>>> ConfigurationOfGTInspectorCore is used by three other configurations (
>>> ConfigurationOfGTPlaygroundCore, ConfigurationOfGToolkitCore and
>>> ConfgurationOfGTDebugger) that specify number of
>>> ConfigurationOfGTInspectorCore version. In ideal state you should
>>> create new versions of the configurations but that means that you need to
>>> modify configurations of all other configurations that use them. It is
>>> simpler just modify current configuration and upgrade required version
>>> number of GTInspectorCore. That means to create three next issues, each
>>> for one configuration, create new configuration versions (and check and
>>> merge the newer versions in the home repository if needed), copy them to
>>> the inbox, wait for the review and hope that during integration the
>>> Integrator will not create new versions of some packages. If yes, you need
>>> to update configurations again.
>>>
>>> So at the end you have at least six issues because you wanted to change
>>> package for one method that has still the same content and is placed in the
>>> same class... And it can be worse. Both of these external projects have
>>> public access to the repository and are managed the same way (not mixing MC
>>> with GIT).
>>>
>>> As you see, it is crazy and unmaintainable.
>>>
>>> It is clear that we need to change the process. We need to discuss it
>>> deeply and some of the results may touch maintainers of the external
>>> projects integrated in Pharo but please keep in mind that the current
>>> system is clearly bad.
>>>
>>> Cheers,
>>> -- Pavel
>>>
>>>
>>>
>>>
>>
>
June 9, 2016
Re: [Pharo-dev] Privacy sendDiagnosticsAndUsageData should be ternary, not binary
by Peter Uhnák
On Thu, Jun 9, 2016 at 10:23 AM, Andrei Chis <chisvasileandrei(a)gmail.com>
wrote:
>
>
> On Wed, Jun 8, 2016 at 9:28 AM, stepharo <stepharo(a)free.fr> wrote:
>
>>
>>
>> Le 7/6/16 à 12:00, Andrei Chis a écrit :
>>
>> Hi Peter,
>>
>> On Tue, Jun 7, 2016 at 12:05 AM, Peter Uhnak <i.uhnak(a)gmail.com> wrote:
>>
>>> Hi,
>>>
>>> Privacy>>sendDiagnosticsAndUsageData should be ternary, not binary.
>>>
>>> Because right now if I refuse sending the data I will be asked again
>>> every single time.
>>>
>>
>> Indeed right now, at least in Spotter, the notification is shown every
>> time it is opened in
>> a new image, even if the setting was explicitly set. It was done like
>> this as a reminder,
>> especially if you have the setting set to true.
>>
>>
>> Andrei for the shortcut reporter we put a number of show. Like that the
>> user will be reminder a number
>> of times and the system will get calm. May be you could do the same
>>
>
> In a new image the message to send usage data is shown only once.
> Indeed we could add a counter but that would have to maintain state
> between images.
>
This should also include an API for third-party apps to correctly ask the
question.
For example Roassal just checks the value and if it's not true it will ask
againâ¦
RTRoassalExample>>open
| pager |
self checkSendingData.
...
RTRoassalExample>>checkSendingData | result | Privacy
sendDiagnosticsAndUsageData ifTrue: [ ^ self ]. result := UIManager default
questionWithoutCancel: 'Please, do you want to let us know how you use the
Roassal example browser? ' title: 'Send Us Usage Data'. result ifNil: [ ^
self ]. result ifTrue: [ Privacy sendDiagnosticsAndUsageData: true ]
With an approach like this a counter wouldn't help.
So maybe a new method is warrented⦠something like
RTRoassalExample>>checkSendingData | result | Privacy
askForDiagnosticsAndUsageData: 'Custom Message' for: #Roassal.
Privacy sendDiagnosticsAndUsageData ifTrue: [ self enableWhatever ]
And `askForDiagnosticsAndUsageData:` would open the popup if the counter
hasn't been hit and do nothing otherwise.
It's also a question whether it shouldn't be per-app, because maybe you
want logging enabled for an app X, but not Y; but that's extra complexity.
Peter
>
>
>>
>>> So the proper behavior (imho) should be:
>>>
>>> ask Privacy for the setting⦠if the setting is not defined, then show a
>>> popup.
>>> If the setting is defined then respect it and do not show another popup.
>>>
>>
>> The current behaviour with showing the notification in Spotter and
>> Nautilus should be a temporary one.
>> Ideally we just need a single uniform way of showing this notification
>> plus the option to control
>> and see the data that each tool wants to record at a fined-grained level.
>>
>>
>>>
>>> Also it would be nice to know what happens with the data.
>>>
>>
>> We store it on a server and use it for various analyses.
>>
>> what can you tell us on processor use in Spotter.
>>
>
> Not right at this moment. I'm way to busy with other urgent things.
> Some older results were discussed here:
> http://scg.unibe.ch/scgbib?query=Kube15a&display=abstract
> Just for these result to carry more value we still need more people to
> send data.
> Right now few do.
>
> Cheers,
> Andrei
>
>
>>
>> It is also publicly available: GTEventTool default download.
>>
>>
>>> I mean my projects are open source so "sendSourceCode" shouldn't be an
>>> issue⦠but what you can possibly learn from it?
>>> Why not just analyze the content of SmalltalkHub/GitHub?
>>>
>>
>> Because if you have the setting enabled it does not always work to map
>> different actions that with the code that you are working on.
>>
>> Cheers,
>> Andrei
>>
>>
>>>
>>> Peter
>>>
>>>
>>
>>
>
June 9, 2016