889 lines
56 KiB
Plaintext
889 lines
56 KiB
Plaintext
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 6 - BETA "MAKE IT HAPPEN" 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
|
||
"Make it happen"
|
||
- Jim July 28th 2021
|
||
|
||
|
||
|
||
|
||
|
||
2021-12-10 STATS
|
||
223k lines of code+comments no blanks not counting testing projects
|
||
Languages: vue, C#, SQL, Javascript, JSON, markdown, XML, YAML, HTML, Batch, CSS
|
||
Platforms: Windows, Linux
|
||
|
||
|
||
|
||
|
||
Current priority getting to BETA
|
||
Prioritize anything that stands in the way of beta testing
|
||
|
||
|
||
|
||
TODO:
|
||
|
||
reporting issues
|
||
test restore the big db here privately and confirm
|
||
testing cases
|
||
#1 issues below in list
|
||
docs cleanup
|
||
features in immediate block below
|
||
|
||
|
||
# OUTSTANDING MAJOR AREAS TO BETA
|
||
|
||
- Features
|
||
TEST MODE
|
||
comment out or put in a debug block all
|
||
internal static bool AYANOVA_SERVER_TEST_MODE { get; set; }
|
||
internal static decimal AYANOVA_SERVER_TEST_MODE_TZ_OFFSET { get; set; }
|
||
internal static string AYANOVA_SERVER_TEST_MODE_SEEDLEVEL { get; set; }
|
||
|
||
trial / seeder system
|
||
For beta I don't think this is particularly critical, users will likely jump straight to migration anyway no matter what we tell them to do
|
||
docs
|
||
see docs section below for beta docs issues
|
||
Important to go through all existing docs and cleanup re-read every single page and put under construction if not ready yet
|
||
dashboard widgets
|
||
Not the highest priority for BETA but there shoudl be at least a couple so that feature can be tested also it shoudl at least replicate v7 stuff
|
||
Just enough an no more, this could be endless, come up with a top 5 or something and limit it to that
|
||
(this is also a very juicy v.next feature thing too)
|
||
Note that it *must* at minimum recreate the v7 dashboard stuff (but nicer and graphical)
|
||
personal upcoming events like maybe an "next 5 open work orders I'm scheduled on"
|
||
or a widget that is upcoming work orders that are a specific status (maybe, just speculating here)
|
||
|
||
|
||
- BETA tester docs on what and how suggested to test
|
||
|
||
|
||
|
||
|
||
|
||
|
||
# OUTSTANDING BEFORE RELEASE
|
||
|
||
- New website for v8?
|
||
- New forums for v8?
|
||
|
||
|
||
- Beta testing completed
|
||
this is going to be huge becuase users will find a million bugs and issues with how things work and it will be a big clusterfuck for a while so plan for time and patience
|
||
- Here switch from BETA to RC designation, let it soak for a bit before full release
|
||
- onboarding process for v7 users guide to migration and also including licensing and etc which requires figuring out pricing and shit
|
||
trial / seeder system
|
||
do not specify by size but rather scenario
|
||
we care about size for load testing but don't want to give impression we think HUGE is just a few 10s of thousands of workorders because it's a db issue at a certain point
|
||
Also NO time estimates in the UI, just make sure they are all a reasonable length of time to generate, like no more than 15 minutes or something, ideally less than 5 minutes
|
||
|
||
This should be coded by *task* rather than object to make life easier when we implement
|
||
i.e. a MakeWorkorderItemPartRequest task would go through the rigamarole of making a part request, a PO to fulfil it etc
|
||
or something along those lines, ideas fuzzy at the moment
|
||
maybe it's what is there plus additional Task based ones
|
||
maybe the UI drives it because we have specific ideas for that
|
||
|
||
- Plugin / addon replacements implemented and fully tested
|
||
qbi - 4alarm can't migrate until this is done
|
||
qboi
|
||
(if pt, well after release if ever)
|
||
??? others??
|
||
- Regression tests completed and ready to use *before* release so we can add issues to it as they come up and test reliably
|
||
- Rockfish licensing finished up
|
||
lots to do there but enough for trial and sales for now in existing is enough
|
||
one license redundant route also should be baked into initial release even if it points to same place for now
|
||
- Biz decisions
|
||
Share it product pages for v8 so can be purchased
|
||
pricing
|
||
When did we last raise prices? What date? What has been the amount of inflation since that date?
|
||
What can the market bear?
|
||
** Prices must be at *least* lastprice + inflation **
|
||
Simpler pricing, simpler licensing but higher to take into account the bits and pieces we will now include rather than optional
|
||
licensing
|
||
Need options for every plugin option etc, right now it's just made up accounting and rental shit
|
||
hosting offering
|
||
Initially we offer to setup and manage their server...or...do we rent a server for them adn run it ourselves and they pay us what we pay to d.o. plus premium for service, plus license rental?
|
||
i.e. self hosted licenses cost one amount, we host licenses are rental and another amount
|
||
is all self hosted perpetual for the license itself and support and updates is the recurring part?
|
||
or are some self-hosted licenses month to month because cheaper??
|
||
complexity is a fucker though so keep in mind too convoluted = a lot more work on our behalf so keep it simple as possible
|
||
ShareIt Purchasing pages on our site for raven
|
||
we might go with other vendors in future keep in mind
|
||
also accepting crypto?? (then fuck shareit in that case we don't need a middle man)
|
||
Export restrictions??
|
||
Since it's all open source now, are there still export restrictions??
|
||
canad ones maybe that apply to us?
|
||
Legacy area for v7 on release and new area for raven
|
||
forum for support squared away
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
## MISC ITEMS THAT CAME UP
|
||
|
||
Coded by importance
|
||
|
||
1 means before beta
|
||
2 means before release
|
||
3 means make a case for it for v.next
|
||
|
||
|
||
|
||
# INSTALL
|
||
|
||
|
||
██╗███╗ ██╗███████╗████████╗ █████╗ ██╗ ██╗
|
||
██║████╗ ██║██╔════╝╚══██╔══╝██╔══██╗██║ ██║
|
||
██║██╔██╗ ██║███████╗ ██║ ███████║██║ ██║
|
||
██║██║╚██╗██║╚════██║ ██║ ██╔══██║██║ ██║
|
||
██║██║ ╚████║███████║ ██║ ██║ ██║███████╗███████╗
|
||
╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝
|
||
|
||
|
||
- 1 todo: update the version of postgreSQL in the "single" standalone installer (but do it for myself first in my dev standalone pg server)
|
||
|
||
- 1 todo (may be done already I think?): apparently it's easy to pick an alternate folder for install in windows single and it fucks with postgres path so not sure what to do with that
|
||
maybe force the default installation location for windows single only so people don't fuck it up?
|
||
Or add a warning we *STRONGLY advise not changing the default location or you will need to change config.json
|
||
or, is it possible to write out the config.json from the installer and not include it as a physical file??
|
||
This way it can properly write out whatever paths necessary in single installer at least
|
||
|
||
- 1 todo: ideally installer should have a commented out jwt secret that wont' take effect but has text like "EDITME AND UNCOMMENT" or whatever
|
||
|
||
|
||
|
||
- 2 todo: test single liner upgrade command in linux:
|
||
sudo systemctl stop ayanova.service && rm *.dll && rm -r ./resource && rm -r ./wwwroot && unzip -o ayanova-linux-x64-server.zip -x "config.json" && sudo systemctl start ayanova.service
|
||
|
||
- 2 todo: subscribe to all sources of security vulnerabilities that could apply to users of AyaNOva 8 (and 7)
|
||
Need an ongoing defined process to follow to ensure we are not caught by surprise with any security vulnerabilities
|
||
Github watch and star all tools used for starters so get notifications via github about new releases etc
|
||
nginx
|
||
ubuntu
|
||
.net core
|
||
front end vue & libs
|
||
|
||
|
||
## DOCS
|
||
██████╗ ██████╗ ██████╗██╗ ██╗███╗ ███╗███████╗███╗ ██╗████████╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗
|
||
██╔══██╗██╔═══██╗██╔════╝██║ ██║████╗ ████║██╔════╝████╗ ██║╚══██╔══╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗ ██║
|
||
██║ ██║██║ ██║██║ ██║ ██║██╔████╔██║█████╗ ██╔██╗ ██║ ██║ ███████║ ██║ ██║██║ ██║██╔██╗ ██║
|
||
██║ ██║██║ ██║██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║╚██╗██║ ██║ ██╔══██║ ██║ ██║██║ ██║██║╚██╗██║
|
||
██████╔╝╚██████╔╝╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗██║ ╚████║ ██║ ██║ ██║ ██║ ██║╚██████╔╝██║ ╚████║
|
||
╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝
|
||
|
||
|
||
TODO: 1 DOCS MUST BE VERSIONED
|
||
put the release version into the index page of docs prominently e.g. "Version 8.0.0-beta.0.6"
|
||
This is because when code changes docs often will change and they must be matched so this is a way to check that
|
||
|
||
TODO: 1 BETA DOCS:
|
||
- *** IMPORTANT *** before beta go through *every* doc page one at a time and read through them for outdated stuff and wording that should not be public
|
||
|
||
- administration setup which should be mostly done but go over it and find missing bits that a beta tester will need
|
||
- MIGRATION docs, there *must* be a migration page and it needs to tie into the installation docs perhaps
|
||
- evaluation docs where it explains about trial license and requesting and generating data etc, just the basic process and why to do it that way
|
||
|
||
See Global Settings form for format for all feature pages
|
||
MOST IMPORTANT is the basic stuff about how to use forms and controls and stuff before getting into actual feature pages
|
||
this is because beta testers and users will probably already know about each object so the first thing is to get them going with basic usability docs if prioritizing
|
||
- Has pertinent cases
|
||
- ROLES need a completely full documentation or some way to view what is accessible for what maybe in code in the UI???
|
||
- Every form's docs should have a ##Roles section that outlines which roles get access to that form
|
||
|
||
There is no clear ROLES guide and we need one for sure. I like the idea of dynamically generated in the UI so we can change it and it's always accurate and
|
||
useful for us to ref as well, should have done it long time ago.
|
||
- Forms and controls
|
||
Every form help page should, at the top have a link to Standard form controls or How to use forms so user can move from any topic to how to use the basic controls etc
|
||
I guess in a section outlining the fields and menu options on the form there should be links to "Common menu options" and "Common controls" and common controls should have a link to how to use forms
|
||
common controls means Wiki, active, attachments, tags, names and their uniqueness etc
|
||
- Somewhere document that a login is good for 5 days from moment of login before needing to login again
|
||
WORKORDER docs page is just a placeholder, needs to be written for BETA or people will not be able to figure out basics
|
||
do the workorder and the links that go off of it like basic forms shit etc
|
||
CLEANUP, go through each docs page look for swear words, inside info, stuff that shouldn't be there and replace with UNDER CONSTRUCTION instead
|
||
|
||
|
||
-1 Somewhere document that a login is good for 5 days from moment of login before needing to login again
|
||
|
||
|
||
|
||
|
||
## MIGRATION ITEMS
|
||
███ ███ ██ ██████ ██████ █████ ████████ ███████
|
||
████ ████ ██ ██ ██ ██ ██ ██ ██ ██
|
||
██ ████ ██ ██ ██ ███ ██████ ███████ ██ █████
|
||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||
██ ██ ██ ██████ ██ ██ ██ ██ ██ ███████
|
||
|
||
- 1: change the installer to be named v8-migrate.exe and publish it to the new download/ folder instead
|
||
also update the version number to match the release, since it likely won't change much maybe just make it 8.0.0-beta.1 directly
|
||
|
||
|
||
## TESTING ITEMS
|
||
████████╗███████╗███████╗████████╗██╗███╗ ██╗ ██████╗
|
||
╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝██║████╗ ██║██╔════╝
|
||
██║ █████╗ ███████╗ ██║ ██║██╔██╗ ██║██║ ███╗
|
||
██║ ██╔══╝ ╚════██║ ██║ ██║██║╚██╗██║██║ ██║
|
||
██║ ███████╗███████║ ██║ ██║██║ ╚████║╚██████╔╝
|
||
╚═╝ ╚══════╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
|
||
|
||
|
||
-2 todo: check out this SPA memory leak detector, it *does* have a login ability btw in case it's not obvious, something about extras or ...?
|
||
https://github.com/nolanlawson/fuite
|
||
|
||
|
||
## REPORTING ITEMS
|
||
██████ ███████ ██████ ██████ ██████ ████████ ██ ███ ██ ██████
|
||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██
|
||
██████ █████ ██████ ██ ██ ██████ ██ ██ ██ ██ ██ ██ ███
|
||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||
██ ██ ███████ ██ ██████ ██ ██ ██ ██ ██ ████ ██████
|
||
|
||
|
||
---
|
||
- 1 issue: New reporting process is causing linux server to reboot with large reports
|
||
AyaNova is really fast at compiling the data and can produce more data than a 1gb droplet can render in well under 1 minute
|
||
This causes chromium to eat up all teh ram quickly adn triggers somehow not known how, ayanova to reboot without any log or issue
|
||
might be some kind of linux protection thing, not sure
|
||
|
||
I played with some settings and now it appears it doesn't just crash the linux server (at least I *think* so, getting bleary eyed with this) but does go to swap and then drag on forever and ever
|
||
the moment it has to swap it pretty much stands still
|
||
So now, with the current settings for chromium the timeout can once again take hold
|
||
on a 1gb droplet setting it to 1m max render time seems to catch all the out of memory swap conditions
|
||
|
||
todo: figure out the appropriate timeout and range that a 2gb droplet can handle (and maybe larger ones as well for completeness)
|
||
testing with service wo's dispatch report
|
||
See if there can be a "auto" setting for report rendering that will just limit the time based on ram
|
||
or maybe an override that will ramp down to 1m if it sees less than 2g free ram or some value (actually this makes the most sense right now, jsut limit if short of ram otherwise let them set it at will)
|
||
Find a sane default to go with, 5m is too low for my windows dev and 1800 records, it isn't swapping just time consuming so needs to be higher for that
|
||
|
||
todo: is there memory able to be freed up in getreport data as it's caching a lot during generation that could be used by rendering engine?
|
||
todo: are the reports fully efficient in memory usage and allocation?
|
||
sorting into second collection doubles size?
|
||
am I sending the data twice into the page (thought I saw that somewhere)
|
||
examine the dispatch report and see if there are efficiencies in memory usage / performance
|
||
|
||
|
||
TESTING INFO:
|
||
if select 500 wo it *will* try to complete but timeout so no crash there
|
||
memory definitelhy hits 99% on this one but doesn't crash just times out
|
||
|
||
bumped linux server to 2gb ram and was easily able to run 500 pages but it took 78% of ram to do it (I think)
|
||
1000 recs timed out at 5 minutes but didn't crash the server!!
|
||
|
||
1gb devops can run 200 pages of service wo dispatch in about 30 seconds without hitting swap
|
||
anything higher triggers swap
|
||
other reports are fine and go fast
|
||
I'm thinking 1m render timeout setting is appropriate limit for 1gb server
|
||
|
||
windev release run did 1000 recs in under 4 minutes, I think 3:40 or something
|
||
'' 1800 recs 1:38 to query and XX total to final render (timed out after 5:43 still churning away)
|
||
|
||
|
||
|
||
-----
|
||
|
||
|
||
|
||
|
||
- 1 todo: add the caching technique to *all* the other getreportdata methods as was done with workorder
|
||
|
||
|
||
|
||
|
||
|
||
## CLIENT MISC ITEMS
|
||
|
||
|
||
_____ _ _____ ______ _ _ _______
|
||
/ ____| | |_ _| ____| \ | |__ __|
|
||
| | | | | | | |__ | \| | | |
|
||
| | | | | | | __| | . ` | | |
|
||
| |____| |____ _| |_| |____| |\ | | |
|
||
\_____|______|_____|______|_| \_| |_|
|
||
|
||
|
||
|
||
- 1 todo: figure out why a wait display in clien tpage (printing for eg) causes the browser to go wild using up cpu cycles, like WTF is that about
|
||
animation, graphics, ???
|
||
Maybe I need to forego that for something more efficient to show waiting like a non animated or simpler thing
|
||
|
||
- 1 todo: server logs display needs a download option to just download the log file rather than copy it as a trace can be enormous and copy is pushing the limit
|
||
also it would be cool to be able to search it right on the page I guess browser search can do that... hmmm..
|
||
|
||
- 1 todo: Unlicensed doesn't allow any troubleshooting info, make sure that the user can still get to ops when unlicensed and view server configuration or whatever
|
||
is required to troubleshoot failed install
|
||
- 1 bugbug?:open vendor, print report, go back it shows as savable all of a sudden despite no changes made in UI, also does not give dirty save prompt when leave it even though save icon is showing enabled bold
|
||
- 1 fixed?? changed to attachment files path : for some reason user files path is blank in server settings under ops in ayanova app on linux desktop when using the single data path folder, check in windows
|
||
- 1 todo: First print if it's downloading or will need to download chromium it should state there will be a delay while it attempts to download and install chromium render engine
|
||
or maybe trigger it on first boot?
|
||
- 1 todo: firefox schedule fix: https://github.com/vuetifyjs/vuetify/issues/14243#issuecomment-944907925
|
||
this should fix on it's own with an update to vuetify which was just patched 2021-11-09 and not released yet
|
||
|
||
- 1 translation cleanup, work order sb Orden de trabajo but is translated as Pedido?! (which is very generic and not work order, usually like a restaurant order or online shipping order sense for pedido)
|
||
I did a couple but realized it needs to be done one by one roundtripped carefully as it's used in alternative tenses and forms throughout
|
||
|
||
-2 ops server information is missing some settings like report rendering max instances, go over the serverbootconfig settings and look for missing items to add
|
||
|
||
|
||
|
||
-2 Schedule, what is the maximum number of techs can show in team view, can show more with scroll?
|
||
seeder should prevent going over this max (tags/prefilter/gen less)
|
||
|
||
- 2 metrics ops page should show the little dots so know where to position the mouse to see the reading at that point
|
||
also, there needs to be more "dots", it's too few to get proper idea
|
||
also todo under server that metrics isn't really capturing the whole server metrics only the ayanova process metrics as far as I can tell
|
||
|
||
-3 hyperlinks in memos sb clickable to open in new tab or window or whatever
|
||
this supports help links in migrate and also user links like "take a look at workorder 55" with a link to it in the UI
|
||
recognize urls and make them actionable somehow
|
||
|
||
todo:2 notifications screen add delete all menu item that will just remove all the notifications present
|
||
Maybe a checkbox and delete selected and select all?? That way can also be a dual useful feature
|
||
also should delete *from* the client so that it deletes only what it has in view so user doesn't accidentally delete unseen yet to be delivered ones?
|
||
todo: 2 About page should show license and other expiration dates in local format, right now it's a UTC iso string :(
|
||
|
||
todo:2 need to track fetched keys vs used keys so can tell if fetched a key that I don't need or stopped using due to code change
|
||
|
||
todo:2 PO (workorder already done) strip all *viz fields from object before sending over the wire from client to server
|
||
Setting their value to undefined stops them being sent so do that, but remember they then need to be updated on the return record
|
||
PO I'm thinking is the main one??
|
||
|
||
todo:2 Not in love with the "Error api2200" as the only error text in the box
|
||
sometimes it has things you can't see in the form
|
||
ideally I'd like to see it have a string of text as a duplicate showing the errors translated in a list
|
||
in addition to each form field being set. This would cover our ass in case we missed a "general" or renamed a field or a wierd error
|
||
that we didn't anticipate, also more useful for the user to see at a glance what's what
|
||
If do this maybe consider adding a fixed height and scroll bar setting to the error box as it could get long but don't want it to fill up the screen
|
||
(maybe a "MORE INFO" button instead that warps the display in errorbox to the long form??)
|
||
At the very least make sure every raw error returned goes into the client log so can help with tech support when people need it without resorting to
|
||
making them open developer console to see the actual raw error. (if do this maybe extend the length of the error log as it's possibly too short to capture enough stuff this way??)
|
||
|
||
todo:3 when there is an errorbox error it's possible to miss it as it's at the top scrolled off screen and you can save as the appbar doesn't scroll
|
||
need more feedback, perhaps appbar turns red, or save button turns red or whole page has a color to it..??
|
||
Or maybe just as simple as an toast alert popup whatever it's called that temporarily shows the same error as is in the box at top
|
||
|
||
todo:2 reporting custom fields
|
||
Joyce ran into an issue with a custom field defined as currency adn wanted to use it in a calculation on a report but it presents as a string
|
||
Look into either a helper to ease that or more ideally it presents as the type that it's supposed to be pre-modified? (not sure of the implications)
|
||
Do I have a custom fields helper already? What does it do?
|
||
Maybe translated custom fields alongside the string version??
|
||
Users see it as currency would be just as confused as Joyce was expecting it to be a number
|
||
|
||
todo: 2? schedule form sync with ical, there's a case for it
|
||
|
||
todo:3 link back to list from single edit form
|
||
it would be very handy to have a simple link back to the list or back a level
|
||
on each edit form. If new record then it skips that and goes to list
|
||
so maybe a specific link to list, not just a back link
|
||
ideally accessible from the form, not two click by having to open menu, but
|
||
not sure about that, maybe in wide mode it could surface that from menu but in
|
||
narrow mode no shortcut because they could use the nav menu anyway and because fuck em, that's why :)
|
||
|
||
todo: 3 use <v-spacer v-if="!$vuetify.breakpoint.xs"></v-spacer> technique for any dialogs where small mobile view hides far right button
|
||
see home-schedule more info dialog for more info :)
|
||
This really means search for all the <v-spacer uses in client code and test that particular one in mobile and see if it's right side buttons are cut off or not
|
||
(can just test in 360px max in dev laptop)
|
||
|
||
- 3: tag cloud feature exposed to UI somewhere?
|
||
|
||
todo:3 make sure other datatable besides wo use form() rowError classes for consistency rather than self set in forms
|
||
see woitem / schedusers etc for example
|
||
todo:3 why the need for setErrorBoxErrors when setting the formstate errors already allows all the fields to pickup the errors for them
|
||
shouldn't the errorbox itself pickup it's own errors and elminate the need for this??
|
||
currently is: <gz-error :error-box-message="formState.errorBoxMessage"></gz-error>
|
||
maybe could be this?: <gz-error :error-box-message="form().serverErrors(this, 'generalerror')"></gz-error>
|
||
might even be a drop in replacement, should test, would reduce fuckery
|
||
|
||
todo:3 gzdecimal triggering dirty just by clicking into and out of a field witha value in it.
|
||
also, it sometimes shows without the decimal then with the decimal for editing then without, it's crazy
|
||
the decimal thing is probbly what's triggering the dirty change.
|
||
saw this when developing the wo form and testing scheduled users estimated qty field
|
||
todo:3 apierror showing in errorbox on validation error
|
||
this is too technical looking, needs to be cleaner for end users
|
||
maybe even a summary of errors for big forms showing property names and errors?
|
||
or at least say something like fields have errors or somesuch to guide them down into the form
|
||
small forms it's obvious but wo it's a bit ...actually still obvious, maybe just a cleaner line of text without the code looking stuff like "apiError" or whatever it shows
|
||
todo:3 generateMenu called on forms redundantly?
|
||
called for getdata, but also called in created in wrong place i.e. always rather than just when it's not a getdata situation due to already existing
|
||
|
||
todo:3 broken rules can't save should color save button red in addition to disabled some forms can't see what's what
|
||
todo:3 Any "Priority" type value in UI that has colors should use ayaFireAlt icon instead of round circle which is for minor status only
|
||
Flag is for major status like all of workorder
|
||
|
||
todo:3 double check main page boilerplate stuff is up to date 2021
|
||
https://www.matuzo.at/blog/html-boilerplate/
|
||
|
||
todo:3 form field customization add a "reset" feature to reset to default for when people fuck it up
|
||
basically just show all fields and remove the required from fields
|
||
|
||
todo:3 Seeding UI keep track of timing and later down the road when firmed up, provide estimate (average server will take):
|
||
2021-05-31 10:26:45.4801|INFO|Seeder|Small level sample data seeded in 27 seconds
|
||
2021-05-31 10:47:07.3417|INFO|Seeder|MEDIUM level sample data seeded in 2 minutes and 13 seconds
|
||
2021-05-31 10:56:04.9450|INFO|Seeder|LARGE level sample data seeded in 4 minutes and 17 seconds
|
||
2021-05-31 12:06:34.2680|INFO|Seeder|HUGE level sample data seeded in 24 minutes and 54 seconds
|
||
-3 case 3864 Joyce misc item - Layout improvement:
|
||
Summary (workorder overall) - looks like now can enter unlimited amount of text..... BUT if only using for four or five words, its still showing ALL this blank space across the entire screen
|
||
Tags - takes up entire row even though none or only one tag.
|
||
|
||
**Would like to discuss/recommend a way to have Summary field and Tags field reduced in size perhaps depending on amount of data
|
||
I.e. adjust size depending on what has been entered as in:
|
||
Tags - would rather see selection box width of single column (i.e. set it to show same as would show on a phone which is one column wide) without the screenwide lines and extra height showing now.
|
||
Summary - would rather show width of single column, only if multiple lines and/or # of characters exceeds xx then show extra height and width.
|
||
Custom fields - when set to Text takes up extra height. I understand that this is because of the "potential" text, i.e. that could have multiple rows etc. Is there ANY way to minimize these so only shows additional space IF actually used?
|
||
[#will look into it, not sure what can be done, the layout is pretty rigidly fixed within the UI framework to be able to work properly without conflict with the layout, but maybe there's something#]
|
||
-3 Attachment ui sucks for big upload as it just sits there apparently doing nothing with no feedback
|
||
todo:3 notification new bell alert count add to title so shows in task bar when not in view?
|
||
like messenger "(1)" "(23)" etc
|
||
|
||
todo:3 cleanup unnecessary use of a ayatype access inside the Methods of objects as it's now available in vue via main object,
|
||
e.g. where you see this: ayaTypes().XXXX you can replace it directly with this: $ay.ayt().XXXX and then REMOVE completely the ayaTypes() method in the vm of that object
|
||
|
||
TODO:3 if keep seeing slowdown typing in large text fields maybe check if it's running rules endlessly and slowing things down that way
|
||
profile?
|
||
a timer that delays processing until typing stops??
|
||
...................................................................................................................................................................
|
||
|
||
todo:3 reportClientMetaData in gzapi has DefaultLocale property in it which is just part of the language, can it be removed?
|
||
it might be buggy if there is no dash in the language? Is that a thing?
|
||
check at server how it's used
|
||
|
||
|
||
todo:2 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:3 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:3 Whats new in this release popup or link tied into the update process of the client??
|
||
how about a link in the About page to the change long on our web server instead?
|
||
|
||
|
||
|
||
todo: 3 Schedule form reporting?
|
||
could just default to regular reporting list, doesn't absolutely need to be a calendar at least at first
|
||
as long as it has all appointments consolidated in single list
|
||
Will need to support it at the server though, perhaps it bypasses normal report routes in some way
|
||
|
||
|
||
|
||
|
||
|
||
## SERVER MISC ITEMS
|
||
|
||
|
||
_____ ______ _______ ________ _____
|
||
/ ____| ____| __ \ \ / / ____| __ \
|
||
| (___ | |__ | |__) \ \ / /| |__ | |__) |
|
||
\___ \| __| | _ / \ \/ / | __| | _ /
|
||
____) | |____| | \ \ \ / | |____| | \ \
|
||
|_____/|______|_| \_\ \/ |______|_| \_\
|
||
|
||
|
||
|
||
todo: 1 VERY IMPORTANT test on windows where all paths have spaces, i.e. set the server data path to a location with funky folder names with spaces etc
|
||
confirm everything in raven that writes to disk still works, logging, backup, attachments, temp files served (reports) etc
|
||
|
||
TODO: 1 Log the startup folder for AyaNova and provide in all areas where you can view config because user may have trouble locating it on windows
|
||
|
||
todo: 1 When there is a rendering issue with chromium browser startup the server *must* log that to the server log, right now it just half-ass reports it back to the client only
|
||
this is because it was written expecting any error was a template error not a starting chromium error so need to look there in the exception handler
|
||
would rather not log report template issues to the server log but anything else structural should be
|
||
|
||
todo: 2 Log levels are all over the place at the server
|
||
After attempting to diagnose an issue I'm leaning towards save trace for when need to see sql and put all other shit above trace completely
|
||
the sql kind of eats up all the space, however I guess that's useful, but it's so huge it's concerning and hard to deal with
|
||
needs a ponder and decide what is best for tech support purposes
|
||
|
||
|
||
todo: 2 add an ops notification on server boot
|
||
this way can catch if the server is rebooting regularly in linux or iis when the processmanager restarts it
|
||
|
||
todo: 2 wrap this error in a debug build block before release:
|
||
2021-12-22 16:19:07.0290|ERROR|AyaNova.Biz.TranslationBiz|********* GetSubsetAsync problem: Duplicate keys: WorkOrderItemPartQuantity)
|
||
|
||
todo: 2 Test with expired key, can superuser login and no one else?? **CRITICAL**
|
||
Awaiting a raven license key generator first, currently do not have one, 404's in rockfish!!
|
||
todo: 2 rockfish generate keys for purchased licenses, the real deal
|
||
todo: 2 lost contact with db server notification message to be sent once to ops admin??
|
||
don't want too many but should notify
|
||
|
||
todo:2 Joyce case 3931 test restore of 4alarm data
|
||
Get a copy from Joyce on the red drive, it's about 5gb
|
||
write up how to do it if there are manual steps (there will be I guess but maybe there shouldn't be)
|
||
make sure it works one way or another
|
||
confirm it's really backing up everything
|
||
|
||
todo: 2 make priority / woitem / wostatus colors distinct from each other
|
||
whitecaps color scheme shale/pastel etc
|
||
Note: wostatus will be the default color source so concentrate on making that look nice and clean
|
||
change from strong primary colors to more faded pastel colors
|
||
maybe priority in primary and status of both kinds more muted but also in different ranges so no clash
|
||
i.e. no two the same color or even close between each so in theory you can see at a glance which is which
|
||
todo: 2 Server metrics don't seem to tell the story of teh overall server
|
||
i.e. when reporting is jammed up on linux and the server manager shows 100% cpu, inside the ayanova server ops metrics shows a much smaller number and responds
|
||
so it seems it's reporting only on ayanova's share of what is happening but if the overall server is bottlenecking we need to show that as well
|
||
|
||
todo: 2 make sample data appointments suitable for evaluation of calendar
|
||
spread throughout the day
|
||
right now a bunch are extremely close if not on the same time window for same wo
|
||
Nicer colors
|
||
use the whitecaps promo pastel colors for a more sophisticated look, i.e. don't take color from extreme full ffffffff but back towards gray with a bit of transparency thrown in would be nice
|
||
shale blue
|
||
make sure there are plenty spread near the current month outwards so that users will see stuff immediately when they open it
|
||
put them between 8am and 5pm
|
||
Set the calendar default to 7am for first appointment
|
||
todo:2 update to latest postgres portable and document how to do it as well or a link to how to do it
|
||
todo:2 clean up / simplify bizroles.cs at server for large objects like work order with same for all children (see quote for how it's done)
|
||
todo:2 this: 2021-07-23 07:04:06.0270|INFO|CoreJobLicense|TEMP TEST LOG: CoreJobLicense - result is: notfound
|
||
even with properly generated license?
|
||
need to look at rockfish for this one
|
||
todo:2 start testing with real licensing scheme ("notfound")
|
||
make sure automatic license updates work properly
|
||
todo:2 notify on server boot?? (general notify to admin user or whatever?)
|
||
or on shutdown?
|
||
todo:3 notify on user login?
|
||
todo:2 errors are inconsistent some use "error" some use "code" to mean the same thing
|
||
this is likely because "code" is used in the outer wrapper and "error" is used in the individual "details" validation errors
|
||
however it would be much cleaner if it was the same thing at all levels
|
||
Settle on "Code" only, change "error" to "code"
|
||
some things are producing {message:"blah",target:"blah",error:"blah"}
|
||
controller apierror
|
||
and validation errors are : {message:"blah", target:"blah", code:"blah"}
|
||
todo: 2 Should the database integrity check run as a regular job?
|
||
because a person could fuck up the db while the server is running and the server wouldn't notice until it tried to access a fucked up table
|
||
|
||
investigate: 3 hard cap on appointments brought back controlled by client in settings otherwise unusable
|
||
ideally centered around current date
|
||
applies to month view
|
||
force user to filter by tags if too much, i.e. truncated result with error so they can see it was limited
|
||
|
||
NOW
|
||
....
|
||
|
||
|
||
|
||
todo:3 is there a way to tell if other connections are being used to AyaNova db
|
||
like a utility or they are fucking around and it's affecting performance etc
|
||
Yes: The following query returns the active connections:https://www.postgresqltutorial.com/postgresql-copy-database/
|
||
SELECT pid, usename, client_addr
|
||
FROM pg_stat_activity
|
||
WHERE datname ='dvdrental';
|
||
Maybe this is a periodic housekeeping job??
|
||
|
||
LATER
|
||
......
|
||
|
||
todo:21 Changes to allow in place updates of server without erasing data:
|
||
(Note: this is a 1 due to probbaly needing some stuff in place (source language) *before* release or it will become a nightmare after release)
|
||
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:1 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:3 NOTIFICATION after the fact (PROBABLY JUST DOCUMENT THIS IS HOW IT WORKS)
|
||
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:2 GetWorkorderSerial/name from leaf nodes
|
||
traverse up the tree and fetch the serial number
|
||
once coded fixup in purchaseorderbiz::getasync MIGRATE_OUTSTANDING bit
|
||
|
||
|
||
todo:2 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:2 unit meter reading event?
|
||
|
||
|
||
TODO:2 //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:2 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....
|
||
might be that they don't need it but for consistency should check into it
|
||
|
||
|
||
|
||
|
||
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
|
||
|
||
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ 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
|
||
Also something new from the peachtree people, online edition of something or another, a guy asked about it the other day Nov 2021
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ 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: 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: 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
|
||
|
||
TODO: Docker HUB
|
||
if we can put AyaNova on Docker hub then many hosting providers have 1 click methods to instantiate it so that's a viable easy onroad for potential customers
|
||
e.g. digital ocean "app platform" https://www.digitalocean.com/products/app-platform/
|
||
also here separately https://marketplace.digitalocean.com/
|
||
|
||
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 the 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
|
||
"EVERYTHINGS FINE!!!!!!!!" song bleeding etc
|
||
BOC - cities on flame
|
||
MID CENTURY MODERN TUNES - https://www.allmusic.com/album/ultra-lounge-vol-14-bossa-novaville-mw0000024024
|
||
|
||
|
||
|
||
|
||
#######################################################################################################################################
|
||
|
||
https://www.ayanova.com/download/ayanova-windows-x64-single-setup.exe
|
||
https://www.ayanova.com/download/v8-migrate.exe
|
||
Current v8 docs home: https://www.ayanova.com/docs/
|
||
|
||
BUILD 8.0.0-beta.0.6 CHANGES OF NOTE
|
||
|
||
- fixed bug in history that would bomb if a taskgroup name needed to be displayed
|
||
- many minor changes to support e2e testing
|
||
- new download urls case 4053 for details
|
||
- new docs folder hosting current version of v8 docs https://www.ayanova.com/docs/
|
||
this is for our use so don't need to spin up a server to view the docs but will likely be the permanent url for v8 docs once all is done
|
||
I have coded everything so that users will go to their *own* server's docs page not our server when they want to read docs to save us traffic etc
|
||
however we will need a static place for docs when we post them on our site for explaining specific situations or when emailing someone a help link and that's what this will be for
|
||
- fixed query bug in workorderlist AGE column incorrectly calculated
|
||
note that it may or may not be daylight saving time aware, I'm not sure at this point as it depends on a lot of 3rd party stuff between os's and postgre etc
|
||
but history will be on our side in any case as most places will be getting rid of DST at some point so it won't matter then.
|
||
It's potentially possible that it's age is out by an hour if there is a DST change between now and when the wo was created
|
||
Note that this AGE value is not used for anything other than displaying to the user so it's not going to break anything if it is out by an hour in some cases.
|
||
- Added caching to workorder report viz field resulting in a 160% report rendering speed improvement in a test of 100 workorders
|
||
- Added caching to pm, quote report viz fields (more to come later)
|
||
- fixed "Service Dispatch" report template that had a duplicate translation key in it: "WorkOrderItemPartQuantity"
|
||
(note you can check for this during report development by looking at the server log which will show the following error when the report is rendered:
|
||
2021-12-22 16:19:07.0290|ERROR|AyaNova.Biz.TranslationBiz|********* GetSubsetAsync problem: Duplicate keys: WorkOrderItemPartQuantity)
|
||
- Removed AYANOVA_REPORT_RENDERING_SLOTS setting, no longer required
|
||
now there are infinite slots available, no limit as this was never the issue and the timeout changes below will automatically take care of any
|
||
report rendering that is in progress for too long and will if necessary kill the chromium process
|
||
- Changed how AYANOVA_REPORT_RENDERING_TIMEOUT setting is used and interpreted
|
||
- setting is now in minutes not milliseconds
|
||
- docs updated to reflect how it works
|
||
- this setting is now an overall timeout for the entire report rendering process, will stop any processing if it goes over this limit and return an error to the user, see docs for more info
|
||
- New automatic server job added that checks every 5 minutes for stuck report rendering processes (ones that went over the AYANOVA_REPORT_RENDERING_TIMEOUT setting) and terminates them
|
||
- changed display message and help link at web app end for when a timeout happens with clear docs on what to do
|
||
- Default settings for time out are a best guess by me and we should figure this out as we run into it until we have a sane default for most people as the ultimate release value.
|
||
For now I'm defaulting to 5 minutes timeout for report generation and hard caps of no less than 1 minute and no more than 15 minutes no matter the setting people use
|
||
Let me know if 5 minutes is not a high enough default or 15 is not max enough as you test it out
|
||
It should be as low as possible to run all stock reports with reasonable amount of records but no higher as it could easily eat up all available memory if people go crazy with it
|
||
- Added stock report templates from 20211223additionalreporttemplates.zip
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|