Hi Ted,
That's an interesting question. There are basically two endpoints which facilitate score posting by the tool. The 'lineitems' URL and the 'lineitem' URL. You can read more about these in the spec if you wish: https://www.imsglobal.org/spec/lti-ags/v2p0#assignment-and-grade-service-claim. When/if each is included in launches is a little different in Moodle. I'll explain below.
The plural 'lineitems' is sent during both deep linking launches (content selection) and resource link launches (user launches the tool). Importantly, we're able to include this during deep linking launches because, at the point of selecting content, we know we're in a course and can provide that information to the tool. The singular 'lineitem' however refers to a specific grade item and can't be sent during deep linking launches because Moodle hasn't yet created the grade item for the activity instance. We'll only know the specific 'lineitem' endpoint once Moodle saves the activity instance - provided a grade item is set up there. Only then will the tool see the 'lineitem' endpoint during a resource link launch (I.e. when a user launches into the tool).
The reason I make the distinction above is important. Tools may wish to fully control their own line items via the 'lineitems' endpoint. Provided the relevant scopes are included in the deep linking launch message (scopes allowing the tool to create line items - again see the spec: https://www.imsglobal.org/spec/lti-ags/v2p0#line-item-service-scope-and-allowed-http-methods), tools are able to create line items and post scores without having ever seen a resource link launch by a user. We do, of course, still need to have the id of the platform user (not email) to post the score for a given lineitem. This is normally something that comes from the resource link launch data, but we can certainly also get this from the names and role provisioning service first. So, the general process would be:
1. Teacher sets up resource link using content selection (deep linking) flow. The tool receives the lineitems endpoint as well as the NRPS endpoint as part of the request from Moodle)
2. Tool makes call to NRPS endpoint, fetching all users from the platform context. The tool now has access to the platform user ids needed to make score posts.
3. Tool creates line items using the lineitems endpoint it got during deep linking. This will result in lineitem endpoints being returned, which the tool can store.
4. Tool posts a score for a specific user using their user id and a specific lineitem endpoint.
At no point did students need to launch into the tool for this to happen.
So, I think something like this is possible, but it requires the Moodle instructor to set up resource links which aren't really expected to be used for launches by the students. They're only there to provide the lineitems endpoint to receive scores. Whether these links are available to students is another story (probably not).
Food for thought anway.
Cheers
by Jake Dallimore.