-
Notifications
You must be signed in to change notification settings - Fork 11
Lessons Learned #36
Comments
|
Could you specify how long it took to extract the data from each mine? To get an idea how bad it is? |
Pedro will need to respond about the mine API timing. Travis can comment on Bootstrap versus Material-UI - but that could be a discussion for the technical call. With respect to why we should get external data from the external sources - they are the authority on that data. For example getting GO terms, definitions, and synonyms from GO is the right thing to do - not from each individual MOD. Less chance for unintended errors. |
My take on the bootstrap thing isn't that it's bad, but more that "It would be interesting to see what a material UI version would look like." I think using bootstrap was fine, the main reason being that more people have experience with it. |
I posted this in slack a while back. Adding it here since it is relevant to this issue. At FlyBase we have used both material-ui and react-bootstrap on a few recent projects. As a result, I would not recommend material-ui at this point in time due to some serious performance issues that we ran into with several components (mui/material-ui#3289, mui/material-ui#2832). I’m sure they will get worked out with time, but some of it has to do with their use of inline styles, which is fairly core to their library. We’ve looked at a few other material design libraries for react (react-toolbox, etc.) but haven’t gotten our hands dirty with them yet. |
@gabinkley @cmpich Can you tell me which mine was slow? In our experience (being in the UK) we have found requests to the MOD mines to be very very fast. There is no reason why the requests should ever be anything less than (almost) instant. If you let us know what sort of problems you are having, we can troubleshoot and fix. |
About the mines... I was the one who suggested that "Lesson learned". The problem is not the mines at all, it's just the time it takes to get the data and it's a lot of data. Everything is working fine and there's nothing to be fixed. The scripts fetch the data every time we are indexing the ElasticSearch so it takes a long time and makes development a bit hard. But I included a step that saves the python objects in disk so we can just load them. I know we can also export the results from the mines just once since the data in the mines won't change so often. And for production this would not be a problem, since indexing doesn't impact the service (most of the times :) Here are the times it takes to get the data we need: For genes:
For GO:
For diseases:
|
@pedrohr Thank you!! That's helpful. I see what you mean now. I didn't realise how big those queries were. Your plan for only running the query on update sounds sensible! You can use web services to find out the version number: http://iodocs.apps.intermine.org/mgi/docs#/ws-version/GET/version/release |
Nice! Thank you Julie! |
There's another lesson that we should think about the data format, particularly in terms of business rules of what fields should be required or optional, and what to do when data is incomplete. I had to make a few decisions on whether or not to discard entries from the mines. For example, I discarded genes that had no symbols from the mines. But I didn't discard genes that had no chromosome specified, or even multiple. For this prototype, I believe it's ok, but for the future, we have to write down those rules. |
I'm copying the comments previous to this one to a document where I'm combining them with the Lessons Learned google doc. Any additional comments will need to be added by hand to the combined doc - https://docs.google.com/document/d/1xsFE534b7e17mjp37cnyC1pbwxcG3O4mbqAumSpphIQ/edit |
Would you tag these with the working groups they affect please. On Thu, Nov 17, 2016 at 1:14 PM, Anne Eagle notifications@github.com
|
We should gather Lessons Learned from the process of developing the Prototype. Could include things such as what worked / needed improvement about the Use Case, what we'd do the same or differently about the development process and tools, etc etc etc - whatever might be helpful to us in the next AGR project.
There is a Lessons Learned Doc in the Working Groups / Portal / Implementation directory for brainstorming ideas, so anyone should feel free to add comments in that doc or in this issue - whatever is easier.
The text was updated successfully, but these errors were encountered: