This commit is contained in:
2020-05-13 00:07:45 +00:00
parent 118f4a86c7
commit b9ca637fd7

View File

@@ -1,38 +1,18 @@
@@@@@@@@@@@ ROADMAP STAGE 2:
CURRENT ITEM:
Prioritize the following into "NOW" or "LATER" i.e. stage 2 or stage 3 (or even later if it's appropriate to a later stage)
---------------------------------------------
todo: before moving on to the next thing, triage these suggestions as there are many impactful ones
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3745
PRIORITY - ALWAYS Lowest level stuff first, i.e. TODO at server, api route changes etc then back here in order lowest level first as affects the most stuff exponentially so best to do it early
todo: WIKI insert image should have extra linefeed before and after because it fails to show the image at all if it follows something like <br> even though it appears to be on the next line
- tl/dr: ensure blank before and after for any url
todo: User get route is returning password, login and salt in UI explorer WTF?
todo: Investigate Workorder structure and datagrid see case https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3768
todo: remember scroll position in lists when returning, make sure it is working, will be a pain if not
todo: what's going in the dashboard?
will it be customizable?
maybe it's redundant?
Or should just be quick links to commonly used stuff?
it was originally going to be actual UI stuff pickable from various areas of v8, but that's not happening now
in v7 it's like KPI metrics sort of, maybe it's still that
one user asked if it could be "simplified" / customized, I think they just don't want it maybe
"More Simplified View for users or customization of the dashboard of each user."
some kind of funkiness when I was trying to make a widget on an empty db, couldn't save but was dirty.
todo: Server serialized fields, it should *not* be getting the value from the table but rather have it's own table with last number assigned instead
My plan has flaws, getting the number from teh last number used in the actual table is a bit fucked because it means you could end up with mutiple issues
Instead have central location for storing serial numbers (perhaps one per table type for concurrency efficieny? Though it's a pretty fast operation.)
Do not put in shared object though, i.e. global settings or something because it's going to be it's own thing and require efficient access.
Maybe this is a case for a stored procedure?
todo: server bizobjectnamefetcherdirect isn't handling workorders properly (or other serialized objects)
- adde special handling if the name of the "name" column is "serial" or maybe can just run a special query instead?
todo: some kind of funkiness when I was trying to make a widget on an empty db, couldn't save but was dirty.
- related to wiki changes or attachments or something?
- Might have fixed, re-test
Opening the widgets list on a new empty db I got this error at server:
todo: Opening the widgets list on a new empty db I got this error at server:
2020-05-02 13:20:40.4589|ERROR|Server|Error=>System.ArgumentNullException: Value cannot be null. (Parameter 'AyaDataList:GetCustomFieldDefinitionsForList, Custom field object type Widget has no FormCustom defined')
at AyaNova.DataList.AyaDataList.GetCustomFieldDefinitionsForList() in C:\data\code\raven\server\AyaNova\DataList\AyaDataList.cs:line 150
at AyaNova.DataList.AyaDataList.GenerateListColumnsJSONFromListView(JArray listViewArray) in C:\data\code\raven\server\AyaNova\DataList\AyaDataList.cs:line 49
@@ -45,89 +25,63 @@ Opening the widgets list on a new empty db I got this error at server:
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)
todo: remember scroll position in lists when returning, make sure it is working, will be a pain if not
todo: rename v8 export plugin to v8 Migrate
it's more accurate and easier to grasp for people (plus it rhymes)
todo: THIS! At this point, upload to dev server and thoroughly test with devices, it seems a bit slow at times
- Might need to hide attachments until user clicks on something to reveal as it seems odd to fetch every open
todo: careful and thorough PERF tests remotely and local
- https://www.digitalocean.com/community/tutorials/how-to-use-chrome-dev-tools-to-find-performance-bottlenecks?utm_source=DigitalOcean_Newsletter
todo: OPS routes (SERVER AND CLIENT)
- Backup, restore https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3369
- These need to be done fairly early on in order to have shit to play with for testing etc
todo: add long polling notification route (CLIENT AND SERVER)
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3507
- Need way to acknowledge receipt of long poll info from client to server so that it can be removed or something?
- maybe successfull sending clears it regardless of client?
todo: translation page with translation settings
- Translation feedback link in translation page https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3722
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1442
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1439
todo: ability to mass tag items from list (SERVER AND CLIENT)
- also a good way to do an initial implementation of a mass ops UI code
todo: ability to mass rename a tag to something else in all objects (SERVER AND CLIENT)
todo: change trial detection route that client first hits
- make it a different controller and renamed to something like server ping or "hello" or something friendly and useful
- maybe the route that gets Notifications
- because there could be a notificatoin type that doesn't need logged in users for general server down announcements etc
todo: Server serialized fields, it should *not* be getting the value from the table but rather have it's own table with last number assigned instead
My plan has flaws, getting the number from teh last number used in the actual table is a bit fucked because it means you could end up with mutiple issues
Instead have central location for storing serial numbers (perhaps one per table type for concurrency efficieny? Though it's a pretty fast operation.)
Do not put in shared object though, i.e. global settings or something because it's going to be it's own thing and require efficient access.
Maybe this is a case for a stored procedure?
History - MORE button not showing? Was looking at administrator history for AA import scott
- because there could be a notificatoin type that doesn't need logged in users for general server down announcements etc
todo: WIKI insert image should have extra linefeed before and after because it fails to show the image at all if it follows something like <br> even though it appears to be on the next line
- tl/dr: ensure blank before and after for any url
todo: History - MORE button not showing? Was looking at administrator history for AA import scott
- also, is it showing other types of objects besides Users and Customers? (not seeing wo)
todo: server bizobjectnamefetcherdirect isn't handling workorders properly (or other serialized objects)
- adde special handling if the name of the "name" column is "serial" or maybe can just run a special query instead?
todo: readonly on all forms make sure it's ok, because on customize form I see no save but can edit
- (logged in as bizadminlimited)
todo: when server is in ops only mode the client needs a way to prevent people from opening things that they shouldn't.
for example if a admin logs in they can and should access serverstate page and some other stuff ops related, but all other routes should be locked out
I know the server will send a 404 or something but maybe that needs tweaking to show a proper message at the client or just not show those options or something?
(part of long polling maybe??)
todo: found more presets in cases
can I do this date range preset:
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3343
or is it a feature of some kind on it's own
This one: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1441
todo: router should check rights on each route shouldn't it?
- or should the form check and nav backwards if they don't have the rights
- test: login as subcontractor and direct open widget object
TODO: PRIORITIZE THE FOLLOWING BLOCK AND move INTO appropriate STAGES
******************************************************************
(these items came up looking through the raven priority 1 cases for general UI stuff)
todo: ability to mass tag items from list
- also a good way to do an initial implementation of a mass ops UI code
todo: ability to mass rename a tag to something else in all objects
TESTING PERF/USABILITY
todo: THIS! At this point, upload to dev server and thoroughly test with devices, it seems a bit slow at times
- Might need to hide attachments until user clicks on something to reveal as it seems odd to fetch every open
todo: careful and thorough PERF tests remotely and local
- https://www.digitalocean.com/community/tutorials/how-to-use-chrome-dev-tools-to-find-performance-bottlenecks?utm_source=DigitalOcean_Newsletter
todo: keyboard usage test:
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3481
todo: OPS routes!
- Backup, restore, import etc
- These need to be done fairly early on in order to have shit to play with for testing etc
todo: Login form customizable for logo etc?
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3592
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1849
- possibly other cases?
todo: Customer UI pages ability to add analytics tracking codes:
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3574
todo: add long polling notification route
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3507
- Need way to acknowledge receipt of long poll info from client to server so that it can be removed or something?
- maybe successfull sending clears it regardless of client?
todo: Look into 2fa
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3395
RETEST HERE ON ALL DEVICES
todo: keyboard usage test:
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3481
todo: translation page with translation settings
- Translation feedback link in translation page https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3722
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1442
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1439
todo: Trial route ui support in client (ON HOLD NEEDS BACKEND WORK)
- Went to do this but found it's a bit of a maze and has some hacked temp code in the license fetch route etc for development purposes
- Need to determine what the actual solution is for production and make some changes at the backend first
- Also this might be the point to start looking at RockFish changes as well
- Add an area to support refreshing the database and generating test data
- Would be useful to see and manage OPS things related to deployment to server just to save time, can refine them later
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3574
todo: NOW THAT FORM IS THERE MOSTLY, CLEAN UP CODE FOR RE-USE in many other forms
- Look for things to componentize
- Can I componentize the whole form itself so that I have all the basic requirements built in and can just customize certain things for each object type?
@@ -137,38 +91,11 @@ todo: NOW THAT FORM IS THERE MOSTLY, CLEAN UP CODE FOR RE-USE in many other form
- What I mean is, for example, a text entry field could be standardized then re-used as a component if it's props and settings take up so much space etc
- formstate shit is also menu shit really so can they be combined somehow, like present two sets of menu options one read only and one fully read-write?
- some forms will have special needs but could handle them outside of the regular boilerplate shit?
todo: when server is in ops only mode the client needs a way to prevent people from opening things that they shouldn't.
for example if a admin logs in they can and should access serverstate page and some other stuff ops related, but all other routes should be locked out
I know the server will send a 404 or something but maybe that needs tweaking to show a proper message at the client or just not show those options or something?
(part of long polling maybe??)
todo: Outstanding case with vuetify bug in clear button when readonly, check if fixed and if it isn't might need a workaround
- They decided to close the issue rather than fix it:
- I think I worked around this in widget, check.
todo: rename v8 export plugin to v8 Migrate
it's more accurate and easier to grasp for people (plus it rhymes)
todo: Investigate Workorder structure and datagrid see case https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3768
todo: Document in user manual the Widget form as an example with instruction on how to use the various controls etc
- "Anatomy of a AyaNova Form"
todo: Server needs to do widget validation 666.66 dollar amount test rules not only in debug mode so can test when put up to the devops server
- Test code is in widgetbiz.cs around line 445, but do we need it? Maybe just find a proper server error that can be made to happen naturally?
todo: found more presets in cases
can I do this date range preset:
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3343
or is it a feature of some kind on it's own
This one: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1441
todo: readonly on all forms make sure it's ok, because on customize form I see no save but can edit
- (logged in as bizadminlimited)
todo: router should check rights on each route shouldn't it?
- or should the form check and nav backwards if they don't have the rights
- test: login as subcontractor and direct open widget object
=========================================================================================================
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ROADMAP STAGE 3
@@ -331,19 +258,26 @@ todo: can I support keycodes for saving in AyaNova and other shit that are the s
todo: investigate snippets (via hotkeys?) (I like this idea, don't dismiss it outright, could be v.next though. TTM!)
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1834
todo: AyaScript / Look into MACROS (kind of like this idea, don't dismiss it too quickly, need AyaScript replacement)
todo: AyaScript / Look into MACROS (kind of like this idea, don't dismiss it too quickly, need AyaScript replacement TTM!)
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1833
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1680
todo: back and forward buttons when running without browser controls in application mode?
- wait and see on this one, as it will be likely outside of any particular form so not something to be baked in early necessarily
todo: GUIDED TOUR
- This is an important feature and at least get a basic one in there for starters and initial release
- This is a replacement for the tutorials and videos in v7 a
- Need to add that auto-pilot thingy that allows for guided tours in HTML apps
- Specifically it should at least have an ONBOARDING walk through of how to move around, enter data, get help etc. Not feature specific but usage specfic.
- Later I'll add feature specfic tutorials like how to make a workorder etc
todo: Trial route ui support in client (ON HOLD NEEDS BACKEND WORK)
- Went to do this but found it's a bit of a maze and has some hacked temp code in the license fetch route etc for development purposes
- Need to determine what the actual solution is for production and make some changes at the backend first
- Also this might be the point to start looking at RockFish changes as well
- Add an area to support refreshing the database and generating test data
- Would be useful to see and manage OPS things related to deployment to server just to save time, can refine them later
todo: clickable urls
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1738
@@ -611,6 +545,16 @@ todo: Schedule form
todo: can beta test at this point
post installer, enlist trial users get feedback, don't get too down when they shit all over it as they will undoubtedly :)
todo: what's going in the dashboard?
will it be customizable?
maybe it's redundant?
Or should just be quick links to commonly used stuff?
it was originally going to be actual UI stuff pickable from various areas of v8, but that's not happening now
in v7 it's like KPI metrics sort of, maybe it's still that
one user asked if it could be "simplified" / customized, I think they just don't want it maybe
"More Simplified View for users or customization of the dashboard of each user."
todo: workorder UI layout stuff (TTM!! Don't re-invent the wheel!)
There's been a lot of ideas about wo floating around and considered, but at the end of the day what we have works so maybe try to meld