Posted on 10-19-2015 09:21 AM
Hi all,
Like many, I wanted my very own enrollment screen like the one IBM showed at the JNUC. I threw something together that works very similarly. This is a native app written in swift. I did try and make it easily editable for anyone to use and customize without knowing how to code. Here's the repo...I'll be updating and adding things as time goes on and cleaning it up.
You'll need to supply a html based page with your site specific information and then specify where 4 different packages land in the installation so the progress bar can display accurate information.
https://github.com/jason-tratta/ProgressScreen
Posted on 04-26-2016 11:18 AM
Looks like I found the culprit. I have fixed the mistake in the Configurations.m file and it restored the waypoints on my machine.
You can either pull the code down again or you can just fix the 5 lines of code in your app.
If you check out the commit here you can see the changes in red and green in the Configurations.m file. In your version...just replace the red lines with the green lines and see if that gets you up and running.
The changes in the AppDelegate are to just silence the Swift 3 warnings...nothing to worry about for now.
Thanks for finding this one!
Posted on 04-26-2016 12:14 PM
Hey Jason,
That fixed it!!!!! Funny thing I was looking at the file and noticed the PSH didn't match what I was using in Apple Script and was wondering if that was the issue. But Im not experienced enough with creating Apps so I didn't want to make it worse!!
Thank you again!!!!
Shawn G!!!
Posted on 05-11-2016 02:30 PM
Hey @jtratta, Thanks so much for this and its working great. Except I do have one issue that I am sure is something related to autolayout but if the jamf log ends up having a long line in it like "the connection to the distribution point failed for package x, retrying on server.pretendco.com/CasperShare" and the feedback label gets big, then it sort of "zooms" in towards the upper left corner and the quit button ends up off screen, etc. I have tried different constraint settings but not finding something that works. Any ideas?
Posted on 05-12-2016 06:31 AM
I think you're right, sounds like the layout just needs some settings. Have you tried the technique I described here?
https://jamfnation.jamfsoftware.com/discussion.html?id=17467#responseChild106999
Posted on 05-12-2016 08:22 AM
@jtratta Yeah I tried resetting the contraints and tried every constraint option but it still exhibits the same behavior. Hrmmm.
Posted on 05-12-2016 08:36 AM
@jtratta I think I figured it out. I changed the content compression resistance priority for the label to be low so it couldn't "fight" autolayout's attempts to shrink it down to fit the screen when in full screen mode.
Posted on 06-21-2016 07:30 AM
This is great! I am playing around with it now, but for some reason the "Quit" button is not clickable when I run it from AppleScript. If I double click the application to run it, the quit button works just fine. Also, is it possible to have the app close after the progress bar gets to the end?
Posted on 07-01-2016 04:06 PM
Good work. This gives me a good starting point.
Posted on 09-06-2016 04:35 AM
Guys, is it possible to launch ProgressScreen like LoginLog? Means, is it possible to launch ProgressScreen only in LoginWindow without a user being logged in?
Posted on 09-06-2016 06:30 AM
@m.entholzner theoretically yes but I am pretty sure that the actual jamf binary/quickadd from the server is not installed either DEP until the initial local user gets to their Desktop the first time (that's been my experience at least) so not sure how you'd install the app or launch it at the login window during the setup assistant.
Posted on 09-06-2016 06:43 AM
We don't want to use ProgressScreen in a "classic" DEP scenario, it should be used as a more eye-candy replacement for LoginLog. We used to use LoginLog to display the jamf.log while macOS upgrades for example.
Posted on 09-19-2016 07:11 AM
Hows everyone got this looking these days?
Posted on 10-19-2016 10:21 AM
What does everyone think about the customize your setup that IBM showed today?
Posted on 10-19-2016 10:23 AM
I think I want it.
Posted on 10-19-2016 10:25 AM
It's absolutely awesome and I wish they'd open source and release it so I can use it!
Posted on 10-19-2016 10:45 AM
I really wish they would open source it as well. This would be awesome for everyone.
Posted on 10-19-2016 10:53 AM
Lets ask him today in the session
Posted on 10-19-2016 03:26 PM
Don't hold your breath. You have to look at their motivations. They offer a commercial outsourced Mac management service. This is their magic sauce. I don't expect they will give it away.
I'd like to be surprised though!
Posted on 10-20-2016 06:03 AM
I think he said it would only be available for (GTS?) customers. I might have the acronym wrong, but as @loceee said, it's their magic sauce.
Posted on 10-20-2016 07:11 AM
We'll just have to make our own then!
Posted on 10-20-2016 07:15 AM
@jtratta I fully expect this to be complete by the end of your flight home.
Posted on 10-20-2016 09:07 AM
Haha, yes! Can't wait to start testing the new version @jtratta! ;)
Posted on 10-23-2016 09:28 PM
Great! I can't wait to see, if it is possible to implement a choice window to this (like Computer prefix choice per location)
Posted on 10-24-2016 08:57 AM
So I downloaded the files and opened in Xcode. I build the project and got 12 errors. Is there anything I need to do in order to get it to compile? I wanted to see it compile before I started making changes to the HMTL.
Posted on 10-24-2016 08:59 AM
Posted on 10-24-2016 09:01 AM
This was updated for Swift 3. You will need the latest version of Xcode 8.0 (8A218a). If you're still seeing errors please post them as issues on GitHub. https://github.com/jason-tratta/ProgressScreen/issues
Thanks!
Posted on 10-24-2016 09:33 AM
@jtratta I was using 7.3.1...which would account for the errors. Will update and try it again.
Posted on 11-07-2016 05:15 PM
@jtratta are you able to provide a high level overview of what you (or anyone else here) do with your launch agent and launch daemon for when a reboot is required at the beginning of the progress bar setup process? I noticed in one of the screenshots above (I think in your cleanup script) you posted that you had both and was wondering how you "continued" the setup process (or not sure if you're doing everything on the "enrollment" trigger or if you are running other policies with custom events or what have you). Thanks!
Posted on 11-29-2016 11:19 AM
Hi everyone
After seeing IBM's latest update to the enrolment screen at JUNC i wanted to try and make something similar. I also wanted something with a bit more user interaction. It's mostly bassed on requestes and idea's from some of my customers.
heres what i have come up with: DEP-Enrolment
Far from perfect and lots that can be added, hopfuly by the community. I have not included any API in this version mainly due to time (or the lack of it) but lots that could be imporved with splash of API.
Also im not a developer or programer (not even close), so theres bound to be some non optimal code.
thanks.
Posted on 11-29-2016 11:24 AM
@gavin.pardoe This looks really nice! Hopefully I will have a chance to take a look at this in the next few weeks as things slow down for the holiday. I will definitely provide any feedback that I can.
Aaron
Posted on 11-29-2016 12:29 PM
@gavin.pardoe what if I don't want to use departments? Can I just comment it out or will that cause issues?
I assume we can add more popups, can those popups relate to a specific key, for instance if a popup says United States, can I have it record "US"?
Posted on 11-29-2016 12:41 PM
@jwojda good question. First you need to delete pop up menu: in main.storyboard on the source view controller highlight and delete the department label and pop up menu.
Then inside SourceViewController.swift delete or comment out line 33, 42, 48-51, 73, 74, 92 & 115. on line 80 you need to remove '-department (departmentValue)'
edit: theres a backslash inbetween -department and (department) that is not showing up in the post.
Posted on 11-29-2016 02:40 PM
@gavin.pardoe The DEP app look really great, i got a question, what if you activate Filevault, can there be a reboot option added with the finish button? (and maybe a nice to have that after the (filevault) reboot the "whats next" app is open after login.)
Posted on 11-30-2016 10:52 AM
@mvdbent Yes, a reboot can be added to the finish button as well as leaving a launch agent. on reboot you can then display the whats next/ next steps/ web view, would be easier to create a specific web view app (very easy todo) to call on reboot than to try resume the DEP app where it left off.
Posted on 12-04-2016 06:20 PM
Finally getting to build out something with ProgressScreen (love it).. don't love the AppleScript interaction from a jam policy. This might some people out.
https://github.com/loceee/OSXCasperScripts/blob/master/progressScreenHelper.py
Lets you call and configure ProgressScreen easier from a JAMF policy. Set build time (persistent from across a session) so you can then set the progress as a percentage as you build policies run.
I don't love massive build scripts and would rather have policies doing the work with helpers scripts where needed. It's more visible and flexible that way.
Thanks again to @jtratta for a great tool!
progressScreenHelper.py
optional arguments:
-h, --help show this help message and exit
--start [[html_path]]
start ProgressScreen with [html_path]
--fullscreen set fullscreen mode
--hidequit hide the quit button
--buildtime [build_time_secs]
set [build_time_secs] for progress bar
--progress [progress_percentage]
set [progress_percentage] (based on build_time_sec)
for progress bar
--waypoints [app.pkg] [app.pkg] [app.pkg] [app.pkg]
set waypoints to [app1.pkg] [app2.pkg] [app3.pkg]
[app4.pkg]
--end quit the app and remove temp file
Posted on 01-01-2017 06:46 AM
@gavin.pardoe Awesome work! Maybe you can start a separate post so we can post contributions there to keep ProgressScreen and DEP-Enrolment contributions separate. I have been tinkering with your app and a script to run the policies... Thanks a lot for sharing!
Posted on 01-01-2017 06:01 PM
Just saw this. I am going to give it a go in our environment. Thanks!
Posted on 02-09-2017 10:28 AM
Hi All,
ProgressScreen has been working great for us over the last year and a half - but our branding has changed so I'm working on updating it. Everything is going great with @jtratta's new version. I'm trying to change the color of the progress bar border, as the theme is now very dark. It is just completely invisible - of course you can see the blue bar filling, but without a visible endpoint it's fairly useless. Anybody have any Xcode tips on changing the slightly transparent black border to say, white?
Thanks!
Posted on 02-09-2017 10:49 AM
There's nothing you can do inside of Xcode to affect the border color of NSProgressIndicator, nor does it look like the class itself has a method to change it either. Tint of the bar is simple...border not so much.
My guess, you're probably going to have to look into subclassing NSProgressIndicator and redraw the border in the drawRect method. There might already be something out there on GitHub....but nothings coming up in my quick search.
Posted on 02-09-2017 10:53 AM
Thanks! I was afraid of that - appreciate you poking around.
Will see if I can figure out subclassing. :)
Thanks!