542 lines
29 KiB
Plaintext
542 lines
29 KiB
Plaintext
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 4 - DASHBOARD / KPI
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
|
||
TODO NEXT DASHBOARD:
|
||
Before making any routes at server, make static data to display in graphs and day calendar so can then play with sizing and see what's realistic to deal with
|
||
once sizing is in order then can look at specialty routes for serving dash items, maybe combine all dashitems into same route with it's own queries?
|
||
it just has to return raw data, nothing fancy, check roles etc and then do some nice summarization queries
|
||
|
||
|
||
DASHBOARD / KPI / BIZ METRICS
|
||
|
||
todo: DASHBOARD
|
||
- Joyce kpi / charts and graphs
|
||
TODO:
|
||
Make the framework for them, obvs won't have all the data to do them all so look through, find common reqs and code a flexible component(s) for that
|
||
Ensure have capability to do all the biz metrics planned for v8.0 release
|
||
|
||
Source case: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1974
|
||
See notes there
|
||
ELEMENTS
|
||
dash ui items that can self update and display properly in any form factor
|
||
Xcentral dash registry - collection of dash ui items, the roles they are available for, their unique ID's
|
||
stored at *client* statically, (server prevents out of role access to data anyway)
|
||
[{id:(unique id, probably human readable 'tag-dash-format'),roles:[role array available to]}]
|
||
XUser dash registry - user's selected dash widgets to display and the order to display them in plus any unique settings to each one
|
||
Index in array is their display order
|
||
[{id:(unique dashitem id),settings:{refreshfrequencymaybe:22,other:'setting'}},{id:(second item id)}]
|
||
dashboard host page
|
||
iterates user registry, instantiates the dash items in order desired if user is in allowed role (user may have changed roles)
|
||
handles removal, re-ordering events
|
||
Xdashboard selection UI
|
||
XUI accessed from dashboard menu allowing user to add widgets
|
||
|
||
todo: wireframe / mockup dashboard item objects
|
||
mockup dash items with all commonality built in, better to start mocking up now than try to design perfectly in advance and then implement
|
||
COMMON PROPERTIES
|
||
display with correct size in correct form factor
|
||
self refresh / fetch data
|
||
Has default update frequency built in
|
||
COMMON CONTROLS IN A dashboard instrument display meter guage
|
||
Remove from the display
|
||
Reorder in the display
|
||
Refresh - force the refresh of the display
|
||
Settings - popup settings menu for that control
|
||
common settings built in, slot for special ones?
|
||
Mockup example of more than one kind of widget with roles, doesn't have to do anything in it's UI, just be present for testing
|
||
|
||
|
||
|
||
todo: MORE link button click
|
||
Should take to a data-list view preselected with the criteria that show the complete list of what is in the dash-item wherever possible
|
||
if an item doesn't really have anything appropriate to click on then don't bother for now, can flesh out more later
|
||
|
||
todo: if dashboard view is empty should be a string displayed saying nothing selected to show?
|
||
todo: do we need a PLUS menu item to add one of that type to that widget, i.e. if it's showing workorders then a plus to make a new wokorder would be useful
|
||
|
||
|
||
todo: when showing a popup warning box error: Could not find one or more icon(s) iconName: "exclamation" prefix: "fas"
|
||
I think maybe this is a built in vuetify icon?
|
||
Need to show a warning box to see it in action, maybe delete something and get the are you sure? or maybe it's only the warning type?
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
TODO: shorten word "control" in my custom controls to ctl, why waste bytes?
|
||
TODO: gzErrorBox in widget form will not display if form is not ready and form may not be ready if there is an error? (or is that correct?)
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@ ROADMAP STAGE 5 - FINALIZE ALL NON BIZ OBJECT SPECIFIC FUNCTIONALITY
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
todo: Much of this stage below needs TRIAGING, do that first.
|
||
Any real (corebizobject) shit goes to stage 7
|
||
|
||
todo: VUE / VUETIFY ROADMAP RELEASES (Sept 23 2020 was put on hold as it appears vuetify is way behind so looking like post release but check again here)
|
||
Q1 2021 is vuetify v3
|
||
https://vuetifyjs.com/en/introduction/roadmap/
|
||
look at what's coming on the radar before release in the big libs I'm using at front end as well, i.e. new vue or vuetify major release etc
|
||
I would really like to release without a huge new migration looming over my head post release with potential breaking changes
|
||
Vue 3.x is about ready now or very shortly: https://v3.vuejs.org/guide/migration/introduction.html#overview
|
||
"The Composition API is purely additive and does not affect / deprecate any existing 2.x APIs. I"
|
||
looks like I can switch to vue 3 without code changes, at least when it comes to composition api
|
||
Vuetify 3.x is lagging way behind vue 3.x and doesn't appear to be even close so
|
||
Put front end newification on hold until it all shakes out, looks like post release`
|
||
|
||
|
||
|
||
todo: See if this has a use: as an aside there is a relative time formatter available which might be handy
|
||
does locale aware things like "5 days ago" or "8 years from now" etc
|
||
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat
|
||
|
||
todo: MAPPING
|
||
STATE:
|
||
Did a quick overview and looked into OSM etc.
|
||
Not as straightforward as I had hoped, but maybe doable if put into the hands of the end user which backend they want to use
|
||
Can use a lib to provide the ability to show a map in abstract UI form and user picks back end map provider to use so we are out of the loop
|
||
I'm thinking the best way to approach figuring this out is to start from the Javascript UI libs and work backwards as things like leaflet and mapstraction
|
||
etc are good at documenting using alternate backends with their UI libs.
|
||
So when come back to this look at the UI libs first again
|
||
|
||
getting a *lot* of request about this
|
||
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1816
|
||
maybe stage 7 or I guess could fake it for now, it's going to be known what will be needed
|
||
https://news.ycombinator.com/item?id=23722133
|
||
https://blog.mapbox.com/openstreetmap-a-global-map-for-worldwide-insight-4e041cbf1ec1
|
||
RESEARCH:
|
||
Hmm... more complex that I thought, they don't want software using their own server map data much, there are alternatives including hosting it ourselves
|
||
ECONOMICS / PLAN
|
||
MAPS are not free from anyone really, maybe the way it should work is:
|
||
We include a widget for many back ends using the mapstraction library or whatever is out there
|
||
User can pay a service and set an api key in AyaNova to use that service
|
||
We could also be that service charging XX a month for mapping to pay for the cost of the mapping service with DO
|
||
(definitely doable for us, just requires a powerful server which would cost, if things take off we could absorb that cost maybe but for now)
|
||
OWN TILE SERVER (DOCKER!)
|
||
https://switch2osm.org/serving-tiles/
|
||
Sounds like it's incredibly intensive and probably something we do not want to do, but it's an option
|
||
Needs tons of space and powerful cpu about $220 a month on current digital ocean droplet plans:
|
||
"300GB+ of fast storage, 24GB of memory, and a quad-core processor for the entire planet"
|
||
32GB 4vCPUs 6TB 3x 300GB $0.327 $220
|
||
|
||
PROVIDERS
|
||
https://github.com/leaflet-extras/leaflet-providers
|
||
|
||
OSM CLIENT JS
|
||
https://openlayers.org/ - older more complex client lib (Maybe not mobile friendly?)
|
||
https://leafletjs.com/ - newer less powerful but eaiser lib? (mobile friendly)
|
||
WRAPPER FOR ANY BACKEND MAP SOURCE
|
||
http://mapstraction.com/ (note that there are alternatives that are free to OSM possibly like some mapquest and microsoft stuff perhaps that's worth looking into also if people have paid for google?)
|
||
Why Use Mapstraction?
|
||
Code your application once and once only; then switch your mapping provider as you desire, depending on your personal tastes, the quality of maps in your area or any other reason you can think of.
|
||
Switching mapping providers in Mapstraction is often as simple as changing just two lines of code in your application.
|
||
Mapstraction Features
|
||
Support for all the major mapping APIs
|
||
CloudMade
|
||
ESRI ArcGIS
|
||
Google – v2 and v3
|
||
Leaflet
|
||
MapQuest and MapQuest Open
|
||
Microsoft Bing – v6 and v7
|
||
Nokia Here
|
||
OpenLayers
|
||
Ordnance Survey OpenSpace
|
||
Nokia Ovi
|
||
Yandex
|
||
Dynamic switching from one maps API to another
|
||
Show Markers, Points, Lines and Polygons on your map
|
||
Add image overlays and base map tiles to your application
|
||
|
||
|
||
|
||
todo: can I support keycodes for saving in AyaNova and other shit that are the same as in v7 or as much as possible, i.e. ctrl-s to save (or whatever was defined)
|
||
watch out the report editor uses a bunch of hotkeys pre-defined
|
||
What v7 used to support:
|
||
f1 - help, case (Keys.Alt | Keys.X) //Close form, alt-w new workorder, alt-m new pm workorder, alt-q new quote, alt-c new client, alt-u new unit, alt-p new part, ctrl-alt-g grid criteria for development,
|
||
IMPORTANT / DO THIS: insert date and time (localized) as text anywhere with a key combo
|
||
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1514
|
||
|
||
|
||
todo: back and forward buttons when running without browser controls in application mode?
|
||
- wait and see on this one, as it will be likely outside of any particular form so not something to be baked in early necessarily
|
||
|
||
todo: GUIDED TOUR
|
||
- This is an important feature and at least get a basic one in there for starters and initial release
|
||
- This is a replacement for the tutorials and videos in v7 a
|
||
- Need to add that auto-pilot thingy that allows for guided tours in HTML apps
|
||
- Specifically it should at least have an ONBOARDING walk through of how to move around, enter data, get help etc. Not feature specific but usage specfic.
|
||
- Later I'll add feature specfic tutorials like how to make a workorder etc
|
||
|
||
|
||
|
||
todo: clickable urls
|
||
https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1738
|
||
|
||
############### MAYBE STUFF OR STUFF ON HOLD / FUTURE ###############
|
||
(If get here and not doing it put it into a v.next case where appropriate or spec doc for future reference or just ditch it)
|
||
|
||
|
||
ON HOLD FROM EARLIER
|
||
=-=-=-=-=-=-=-=-=-=-=-
|
||
|
||
todo: breaking change in latest vuetify with integer bound to v-text-field have kept this version awaiting fix, reported
|
||
https://github.com/vuetifyjs/vuetify/pull/12451
|
||
If not fixed in a timely manner can downgrade to the build before this one
|
||
|
||
todo: ON HOLD TIL LATER Lagging typing in name field on customize form for data grid filter
|
||
Giving up on this for now, but noticed the following:
|
||
No exceptions or errors just regular processing
|
||
On a lighter grid with less columns it's much faster so the column count contributes majorly
|
||
If I remove the v-model binding from the name control it types fast so it's the recalc going on from the model change
|
||
TO TRY LATER:
|
||
More computed property usage (if any now) and less methods because functions run on every change wherease computed are not if not necessary
|
||
methods are going to be slower than computed properties theoretically
|
||
Pick through and replace function calls in UI with computed properties bit by bit and see what happens
|
||
Several collections bound to array in data object, is that array changing on typing text? Triggering something?
|
||
Should it be bound to a computed getter instead of directly to the data object?
|
||
|
||
|
||
|
||
todo: hide swagger logo and branding in api explorer
|
||
Is this really that important?
|
||
also, in the docs is a section specifically saying I should do something because I'm using newtonsoft json not microsoft built in
|
||
https://github.com/domaindrivendev/Swashbuckle.AspNetCore#systemtextjson-stj-vs-newtonsoft
|
||
https://github.com/domaindrivendev/Swashbuckle.AspNetCore
|
||
|
||
todo: service workers for monaco going in root of website folder, must be a config setting to move it into the proper place (not there)
|
||
couldn't find anything about it, may need to post to ask, it's not the end of the world but kind of stupid looking as all the rest of the js is in subfolder
|
||
https://github.com/microsoft/monaco-editor-webpack-plugin/issues/126
|
||
awaiting reply, if nothing by the time I get here then delete and wait for email notification or if I care enough again to bother with it (cosmetic)
|
||
|
||
|
||
|
||
todo: consider feature to set server to always use a pre-set browser locale settings and not the ones in the browse itself
|
||
Scenario is user in another country but needs to login and work with central server?
|
||
server - wide
|
||
User specific
|
||
YAGNI / TTM?
|
||
|
||
REPORTING bits and pieces
|
||
- page breaks properly EXAMPLE NEEDED
|
||
this is the current CSS property, not the one jsreport was using: https://developer.mozilla.org/en-US/docs/Web/CSS/break-before
|
||
There are many options including ones for columns and some to prevent page breaks splitting up blocks.
|
||
|
||
<div style="break-before: page;">
|
||
<h2>{{ Name }}</h2>
|
||
<div>Notes: <span class='example'>{{ Notes }}</span></div>
|
||
</div>
|
||
|
||
old jsreport ref: https://playground.jsreport.net/w/admin/dI2_fUqZ (for example this sample report shows <div style="page-break-before: always;"></div> which is interesting)
|
||
- print properties in css ref: https://www.tutorialspoint.com/css/css_print_references.htm
|
||
@page https://developer.mozilla.org/en-US/docs/Web/CSS/@page
|
||
|
||
- custom extra javascript functions EXAMPLE NEEDED
|
||
actually there's nothing really to this, just define function outside of the prepare block and it's there to use
|
||
|
||
- Mailing labels
|
||
if a hassle can skip, it's an unusual thing probably today and users could export to open office then print or whathaveyou
|
||
|
||
- Alternate paper sizes A4, Letter etc
|
||
https://developer.mozilla.org/en-US/docs/Web/CSS/@page/size
|
||
Also note that can pass on pdf render options to the puppeteer pdf rendering code which include
|
||
http://www.puppeteersharp.com/api/PuppeteerSharp.PdfOptions.html
|
||
|
||
- Helper for datalist filter human readable
|
||
also useful for the UI of the datalist as well
|
||
|
||
- readable errors:
|
||
https://stackoverflow.com/questions/56959242/how-do-i-get-readable-browser-page-errors-out-of-puppeteer-sharp
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 6 - INSTALLER, LICENSING, ROCKFISH SUPPORT FOR RAVEN
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
|
||
|
||
todo: WINDOWS INSTALLER
|
||
Runner harness wrapper thing?
|
||
even if windows only
|
||
it could modify config since it's outside the server
|
||
check for Postgres server extant and if not automatically start the standalone postgres instance
|
||
manage postgres start and stop and configuration changes, sit in tray, run AyaNova server from there?
|
||
|
||
easy way to select command line params without resorting to editing text files for end user
|
||
initially it's an installation option, but then need to edit after the fact
|
||
Quick check of installers available still and is it still kosher to keep using INNO setup or is something better, more supported by windows etc?
|
||
Wix if want MSI (some say that's desireable)
|
||
INNO is still relevant
|
||
I don't need hardly any requirements that can't just be copy or unzip deployed so maybe don't even need an installer for now?
|
||
(zip distribution is going to be problematic with Windows file protection shit)
|
||
https://docs.microsoft.com/en-us/dotnet/core/deploying/
|
||
https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
|
||
|
||
|
||
Completely packaged and installable. REady for users to install as a test as I iterate stage 7 below
|
||
All the stuff needed for someone to run it as a test without the real objects yet.
|
||
Some kind of expiring license so they can't just keep using it as fucked as it may be some might do that
|
||
I want short targetted testing only, not someone downloading and trying it out a month later, that's useless for us
|
||
This needs to be focused on what I need to get from people about testing
|
||
|
||
|
||
todo: LINUX INSTALLER
|
||
Linux users don't mind doing the manual config thing as much, they're used to it and it could just be a shell file anyway
|
||
So mainly this would be a documentation steps to install type issue
|
||
|
||
|
||
todo: DOCUMENT DOCKER
|
||
Present dockerfile maybe for docker installation with FILES folder pre-ready to build / run
|
||
Whatever docker needs
|
||
Or maybe private registry with docker images on our servers somewhere
|
||
|
||
todo: rockfish, can't do purchase for raven or view it I think
|
||
Test a whole sales process from eval to purchase and make it work
|
||
todo: rockfish, upgrade to latest bootstrap, out of date Currently
|
||
todo: rockfish, trial license fetched On date not updating? (not showing in UI)
|
||
|
||
todo: Joyce rockfish notes:
|
||
Licensing:
|
||
noticed that the field "Fetched on" is NEVER updated.
|
||
is it much to be able to see the TIME as well as the DATE, when "Requested" and when "Processed"?
|
||
There are drop down selections NEW, APPROVED, REJECTED for the (already generated) listed keys. But can not actually save to a different Status. What is the purpose of the drop down options if can not select?
|
||
|
||
|
||
|
||
|
||
todo: Discourse bootstrapping install
|
||
look over, get ideas make case steal ideas profit FTW$
|
||
https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md
|
||
//here is their standalone config yml definition for DOCKER
|
||
https://github.com/discourse/discourse_docker/blob/master/samples/standalone.yml
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 7 - "REALITY"
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
All in on porting over all the real objects from v7
|
||
|
||
todo: First of all triage the features to port over in the sanest order so not stubbing too much stuff
|
||
Try to get scheduleable stuff early because schedule form will take some time
|
||
|
||
todo: Schedule form
|
||
- new gold standard is Google schedule so emulate that amap
|
||
- This one is big but requires the data to be there so as soon as implement enough things that are scheduleable then do this
|
||
- printing / reporting
|
||
|
||
todo: Notifications
|
||
Many are on hold until there are real objects to code against, now is the time to code them as the objects are added
|
||
|
||
todo: can beta test at this point
|
||
post installer, enlist trial users get feedback, don't get too down when they shit all over it as they will undoubtedly :)
|
||
remember, it's for the new customers primarily, new customers = new $$
|
||
|
||
todo: Document in user manual all form controls with instruction on how to use the various controls etc
|
||
- "Anatomy of a AyaNova Form"
|
||
|
||
WORKORDER UI
|
||
todo: Investigate Workorder structure and datagrid see case https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3768
|
||
Likely that workorder grids inside will not be full blown custom datagrid I wrote but just a vanilla v-data-table control since there is likely no need for the full customization shit
|
||
todo: workorder UI layout stuff (TTM!! Don't re-invent the wheel!)
|
||
There's been a lot of ideas about wo floating around and considered, but at the end of the day what I have works so maybe try to meld
|
||
into what I have the new concepts and see what comes out. Support a rich wo UI on big screens and scroll around UI on phone maybe.
|
||
some notes:
|
||
Workorder UI good ideas here: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3475
|
||
Basically (based on RI) it boils down to don't make the user go up to the workorder item level when they can go sideways directly to an alternate child of woitem
|
||
i.e. going from parts to labor shouldn't require going up a level
|
||
All workorder in one document and just really really tall? (people bitch about RI requiring too many navigation steps to get to shit)
|
||
Header and items in one document then bottom in seperate pages?
|
||
Is it going to be far easier to code this bitch if I have all the workorder data at hand or..?
|
||
How does WBI handle all this because it's kind of the poster child for RAVEN
|
||
Workorder is one of those things that may require different views for phone and tablet and laptop etc
|
||
Kind of like two views, tiny phone and anything larger
|
||
On a PC people will want and expect it to look as much like v7 workorder as possible, maybe that's still a valid layout
|
||
just tweaked to work better as a web app a bit but theoretically I could almost duplicate that layout with the tools I have
|
||
|
||
|
||
Consider UI in this as well, will need to decide at least what is visible when
|
||
Workorder UI good ideas here: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3475
|
||
How to add items, like new woitem?
|
||
send to server get back new object?
|
||
lots of biz rules and stuff need to happen, want to minimize load at client
|
||
but lots of data back and forth is not ideal
|
||
maybe request a woitem and get it back?
|
||
what exactly needs to be processed in the wo when items are added / removed?
|
||
math / totalling?
|
||
simple calcs sb client doable
|
||
this will drive what has to happen.
|
||
Need to go over all wo features and factor them into this decision properly
|
||
The whole idea of a completed section of a wo and stuff, is that dropped due to TTM or still viable?
|
||
maybe can pick out the best new features of that which can be integrated into existing design rather than re-inventing the wheel
|
||
Here is an overview: https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/3412
|
||
How best to be able to service LoanUnits on a workorder?
|
||
Just make them Units with extra properties exposed if type of loaner?
|
||
This seems simplest, but what will it effect?
|
||
Hard to make them serviceable if they are an alternate table of source for what's being repaired as that breaks a lot of other code or adds exceptions
|
||
Customer is then who exactly because it's fundamental to a lot of wo functionality?
|
||
from a biz perspective isn't it like you are your own customer when you service your own equipment that you loan out?
|
||
Does Serial field need to be numeric, could it be text instead?
|
||
prompted by case 3428 saying that it's hard to deal with constant conversion to text for UI etc
|
||
plus, I'm thinking it opens door to textual scheme like appending -A or whatever to a wo.
|
||
or, is that a display issue?
|
||
Calling something "serial" implies it's unique but it isn't, maybe I should call it "number" instead or "ID" or something?
|
||
INFO: did a test workorder with ALL fields filled out heavily and one woitem, exported from db entire graph based on detailed report so every line was every item repeated
|
||
still only 84kb and it's a lot bigger than any typical wo in v8 would be as it will be far more efficient without having to repeat lines flatly
|
||
so I think size of object is a non-issue really from a practical standpoint.
|
||
|
||
|
||
UI
|
||
|
||
idea: UI reflects tentativeness state of object:
|
||
The UI doesn't imply something is done by changing it fully until the save is completed.
|
||
This serves two purposes:
|
||
1) user knows at a glance what isn't saved yet and will know it's waiting for save clearly, hopefully leading them to save more often,
|
||
2) client doesn't need to track invisible shit behind the scenes, can more easily do patch updates right off UI source
|
||
|
||
e.g.:
|
||
if deleted a row in parts, that row doesn't disappear but rather shows crossed out, maybe grayed out but still there until save to indicate it's tentative status
|
||
if added a row, shows green or something or bold or asterisk, (can style with css based on state) until saved
|
||
problems:
|
||
how to handle regular fields that are changed (that's a lot of field data to track for changes)?
|
||
Maybe client keeps a virgin copy of the original wo for comparison
|
||
periodically does a compare and flags differences on updates?
|
||
(this would also help to serve as an Undo maybe?)
|
||
|
||
|
||
|
||
todo: Documentation
|
||
Need to think this through carefully
|
||
Need to get the critical bits in for onboarding and importing so people can get going
|
||
Most important stuff is anything non-obvious
|
||
Seems pointless to have one doc per form that just says "The name field is the name and must be unique"
|
||
maybe have that kind of stuff in the form basics and then have a doc per OBJECT instead with anything unique or interesting about the object
|
||
(and each object form has a link to formbasics so can link to the object form from UI and they get both)
|
||
Parts of it can be done post-release for sure
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 8 - EXTENSIONS (was plugins)
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
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?
|
||
|
||
|
||
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 9 - RELEASE
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
|
||
todo: ARCHIVE ALL DEPENDENCIES
|
||
Get all code for all 3rd party libs used for front and back of AyaNova 8
|
||
Need to store that in an archive somewhere just in case
|
||
Needs to be done with each release so can go back to that if necessary
|
||
Going to be big, maybe archived to all storage drives locally and burned to a dvd?
|
||
If check into the repo it will be an issue probably but you never know
|
||
|
||
TODO: CSP Policy that should be enabled at server?
|
||
I had to add per this: https://docs.telerik.com/kendo-ui/troubleshoot/content-security-policy#content-security-policy
|
||
to my csp because I kept getting errors in client end debug console mentioning csp issues
|
||
this seemed to come after I updated the client build process to do a legacy and modern build but I'm not 100% sure about that
|
||
|
||
Assuming has passed all testing
|
||
Plan pricing and sales strategy
|
||
What to do with licenses for v7 people
|
||
Another payment processor?
|
||
support bitcoin if possible as well
|
||
|
||
|
||
DONATE
|
||
Send a tip / buy a coffee link to the graphic designer who made the rabbit logo
|
||
follow the link from the docs appendix open source acknowledgements page
|
||
if we use it in release we should at least send them the small amount they get tipped
|
||
|
||
Send a tip / donate to teh favicon generator guy
|
||
https://realfavicongenerator.net/
|
||
I broke it at one point by bringing down the site while it was checking ... oops.
|
||
Used it several times and should donate
|
||
|
||
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 10 - ROCKFISH / HOSTING BACKEND SELF SERVER READINESS
|
||
DO server allocation, rockfish revamp to drive this part (or maybe it's an alternate app)
|
||
https://blog.digitalocean.com/its-all-about-the-bandwidth-why-many-network-intensive-services-select-digitalocean-as-their-cloud/?utm_medium=email&utm_source=do_newsletter&utm_campaign=04292020
|
||
https://www.youtube.com/watch?v=zZVoo5AbANI
|
||
|
||
@@@@@@@@@@@@@@@ ROADMAP STAGE 11 - RELEASE SELF SERVE / HOSTING
|
||
Fall of 2020 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
|
||
|
||
|