AppBroker/App Portal Scheduling Analysis
I am trying to analyze usage of the scheduling functionality against Uninstall and Install requests.
Are these the right flags to help me get this data:
Field: AutoDelivery = '0' -> means false, this was a Scheduled request
Field: AutoDelivery = '1' -> means true, this was NOT a scheduled request; it was delivered immediately post approvals.
Field: RequestType = '1' -> Uninstall request, '0' -> Install request
With regards to the RequestType, you are correct in that RequestType=0 is an install, and RequestType=1 is an uninstall. AutoDelivery is not really indicative of scheduling. It's really more of an approval option. If set to 1, then it indicates that the target should be inserted into the collection as soon as possible after the final approval takes place.. If set to 0 then the device will never be inserted into the collection until the user goes to the My Requests page, and selects "install" under the actions for the request.. The AutoDelivery flag is based on the following options presented during checkout.. Note that these options are only displayed when the request requires approval.
If the request did not require approval, and instead, the user was presented with the scheduling options, the AutoDelivery would not be set. In this case, the only function of the scheduling options would be to set the insertDate in WD_PackageRequests. A device will not be inserted into the collection until the current time exceeds the time in the insertDate column. Beyond the insertDate, there is nothing to indicate that the request was scheduled for a later time. Hope this makes sense...
@CharlesW , in the case where the user is presented with scheduling options, when you say "the AutoDelivery would not be set", do you mean that value would be NULL? Or would it be set to a 1 or 0? Is there any way to tell by looking at the AutoDelivery value and comparing the [DateTime] and [InsertDate] columns whether a particular request was scheduled versus just waiting for the user to select "Install" from My Requests? Or is it a case where if you run a query and see an [InsertDate] that's in the future, you know that's a scheduled install, but once the install has been initiated, you can't distinguish between a scheduled install and a manually triggered install?
When I say that "AutoDelivery would not be set, I meant that the value would be the default value of "1". This is the default setting, even for general catalog items. The only time that the value would be set to "0" would be if you select the "Notify machine owner when approved" radio button during checkout. Also, If you select this option, it should be noted that the insert date does not get set.. The insert date for the request will only get set once the user has selected the install action under my requests.
This would not be 100 percent accurate, but perhaps you could compare the insertDate to the DateTime column in WD_packageRequests.. You could make an assumption that if the insertDate was 5 minutes (or more) later than the DateTime, the request was scheduled.. In theory, if the request was not scheduled, the DateTime should be almost the same time (within seconds or milliseconds) as the insertDate for a "normal" software request. Again, there is no flag in the DB to actually indicate that the request was scheduled.