1375 lines
85 KiB
Plaintext
1375 lines
85 KiB
Plaintext
todo: MARKETING MASS EMAIL
|
||
|
||
- Make email message targetted at active v7 customers
|
||
- *******#################### VERY IMPORTANT BEFORE SENDING EMAILS TO ANYONE CLEAN OUT CERRTAIN EMAILS
|
||
Specifically those that have trialed already and are not upgrading, those that have purchased
|
||
|
||
|
||
--------------------- AyaNova 8 is released -----------
|
||
We are excited to announce the release of AyaNova version 8!
|
||
|
||
AyaNova 8 is a completely new version of AyaNova with many new features and improvements.
|
||
|
||
|
||
Thank you!
|
||
|
||
First of all a big thank you goes out to all our AyaNova 8 testers and everyone who made so many suggestions for changes and improvements that went into AyaNova 8.
|
||
|
||
|
||
What's changed?
|
||
|
||
We have an overview of the major changes from AyaNova 7 here:
|
||
https://ayanova.com/docs/ay-start-changes-from-v7/
|
||
|
||
|
||
AyaNova as a service now available
|
||
|
||
We are also excited to announce AyaNova is now available as a service in addition to the self-installed option you're familiar with now.
|
||
If you have been considering reducing your in-house hardware and software requirements, hosted AyaNova may be a good option for your business.
|
||
|
||
|
||
Can I try before upgrading?
|
||
|
||
Yes absolutely! AyaNova 8 is different software from AyaNova 7 and you will want to try it out fully and familiarize yourself and your staff with it before upgrading.
|
||
We have a guided tour that will take you through that process in the shortest time possible here:
|
||
https://ayanova.com/docs/tour-bootstrap-intro/
|
||
|
||
|
||
Do I have to upgrade now?
|
||
|
||
While we recommend upgrading to AyaNova 8 as soon as possible to take advantage of all the new features, we understand not everyone
|
||
will be able to use AyaNova 8 right away and we will continue to support AyaNova 7 as long as it's practical for us to do so.
|
||
|
||
Our existing AyaNova 7 web content and forum are still available - select "AyaNova 7 content" from the "Resources" menu option on our website:
|
||
https://www.ayanova.com
|
||
|
||
|
||
Is AyaNova 8 included with my AyaNova 7 subscription?
|
||
|
||
AyaNova 8 is a major release upgrade and not a free upgrade with an AyaNova 7 subscription however:
|
||
|
||
- license pricing has been reduced as part of our licensing changes (see the Changes from AyaNova 7 guide link above for details)
|
||
- discounts are available for existing AyaNova 7 subscribers, contact us when ready to purchase for your discount coupon
|
||
- previously optional add-on's are now included now with AyaNova 8 further reducing the cost
|
||
|
||
AyaNova 8 pricing is posted on our website: https://www.ayanova.com/r/pricing.htm
|
||
|
||
|
||
Questions?
|
||
|
||
As always if you have any questions please reach out to our support department
|
||
https://contact.ayanova.com/contact
|
||
|
||
|
||
Thank you for your support!
|
||
|
||
|
||
---------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- Make email message targetting lapsed subscription customers
|
||
- Make email message targetting OLD SALES customers (these are pre-v7 subscription)
|
||
- Clean out any trialsers who already tried v8 and didn't like it from any lists
|
||
Just go through the trial requests list and should spot the ones easily (morrow etc)
|
||
|
||
- Send out slowly in groups, like very slowly, probably it's better to email current customers first since they are most affected
|
||
- then lapsed subscribers
|
||
- then old sales (ACTUALLY, these could be sent out at any time really, they are not super high priority, though they might be the most time consuming...hmmm)
|
||
|
||
todo: Plan for multiple trialers wanting online trials, i.e. need to consolidate them into fewer servers?
|
||
costs us 8 bucks a month for a minimal server one week trial is allowed so 2 bucks a week cost to use for each one to test out
|
||
|
||
todo: Google clicks, marketing etc
|
||
|
||
|
||
|
||
|
||
|
||
todo: postgres 15 case 4214
|
||
|
||
|
||
todo: NGINX 502 bad gateway message while booting, can that be changed to say booting up or ayanova is starting or something??
|
||
|
||
todo: Welcome aboard email for subscribers with critical info:
|
||
- Backup responsibility and links to backup
|
||
- Server maintenance windows for each location (actually can just give a time window as they all fall outside of work day)
|
||
- link to service agreement
|
||
- Subscribers need to know taht their server will be rebooted daily if and when security updates come in
|
||
need a system to handle that or a day of the week to handle that, maybe a preferred time or ...?
|
||
Do we just notify them a day in advance and do it or...?
|
||
could raven know if the host server is about to reboot i.e. shutdown -r [xxminutes] it reads it from the OS and displays to the users?
|
||
|
||
|
||
https://www.postgresql.org/about/news/postgresql-15-released-2526/
|
||
even if not recommending it to users need to test against it as no doubt some will just install and also maybe hte script we link to in install
|
||
autoamticaly installs this now?
|
||
|
||
|
||
|
||
#####################################################################
|
||
TODO:Clean up this document from here down and re-organize / prioritize
|
||
|
||
todo: clean up solutions.txt and research.txt and move into a consolidated coding focused how-to.md doc
|
||
|
||
TODO: Move all items here into cases, basically clean out entirely this document so it's more like a current todo only
|
||
|
||
- subscription licensing and terms, I have some links somewhere to good examples
|
||
CRITICAL! Needs to be in place with wording on reasonable use etc to protect us etc
|
||
- subscription process info to request how to go about it, improvements to manual process
|
||
time zone, dbid, customer name, subdomain name
|
||
Subdomain allowed characters: a-z 0-9 - (dash) but not as a starting or ending character
|
||
- subscription trial length is maybe too short
|
||
it's traditional for many saas offerings to have a free intiial period that is turned into the full paid for and it's often 30 days
|
||
is there a cheap way to do that or do we eat 7 dollars every time?
|
||
I'm thinking if have a bigger server just for that and put multiple on it to save money?
|
||
maybe devops upsized?
|
||
How many eval droplet servers before it becomes cost effective to go dedicated or bigger single?
|
||
- Subscription being able to restrict total attachment and backup size
|
||
maybe a fixed volume for all data i.e. the db data, attachments and backups
|
||
So make a fixed volume put all data in there and then try resizing it to simulate when people pay for more size
|
||
- Pricing finalization, current idea is NOT right
|
||
Think of it like minimum revenue per customer regardless of size and move backwards from there
|
||
Go with volume, i.e. cheap and more customers less hassle overall that way, lower expectations
|
||
cheaper sub licenses with a minimum license count to cover costs and profit will entice more people
|
||
figure out the cost per customer for a minimal droplet and handlnig processing and work backwards
|
||
- get costs for v8 subs, come up with a price for now and move on from there.
|
||
what deal for v7 people i.e. discount or pro-rate it with a free month or something?
|
||
once have prices fixup the product sales links, test them and confirm ready to go
|
||
- If I want to get really cheap for singles I could put multiple on a single droplet?
|
||
Perpetual is it's own thing but do it after working out subs because they are interrelated and subs are the future
|
||
perpetaul should be cheaper but not a lot cheaper, we really don't want perpetual sites as they are a can of worms for support
|
||
Perpetual Support vs subscription costs is a thing,
|
||
perpetual requires more complex time consuming support, not only feature support but also all the server scenarios support
|
||
Perpetual has no ongoing costs other than support and payment processing
|
||
subs are identical and easire to manage with just usage support so less support than perpetual
|
||
subs have ongoing monthly fixed costs
|
||
Hard drive space pricing needs to be listed and available for purchase
|
||
|
||
|
||
|
||
|
||
|
||
|
||
todo: investigate install docs for ayanova on linux and ensure it doesn't conflict with fact that package manager is now used for newest ubuntu:
|
||
As of Sept 2022 ubuntu 22.04 installing .net is done form package manager:
|
||
`sudo apt update && sudo apt -y install dotnet6`
|
||
|
||
Maybe a line about using package manager to install .net runtimes or check with this link to microsoft docs to install from microsoft packages if necessary
|
||
|
||
todo: Rockfish manual flesh out hosting, building, deploying basic license ops like how to extend a trial properly, etc etc
|
||
also, add a timeline todo schedule to it so can just refer to what is a normal business cycle thing to be done, i.e. subscription notifications every week manually backup configs once a month etc
|
||
|
||
|
||
todo: Uptime monitoring for customers servers, going to need something, can't be checking them all manually
|
||
Need a tool that can alert me automatically if a server goes down, is unavailable (healthcheck ping built in don't forget), is running out of resources etc
|
||
would be handy if it could use the d.o. api to automatically cycle through all the subscription servers and report if anythign is out of whack or getting critical
|
||
a nice dashboard would be handy too but I'll take any kind of pro-active alerts
|
||
Note: "dogfood" it by including devops and our own infrastructure
|
||
digitalocean has an uptime monitoring service that may be useful or may have useful ideas
|
||
https://www.digitalocean.com/products/uptime-monitoring
|
||
https://docs.digitalocean.com/reference/api/api-reference/#operation/monitoring_get_dropletFilesystemFreeMetrics
|
||
|
||
todo: research stuff below, then website stuff and move on
|
||
|
||
|
||
L8ER >>>>>>>>>>>>>>>>>>>>
|
||
|
||
|
||
todo: Ongoing, document this as a process to regularly follow for back and front end, make a case then into howto I guess
|
||
MUST be done before next major dependencies update
|
||
# Security checks and tools
|
||
|
||
|
||
## NPM
|
||
https://snyk.io/blog/ten-npm-security-best-practices/
|
||
https://docs.npmjs.com/cli/v8/commands/npm-audit
|
||
|
||
npm doctor
|
||
npm audit
|
||
|
||
## Nuget
|
||
|
||
https://docs.microsoft.com/en-us/nuget/concepts/security-best-practices
|
||
dotnet list package --deprecated
|
||
dotnet list package --vulnerable
|
||
|
||
|
||
|
||
todo: shareit once we know the optional add-on's people can buy for subscription need prodcut pages with shareit to actually sell that shit
|
||
and also options in rockfish so it displays in the license, in fact rockfish should allow quantities with the options but currently doesn't which is just wrong
|
||
|
||
todo: can user use erase key flag to get trial and then use trial for 5 days and just keep on doing that or isn't there a check to erase db first??
|
||
needs some way to ensure this doesn't happen, maybe a user check or something or some sign it's not eval??
|
||
|
||
todo: maintenance plan agreement? SB something in the license docs I guess since it differs, also license text will need to be chagned as it is on assumption of built in maint before
|
||
Here is autodesks maintenance plan agreement page: https://www.autodesk.com/company/legal-notices-trademarks/autodesk-terms-and-conditions/eng_autodeskmaintenancesubscriptiontermsandconditions
|
||
|
||
|
||
|
||
todo: on ops server info page show main disk usage of db, attachments free memory in plain text unlike the metrics which are fucking useless
|
||
also non-ops page like where the admin can view it for SAAS
|
||
or maybe we need an SAAS control panel for regular admin users!!!!
|
||
this makes sense shows usage and licensed options to match etc
|
||
so they know where they stand
|
||
|
||
|
||
|
||
|
||
todo: License agreement changes for SAAS customers, this is huge and I hadn't thought of it before, wording is very different in this case, fuck, need to wing it I guess
|
||
https://flgpartners.com/saas-pivots-transitions-perpetual-to-subscription-saas-models/
|
||
needs to be available separately in docs
|
||
Needs a disclaimer about the right to refuse service if becomes too high usage i.e. subject to usage limitations to cover our ass and check with D.O. how to clamp that from going into expensive territory for us?
|
||
We also need to mention we will size their servers to adequate work load or whatever meaning we will put them on the smallest cost server that will sustain their needs.
|
||
|
||
|
||
|
||
|
||
todo: if SAAS needs to do some things differently:
|
||
SERVER - much smaller attachments max size, right now it's set to huge as possible but we need to cap that shit hardcore
|
||
SERVER - Ability to set a maximum attachment size
|
||
SERVER - hide any info about the droplet technical stuff like ram and ops stuff, we don't want them to have an idea how much memory they can have, or do we?
|
||
maybe it's a plust because we can say you get a maximum storage for attachments of XXGb based on droplet size and it's an add-on to go with a bigger server??
|
||
Because some people need it and will pay for it if it's offered.
|
||
YES hide all ops but for ops users or us whatever we need though I guess we can just api our own UI for it
|
||
They should have an easy way to see storage
|
||
SERVER - how to cap bandwidth, storage, whatever we get billed extra for from d.o.
|
||
YES Needs to cap and not allow attachments and warn when getting low on disk space, we're probably ok with db size and can just eat it, who will even get near the capacity for that, it's the attachments that are the bugger
|
||
CLIENT - NEEDs to report that a new version was installed to the user with link to changes when we publish a new version so they can be made aware
|
||
|
||
|
||
todo: each droplet for SAAS would need it's own ssh key and password to avoid eggs in one basket security scenario
|
||
also would need to securely store the passwords somewhere really really fucking secure like offline in a special keypass only accessible from certain hardware maybe with a digital key or something I dont' know
|
||
Look into security keepass with utmostness and not shared online anywhere so sneakernet only
|
||
|
||
|
||
|
||
|
||
- NEW WEBSITE flesh out the framework and post as an alternate v8index.htm intrey portal so can fully make it without affecting v7
|
||
|
||
###### DISCOURSE SITE IS NICE AND CLEAN MAYBE A TEMPLATE FOR US:
|
||
https://www.discourse.org/pricing
|
||
|
||
get the live test server stuff worked out too in advance
|
||
sb triggered from a route to make things simple and so client / website doesn't need to do too much
|
||
Try it on a phone, it looks shitty on my phone the images are way too small
|
||
I need to rethink the website images
|
||
also it needs a summarizing paragraph at the top with links not just jump right into features
|
||
|
||
After viewing a bunch I think I need a few focused feature blurbs with single not combined images with map, calendar and other basic shit in there but not too many instead a paragraph with features listed in text with links to the manual
|
||
I.E. not too much stuff on the hom epage.
|
||
|
||
So many competitors are selling credit cards, payment processing all manner of weird shit I guess for extra revenue, maybe people see that and go wtf, couldn't hurt to say something alluding to that
|
||
Service management software. (no credit cards or other funkiness) we sell software not credit cards or whatever sounds good
|
||
Images need to be clickable to zoom in on them figure out how to do that hopefully bootstrap has built in thing
|
||
Needing pricing and plans to be broken out by type maybe with a calculator to figure price
|
||
NOTE: for the new website when marketing the plans Subscription vs perpetual etc there is a lot of useful ideas in the links I've been using for pricing to get some text content for the pages to help people choose.
|
||
i.e. https://www.linkedin.com/pulse/basic-differences-between-saas-subscription-perpetual-frederic-hanika
|
||
"What other reasons would a customer have to use SaaS or ask for a subscription instead of a perpetual license? Well, a very often-observed point is frustration with internal IT that has very long delivery cycles and are usually themselves very restricted by internal budgets and, hence, cannot deliver new functionality short term. Another large point in favor of a subscription contract from the customer perspective often is to avoid lengthy capital expenditure approval processes. Subscriptions can be and hence usually are priced to fit into the budgets of departments, which means the decisions can be made there and don’t need to be funneled into complicated corporate approval processes.
|
||
How does this impact the software vendor on the other side? A shift in buying power from central buyers to more departmental buyers, the need for more business and solution oriented sales approaches and usually much shorter sales cycles."
|
||
|
||
|
||
This wording is nice and to the point: "What is Field Service Management? Field Service Management by GPS Insight is a work order management software that helps businesses create work orders,
|
||
monitor employee locations, handle customers, track leads, and more from within a centralized platform. Staff members can utilize the built-in calendar to schedule daily, weekly, or monthly jobs
|
||
based on service location and employee availability."
|
||
-
|
||
I'm seeing a lot of maps in the images on the sites, maps, calendar views etc, usually a single image that scales well in each blurb section so I think I need to rethink it
|
||
|
||
todo: after website up submit manual sitemap generated by mkdocs to google to be crawled https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap#addsitemap
|
||
|
||
|
||
|
||
todo: TRIAL subscription server speeding up initial deployment.
|
||
Can use a Userdata bash shell script to automate all initial tasks and speed things up greatly, just paste it into the right box on server creation:
|
||
https://docs.digitalocean.com/products/droplets/how-to/provide-user-data/
|
||
Utlimately though an api method is teh way to go so that it can do *everything* pretty much in code like spin up the server and initialize all the software, set the firewall config, request the ssl key etc
|
||
|
||
todo: check again, can I use a wildcard cert with multiple servers or just for one server (ip address)
|
||
even with one it might be helpful for the test server if I consolidate to one.
|
||
IF ON ONE SERVER OR MINIMAL NUMBER THEN THIS IS IRRELEVANT
|
||
|
||
|
||
|
||
|
||
todo: BIG PICTURE - NEXT
|
||
|
||
Overview:
|
||
Focus on migrating existing users first before anything else
|
||
Critical path items for onboarding existing v7 people:
|
||
New pricing determined
|
||
New purchase product codes in shareit DONE BUT NOT TESTED YET
|
||
License subscription process plan to migrate users
|
||
coupon issued to equalize pricing but renewals will be higher
|
||
They must purchase the new v8 subscription and cancel the v7, no way around that I can see
|
||
End result is want the user to pay nothing or very minimal now but renew higher later
|
||
Rockfish is already ready for them
|
||
Live eval system, probably manual for now spin up server keep several in rotation.
|
||
Announcement and messaging
|
||
Message to users
|
||
"Released officially, over the coming weeks will transition website, forum etc but you can migrate now"
|
||
Need careful plan about supporting v7 but no guarantees message
|
||
We don't want them to bail out prematurely so assurance they can keep going but we aren't updating and may come a time when we can't make it work anymore
|
||
'we understand you may not be able to upgrade now, we will continue to support v7 for the time being as long as it's possible to do so but no new feature will be added to it and v8 is here for you when you're ready'
|
||
New website
|
||
Static pages not razor site, but use razor in rockfish sprinkled in where need dynamic stuff
|
||
would it work as a mkdocs site? Because that gives a bunch of stuff automatically like searching and proper links and etc
|
||
new home page for v8 and put all v8 under a fresh path
|
||
"Affordable", "Powerful", "Trusted", "Flexible"
|
||
During dev make a v8index.htm and /r/{allv8pages} sub folder of static pages
|
||
only rockfish will be razor app and will link to sections of it as required for any dynamic code stuff required
|
||
But keep /download and /docs for simplicity's sake
|
||
SEE DiSCOURSE SITE: https://www.discourse.org/pricing
|
||
|
||
New rockfish
|
||
rzor pages site with support for customer facing stuff like evaluation servers, making purchase etc
|
||
Should the license server be split out into it's own app separate from customer management?
|
||
i.e. minimal footprint does one thing only, doesn't see main db just has the current license available for each site??
|
||
I like the idea of just a folder with static files in subdirectories of the license key dbid with only one file, the latest license in each one
|
||
The keys are signed anyway it doesn't matter where they are or how people get them just as long as they can't sign them themselves, this would be more ideal if the signature is done here offline maybe??
|
||
AyaNova 8 is already coded to check for license server in this order:
|
||
private const string LICENSE_SERVER_URL_ROCKFISH = "https://rockfish.ayanova.com/";
|
||
private const string LICENSE_SERVER_URL_IO = "https://io.ayanova.com/";
|
||
private const string LICENSE_SERVER_URL_EUROPA = "https://europa.ayanova.com/";
|
||
private const string LICENSE_SERVER_URL_CALLISTO = "https://callisto.ayanova.com/";
|
||
And the ayanova.com server nginx file is configured to point all those domains to rockfish automatically and confirmed working
|
||
This means that I can use the alternate urls to replace rockfish on the fly without breaking license access
|
||
Can point to new rockfish and if it's down will autmatically go to other servers in order
|
||
Ideally they should ultimately be all their own droplets in separate regions that license keys get pushed to automatically so users can fetch their keys regardless of who is down
|
||
|
||
|
||
|
||
|
||
New forum pages
|
||
Deprecate v7
|
||
OLD WEBSITE
|
||
because there are so many old links in v7 and docs that would need to be changed which would be endless fuckery instead just guide new people to new location
|
||
rename old index.htm to index-v7.htm put a link to it on the new index.htm "Looking for older AyaNOva 7 click here -> {link to index-v7.htm}:
|
||
On each old page put a link to the new pages or just to the new index for v8 so people who stumble there from searching for shit can be smoothly directed to it
|
||
"This web page is for a legacy version of AyaNova, for the latest version click here {link to index.htm or equivalent page}"
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
todo: QBOI deprecation
|
||
BUT...this is probably going to be needed for future again so keep on back burner
|
||
YES: EVERYONE OF OUR COMPETITORS THAT HAS ANY QB HAS QBONLINE it's the desktop that is rarer
|
||
done: QBOI removed from website except still in docs and in trial installer
|
||
done: Product is set to inactive with ShareIt, no one can buy it now
|
||
OUTSTANDING: I will need to remove it from the AyaNova installer completely
|
||
or maybe not since we will be hiding the v7 download when new website goes up anyway so... :shrug:
|
||
OUTSTANDING:
|
||
There is one single active QBOI user "PITI" Pro-tech IT.ca and they just renewed QBOI so The earlier the better to notify him if it's officially discontinued
|
||
His QBOI expires 2023-04-18
|
||
Email him and say we will be discontinuing support for it on XX date and that we will be supporting desktop quickbooks only
|
||
If he wishes to switch we will give him a free desktop QBI initial subscription for one year and then regular renewal price afterwards
|
||
|
||
|
||
|
||
todo: licensing and pricing
|
||
v7 users will use v7 "legacy" licenses
|
||
todo: rename v7 licenses everywhere and in shareit to include "legacy v7"
|
||
The Chilkat bundle purchase had an interesting thing: within 3 months of an active support and updates subscription users can purchase the subscription again at the discounted price
|
||
if more than 3 months then full price
|
||
v8 users will need a new v8 product code and license for v8 specific
|
||
todo: make new v8 license products in shareit
|
||
v8 AyaNova sched user license key with discounts built in using discount feature beyond 10 so 1-10 pay this price, 10-?? pay this price etc
|
||
maybe see what we sold in the past as guidance to how many levels to go
|
||
todo: figure out what to do with existing users and pricing and system etc
|
||
we will make the price the same for the first year so they can continue their subscription at the current price
|
||
can I move people to the new license at no charge in shareit but then they pay for renewal the new higher or whatever price?
|
||
can it be done in advance before their v7 expires?
|
||
Maybe couch it in terms of they must purchase a v8 subscription but we will give a coupon code to make it balance out?
|
||
Or do we say v7 is dead as of xx date, v8 will be the new thing and we will give a deep discount to purchase and be on v8??
|
||
|
||
todo: sunset v7 upon the moment of v8 release
|
||
email protech it and explain qboi situation
|
||
move the site to legacy subfolder (search and replace links that point to root url to subfolder url)
|
||
inform all v7 users that we will be moving v7 to legacy support mode,
|
||
offer them a link to test convert to v8 (manual link to v7 migration pages)
|
||
offer them a coupon for a discount to purchase the v8
|
||
no new updates in v7 version, all new updates will be in v8
|
||
carrot / stick
|
||
v7 users will get a deep discount to go to v8 (initial purchase) but then renewals will be regular v8 support and updates price
|
||
|
||
|
||
todo: LIVE EVAL NOTES
|
||
CURRENT PLAN:
|
||
Have one or more live trial servers that are pre-licensed and are automatically regenerated every day at midnight, all powerful trial accounts are disabled automatically, users can try it out with thier own creds on the fly from
|
||
new AyaNova website which will redirect to each server on some basis to load balance
|
||
initially likely one server but plan for more than one
|
||
Actually: have multiple servers load balance by last regenerate time so that each server is on a different sched so each user gets the most time before regens again
|
||
use CURL and a script called daily to make the api calls required to regen the db clean at midnight or whenever fewest likely users
|
||
changes all sample user creds so they won't use known passwords
|
||
ACTUALLY: maybe a undocumented route specifically tailored for this? or is that dangerous to have??
|
||
use the new AyaNova website RAZOR forms to make api calls to create a user on the fly for dynamic testing live, creates a user account then redirects them to it
|
||
offers language and roles but they can't have full rights to fuck up the data or other users so no bizadmin I guess or read only bizadmin
|
||
if possible fills in the creds for them too?? Maybe the client needs to be updated to check for creds params when going to login page to pre-fill!!!
|
||
|
||
OLDER NOTES
|
||
make a live eval mode for AyaNova 8 so that it generates data safe to post for people to try out, a live copy that can be regenerated on a daily schedule
|
||
I want to be able to set up a live test server so people can go try it now without breaking anything
|
||
able to make new reports but not modify existing ones?
|
||
ideally when the server is rebooted it automatically regenerates fresh data every time from config file setting (which is not logged)
|
||
no access to manager account, i.e. some kind of hidden password not available
|
||
no ability to create a user with rights to regenerate data or fuck with sample users
|
||
This should be an external app or route that makes AyaNova api calls to set up for this purpose
|
||
This can then create users, apply a license, erase db, regen data, whatever it needs to do
|
||
It should do it from our website, or on a timer?? Hmmm...
|
||
Can I make automated api calls from a script or I guess a script that calls an application that makes the calls??
|
||
pass it the path and etc
|
||
or maybe a built in job in the server that runs if it's in some xx mode boot flag so daily it erases the db and does shit automatically
|
||
Erases db at midnight every day "kiosk mode"
|
||
cleaner though if it's called externally and uses api calls...hmm...
|
||
then no built in job
|
||
Maybe even CURL could do it?
|
||
just provide a licensed AyaNova with a long lasting license key for it then use curl called from script to handle regen and user creation and removal
|
||
Yes it appears it can: https://linuxize.com/post/curl-rest-api/#authentication
|
||
so curl with a script called at midnight can run the AyaNova trial
|
||
Figure out how we can offer it for testing online? (see above)
|
||
1 day only, user picks day, we spin it up for that day then down the next morning
|
||
beef up devops only if we start getting requests and do it on the first request, go to 4vcpu 8gb $48 monthly level
|
||
hosted instances spun up on a single server devops (beefed up)
|
||
round robin time limited licensed keys??
|
||
prevent migration?
|
||
UPDATE: let's face it, it won't be that many people, just make a special data generation that will prevent admin tasks that will fuck other users and offer it live
|
||
for anyone to use in "kiosk" mode or live trial mode?
|
||
Issue will be logging in with unique id, maybe a front interface that logs user in by creating creds via api, they select username and password and it logs them in or they provide email address and it uses that??
|
||
fuck, this will always be an issue, maybe it needs to spin up a new server on the fly?
|
||
If each user had unique creds this wouldn't be a problem, maybe a front end that makes a unique user account each time they try it and it's good for xx hours max
|
||
this is the way
|
||
Maybe easiest first thing to do is just a request live trial form where we get their info and send a link to try for xx days with unique spun up server?
|
||
|
||
|
||
|
||
|
||
Outlook integration extension
|
||
PLAN: This can wait until after official release when / if people ask for it
|
||
this should probably be more like office365 integration at this point, need stats on desktop outlook but it must be vanishingly small aty this point?
|
||
|
||
|
||
ADD TO DOCS:
|
||
|
||
|
||
Image all the prior docs: Docs could use images on every page of each item, people like images and they may read the docs rather than look at the app so it's nice to show them
|
||
Add where items are selected to all prior docs just as it's been done at the top of the vendors doc which goes a long way to have users understand the purpose of each type of object and why they might want to use it
|
||
Use the "references avendor" search pattern substituting vendor for whatever to find all the links in the schema which is the most reliable way to find them
|
||
this process also finds missing things in the docs like the vendor for User subscontractor I found which was not documented as it only appears when you select subcontractor type
|
||
|
||
|
||
|
||
|
||
rockfish front end improvements, revocation, license link that does nothing??
|
||
product codes or feature options to include??
|
||
what exactly is rental in the license doing?
|
||
is license versioned for format?
|
||
make it a razor pages / bootstrap application
|
||
better secrets handling rather than in app code or does this matter if server is compromised??
|
||
use cron jobs to handle licensing notifications etc rather than doing it manually
|
||
see https://blog.healthchecks.io/2022/02/healthchecks-io-hosting-setup-2022-edition/ for inspiration
|
||
cron job can call a .net core app that logs into db and does the work mailing out etc
|
||
|
||
|
||
|
||
|
||
|
||
|
||
todo: automate backups for nginx, letsencrypt configuration files, currently manually backed up only
|
||
|
||
|
||
|
||
|
||
|
||
# OUTSTANDING BEFORE RELEASE
|
||
|
||
#1 items below in each category, some #2 as well
|
||
|
||
todo: test with licensed key to ensure evaluate is gone and everything works logging in as each user to regular home page
|
||
todo: test key revocation
|
||
|
||
critical path items:
|
||
- QBOI FUCK THIS DROP IT>>?? (or server to login and path for them to do it on their server however that works so we can exit that biz)
|
||
- import inventory and parts for future new sales will be critical
|
||
ultimately being able to import directly from other apps export formats or online api keys would be ideal
|
||
- Pricing, how we will approach it for new vs v7 and what it will be
|
||
inflation additions
|
||
set full price but then coupon it for v7 users for first year so they pay same price
|
||
process of going from one to another must be handled carefully, ideally we get them on a new subscription with a discount to be same price
|
||
- License agreement change from beta to regular
|
||
- Docs completed filling in, many empty pages still
|
||
- business stuff like rockfish, licensing new site, new forums (update docs links when new forum), direct purchase
|
||
need v7 stuff still easily available, maybe all under a new /v7 but kept exactly as is in path
|
||
- Beta testing completed
|
||
|
||
|
||
|
||
MARKETING FUTURE
|
||
Task oriented simple view / dashboard type idea
|
||
something to get people going without having to flail around
|
||
identify common tasks and find ways to accomplish it as simply as possible
|
||
maybe dashboard has overlay floating menu for quick actions?
|
||
|
||
|
||
|
||
- 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
|
||
|
||
|
||
- Plugin / addon replacements implemented and fully tested
|
||
Outlook integration
|
||
qboi - DTR - Down The Road
|
||
(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
|
||
todo: revoke is weird to do, have to make a license to revoke it and generate and send
|
||
what should happen instead is that we should just be able to click on a license in the existing list of licenses for that customer and press a revoke button, get an are you sure prompt then it should save it but *NOT* email any warning to the customer (it may not email now anyway a revoke need to check)
|
||
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??
|
||
canada ones maybe that apply to us?
|
||
Legacy area for v7 on release and new area for raven
|
||
forum for support squared away
|
||
Email provider, ditch self hosted mail server due to microsoft issues and general fuckery, may even be cheaper in long run
|
||
https://www.zoho.com/mail/
|
||
https://support.google.com/mail/answer/9481967?hl=en
|
||
|
||
- DigitalOcean marketplace
|
||
Look into https://marketplace.digitalocean.com/vendors
|
||
https://marketplace.digitalocean.com/vendors/getting-started-as-a-digitalocean-marketplace-vendor
|
||
Need a contact info, dont' want to apply before I can ask questions
|
||
See how it works financially, who gets what if we are a one click type of solution?
|
||
is this only for developers USING d.o. or actual businesses?
|
||
What is the advantage to us over just a guide or service where we do it all??
|
||
see other one click solutions to see if anything comparable to us then follow that to see how they market etc on their sites
|
||
https://community.centminmod.com/threads/digitalocean-marketplace-for-1-click-applications.16835/
|
||
|
||
todo: payment processor down the road look at Braintree as they accept intnl payments, have an api and are used by one man dev shops
|
||
https://blog.healthchecks.io/2022/02/healthchecks-io-hosting-setup-2022-edition/
|
||
|
||
todo: new AyaNova.com website built using asp.net core and razor web pages
|
||
https://www.waveapps.com/ inspiration
|
||
https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-6.0&tabs=visual-studio-code
|
||
I would like to have some code and intelligence behind it / be able to code it so can do cool shit with it like a front end to manage trial servers
|
||
contact form built in, links to purchase built in etc/ integration with rockfish etc
|
||
So make it an asp.net core website / app and can then program it
|
||
|
||
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
|
||
|
||
|
||
|
||
- THIS CAN WAIT TIL AFTER RELEASE IT"S NOT HOLDING UP EXISTING USERS BUYING
|
||
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
|
||
|
||
|
||
|
||
Marketing blurb idea I had while driving from victoria:
|
||
<h1>Make space</h1><h1>Make time</h1> <h1> Make sense</h1>
|
||
|
||
|
||
|
||
## 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
|
||
|
||
|
||
██╗███╗ ██╗███████╗████████╗ █████╗ ██╗ ██╗
|
||
██║████╗ ██║██╔════╝╚══██╔══╝██╔══██╗██║ ██║
|
||
██║██╔██╗ ██║███████╗ ██║ ███████║██║ ██║
|
||
██║██║╚██╗██║╚════██║ ██║ ██╔══██║██║ ██║
|
||
██║██║ ╚████║███████║ ██║ ██║ ██║███████╗███████╗
|
||
╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝
|
||
|
||
|
||
todo:3 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
|
||
|
||
todo: 3 WINDOWS SINGLE LAUNCHER:
|
||
Can windows single put it's db outside of the program files folder, i.e. can postgres be told to use a data folder instead?
|
||
only if it helps with the upgrade though, otherwise not much point
|
||
|
||
Opens the windows server web page as well as the AyaNova web app but that's confusing as the first page is the windows server
|
||
instead should just show the web app
|
||
|
||
Shutdown server in windows single gives error in server launcher window:
|
||
Shutting down Postgres database server...
|
||
Unhandled exception. System.InvalidOperationException: StandardIn has not been redirected.
|
||
at System.Diagnostics.Process.get_StandardInput()
|
||
at Program.<Main>$(String[] args) in C:\data\code\raven-launcher\Program.cs:line 98
|
||
|
||
Launcher might be better if it was an actual application with a button to open AyaNova UI in browser and a shutdown button and a log windows showing what is in the server UI
|
||
rather than a dos command line looking thing
|
||
Also that could be the UI to do a db back up and restore maybe for upgrade??
|
||
Windows single would benefit from a backup and restore in a click kind of interface then could do the standalone install upgrade more easily?
|
||
|
||
|
||
## DOCS
|
||
██████╗ ██████╗ ██████╗██╗ ██╗███╗ ███╗███████╗███╗ ██╗████████╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗
|
||
██╔══██╗██╔═══██╗██╔════╝██║ ██║████╗ ████║██╔════╝████╗ ██║╚══██╔══╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗ ██║
|
||
██║ ██║██║ ██║██║ ██║ ██║██╔████╔██║█████╗ ██╔██╗ ██║ ██║ ███████║ ██║ ██║██║ ██║██╔██╗ ██║
|
||
██║ ██║██║ ██║██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║╚██╗██║ ██║ ██╔══██║ ██║ ██║██║ ██║██║╚██╗██║
|
||
██████╔╝╚██████╔╝╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗██║ ╚████║ ██║ ██║ ██║ ██║ ██║╚██████╔╝██║ ╚████║
|
||
╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝
|
||
|
||
todo: SO MANY pages don't have screen shots or images, every page should have one as the docs are the primary marketing feature.
|
||
For example head office and many more.
|
||
|
||
todo: Unit help page doesnt have a screenshot of the menu, maybe others are also missing this, it's important when supporting people
|
||
todo: docs add view on map an image of a map to snazz it up.
|
||
|
||
|
||
todo: customer enquiry driven, a section in the manual in this area https://ayanova.com/docs/ay-start-form-overview/ specifically showing how to speed up entry in forms using tricks etc with links
|
||
|
||
todo: notification list doesn't have a bell icon image showing where they would see that there *is* a notification fuirst
|
||
|
||
todo: server metrics ops-metrics no screenshots??
|
||
|
||
todo: log level page https://ayanova.com/docs/ops-log/#log-level doesn't mention config.json like as even a thing like it does with other config settings pages
|
||
|
||
todo: Is th8is documented anywhere?:
|
||
- Support the latest browser and the one before it of every major browser like gitlab does:
|
||
- Supported web browsers, We support the current and the previous major release of Firefox, Chrome/Chromium, Safari and Microsoft browsers (Microsoft Edge and Internet Explorer 11).
|
||
- Each time a new browser version is released, we begin supporting that version and stop supporting the third most recent version.
|
||
|
||
|
||
|
||
## MIGRATION ITEMS
|
||
███ ███ ██ ██████ ██████ █████ ████████ ███████
|
||
████ ████ ██ ██ ██ ██ ██ ██ ██ ██
|
||
██ ████ ██ ██ ██ ███ ██████ ███████ ██ █████
|
||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||
██ ██ ██ ██████ ██ ██ ██ ██ ██ ███████
|
||
|
||
|
||
|
||
|
||
## TESTING ITEMS
|
||
████████╗███████╗███████╗████████╗██╗███╗ ██╗ ██████╗
|
||
╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝██║████╗ ██║██╔════╝
|
||
██║ █████╗ ███████╗ ██║ ██║██╔██╗ ██║██║ ███╗
|
||
██║ ██╔══╝ ╚════██║ ██║ ██║██║╚██╗██║██║ ██║
|
||
██║ ███████╗███████║ ██║ ██║██║ ╚████║╚██████╔╝
|
||
╚═╝ ╚══════╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
|
||
|
||
|
||
todo:3 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
|
||
██████ ███████ ██████ ██████ ██████ ████████ ██ ███ ██ ██████
|
||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██
|
||
██████ █████ ██████ ██ ██ ██████ ██ ██ ██ ██ ██ ██ ███
|
||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
||
██ ██ ███████ ██ ██████ ██ ██ ██ ██ ██ ████ ██████
|
||
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
## CLIENT MISC ITEMS
|
||
|
||
|
||
_____ _ _____ ______ _ _ _______
|
||
/ ____| | |_ _| ____| \ | |__ __|
|
||
| | | | | | | |__ | \| | | |
|
||
| | | | | | | __| | . ` | | |
|
||
| |____| |____ _| |_| |____| |\ | | |
|
||
\_____|______|_____|______|_| \_| |_|
|
||
|
||
|
||
todo: 2 PO Order item when a part request isn't showing who ordered, column is there but it's empty for some reason
|
||
|
||
todo: 2 the Customize form for User edit form is showing the Required checkbox for the last login field, sb marked not requireable
|
||
|
||
todo: 2 Make the eye icons for showing passwords *not* be a tab stop so that user can tab through fields without getting stuck on them
|
||
|
||
todo: 3 should a superuser really have a dashboard?
|
||
it's easier for testing purposes but aside from that I don't think so
|
||
super user should only be used to manage ayanova and other users, not for actual stuff though it needs memos for export notification etc....hmmm...
|
||
maybe just say fuck it for now
|
||
Bumped for later re-examine
|
||
|
||
todo: 2 adm-import lists a lot of objects that are work order item children etc, I think people mainly want invenotry (which isn't there), customers, ho maybe, whatever is the biggest lists
|
||
so remove unimportable types, implement most desired import types
|
||
|
||
todo 2: sb able to make a work order directly from a Unit, Customer or anything tie-able to a customer and have it all properly filled in with customer pre-selected and unit if unit sourced
|
||
I see this as a new menu item not from the list of work orders for example (though that should really preselect the customer too)
|
||
|
||
|
||
todo: 2 or 3 category team view color based on user color?
|
||
check category schedule control docs or implement in my slot override
|
||
|
||
todo: 2 create workorder, quote, pm from customer record??
|
||
was that a v7 feature? No it wasn't, but it's a good idea to have it
|
||
|
||
todo: 3 cant' use CSP with ayanova without opening it up considerably and allowing unsafe-inline
|
||
sounds like it's theoretically possible to work but the fontawesome fonts would need to be static or something and styles would need a nonce and etc
|
||
|
||
todo:3 profiler page has columns: Request Start Response Start Dom Complete which are all empty, somethjing new added that needs to be disabled maybe??
|
||
|
||
|
||
............................
|
||
|
||
|
||
|
||
todo:3 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)
|
||
|
||
todo:3 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: 3 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?
|
||
Not sure how to do this effectively needs time to marinate
|
||
|
||
todo:3 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 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
|
||
|
||
|
||
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:3 todo: put reset link somewhere in UI so user can just click on it, maybe the login form?? Or the About form? about->log form?
|
||
|
||
todo:3 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
|
||
|
||
todo: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: 3? schedule form sync with ical, there's a case for it
|
||
|
||
todo:3 window.$gz.locale.diffHoursFromUTC8601String is often calculated a total of 1.99 due to some rounding even though the two times look identical
|
||
must be seconds or something, needs a round up in those cases, that's weird. To recreate try a start time of 11:21 and end time of 1:21pm which should be two hours but is 1.99 hours
|
||
sometimes it just works, I'm guessing it's a milliseconds issue or something, round first maybe to remove ms then calc?
|
||
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: some way to quickly add objects to wo would be nice
|
||
like a shortcut keystroke to add a ctl-shift-u for unit or whatever
|
||
or maybe a quicker way to get to the items menu or a FAB or something ..??
|
||
|
||
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)
|
||
|
||
todo: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-05todo:31 10:26:45.4801|INFO|Seeder|Small level sample data seeded in 27 seconds
|
||
2021-05todo:31 10:47:07.3417|INFO|Seeder|MEDIUM level sample data seeded in 2 minutes and 13 seconds
|
||
2021-05todo:31 10:56:04.9450|INFO|Seeder|LARGE level sample data seeded in 4 minutes and 17 seconds
|
||
2021-05todo:31 12:06:34.2680|INFO|Seeder|HUGE level sample data seeded in 24 minutes and 54 seconds
|
||
todo: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#]
|
||
todo: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:3 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 todo: why should user be able to open a part inventory transaction record in the first place? It opens to the history form, isn't that weird, theres nothing to see that isn't
|
||
in the grid is there??
|
||
|
||
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
|
||
|
||
todo:3 CURRENCY / DECIMAL control, not too happy with them, considering rolling my own maybe here are some ideas:
|
||
|
||
To get current use the latest version which is completely different and seems ok, here is a dude who implemented it with vuetify so would need to copy this
|
||
as it's too small to just use his I think: https://github.com/phiny1/v-currency-field/blob/master/src/VCurrencyField.vue
|
||
|
||
For the record the current vue-currency being used is "vue-currency-input": "1.20.3",
|
||
https://stackoverflow.com/questions/43208012/how-do-i-format-currencies-in-a-vue-component
|
||
Also a good post about rounding on that page as well
|
||
There is currently no intnl aware parser for currency, however
|
||
Here is an excellent idea about using the tostring formatter to figure out the parsing code
|
||
https://stackoverflow.com/questions/59678901/using-parsefloat-in-different-locales
|
||
So use that concept, but also add to it for the currency one to remove the currency symbol entirely and replace it with nothing so it can then be parsed
|
||
|
||
|
||
|
||
function localeParseFloat(s, locale) {
|
||
// Get the thousands and decimal separator characters used in the locale.
|
||
let [,thousandsSeparator,,,,decimalSeparator] = 1111.1.toLocaleString(locale);
|
||
// Remove thousand separators, and put a point where the decimal separator occurs
|
||
s = Array.from(s, c => c === thousandsSeparator ? ""
|
||
: c === decimalSeparator ? "." : c).join("");
|
||
// Now it can be parsed
|
||
return parseFloat(s);
|
||
}
|
||
|
||
console.log(parseFloat(localeParseFloat("1.100,9"))); // user's locale
|
||
console.log(parseFloat(localeParseFloat("1.100,9", "us"))); // US locale
|
||
console.log(parseFloat(localeParseFloat("1.100,9", "nl"))); // Dutch locale: reversed meaning of separators
|
||
// And the same but with separators switched:
|
||
console.log(parseFloat(localeParseFloat("1,100.9"))); // user's locale
|
||
console.log(parseFloat(localeParseFloat("1,100.9", "us"))); // US locale
|
||
console.log(parseFloat(localeParseFloat("1,100.9", "nl"))); // Dutch locale: reversed meaning of separators
|
||
|
||
todo 4: to look into, chartjs is big apparently this works and is smaller: https://github.com/leeoniya/uPlot/
|
||
|
||
## SERVER MISC ITEMS
|
||
|
||
|
||
_____ ______ _______ ________ _____
|
||
/ ____| ____| __ \ \ / / ____| __ \
|
||
| (___ | |__ | |__) \ \ / /| |__ | |__) |
|
||
\___ \| __| | _ / \ \/ / | __| | _ /
|
||
____) | |____| | \ \ \ / | |____| | \ \
|
||
|_____/|______|_| \_\ \/ |______|_| \_\
|
||
|
||
|
||
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
|
||
|
||
todo: 2 trial eval server on digital ocean, need way to generate unique login creds and data for people who are trialing based on request to try it on
|
||
a d.o. server online. Basically ease it from our end to make it simple and maybe automatic as possible but also have it work with trial login accounts, so maybe a way to
|
||
provide some config params to the seeder or an external app that does it through API maybe (rockfish option??)
|
||
idea is someone can request and we can have a server up and running for them with little effort on our part
|
||
Going to need a wildcard cert for helloayanova.com maybe if appropriate because I need to spin up trial56 or etc as are already set up but dns warning if go to them
|
||
https://community.letsencrypt.org/t/create-certs-for-different-machines/107091/11
|
||
|
||
todo: 2 test notification sent from ops notification settings form should include a link so can test that the link back url is working
|
||
|
||
todo: 3 noticed when didn't give sufficient rights to .chromium whatever folder at linux server that got weird error reporting as it couldn't download chromium on first boo, sb a proper error, only way I noticed was no files in chromium folder
|
||
|
||
todo: 2 AyaNova is not logged an event when a serial number is reset but ther is an event type for that purpose
|
||
I'm not certain if this is related to editing an object to change the serial or the seed being changed
|
||
When this is coded add it to the documentation at adm-history.md
|
||
|
||
todo: 2 remove unused translations
|
||
add code at server to scan all reports and parse out translation keys used into a single list of unique values for use later
|
||
Find way to find all translations in client project requested and make into unique list
|
||
Find way to get all translations specified at server and make into unique list
|
||
Determine if there is anything that will come over from v7 that would be broken if removed from v8??
|
||
what is the policy here anyway exactly? This needs to be determined.
|
||
is it possible for v7 imported objects to refer somehow to translation keys that v8 doesn't actually use anywhere or is it just the translated text itself that would be outdated?
|
||
find way to take unique list and auto-compare it to actual translations and spit out list of potentially unused
|
||
|
||
todo: 2 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: sendgrid maybe supported: https://marketplace.digitalocean.com/apps/sendgrid
|
||
|
||
todo: 2 sample seeder add "In progress" status to workorder status list as there is currently no match to that
|
||
|
||
todo: 2 metrics are useless bullshit
|
||
underreporting completely, doesn't show actual cpu usage
|
||
how to tell if it's swapping, that's critical, how close to all memory being used up?
|
||
should report percentage of real memory used, percentage of swap file used, percentage of entire machine cpu used
|
||
right now seems to be showing maybe only ayanova process itself but that's not helpful when doing ops metrics tasks looking for bottlenecks
|
||
Also, add a shorter time frame, 6 hours as smallest is bullshit, make it 1 hour
|
||
|
||
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 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: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"}
|
||
|
||
|
||
|
||
NOW
|
||
....
|
||
todo:3 notify on user login?
|
||
todo: 3 ExportController, right now is passing guid.empty to get export data so there is no job, needs to be jobified like reports so fix this up at front and back stealing from reporting code
|
||
|
||
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
|
||
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:2 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: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?
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
########################################################################################################################
|
||
|
||
|
||
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ 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
|
||
|
||
FUCK QBOI???? Very likely if any blowback from intuit about existing qboi just don't have the time to jump through their hoops
|
||
can I enable it for customers but we are out of the picture entirely??
|
||
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 - BIZ STUFF / NEW WEBSITE / 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: PRICING
|
||
Joyce has done a document of preliminary research, still outstanding:
|
||
- she recommended same pricing for subscribers as a discount off new pricing for newbies, not sure what the new pricing is, maybe the inflation prices she researched?
|
||
- how to adjust for fact of losing remote access extensions, do we just eat it and lose revenue?
|
||
- which accounting and other add-on's are worth doing still?
|
||
- Nothing about hosting ourselves or running servers for people or way it would work (I did give her the links to discourse but not sure she looked at it)
|
||
etc so that all needs to be completely worked out, look at the discourse stuff again
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 9 - RELEASE
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
|
||
|
||
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
|
||
|
||
|
||
|
||
|
||
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
|
||
|
||
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ 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
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
|
||
# BIZ FOR RELEASE
|
||
|
||
- Need rockfish all squared away for licensing stuff, get there by walking through the process
|
||
- New website, move all v7 to old or /old or whatever it takes (no reason not to keep some marketing blurbs etc, just mark them with v7 if necessary or as is)
|
||
- Clean simple, lowercase, screenshots and walkthroughs
|
||
- Maybe show self host, paid hosting as front and center and opening area so they know costs up front and can go down the pages that link from each method self or hosted
|
||
- ShareIt product codes and purchase linking stuff
|
||
- Need turnkey hosting offer up front,
|
||
it's a quick way to make money,
|
||
xx dollars per month, find out what can be charged,
|
||
remember they are replacing hardware, software even an IT guy so it's worth a fair bit
|
||
I would need to upgrade servers so leverage auto upgrades as much as possible but that takes time so is part of costs
|
||
stagger it so we are upgraded first to know if it's ok
|
||
maybe scales by size, one man shop price and bigger biz price
|
||
Look at discourse, they do all the same shit right down to the email server for notifications etc, just copy that
|
||
- click here for trial, they fill out form, it sends me info, I spin up server with unique creds from a rota of say 10 on devops, just need to set the creds uniquely so no one else can login, we need backdoor account for support also
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
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
|
||
|
||
can a site be in a sufolder so I don't need a domain name or key, just hang them all off helloayanova.com/s/siteb?
|
||
proxy if path? https://stackoverflow.com/questions/26449466/nginx-proxy-pass-to-a-directory
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 12 - v.next release
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
going to need ongoing maint can't let it get weedy like before:
|
||
|
||
- New vuetify and vue versions start work early on porting to that
|
||
- get on radar for .net v.next and see what's what and coming
|
||
|
||
|
||
|
||
|
||
|
||
|
||
tradingviewpw
|
||
upupandaway1
|
||
|
||
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
|
||
redbone come and get your love
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
2021-12-10 STATS
|
||
198,588 lines of code in all projects (code only not comments)
|
||
Languages: Vue, C#, SQL, Javascript, JSON, markdown, XML, YAML, HTML, Batch, CSS
|
||
Platforms: Windows, Linux, iOS
|
||
FIRST BACK END SOURCE CODE COMMIT JUNE 28 2018 (3 years 6 months ago to jan 4th 2022)
|
||
FIRST CLIENT SOURCE CODE COMMIT JAN 3rd 2019
|
||
|
||
2022-03-11 stats 208,875 TOTAL LOC
|
||
Just counting code lines and only in front and back end not migrate or any testing, installers etc
|
||
server: Total : 666 files, 96641 codes, 21272 comments, 22982 blanks, all 140895 lines
|
||
client: Total : 295 files, 112234 codes, 6586 comments, 5547 blanks, all 124367 lines
|
||
|
||
|
||
|
||
“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
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|