diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index cc93636a..5441d157 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -12,10 +12,9 @@ todo: DASHBOARD Make the framework for them, obvs won't have all the data to do them all so look through, find common reqs and code a flexible component(s) for that Ensure have capability to do all the biz metrics planned for v8.0 release - - these cases: - https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/2024 - https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1974 - - REPORTING NOT REQUIRED FOR THIS VERSION, UI CONTROLS ONLY + Source case: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1974 + See notes there + @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ -42,12 +41,64 @@ todo: See if this has a use: as an aside there is a relative time formatter avai does locale aware things like "5 days ago" or "8 years from now" etc https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat -todo: MAPPING +todo: MAPPING + STATE: + Did a quick overview and looked into OSM etc. + Not as straightforward as I had hoped, but maybe doable if put into the hands of the end user which backend they want to use + Can use a lib to provide the ability to show a map in abstract UI form and user picks back end map provider to use so we are out of the loop + I'm thinking the best way to approach figuring this out is to start from the Javascript UI libs and work backwards as things like leaflet and mapstraction + etc are good at documenting using alternate backends with their UI libs. + So when come back to this look at the UI libs first again + getting a *lot* of request about this https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1816 maybe stage 7 or I guess could fake it for now, it's going to be known what will be needed https://news.ycombinator.com/item?id=23722133 https://blog.mapbox.com/openstreetmap-a-global-map-for-worldwide-insight-4e041cbf1ec1 + RESEARCH: + Hmm... more complex that I thought, they don't want software using their own server map data much, there are alternatives including hosting it ourselves + ECONOMICS / PLAN + MAPS are not free from anyone really, maybe the way it should work is: + We include a widget for many back ends using the mapstraction library or whatever is out there + User can pay a service and set an api key in AyaNova to use that service + We could also be that service charging XX a month for mapping to pay for the cost of the mapping service with DO + (definitely doable for us, just requires a powerful server which would cost, if things take off we could absorb that cost maybe but for now) + OWN TILE SERVER (DOCKER!) + https://switch2osm.org/serving-tiles/ + Sounds like it's incredibly intensive and probably something we do not want to do, but it's an option + Needs tons of space and powerful cpu about $220 a month on current digital ocean droplet plans: + "300GB+ of fast storage, 24GB of memory, and a quad-core processor for the entire planet" + 32GB 4vCPUs 6TB 3x 300GB $0.327 $220 + + PROVIDERS + https://github.com/leaflet-extras/leaflet-providers + + OSM CLIENT JS + https://openlayers.org/ - older more complex client lib (Maybe not mobile friendly?) + https://leafletjs.com/ - newer less powerful but eaiser lib? (mobile friendly) + WRAPPER FOR ANY BACKEND MAP SOURCE + http://mapstraction.com/ (note that there are alternatives that are free to OSM possibly like some mapquest and microsoft stuff perhaps that's worth looking into also if people have paid for google?) + Why Use Mapstraction? + Code your application once and once only; then switch your mapping provider as you desire, depending on your personal tastes, the quality of maps in your area or any other reason you can think of. + Switching mapping providers in Mapstraction is often as simple as changing just two lines of code in your application. + Mapstraction Features + Support for all the major mapping APIs + CloudMade + ESRI ArcGIS + Google – v2 and v3 + Leaflet + MapQuest and MapQuest Open + Microsoft Bing – v6 and v7 + Nokia Here + OpenLayers + Ordnance Survey OpenSpace + Nokia Ovi + Yandex + Dynamic switching from one maps API to another + Show Markers, Points, Lines and Polygons on your map + Add image overlays and base map tiles to your application + + todo: can I support keycodes for saving in AyaNova and other shit that are the same as in v7 or as much as possible, i.e. ctrl-s to save (or whatever was defined) watch out the report editor uses a bunch of hotkeys pre-defined