This commit is contained in:
@@ -55,6 +55,12 @@ todo: workorders - need to set billing and service address from customers on mig
|
||||
|
||||
## CLIENT MISC ITEMS
|
||||
|
||||
todo: Seeding UI keep track of timing and later down the road when firmed up, provide estimate (average server will take):
|
||||
2021-05-31 10:26:45.4801|INFO|Seeder|Small level sample data seeded in 27 seconds
|
||||
2021-05-31 10:47:07.3417|INFO|Seeder|MEDIUM level sample data seeded in 2 minutes and 13 seconds
|
||||
2021-05-31 10:56:04.9450|INFO|Seeder|LARGE level sample data seeded in 4 minutes and 17 seconds
|
||||
HUGE:???
|
||||
|
||||
todo: 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: 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!!
|
||||
|
||||
@@ -149,6 +155,10 @@ todo: after post to server check if this still happens:
|
||||
Ayanova requires javascript is showing now all of a sudden on requests as if it's trying to serve app stuff from the server !?
|
||||
refresh login and first response is the raw html page with noscript showing
|
||||
maybe not even an issue, it does need that page after all
|
||||
|
||||
TODO: 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??
|
||||
...................................................................................................................................................................
|
||||
|
||||
todo: reportClientMetaData in gzapi has DefaultLocale property in it which is just part of the language, can it be removed?
|
||||
@@ -342,47 +352,18 @@ todo: many biz objects are not using new PUT methodology
|
||||
|
||||
|
||||
|
||||
CURRENTLY DOING: RELEASE TESTING - try on all devices
|
||||
CURRENTLY DOING: workorder round two electric boogaloo
|
||||
state of things, re-prioritize
|
||||
|
||||
TODO: Seed huge bombing after seed large on devops, testing adding Command Timeout=90 to connection string:
|
||||
8 21:54:26.8532|INFO|AyaNova.Api.Controllers.LicenseController|Database erase completed
|
||||
2021-05-28 21:54:32.2582|INFO|Seeder|Seeding data, level Large, time zone offset -7
|
||||
2021-05-28 21:54:32.2626|INFO|Seeder|Erasing Database "AyaNova"
|
||||
2021-05-28 21:54:32.3971|INFO|Seeder|Database erase completed
|
||||
2021-05-28 21:54:36.6075|INFO|Seeder|Seeding LARGE sample data....
|
||||
2021-05-28 22:02:56.6949|INFO|Seeder|LARGE level sample data seeded in 8 minutes and 20 seconds
|
||||
2021-05-28 22:02:56.7065|INFO|Seeder|Seeding completed successfully
|
||||
2021-05-28 22:02:56.7065|INFO|Seeder|Seeder: setting server state back to Open
|
||||
2021-05-28 22:14:29.1470|INFO|AyaNova.Api.Controllers.AuthController|User "AyaNova SuperUser" logged in from "::ffff:172.18.0.1" ok
|
||||
2021-05-28 22:15:40.5695|INFO|AyaNova.Api.Controllers.AuthController|User "Mac Strosin - SalesLimited" logged in from "::ffff:172.18.0.1" ok
|
||||
2021-05-28 22:52:25.7845|INFO|AyaNova.Api.Controllers.AuthController|User "AyaNova SuperUser" logged in from "::ffff:172.18.0.1" ok
|
||||
2021-05-28 22:52:41.1257|INFO|AyaNova.Api.Controllers.LicenseController|Erasing Database "AyaNova"
|
||||
2021-05-28 22:53:16.7618|ERROR|SERVER|Error=>Npgsql.NpgsqlException (0x80004005): Exception while reading from stream
|
||||
---> System.TimeoutException: Timeout during reading attempt
|
||||
at Npgsql.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|194_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
|
||||
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
|
||||
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
|
||||
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
|
||||
at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
|
||||
at AyaNova.Util.DbUtil.EraseTableAsync(String sTable, NpgsqlConnection conn, Boolean tableHasNoSequence) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 498
|
||||
at AyaNova.Util.DbUtil.EmptyBizDataFromDatabaseForSeedingOrImportingAsync(ILogger _log) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 474
|
||||
at AyaNova.Api.Controllers.LicenseController.RemoveAllData(String acceptCode) in C:\data\code\raven\server\AyaNova\Controllers\LicenseController.cs:line 268
|
||||
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
|
||||
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
|
||||
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
|
||||
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
|
||||
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
|
||||
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
|
||||
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
|
||||
2021-05-28 23:05:05.2347|INFO|BOOT|AYANOVA SERVER 8.0.0-alpha.109 BOOTING
|
||||
|
||||
OTHER TODOs
|
||||
todo: read only mode (login as limited role) can add task list, maybe other stuff
|
||||
todo: workorderitemlabor new record stop date sb +1 hour
|
||||
|
||||
todo: implement name cache for populateviz with type and id so it can work from memory where possible
|
||||
e.g. taxcodes likely get reused all over the place so querying for them constantly is wasted time and overhead
|
||||
todo: stop hiding one line tables in wo form, need them for the extra ui stuff they bring
|
||||
show as a line where the table would be??
|
||||
But..then why not just show one line table instead??
|
||||
todo: mark for deletion with ONE record and no table?? how does that work?
|
||||
keeping a single row as for above would help with this
|
||||
|
||||
todo: seeder stock data / translations: loanunit "Units" have extraneous "rate" in them, i.e. "Hourly rate", sb just "Hourly"
|
||||
todo: LoanUnit edit form add "*Cost" fields to UI
|
||||
todo: part request
|
||||
link to open po, delete button in grid? both?
|
||||
@@ -390,70 +371,38 @@ todo: part request
|
||||
delete / undelete
|
||||
po opener
|
||||
|
||||
todo: viz fields display in edit part of form when only one record, but hide when multiple as they show in the table instead??
|
||||
show as a line where the table would be??
|
||||
But..then why not just show one line table instead??
|
||||
|
||||
|
||||
todo: 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
|
||||
See the header save for working example, others will be easier since they set *all* fields on return unlike header which is a bastardized one
|
||||
todo: why does server send isdirty to client, isn't that just a client thing?
|
||||
Client can set it on initial fetch
|
||||
|
||||
todo: bugbug read only mode (login as limited role) can add task list, maybe other stuff
|
||||
|
||||
todo: seeder stock data / translations: loanunit "Units" have extraneous "rate" in them, i.e. "Hourly rate", sb just "Hourly"
|
||||
|
||||
todo: workorder main data lists, flesh out, finish links from related objects
|
||||
|
||||
todo: "DispatchFull" and "DispatchLimited" roles MUST be renamed to "ServiceFull" and "ServiceLimited" to match other roles and intent
|
||||
dispatch is a subset of a service manager job
|
||||
Rename at both ends and all translations and docs as well.
|
||||
|
||||
todo: 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
|
||||
See the header save for working example, others will be easier since they set *all* fields on return unlike header which is a bastardized one
|
||||
todo: biz rules like date precedence etc
|
||||
mirrored at server end too
|
||||
|
||||
todo: mark for deletion with ONE record and no table?? how does that work?
|
||||
keeping a single row as for above would help with this
|
||||
todo: test and confirm can duplicate workorder and it works properly
|
||||
|
||||
TODO: test new from scratch wo regularly
|
||||
todo: subrights test
|
||||
|
||||
|
||||
todo: Need a preset default for the workorder customization, right now it's just barfing up all fields
|
||||
however this may be more related to the sample data generation because by default it maybe should show all fields
|
||||
for my testing purposes but once ready to add the complexity setting feature to the data generation this could
|
||||
also be used to carry over to when they go to use it, i.e. it *doesn't* erase the form field customizations or reset them
|
||||
|
||||
|
||||
todo: is it really feasible to duplicate a workorder? What about all the side effects?
|
||||
maybe if not actually saved yet just returned as copy??
|
||||
|
||||
todo: should be able to create a new workorder for a customer from that customers menu (same with other objects that have an identifiable customer)
|
||||
this was in v7 (from main grid not inside object but can't replicate that so this instead)
|
||||
todo: New wo link from related objects like Customer, Unit etc replicates v7 feature from grid
|
||||
|
||||
todo: r4eporting - need to add pre-caching code (for the few ENUM lists there are) and populate *Viz throughout graph to workorder before testing printing code.
|
||||
|
||||
OVERALL
|
||||
|
||||
- then full in front end and flow out to back end as required, remove any backend that was a defunct evolutionary path so no cruft left around
|
||||
many UI affecting cases, some bigger than others, almost none though are deal breakers in terms of just putting all the controls on first then refining
|
||||
so can go whole hog on adding controls and stuff, but make sure that they are all dealt with as hideable wherever possible and in some cases need to add
|
||||
a hideable for entire collection object (i.e. can hide all of outside service so it never shows etc)
|
||||
Don't forget Viz fields as well
|
||||
- Keep working on front and back responds to front needs as I go
|
||||
- load and stress test on client
|
||||
This one really needs a e2e test that works and will hammer it so we can run that from multiple locations
|
||||
|
||||
|
||||
todo: subcontractor not seeing prices but still able to make workorder case (not determined how this would work yet as do not want user being able to look at network traffic and see costs etc)
|
||||
HOLD off on this until hit the cases where it's mentioned so working with exact specs not speculation (HA!)
|
||||
leaning toward a different model perhaps as it may only be a particular subset???
|
||||
(Or, if it's just hiding cost fields then just don't populate viz them. Viz fields can be safely set to anything really)
|
||||
|
||||
|
||||
|
||||
|
||||
#####################################################################
|
||||
=================== WORKORDER TODO / ON HOLD ========================
|
||||
|
||||
todo: workorderitemlabor new record stop date sb +1 hour
|
||||
todo: remember, some users should not even have data sent from the server / scrubbed and not affect updating.
|
||||
for example a user may not be able to see part costs so that should not even be sent over the wire
|
||||
workorder will have to handle that as necessary and expect sometimes data is not forthcoming
|
||||
system to handle contractor who isn't supposed to see costs it's easy to hide them in the ui but they must
|
||||
not be sent over the wire either otherwise any savvy person could just view the prices and costs easily by going to developer mode and watching the traffic
|
||||
|
||||
todo: make sure all rules are mirrored at both ends (like date precedence etc)
|
||||
todo: signature: report helper display signature and form ui control to capture /display signature
|
||||
TODO: Test address / units select alternate when have units working
|
||||
TODO: Sequence field sb hidden by default, most won't want it I'm guessing
|
||||
@@ -461,9 +410,16 @@ TODO: Sequence field sb hidden by default, most won't want it I'm guessing
|
||||
it's got an overwhelming number of fields in it,
|
||||
really will need that simple or complex mode trial data seeding feature talked about
|
||||
|
||||
TODO: 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??
|
||||
|
||||
TODO: Need stress test for client that can generate workorders in parallel for load testing
|
||||
|
||||
CASES TODO:
|
||||
Some initial workorder cases to do
|
||||
583 - add unit address fields to viz populate but only show them when reportdata selected as UI doesn't consume them
|
||||
1362 - convert scheduled user to labor (case is to do en-masse but also I need to implement this individually as well)
|
||||
1465 - several subcontractor / tech limited restriction features in this case
|
||||
1467 - text1,text2 etc to show in "Warranty" area of Unit display info (however I have not coded or even thought of / decided on any v7 style warranty info section yet so double case here)
|
||||
1746 - Turn a Part on a workorder into a Unit for the customer on that same workorder
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user