Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Limit the 'loggedInUserFirstname' variable to 25 characters and capitalize its first letter #20

Closed
mani2care opened this issue Apr 3, 2023 · 12 comments
Assignees
Labels
enhancement New feature or request waiting feedback Waiting on feedback from requestor
Milestone

Comments

@mani2care
Copy link

Hi Dan,

Greetings for the better visibility and standardising the login user first letter to making it capitalising

from : https://github.com/dan-snelson/Setup-Your-Mac/blob/5c0c95887aa7cb82c7c20010b312710341395a9d/Setup-Your-Mac-via-Dialog.bash#L216

to :
loggedInUserFullname=$( id -F "${loggedInUser}" | awk '{for(i=1;i<=NF;i++)sub(/./,toupper(substr($i,1,1)), $i)}1')

Find the attached out put before :
image

Find the out put after :

image

@mani2care mani2care added the enhancement New feature or request label Apr 3, 2023
@dan-snelson
Copy link
Collaborator

Thanks for the ongoing testing and FRs, @mani2care.

While this strikes me as a "garbage in, garbage out" situation — if users are too lazy to capitalize their own names, why should we reward their bad behavior — please test the following:

loggedInUserFirstname=$( echo "$loggedInUserFullname" | sed -E 's/^.*, // ; s/([^ ]*).*/\1/' | awk '{print toupper(substr($0,1,1))substr($0,2)}' )

Screenshot 2023-04-03 at 2 15 02 AM

Screenshot 2023-04-03 at 2 16 03 AM

@dan-snelson dan-snelson changed the title Capitalize the first letter Capitalize the first letter of loggedInUserFirstname Apr 3, 2023
@dan-snelson dan-snelson added this to the 1.10.0 milestone Apr 3, 2023
@dan-snelson dan-snelson added the waiting feedback Waiting on feedback from requestor label Apr 3, 2023
@mani2care
Copy link
Author

hi Dan,

Tested with this loggedInUserFirstname its works well.
loggedInUserFirstname=$( echo "$loggedInUserFullname" | sed -E 's/^.*, // ; s/([^ ]*).*/\1/' | awk '{print toupper(substr($0,1,1))substr($0,2)}' )

However, if the account name is very long then 15, its another scenario. for example
Raju Manikandanrajusubbaramanigoundar
Alexandros Constantinou
Anastasia Papadopoulos
Christophoros Georgiou
Demetrios Anastasiades
Eleni Ioannou-Kyprianou
Georgios Michalopoulos
Katerina Tzortzis-Papadakis
Konstantinos Papageorgiou
Margarita Kyprianou-Christodoulou
Panayiotis Papageorgopoulos

can be possible like this if the name is very longer just to limiting the letters 10

loggedInUserFullname=$( id -F "${loggedInUser}" )
loggedInUserFirstname=$( echo "$loggedInUserFullname" | sed -E 's/^.*, // ; s/([^ ]*).*/\1/' | cut -c 1-10 | awk '{print toupper(substr($0,1,1))substr($0,2)}' )
if [ ${#loggedInUserFullname} -gt 11 ]; then
  loggedInUserFirstname="${loggedInUserFirstname}..."
fi

Manikandan...... so this will be limited printing the letters after if any words will be printed like ......
so this will help us to reducing the over size the table.

Before :

Screenshot 2023-04-04 at 1 32 49 PM

After :

Screenshot 2023-04-04 at 1 33 10 PM

@dan-snelson dan-snelson removed the waiting feedback Waiting on feedback from requestor label Apr 4, 2023
@dan-snelson dan-snelson changed the title Capitalize the first letter of loggedInUserFirstname Limit the 'loggedInUserFirstname' variable to 15 characters and capitalize its first letter Apr 4, 2023
@dan-snelson
Copy link
Collaborator

@mani2care:

Thanks for the additional details and example strings.

Please test the following:

loggedInUserFirstname=$( echo "$loggedInUserFullname" | sed -E 's/^.*, // ; s/([^ ]*).*/\1/' | sed 's/\(.\{15\}\).*/\1.../' | awk '{print toupper(substr($0,1,1))substr($0,2)}' )

❯ loggedInUserFullname="raju, manikandanrajusubbaramanigoundar"
❯ loggedInUserFirstname=$( echo "$loggedInUserFullname" | sed -E 's/^.*, // ; s/([^ ]*).*/\1/' | sed 's/\(.\{15\}\).*/\1.../' | awk '{print toupper(substr($0,1,1))substr($0,2)}' )
❯ echo $loggedInUserFirstname
Manikandanrajus...

@dan-snelson dan-snelson added the waiting feedback Waiting on feedback from requestor label Apr 4, 2023
@dan-snelson
Copy link
Collaborator

@mani2care: The example above is for the first 15 characters; please advise if you'd prefer the first 10 characters (as in your example).

@mani2care
Copy link
Author

mani2care commented Apr 4, 2023

I think this is looks good shot and sweet ,& prefer the first 10 characters

#!/bin/bash
loggedInUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' )
loggedInUserFullname=$( id -F "${loggedInUser}" )
loggedInUserFirstname=$( echo "$loggedInUserFullname" | sed -E 's/^.*, // ; s/([^ ]*).*/\1/' | sed 's/\(.\{15\}\).*/\1.../' | awk '{print toupper(substr($0,1,1))substr($0,2)}' )
echo loggedInUserFullname : $loggedInUserFullname
echo loggedInUserFirstname: $loggedInUserFirstname

Find the test results:

image

@dan-snelson dan-snelson changed the title Limit the 'loggedInUserFirstname' variable to 15 characters and capitalize its first letter Limit the 'loggedInUserFirstname' variable to 10 characters and capitalize its first letter Apr 4, 2023
dan-snelson added a commit that referenced this issue Apr 4, 2023
- 🔥 **Breaking Change** for users of Setup Your Mac prior to `1.10.0` 🔥
  - Added `recon` validation, which **must** be used when specifiying the `recon` trigger (Addresses [Issue No. 19](#19))
- Standardized formatting of `toggleJamfLaunchDaemon` function
- Limit the 'loggedInUserFirstname' variable to 10 characters and capitalize its first letter (Addresses [Issue No. 20](#20); thanks @mani2care!)
@dan-snelson
Copy link
Collaborator

@mani2care: This should be addressed in 1.10.0-rc1.

dan-snelson added a commit that referenced this issue Apr 5, 2023
- Limit the 'loggedInUserFirstname' variable to 25 characters and capitalize its first letter (Addresses [Issue No. 20](#20); thanks @mani2care!)
- Added line break to 'welcomeTitle' and 'welcomeBannerText'
- Replaced some generic "Mac" instances with hardware-specific model name (thanks, @Pico!)
@dan-snelson dan-snelson changed the title Limit the 'loggedInUserFirstname' variable to 10 characters and capitalize its first letter Limit the 'loggedInUserFirstname' variable to 25 characters and capitalize its first letter Apr 5, 2023
@dan-snelson
Copy link
Collaborator

@mani2care: Please test-drive 1.10.0-rc2.

As mentioned in the #setup-your-mac Channel on the Mac Admins Slack:

Long-term, I feel that if upgrading to the latest version of SYM is well-documented, Mac Admins can roll-their-own customizations now and easily maintain them across versions, without adversely impacting the entire user-base.

@dan-snelson
Copy link
Collaborator

(You can uncomment Line No. 216 during testing.)

@mani2care
Copy link
Author

Hi @dan-snelson find the attached the test results.

longname.test.mov
shortname.test.mov

dan-snelson added a commit that referenced this issue Apr 7, 2023
06-Apr-2023

- 🆕 **Configuration Download Estimate** (Addresses [Issue No. 7]((#7)); thanks for the idea, @DevliegereM; heavy-lifting provided by @bartreardon!)
  - Manually set `configurationDownloadEstimation` within the script to `true` to enable
  - Specify an arbitrary value for `correctionCoefficient` (i.e., a "fudge factor" to help estimates match reality)
  - Calculate total file size (in MB) for each Configuration, then populate:
    - `configurationOneSize`
    - `configurationTwoSize`
    - `configurationThreeSize`
- 🔥 **Breaking Change** for users of Setup Your Mac prior to `1.10.0` 🔥
  - Added `recon` validation, which **must** be used when specifying the `recon` trigger (Addresses [Issue No. 19](#19))
- Standardized formatting of `toggleJamfLaunchDaemon` function
- Limit the `loggedInUserFirstname` variable to `25` characters and capitalize its first letter (Addresses [Issue No. 20](#20); thanks @mani2care!)
- Added line break to `welcomeTitle` and `welcomeBannerText`
- Replaced some generic "Mac" instances with hardware-specific model name (thanks, @Pico!)
- Replaced `verbose` Debug Mode code with `outputLineNumberInVerboseDebugMode` function (thanks, @bartreardon!)
- Removed dependency on `dialogApp`
dan-snelson added a commit that referenced this issue Apr 10, 2023
10-Apr-2023
- 🆕 **Configuration Download Estimate** (Addresses [Issue No. 7]((#7)); thanks for the idea, @DevliegereM; heavy-lifting provided by @bartreardon!)
    - Manually set `configurationDownloadEstimation` within the SYM script to `true` to enable
    - New `calculateFreeDiskSpace` function will record free space to `scriptLog` before and after SYM execution
        - Compare before and after free space values via: `grep "free" $scriptLog`
    - Populate the following variables, in Gibibits (i.e., Total File Size in Gigabytes * 7.451), for each Configuration:
        - `configurationOneSize`
        - `configurationTwoSize`
        - `configurationThreeSize`
    - Specify an arbitrary value for `correctionCoefficient` (i.e., a "fudge factor" to help estimates match reality)
        - Validate actual elapsed time with: `grep "Elapsed" $scriptLog`
- 🔥 **Breaking Change** for users of Setup Your Mac prior to `1.10.0` 🔥
    - Added `recon` validation, which **must** be used when specifying the `recon` trigger (Addresses [Issue No. 19](#19))
- Standardized formatting of `toggleJamfLaunchDaemon` function
- Limit the `loggedInUserFirstname` variable to `25` characters and capitalize its first letter (Addresses [Issue No. 20](#20); thanks @mani2care!)
- Added line break to `welcomeTitle` and `welcomeBannerText`
- Replaced some generic "Mac" instances with hardware-specific model name (thanks, @Pico!)
- Replaced `verbose` Debug Mode code with `outputLineNumberInVerboseDebugMode` function (thanks, @bartreardon!)
- Removed dependency on `dialogApp`
- Check `bannerImage` and `welcomeBannerImage` ([Pull Request No. 22](#22); thanks @amadotejada!)
dan-snelson referenced this issue Apr 13, 2023
…uplicates — is converted to a sorted, unique, JSON-compatible 'departmentList' variable (Addresses Issue No. 23; thanks @rougegoat)

Signed-off-by: Dan K. Snelson <dan@snelson.us>
@mani2care
Copy link
Author

One more request change the headline to Center align so it’s looks good

@dan-snelson
Copy link
Collaborator

@mani2care: This one comes down to personal preference; I think the left-aligned header looks good.

@dan-snelson
Copy link
Collaborator

Thanks, @mani2care!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request waiting feedback Waiting on feedback from requestor
Projects
None yet
Development

No branches or pull requests

2 participants