Is there an introduction to using XML messages in the Mobile Server Protocol?

A hopefully simple question now… (I did search the forum for an answer but I don’t think anyone has asked it before!)

https://doc.developer.milestonesys.com/mipsdkmobile/reference/protocols/mobile_command.html is pretty comprehensive and complete but I have noticed that some things are missing.

Commands marked “Obsolete” are listed in the contents list at the top, but their descriptions aren’t there when you click the contents link. Whilst that does make sense if the commands don’t exist anymore, given that the commands can still be used (and are used in some of the samples!), it would be helpful if they were documented.

I also noticed that there’s a SetConfiguration command but no corresponding GetConfiguration command. However, if I try GetConfiguration, I get an error 23 “Not allowed in this state” rather than error 11 “Bad command name” (which is what I get if I try a command that is definitely non-existent). Why might that be…?

Is the online documentation I linked above all that is available? Or is there perhaps some local documentation with the server that describes commands that it actually understands?

(Sorry, I said one question but I seem to have split it into about three!)

Richard,

I’m not sure I understand what you aim to achieve.

I suppose I am just asking whether there is documentation for all commands that are understood by the server!

I (and the ExportVideo sample) use StartExport but it is not documented.

And GetConfiguration is clearly a known command (because the response is error 23 not error 11) but it too is not documented.

Both commands GetConfiguration and SetConfiguration do actually exist in the MoS protocol, but you cannot (are not allowed) call them. They are used internally only. It is a mistake that we haven’t hidden the SetConfiguration one from the documentation.

Same for the StartExport - as it is considered as obsolete, it is in general not recommended to be used.

OK, fair enough - even though it is a bit confusing that sample code still uses it!

So I guess I should be moving away from using StartExport, GetExport, and DeleteExport.

I assume I should instead use CreateInvestigation, StartInvestigationExport and DeleteInvestigationExport then. There doesn’t seem to be an obvious equivalent to GetExport though - how would I check the progress of an export?

So the sequence would be:

  1. Connect
  2. LogIn
  3. CreateInvestigation
  4. StartInvestigationExport
  5. Check progress somehow
  6. Download export (where does the link come from?)
  7. DeleteInvestigationExport

Is that right?

EDIT:

It looks like GetExport still works for checking the status of an investigation export, so I can also get the link from there.

And after DeleteInvestigationExport, it looks like I should also do DeleteInvestigation.

You can still use StartExport as far as your customer do not updates it’s Mobile Server in the future.

In fact we are trying to “retire” this command for more than 3 years, but we still have customers that are using it.

The idea is that we will probably do it in the future.

As I mentioned, we plan to change the way how Exports are downloaded in the upcoming releases, so after eventual update, your customer will need to contact you again anyway.

I think you’ve already discovered the commands flow:

  1. Connect
  2. LogIn
  3. CreateInvestigation
  4. GetInvestigation (check if the investigation is being saved - has a progress in similar manner as the export)
  5. StartInvestigationExport
  6. GetExport (check for the progress)
  7. Download export (link received from GetExport)
  8. DeleteInvestigationExport
  9. DeleteInvestigation