harlam357 / hfm-net

Client Monitoring Application for Folding@Home
34 stars 6 forks source link

Missing fields on XML exports since 0.9.9 #300

Closed Adanorm closed 5 years ago

Adanorm commented 5 years ago

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 commented 5 years ago

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.

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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.

Adanorm commented 5 years ago

Hello,

Sorry for delay, it works perfectly ! Thanks for your work !

harlam357 commented 5 years ago

Fixed in 0.9.10