Adilas.biz Developer's Notebook Report - All to All - (6927)
|Time Id||Color||Title/Caption||Start Date||Notes|
|Shop 3943||Adilas Time||8/16/18||
Emails, tech support, and recoding details from the morning meeting with Wayne. Next up, working on the training schedule for the upcoming September adilas training event.
|Shop 3938||Adilas Time||8/16/18||
Jumped on the morning meeting. Steve and Dustin were on there and so was Wayne. Steve and Dustin opened up a Zoom session and worked on that. Wayne and I worked on a huge database field list with tables, field names, and mapping out of the foreign keys (database columns that link tables together in a relationship). We went over 4,000+ fields during our meeting. Most of the time was spent mapping out what foreign key values where and how they mapped to what primary tables and columns. We saw lots of activity in the payee (users and vendors) table as well as the corporations (worlds or business companies). Good session.
At the end of the session, Wayne showed me a sneak peak at a tool he is calling the Adilas Database Sync tool. It is a C sharp program that compares two different databases and makes sure that they are all synced up. I got excited on a few of the cool and creative features. Here is a small list. For more info, talk and ask Wayne for a demo.
- Super cool idea for comparing records... He would put all of the data together in a huge string (column value, column value, column value, etc.). He would then run a quick hash on that data. A hash makes a small 32 character unique code (really small amount for storage). He could then store that hash value. Then later on, when he was checking the data, he could put all the new data together and re-hash it. If the hashes matched (the two small hash values), no updates were needed and he could skip the record. If the new hash was different than the old hash, he would run the update that know what fields to update. This helps sync the data and also allows the system to skip something that doesn't need any changes. Very cool.
- He setup the whole thing to do non-destructive adding and updating based on using recursive functions (building logic as needed vs doing a, then b, then c). He also built in some options for taking care of the exceptions.
- This new Adilas Database Sync tool will have a huge time savings attached to it. Just a day or so ago, we migrated over 12,000,000+ records for a server to server migration. With Wayne's tool, we could set it up to do the sync even days before the actual migration process. It could run while you sleep and even run over days and days as needed. Then, when you are ready to do the final migration (deep pass over the data), most of the work would already be done and only new updates, additions, and/or changes would need to take place. That is huge. This also opens up possibilities of doing some mirroring and having back-up data servers. Very cool.
- We talked about using this database sync tool for doing for testing... We could copy over specific customer data, code against it, do the tests, and then go from there. Huge options.
- We briefly talked about Calvin's Auto Process Tool and custom code options there. Once again, both of these programs use server-side software to get major crunching power while still allowing for a normal web-based interface. Imagine what we could do if we built some connections between Calvin's auto process tool and Wayne's adilas database sync tool.
- We talked about how developing server-side software using something like C sharp is so much faster than web-based languages. We talked about how many levels of conversion the code goes through and/or does in order to run it... Imagine ColdFusion code being interpreted by Java and Java be interpreted who knows what, and that being interpreted into system or unit code, etc. You get the idea. There is also a huge difference in the timeout windows and how long process are able to run without manual and/or user interactions.
- We could schedule out long running tasks, report, exports, and/or other tasks. We could get away from web session timeouts. That would be awesome. Sometimes it feels like we are trying to fit the whole world through a revolving door (analogy of trying to hit the web timeout rules).
- We could also use some of the C sharp tools to flip indexes and database column level defaults. Some of these things are text fields currently set to latin 1, could be changed to UTF-8 format. We could change default dates and times from default dates of 0000-00-00 to 1990-01-01 (a real date value vs the generic placeholder) and default times from 00:00:00 to 12:00:00. Once again, we could skip all of the web session timeouts and just get the job done. All good things and it could be done very quickly with minimal clicking and babysitting. That is where the value lies. Good stuff.
Looking forward, I'm not sure what the future holds, but I'll bet that it will have both web code, server-side software, API sockets, and other hybrid type solutions. Each thing is good at a part of the game, we just need to mix and blend as needed to get the different jobs done. Exciting times ahead.
|Shop 3950||Adilas Time||8/15/18||
Tech support, emails, and checking on default dates and times. Some of the old code set default dates to a value of 0000-00-00 or a time of 00:00:00. Newer versions of MySQL database don't allow for those placeholder dates. Changed a bunch of values to be real dates but still generic default values.
|Shop 3978||Custom server migration project||8/14/18||
Wayne, Steve, and I worked on doing a custom data migration for 21 corporations. We prepped things, grabbed all of the custom code, images, scans, look and feel pieces (logos and watermarks), and migrated over 12,000,000+ records. All of that info and data was migrated to a new dedicated server. We had one database table that gave us problems. We ended up splitting it into multiple smaller pieces, in order to get it to migrate correctly. Good combined effort. Long night.
|Shop 3979||Working with Bryan||8/14/18||
Working with Bryan on the application flex grid flow and logic. We were going through concepts, ideas, and making notes. Still in the light planning stage but making some good progress. Towards the end of the session, Steve jumped in and we had some good discussions. Part of the process is dealing with a step-by-step approach and/or adding hand rails to the setup.
|Shop 3948||Adilas Time||8/14/18||
Working with Eric on rewards stuff and loyalty points. We went through a bunch of ideas, concepts, and scenarios. See attached documents for some rough plans and brainstorming. Still in the planning phase.
|Shop 3931||Adilas Time||8/14/18||
On the morning meeting with the guys. Bryan and I used up the first 45 minutes wrapping up where we were at on the application flex grid planning. Wayne popped in and reported. He has been sick for a few days/weeks. He will be helping out with a server to server migration project later tonight. We also talked about an existing project of inter-migrating data between two fully running servers. That is very deep and is actually a C sharp project (server-side software). Very deep.
Steve and I worked with Dustin and tried to help him on his mapping and custom dynamic settings page. We had to go back in time (on the code) and look-up some older values. They still existed, they had just been renamed and it made it hard to figure out if we were still talking and dealing with the same pieces.
Steve and I talked about how in-depth it would be to do a full server to server migration while the systems are up and being used. We went clear back to a project (world building) that started with Highland Vineyard and wanting a full duplicate copy of a corporation so that an older owner could have their data and the new buying company could have their own data. We have had a need here for a long time. It is totally unknown and might end up being a super huge project ($150,000+ level).
At the end of the meeting, Eric popped in to work on the loyalty point and such. We are going to get back together after lunch.
|Shop 3977||Planning Application Flex Grid Stuff with Bryan||8/14/18||
Bryan and I got on a GoToMeeting meeting session and worked on the planning phase for the application flex grid stuff. We went in and looked at the developer's notebook and did some light research. We then jumped in and looked over code that Will had written to help do cross corp transfers of invoices to PO's. We looked at the permissions, the request and grant access options, and then into the look-up and actual meat of the transaction.
We spent most of our time talking about what is needed and how we want the process to take place. Lots of planning and documenting. Bryan has the file where we are making the plan and doing the prep work. Good progress.
|Shop 3976||cross corp||8/13/18||
Talking with Bryan about cross corp mappings and PO/Invoice manifests. We also talked about Amex API's and starting a profile and then adding someone to the queue. These are all some basic projects that Bryan has that are either current and/or up and coming.
We looked at the old cross corp code between invoices and PO's. The old code was fully based on matching text based values. This works to a certain level. Where we need to head is allowing cross crop mapping and allow for variations and dynamic mappings. It needs to get away from hard text matching into actual id mapping. If you map to the id's, the text means nothing and it becomes easier. Steve kept saying that we want to slow down the existing process and allow for the users to help pick and point to different things along the existing process. That means we need to re-work the process.
I think it is so interesting that we are seeing a huge need for more and more cross corp mapping and application flex grid stuff. Pretty cool and crazy to see where things are headed.
We are seeing more and more needs to be able to add mappings and settings, inside of existing corps, even between corps, to help speed up the data transfer process. This could be from parent organization to child organizations or from vendor/manufacture to sub distributors and/or retailers. People need to move data from company to company and system to system. The better we can map things across those ranges, the better we can play the game. I think it is time to at least start working on the application flex grid stuff.
|Shop 3942||Adilas Time||8/13/18||
Calvin, Steve, and Brandon were on a meeting talking about using Calvin's tools and products. We talked about some existing pieces, ideas going forward, and even some future or vision stuff. Great meeting and making some progress. We plan on having a similar meeting with Eric to get some good open conversation happening. Both developers are some of our power house developers. They are very good and are super busy. However, they are so good, that our internal projects get pushed way down the priority line. We are planning on setting things up with them so that is it more on a straight work for hire or commercial basis vs long drawn out projects. Basically, doing a focused sprint vs a long multi-unknown, multi-variable project that is under funded and under managed. If we help them be more efficient, we will be more efficient. Making progress.
|Shop 3930||Adilas Time||8/13/18||
Met up with Steve and Dustin over the morning meeting. I was prepping things for a big data migration between servers. Dustin was working on his settings page. We went over some options and goals for his current project and worked together for a bit. Later on in the meeting, Steve was asking a report about labels and what is going on there. I made a call to Calvin and got a small update. We decided to meet around 1 pm to chat and talk about progress.
After that, Steve and I got on a phone call and talked about where we are going and some internal direction for how we want to deal with developers, budgets, and developer rates. We are seeing that some of the high-end developers are doing the external jobs for a much higher rate than we can offer internally. That is awesome if they get the work. Not so good for us, because our projects get lowered on the priority scale. By us paying them monies that they haven't even earned yet, we may be hurting ourselves. Imagine if you had monies coming in and adding up for work to be done, but you knew that it was less per hour. It then becomes a pain in order to get back to that because you know that the net value of that money is less than what you could earn somewhere else. It almost becomes a thorn in your side vs a positive pick-me-up. Anyways, we had a good conversation and tried to come up with some plans.
We have two bigger, higher-end developers, that we may need to pay their normal commercial rate and stop sending them residual monies. Kinda refactor things and help them fly at there normal commercial rate. That may help get our project back to the top of the priority pile. Interesting concept.
|Shop 3929||Brandon will be checking in||8/9/18||
Checking in on the morning meeting. I have been out of the office most of the week. Steve and I chatted this morning about the need for new independent developers and getting people into the mix and into the family. There is a real need there. We then merged in some code from his branches and pushed up files to all servers.
Looking over ideas for loyalty points. Lots of good info on element of time # 3778 in the adilas shop.
What is a liability? What are the differences between real and phantom values? We need the values recorded for both real and phantom, the difference is how firm and/or fixed the liability is. Steve mentioned a term called a "shadow account" (that exists, but may not be fully tangible). We also talked about how it is the actual company that is creating these phantom and/or shadow type liabilities. That kinda changes things... it is the company creating their own liability based off of a point system to encourage customer loyalty.
There seems to be two main part of the puzzle. How many points (ins and outs) and what is the value of those points? Lots of balance sheet transactions.
Simple to more complex transactions... simple gift cards or simple gift certificates, basic loyalty points, punch cards, in-store credits, coupons. As a fun side note, some of these transactions are subs of the balance sheet. Kinda like sub inventory but on the balance sheet side. Maybe we need to think about how the transaction takes place. Is there already cash on hand (paid in advance)? or is it just lowering the total owed, like a form of a discount? Who pays for what? What about coupons that a manufacture pays for or pays a part of?
On the main balance sheet items, we may need another switch to help us know if this is a main account and/or a sub account. We may also need to know if the asset, liability, and/or equity account is real or phantom (shadow). This is kinda fun, but we are seeing a fracture that is needed in order to record the balance sheet items. Everything is breaking into sub accounts.
Going back to discounts and special discounts... do we apply the discount to the cart/invoice on a whole or do we have to re-distribute that discount back through the system?
On a different note, we had a request from a client to be able to permission and/or fully turn off standalone discounts. Also, we are seeing that taxes make the discounts more complicated. We have options to do both in-line discounts and/or standalone discounts. Things get really fuzzy as you try to tax, especially with excise taxes and taxing things at the different levels (per item category, per customer type, per inventory type, etc.).
We had a great talk about "bad debt" payments. Don't worry about the words (verbage), think about the concept. That helps to satisfy the invoice (monies owed to us), the taxes are fully correct, but it is then showed as an adjustment to revenue (rewards, coupons, loyalty points, etc.) on the income statement. Both coupons and loyalty points are similar. It is the internal company basically saying "I'm going to cover that part of the invoice". We claim that that invoice and/or ticket is x dollars and has y amounts of tax. We then cover the invoice by real monies and/or monies that mean something, but no real money changed hands. Look deeper in this. The main difference is the verbage between bad debt vs rewards or loyalty points.
Maybe we should add some new standard payment types such as: Rewards, Loyalty Points, Coupon, In-Store Credit, Gift Card/Gift Certificate, etc.
We are seeing the need for a good mix of user-maintained pieces, system-maintained pieces, and possibly some mixed-maintained pieces (user and system). We are seeing this in the watchers, feeders, standalone declarations, time templates, settings, etc. We need to let them play where they can and need to, but also make sure they have the tools and pieces to get the job done, even if we control the pieces behind the scenes.
Eric would like to check in on loyalty points around 11 am for a couple of hours. He texted me and said that he was unable to meet today due to some things that came up. So, in the meantime, Steve and I had a great discussion and made some good breakthroughs. Good stuff.
|Shop 3928||Brandon out of the office all week||8/6/18||
Out of the office for vacation and family reunion on my wife's side of the family.
|Shop 3927||Brandon will be checking in||8/2/18||
|Shop 3882||Brandon out of the office all week||7/30/18||
|Shop 3897||Loyalty Points with Eric||7/26/18||
Fixing preset negative my cart favorite buttons (manual preset discounts and bogo's (buy one get one) deals). Then another session on smart group buttons. Ended up calling Alan and we went through thousands of lines of code. It came down to two or three lines. New code was pushed up and multiple emails and text messages were sent out.
A small history on what happened… Last night we had a report of a funky calculation that doubled the taxes. We fixed it for the updates. What we didn’t know was it unfixed it for the negative add process with tax included. So, as soon as we got that notice, we fixed the new error that we created. Long story short, there are multiple ways that things come and go into the cart. They could be positive coming in, with tax included, normal taxable, no taxes, auto discounts, customer or no customer, updated manually, flipped to a negative, preset to a positive (normal button), preset to a negative (normal discount button), etc. Lots of moving pieces.
|Shop 3885||Loyalty Points with Eric||7/26/18||
Eric and I were supposed to be working on loyalty points and gift cards all day, but we had to postpone due to other pressing issues. I spent the first part of the day merging in files and pushing up new Metrc changes (state compliance API socket stuff) as well as some new general cart/invoice rounding pieces. I then went in and started following an error that was recently added with a target price and a thing called with tax included.
I was following things around in code and then Bryan popped in. He helped me and we tried tracking down some of the new changes. Lots of moving pieces. The biggest issue was keeping track of positive and negative values. For certain things, we needed the values to be positive and then for others we needed to either force and/or allow things to go negative. Pretty deep. As a side note, Bryan and I ended up making a call to Alan who help us out (help, Alan, we can't figure it out). We made some changes and pushed up the new code.
Once we finished with that project, at least we thought that we had finished, we started talking about cross-corp mappings and application flex grid stuff. Bryan and I spent a good half an hour or more going over ideas, concepts, scenarios, and working with sample data in Excel. In the most simple way, cross-corp stuff is like saying x = y, and then you fill in the gaps and/or replace x and y. This could be part categories, invoices to PO's, expense types, or even adilas records to QuickBooks records (cross-application or cross-system mappings)
- talking with bryan about cross corp mappings and application flex grid stuff - lots of drawing, scenarios, and sample data in Excel
- we got told about a new bug with negative my cart favorite buttons being used... similar tax rounding issue.
Following code logic in the update cart page. This page is the first line of defense as a shopping cart is submitted and/or updated in any way. We had some general cart/invoice rounding logic way at the top of the page. I ended up moving it down lower and even trying to help it do the main page functions before any rounding calculations were done. It got kinda tricky as we were switching between local variables and more global session values on a per user basis. Making progress.
Bryan and I were working and going over some existing code for the cart/invoice rounding feature. This deals with the cart/invoice on a whole. We have been working on this project for the past couple of days. We keep getting closer and closer and pushed up some new changes today. We only tested things on data 6 but have plans to push code to all other servers very soon. The only current problem deals with exchanges and doing negative invoices or returns. There seems to be a sales tax bug that only shows up under certain scenarios. Those are the hardest ones to find and debug.
|Shop 3896||Adilas Time||7/25/18||
Uploading a number of new files that Wayne has been working on. Some of them required us to login to each server in order to set up some sub folders to put the new files in. There were about 63 new files and we had to push them to all live servers manually. Light tech support and emails.
|Shop 3880||Adilas Time||7/25/18||
Spent most of the morning meeting doing tech support and helping Steve and Wayne merge in some new code. Wayne Andersen is taking some our older code and turning it in to more object oriented code and script. Steve and I were looking over things and drawing up analogies to help internalize some of the new changes. It is kind of the old school meets the new school on tactics and logic. We looked at code and tried to digitally diagram and talk about what was doing what and what options that brings to the table. Kinda interesting.
I got a call from the Utah Workforce Services and they had some 1099 questions about tax year 2017. I spent some time getting them info, PDF's, numbers, and contact info for our independent developers.
On a phone call with Russell. We were talking about possible options for making an adilas community and an adilas open source app and/or apps. Lots of potential and good stuff. We will be talking more about that later on. I also spent some time wrapping up the day and recording notes. I'm kinda excited that today is the first day that as soon as I add some notes to my element of time (daily entries), they automatically shows up in the developer's notebook section. That has been a dream that has taken years and years to realize. Pretty cool. Yee haw!
Met up with Bryan on a GoToMeeting session to work on cart/invoice rounding (as a whole or on the cart as a whole). We mostly were working on cascading new rounding display options through the 5 custom shopping carts that are available by default, inside of adilas. As we coded them, we were chatting and talking and then testing the custom carts in the different modes. We should be able to finish this project up with one more focused session. Getting close.
On a different note, I mentioned to Bryan that we are headed to Denver in September 2018 for a week long training course. I offered him to go with us to help and we could pay him $1,000 to go and help. We also talked about some other fun things that we could do, there in Denver, while we are out that direction.
|Shop 3903||Adilas Time||7/24/18||
Alan pushed up some code for in-line discounts and dollars off for invoice line items (discounts after the fact in invoice land). Going through the code and checking things out. Made a few changes and pushed live up live.
|Shop 3877||Adilas Time||7/24/18||
On the morning meeting with Steve and Dustin. We mostly worked on our own projects. I was pushing up some code and changes for the adilas developer's notebook project. I made some small navigation changes and tried to make sure that the pages could be viewed with both a valid login (set session look and feel) as well as just normal generic look and feel. I then spent some time looking around and browsing some of the older entries. Talk about a trip down memory lane. Good stuff.
Working with Bryan over a Zoom session to figure out the cart/invoice rounding pieces. We checked some code, did some merging, and then started to work through the process of taking code on a single black box page and trying to integrate it with the main system and make it global for all users. We got the initial part done and then ran into some errors while testing. Spent some time going through things on a tighter level. We had to stop because we ran out of time. We'll hit it again later.
|Shop 3894||Adilas Time||7/23/18||
Back working on the final stages of the developer's notebook project. Looking over code, signing off on things, and getting ready to push things live. This project has been years and years in the coming. Thanks to Shannon and others, we have notebook entries that have been typed and digitized since the very beginning. Once we open this section up, there should be 5,000 to 6,000 historical entries from past notebooks, brainstorming sessions, meetings, and other planning sessions. Tons of great material. It will also be cool that we can search web ready elements of time from multiple corporations at the same time. No login required and ready for web crawlers to index and archive. Exciting.
|Shop 3888||Adilas Time||7/23/18||
Jumped on the morning meeting with Steve and Dustin. We briefly talked about some topics for the upcoming Denver training (9/11 to 9/14) Some of the recommended topics were things like: new cultivation processes, production and packaging processes, Metrc Specific topics, new sales tax stuff, new discount stuff, normal and advanced POS (point of sale) stuff, ecommerce, my cart favorite buttons, sub inventory, labels, loyalty points, etc.
We also talked about getting the graphical homepages into place and even starting with sales tax and invoice homepages. We would also like for the adilas developers to be able to present to us while in Denver... (merging in technology and live classroom stuff).
People who could help out: Cory from Pagosa Springs, Kelly Whyman, Steve Mitchel, Shannon, Russell, Alan, and other adilas developers.
After talking, we broke into a work session type scenario. We were all working on our own projects. I went back to working on the developer's notebook stuff and showing the historical listing of elements of time (for web indexing and web crawlers). We got back together for random questions throughout the morning session.
|Shop 3970||Working with Alan on cart logic||7/20/18||
Working with Alan on some cart logic. We also checked on some random bugs dealing with sub inventory and passing values off to Metrc for API socket connections. We got it all done and did some testing. It appears to be up and good to go. Great job Alan... you saved the day! Yee haw.
|Shop 3901||Adilas Time||7/19/18||
I called and talked with Alan a few times and then I got back on the GoToMeeting session with Steve. We rehashed a number of the earlier discussions and tried to poke holes in our plans. I was going through and writing examples out and then trying to beat them up. Basically, we had a plan, but it still had some cloudy parts in it. Our/my goal was to get a better picture of what we needed to do and what would work the best. After the meeting, I called and relayed some of the info and findings to Alan who was going to be doing some of the coding. It took a little bit, but I think that all of us are on the same page now. Hoping for some good work time tomorrow to get things back in order and fully set right.
This is a side note, but I sure can get flustered pretty easily. I'm working on it, but sometimes it gets the best of me. Oh well, life goes on.
Met up with Bryan and we chatted a bit about some of the existing options. We spent a few minutes and talked about using a receipt printer to open a cash drawer and some interesting things about the cart/invoice rounding pieces that we are trying to do and make.
I feel kinda bad, Bryan has been trying to get an appointment to merge in some code for the past three days. Each day, we've been hunting down bugs and doing emergency fixes. We will have to wait till next week. It is a good thing that "there will still be time... " (quote from 'Goose Girl' by Shannon Hale).
|Shop 3883||Adilas Time||7/19/18||
On the morning meeting with the guys. We had a number of random emails and tech support requests come in from last night and this morning. We spent most of the morning session brainstorming and talking about options and what we could do to help track things down. We even invited Shari O. and Drea into our meeting and got some of their feedback. They have been helping out with tech support and what not.
We determined 3 main things that were problems/issues. They were all dealing with rounding errors, tax rounding, and cart/invoice rounding. The other common thread was a tax category called "with tax included". What that means is we have to back into a known target (certain dollar figure) and then adjust the price and the taxes to perfectly match that target value. That may not see very hard, but it gets crazy tough in the backend. We did test after test, took notes, talked about options, and came up with a light plan.
Most of the coding was done by Alan Williams and myself. The others were mostly sounding boards, consultants, and extra sets of eyes. We demoed the cart/invoice rounding and the potential there. We also came up with a plan to help on the line item level and how to control the rounding. Alan had to switch some of the business logic around to make it work.
By the time the morning session was over, I felt pretty beat-up and thrashed. In the mean time... more emails and phone calls were coming in asking about updates and timeframes for getting things fixed. At the time, it felt pretty overwhelming with just a small hint of a plan. I'm so grateful for other players who helped shoulder some of the load and responsibility. Good stuff.
|Shop 3895||Adilas Time||7/18/18||
Emails, tech support, and fixing a few custom shopping carts. Paying bills and entering expenses.
Bryan popped to work on the cart/invoice rounding stuff but Alan and I were busy tracking down small bugs in the in-line dollars off discounts and other changes that were pushed up earlier today. We had to postpone the cart rounding project.
|Shop 3886||Adilas Time||7/18/18||
|Shop 3966||Setting up my work schedule||7/17/18||
Setting up the schedule for July, August, and first part of September. We have a couple big events and week-long activities that needed to be scheduled.
|Shop 3926||In-line discounts with Alan||7/17/18||
Working with Alan to finish up some of the global testing for the new in-line dollars off discounts. We are hoping to push up new files tomorrow morning. Lots of micro tweaks and some good hours and hours of testing and pushing on things. Good stuff.
Bryan checked in and asked about a couple of custom projects. One was dealing with showing a report for change due and reporting those values back to the client. I showed him the existing way of getting at the data and we briefly talked about some other options. His main goal was to merge in some cart and invoice rounding code but Alan and I were still in the middle of testing the changes.
|Shop 3900||Adilas Time||7/17/18||
The morning session went longer than normal. This afternoon block was used up in the morning session. See notes from there for more details.
|Shop 3878||Adilas Time||7/17/18||
On the morning GoToMeeting session with Steve, Dustin, Wayne, and Alan. We were all working on different projects. Alan and I were primarily working on in-line discounts and making sure that the new excise tax calculations were playing well. Lots of back and forth debugging. Wayne and Steve were working on new Metrc plants, packages, and cultivation stuff. They were working through a small date issue with the databases. Lots of testing and micro tweaks on all sides. It was also nice to have another pair of eyes for the different projects. Sometimes Alan was helping Steve or Wayne or I was helping Steve or Wayne. Lots of back and forth, all using the same meeting. Good session.
|Shop 3908||Adilas Time||7/16/18||
Working through various tech support and email requests. Took some time and got the new data 10 server fully updated and ready for service. Did some backend database work and bridged key adilas persons to the new data 10 server. Let Steve and Shari O. know that the data 10 box was fully live and ready. Worked on merging in code from other developers. I also got some paper work put together to secure the meeting room reservations for the next adilas training in Denver in September of 2018.
We were going to be working on in-line discounts with Alan, but it didn't happen.
|Shop 3892||Adilas Time||7/16/18||
On the morning meeting with Steve, Dustin, and Wayne. Steve and Wayne were working on a bunch of different things and updates to Metrc stuff (state compliance API calls). I was answering emails, light tech support, and checking on random bugs.
Working on some database updates and prepping things for some upcoming changes.
|Shop 3917||eXPO: API refund||7/12/18||
Working with Bryan and merging in some code for refunding Expo payments. This is a 3rd party solution and payment service. They are also trying to be a white label solution and help to resale adilas using the Expo name.
Part way through, Shawn showed Bryan and I some YouTube videos that he made with multiple takes of himself singing the same song. He said that it might be fun to do something similar and have adilas both show a teacher and a student and show some basic adilas concepts. Great idea. Who says it has to just be one person. It could even be animated and/or two fun characters having a conversation. It all comes back to time and available funding. Some fun ideas.
|Shop 3902||Adilas Time||7/12/18||
Working with Steve on some custom error messages and trying to help point the users to what is needed (better info). Also sent out a couple of emails dealing with some internal changes for our developers. Paying bills and merging in files.
|Shop 3887||Adilas Time||7/12/18||
Steve and I were talking about how we really want to change up the existing homepages to a more graphical homepage of sorts. We currently show the last 30 days worth of data (raw line by line records). We would like to switch things up and show more stats, charts, and easy access to data subsets (today, yesterday, this week, last week, this month, last month, etc.). It will look better and should be much faster on the processing side of things. We really need to look into this. We have wanted to do this for years. Maybe now is the time.
Working with Steve on merging in his code branch. Had to fix a few small merge conflicts. We also had to do some URL encoding for the JSON data storage stuff. We had some clients that were adding "nick names" (in double quotes) to the customer records. This was causing problems as we pushed things into JSON for data storage. Anyways, we got it fix and keep moving on. Good stuff.
|Shop 3916||Server 10||7/11/18||
Went over to Bryan's house and worked with him on two new servers that are being setup.
|Shop 3898||Adilas Time||7/11/18||
The plan was to be working on in-line discounts with Alan. However, we had a power outage and I couldn't get online. Nothing was really done on this.
|Shop 3879||Adilas Time||7/11/18||
Morning work session. Helping Steve with some code to show the top 15 customers and then saving the settings to populate some of the retail homepages based off of the top 15 customers. Bryan came on and had a few questions about some of the new servers that are being setup. We had to go in and work on some dates and default pieces for the new server setup process. Both Dustin and I were working on our own projects as well.
|Shop 3905||Adilas Time||7/10/18||
Working with Alan on the in-line dollars off discounts. Lots of testing, taking notes, and making small tweaks and fixes. Both Alan and I were working on different little sections, bug fixes, and formatting issues. We would then communicate and then pass code back and forth through bit bucket and git (code repository stuff). Pretty cool. Great combined session.
|Shop 3891||Adilas Time||7/10/18||
Steve, Dustin, and I were all on the morning meeting. I was working on the developer's notebook pages and project. Currently working on a page that shows web ready (public entries) elements of time in a grid type breakdown by month and year. The goal is to help web spiders and other web crawlers to be able to get to the elements of time and then index and archive the content easier. This is a big part of the developer's notebook project.
Our underlying goal is somewhat of an attempt to help publish and publicize some of the core concepts that adilas.biz is build on. Going way back, we went to a workshop on intellectual property and how to patent, copyright, trademark, etc. As part of that, they said that if there was prior art or prior work, you couldn't do the patents, copyrights, and trademark stuff. So, in a way, we are trying to make some of the core concepts become part of the public knowledge bank. We are basically trying to make it so that the core concepts are unable to be patented or trademarked. We need them to be open and available for all entities.
Wayne popped in and he showed us some server monitor stuff using a Nagios server. We setup some server monitors for all known servers.
|Shop 3906||Adilas Time||7/9/18||
I started out the afternoon session doing emails and tech support stuff. Numerous emails and some phone calls. I then worked with Alan on testing in-line dollars off discount code. Alan was fixing bugs while I was testing and taking some notes. Good session and we fixed a number of tiny bugs. Most of it looked pretty good.
|Shop 3881||Adilas Time||7/9/18||
On the morning meeting. Wayne popped in and wanted to get permission to setup a server to help monitor the other servers. We talked about it and decided to let him setup a server on AWS (amazon web services) to monitor our other servers. He will build things out and then report back to us on the progress. Basically, that allows us to experiment without jumping in hook, line, and sinker.
We spent a good portion of the meeting going over code, options, and answering questions. Back and forth between myself and Steve. We also talked quite a bit about optimizing database and queries. Light tech support to help Steve, Dustin, and Bryan. Around 11 am, Bryan popped in and we worked on a server primary domain mapping issue so that new and/or white label custom domain names could work with the adilas.biz application. Made some tweaks and pushed up new code.
Emails and other tech support stuff.
|Shop 3915||Friends in town||7/5/18||
I've got some friends in town from Alaska and they are leaving tomorrow morning. I wanted to spend some time and catch-up with them. I will be out of the office for the last part of the day.
|Shop 3907||Adilas Time||7/5/18||
Helped Bryan out with some random query questions and small bugs. We looked at some code and decided to simplify things a bit. Lots of talk about fake fields, queries of queries, conditionally adding certain pieces back in to the mix.
Light checking on the developer's notebook files.
|Shop 3890||Adilas Time||7/5/18||
On the morning meeting with the guys. We were looking into stuff on data 5. We found that there were 10,000+ hits on the searchQuotes API socket. That is 1 hit every 5-10 seconds. That method alone was joining 4 or 5 tables and filtering through 500,000 records per call. We got Calvin on the meeting and then talked about possible options and watched some of the CPU monitors on the data 5 box. We talked about a number of possible solutions.
- talked about options such as: indexing queries, tables, re-writing API sockets, looking into ColdFusion settings, bigger processors, more ram, etc.
Towards the end of the session, we also looked into the refresh rate and queries that run on the mmj_home_2.cfm page. This one was doing a refresh and joining 150,000 customer records and 500,000 invoices per corp to figure out the top 15 customers. This query was being run as part of their homepage with an auto refresh rate. We talked about running that query and then doing a local cache of that data on a per day basis vs every page request. Just looking for ways to speed things up.
|Shop 3875||Happy 4th of July||7/4/18||
Enjoy the day and have fun with family and friends.
|Shop 3914||round cart||7/3/18||
Met up with Bryan to go over some of the cart and invoice rounding pieces. We looked over some code, did some merging, and then pushed things live. We also got Anthony with All Greens on the Zoom meeting and watched him go through his process a couple of times. It is fun to watch how fast of these guys get while using the system. We took some notes and made a few small changes.
|Shop 3899||Adilas Time||7/3/18||
Nothing really happened here. The morning meeting went late and I wasn't able to get back to anything during the early afternoon.
|Shop 3884||Adilas Time||7/3/18||
Dustin, Alan, Wayen, and I were on the morning meeting. Small demo by Wayne on object oriented coding. We were seeing all kinds of service objects, data objects, database access objects, and other models. This all goes back to the keeping the data, the validation, the business logic, and the database stuff all on different levels. That just makes the code more re-usable and more logical to follow (both internal and external). All of this makes things more modular and easy to use.
We spent a little bit of time talking about MVC's (model view controller). Each area is different. You have the model, the view, and the controller piece. They are all kept separate and run on their own levels. You can then mix them as needed. We talked about DAO's (data access objects) and using universal getters and setters to get at the data and the sub pieces of those concepts.
The guys were getting into what will and won't work and why. They were talking trade-offs of simplicity vs flexibility and other factors. Other topics ranged clear out to security, XSS (cross site scripting), SQL injections, etc. They were talking about transactional records, commits, roll-backs, try/catches, and other safety measures. They were talking table level locking, application flow, traffic, scalability, and usability.
They were talking about unit tests, global testing, and other pieces. Standalone tests, mock-ups, and sequence tests. Having their testing already ready and done really helps them to go in and change things with confidence. Test driven design and getting that peace of mind, knowing that you have a number of prebuilt and preselected tests to run on your old and new code. It is a real time saver and helps them have the confidence that things are working, even with changes.
We are changing the implementation (how things are done) vs the background core principles (why or what is being done). Pretty technical discussion. These guys are masters and are good at what they do.
We are trying to get the entire application out to the web/API socket level. We need a way to structure things and yet have modular data and open access to all.
After the demo/meeting we all split up and worked on our own projects. Steve, Alan, and Wayne kept working on some Metrc plant code. I was working on the developer's notebook project. Then after that, we jumped into a discussion about servers, virtual servers, and how to help optimize the different servers. We were talking heap sizes, through put, and other optimizing and server asset management options.
Popped in to the afternoon GoToMeeting session. Dustin and I chatted about a possible conference room in the Denver Tech Area. I worked on the developer's notebook pages and being able to show media/content as part of the pages. I also did some emails and phone calls. Light tech support.
|Shop 3893||Adilas Time||7/2/18||
Working on the developer's notebook project. Checking pages and going over code. Also got a call from Calvin and we touched base on some Campaign Rise stuff. Lots of new mapping and even some virtual directories to make it work with both adilas domains and the campaignrise.com domain.
|Shop 3876||Adilas Time||7/2/18||
On the morning meeting. Did some catch-up with Alan and also with Steve. I then worked on a couple of bugs and small tweaks. Worked on the customer types and tax settings as well as cart and invoice rounding stuff. Pushed files up live and did some testing.
|Shop 3873||Working with Bryan||6/28/18||
Bryan and I connected to work on the cart and invoice rounding options. We were trying to track down bugs and get things stabilized. We still have some hanging pieces, but we're getting closer. We may need to re-do this feature so that we get it right... It seems like it is getting kinda muddy (code wise).
|Shop 3868||Russell||6/28/18||Working with Russell over a Zoom session. We were looking into some invoice due date code and trying to back merge things between the master code branch and the invoice due date branch. That project has been on the sidelines for a couple of months and it is amazing how quick the code can get out of date and/or out of sync with the master code branch. Pretty crazy.|
|Shop 3853||Adilas Time||6/28/18||
Working with Calvin over a Zoom session about ColdFusion mappings and paths to cfc's and across domains. Deep mapping stuff.
|Shop 3778||Adilas Time||6/28/18||
Light talks about big data and fully tracking all sales clear out to the state, county, and city level. It is amazing how much the word "tax" or "taxes" play into the mix. Lots and lots of changes.
What if we built the application to help record the sales tax information so that it could be world wide. This would have to be on a per transaction basis. We already do this on stock/units and stamp the current tax rates, taxes, and customer location per stock/unit purchase. We also have some built-in functionality where an invoice could be sold from one location and then flipped to a different location and thus changing the full sales tax pieces.
We also talked about some of the underground and black market pieces that will come from some of these choices and decisions. Huge requirements usually drive certain people to a more hidden and/or underground market. Kinda interesting.
This whole conversation is part of what is going on. We at least need to know and acknowledge that some of these changes are going on.
Eric popped in and we switched to talking about loyalty points. One of his main questions was, are we using a line item to lower the total of the cart (redemption points) or are we using some kind of special payment type for loyalty points? Great questions. Eric came back in later and we spent some time talking about line items vs special payment types. What is a loyalty point? Is it a special account that doesn't really play into the financials or does it? Are the redemption of loyalty points a virtual discount or does it affect an actual liability that is recorded somewhere on the financials? Eric is using cart favorite buttons to help setup some of these systems.
We are seeing that most of the people want a standard value for the loyalty point. Some people have wanted variable point values. One of Eric's main question is dealing with the difference between how to accumulate and redeem the loyalty points. Is it a line item or is it a special account or special payment type. We are seeing special payment types coming more into the mix. Are loyalty points a real liability or are they a phantom liability? What happens if the loyalty points are variable? Does that mean that the phantom costs of that liability can change?
We also talked about special tracking accounts... Are these real, like a gift card or are they virtual or phantom like a loyalty point? They could potentially play slightly different. One of the challenged are wanting loyalty points having variable values based on time (dates and times) and/or what is going on in the cart (certain sales, promotions, or campaigns). The variable changing loyalty points could be a problem in tracking what the phantom liability is.
Maybe we could track all loyalty points and gift card stuff in the special tracking accounts. We then allow for the main account types to be real and/or phantom based. That way we could pull a real asset, liability, and/or equity account or a simulated (fake and/or phantom) asset, liability, or equity account. We really need to track all of the in and out values. Then we need to record what happens as those items are used. There may be a point value and a dollar value. They may even be different based on time. The value of time is going to be playing more into the mix on how these points are going to be used. Interesting, the loyalty points are becoming a form of currency and we need to figure out how to apply that. It goes beyond a simple discount and gets into an additional payment type. In a way, the question is what is the value of the loyalty points? Is it a discount or a payment type? We are seeing that people want to have both and even mix things to make it feel like the deal is even better.
We may need some tools that allow them to set things up and then the system will play by the rules that they setup. We need ways to add/edit loyalty points through a virtual interface. Everything needs to be tracked on the special tracking accounts. We can add (manual or automated) and we could subtract from the virtual account through both manual and automated action.
What if we allowed the users to setup the rules if they are using line items to add and subtract on an invoice or if they are using special payment types and how that affects things. Basically, we build the tools that are very generic and flexible and then help the users setup their own goals, needs, rules, and usage options.
After that, we jumped in and worked with both Steve and Dustin on merging in their code branches.
|Shop 3872||round cart||6/27/18||
Working with Bryan on the cart and invoice rounding project. It gets pretty deep and lots of virtual fake values (smoke and mirrors) in the view cart page. Going over the logic and trying to standardize things.
On a Zoom session with Russell. We spent the whole time looking over and prepping on the invoice due date project. It has been a couple of months and we need to get back to that. Most of the session today were reviewing, prepping, and light planning.
|Shop 3850||Adilas Time||6/27/18||
Working on media/content for elements of time outside the secured environment.
|Shop 3785||Adilas Time||6/27/18||
On the morning meeting. Steve was talking with some white label guys and talking numbers, sales, and options. It was fun to listen in from the background. Bryan jumped on and we did some code tweaks for some new invoice and cart rounding options. We pushed up files and did some testing. We found a small error and made a quick fix. We only got a couple of calls and we mostly were able to sneak pass the error without anybody knowing there was a problem. Everything should be good to go now.
Steve was saying that Alan said - "We sell our clients a system that does x, y, and z for a price and they are happy. Then a couple months later they want p, d, and q for the same price. That is not a standard software model. Normally, software creates a version, sells it, and then works on the next version. If you want the next version, you have to pay for it. We are somewhat working on a continuous release type model. It feels like we are trying to work on a car or truck as it is rolling down the road at 50 to 60 miles an hour. Pretty crazy.
Talking about options for bulk editing tools. We talked about being able to edit things on a one-by-one basis, bulk editing, short cuts, and also a matrix type interfaces. It is very interesting that as we paint the picture more and more, better and better, other people can see and catch the vision. They start helping to push us to faster and faster and encourage us to be more efficient, and have better flow. Pretty crazy, client feedback driven type functions and models. It almost leads itself, if you will let it.
I was working more on the developer's notebook project and getting photos, scans, and images ready to go. I also started to work on the media/content (uploaded files) pieces and getting that sub section tied in.
Towards the end of the session, I helped Dustin with some custom cart labels and where and how to get the data to populate the custom PDF labels.
|Shop 3871||Helping Campaign Rise with domain stuff||6/26/18||
Got on a call with Jared from Campaign Rise. We chatted and went over some of the domain things and pointing issues that we are seeing. We used GoToMeeting and I showed him what I was seeing and then we got on a conference call with GoDaddy to help manage the domains. After that, I called Newtek and tried to work with them to get some help with the domain pointing and different records and such.
Spent some time on the serves looking around, changing things, trying things, and hopefully getting it to work. Kinda random. Also spent some time on the phone with Newtek trying to get help from them.
|Shop 3869||Servers 10,11 & 12||6/26/18||
Working with Bryan over a GoToMeeting session. We were working on how to better implement the cart and invoice rounding features. We did some drawings, recorded some notes, and then did some light coding so that Bryan could see where I would take it if it was my project. I then sent him the files so that he could make the changes and start the coding process. See attached for some of the notes.
|Shop 3851||Adilas Time||6/26/18||
Working on the developer's notebook project. Working on a new photo gallery for elements of time and showing photos, images, and scans outside the secured environment.
|Shop 3787||Adilas Time||6/26/18||
On the morning meeting with Steve and Dustin. I spent some time getting back into the developer's notebook project. We are trying to get some our brainstorming and info out to the world so that we can protect things like business or 3D world building, business or 3D data assembly line concepts, and other core adilas concepts and pieces. There will eventually be tons of different options, as far as code and application features go, but we really want to protect and help educate the general public about the core concepts and pieces that we are built upon. That is a huge part of the goal.
Helping Dustin get some custom labels going and helping to populate them. We had to fix a number of small coding issues. Good learning session.
Emails, tech support, and code management stuff. Trying to get things back on track after being gone.
|Shop 3865||push project||6/25/18||
On the GoToMeeting session with Bryan. We talked about the dedicated servers that he is bringing up and their state/status. We then spent some time talking about the invoice rounding project to get invoices to a whole dollar value based on remaining cents and spare change. Bryan got on the branch and showed me a small demo of how things work. It seemed to work great, the only problem was dealing with the logic flow and when the cart would flip to the different dollar value. Basically, the cart would be what it was (whatever the dollars and cents were) and then it would do the rounding once the checkout button was clicked. The logic seemed fine, the only disconnect was the visual of when that invoice rounding would occur.
|Shop 3852||Adilas Time||6/25/18||
Jumped back on with Steve and Dustin. Light flex grid tie-in training for Dustin and showing him how to get some of the data back that he was looking for. We ended up creating a spreadsheet and looking at the flex grid tie-in stuff in super simple form and format. Good session.
|Shop 3779||Adilas Time||6/25/18||
On the morning meeting with Steve and Wayne. Light catch-up from missing a week at scout camp. We then got a small demo on some of the code that Wayne is writing for the data transfers and data migration stuff. He is adding in universal unique identifiers (UUID's) and data check sums. On the data check sums, Wayne was taking in all of the data, fields, and values. He was then putting all of that together, running a special hash on the data, and the storing the smaller hash value. Then later on, he could compare that smaller hash value to another smaller hash value to see if any of the other pieces had changed. So, in real life, imagine a database table that has 50 columns of data and thousands and thousands of records. If each record (set of all 50 columns worth of data for a single record) could get a small little hash for the grand sum of the data. If anything changed, the mini hash would then change. This helps so that you don't have to individually check each of the columns and data to see what has changed. Great idea and huge time saver.
This is also really important for migrating data while a customer is working on things. If the hash remains the same, you know you have the latest data (all synced up). Very creative. You just need to make sure and update the small check sum if anything changes. That is kinda the key. This is the same process as a last modified date, but deals with data vs dates. Similar concepts.
Part way through the day, we got called out and had to do some major work and checking on the data 2 server. There was tons of web/API socket activity and it was bringing the server to its knees. We ended up disabling the data 2 API socket access port and did some checking on the local server. There had been over 72,000+ web/API calls this morning alone. We figured out that many of the calls were dealing with full invoice details and customer data look-ups. That raised some questions. After running a number of queries, we had some conversations about dedicated boxes, API socket access, and how to help monitor and load balance things. See attached for a few of the queries that we ran on the data 2 box to check things out.
|Shop 3776||Brandon out of the office all week - scout camp||6/18/18||
Scout camp with my son Tanner.
Working on the developer's notebook section.
New part of the plan that we want to include into our model... If someone wants something... we get some upfront money to make a plan, no promises on deployment until we get a valid plan and get it approved. Then once we have a plan, we start working that plan. We have an abundant model and we could get even our lowest level developer work on it once we have a good plan.
We just want to make it work - Part of that is allowing our clients to help push new development by making a plan and then working on that plan.
If we have a plan and funding, we can open up our model to progression. Those are two huge pieces of the puzzle. Think of an abundant model - lots of options.
Talking with Russell on the phone about possible future options for using Bridgerland as a source of developers for future adilas projects.
More time working on the developer's notebook section. This has been a goal for years, just now circling back around on that project. Good stuff.
Bryan popped in and we chatted about a couple of things. He needed some help with some custom email pages. We also talked about servers and did some light training on URL encoding of URL strings and values.
|Shop 3854||Adilas Time||6/14/18||
Tried looking for a sub inventory error. Unable to find it and/or duplicate the error. Started working on the developer's notebook page. Trying to get some of that data out and on the web. This is the way we can help protect the main core concepts that the adilas platform is built on. Good stuff.
|Shop 3784||Adilas Time||6/14/18||
Talking about people and how to organize and plan the projects that are needed. Lots of talking about putting people in play where they can shine best.
We did some code merging for Steve's and Dustin's branches.
Finished up the code for the ability to filter sales tax reports and advanced invoice line item searches by customer type. Pushed up new code and did some testing.
|Shop 3860||Servers 10,11 & 12||6/13/18||
Bryan and I met up on the GoToMeeting session. We went over black box stuff for alternate text values for barcodes, new corp-wide settings for invoice rounding, and then new server stuff. Trying to keep all of the pieces moving forward and rolling in a good direction. Busy times.
|Shop 3855||Adilas Time||6/13/18||
Light tech support and checking some remote data for a client. I ended up removing the bad data and then letting them know. The problem was having "double quotes" in a vendor name. It was causing a problem with some stored JSON objects.
|Shop 3780||Adilas Time||6/13/18||
Talking about creating a smaller sub theme in adilas and called it "fracture". This would end up being an adilas fracture account. We would like to rebuild things from the virtual ground up and add in all of the subs of subs and database field level control. This would be a full on internal white label and/or internal theme that goes down to the micro level. This deals with database field names, settings, permissions, and all of the sub settings and sub permissions that are needed. It could also deal and use smaller getters and setters as well as individual databases, custom API access levels, etc.
This is kind of a dream, but it would be so cool if we took the time to virtually rebuild the entire thing from the ground up and use and apply all of the ideas and lessons that we have learned getting to this point. That would be really exciting. It would really be cool if we had the money, funding, plan, and people and talent assets ready to play the game as well. That would be a huge but awesome project. Just an idea and/or a dream at this point in the game.
Talking about scalability and how to manage up and down swings without shooting ourselves in the foot. We were talking about load balancing and monitoring usage, storage, and bandwidth.
We have been seeing some light push back on price from the consultants. Basically, they are charging a certain amount and then promising that our services are and/or will be a certain rate for life.
We are also seeing that some of our clients are growing as they come on to our systems. That is hard to know what is going to happen when they first start up.
Technology keeps changing and pushing things forward. This is a crazy world and we need to build on the dynamic changing environments that happen all the time. This is not a static model.
Traditionally, software companies build versions and then release that version. They then build in the background and make the next version and then plan the release of the next version. Our model is literally build and deploy on a daily, weekly basis. Alan was saying that our clients are paying for what the current adilas system does and can do... they are not paying for the future developments. However, some of the client demands are almost all speed, bulk, and future related.
Tons of cause and effect relationships, pros and cons, and maintenance things... lots of talk about concepts, styles, and preferences.
After our discussions, we all went back and worked on our own projects. I was working on adding in the customer type id filter for sales tax reports and advanced invoice searches. Steve and Dustin were working on Metrc API pieces and bulk QR code labels. We also had both Wayne, Alan, and Calvin pop in and help with different questions and projects. Busy work section. Also some light phone calls and tech support stuff.
Longer email responses and tech support.
|Shop 3859||Out of the office||6/12/18||
My son and I have scout physicals in Logan.
|Shop 3856||Adilas Time||6/12/18||
Emails and tech support
|Shop 3786||Adilas Time||6/12/18||
On the morning meeting with the guys. We were working through different projects. Alan was helping Steve with some Metrc tables and pagination for auto updates. I was then helping Steve with some bulk PO line items and doing custom bulk labels. We spent quite a bit of time working on the merge options and how to make things stick and work. Spent tons of time trying different things there.
|Shop 3838||Data migration from data 3 to data 8||6/11/18||
We need to do a custom migration of corp 1048 from data 3 to data 8. This corp got missed in the initial migration process. It could get a little bit tricky.
As a side note, this didn't happen due to some technical issues. We will have to reschedule.
|Shop 3857||Bulk print||6/11/18||
On a GoToMeeting session with Bryan. We covered a number of different topics. Some of it was merging in code, quick questions and answers, and working on an error out in the shop area. We took quite a bit of time and really looked deep and finally found what we were looking for. There was some code that was custom that had been commented out... it was actually needed, so we put it back in and just made it hidden. It took quite awhile to find it, but a pretty simple fix once we were in the right place.
|Shop 3849||Adilas Time||6/11/18||
Working on adding customer type filters to sales tax reports and advanced invoice searches.
|Shop 3858||Taxes by customer type - new filters needed||6/11/18||
We have had requests to expand some of the functionality on both tax searches and invoice searches. We need to be able to filter sales tax values based off of a single customer type. They can add a limit by customer type on the add/edit store/location pages, but they can't filter the search results based off of the customer types. That needs to be added on the sales tax report, advanced invoice line items, and the super advanced invoice line items pages.
|Shop 3783||Adilas Time||6/11/18||
On the morning meeting. Wayne and I were trying to figure out cross server datasource names (DSN's). We kept getting denied and couldn't get it to work. Wayne was going to call Newtek and have them help check on things. He later reported that he was able to get things fixed. As part of the morning, I got an email stating that something was causing a problem out in ecommerce land. I did some checking and made a couple of quick tweaks. Hopefully that will help. It is amazing how many different things we need to be aware of in order to make things work. I am so grateful for our user base that communicates needs, errors, and requests. It makes adilas into a live and growing idea farm, and that is super cool. Good stuff.
Towards the end of the meeting, Steve and I were trying to check some errors on the data 2 box. We were logging in, checking database tables, and then looking for other possible errors. We talked about error handling and ways to help all of us out in the process.
|Shop 3848||Working on reoccurring elements of time||6/7/18||
Working on adding in links to get to the setup reoccurring elements of time and/or the duplicate time page.
|Shop 3847||Russell Moore||6/7/18||
Russell got a hold of me and we did some code sign-off and merged in some new news and update feeders and custom feeders and footer options.
|Shop 3846||Menu Board||6/7/18||
Did not meet with Bryan. I was on the meeting for about 20 minutes and then Russell called and I jumped on to that project.
|Shop 3807||Adilas Time||6/7/18||
Fixing some code for Eric. He sent me the code and I made the changes for him and pushed things up and live. More captcha image stuff. Pushed the captcha image stuff live for the contact us email forms.
|Shop 3788||Adilas Time||6/7/18||
Joined the morning GoToMeeting session. Russell, Steve, Dustin, and Alan were on. We did some light code sign-off for Russell, Steve and Dustin had a couple of questions, and we mostly just worked. I was doing captcha images for our contact us email form to help with security. A captcha image is an image that has letters and numbers, randomly displayed as part of the graphic. The goal is to make it human readable but harder for a machine due to the random spacing, angles, and font faces on the image. The theory is to lessen the chance that a robot or bot is submitting the contact us form.
|Shop 3845||Out of the office||6/6/18||
My brother is graduating and having a family party.
|Shop 3805||Adilas Time||6/6/18||
Light tech support, emails, and then back working on the revolving password for the email and contact us forms (options for sending emails). Finished up the revolving password for the email forms and pushed up new code. Asked Newtek to re-enable the email@example.com email address.
|Shop 3782||Adilas Time||6/6/18||
Doing code sign-off with Russell. He is getting better and better at running tests and creating his own components. Coding once and using many. Wayne jumped on and had a few questions as well. After that, Steve and Wayne were talking about smaller functions and using getters, setters, and smaller functions.
Cory jumped on and was talking about inventory thresholds and buffers for inventory levels. We talked about simple maxes, mins, and buffer levels for single items and single locations. To really do it well, we need to get it to a full on multi-location level so that we can play the game. They also talked about some bulk print options on the PO side of things (ad the users bring the items in to inventory). That would really help them save some time. The other request was dealing with really small barcodes and really small labels.
Cory and Steve then talked a ton about custom check in/out flow, sub queues, ecommerce, personal devices, and getting people and items into the system as quick as possible. We have tons of these features built out, we just need to know how to combine them. It is interesting that each client needs a slightly different mix of how they want to organize and control the flow of both customers and products. Very interesting.
While they were talking, I was working on adding in rotating and revolving password for the contact us pages (email forms). We had someone go in and try to hack things and use our contact forms for sending spam. We live in a crazy world.
Pushed up code to allow people to get to the live training event videos. Recording more notes and such. Reading over some notes that I got from Dustin that he took from the training event. Good stuff.
|Shop 3808||Menu Board||6/5/18||
Talking with Bryan about menu boards and options for storing the data. We also talked about rounding shopping carts and some of the pros and cons of things like that. Lastly, we talked about default dates for databases and some of the servers that are coming online.
|Shop 3806||Adilas Time||6/5/18||
Working through the to do list stuff. Recording bills, receipts, emails, and light tech support.
|Shop 3781||Adilas Time||6/5/18||
Joined the morning meeting. Briefly checked in with Steve, Alan, Russell, and Dustin. I was uploading photos and scans for a data migration while going through emails and what not. Doing small to do list stuff to try to get somewhat caught up on things. Uploading video files from the training event, recording notes from training, and entering bills and such.
See element of time # 3699 for tons of notes and video links from the live training event.
|Shop 3789||Custom migration for Data 8||6/3/18||
Late night, after hours, working with Wayne on a custom data migration. We had 6 corporations to move off of data 3 and onto the data 8 server. That server, data 8, has been ready for almost 6 months. We were waiting for the sales tax updates to happen and take place prior to the migration process. We finally decided to just do it. Anyways, Wayne and I jumped on and did some prep work. We started pulling data for the corps and transferring it over to the new server. We then had to go through each folder on the data 3 box and make sure that we had the latest and greatest files for the new data 8 server. That took quite a bit of time.
Towards the end of the session, we had two database tables that were giving us problems. We had to switch tools in order to get everything migrated. Then at the last second, we found out that we had one other (newer) corporation that needed to be migrated. By the time we started onto that one, the clean migration process ended and the new data 8 server started getting used by the company. The last minute request for the new corporation failed in a number of places due to duplicate id numbers. If we would have known about the seventh corporation before hand, everything would have been ok. But we didn't learn about it until users had already started working for the day and thus claiming new database id numbers. Pretty crazy.
|Shop 3699||3 Day Live Adilas Class||5/29/18||
Live Adilas Class. Logan, UT - Bridgerland ATC, Custom Fit, Room 810 (computer lab). We had 4 live paying clients and a number of internal team members in the class. We had Steve, Shari O., Dustin S., Alan, Bryan, Calvin, Russell, Shawn, Jeremiah, and myself from the core adilas team. Not all of them were there everyday, all the time, but they all came and participated quite a bit of the time. We also had a number of folks join us online in the GoToMeeting sessions. We recorded all of the training except for two main sessions.
Here are some links to the videos.
- The need for more one-to-many relationships
- Light request for more settings on the main salesperson and other salesperson settings - be able to split the names instead of just one setting.
- A custom preset on permissions "copy and/or duplicate" permissions.
- Setup a master and then apply those settings. This could be templates and/or master files - a virtual job description.
- Floating up and down nav to help minimize the scrolling.
- The power of "templates" - elements of time, sub inventory, payee/users, look & feel, etc.
- Start by setting up the templates and then assign them as needed - that makes a great starting point.
- Corp-wide settings and allowing you to set certain verbage stuff.
- Bryan Dayton was showing the adilas market (adilas world). We really need to get others into the marketplace.
- While Bryan was showing his profile... I was thinking that we need to help him get some better screen shots for his demo graphics. You could tell that they were done with a low end and/or free graphic editor (kinda fuzzy and pixelated).
- It helps us to have a flow and/or a clear picture (talking about custom code and custom development).
- Small demo on a custom dashboard for Global Design
- Steve and Shari O. were talking and doing a demo together. Steve was talking and Shari O. was driving. Later Steve and I did similar things. It really helps to split that load and have a helper. The person talking can focus on what they are saying and the demo person (driver) can draw, highlight things, and show focus areas. It seemed to work out quite well.
- Steve and Shari O. started out in a coffee shop and did some quick split cart stuff. They then went into some of the corp-wide settings to show how they were able to do what they were doing. Good flow from normal usage to how it is done based off of settings.
- Eventually we need a deep merge (find and replace) on customer records.
- Our users would like to be able to compound a discount. For example: double up points, do a 1.5 mark-up, etc. Lots of time based sales and promotions.
- Some of the these white label options should really build out and use all of the pieces.
- Page and function level settings
- Interesting topic of hardcoding & concepting vs dynamic code & production - speed, limited scope, and testing.
- Being able to lock-down certain pieces, features, and virtually ice things down (ice-down dates).
- Also, interesting as we get deeper and deeper into the industry specific code... the verbage, lingo, & the flow are really important. That is what makes it feel like native or custom code or custom software.
- Comment from Dustin - We need guide rails, guard rails, settings, templates, and easy configuration options. Help lead the people down the paths that we want them to go.
- On the data tables - it sure would be cool if you could sub filter things. It comes down to space, coding, page real estate, and planning. People want more and more custom options - to setup their flow, work space, and environment (requests for deeper and more robust world building options).
- On numeric entry fields, show the unit of measure to remove the questions (if applicable).
- Making the label options show up and be available from multiple pages and such.
- Settings are preset choices & decisions - super important.
- On Calvin's tools... Just an idea, but what about dynamic or user input boxes and text fields? This is for text that may be added on the fly. He currently has static text, HTML enabled text fields (allows formatting), and dynamic look-up text (text fields mapped to data or dynamic output). What about user input text boxes?
- Making labels and empower the users.
- We had a client/participant that recommended that we put a small icon on each page that could be a default homepage and then have a quick link to set it as the default homepage. Great idea. Basically, let them navigate there (to the actual page) and then set it as their homepage if that is what they want.
- When starting the class, for someone who is brand new... it might be nice to give a 15-20 intro and general overview. We just started out and jumped right in. Basically, somewhat of a canned explanation of what is adilas and what do you get with this software package. A really simple and organized intro.
General To Do's:
Need to Have each page check for the color of the background and adjust the card to be a lighter complimentary color (universal). (4,5)
Need to have api key capability for each employee that performs metrc api interaction.
Need to set up custom permission setting capabilities so that they can set permissions for multiple employees over time without having to do a redundant process. Themes and standardized user type templates.
Make a excel or csv spreadsheet that templates the fields needed for api integration to give to a customer to fill out. Maybe a master list that passes in all of the general fields and passes over unneeded fields based on customer needs.
Need a graphical repesentation of the entire seed to sale process with tie-ins to each adilas feature/tool.
Need predictive on the search vendor field on the add/edit page.
Need to have customer password fields auto-populate wherever needed. (e-commerce)
Need to have a set to default button on the nav menu for setting any page as a default homepage.
Need to have a toolbar button for page relevent tips and tricks with links to news and updates.
Need to update how people reset thier login attempts: lets add a captcha or at least put the copy paste link on the same page. Maybe two step varification would work.
When you are switching corps, instead of needing to click on the little box link, make it so that you can click on anywhere on the corp piece.
Need to have UOM type indicators on any field that holds wieghts. In most cases this could probably be hard coded.
Need to create the ability to check a box that opens all of the subs for inventory search for adding to cart.
|Shop 3803||Working on the classic interface options||5/28/18||
Spent some time working on the interactive map layout and the adilas GPS core layout pages. These are older static graphics that were designed for training purposes. Anyways, I spent some time and added new links and buttons to the different pages. Here are links to both new pages:
|Shop 3760||Memorial Day - Enjoy with your family||5/28/18||
Memorial Day - Enjoy with your family
|Shop 3795||Adilas Time||5/28/18||
Helping Tanner get started with recording hours. Talking to Calvin on the phone about SSL certificates and custom domain name pointing stuff. Emails and then small to do list stuff. Prepping for the upcoming training event. Did some work on the old adilas interactive map graphic and main homepage navigation.
|Shop 3790||Working with Alan on in-line discounts||5/25/18||
Alan and I got on and did some more group testing and debugging on the in-line dollars off and other in-line and standalone discounts. Good session. We are getting really close.
|Shop 3769||Adilas Time||5/24/18||
Alan and I were working on in-line discounts and dollars off code. He was working on some of the bug fixes and I was checking on merge conflicts. Got a call from Eric, just checking in about where things are at with the customer loyalty points. He has been slammed with custom jobs. That seems to be the case for most of our developers. Pretty crazy.
On the phone with Calvin going over the barcode generator and how to figure out what pieces are being passed by default through the system and what pieces may be needed as custom options.
|Shop 3768||Adilas Time||5/24/18||
On the morning meeting with Steve and Dustin. I merged in some code from their branches. Wayne popped in and showed Steve and Dustin a small demo on what he is doing to help rewrite some of the Metrc stuff. He loves to rewrite things and make it look more simple. After that, Steve gave Wayne a demo on his cultivation process that he is working on. Good stuff.
Alan and I spent the last half of the session working on in-line discounts and doing some deeper testing. We were testing and making notes on bugs or light fixes that were needed. Excellent back and forth checking, debugging, recording, and testing. It made the testing so much more fun to have two eyes on the same tasks. We'll do this again.
|Shop 3772||Prescott code||5/23/18||
On a GoToMeeting session with Bryan. We went through and detailed out the new corp-wide settings for invoice rounding and helping invoices round to full dollar values. Bryan took notes as we ran through settings, scenarios, and some logic options. Good session.
|Shop 3767||Adilas Time||5/23/18||
On a Zoom session with Calvin. Going over tech level details for his adilas label builder application. We went over some of the existing label pieces and how they connect. He also showed me a custom visual builder and getting some ideas from there. We also talked about having he and his family help build out the custom labels until we get everything on a customer facing web basis. Good meeting.
2-4:30 pm working with Alan on discounts. We were testing code and running through scenarios. We found a few small problems but most of it looked pretty good.
|Shop 3766||Adilas Time||5/23/18||
Russell came in and reported to Steve and Dustin about his news and update settings and multiple WordPress feeds. We then did some light planning on who was going to teach what for the upcoming training event. Lots of emails and planning.
Calvin popped in and reported on some new updates in GPS land. He has a phone provider that is offering GPS tracking with an API from a standard phone carrier and provider. That is awesome and will help simplify the process of getting the GPS data. He also gave us a small demo of his adilas label builder program.
Part way through the demo, we had to do some emergency surgery and fix a problem with the WordPress news and updates feed. It was looking for an image but one hadn't been uploaded yet, it was stopping all new logins. If you were already on, you were good, but it you were just logging in, it would block you by showing an error message. We had to tweak a few files and got everything all up to date and ready to go. Kinda crazy.
More emails and light tech support stuff.
Looking up things for campaign rise, research, and coding in-line discounts for custom pages. Got on a meeting with Bryan Dayton and went over some database changes. Emails, tech support, and prep work for the upcoming training course and event.
|Shop 3764||Adilas Time||5/22/18||
On the morning meeting with the guys. Quite a few of us were on this morning. Steve and Alan were mostly talking and dealing with some changes to the Metrc API and state systems. Wayne popped in and chatted with Steve. Wayne is looking to play a little bit deeper and be more of a regular developer. He is retired but looking to re-enter the scene a little bit more.
Russell popped in and he and I did a different Zoom session. He showed me some of the news and update feeders. Basically, he is designing the snow owl footer to be able to consume internal corporation information (elements of time) as well as outside feeders from WordPress sites and feeders. Tons of new options and such. Pretty cool. Russell and I chatted about how deep things need to be in order to play the game. On the programming level, we have to go super deep, but on the surface level, we have to make it look very simple and easy. Somewhat of a paradox.
While Alan and Steve were working, I was working on in-line discounts and in-line dollars off stuff.
Meeting with Anthony Harrington from All Greens. We did some light reviewing of changes since our last meeting on 4/10/18. I made some searches in the adilas shop for "pricing engine" and for "Anthony". Once the results came back, I read through and reviewed some of those notes. We talked about pushing the my cart favorite buttons to a higher level. He would love to get the buttons tied to time and to days (for example, just show up on Thursdays, etc.), be able to discount based off of category, and being able to apply those discounts in-line using percentages and/or dollars off.
I did a small demo and showed him where we are headed with the in-line dollars off discounts and such. We went through a couple of scenarios.
- On PO's, once you verify a PO, it still allows you to modify things. We talked about Ice-down dates and I showed him a demo of how things work on the invoice side of things. We talked about getting that functionality available for all of the other main system players (12 main player groups).
- He had a question around rounding tickets or invoices to the nearest dollar value (no left over cents). He would like for invoices having $0.50 or less, go down, and $0.51+, go up. I quoted him at $200. He wants this new feature for corp id #1114 on data 6. This same functionality would be really cool if it was a setting... yes/no for auto rounding to the nearest dollar. We would also need to know, what are the levels? Such as, round up on anything over 50 cents or round down on anything below 60 cents (or whatever). Basically just settings to help it know what to do. We may also need to know what part number (id) to use and what verbage to use such as: convenience fee, rounding difference, etc.
- He had a question on allowing invoices with partial payments (not fully paid). This would be an awesome setting as well. Image a setting that says allow credit to be extended or require full payment in order to submit cart for processing. Some new settings could handle that and help make it more automated.
Working on the custom code part of in-line dollars off for the in-line discounts project.
Part way through, I met up with Steve and Dustin and helped them fix some merge conflicts on their branches. We got everything merged in and pushed to the live servers.
|Shop 3762||Adilas Time||5/21/18||
Small updates on where things are at with different developers. As a fun side note, we had our first person register for all four days of training and pay online using our ecommerce site. We have had people paying their monthly bills for quite some time, but this was the first start to finish ecommerce sale for a training event. Kinda fun.
Wayne popped in and wanted to talk about QuickBooks integration. He is working on the customer integration process. How do we sync things up and who is the master. Is it adilas or is it QuickBooks. It sounds like a setting. We also talked about other possible options such as flex grid, custom tables, etc.
Wayne would also like to help us out with our servers and such. That would be awesome. Keeping things standard and really automating things. He would love to setup things programmatically vs full manual processes. Currently it takes us 2 to 6 weeks to setup and get a new server fully ready.
After I got done speaking with Wayne, I went in and worked more on the reoccurring elements of time. I have a working version done, but it is not currently tied into the system. The page is uploaded to all servers but it has not yet been standardized and/or help files fully created. The page name is top_secret/secure/setup_reoccurring_time.cfm?id=190 (some real id number - the master id to copy). I'll get back to it a little bit later on. I'm just glad that I could get it this far right now. It still needs a little bit of loving.
I was going to be meeting with Eric, but he called and said that he was slammed and behind on things. We will reschedule for next week. Alan called and we chatted for about 15 minutes about USAePay, new gateway settings, and in-line discounts and in-line dollars off. After that, back on reoccurring elements of time.
|Shop 3771||eXPO: API report||5/17/18||
|Shop 3757||Adilas Time||5/17/18||
Working on reoccurring elements of time. Also, Calvin called and gave me a small demo of his adilas label builder app. We also looked at some other custom labels that he had done. Good meeting.
|Shop 3756||Adilas Time||5/17/18||
On the morning meeting. Russell checked in and we pointed him in the direction of API sockets and helping to train the new developers. Dustin and I worked on a small project to fix and show the sub connections on the time sub special flags and tags. We needed to tie-in the app types, main id's, sub id's, and table names. We worked through the project in somewhat of a training type scenario. I had fun, coded, answered questions, drew little sketches, showed pictures, and Dustin followed right along. Great session.
|Shop 3759||Meeting with Steve and Chris Johnnie||5/16/18||
Meeting with Chris - rough budgets - Gift cards (3,500 - 5,000), coupons (1,500 - 3,000), loyalty points, rewards, and virtual punch cards (1,500 - 3,000)
Chris wanted to make sure we got his other details from Russell. Chris is looking for timeframes. We went over what Russell passed over to us on element of time # 3742.
Steve jumped on and started talking monies and strategy for repayment. Possible white label options - going forward. Chris has been a great asset and contributor for years now. The goal is to get the developers funded and pushing on the projects with minimal side tracks (focused). We are looking at $2,000 this month and then $2,000 next month. That would be a great start. Whatever Chris throws over, we'll put it on the balance sheet and then pay it back out at $1,000 per month. Steve will enter things in and then send Chris a screen shot of what was booked.
Different topic - competing with Air B&B - booking timeshares, rentals, reservations, etc. All kinds of people put up their properties and then let it get scheduled out, paid for, and reserved. This seems to be the new way people are booking their vacations and travel. Basically, people have the items (camper trailers, cabins, houses, apartments, condos, etc.) and are willing to rent them and let others use them.
Affiliate programs and referral programs - more extended options - it could go all kinds of ways and get pretty deep. This could also tie into coupons, discounts, campaigns, and even rentals and reservations. Steve and Chris were talking about taking Air B&B type concepts and mixing that with affiliate programs and referral programs.
|Shop 3770||Working on reoccurring elements of time.||5/16/18||
Back working on reoccurring elements of time. This is a calendar view that allows you to duplicate, copy, and/or setup reoccurring elements of time. This project has been sitting on the sidelines for a number of months. Trying to get it done before our next training event.
|Shop 3758||Elevele: Discount drop down||5/16/18||
Quick meeting with Bryan. He had some questions and we ended up looking at existing reports and then saving those reports to the favorites as preset custom reports.
|Shop 3755||Adilas Time||5/16/18||
Sending around emails about the upcoming training event in Logan, UT.
|Shop 3754||Adilas Time||5/16/18||
Russell and Steve were talking about the power of the adilas API sockets and how to tap into that market. Kinda like WordPress and other open source options. If we build it and make it available, other developers can then use it through the adilas API sockets. The concept of "Play at the Wall".
Brandon wanted me to add some notes, this is Russell Moore. As mentioned above we are talking about the possibility for third-party solutions as well as full Corporation solutions running off of the adilas API. One of the other subjects we were talking about was to design the inside of adilas with a constant html structure, so that every time we decide to change the look and feel, it can be done as easily as possible. Somewhat like the concept of CSSZenGarden.
Helping Steve and Dustin with what they are doing. Steve was working with a custom wire job for elements of time and Dustin was working on combining structures and arrays to make complex data objects.
Spent some time working on the data 8 server and making sure we could get into things there. Submitted some tech support tickets to get some files and folders copied between servers for a migration project. Also worked lightly on the adilas training event and image. The WordPress news and updates was doing something funky on the image and the way it was cropping it.
|Shop 3745||Pushing up the new training flyers||5/15/18||
We were going to do a data migration process for data 8 but couldn't RDP (remote desktop) into the server. We had to postpone the migration. Fixed the training flyer and pushed up the flyer to different pages and such. See attached for a copy of the full training flyer.
|Shop 3753||Adilas Time||5/15/18||
Working on the adilas training flyers and documents. Making small adds and light planning.
|Shop 3752||Adilas Time||5/15/18||
On the morning GoToMeeting session with Steve, Russell, and Dustin. We chatted a little bit about the upcoming training, Russell had me working in the WordPress news and updates section. I then helped Dustin with some complex data objects and getting structures and arrays figured out. I was on the phone helping Bryan with SSL issues, helping Russell with some settings, and working more on a GEO tourism flyer for the training event. I was also going through a small to do list for an upcoming data migration. Checking servers and making sure things are in order. I still have a few loose ends for that project to go through smoothly.
|Shop 3751||Adilas Time||5/14/18||
Working on the flyer for the upcoming adilas training classes and workshop. Spent some time at the table planning and then back on the computer putting things together. Small little random things here and there along the way.
|Shop 3742||Adilas Time||5/14/18||
Working on adilas ecommerce pieces and training details.
Morning meeting. Steve was working on code. I was updating adilas ecommerce stuff. Russell came on and reported on some of his projects.
Information from Russell and Chris Johnnie about coupons, loyalty points, and gift cards.
- Gift cards - be able to get a random number and put it onto a card. The random number makes it harder for someone to use another card (security issues). He needs to be able to scan it and see what is on the card. He also needs a spot to scan the card and have it use that as a payment option. It needs to go full circle. They need to be able look things up, add to it, take away from it, and view levels. Both tied to a customer and not tied to a customer (generic card). Be able to use this in both the normal secure cart and the ecommerce cart. Easy to load card.
- Punch cards - every cart that is $15 or more is eligible. If the cart is a counter sale, they could be prompted to sign-up if they want. Once they are in, the points would automatically accumulate based off of the rules. Once they get to a certain level, say 15 points, they get $10 off of the purchase. They want it really automated and almost a non-thinker type process. They want a quick interface to allow for the sign-up process.Just to recap Notification when a customer is eligible, notification when a customer has points they can redeem. Customers can choose how much they want to pull out. They must pull out blocks of points at a time. For example they have to pull out 15 Points to get $10 off. They cannot pull 10 points and get $7.50 off.
- Coupons - add, edit, copy, delete (permanent hide status), details - coupon code, coupon text or description, quantity, status, type ($'s off or % off), usage (unlimited, limited amount, unlimited no additional discount, limited amount no additional discount) , customer limit, specific item or part id, status (blocked or open or deleted), minimum value to activate, etc. See Russell's page afb_coupons_rules_logic_settings.cfm - branch ram-42. See the link below for the spreadsheet planning.
10 - 1 with Eric - planning out the loyalty points and special accounts.
Estimated amount Chris is willing to contribute
We talked quite a bit about using the builders and logic (part of the UI) as the master options. The builders might be things like locations, part categories, customer types, and even the item or part id level. Lots of field names and lists to help us make and generate the rules.
We do have a more complicated issue when we do cross-corp loyalty points. These cross-corp things struggle with pre-calculated totals and such.
We talked about migration paths and getting existing customers into the basic loyalty points as well as getting new customer using our basic adilas loyalty points.
User communities - who wants to join up and put a list of priorities together. We then work and prioritize these features and get them in place as soon as possible.
As part of the conversation, I gave Eric permission to run with the basic loyalty points. He will get a plan ready and then re-present it back to me before going into the coding stage. Good stuff and trying to remove as many obstacles as possible.
|Shop 3748||Adilas Time||5/10/18||
Back working more on the adilas ecommerce pages. Worked on new verbage and new ecommerce images. I pushed up the new images to the earlier element of time for this morning.
|Shop 3747||Kush: tax question||5/10/18||
Jumped on a GoToMeeting session with Steve. We made a quick fix to some of his state specific API code pages. Bryan then came on and we chatted about how to run standalone discounts through the cart. There are two major steps. One is on the corp-wide setting level. The other is on the location and tax setting level. We then went through a couple of scenarios and play around in the shopping cart. I also talked about the upcoming in-line dollars off discounts that are coming soon.
|Shop 3739||Adilas Time||5/10/18||
Working on adding in a new easy system setup item with mobile ready ecommerce.
|Shop 3738||Adilas Time||5/10/18||
Steve and I were talking about system setup options. We would like to add another system setup that has ecommerce... Here are some of the rough numbers: The normal easy system setup $989 + $100 ecommerce setup (one-time fee) + $100 ecommerce training + $67 ecommerce monthly = $1,256
Russell popped in for a bit and had a couple of questions. Steve was helping Dustin with some code changes. I was building new graphics for the easy system setup items. Good stuff.
See attached for a number of graphics that are out in the adilas ecommerce site.
|Shop 3737||Adilas Time||5/9/18||
Working on the easy system setup for a new adilas system. This is for the one-time setup fee, the 1st month system fee, up to 5 hours of training and/or setup, and up to 3 hours of custom code or simple data migration. Working on the links and verbage for the adilas ecommerce site.
I had a meeting with Andy from the Peak Deli at 3:30 pm. We went in and worked on his my cart favorite buttons. We ended up stacking things and making button groups for his different sections of buttons. These were things like breakfast, lunch, drinks, sweets, choose a side, etc. I think it will really help him speed things up and make it go faster. Anyways, it was fun to see all of his buttons and help him get everything all organized and what not. Good stuff.
Finished up the day by working on the adilas ecommerce page. Spent quite a bit of time pulling together assets and links for the easy system setup item. That was fun to pull all of those things together in one place. Here is the link for the new setup item:
|Shop 3736||Adilas Time||5/9/18||
Russell and Steve helped us look into the ecommerce settings.
Labels - that is a big pain point. Good thing we have Calvin on the job. :)
The deeper we get into manufacturing... We are seeing the need for sub phases, sub locations, sub groups, and even repackaging and packaging of packaging. Processes and sub processes, reprocessing, & sub routines. We are also seeing deeper needs for the elements of time to be more standardized and easier to use. Eventually, these subs of time (sub flags and tags) will need to interconnect with the other main 12 main player types. They may also need to interface with subs, line items, sub inventory, and even mini conversions.
We are seeing needs to do and help with production runs, bulk packaging, greater usage for recipe/builds and automating things. We need sub inventory tied in and things in bulk. We are also seeing more needs to show reports and be able to pull and filter the data quickly.
Currently the system is quite deep and intense and can even be pretty tricky (tons of moving pieces). If we can wire things up and make it look simple and feel simpler, that would be awesome. We need the depth but we also need to back out and make it appear more simple and straightforward. What a balancing act. Here we go.
New link for the adilas shopping cart and ecommerce site: https://www.adilas.biz/shop/adilas
|Shop 3746||Working on adilas ecommerce||5/8/18||
More work on ecommerce photos and setting things up to be able to sale virtual seats and live event seats. Bryan came back on and we did some more work on his high point takeover project. Here is a link to the current adilas ecommerce site. https://www.adilas.biz/shop/search_web_inventory.cfm?corpKeyId=adi%2D22
This little note was added on 5/9/18... I added a new folder with a redirect for the adilas shopping cart. Instead of the link above, that still works, I shortened it to: https://www.adilas.biz/shop/adilas - this will do a redirect to the link above. Anyways, small little shortcut.
|Shop 3744||eXPO: fee||5/8/18||
Met up with Bryan and talked about how to book a fee. We talked about things on the invoice side and also on the expense/receipt side. We then helped and worked with the new high point black box page. This one was kinda funky... instead of breaking things into smaller black boxes, we had to virtually reassemble the page as a single custom page. It got pretty deep - going the opposite direction. Interesting.
|Adi 1341||Jeremiah Christensen Theme Links||5/8/18||
Adding to the theme 10 payee footer links, and 8 corp top links
|Shop 3735||Adilas Time||5/8/18||
Setting up the adilas ecommerce site to allow people to book training classes and events. Added some new daily training items (things to sell) and also did some graphic work.
|Shop 3734||Adilas Time||5/8/18||
On the morning meeting with Steve and Russell. They were talking about how Bridgerland could help with outside development and doing smaller projects. Part of the puzzle is how we empower our users. It is so important to empower our users at the level that they need (go to the source). That is a huge core concept.
Taking the email options out to the bulk level and also allowing users to make the email come from their own servers.
As the guys were talking, I was doing some research on the old adilas website. Lots of good PDF files, help files, graphics, and flyers. Here is the old website link: https://www.adilas.biz/old_index.cfm
Eric wants to talk about coupons and loyalty points. We talked about a guy named Chris Johnnie and some prior planning that may have been done by Russell and Chris. We are trying to pull things together and make everything happen.
From Eric - It is so expensive to keep stopping and starting - we lose tons in the transitions. We need to focus and stay on track.
Eric was expressing some concerns about sub inventory on the production side of things. Steve chimed in and was talking about how some people don't even know what else is possible and already built. The trail is faint and many people have been gone in different directions. We need to define the best path and then help educate others to play the game.
Manufacturing is a whole new level - You have raw goods being made into finished goods. Lots of internal flipping and tweaking. You need bill of materials, sub assemblies, recipes, other tracking needs, etc. We talked briefly about parent inventory and sub or child inventory. Some of the big needs come when they have sub assemblies and use semi raw goods and then push it into another finished good or product. You have to be at the sub level in order to really track that information. It gets into sub locations and sub phases and all kinds of other subs. In the background, we are seeing the _Z coordinate (depth and stacking) coming more in to play.
We are having a number of clients that are fighting against change. Some of the subjects are the way the one-to-many relationships are setup and what the individual people think should be the best option. Some of the questions are things like - one PO with multiple line items or one PO per one line item. Which one holds the location and how do you move things around. They want to group things but also be able to move things independently. They need both... basically, I'm part of this group but I also play over here and here. Very interesting.
This is a side note, but we end up spending so much time managing our customers because they all want to chime in and say what they feel is the best. Custom is awesome but it can also get us in trouble. Custom is really easy on existing and established pieces. One of the main problems is when we get into uncharted territory, people have all kinds of ideas and what things would work best. Once the trail is set and people are using it, they tend to go with what is already there unless we make it too hard. When the trail is not fully established, it turns into the wild west (anything goes) really quickly.
Once people get what they want, they tend to want to get to it quicker. They also want more. This could be more options, more control, more access, more of almost everything. They basically get addicted to data and ease of use.
Steve was doing a demo on sub phases, sub groups, and sub locations. Lots of using elements of time and special flags and tags to track all of the details.
One thing that will help people is showing them how to get back to their details and data. We (developers and power users) know things well enough that we pop through screens, skip steps, and go really fast. A new user is watching and they just get lost. So many moving pieces. It hasn't been smoothed out and/or standardized yet to really make it manageable and easy to understand. We either need to slow down and/or make the path more direct and discernible. Make it obvious and straight forward.
A note for us... We can use these subs to hold the sub details and sub data. We need to show things in very general levels and make it look simple unless the user wants to get clear down to the lower detail level. Think of the world building graphics that have universe level, world level, location level, group level, individual level, and the underlying data level. We need to allow the users to navigate at whatever level they feel most comfortable. We need all of the deep, deep, sub data, but that may be too much detail for some people and/or users.
There will be a greater and greater needs for mini conversions and how that effects things. Steve has already done quite a bit of work on the custom/build_complex_labels.cfm page. We need to use that as a great starting place. Lots of moving pieces. It goes like this... You have to have a parent item. Parents have subs or children. Those children then get broken down into smaller pieces and sub packaged. That is mini conversions.
We keep pioneering small little projects and getting some testers and people who keep pushing on things. Adilas is literally a giant testing environment and a virtual idea farm. We keep planting and harvesting ideas. They just keep coming.
Going back to manufacturing - there are tons of batches, sub batches, lots, and even reprocessing and repackaging pieces. We need to keep defining the road and helping the people who will be coming down the road later on. Kinda like Eric was saying... We need to focus and get pieces done and standardized - we get pulled in so many different directions. We lose a ton in the transition and switchover between projects. It gets very expensive and takes a ton of time and energy. In manufacturing, they often will set up an assembly line for a certain run... They then run that product until it is done. If they had to switch lines (assembly lines) every couple of hours, they would have tons of down time. Maybe we need to do similar type things. Make a plan and then work your plan.
The other gem is using the people who know it... get the reps and the clients together that know what is going on.
Flow - We can link all kinds of stuff together. That is a whole other level. If we can get the job done and get the person to the correct next step, we can help them keep moving forward. It comes down to flow and planning. Steve wants Dustin to help with some of that flow. Steve's words... "we need to train the system". That helps the whole thing go better. Dustin's words were... "the system almost needs rails". They then talked about wizards, steps, and showing a logic path and where they are on that legend or helping them know what is next and where things are at. Walk them through it. This could be crumb trails, legends, wizards, etc. Good stuff.
|Shop 3741||Working on the first round schedule for the May training||5/7/18||
See attached for the first round draft of the May training schedule.