!MNkZeDktHEshWITStt:matrix.org

OpenLMIS-Help

78 Members
22 Servers

Load older messages


SenderMessageTime
30 Mar 2021
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply to@_slack_openlmis_U195RKK4G:matrix.org
Hi Wes - we are blocked here. Is there anyone that can check or provide the SMTP credentials?
Hi sbrudzinskiand kpalkowska, apologies, this fell down my list. I just revisited it and believe I made the correction. The credentials have changed, and I've put them in the demo-v3 config: https://github.com/villagereach/openlmis-config/blob/master/v3-demo.env#L84
16:00:54
@_slack_openlmis_UBB6KN8JJ:matrix.orgWes
In reply to@_slack_openlmis_U03QATSPZ:matrix.org
Hi sbrudzinskiand kpalkowska, apologies, this fell down my list. I just revisited it and believe I made the correction. The credentials have changed, and I've put them in the demo-v3 config: https://github.com/villagereach/openlmis-config/blob/master/v3-demo.env#L84
sbrudzinski So is this no longer blocked?
16:44:26
31 Mar 2021
@_slack_openlmis_U1GKV2T18:matrix.orgkpalkowska
In reply toundefined
Wes joshzamor Yes, the newest credentials work perfectly 🎉
08:28:54
@_slack_openlmis_U1GKV2T18:matrix.orgkpalkowska
In reply toundefined
(edited) ... credentials works perfectly ... => ... credentials work perfectly ...
08:29:03
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply to@_slack_openlmis_U1GKV2T18:matrix.org
Wes joshzamor Yes, the newest credentials work perfectly 🎉
Lovely. The lesson is that SES wants a new IAM account, that's created from the SES control, not the IAM control. So once you remove the special IAM accounts credentials, you need to go back to SES' control, not regenerate credentials for the IAM account. Which of course is the opposite way that IAM is supposed to work, so whoever did that at AWS broke a user expectation.
16:22:40
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply to@_slack_openlmis_U03QATSPZ:matrix.org
Lovely. The lesson is that SES wants a new IAM account, that's created from the SES control, not the IAM control. So once you remove the special IAM accounts credentials, you need to go back to SES' control, not regenerate credentials for the IAM account. Which of course is the opposite way that IAM is supposed to work, so whoever did that at AWS broke a user expectation.
Actually it's also a good lesson in how not to do DDD: IAM should control the concepts of principles and credentials. i.e. in how they work. Clearly other domains, like SES, need to know about such things, but it's a complete break of DDD that the specific access credentials are so handled by SES, that regenerating those in IAM breaks SES. That is, the domain is just a model, but the user expectations also follow the same domain boundaries.
16:30:13
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply to@_slack_openlmis_U03QATSPZ:matrix.org
Actually it's also a good lesson in how not to do DDD: IAM should control the concepts of principles and credentials. i.e. in how they work. Clearly other domains, like SES, need to know about such things, but it's a complete break of DDD that the specific access credentials are so handled by SES, that regenerating those in IAM breaks SES. That is, the domain is just a model, but the user expectations also follow the same domain boundaries.
Anyways... That's my DDD soap box, which everyone is familiar with 😄
16:30:31
2 Apr 2021
@_slack_openlmis_U01SYEKMW3Y:matrix.orgValter SITOE joined the room.09:11:16
@_slack_openlmis_U195RKK4G:matrix.orgsbrudzinski In REST API, is there any official/approved way of letting the server know we don't want to receive a response body (perhaps with request headers)? For GETs there's the HEAD request type. Is there anything like this for POST or PUT? I want the server to do some processing, but I don't care about the response, other than whether it was successful or not. CC joshzamor 12:30:29
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply to@_slack_openlmis_U195RKK4G:matrix.org
In REST API, is there any official/approved way of letting the server know we don't want to receive a response body (perhaps with request headers)? For GETs there's the HEAD request type. Is there anything like this for POST or PUT? I want the server to do some processing, but I don't care about the response, other than whether it was successful or not. CC joshzamor
Hey sbrudzinski, no, not that I know of. In your question I'm assuming you don't want to modify the server side? I'd very much doubt that even if you used an HTTP Request/entity header like content-length, or one of the Accept headers, that the framework would know: do the work, but don't send the response payload back, without custom coding. If I'm wrong though and you are okay/able with changing the server side, then your options open up, from everything to a header to a passed along parameter. Overall you're at the HTTP spec level though, REST is more concerned with the semantics, which this do/don't send a response body falls below the fold for.
20:28:10
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply toundefined
Another way to think about it has to do with caching, which is integral to HTTP and REST. HEAD exists because you're inquiring about that cache-sensitive metadata. POST, PUT, PATCH obviously have the semantics of: do this thing, rather than: tell me some version/caching information about this thing.
20:30:04
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply toundefined
(edited) ... that cache. POST, ... => ... that cache-sensitive metadata. POST, ...
20:30:34
5 Apr 2021
@_slack_openlmis_U01SYEKMW3Y:matrix.orgValter SITOE changed their display name from _slack_openlmis_U01SYEKMW3Y to Valter SITOE.06:46:09
@_slack_openlmis_U01SYEKMW3Y:matrix.orgValter SITOE set a profile picture.06:46:10
7 Apr 2021
@_slack_openlmis_U195RKK4G:matrix.orgsbrudzinski
In reply to@_slack_openlmis_U03QATSPZ:matrix.org
Another way to think about it has to do with caching, which is integral to HTTP and REST. HEAD exists because you're inquiring about that cache-sensitive metadata. POST, PUT, PATCH obviously have the semantics of: do this thing, rather than: tell me some version/caching information about this thing.
Actually I'm thinking of a case where we can modify a backend too. I'm thinking about a communication between our services. Sometimes we want another service to invoke some action, but we don't need a list of results, we only want to make sure the operation was completed successfully. In some cases where building a DTO is time consuming (because of the need to fetch additional data from other services) it can give a nice performance boost. Specifically, I'd want to add it to convert to order (requisition sends POST request to fulfillment to create 10 orders, and then it builds DTOs for those orders and sends it back to the requisition service, but requisition doesn't need or use them). I'd want to add an optional request header to fulfillment service's batch order create to control whether a response body is built or not. Thoughts?
14:45:25
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply to@_slack_openlmis_U195RKK4G:matrix.org
Actually I'm thinking of a case where we can modify a backend too. I'm thinking about a communication between our services. Sometimes we want another service to invoke some action, but we don't need a list of results, we only want to make sure the operation was completed successfully. In some cases where building a DTO is time consuming (because of the need to fetch additional data from other services) it can give a nice performance boost. Specifically, I'd want to add it to convert to order (requisition sends POST request to fulfillment to create 10 orders, and then it builds DTOs for those orders and sends it back to the requisition service, but requisition doesn't need or use them). I'd want to add an optional request header to fulfillment service's batch order create to control whether a response body is built or not. Thoughts?
Ah, I see. Well in that case REST does have something to say. In REST you interact with resources (URI) using verbs (HTTP operations) and you represent state in the request/response body. So if you're designing a resource, you really shouldn't try to use a header field to change how that state is represented to the client. Rather you'd want a different resource. Looking at api/requisitions/convertToOrder it's actually a bad REST form: 1) convertToOrder is a verb on the requisitions resource, and 2) if anything comes after requisitions that should be a sub-resource, which it's not. Same goes for api/requisitions/batchReleases, and there are issues with a lot of those api/requisitions/* . So the take-away is to create a new resource, whose state represents what you're looking for. A good example in FHIR would be a Bundle: https://www.hl7.org/fhir/bundle.html , this is a resource where the state of a lot of other resources could be represented, but the resource itself is in the context of messaging (i.e. https://www.enterpriseintegrationpatterns.com/patterns/messaging/)
19:27:21
@_slack_openlmis_U03QATSPZ:matrix.orgjoshzamor
In reply to@_slack_openlmis_U03QATSPZ:matrix.org
Ah, I see. Well in that case REST does have something to say. In REST you interact with resources (URI) using verbs (HTTP operations) and you represent state in the request/response body. So if you're designing a resource, you really shouldn't try to use a header field to change how that state is represented to the client. Rather you'd want a different resource. Looking at api/requisitions/convertToOrder it's actually a bad REST form: 1) convertToOrder is a verb on the requisitions resource, and 2) if anything comes after requisitions that should be a sub-resource, which it's not. Same goes for api/requisitions/batchReleases, and there are issues with a lot of those api/requisitions/* . So the take-away is to create a new resource, whose state represents what you're looking for. A good example in FHIR would be a Bundle: https://www.hl7.org/fhir/bundle.html , this is a resource where the state of a lot of other resources could be represented, but the resource itself is in the context of messaging (i.e. https://www.enterpriseintegrationpatterns.com/patterns/messaging/)
At the heart of your question lies a frustration that drive many towards things like GraphQL or even RPC. I won't go into those unless asked, but I'll say that what appears to be a self-limiting nature of REST is very powerful, and the alternatives aren't REST + more, rather they make different trade-offs.
19:43:27
8 Apr 2021
@_slack_openlmis_U01TPTEUBGT:matrix.orgTrevor Lambiotte joined the room.15:07:01
9 Apr 2021
@_slack_openlmis_U01TPTEUBGT:matrix.orgTrevor Lambiotte changed their display name from _slack_openlmis_U01TPTEUBGT to Trevor Lambiotte.06:08:20
@_slack_openlmis_U01TPTEUBGT:matrix.orgTrevor Lambiotte set a profile picture.06:08:20
12 Apr 2021
@_slack_openlmis_U01UPNEPTRN:matrix.orgWalton Goga joined the room.12:06:01
@_slack_openlmis_U01U66ZUPS8:matrix.orgFelix Joseph joined the room.12:37:31
@_slack_openlmis_U01U66ZUPS8:matrix.orgFelix Joseph changed their display name from _slack_openlmis_U01U66ZUPS8 to Felix Joseph.12:41:42
@_slack_openlmis_U01U66ZUPS8:matrix.orgFelix Joseph set a profile picture.12:41:43
@_slack_openlmis_U01UPNEPTRN:matrix.orgWalton Goga changed their display name from _slack_openlmis_U01UPNEPTRN to Walton Goga.15:33:59
@_slack_openlmis_U01UPNEPTRN:matrix.orgWalton Goga set a profile picture.15:34:00
15 Apr 2021
@_slack_openlmis_U07EK5220:matrix.orghassanScreenshot 2021-04-15 at 08.56.12.png
Download Screenshot 2021-04-15 at 08.56.12.png
06:10:24
@_slack_openlmis_U07EK5220:matrix.orghassan Hi @room, I'm facing an issue when i run 'gradle sonnerQube' in ( https://gitlab.com/openlmis/tz-openlmis-commons ) service, The build is failing, is displaying 'Insufficient privileges' error message. any idea ? thank you 06:10:24
@_slack_openlmis_U195RKK4G:matrix.orgsbrudzinski Hello hassan - this repository is not maintained by the OpenLMIS core team and I'm not sure who could help with that. If it is attempting to use OpenLMIS core's Sonar, the build required credentials to be able to send the code for Sonar analysis 08:24:03
@_slack_openlmis_U07EK5220:matrix.orghassan Thank you sbrudzinski, This service is not in a core OpenLMIS is an extension service for Tanzania specific requirements..Let me ask Wes these credentials 08:42:08

There are no newer messages yet.


Back to Room List