geopython / GeoHealthCheck

Service Status and QoS Checker for OGC Web Services
https://geohealthcheck.org
MIT License
83 stars 71 forks source link

ArcGIS Server Mapservice probe added #454

Open LuukS opened 1 year ago

LuukS commented 1 year ago

Now it is possible to probe ArcGIS Server MapServices

LuukS commented 1 year ago

I have changed the code and created an new way to test Feature- or MapServices based on the complete url of a service. I added this change in my repository. Can you have a look at it if it is OK now?

PedroVenancio commented 1 year ago

Hi @LuukS

I'm seeing that you are assuming in esrims.py the ID field always as OBJECTID: https://github.com/geopython/GeoHealthCheck/pull/454/files#diff-b4de69f543dade9bc51e38f054d90e0977b562a66a33569447d737cefe198c9aR159

This is not always the case and GeoHealthCheck.plugins.probe.esrims.ESRIMSDrilldown fails when OBJECTID field is not present in that layer.

Is it possible to check the layer fields, search for esriFieldTypeOID field type and get obj_id_field_name from there?

Thanks!

justb4 commented 1 year ago

I quickly glanced through the changes, but am a bit confused: I see the resource type changed from ESRI:FS to ESRI. This will affect existing installations. My idea (see above) is to keep ESRI:FS and add ESRI:MS. But that the implementation uses a common baseclass. But I still see the full file esrims.py. Nowhere do I see the class GeoHealthCheck.plugins.probe.esri.ESRIDrilldown while it is refered in config_main.yml.

LuukS commented 1 year ago

I am confused as well. I changed the code and pushed it to my GitHub account. But I don’t see the changes in my code and also not in my pushed repo. Something went wrong. I have to find out what that was..

You’re right. I changed the ESRI:FS and created a new ESRI type. This supports both Feature- and Mapservice. I can add the ESRI:FS again so people can still use that one. With the new version I created you can use either Feature- or MapServices.

Op 17 aug. 2023, om 15:46 heeft Just van den Broecke @.***> het volgende geschreven:

I quickly glanced through the changes, but am a bit confused: I see the resource type changed from ESRI:FS to ESRI. This will affect existing installations. My idea (see above) is to keep ESRI:FS and add ESRI:MS. But that the implementation uses a common baseclass. But I still see the full file esrims.py. Nowhere do I see the class GeoHealthCheck.plugins.probe.esri.ESRIDrilldown while it is refered in config_main.yml.

— Reply to this email directly, view it on GitHub https://github.com/geopython/GeoHealthCheck/pull/454#issuecomment-1682317511, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKBZ6DHQDNOUTGDSDRKEZDXVYODPANCNFSM6AAAAAA2N2DCDM. You are receiving this because you were mentioned.

justb4 commented 4 months ago

Any way you/we can progress this @LuukS ?

LuukS commented 4 days ago

Hi @LuukS

I'm seeing that you are assuming in esrims.py the ID field always as OBJECTID: https://github.com/geopython/GeoHealthCheck/pull/454/files#diff-b4de69f543dade9bc51e38f054d90e0977b562a66a33569447d737cefe198c9aR159

This is not always the case and GeoHealthCheck.plugins.probe.esrims.ESRIMSDrilldown fails when OBJECTID field is not present in that layer.

Is it possible to check the layer fields, search for esriFieldTypeOID field type and get obj_id_field_name from there?

Thanks!

I changed to code in the latest commit to do this.