From dd6f5596e54cf60d78a99cb96f61de71ca53dfd1 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Mon, 6 Sep 2021 23:47:32 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 130 +++++++++++---------------------------- 1 file changed, 36 insertions(+), 94 deletions(-) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 12622d55..7a78c29e 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -62,54 +62,32 @@ Coded by importance ## CLIENT MISC ITEMS +todo: 1 no way to delete backups through UI, manual ones never get cleaned out + add a control to delete backup files (one by one only) +todo:1 grid position not preserved when open a record then track back + i.e. go to last record in a multipage list, open something, go back and will see it's back to the start of the list losing the user's scroll position + this is very important that it work correctly +todo:1 remove widget now? Back and front (comment out obvs not remove entirely) + + + + + + -2 hyperlinks in memos sb clickable to open in new tab or window or whatever this supports help links in migrate and also user links like "take a look at workorder 55" with a link to it in the UI recognize urls and make them actionable somehow - todo:2 notifications screen add delete all menu item that will just remove all the notifications present Maybe a checkbox and delete selected and select all?? That way can also be a dual useful feature also should delete *from* the client so that it deletes only what it has in view so user doesn't accidentally delete unseen yet to be delivered ones? - - -todo: 2 no way to delete backups through UI, manual ones never get cleaned out - add a control to delete backup files (one by one only) - -todo:2 browser back to new record page - when make new record then go back goes to new record again, should it go to record before *new* record page instead?? - - todo:2 need to track fetched keys vs used keys so can tell if fetched a key that I don't need or stopped using due to code change -todo:2 need to track fetched keys that don't exists, should bomb immediately so I can remove them, they will eat up traffic for no useful purpose!! todo:2 PO (workorder already done) strip all *viz fields from object before sending over the wire from client to server Setting their value to undefined stops them being sent so do that, but remember they then need to be updated on the return record PO I'm thinking is the main one?? -todo:2 grid position not preserved when open a record then track back - i.e. go to last record in a multipage list, open something, go back and will see it's back to the start of the list losing the user's scroll position - this is very important that it work correctly - - - -todo:2 inventory and other lists shows LT: because namefetcher postgres function returns it when it's not a named item - expects UI to translate it but UI doesn't so need a way to deal with that - to see what calls it just search for "AYGETNAME" in server project, also anything that calls bizobject name fetcher direct - it would be a better procedure if it was passed in a translation ID and would automatically get the key at db level of course - -todo:2 notification subscription tags UI - Must make it clear that *ALL* tags in the subscription must exist in the object to match - if not documented also document this - -todo:2 Contract override by TAGS - Translation / docs Must make it clear that *ALL* tags in that particular contract price override must exist in the object to match - User is expected to make multiple records if they want multiple different matching tags - reason for this is that they can do a more fine grained selection of multiple tags like "onsite" + "merville" - whereas if it was an any match then there would be no finer level of control, only one term to choose for each. - - - todo:2 Not in love with the "Error api2200" as the only error text in the box sometimes it has things you can't see in the form @@ -124,9 +102,6 @@ todo:2 Not in love with the "Error api2200" as the only error text in the box todo:2 when there is an errorbox error it's possible to miss it as it's at the top scrolled off screen and you can save as the appbar doesn't scroll need more feedback, perhaps appbar turns red, or save button turns red or whole page has a color to it..?? Or maybe just as simple as an toast alert popup whatever it's called that temporarily shows the same error as is in the box at top -todo:2 ability to turn off attachments for every form it's on via customize ui - def can see admin wanting areas off limits for attachments and it would clean up the UI if not used -todo:2 ability to turn off the wiki for every form via customize ui todo:2 reporting custom fields Joyce ran into an issue with a custom field defined as currency adn wanted to use it in a calculation on a report but it presents as a string @@ -134,11 +109,10 @@ todo:2 reporting custom fields Do I have a custom fields helper already? What does it do? Maybe translated custom fields alongside the string version?? Users see it as currency would be just as confused as Joyce was expecting it to be a number + todo:2 use const, not let unless need to reassign the variable Going to need a case by case through all uses but it's a very important precaution so code it that way now for all new code - - todo:3 link back to list from single edit form it would be very handy to have a simple link back to the list or back a level on each edit form. If new record then it skips that and goes to list @@ -150,7 +124,6 @@ todo:3 link back to list from single edit form - 3: tag cloud feature exposed to UI somewhere? - todo:3 make sure other datatable besides wo use form() rowError classes for consistency rather than self set in forms see woitem / schedusers etc for example todo:3 why the need for setErrorBoxErrors when setting the formstate errors already allows all the fields to pickup the errors for them @@ -178,7 +151,6 @@ todo:3 Any "Priority" type value in UI that has colors should use ayaFireAlt ico todo:3 double check main page boilerplate stuff is up to date 2021 https://www.matuzo.at/blog/html-boilerplate/ - todo:3 form field customization add a "reset" feature to reset to default for when people fuck it up basically just show all fields and remove the required from fields @@ -201,12 +173,9 @@ todo:3 Seeding UI keep track of timing and later down the road when firmed up, p todo:3 notification new bell alert count add to title so shows in task bar when not in view? like messenger "(1)" "(23)" etc - todo:3 cleanup unnecessary use of a ayatype access inside the Methods of objects as it's now available in vue via main object, e.g. where you see this: ayaTypes().XXXX you can replace it directly with this: $ay.ayt().XXXX and then REMOVE completely the ayaTypes() method in the vm of that object - - TODO:3 if keep seeing slowdown typing in large text fields maybe check if it's running rules endlessly and slowing things down that way profile? a timer that delays processing until typing stops?? @@ -215,9 +184,7 @@ TODO:3 if keep seeing slowdown typing in large text fields maybe check if it's r todo:3 reportClientMetaData in gzapi has DefaultLocale property in it which is just part of the language, can it be removed? it might be buggy if there is no dash in the language? Is that a thing? check at server how it's used -todo:2 confirm erase database should reset all id values if they aren't reset already so that future data doesn't result in a new PO starting at 29000 due to huge db trial seed prior -todo:2 use trans key "AlertNotes" in place of any popup notes variation todo:2 poitem edit form currency fields when updated by server on save lose currency format and show as raw decimal number maybe currency control does not respond to underlying data changes it didn't initiate? @@ -229,67 +196,30 @@ todo:3 datatable single select mode, is this even a thing? todo:3 Whats new in this release popup or link tied into the update process of the client?? how about a link in the About page to the change long on our web server instead? -todo:2 it's a bit hard to click on a single digit or character link in a data table - e.g. serial number 1 of a po - can the region be expanded with invisible text or something? - -todo:2 remove widget now? Back and front (comment out obvs not remove entirely) - ## SERVER MISC ITEMS -todo: Joyce case 3931 test restore of 4alarm data +todo:1 add translation column as an option to user data table(s) + So manager can see at a glance who has what translation +todo:1 tag based notifications need to be rechecked if tags change, not just the field(s) in question for that notification + for example, user makes a workorder with closeby date and tags but tags don't match when saves + user realizes missed a critical tag, adds it and saves; notification should then check again if can apply whatever it was + Use SameTags = NotifyEventHelper.TwoObjectsHaveSameTags(proposedObj.Tags, currentObj.Tags); to make it easy (workorder complete by) +todo:1 Joyce case 3931 test restore of 4alarm data Get a copy from Joyce on the red drive, it's about 5gb write up how to do it if there are manual steps (there will be I guess but maybe there shouldn't be) make sure it works one way or another confirm it's really backing up everything - -todo: calculations at server are off from v7 to v8 - for example sample data workorder 40 has labor totalling 145.36 for herb arlens in v7 and 145.35 in v8 for same line due to 3 digits used in calculation causing a round down - (the tax internal value is 8.925 in v8 and 8.93 in v7 due to bankers rounding) - so the likely solution is to apply bankers rounding to the calcs, however there maybe implications when it comes to things like crypto values etc - so need to determine carefully - -todo: clean up / simplify bizroles.cs at server for large objects like work order with same for all children (see quote for how it's done) - -todo: add translation column as an option to user data table(s) - So manager can see at a glance who has what translation - -todo: this: 2021-07-23 07:04:06.0270|INFO|CoreJobLicense|TEMP TEST LOG: CoreJobLicense - result is: notfound - even with properly generated license? - need to look at rockfish for this one - -todo: add BaseLanguage field to translations so that when people make a copy we know which it came from so in future updates will know which language to insert keys for that translation +todo:1 add BaseLanguage field to translations so that when people make a copy we know which it came from so in future updates will know which language to insert keys for that translation so the BaseLanguage must be the "EN" or "DE" etc, not the actual source translation id because it could be a copy of a copy of a copy which would render it useless stock ones will be their own base language so german will be "DE" etc - -todo:1 start testing with real licensing scheme ("notfound") - make sure automatic license updates work properly - - todo:1 seeder customer and head office accounts now login show "No features have been enabled for your account" - -todo:1 notify on server boot?? (general notify to admin user or whatever?) - or on shutdown? - -todo:3 notify on user login? - todo:1 report template NAME uniqueness validation rule: can this be unique by ayatype only? seems weird that no two reports of any kind can have same name also the default comes up as "report" sb blank with pre-broken rule saying name is required or at least uniquify it with a timestamp or something - -todo:1 tag based notifications need to be rechecked if tags change, not just the field(s) in question for that notification - for example, user makes a workorder with closeby date and tags but tags don't match when saves - user realizes missed a critical tag, adds it and saves; notification should then check again if can apply whatever it was - Use SameTags = NotifyEventHelper.TwoObjectsHaveSameTags(proposedObj.Tags, currentObj.Tags); to make it easy (workorder complete by) - - todo:1 //TODO: Iterate all notification tagged items, use the one with the MOST matching tags see how contract labor done in workorder, idea is it iterate from the subscription with the most numerous amount of tags to least in order to ensure that the most specfic tag set is matched first - - - todo:1 Reports need to generate under a file name that is informative (this applies to every object) This is because it will be a common case to need to email them to customers or other users or whatever and it is very helpful to know what it is by name alone. i.e. a workorder should generate a report that can be saved as "Workorder_1" or whatever, @@ -297,11 +227,23 @@ todo:1 Reports need to generate under a file name that is informative (this appl Also it will separately need a random part at the end to ensure it's not a dupe of an existing report also generated at the same time Although, if you think of it, doing the same workorder again *should* just overwrite the existing one as it will be identical or at least more up to date so perhaps no need for a nonce - todo:1 server log needs to indicate time zone it's logging in at boot so can understand the log entry times vs real world times - todo:1 update to latest postgres portable and document how to do it as well or a link to how to do it +todo:1 server boot log should show exact .net framework version in use, currently shows nothing so if there is a bug fix release or something we'd not know for support +todo:1 Server settings / ops View Server Configuration info page on client should should what shows in boot in log as log may not have that info after a while making diagnostics harder + + + +todo:2 clean up / simplify bizroles.cs at server for large objects like work order with same for all children (see quote for how it's done) +todo:2 this: 2021-07-23 07:04:06.0270|INFO|CoreJobLicense|TEMP TEST LOG: CoreJobLicense - result is: notfound + even with properly generated license? + need to look at rockfish for this one +todo:2 start testing with real licensing scheme ("notfound") + make sure automatic license updates work properly +todo:2 notify on server boot?? (general notify to admin user or whatever?) + or on shutdown? +todo:3 notify on user login? todo:2 errors are inconsistent some use "error" some use "code" to mean the same thing this is likely becuase "code" is used in the outer wrapper and "error" is used in the individual "details" validation errors however it would be much cleaner if it was the same thing at all levels @@ -309,7 +251,6 @@ todo:2 errors are inconsistent some use "error" some use "code" to mean the same some things are producing {message:"blah",target:"blah",error:"blah"} controller apierror and validation errors are : {message:"blah", target:"blah", code:"blah"} -todo:1 server boot log should show exact .net framework version in use, currently shows nothing so if there is a bug fix release or something we'd not know for support @@ -822,3 +763,4 @@ BUILD 129 CHANGES OF NOTE - Inventory transactions, Attached files, Review data lists were showing untranslated text in "Source" columns - case 3864 part unit of measure auto suggest implemented - English translation changed instances of Physical for physical address to "Street" / street address +- Fixed error when erase database then make PO or other default tax object got error due to server in memory global settings cache not clearing as well as db settings \ No newline at end of file