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

Missing fields on XML exports since 0.9.9 #300

Open
Adanorm opened this Issue Jan 1, 2019 · 4 comments

Comments

Projects
None yet
2 participants
@Adanorm
Copy link

Adanorm commented Jan 1, 2019

Hello !

Since the cleanup of the version 0.9.9 you removed 3 fields on your XML template of exports.
It was cool to remove "GridData", but you also removed "TotalCompletedUnits" for each slots and "ClientVersion" and "DueTime".

I was using this for my personnal project : https://sourceforge.net/projects/fah-web-monitor/
Final result : http://fahmon.fleucorp.net/

Thank you in advance if you can re-add on the template this 3 fields.

Adams

@harlam357

This comment has been minimized.

Copy link
Owner

harlam357 commented Jan 1, 2019

Hi Adams,

I was not aware of any applications making use of this xml data. I found a better way to organize the data for the application xslt (web generation) needs, so I made the move. I'm sorry this change broke your code. I still consider HFM a "work in progress" application and make no guarantees that data formats will remain the same from version to version.

In general, this data is not what I would consider "stable", it will vary based on the UI settings. For example, "SlotType" will be reflect the same value seen in the Slot Type column in the UI. If you turn on Version Information (F11) that value will also include the client version. For example, "CPU (7.4.4)". This data is there to drive the web generation feature, it's not intended to be a stable data exchange mechanism. I've honestly considered removing the option to publish the xml, but I will not do that knowing that you rely on it.

I have aspirations for a more robust means to obtain information from HFM, probably a REST API. However, those are my future thoughts, not something available today. Knowing that you rely on this data is good to know and helps me shape plans for a future API.

For now, I am willing to work with you to get you back up and running. I think the data you need is there, just in a different place if the UI is configured to show it.

  • For "TotalCompletedUnits", use F10 to get the desired value in the UI, then use the SlotData\Completed value.
  • For "ClientVersion", turn on Version Information (F11) and parse the value from the SlotData\SlotType value.
  • For "DueTime", use SlotData\PreferredDeadline value. This is the same value.
  • For "LineRaw", this name has change to Raw (I peeked at your php code).

I realize this requires some change to your code, which I understand is not a desirable situation. But I think we can get you back up and running.

@Adanorm

This comment has been minimized.

Copy link

Adanorm commented Jan 2, 2019

Hi,

Don't worry, I'm used to change my code when something change, it's not a problem except when I get less data.
It's OK for F10&F11 tricks, I can get my data back with that.

For DueTime I'm not 100% OK with you. Stanford defined 2 kind of deadline, pref and final. Pref is for last moment to get bonus point, and final is last moment to get points ...
I agree with you that now, maybe 99% of WU has the same pref and final deadline. But in the futur it could happen again ?

Thank you for LineRaw, I missed this. Fixed on next release.

For REST API it's a good idea, but keep in mind that the FTP/XML combo is a good way to deliver data without openning ports etc ... It's better for security. I don't care that my FTP/HTTP server is corrupted/attacked, but I don't want a pirate on my LAN.
Thank for your quick response.

@harlam357

This comment has been minimized.

Copy link
Owner

harlam357 commented Jan 3, 2019

Hi Adams,

You're welcome and I'm glad to hear that you're up and running. I'm aware of the two deadline values provided by Stanford. Note that the "DueTime" value you were using was populated from the preferred deadline. Now, the same value is populating SlotData\PreferredDeadline.

I feel like a REST API would yield a great amount of flexibility. For your needs, you could make the proper queries, format the data any way you need, then upload via FTP. No need to expose your LAN if that's not what you want to do.

@harlam357

This comment has been minimized.

Copy link
Owner

harlam357 commented Jan 12, 2019

Hi Adams,

Anything else to add here?

I have decided to add ClientVersion, TotalRunCompletedUnits, TotalCompletedUnits, TotalRunFailedUnits, and TotalFailedUnits back in to the SlotData structure in the xml to allow for some more flexibility. That will be coming soon in 0.9.10.

I'll consider this fixed in 0.9.10 if I do not hear anything further from you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment