<div dir="auto">Hi Hilaire,</div><div dir="auto"><br></div><div dir="auto">I was thinking more on the lines of moving the methods in PreferenceNG class to some new class, say PreferenceDictionary, and then having a global instance Preferences for the base image, and another instance of PreferenceDictionary for DrGeo. My first idea before giving it much thought was to add a new instance variable to CodePackage but now that seems totally unnecessary.</div><div dir="auto"><br></div><div dir="auto"><br></div><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 11 Jun 2022 at 3:15 AM Hilaire Fernandes via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <p><font size="4" style="color:rgb(0,0,0)">Hi Luciano, Juan,</font></p>
    <p><font size="4" style="color:rgb(0,0,0)">Was busy elsewhere.<br>
      </font></p>
    <div>Le 04/06/2022 à 14:10, Luciano
      Notarfrancesco a écrit :<br>
    </div>
    <blockquote type="cite">
      <div>
        <div dir="auto">Interesting. I will think more about this before
          giving an opinion about your proposal. But in the meantime I
          wonder, what if every package had a dictionary of preferences?
          Would that work with the way you arranged your code in your
          packages? I think this could also address some of Gerald’s
          concerns regarding modularity.</div>
      </div>
    </blockquote>
    <p><font size="4" style="color:rgb(0,0,0)">What I proposed imply one or more dictionaries per
        application. We can make it explicit. Note however, as Juan
        emphasized, it will not solve the problem of purging the system
        from zombies preferences.</font></p>
    <p><font size="4" style="color:rgb(0,0,0)">
        </font></p><blockquote type="cite"><font size="4" style="color:rgb(0,0,0)">Your proposal makes me remember the
          Windows Registry: A central repository of
          preferences/options/configurations for all apps in the system.
          It also has a hierarchical structure to support multiple
          users. Some of the problems of this approach (in particular in
          Windows) are:</font></blockquote><font size="4" style="color:rgb(0,0,0)">
        I try to solve the preference problem for DrGeo needs with what
        we have right now.</font><p></p>
    <p>
      </p><blockquote type="cite">I think it would be much better, as
        Luciano also suggests, to use the central Preference registry
        only for the base image, and have a good way to let packages
        have their own.</blockquote>
      <font size="4" style="color:rgb(0,0,0)"> I will emphasis how the Pharo implementation based
        on Pragma solves elegantly the problem:</font>
    <p></p>
    <p><font size="4" style="color:rgb(0,0,0)">The methods (decorated with the ad-hoc pragma)
        defining the preferences are removed when the application
        package is unload, so do the application preferences. There is
        nothing to clean up. What I like less, it is a bit complex.<br>
      </font></p></div><div text="#000000" bgcolor="#FFFFFF">
    <p><font size="4" style="color:rgb(0,0,0)">Hilaire<br>
      </font></p>
    <pre cols="72" style="font-family:monospace">-- 
GNU Dr. Geo
<a href="http://drgeo.eu" target="_blank" style="font-family:monospace">http://drgeo.eu</a>
<a href="http://blog.drgeo.eu" target="_blank" style="font-family:monospace">http://blog.drgeo.eu</a></pre>
  </div>

-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>