[squeak-dev] The Trunk: System-mt.1262.mcz

Chris Muller asqueaker at gmail.com
Fri Dec 3 00:10:20 UTC 2021


Are you sure names are less ambiguous than initials?  It doesn't matter,
since this doesn't solve the problem anyway, as there could easily be
multiple "david.smith"'s.  As in that scenario, the user is forced into the
same situation as now, using something other than their first choice to
find uniqueness.  In either case, it's easy enough to add/eliminate a
middle initial, or simply add a "2" on the end, or use a handle.

I think initials in Squeak were meant to serve as "id", which affords
different properties than the "name".  IMO, it would be prudent to consider
all the ways such properties manifest throughout the system use cases
before recommending such a drastic, irreversible change.

 - Chris

On Thu, Dec 2, 2021 at 9:13 AM <commits at source.squeak.org> wrote:

> Marcel Taeumel uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-mt.1262.mcz
>
> ==================== Summary ====================
>
> Name: System-mt.1262
> Author: mt
> Time: 2 December 2021, 4:13:05.311715 pm
> UUID: 777eacd2-3987-4b40-9431-85e1eb125748
> Ancestors: System-dtl.1261
>
> When the system asks you for your author intials, cross-check against the
> list of known contributors. If there is a match, greet the user and ask if
> the match is correct. Encourage the user to enter "firstname.lastname" as
> author initials to avoid conflicts with older initials.
>
> Thanks to Christoph (ct) for the idea!
>
> Try to derive #authorName from #authorInitials and vice versa using the
> list of known contributors.
>
> Minor tweak of the text layout for the version's alpha-warning text.
>
> =============== Diff against System-dtl.1261 ===============
>
> Item was changed:
>   ----- Method: SystemVersion>>description (in category 'printing') -----
>   description
>
> +       self isAlpha ifTrue: [^ 'ALPHA. New features which are not stable
> yet may come in\with each update. Also, existing features might not
> work\reliably due to updates and related changes.' translated withCRs].
> -       self isAlpha ifTrue: [^ 'ALPHA. New features which are not stable
> yet may come in\with each update. Also, existing features might not work
> reliably\due to updates and related changes.' translated withCRs].
>
>         (self isFeatureFreeze and: [self isCodeFreeze not]) ifTrue: [^
> 'FEATURE FREEZE. A new release is being prepared.\There will be only
> bugfixes, but no new features.' translated withCRs].
>
>         self isCodeFreeze ifTrue: [^ 'RELEASE CANDIDATE. The new release
> is almost ready.\There will be only bugfixes, if any.' translated withCRs].
>
>         self isRelease ifTrue: [^ ''].!
>
> Item was changed:
>   ----- Method: Utilities class>>authorInitials (in category
> 'identification') -----
>   authorInitials
> +       "Maybe interactive. Answer the initials to be used to identify the
> current code author. Ask the user if the initials are empty. Try to derive
> the initials from the existing author name."
> -       "Answer the initials to be used to identify the current code
> author.  "
>
> +       (AuthorInitials isEmpty and: [AuthorName notEmpty])
> +               ifTrue: [
> +                       SystemNavigation authors
> +                               at: AuthorName
> +                               ifPresent: [:authorInitials |
> +                                       AuthorInitials := authorInitials
> anyOne. "Can be multiple matches"
> +                                       self setAuthorInitials "Let the
> user confirm"]].
> +
>         [AuthorInitials isEmpty] whileTrue: [self setAuthorInitials].
>         ^ AuthorInitials!
>
> Item was changed:
>   ----- Method: Utilities class>>authorName (in category 'identification')
> -----
>   authorName
> +       "Maybe interactive. Answer the full name to be used in various
> tools to identify the user/author. Ask the user if the name is empty. Try
> to derive the name from existing initials."
> +
> +       ^ AuthorName ifEmpty: [
> +               AuthorInitials
> +                       ifEmpty: [self setAuthorName. AuthorName]
> +                       ifNotEmpty: [:initials |
> +                               SystemNavigation authorsInverted
> +                                       at: initials
> +                                       ifPresent: [:authorNames |
> +                                               AuthorName := authorNames
> sorted joinSeparatedBy: '/'.
> +                                               self setAuthorName. "Let
> the user confirm"]
> +                                       ifAbsent: [self setAuthorName.
> AuthorName]]]!
> -       AuthorName ifEmpty: [self setAuthorName].
> -       ^ AuthorName!
>
> Item was changed:
>   ----- Method: Utilities class>>setAuthorInitials (in category
> 'identification') -----
>   setAuthorInitials
> +       "Put up a dialog allowing the user to specify the author's
> initials. Inform the user about collisions with known contributors. See
> SystemNavigation class >> #authors. "
> -       "Put up a dialog allowing the user to specify the author's
> initials.  "
>
> +       | newInitials newName |
> +       newInitials := Project uiManager
> +               request: 'Please type your initials:' translated
> +               initialAnswer: AuthorInitials.
> +
> +       SystemNavigation authorsInverted at: newInitials ifPresent:
> [:existingNames |
> +               newName := existingNames sorted joinSeparatedBy: '/'].
> +
> +       (self confirm: ('Hello, <b>{1}</b>!! :-)<br><br><font face="{4}"
> size="{5}">Our <a href="code://{3}">list of known contributors</{6}>
> associates the initials you<br>have entered with this name. If this is not
> you, please<br>consider entering alternative initials, preferably in
> the<br>format <b>firstName.lastName</b> to avoid
> collisions.</font><br><br>Are these your author initials?<br><br>
> <b>{2}</b>' translated format: {
> +               newName ifNil: [newInitials].
> +               newInitials.
> +               'SystemReporter open model categoryAt: 1 put: true'.
> +               Preferences standardButtonFont familyName.
> +               Preferences standardButtonFont pointSize.
> +               "mt: Avoid triggering the Windows Defender. See
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-December/217346.html
> "
> +               'a' }) asTextFromHtml)
> +
> +               ifTrue: [self authorInitials: newInitials].!
> -       self authorInitials:
> -               (UIManager default request: 'Please type your initials: '
> translated
> -                                       initialAnswer: AuthorInitials)!
>
> Item was changed:
>   ----- Method: Utilities class>>setAuthorName (in category
> 'identification') -----
>   setAuthorName
> +
> +       AuthorName := Project uiManager
> +               request: 'Please type your name:' translated
> +               initialAnswer: (AuthorName ifEmpty: ['Your Name'
> translated]).!
> -       AuthorName := UIManager default
> -                       request: 'Please type your name:' translated
> -                       initialAnswer: 'Your Name' translated!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20211202/f757fd51/attachment.html>


More information about the Squeak-dev mailing list