Files
raven-client/ayanova/devdocs/todo.txt
2021-03-11 19:33:41 +00:00

1350 lines
76 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ROADMAP STAGE 6 - "REALITY" All in on porting over all the real objects from v7
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
“Accept the things to which fate binds you, and love the people with whom fate brings you together,but do so with all your heart.”
― Marcus Aurelius, Meditations
## BIG PICTURE TO RELEASE
March
loose ends
Workorder*, quote*, pm* implementations
case 3850 has all the good stuff about how to do this, UI concepts are basically worked out at this point and contract and po have resources to copy from for error / lists etc
April
Schedule form
Review all v8 cases top to bottom and triage / implement
V8Migrate completion
All stock reports (and schedule ones)
2FA - same as DO authentication code app
May
Manual pages
Extensions to replace current add-on's (accounting etc)
Load testing
Beta testing
Rockfish / Back end infrastructure
Biz decisions about hosting etc
June 1st
Release!
## CURRENTLY WORKING ON: misc server items
then client items then migrate
just burn through, skip any that are low priority or will naturally get worked on as part of workorder etc
## MISC ITEMS THAT CAME UP
## E2E TESTING
## V8MIGRATE
todo: custom fields field names are not coming across, still show "Custom 1" when shoudl show whatever is set
todo: assigned doc not found text has too many newlines in it, should just sit on one line in exported notes
todo: dirty big test again with contracts etc
todo: v8 migrate additions
Erase DB warning must be very distinctive like bright yellow and red with crossbones etc
Report sent *to* the new server upon completion (any state) via MEMO to superuser
should send the entire contents of the output screen error or not as it will contain useful info like dupes not exported etc
Duplicate id not exported
found this in the wild with 4a database 4 workorders not exported due to this
message doesn't clearly say that number was exported already
is there a way to still export them?
Is it possible to login during migrate to the v8 server?
Need a running count per item, I have the total at the start so it should show what item it is currently processing of that count like 50/1000 or something
## CLIENT MISC ITEMS
todo: render report directly not working due to server changes, needs to rehydrate the object type to work properly
todo: bugbug sort a column in data table then remove that column from display will trigger error
needs to gracefully handle missing columns
todo: attachment error not evident when in UI, have to go to api to see it's an error 413, maybe find a way to resolve this clearly
as it is, it just appears to work but there is nothing.
any error on upload should indicate so somewhere on the form
to test, remove the client_max_body_size setting (or set to 1m as is default) then attempt to upload an image
or, perhaps temporarily set the max body size in attachement upload controller to simulate here (easier)
todo: acc-service-bank is using a decimal control instead of a currency control for currency field
todo: partassembly form should use an edit dialog rather than edit in place in the grid as it's ugly and clunky and outside of the standard that will be used in PO and wo etc
copy from Contract form and use it's technique for immediate viz value sync event
todo: should user required rule (defined in form custom settings) show a variation of the required error message so that it's clear *they* defined it and they can unset it in customize?
right now they could set a required rule, forget they set it then email us to bitch that it shouldn't be required
todo: reports need duration display helper
test with contract report
todo: Unit override warranty lifetime active should disable or even hide "override length" field
todo: OverrideLifetime is bad text, fix it, key is "UnitOverrideLifeTime" and maybe it just says "Life time warranty"
todo: maybe Active field should be beside name as before in v7, it can get kind of buried and it also seems like it would be clearer if it was beside the name what it referred to
todo: tax code defaults in global settings needs exposure
....................................................................................................................................................................
* todo JC misc list:
Search form object types selection need enum list variant of object types to only show for roles allowed then change search form picklist to use that variant
Notification events list (notify subscription) needs variant that controls what they have role access to
memo to dropdown list shows all users for selection then after selecting one shows only that selected when you next drop down, should show all users still like first time.
memo click on reply or forward should put cursor into top of edit message control (notes)
memobiz getasync flags read but as it's notracking the save does nothing, do a second fetch and update in there when necessary
taxcode form has default of .05 in taxa, change to zero
Tag extension should have tag picker instead of empty field in cases where you are picking from existing tags
Tag extension to report results of operation? i.e. how many tags deleted etc
Tag extension or any extension refresh main data table it was run from after operation (so can see results) automatically
Default warehouse try to enter a tag bombs with error likely due to read only nature of default or missing the empty array maybe in it's record? (though tags is supposed to handle that now?!?)
PartInventory data table errors out when click on column selector (see if others have same issue once figure out what the issue is)
PO form Hide serial field until an ID is set (i.e. don't show 0)
PO FOrm serial field read only unless superuser??
PO item to show part Name field as well but be hideable in customize form?
number is always present, name optional?
PO item not showing taxaviz and taxbviz
PO item Receive button confusing as it receives all, maybe change text to receive all or append the quantity ordered at the end of the text of the button, like Receive 3
Can part inventory list also show on order and on order committed?
Part inventory list what is the deal with the description field and going to the history? Can it be more like the transaction list and have both that and source or...?? Not sure what's up there?
**Part inventory list view will NOT show all parts if previously selected to view the actual part inventory for a single part. I have listed how to recreate:
- from Parts listview, select a specific part - i.e. 0513678 -> which opens its part form -> select menu option Part Inventory -> which shows list view Part Inventory for ONLY this part and warehouses where has inventory -> click on hamburger menu selecting the main Part Inventory list - nothing happens, the list stays showing ONLY for that specific part. There's no filter to remove, refreshing makes no difference. IF select a completely different list view (i.e. Parts or Customers) to view that list AND THEN go back and select Part INventory list, now will see Part Inventory for all parts.
Part inventory adjustment adding from list that is already restricted to one part only (coming from part form menu) should pre-select the part in the new adjustment form if it came from a restricted list to one part already.
Inventory limited role is presented delete button in part assembly list, should only be able to view
Accounting role:
- if select Contacts listview, get error "! Not authorized" - is this as expected that this role SEES the Contacts listview BUT when click on get not authorized? Shouldn't it not show at all if this role can not just view it?
[will look into it, they should be able to see and work in it as it should mirror customers or head offices for rights]
Unit charge description should offer auto suggest from prior entries to save typing.
...................................................................................................................................................................
todo: 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: Popup notes now AlertNotes - a whole section of important notes at the top that shows *all* notes combined like customer popup and contract notes
that shows all the time in the workorder UI with an option to minimize maybe or something
This would be better than popup as it's always visible not dismissed and less ui fuckery to boot.
See case 3855
todo: use trans key "AlertNotes" in place of any popup notes variation
todo: 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?
seems maybe it's ok in main form but that's maybe just because it doesn't change values automatically
todo: datatable single select mode, is this even a thing?
if not then I should remove that code, it's just taking up space and complicating shit for no reason
todo: many stock reports could be made now for most objects
todo: inconsistent use of browser language and browser languages
getBrowserLanguages() <--- more often used vs getBrowserFirstLanguage() <-- fewer times used
some things are using the default first language
and some are using the entire array
In some cases array will work, in others it requires single
need to check into this and be consistent or understand what's happening
I'm guessing I favor languages as it seems to be accepted by whatever is using it and it will work better if the first one is unsupported
todo: locale.js look into this:
// also for sake of future proofing and edge cases need to have it be manually settable as well
// ############### TODO: modify all of these to put the user's manual override first in line (if there is one)
todo: 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: WHEN HAVE WORKORDER FORM customer alert notes
todo: remove widget now? Back and front (comment out obvs not remove entirely)
## SERVER MISC ITEMS
todo: Changes to allow in place updates of server without erasing data:
Needs to be supporting this early as possible so that upon release we can easily make changes without breaking existing setups or forcing complex actions
how to add locale keys in future after release without erasing all data?
Ideally I'd like to continue on to just edit the json translation files and the server looks for missing items and adds them automatically
so that it just works without having to erase the db
maybe a version on translations so it knows which one it's dealing with?
But then again, if it just checks them all it can fix anything missing automatically in case of fuckery and not assume they are ok
Stock locales can just be completely replaced at any time, custom ones need a fixup,
Custom locales should include where they came from (which language) so can more easily add new keys
Schema updates in place not require full delete
todo: figure out method to determine all translation keys actually used and remove unused ones entirely as they will show in the Translation ui and don't want to confuse people
Note: can do a search in Code editor at client for ay.t( and it will show all the translation keys fetched in code for the most part other than grid columns
can click in results and copy all to text which could then be processed to find all unique values??
Or, just exercise the whole app and all lists and then can pull from the local cache in the browser!!!
todo: NOTIFICATION after the fact
what happens when a user subscribes to a notification after an object was created
for example if a unit has a contract and they subscribe to contract expiring they won't get notified about units unless they are edited and saved
*after* the user subscribed
What did v7 do?
How to handle this??
Ideally it would work with existing objects and not require them all to be edited or is that an issue, can it be good enough that it works going forward?
Most subscriptions won't matter as they are direct immediate and one off but the timed and aged ones are definitely an issue.
It might have to run through those and subscribe in the user, maybe a static op on a *Biz object that you call and say "subscribe this user to all subs" and it iterates
the biz objects one by one and sets as appropriate??
todo: GetWorkorderSerial/name from leaf nodes
traverse up the tree and fetch the serial number
once coded fixup in purchaseorderbiz::getasync MIGRATE_OUTSTANDING bit
todo: research practicality of supporting SMS from server for things like notification and authentication 2fa
is it a service, a device, a library??
todo: 2fa is going to be an absolute must have pretty soon, look into what's involved again
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3395
Process:
SIGN UP
(copied a bit from digital ocean)
User settings has a SECURITY section where control 2fa stuff
user chooses 2fa button to setup, a dialog pops up sends a request to server at which point a secret key for 2fa is generated and stored in the User account
and gets back the secret to display in a qr code on screen to searching
/auth/setup-totp
user is redirected to a client form with the qr code displayed for teh secret
User gets QR code then displayed to sign up with auth software
User has to enter a valid code to save or enable 2fa fully otherwise it's not enabled if they cancel out
until the correct code is entered it will not be enabled yet
If user moves out of 2fa area without validating then it generates a new secret next time they go In
DISABLE
user goes to user settings->Security and click on disable 2fa button which is only enabled to click when the account has 2fa already enabled
this removes the 2fa secret from their account and sets 2fa off.
LOGIN
User logs in as normal, server checks if they have 2fa enabled
if no 2fa enabled then send back token as normal
if 2fa then send back response like "2faenabled:true"
also some kind of temporary one time short lived token (maybe the one already implemented for downloads but shorter) to show which user it is as they cannot use a token for the next step
client sees it's a 2fa and redirects to a page (or login page has a "dialog") to enter 2fa 6 digit code
temp token and 2fa 6 digit code is sent to a /verify route
if they match / pass then the normal token is sent back and login proceeds as normal
todo: tag search in picklist, does it support more than one tag? I forget
no, no it doesn't. Hmmm... fuck
maybe they can enter unlimited tags as long as they have a ..before each one?
Users may need to "triangulate" on to an item by multiple tags
todo: unit meter reading event
TODO: //MIGRATE_OUTSTANDING comment tag
search for this comment tag as it will contain items that could not be done until other items were migrated first
The tag will contain the description for each
todo: server boot up message should show the port it's listening on if possible or configured to listen on
Users may well not know what port they are using and this will ease that greatly
todo: many biz objects are not using new PUT methodology
Might be because new methodology assumes complete PUT object as a entire replacement not a partial update
some of these objects (User) do partial updates so....
also this includes *all* of the initial workorder object so there's that
might be that they don't need it but for consistency should check into it
########################################################################################################################
########################################################################################################################
########################################################################################################################
########################################################################################################################
########################################################################################################################
CURRENTLY DOING: LOOSE ENDS, my misc above and Joyce Misc list items below
working up to workorder which has to be done in next 3 weeks. Look into it and will likely spot things that need to be done before it that I missed
todo b4 starting workorder list:
WorkorderStatus (check cases, very many supposedly, but they are likely more about the workorder and notification than about the status itself)
------------------------------------------
EACH OBJECT DEV CYCLE:
FIRST
Check cases, make sure not changing the object fundamentally, many v7 objects are going to change for cases (particularly inventory related)
BACK
AyaType and associated code
BizRoles
Model and Database Schema and AyContext
DbUtil EraseAllData method
Update function PUBLIC.AYGETNAME in aySchema for new type
Biz object and all supported interfaces (searchable, exportable etc)
Reportable Viz fields if reportable
Biz Object SEARCH Index / getsearchresult code add unique text fields
Business rules port from v7 and new ones
ValidateCanDete MUST check if any foreign key constraints and return proper error rather than bombing on attempted delete
Do check constraint first then biz rule so can test down to db
ALL biz rules where possible must have mirror db constraint to avoid fuckery with direct modified data
Notification code if applicable
Controller routes and associated code
Translation keys
FormFieldReference for object if it posesses an customizable form
DataList if applicable (be minimal with the default fields)
Picklist
Seeder generate samples
If anything needs to be changed down the road then flag it in comment with //MIGRATE_OUTSTANDING
FRONT
AyaType / rights
front route
List form
Edit form (## TEST ALL INPUTS ON EDIT FORM, DON"T ASSSUME THEY WORK)
Add to smoke test !!! VERY IMPORTANT
DOCS (at back but with front links, maybe not fleshed out just placeholder ok for now)
REPORTING
Reportable & VIZ fields
DASHBOARD
Add widget if dashboardable https://docs.google.com/document/d/1cEesyryhM0zYkH0PEswiuOezUTA_Nv5Xn3jfBczdQmk/edit
IMPORT
imports and flows through to new front end viewable and searchable and printable etc
## OBJECT ORDER
Preliminary order to get the ball rolling, these are the easiest starting point:
Inventory Migration
migrate inventory added to v8migrate as final step of export; code it based on balances and also insert serials etc
it checks the balances in v8 then compares to v7 then issues an adjustment to bring into sync
this way (last thing) we are always covered no matter what happens with wo import etc
WorkorderStatus
no dependencies, possibly many cases, read over carefully before implementing
Workorder
When do this need to go back and do a bunch of //MIGRATE_OUTSTANDING
i.e. show all
todo: Consider adding latitude / longitude to wo, quote, pm objects
rate split
can copy over from the unit or customer or set themselves
and can always hide
means wo could be scheduled for ad-hoc locations and serviced that way, i.e. a truck parked on the side of the highway etc
Quote
PM
Schedule form
# V7 objects now TAGS, the following objects are imported as tags and suffixed with a period and then short versions of the object type in the tag name
- Region
- UnitModelCategory
- UnitServiceType
- WorkorderItemType
- ClientGroup
- WorkorderCategory
- PartCategory
- DispatchZone
- ScheduleableUserGroup
- ClientNoteType
- VendorType ## LATE ADDITION
## v7 DB DEPENDENCIES
object
depends on
AssignedDoc * Already handled automatically by v8 migrate
none
xaclient
adispatchzone - TAG
aheadoffice
aworkorder
xaclientgroup - TAG
none
xaclientnote
aclientnotetype - TAG
aclient
xaclientnotetype - TAG
none
DEPRECATED - aclientnotifyevent -
none
aclientservicerequest
aworkorderitem
DEPRECATED - acontact -
acontacttitle
Xacontract
aregion - TAG
Xacontractrate
acontract
arate
X adispatchzone - TAG
aregion - TAG
DEPRECATED / HANDLED AUTOMATICALLY BY IMPORT afile
none
xaglobal
ataxcode
aworkorder
aworkorderstatus
xaglobalex
none
xaheadoffice
aclientgroup - tag
acontract
aintegration
none
aintegrationmap
aintegration
Xaloanitem
aregion - TAG
aworkorderitemloan
xamemo
auser
DEPRECATED - anotify*
lots of tables, but it's all obsolete and won't be ported
HANDLED BY IMPORT - aobjectcustomfield
(defines custom fields, is part of base import already, nothing special required here)
apart
apartassembly
apartcategory - TAG
aunitofmeasure
avendor
apartassembly
none
apartbywarehouseinventory
apart
apartwarehouse
apartcategory - TAG
none
apartinventoryadjustment
none
apartinventoryadjustmentitem
apart
apartinventoryadjustment
apartwarehouse
apartserial
apartinventoryadjustmentitem
apurchaseorderreceiptitem
aworkorderitempart
apartwarehouse
aregion - TAG
xapriority
none
xaproject
aregion - TAG
auser
apurchaseorder
aproject
avendor
apurchaseorderitem
apart
apartwarehouse
apurchaseorder
ataxcode
aworkorderitempartrequest
apurchaseorderreceipt
avendor
apurchaseorderreceiptitem
apart
apurchaseorder
apurchaseorderitem
apurchaseorderreceipt
xarate
aclientgroup - tag
arateunitchargedescription - DEPRECATED per case 3432
aregion - TAG
DEPRECATED case 3432 - arateunitchargedescription
none
xaregion - TAG
aworkorderstatus ?! WTF?
xregionnotifystat ?wtf is this?
aregion - TAG
REPLACED NEW FORMAT - areport
aregion - TAG
xaScheduleableUserGroup - TAG
none
xascheduleableusergroupuser
aScheduleableUserGroup - TAG
auser
aschedulemarker (now "Reminder")
none ?must be at least user in there...weird
DEPRECATED - asecuritygroup (nope)
none
xaservicebank
none
atask
none
ataskgroup
none
ataskgrouptask
atask
ataskgroup
xataxcode
none
aui* (these are all v7 UI saved settings that are not applicable to v8)
xaunit
aclient
aunitmodel
xaunitmeterreading
aworkorderitem
xaunitmodel
aunitmodelcategory - TAG
avendor
xaunitmodelcategory - TAG
none
DEPRECATED NO MORE - aunitofmeasure
none
xaunitservicetype - TAG
none
xauser
adispatchzone - TAG
aheadoffice
apartwarehouse
asecuritygroup
avendor
aworkorder
xausercertifcation* (these are now tags and already rolled into v8 migrate tool)
xausermru DEPRECATED
xauserright DEPRECATED
xauserskill* (now tags and already accounted for in v8 migrate)
xavendor
none
xawikipage* (already accounted for in v8 migrate code, object by object will export)
aworkorder (new structure, some of these are no longer joined due to seperation of wo types in v8)
aproject
aregion - TAG
aworkordercategory - TAG
aworkorderpreventivemaintenance
aworkorderquote
xaworkordercategory - TAG
none
aworkorderitem
apriority
aunit
aunitservicetype - TAG
aworkorderitemtype - TAG
aworkorderstatus
aworkorderitemlabor
arate
aservicebank
ataxcode
aworkorderitem
aworkorderitemloan
aloanitem
ataxcode
aworkorderitem
aworkorderitemmiscexpense
ataxcode
aworkorderitem
aworkorderitemoutsideservice
avendor
aworkorderitem
aworkorderitempart
apart
apartserial
apartwarehouse
ataxcode
aworkorderitem
aworkorderitempartrequest
apart
apartwarehouse
apurchaseorderitem
aworkorderitem
aworkorderitemscheduleduser
arate
aworkorderitem
aworkorderitemtask
atask
ataskgroup
aworkorderitem
aworkorderitemtravel
arate
aservicebank
ataxcode
aworkorderitem
xaworkorderitemtype - TAG
none
aworkorderpreventivemaintenance
aworkorder
aworkorderstatus
aworkorderquote
aworkorder
aworkorderservice
aworkorderpreventivemaintenance
aworkorderstatus
xaworkorderstatus
none
------------------------------------------------------------------------------------------
POST "REALITY" OR IN PARALLEL "REALITY" related items:
todo: CYPRESS TEST DATE / TIME / DATE_TIME controls switched back to vuetify ones
widget entry form test rewrite
https://github.com/cypress-io/cypress/issues/7404
https://github.com/vuetifyjs/vuetify/issues/10988#issuecomment-726089949
TODO: //MIGRATE_OUTSTANDING comment tag
search for this comment tag as it will contain items that could not be done until other items were migrated first
The tag will contain the description for each
todo: Schedule form
- This one is big but requires the data to be there so as soon as implement enough things that are scheduleable then do this
- printing / reporting schedule? Do-able?
- https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/729
todo: can beta test at this point
See below, specific ideas about public beta test (User accounts not seperate installs maybe)
post installer, enlist trial users get feedback, don't get too down when they shit all over it as they will undoubtedly :)
remember, it's for the new customers primarily, new customers = new $$
todo: Document in user manual all form controls with instruction on how to use the various controls etc
- "Anatomy of a AyaNova Form"
WORKORDER UI
todo: Investigate Workorder structure and datagrid see case https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3768
Likely that workorder grids inside will not be full blown custom datagrid I wrote but just a vanilla v-data-table control since there is likely no need for the full customization shit
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 I have works so maybe try to meld
into what I have the new concepts and see what comes out. Support a rich wo UI on big screens and scroll around UI on phone maybe.
some notes:
Workorder UI good ideas here: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3475
Basically (based on RI) it boils down to don't make the user go up to the workorder item level when they can go sideways directly to an alternate child of woitem
i.e. going from parts to labor shouldn't require going up a level
All workorder in one document and just really really tall? (people bitch about RI requiring too many navigation steps to get to shit)
Header and items in one document then bottom in seperate pages?
Is it going to be far easier to code this bitch if I have all the workorder data at hand or..?
How does WBI handle all this because it's kind of the poster child for RAVEN
Workorder is one of those things that may require different views for phone and tablet and laptop etc
Kind of like two views, tiny phone and anything larger
On a PC people will want and expect it to look as much like v7 workorder as possible, maybe that's still a valid layout
just tweaked to work better as a web app a bit but theoretically I could almost duplicate that layout with the tools I have
Consider UI in this as well, will need to decide at least what is visible when
Workorder UI good ideas here: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3475
How to add items, like new woitem?
send to server get back new object?
lots of biz rules and stuff need to happen, want to minimize load at client
but lots of data back and forth is not ideal
maybe request a woitem and get it back?
what exactly needs to be processed in the wo when items are added / removed?
math / totalling?
simple calcs sb client doable
this will drive what has to happen.
Need to go over all wo features and factor them into this decision properly
The whole idea of a completed section of a wo and stuff, is that dropped due to TTM or still viable?
maybe can pick out the best new features of that which can be integrated into existing design rather than re-inventing the wheel
Here is an overview: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3412
How best to be able to service LoanUnits on a workorder? [UPDATE: added shadow units feature]
Just make them Units with extra properties exposed if type of loaner?
This seems simplest, but what will it effect?
Hard to make them serviceable if they are an alternate table of source for what's being repaired as that breaks a lot of other code or adds exceptions
Customer is then who exactly because it's fundamental to a lot of wo functionality?
from a biz perspective isn't it like you are your own customer when you service your own equipment that you loan out?
Does Serial field need to be numeric, could it be text instead?
prompted by case 3428 saying that it's hard to deal with constant conversion to text for UI etc
plus, I'm thinking it opens door to textual scheme like appending -A or whatever to a wo.
or, is that a display issue?
Calling something "serial" implies it's unique but it isn't, maybe I should call it "number" instead or "ID" or something?
INFO: did a test workorder with ALL fields filled out heavily and one woitem, exported from db entire graph based on detailed report so every line was every item repeated
still only 84kb and it's a lot bigger than any typical wo in v8 would be as it will be far more efficient without having to repeat lines flatly
so I think size of object is a non-issue really from a practical standpoint.
UI
idea: UI reflects tentativeness state of object:
The UI doesn't imply something is done by changing it fully until the save is completed.
This serves two purposes:
1) user knows at a glance what isn't saved yet and will know it's waiting for save clearly, hopefully leading them to save more often,
2) client doesn't need to track invisible shit behind the scenes, can more easily do patch updates right off UI source
e.g.:
if deleted a row in parts, that row doesn't disappear but rather shows crossed out, maybe grayed out but still there until save to indicate it's tentative status
if added a row, shows green or something or bold or asterisk, (can style with css based on state) until saved
problems:
how to handle regular fields that are changed (that's a lot of field data to track for changes)?
Maybe client keeps a virgin copy of the original wo for comparison
periodically does a compare and flags differences on updates?
(this would also help to serve as an Undo maybe?)
todo: Documentation POST "REALITY"
will already have placeholders from above
Need to think this through carefully
Need to get the critical bits in for onboarding and importing so people can get going
Most important stuff is anything non-obvious
Seems pointless to have one doc per form that just says "The name field is the name and must be unique"
maybe have that kind of stuff in the form basics and then have a doc per OBJECT instead with anything unique or interesting about the object
(and each object form has a link to formbasics so can link to the object form from UI and they get both)
Parts of it can be done post-release for sure
todo: ONGOING search for memory leaks
The 7 times system seems to work the best
Excercise item a few times to settle it in memory, take heap snapshot, force gc, take total of 3 heap snapshots forcing gc each times
Excercise item 7 times exactly, take 3 more heap snapshots forcing gc before each one
Compare snapshot 6 to snapshot 3 look for Delta 7 times items to find leak
https://developers.google.com/web/tools/chrome-devtools/memory-problems
https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ROADMAP STAGE 7 - EXTENSIONS (was plugins)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Step 1: get the current active license count for all extensions so I know what i'm dealing with here
Step 2: which extensions in which order and some can be left off entirely?
Plan the order of criticality for extensions
ACCOUNTING is obviously the first and foremost one and MUST be there for a lot of people to take up
MUST be done in a way to support other alternative accounting apps that are coming around now like freshbooks or whatever it's called that Joyce is using now
probably going to need a "trick" of some kind to interface with desktop accounting
i.e. a local windows app that uses the api and just copy over the qbi code
or a local server that has it's own web interface
or regular raven UI but the accounting section interfaces with a local server for local desktop qbi stuff and
the raven server interfaces with QBOnline for the QBOI stuff
based on sales, how many subscribed now
which ones are porting and which are not
Implement in order or priority
Fuck peachtree?
probably not, need to check again our install count of extensions
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ROADMAP STAGE 8 - ONLINE EVALUATION ABILITY / INSTALLER, LICENSING, ROCKFISH SUPPORT FOR RAVEN
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
todo: setup for automated trial testing ability so can just link users
Maybe, rather than having seperate servers for testing, have it instead generate a User account on the fly for each user who wants to trial
Automatically re-create the data on a cycle of some kind
Needs warning message about being a shared instance of AyaNova so be careful what you type and also you may see things other people typed that I have no control over
todo: WINDOWS INSTALLER
Runner harness wrapper thing?
even if windows only
it could modify config since it's outside the server
check for Postgres server extant and if not automatically start the standalone postgres instance
manage postgres start and stop and configuration changes, sit in tray, run AyaNova server from there?
easy way to select command line params without resorting to editing text files for end user
initially it's an installation option, but then need to edit after the fact
Quick check of installers available still and is it still kosher to keep using INNO setup or is something better, more supported by windows etc?
Wix if want MSI (some say that's desireable)
INNO is still relevant
I don't need hardly any requirements that can't just be copy or unzip deployed so maybe don't even need an installer for now?
(zip distribution is going to be problematic with Windows file protection shit)
https://docs.microsoft.com/en-us/dotnet/core/deploying/
https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
Completely packaged and installable. REady for users to install as a test as I iterate stage 7 below
All the stuff needed for someone to run it as a test without the real objects yet.
Some kind of expiring license so they can't just keep using it as fucked as it may be some might do that
I want short targetted testing only, not someone downloading and trying it out a month later, that's useless for us
This needs to be focused on what I need to get from people about testing
todo: LINUX INSTALLER
Linux users don't mind doing the manual config thing as much, they're used to it and it could just be a shell file anyway
So mainly this would be a documentation steps to install type issue
todo: DOCUMENT DOCKER
Present dockerfile maybe for docker installation with FILES folder pre-ready to build / run
Whatever docker needs
Or maybe private registry with docker images on our servers somewhere
todo: rockfish, can't do purchase for raven or view it I think
Test a whole sales process from eval to purchase and make it work
todo: rockfish, upgrade to latest bootstrap, out of date Currently
todo: rockfish, trial license fetched On date not updating? (not showing in UI)
todo: Joyce rockfish notes:
Licensing:
noticed that the field "Fetched on" is NEVER updated.
is it much to be able to see the TIME as well as the DATE, when "Requested" and when "Processed"?
There are drop down selections NEW, APPROVED, REJECTED for the (already generated) listed keys. But can not actually save to a different Status. What is the purpose of the drop down options if can not select?
todo: Discourse bootstrapping install
look over, get ideas make case steal ideas profit FTW$
https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md
//here is their standalone config yml definition for DOCKER
https://github.com/discourse/discourse_docker/blob/master/samples/standalone.yml
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
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ROADMAP STAGE 9 - RELEASE
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
todo: ARCHIVE ALL DEPENDENCIES
Get all code for all 3rd party libs used for front and back of AyaNova 8
Need to store that in an archive somewhere just in case
Needs to be done with each release so can go back to that if necessary
Going to be big, maybe archived to all storage drives locally and burned to a dvd?
If check into the repo it will be an issue probably but you never know
TODO: CSP Policy that should be enabled at server?
I had to add per this: https://docs.telerik.com/kendo-ui/troubleshoot/content-security-policy#content-security-policy
to my csp because I kept getting errors in client end debug console mentioning csp issues
this seemed to come after I updated the client build process to do a legacy and modern build but I'm not 100% sure about that
Assuming has passed all testing
Plan pricing and sales strategy
What to do with licenses for v7 people
Another payment processor?
support bitcoin if possible as well
DONATE
Send a tip / buy a coffee link to the graphic designer who made the rabbit logo
https://pixabay.com/vectors/bunny-rabbit-wrench-repairs-154508/
coffee button top right
if I use it in release I should at least send them the small amount they get tipped
Send a tip / donate to teh favicon generator guy
https://realfavicongenerator.net/
I broke it at one point by bringing down the site while it was checking ... oops.
Used it several times and should donate
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ROADMAP STAGE 10 - ROCKFISH / HOSTING BACKEND SELF SERVER READINESS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
DO server allocation, rockfish revamp to drive this part (or maybe it's an alternate app)
https://blog.digitalocean.com/its-all-about-the-bandwidth-why-many-network-intensive-services-select-digitalocean-as-their-cloud/?utm_medium=email&utm_source=do_newsletter&utm_campaign=04292020
https://www.youtube.com/watch?v=zZVoo5AbANI
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ROADMAP STAGE 11 - RELEASE SELF SERVE / HOSTING
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Fall of 2021 hopefully
links on website for sign up
marketing can begin in earnest
NOTE: HOSTING cases are all moved to priority 2 and most have "HOSTING" in the title tags
todo: Administration - Account
Down the road will need an Account page for seeing their account status in rental SAAS situation
Nothing to do here, it's an obvious one, just delete this later, it's to percolate in brain a bit
maybe under license
PLAIN TEXT EMAILS / ONBOARDING
https://blog.palabra.io/great-onboarding-plain-text
MARKETING
Analytics alternatives to Google:
https://news.ycombinator.com/item?id=24198329
Also very nice screen shot effect:
https://umami.is/
Created by:
dom96 2 hours ago []
Nice! Question for you, how did you make that nice 3D image on the front page with various screenshots overlaid over each other? :)
reply
mcao 2 hours ago []
It's all done in Photoshop. Just take screenshots, then transform, rotate, distort them to look flat. Then add some drop shadows for a 3d look.
reply
MUSIC TO ADD TO COLLECTION
BOC - cities on flame
MID CENTURY MODERN TUNES - https://www.allmusic.com/album/ultra-lounge-vol-14-bossa-novaville-mw0000024024
================================================================
I have listed specific "sections" grouping together.
You will see "is this as expected?" - I'm not saying is wrong or right, I'm asking if this is what you expect to happen and asking if that is the way that feature is supposed to work. I AM bringing it to your attention as whatever it is/how used/displayed may be a issue for users - i.e. may not be obvious to end user how to use
ME LIKE - just pointing out something that is cool ;-)
***************
Search
***************
ME LIKE: The prompt of text, *xt, te* helps user know what and how to enter - very intuitive - i.e. search through ALL objects, leave at -, search through a specific type of object (i.e. customer) select.
Is this as expected? - Noticed that if logged in as a Role that doesn't have rights to objects (occurs for all roles), that the object type is STILL listed in the Search's "Object" dropdown list.
[will change]
***************
Memo
***************
The To: droplist (or what will we call a list of dropdown options?) when first select that shows possible selections lists ALL potential users so can scroll and select.
- once I have selected a user, then after that when I drop down the list it ONLY shows now THAT user already selected - yes I can start typing a letter, but how do I see ALL possible users in the dropdown list again
I CAN see all possible users IF I type in a "-" (without quotation marks) as the character "-" IS within EVERY name, but is this character "-" common for EVERY type of object in any dropdown list if I want to see all? i.e. is this what anyuser in any company database use to "reset" a dropdown list to see all?
[BUG WILL FIX]
Is this as expected? - clicking on SAVE is the only way how a memo is sent?
[YES]
ME LIKE - When click on Reply, awesome that the reply DOES include the previous memo thread.
Is this as expected? - When click on Reply or Forward, the cursor does NOT default WITHIN the message so can start typing. Cursor defaults to NO preset place, can't tab or anything. HAVE to use mouse to click WITHIN the message before can start typing.
[WILL CHANGE]
"Viewed" column does not change (doesn't show checkmarked when HAVE viewed a memo). No indication that a memo has been viewed (i.e. does not show in BOLD if haven't yet viewed, Viewed column doesn't change whether viewed or not)
[BUG WILL FIX]
******************
Tags
*****************
How do I "see" ALL possible tags so I as an end-user can pick an existing tag OR so I can see the format of how tags are entered in my company (i.e. my company might use a prefix PC for a Part Cateogry or a DZ for a dispatch zone, or enter dispatch zone names by main street instead of east/north etc - and a supervisor won't want to have to manually sit with each staff and tell them what to do, thinking it should be intuitive...)
[not a feature currently. What are your thoughts on what is should look like and where it would go?]
***Issue - Unable to have NO tags on a part:
If try to delete the existing single tag assigned to a part, it "looks" like it is gone after initially saving, but if go out and back in (after saving) the tag is still there.
You can see this yourself by the following:
- View any part. If existing tags, delete them all - and save.Back to listview and back into that same part, and you will see that at least one tag is BACK again. that part, and you will see that automatically at LEAST one tag is reassigned.
- view any part. If has a single tag, delete it. Save. Looks like is gone right? Now exit out of that form and back to list and open that form again, and wa la, its back again.
- view any part. Delete the tag(s). Save. View its history, will show there was modifications BUT when go back out of history using back-buttons, the tag returns.
- view any part. Delete its tag(s). Save. Now this time use the hamburger menu to go to the Part listview. Select to view that same part again, the tag is BACK AGAIN!
**AND THEN COMBINED WITH THE ABOVE Issue - listview column for Tags is NOT showing the single tag "zone2" that IS showing INSIDE the form.
If I add another tag (i.e. blue), and then delete the "zone2", then yes the "blue" tag shows under the column Tags.
[some kind of bug but only at the Linux server, doesn't happen here at all, will look into it. Possibly something with the version of Postgres in use or..? My code is pretty straightforward and simple so I'm guessing it's a deeper issue with postgres on linux and that particular field type or something along those lines]
**Sample data puts confusing tags onto EVERYTHING:
Every record seems to have numerous colors and animals and sometimes multiple zones as tags. The sample data should have sample tags in such a way as how ACTUALLY recommended to use - i.e. as a way of catorgizing useful for filtering, or when searching on a dropdown list.
For example, if going to use zones as a tag, then ONE zonex tag for specific types of records - i.e. ONLY Customers and Head Offices and scheduleable users, but NOT for individual Parts or POs. Parts tags would be more of a part category - i.e. printer, printerink, printertoner, laptop, desktop, tablet,
[those tags and all sample data right now are for development testing purposes only, not intended to be the final data people will see when evaluating. More meaningful data will need to be made for actual end user purposes. Duplicate tags in completely separate things like parts and customers is actually an important feature of tags for cases where an end user needs to categorize many different types of things similarly so there should be some kind of sensible duplicate to show that, just need a good example people understand.]
Where can I as an end-user see ALL tags? what if I wanted/needed to remove/edit the same tag everywhere can't I do so from a list of available used tags - i.e. tag "blue" no longer used, want it removed from everything?
[not a feature currently. What are your thoughts on what is should look like and where it would go?]
**************
ATTACHED FILES
*************
Is this as expected? Every object EXEPT memos have ability to have attached files via its Wiki (even Reminders) EXCEPT for memos.
[Yes this is expected, you can only attach to an object with an ID and a memo doesn't have an ID until after it's sent. There's no practical way around this limitation. (Attachments are not stored with the parent record but separately so they need an id of an object to attach to). A workaround if needed could be to attach file to another object then mention it in the message]
****************
Reminders
****************
ME LIKE - if the date has not yet pasted, the start and stop date/time show BOLD.
****************
User Settings
****************
How will the user know what "language code" to enter - gives only one example "en-US" but when start typing in, nothing comes up to select?
[this is intended as an override for what their browser defaults to already which should be correct 99.99% of the time and should almost never need to be changed. Maybe I could include a link to the codes on a wikipedia page or something, they change from time to time and it wouldn't bre practical to include a list preset]
How will the user know what "Time zone" to enter - gives only one example "America/Vancouver" but when start typing in, nothing comes up to select?
[same issue as language code above]
Is this as expected? - I noticed that the User Settings (accessed from the Home) does NOT provide fields for the user to edit their own displayed user's first and last name, that it does not give the end-user access to the same page that an administrator does.
[Yes by design]
I see "under" the "Map URL template" dropdown list where can select Google, Bing etc. Is the idea that a user will "know" what this is used for if they use it?
[yes, if they have a particular mapping site they prefer they can select it here otherwise defaults to google maps.]
*******************
Notification Subscription
************************
ME LIKE - I filled in email address for the logged in user prior to making a test subscription AND IT AUTO fills in the email address of this user.
Notification delivery method has only TWO options - 'deliver in application' and 'deliver to email address'. Can a user enter a phone number and it will properly be sent?
If the user has to enter it in a "email address" type of format, how will they know how to do so?
[No a phone number alone would never work. When texting via email to a device they need to enter whatever the email format is for their own cell provider. It's strictly email and they need to know the address to send to]
Will there be a "Deliver to phone" option? And if selected, will auto fill in the phone number of Phone1 of that user?
[Hadn't planned on it, email is simple, works with almost any provider and works for multiple kinds of devices from regular email software to text to phones so it's kind of all encompassing. I'll make a case to see how and if it's possible to support SMS (texting) directly in a later release]
Is this as expected? the dropdown list shows possible notification events that this role does not have access to - by "this role" I mean ANY role when logged in presently sees ALL possible events even if that role doesn't have access i.e. Inventory role has possible notification events related to Units and WOs etc
[will change]
******************
Taxes
*****************
Is this as expected? When create a NEW taxcode, a default number 0.05 is pre-entered into Tax "A"
If is an "example" shouldn't it show UNDER the entry field as a suggestion, NOT actually entered into the field?
[will fix]
Taxes don't allow entering of more than two decimal places. I.e. CAN NOT enter a 7.5% tax, can only enter in a 7 (as in 0.07). For example, Australia has a 28.5% taxcode, so would need to be able to enter 0.285, not just 0.28
[Fixed with new percentage control implemented here in version 103 not posted yet]
********************
Extensions
********************
When trying to do something with tags, there is no "list" of tags given to work with. For example, checkmark all parts -> Extensions -> expand Tags -> start typing in BUT does NOT populate or allow selection from a list of tags? Right now the end user HAS to know exactly what the tag is to delete OR add, can't just select from list of possible tags. Is this (having to KNOW the exact spelling of the tag) desired for some reason?
[I see the issue there, will look into switching to a tag picker for where existing ones need to be set like in delete etc]
Is this as expected? - Can only delete a single tag at a time? I tried to enter in multiple, and it automatically puts a dash - in between and won't let me commma separate.
[Yes as intended one at a time]
Is this as expected? When I click on Start Job -> then shows popup "Job completed" BUT does NOT say IF actually removed anything NOR does it identify HOW MANY objects removed from. In other words it says completed but doesn't actually give any information on what just happened so that end-user gets useful feedback. Suggestions for useful would be such as: how many records updated/changed.
[will look into]
Is this as expected? - After I add/remove the List using Extensions, the data shown in columns are NOT updated automatically (i.e. Tags column after I removed a tag), requires user to Refresh.
[will look into, I think I coded it that way on purpose but maybe not]
*******************
Contacts
*******************
Is this as expected? that ONLY customers/head offices show in this listview.
[yes, "Contacts" are customer or head office users ("outside" users) and are shown separately from "inside" users like staff, subcontractors etc]
ME LIKE - I like the available column "Last Login" so can see at a glance when/if logged in
****************
General UI stuff
****************
To ensure that I/you/Help docs/webpages are ALL on the same page, I'd like confirmation on the label we will call certain things. I've listed below UNSURE or NAMED if I think it should universally be called xxxx:
NAMED Action symbol "two arrows swirling around each other" = Refresh [I AGREE]
NAMED Action symbol "magnifying glass" = Search [I AGREE]
NAMED aspect "bell" = Notification(s) [I AGREE]
UNSURE when viewing a list, on the right are two actions, one is the Refresh, and the other is a box with vertical line in it that click on to set what columns display - we need a standard name to always call this please. what about Column Setter? [Columns selector]
UNSURE next to the word Filter is what looks like an edit button - shall this be called Filter Edit? [it's for saved filters so "filter manager" maybe?]
UNSURE The actual page where a specific record is viewed/edited - i.e. the Customer "form" or is it to be commonly called the Customer "record" or the Customer "page" or ? [I would go with "Form"]
UNSURE what we used to call a grid in AyaNova 7 do we call a "listview" (I don't want to call it a "list" as its MORE than a list... [I've been calling them "DataTable" in code. technically it's a table so "Data table" works.]
UNSURE a dropdown list to select a specific record name such as Dropship to Customer and select a customer = DROPDOWN LIST ["Select list" is how it's been translated already, I'd stick with that]
What is the keyboard shortcut to Save a record? I.e. let's say a user is editing parts a lot, how to do so without having to switch between mouse and keyboard constantly?
[I looked into this early on and it was very problematic, maybe if the user could assign but there are so many potential conflicts with every device / browser / os having their own built in ones: https://stackoverflow.com/questions/3329420/what-are-cross-browser-and-cross-os-safe-keyboard-shortcuts-usable-for-web-appli I have a case to look into it again later on as a potentially user selectable thing but we cannot offer any default for this (see link)]
***************************
Global Settings - Select List Templates
***************************
**was not obvious to me that the reason why dropdown lists were showing "weird" info was because the Select List Template for customers and parts (and everything else) by default includes the Tags (as well as Name or Number etc). Combined with the weird and MANY tags prepopulated it was extremely confusing.
[Could turn them off in the sample data in the template, but then people might not understand how they work, not sure what is best with this]
******************************
Lists / Listview / not sure what to call
******************************
ME LIKE - once i figured out how to use the filters on lists (i.e. need to click on the + and save etc) I find it soooo much easier than the filtering in AyaNova 7. Cool.
*******************
Warehouses
*******************
Error occurs when attempt to place cursor in Tags field in the warehouse labeled "Default"
Vue error: Error - Name:TypeError, Message:Cannot read property 'some' of null info: render STACK: TypeError: Cannot read property 'some' of null at offerAdd (https://test.helloayanova.com/js/app.5b32d682.js:1:134141) at o.tn (https://test.helloayanova.com/js/app.5b32d682.js:1:132290) at o.t._render (https://test.helloayanova.com/js/chunk-vendors.80454369.js:7:23733) at o.i (https://test.helloayanova.com/js/chunk-vendors.80454369.js:7:27824) at ni.get (https://test.helloayanova.com/js/chunk-vendors.80454369.js:7:30684) at ni.run (https://test.helloayanova.com/js/chunk
[I'll check into it, default is semi read-only, probably some conflict there]
Also too - Default warehouse had NO original tags added during sample data seeding. NOW that I did add tags, saved, and then removed the tags, now "zone2" is ALSO automatically being saved to it even though don't want any tags.
******************
Part Assemblies
******************
ME LIKE - I see can now add parts AND their quantities woohooo I am expecting that in a workorder will be able to add a part assembly and it will populate the Parts with all those in the part assembly as a time-saving as well as (most important for our users) that they don't forget certain parts that all have to go together
[yes will have selection list for assemblies where a part can be selected too]
*******************
Parts
*******************
Error occurs Name:TypeError, Message:Cannot read property 'fieldKey' of undefined occurs when:
-select any part to open to its part form. Select menu option Part Inventory, which opens list view of part inventory for THAT specific part. If click on the (I don't know what to call it, we need to set a standard name for each available Action if doesn't have a name, so its ALWAYS referred to as the same name) where you set what columns show or not for a list view, I get the above error.
**also get same error message when access by: select Part Inventory list, click on the square with line disecting it (the action button where you set what columns to show for a list)
[Will fix]
**************************
PO
*************************
Is this as expected? when first creating a PO, I see that the "un-saved" record shows the number 0. ( I do see that as soon as saved, the field is auto-populated if WAS not filled in by the end user)
[Yes, every object starts out as ID 0 when you click new and only gets an ID once it's saved. You just see it in the PO. I'll make a note to hide the serial field until there is an ID]
Is this as expected? Statuses don't automatically change at ANY point .... I take it that the status is FULLY up to the user. And the default appears to be Open - On Order UNLESS the end-user themselves actually changes it.
[Yes, completely up to user how they choose to use it. It's so different in how it works I struggled to find a system that woudl work automatically and not get in the way. The status before was tied to how it worked but it doesn't work that way anymore and technically users could just hide it if they don't use it. If you have any suggestions on something different I can look into it, just couldn't think of a clean automatic system at the time]
ISSUE **PO numbers duplicating:
the last generated PO # was 22. I edited an existing PO 17 to use PO 24, saved, all good. Created another po while testing stuff it used 23. And then I created another PO and I expected this PO to jump 24 and instead be labeled 25 BUT it TOO automatically set itself to number 24. So now I have TWO pos with number 24 (yes yes me as enduser can go in and change, so is this expected that numbers WILL ALWAYS be whatever raven decides and never actually follow +1 from the last biggest number?)
[Yes this is still a work in progress. I thought originally it might be a cool idea to make it editable or at least in case there was an issue or something but how you saw it working is how it works, it doesn't take into account existing records and needs a command to the db to reset the seed number separately. I could make some code that checks on save if the PO serial has been overridden and tries to force the serial number seed value to change but saw all kinds of potential issues around that too. (performance issues, could mess up another user also saving a new PO at the same time; user could accidentally enter a huge number and then it's stuck dishing out more huge numbers automatically etc). I was thinking maybe make it read only except for the superuser account only who could login to make changes and separately reset the next serial seed number in Global settings to avoid the issue you found with duplicate numbers. What are your thoughts on this?]
**************************
PO Items
***************************
**Use - PO items show only part number and do not show nor have option to show the part name. Part Name AND Part Number are usually the minimum to show
[I *really* wanted to ditch Name (or Number, just have one only) but kept it only because of v7. I can add name as an option they can hide maybe, I'll look into it]
***Where does a user set which default Tax is when purchasing? Normally this would be in Global Settings, but isn't there?
[Yes it will be there, hadn't coded it yet]
**Tax applied in sample POs Items is all "Sales & Goods" - not sure why all defaulted to this? Is this a tax that YOU set to populate when making sample? Again this is so that sample data actually makes sense for someone taking a quick look.
[Yes sample test data, just a random item I picked for generating test data. Actual final sample data for evaluation will all be needed to look at]
**where is list view of PO Items (not just POs), like with AyaNova 7?
I guess depends on what is the purpose of such a list, and is the INventory transactions useful instead?
For example, I wanted to find what POs a specific part was ordered through, AND I used the Inventory Transactions listview, filtering it, so the need for a PO Items listview depends if there is something can not do with Inventory Transactions............
[No separate list for po items is planned unless something comes up]
ME LIKE - clicking the wizard action button does correctly update the part's actual cost easily - cool
**Tax amounts do not show in the PO Items? Look at any PO ITem, it shows a Tax Code selected AND the Line Total appears correct BUT the actual individual tax amounts are not populated - i.e. shows Net total $24.03 but nothing for Tax A or Tax B and line total correctly shows $25.71
[bug, will fix]
Is this as expected? Have noticed that when editing a PO Item doesn't give option to "undo" or cancel - can you confirm is as expected:
i.e. click on Edit action for an existing PO Item -> opens to that PO item record -> click on X for the part warehouse (this is the "accidental") -> click on Exit (as user doesn't remember what was originally selected there) OR click on ESC on keyboard -> the edit screen for the po item disappears BUT if I click on Edit action again, opens showing that there STILL isn't a warehouse selected...... BUT I did notice that when I Exit or ESC that the PO Item listed in the PO does correctly still show the original warehouse selected and if I try to move away I DO get the message about am I sure I want to leave and lose unsaved changes which is fine
[As expected, when you edit you're live editing the record even in a popup sub-form inside a form. To undo user needs to leave without saving. I did not implement undo anywhere in v8, would require a whole other system of tracking changes etc. Looked into it but it's pretty ugly code and would have impacted peformance and hugely increased size of memory footprint]
******************
Receiving PO ITems:
******************
Is this as expected? - Click on the Edit, opens to the editing of PO. if enter in a specific number to receive (i.e. ordered 5 received 2), didn't realize that clicking Receive causes ALL to be received.
I understadn that majority clicking on Receive works best - AND if want to receive partially, need to click ONLY on Save. BUT did want to point out that it is not obvious. Then again, don't want it to be overly with info and user can see AND can edit...
[I could change the translation text to "receive all" or put the "ordered" amount to the right of the Receive text so it says "Receive 3" for example? What are you thoughts on that?]
Editing a PO such as adding another item to its order (not received) that has been set to Closed - Fully Received. Doesn't do anything in response. Stays at the old status. I understand that status is up to the user, but nothing? not even a "item added, status may not be relevant" or something? Or anything? How is this going to be advertised to the end user - "do whatever you want..."
[Yes, completely up to user how they choose to use it. It's so different in how it works I struggled to find a system that woudl work automatically and not get in the way. The status before was tied to how it worked but it doesn't work that way anymore and technically users could just hide it if they don't use it. If you have any suggestions on something different I can look into it, just couldn't think of a clean automatic system at the time]
*************************
Inventory transactions:
*************************
Is this as expected? When I add a part to a PO, the page shows automatically saved. OK. BUT I noticed that ONLY WHEN I have to click on save does the inventory transaction actually is logged under "inventory transactions".
For example - I ordered a part in an existing PO, the PO shows already saved. Exited out. Went to Inventory Transactions and THAT TRANSACTION IS NOT LISTED. ONLY when I receive (which coincidently requires ME to click on the Save button before leaving) does a transaction record get logged. So there is no "transaction logged" when a part is ordered, only when is received?
[Yes, an "order" isn't part of inventory until it's received so there is no transaction to record. The inventory transaction log *is* the actual inventory itself and the source of where all inventory values are pulled from]
********************
JOHN Part inventory
********************
Is Qty on Order Committed and On Order being added later? **AyaNova 7 "part inventory" for an individual part would show at a glance "On Hand, Qty on order committed", Restock Level, and On Order. In Raven, when select the menu option "Inventory" for a specific part record get redirected to (I am assuming, but does NOT show is filtered) the Part inventory list view filtered to show only that part and for each warehouse the On Hand Qty and Description only shows.
[I'll look into it, can't recall. That particular thing doesn't actually exist anymore as a field anywhere, where it's required for the restock list it pulls it out of the database via a query of the PO's not stored with the warehouse itself as that was exactly what was causing inventory issues in v7 (storing summary values in the warehouse record). I do have on order and on hand for the restock list, not sure if it's exposed anywhere else]
Is this as expected? Why is Part stocking levels in a separate menu access? Ah I think its because Part inventory is where you can make an Adjustment and view existing inventory levels, but doesn't have an accessible area for Restock levels for each warehouse.
[as expected. Do you think there should be a way from warehouse to look at restock levels of *all* parts for that warehouse? ]
**clicking on the "Description" (the column Description in the Part inventory listview) brings up a single slice of history. I thought it would take me to THAT item - i.e. if says "Purchase Order 18 Created" it takes me to that specific history, but I expected it to take me to PO 18. What is the purpose of taking the end user to that single history?
[I'll look into it, can't recall what that's about; something funky with the columns for that list too]
**Part inventory list view will NOT show all parts if previously selected to view the actual part inventory for a single part. I have listed how to recreate:
- from Parts listview, select a specific part - i.e. 0513678 -> which opens its part form -> select menu option Part Inventory -> which shows list view Part Inventory for ONLY this part and warehouses where has inventory -> click on hamburger menu selecting the main Part Inventory list - nothing happens, the list stays showing ONLY for that specific part. There's no filter to remove, refreshing makes no difference. IF select a completely different list view (i.e. Parts or Customers) to view that list AND THEN go back and select Part INventory list, now will see Part Inventory for all parts.
[I'll look into it]
Error - Name:TypeError, Message:Cannot read property 'fieldKey' of undefined when click on column setting for listview for Part Inventory listview.
[will fix]
**************************
Part inventory adjustment:
**************************
**I'm viewing a specific part. I click on Part Inventory. ONLY this part (and the warehouses that have inventory of it) are listed. I click on the + which opens to the Part Inventory adjustment form. I noticed that the Part is NOT automatically pre-selected for me, so now I have to go back to get the number and then click again to now find it in the list. Would be helpful if when +ing a part inventory adjustment FROM a specific part, that THAT part be already selected.
[I'll try to make that happen not sure if it's possible but will try]
***********************
roles
***********************
Inventory (full) role SHOULD have ability to edit (but DOES NOT at present) the following:
- Manufacturer record
- Wholesaler record
- Alternative Wholesaler record
[I agree will change to access Vendors]
- "Customize" aspect for inventory related forms: for part form, for Vendor form, for Warehouse form, for Part Assembly form, for PO form,
[Customize is it's own "right" or object type and only bizadminfull has rights to it, it doesn't work by object type so this would be bizadmin full only to customize any form]
- possibily Taxes (but I can understand if this is only for an Accounting & SuperUser role)
[Yeah I'm thinking accounting and bizadminfull only]
Inventory Limited role - presently when viwing Part Assembly, although aspects are "gray" still shows Edit action button and Delete action button, allows user to select (which is ok for the Edit as DO want this role to be able to go through to see the actual part) BUT the Delete action button should be removed as this role CAN NOT delete / modify a part assembly.
[will fix]
Accounting role:
- if select Contacts listview, get error "! Not authorized" - is this as expected that this role SEES the Contacts listview BUT when click on get not authorized? Shouldn't it not show at all if this role can not just view it?
[will look into it, they should be able to see and work in it as it should mirror customers or head offices for rights]
**********************
Logins
**********************
Is this as expected? Here's the scenerio: I am logged in on my phone as Inventory role, and I'm moving around doing stuff. On my desktop I then (while still logged in on my phone as Inventory) I now also log in as Inventory role. What happens is the FIRST logged in person is KICKED OUT??? SO then on my phone I log in again as Inventory which KICKS out the login on the desktop. Is this as expected?
I can see how this is useful if left yourself logged in elsewhere, causes that login to get cutoff so a user can continue working where most recently logged in. Am wondering though
[Yes, it's by design for security reasons. Whenever a user logs in any prior authorization tokens are revoked. They can create a second user account if they want to be able to login from two places at the same time. Note that this does not prevent them from openign multiple browser tabs on the same browser and working in different areas at the same time as that all uses the same authorization token.]
********************
Translations
********************
**French - I went through the fr translation, and saw a Key for WOrkorderCategoryList, WOkrorderrCateogryDescription - aren't these now tags?
[Yes, all the original translations are still there, one of the final steps is to pick through and remove the ones that are no longer required before release. I just don't know which ones I might need at the moment.]
***************
Labor rates / Travel rates
*****************
The Unit Charge Description - at present looks to be "freeform" - the user types in anything, there is NOT a prelist to choose from. Is this as expected?
[Yes, there is no preset lists of unit charge description anymore. I guess I could improve it with an auto suggst based on prior entries, I'll see if that's possible and make a note. It's all part of the changes internally to make records more "pliable" and less reliant on other records wehre possible]
******************
Sample data
******************
As of right now, every record is forced to have a tag even if I go in and delete all the tags on a record.
You can see this yourself by the following:
View any record such as a Part. Delete all of its tags. Save. You will see no tags. Exit out of that record (i.e. back to list). Go back into that record. You will see that at least one tag has BEEN AUTOMATICALLY added back, and its the same tag everywhere - i.e. zone2
[it's a bug, on the list, only happens on the Linux server, no idea why]
Sample data has multitutde of weird tags added, makes drop down selections really confusing as to what is actually used for or even how. Highly recommend NOT to add mulitutde of tags - sure MAYBE 1 tag or maybe 2 tags max. But NOT FOUR DIFFERENT COLORS AND ANIMALS AND ZONES. Its confusing as hell, makes every drop down list weird looking and confusing as the default "select list template" ALL default to showing the tag for each type of object. Can not use sample data as is for screenshots as its not obvious what all this colors animals zones relate to. Imagine a potential customer taking a quick look - and they drop down a list for Customers and there is the name "Kesslet LLC blue black indigo Zebra zone3 zone 8" - if me, I'd be WTF? can you imagine a potential client trying to figure out what is this? I'm trying to get useful screenshots as well as test and can't do searches or constructive actions as every friggn record has useless tags. I don't see a way remove ALL tags without having to go into every friggn record or using Extensions BUT CAN ONLY REMOVE ONE TAG AT A TIME FOR THAT TYPE OF RECORD ARGH. Painful and adds confusion to how supposed to use this. Yes I realize this is long winded, AND I highly recommend going through what and how is populated once get aspects done, so that sample data doesn't cause additional confusion and lost interest.
[Tags right now are for coding and testing, not evaluating, will be changing lots of eval data things before release]
**Tags applied to sample POs are confusing due to the multitude of colors and zones and animals - sample data even if weird, should follow actual use. Adds unnecesary confusion to the end user how actually would use Tags in AyaNova.
Sample data sure can be mass generated BUT has to be close to actual - otherwise ADDS confusion. Like "what the fuck is this - oh its a Vendor, why the fuck does it and every other vendor have a word and then a bunch of colors?"
I'd say this is something to COME BACK TO, i.e. go through what is populated in which fields for which types of records and code so that the sample data generated actually is helpful and not adding additional confusion.
[Tags right now are for coding and testing, not evaluating, will be changing lots of eval data things before release]
Is this as expected? - I noticed in sample data that in the inventory transactions it shows for example Purchase Order 14 created. BUT PO 14 ALSO at some time was received but there is no record of modification. Is this as expected in that this is ALL that is shown when a PO was created AND all parts received at the same time?
[Yes it's an unfortunate side effect of the tighter control now in inventory; the inventory object must set the transaction timestamp itself to preserve integrity (it prevents getting out of sync) and the way the data is generated it just seems to happen all at once even though there is a split second betwen things.]