kartoza / IGRAC-Mobile

2 stars 0 forks source link

Logical errors in app #51

Open clau1313 opened 3 years ago

clau1313 commented 3 years ago

Hi @dimasciput, I am trying the app and it works very well, thanks!

The only thing that I found until now is that it seems that it is not considering the checks for logical errors that we implemented in the GGIS, and even more, the app can override them.

For example, I created this well via the app: https://ggis.un-igrac.org/groundwater/record/29058/ and I assigned a value of porosity of 288% (which is not possible). But I could save it without any problem, both in the app and in the GGIS. But you know that I could not add such a value via here: https://ggis.un-igrac.org/groundwater/record/create/ the system does not allow it.

Pity that I didn't check for this before, I just assumed that the GGIS will reject such errors.

@dimas @meomancer how difficult is to fix this? @ArnaudIGRAC I am copy you so you know what is going on.

Thanks

dimasciput commented 3 years ago

Sure I can fix it, I think it's easy fix but maybe just to be safe Irwan also need to add data validation in the backend.

Are there any other fields I need to fix? @clau1313

clau1313 commented 3 years ago

Hi @dimasciput, thanks, there were several but we were commenting on them one by one via creating issues. I know that we made a list in the past, but maybe @meomancer already has a summary somewhere? (since he implemented the changes). Otherwise I can have a look and tell you.

dimasciput commented 3 years ago

Let me talk with Irwan tomorrow, but I can only work on the fix next week, and maybe it will take 3-5 days before the fix is released in the google play store. Would that be fine? @clau1313

meomancer commented 3 years ago

i think it's safe to be rejected from GGIS Backend @clau1313 @dimasciput

the ggis just checking on form level, not the data level, i will fix it

@clau1313 could you create new column for what value allowed? the excel is here : https://docs.google.com/spreadsheets/d/1z55NfnHsZXG5WbeteG3j5n84sZzXYsD0/edit#gid=1439632848 It is the old excel

meomancer commented 3 years ago

hi @clau1313 @dimasciput I fixed it to reject the wrong value currently it is deployed on staging for now

it will be released on 1.1.6 on production please try it on staging for now

clau1313 commented 3 years ago

Hi @meomancer, I don't know how to check the app in staging, since the values go automatically to production.

I added a new column in here: https://docs.google.com/spreadsheets/d/1z55NfnHsZXG5WbeteG3j5n84sZzXYsD0/edit#gid=1439632848 but basically the logical checks should be the same as the ones already in place in the GGIS

@dimasciput it is ok if the fix is released next week in google play

dimasciput commented 3 years ago

Hi @clau1313 ,

The app is now ready for internal testing https://play.google.com/apps/internaltest/4699473307147987284

Let me know if everything looks good, I will release it to public.

clau1313 commented 3 years ago

Hi @dimasciput, sorry for not replying before. I started testing the app this morning, and here are my comments:

I started creating a new station and when I added an "inadmissible" value for porosity the app rejected it. But then, when I added an admissible value the station was created. So, it worked fine.

When I synchronized the app, it showed me that 101 elements needed to be updated. I thought it was because the app was adding some older wells, but later I made a small change in my new well and the app again had to update 101 elements (the screenshot is from that moment). Do you know why is that?

SmartSelect_20210413-095707_GGMN

One issue is that I can see my new station in GGIS "well and monitoring data" but not in GGMN yet, although I updated it with groundwater level data:

SmartSelect_20210413-100208_GGMN

I checked the station in GGIS and I realised that there is no value in the field of porosity, although it still appears in the app. Then I tried to add an "inadmisible" value for specific yield, and the well was saved in the system (which shouldn't happen). Did you implemented all the restrictions defined here? https://docs.google.com/spreadsheets/d/1z55NfnHsZXG5WbeteG3j5n84sZzXYsD0/edit#gid=1439632848

Screenshot_20210413-103905_GGMN

The new well is this one: https://ggis.un-igrac.org/groundwater/record/29066/

Thanks @dimasciput

clau1313 commented 3 years ago

sorry for the giant images, I didn't realise that they were so big

clau1313 commented 3 years ago

hi @dimasciput, is everything alright? I haven't heard from you in a while...

dimasciput commented 3 years ago

Hi @clau1313 , sorry I missed this, will check it next week. Also when you click sync, it will update all of your data from the server, that's why it's updating 101 data. Normal users won't have that many data I think.

dimasciput commented 3 years ago

One issue is that I can see my new station in GGIS "well and monitoring data" but not in GGMN yet, although I updated it with groundwater level data:

@clau1313 which data is this?

dimasciput commented 3 years ago

@clau1313 for well and monitoring data, we won't get all the data because it's just too big ( the app will crashed ), so the app will only retrieve some of the latest data. Unfortunately, this is the limitation of the app.

dimasciput commented 3 years ago

@clau1313 for this issue :

I checked the station in GGIS and I realised that there is no value in the field of porosity, although it still appears in the app. Then I tried to add an "inadmisible" value for specific yield, and the well was saved in the system (which shouldn't happen). Did you implemented all the restrictions defined here?

Can you try this version please https://cloud.kartoza.com/s/dt3TmsYQFnbQXRS, I added the specific yield check.

I'll email you user account for testing.

clau1313 commented 3 years ago

Hi @dimasciput, thanks, I got your email and reinstalled the app. I just checked the porosity and specific yield, and it is working fine. This is the new station: https://ggis.un-igrac.org/groundwater/record/29071/

You can see that I also added values of groundwater levels. However, I cannot see this well in the GGMN portal (https://ggis.un-igrac.org/view/ggmn). This is what I meant with my previous comment: "One issue is that I can see my new station in GGIS "well and monitoring data" but not in GGMN yet, although I updated it with groundwater level data". Do you know why? We need this functionality.

clau1313 commented 3 years ago

@clau1313 for well and monitoring data, we won't get all the data because it's just too big ( the app will crashed ), so the app will only retrieve some of the latest data. Unfortunately, this is the limitation of the app.

Yes I understand, I didn't mean that the app should show all well and monitoring data, but that new wells with monitoring data (created via the app) should appear in the GGMN portal. Sorry for the confusion.

meomancer commented 3 years ago

hi @clau1313 i think this is quite a limitation on geonode when we add new data on the database, it will not show on the ggmn yet. because the layer is using cache to increase peformance

To refresh it, go to https://ggis.un-igrac.org/layers/groundwater:groundwater:Groundwater_Well_GGMN and do "Empty Tiled-Layer Cache" Selection_131

Unfortunately for now we do it manually, for automatically, please create ticket on the igrac @clau1313 Please do it manually, and check your new wells

clau1313 commented 3 years ago

Hi @dimasciput, I am not sure if this is the problem, since I just did it twice, but the station still doesn't show in the GGMN portal. The station in this one: https://ggis.un-igrac.org/groundwater/record/29071/

We really need to solve this since the GGMN app has to be connected to the GGMN platform.

@ArnaudIGRAC I am copy you FYI

meomancer commented 3 years ago

hi @clau1313 here is what happened on that record

The record is not public and also under demo organisation Capture

GGMN layer needs the record to be public @clau1313 And the record is not public So it will not show on GGMN

clau1313 commented 3 years ago

Hi @meomancer, thanks. How do I make the record public? I created it just by using the app. @dimas shouldn't it be public by default?

meomancer commented 3 years ago

you can change it by editing in the ggmn site

clau1313 commented 3 years ago

@meomancer please help. Actually, I don't care about this particular record, I just want it to be done by default when adding a well through the app. Is this a problem of the GGMN viewer (layer) or the demo organization? @dimasciput can we used instead the one called "GGMN test organisation"? Before it was working fine.

meomancer commented 3 years ago

this is coming from ggis server @clau1313 i already create fix in new release 1.1.9

will notify you when the ggis ready with 1.1.9

meomancer commented 3 years ago

hi @clau1313 it has been deployed could you check it?

clau1313 commented 3 years ago

Hi @meomancer, thanks, but I don't see any change. I created two new wells under different users: https://ggis.un-igrac.org/groundwater/record/29073/ and https://ggis.un-igrac.org/groundwater/record/29072/ both with time series, but they do not appear in the GGMN platform (https://ggis.un-igrac.org/view/ggmn).

I also created another well under a public organization (i.e. not a demo layer) and it doesn't work either. The station is this one: https://ggis.un-igrac.org/groundwater/record/29074/

The problem remains unsolved.

meomancer commented 3 years ago

Can you check now @clau1313

The problem is what i said in this comment https://github.com/kartoza/IGRAC-Mobile/issues/51#issuecomment-829045891

To show the new one, we need to emptying the cache

clau1313 commented 3 years ago

Hi @meomancer, thanks, I see the wells now. This process needs to be automatic. Shall I create a ticket for it in IGRAC-GGIS?

clau1313 commented 3 years ago

Hi @meomancer, how are we going to solve this? shall I create a ticket for it in IGRAC-GGIS?

meomancer commented 3 years ago

I'm sorry i was on leave Yes please create ticket on the IGRAC-GGIS @clau1313

clau1313 commented 3 years ago

Ok, thanks @meomancer, I just did it.