Adilas.biz Developer's Notebook Report - All to All - (7322)
|Time Id||Color||Title/Caption||Start Date||Notes|
|Shop 4417||cross corp||2/14/19||
Bryan and I spent the first hour working through a small flow related bug on a 3rd party API socket to auto add a customer based on a phone number and then add then to the customer queue. We fixed and tested the API socket calls and pushed up new files. We also altered a few of the error messages to help give some more information about what was missing and/or needed.
The second hour was spent on the cross corp mapping project (starting of the application flex grid stuff). We were deep in sub inventory land going over parent items, child packages, sub inventory attributes, and then custom dates, custom text entries, and custom numeric values. It gets super deep (quickly). Anyways, the best thing we did was write out some scenarios in plain English to help understand where the different parts and pieces comes from and/or go as a destination. Lots of good progress keeping it simple vs trying to write code without understanding the flow of data first. Anyways, good meeting and making some headway.
|Shop 4393||Working with Eric||2/14/19||
Eric and I were working on his project. I ended up on a call with Calvin and going over some of his adilas label builder stuff. As it progressed, I ended up flip flopping between both Eric and Calvin answering questions and helping them here and there.
|Shop 4362||Adilas Time||2/14/19||
The morning meeting was with Steve, Eric, and I. Most of the time we were just working on individual projects. I was recording notes from yesterday and Eric was working on his sub special account tracking project. Eric would ask small questions here and there as we were working. Steve reported on a few things and then had to take off. Fairly quiet meeting.
|Shop 4406||Fixing some stuff for Josh||2/13/19||
I got an email from Josh about a few new changes that needed posted online for the new discount engine (still in beta release). He has a demo and some training with a client tomorrow and needed a couple small tweaks. I went in and made the changes and modified a few things. Merged things in and pushed up new code to the servers. Let Josh know that he should be good to go with his training and demos.
|Shop 4405||Writing code||2/13/19||
After working with Calvin earlier, he gave me an assignment to help prep a new page for him. I built him a new page that was black box ready and had a number of basic adilas features built into the page. I sent them over to him to help him get a place to start coding and integrating the two products together.
|Shop 4395||Working with Calvin||2/13/19||
Calvin and I worked on his adilas label builder app project. His first round project is getting close. We moved out of his Windows based app (the actual label builder app) and into the web and tying the two programs and platforms together. The label builder is very powerful and dynamic. Anything you can think about may be added to the labels. That includes any number of graphics, lines, QR codes, barcodes, static text (fixed values), input text (open for typing), and dynamic text (pulling in data from a database). Any of these things may be used in any context and any number of times. If you wanted a label with 4 different barcodes on it, no problem. Pretty crazy.
Anyways, our new goal is providing a way for us to connect to user data (normal adilas stuff like PO's, invoices, items, parts, customers, etc.) to the power of the adilas label builder. We went into adilas and determined about 7 access points for the custom labels. Calvin is going to start working on those pages and passing information from page to page to start sewing up the functionality. Great progress.
|Shop 4392||Working with Eric||2/13/19||
Eric and I had a good long meeting. We started out and just touched base. We then jumped off the GoToMeeting for a special client Zoom meeting. We met with a company and talked about 3rd party solutions, API sockets, and ways to integrate between the two solutions. Part way through the meeting and presentation, they, the other company, pulled in one of their main tech people. We then reviewed and somewhat started over. Minor detail.
After the client meeting, we jumped on the 3rd party project and went through all of the pieces. After we were done, Eric was saying that he would like to do more of this type of work. He was getting it and enjoyed it. I also saw him do some clean-up from other developers as he was working. I was grateful for that.
The last couple of hours was spent on the sub special account tracking project (loyalty points, gift cards, etc.). We went in and added some navigation from about 4 spots inside the system (ways to get to the master special accounts and ways to get to the corporation level special accounts), we tested it and then started working on other logic pieces. Good work session.
|Shop 4359||Adilas Time||2/13/19||
|Shop 4397||Demo wiht Calvin||2/12/19||
Got on a Zoom session with Calvin to see some progress on his adilas label builder app. He had added in some quantity options for parts, PO's, and invoices. He also showed me some other features such as about (light marketing stuff) and options to reroute back to the start to do a different label. He is making progress and we scheduled some more time for tomorrow.
|Shop 4391||cross corp||2/12/19||
Working with Bryan to go over some of the cross corp mapping stuff (start of the application flex grid).
|Shop 4386||Meeting with Shannon||2/12/19||
Shannon and I got together over GoToMeeting to work on some concepts and verbage for a new sales flyer. We reviewed some notes from last week (Elements of time id's 4348 and 4371) and talked about a lot of concepts. See attached for a couple of the ideas.
|Shop 4390||Working with Eric||2/12/19||
Eric and I hooked up and did a small session. He was having a login problem switching to a new code base from the repository. We fixed a couple small issues and the other one we at least got to a starting point (where to look for the problem). We also lightly spent some time talking about primary navigation for the sub special tracking accounts (where to put links and such) for things like loyalty points, gift cards, etc. The other thing that we did was setup some time blocks to work on the sub special account tracking project. Eric also has some new 3rd party solutions that he will be working on and coding. We talked about some options there.
|Shop 4364||Adilas Time||2/12/19||
Steve and I started out together on the morning meeting. Just the two of us and we were talking about who could handle what projects and how do we feel about each person and their load/contribution. Good talks. Steve and I also worked some code and some new logic that he needed for some clients in Oregon. After that, I started to rework a sales flyer the Naters did with the adilas doggie images.
Josh joined us and had some questions about how the current discount logic worked inside of adilas. The most confusing part was dealing with a tax category of with tax included and a discount. We went through a number of scenarios trying to get certain numbers. We kept running into math errors and unexpected outputs. We called in Alan and he looked around with us. As a side note, discounts get super crazy deep, especially when mixed with back calcs like with tax included or back figuring to a known target value. We made a number of tweaks and did some testing together. I fixed one file and then we planned on letting Alan go in and make some other tweaks, including some display changes to the advanced add to cart pages.
See attached for the graphic of the new sales flyer with the doggie images.
|Shop 4388||Meeting with Calvin||2/11/19||
Calvin was giving Steve and I a demo on the adilas label builder. He was showing us new label options for invoices, PO's, and items. Prior to this, he only had customer info ready. Good progress.
|Shop 4387||cross corp mapping||2/11/19||
Steve, Bryan, and I went over some of the cross corp mapping stuff. We got in pretty deep. We kept coming back to the top-level vendor to corp mapping. Sometimes we have to kick things around quite a bit before we really either understand things or nail them down. Before the meeting, Steve and I were talking about needs for the application flex grid (any system to any other system).
Paying bills and other to do list things.
|Shop 4365||Adilas Time||2/11/19||
I got into the meeting a little bit late. Steve and Dustin were working on some things. Once they were done, Wayne began reporting on some of the new AWS (amazon web services) things. We were talking about moving some of our existing pieces (server stuff) over and across to AWS and then tweaking things from there. Lots of options to help optimize things. There are so many things on the virtual to do list... we'll just get started and then go from there.
We are also excited to start seeing real costs and real usage patterns. This is both internal and external.
Wayne and I spent a couple of hours going over tons of things... data servers, content servers, images, corp-specific folders and storage, session stuff, security hashes, Windows specific code, and tons of other things. Super good meeting.
Steve, Josh, and I ended up having a discussion about the new discount engine (new code that is being released) and wanting our clients to move from Classic to the Snow Owl theme. We have so much more functionality on the newer Snow Owl theme. Some people are too busy to switch, some are just unsure, some think there are issues, etc. We would really like to use the discount engine to help us transition those users over to the newer look and better settings.
It takes a village to do some of these tasks and things. Delegate, empower and get out the way. We keep building and tearing things down. That is part of the process. We have some great people all around us. Let's keep feeding those fires. Yee haw!
Recording notes, emails, and tech support. Finished up a custom shipping invoice for a client and posted it online.
|Shop 4380||Working with Josh on his discount engine||2/7/19||
Josh and I worked on getting his "set manager discounts (discount engine)" tool up and ready as a beta release. We went through the code, made a number of changes, and did some testing. Great meeting. This is Josh's first core adilas piece that is being launched.
By the time we were done, we were able to merge in his code to the master branch. We had to run a database update and activate a permission. All servers got new code and the database updates but we only pushed the permission on data 0 and on data 3. Josh has a client who has volunteered to help beta test his discount engine. Our plan is to help all servers go live on Monday with the new discount engine.
The new discount engine allows for a discount/campaign to be named, set a percentage off or dollars off, tie it to a customer type, a part category, or an individual item or part. The engine also allows for date/time discounts including daily, specific days of the week, and even time based (every Tuesday from 4 pm to 6 pm).
The other cool thing is the system is actually setup to add discounts on discounts up to a set max. For a beta release, I'm happy and I know that Josh is super excited. We'll do some fine tuning and then do a full release. We also talked about some possible video clips and maybe some tutorials. Exciting.
|Shop 4360||Adilas Time||2/7/19||
Everybody is feeling the pressure. Lots of requests and requirements. Steve and I were talking about priorities and how to manage the amount of inflowing requests and requirements. Sometimes it is literally disabling in some ways. Pretty crazy. I'm so thankful for the people who are helping but even that is a challenge at times.
Dustin and Eric popped in and reported. Eric is feeling swamped as well. We had some more talks about priorities and what not. Lots of moving pieces between internal projects, customer projects, 3rd parties, bug fixes, maintenance, and client demands. Everything tends to work out.
|Shop 4377||Working with Calvin||2/6/19||
Calvin and I jumped on a Zoom meeting. He is working on pulling in label values for invoices and invoice line items for his adilas label builder app. Tons of data and it gets kinda tough to cycle through and figure out what is needed and what is not needed. It gets pretty deep with multiple queries and multiple one-to-many relationships. Most of what we were talking about was strategy on how to gather, filter, and only advanced data that is needed. This is stuff that makes your head hurt... :)
|Shop 4369||cross corp||2/6/19||
Bryan and I jumped on a GoToMeeting session. He got his cross corp mapping code ready for code review. We spent the first part of the session going over changes and doing light clean-up. Once we got things merged in, we then invited Molly on to help us look things over. Almost immediately, we ran into a new request to provide a corporation to vendor cross corp mapping. This new project already does a number of cross corp mappings from items in one corporation to items inside another corporation. It was kinda funny that almost immediately we needed another cross corp mapping.
One of our goals deals with the application flex grid (interconnecting or mapping anything between corporations or even between systems or software platforms). This is kinda still a dream, but we are making progress and seeing more and more needs for this kind of thing, function, and/or tool set.
|Shop 4372||Working on voiding some duplicate invoices||2/6/19||
I got an email from a client and they needed a number of invoices voided out. They were running into an error and a page redirect. I went in and look at it and we needed to alter some internal code. I made the changes, tested, and uploaded a new void item file. I then voided out all of their requested tickets and added notes.
|Shop 4366||Meeting with Josh and Eric||2/6/19||
Josh and Eric popped in. I helped Eric with a small bug in his sub special account tracking project (loyalty points and gift cards). After that, Josh and I spent almost 2 hours doing some code review on his discount engine. We spent most of the time working on the action page (add/edit and committing to the database). It is looking good and really coming along. This is the first major tool that Josh has created for adilas. Sometimes those first code reviews take longer just learn each other's style and way of coding. Good meeting.
As a random side note, some of the developer like using Zoom more than GoToMeeting. Some of them say that they have less of a delay when using Zoom. Interesting.
|Shop 4361||Adilas Time||2/6/19||
Dustin and I were on the morning meeting. Pretty quiet overall. I started working on a custom invoice for shipping and work orders for a client.
|Shop 4371||Reviewing a training movie||2/5/19||
Back reviewing video content from a training video and a presentation done by Kelly Whyman.
- What kind of a setup is it? Coming off of another system, brand new, a recovery type scenario? Fresh setup, new implementation, or a clean-up.
- Corp-wide settings and what you call things? Speak their language and setup an internal glossary.
- Sharing information back and forth. Build the team.
- What are your goals and how are we doing on those goals? Sometime the first quarter is pivotal on if they like the system or not. You have to be there (physically at times).
- Templates and standardizing things. Using bite size flow charts, lots of drawings, etc. Show visual diagrams and then relate it to the system. Start out of the system and then go back in the system.
- No more than 60 to 90 minutes per session. Do a session and then allow for some Q & A.
- Help them learn that mistakes are ok and then how to correct those mistakes.
- When getting a client started, do a once a week follow-up and/or training session. After a few of these, they may not need them as often.
- Recording training sessions and share them - avoid being a broken record.
- On a demo, who am I speaking to (owner or operator)? She usually does a 30 minute consulting meeting and then she gears her demo based on that.
- Talk about the life cycle of different things... there is always a start, one or more steps, and a finish. Sometimes people love seeing that full life cycle.
- 4-square diagram - PO's, Invoices, Expense/Receipts, Deposits - use positive and negatives and explain it really simply. How do these values affect inventory or banks. This is a great simple process of what really works. These are the big 4. So many things play into the mix.
- On tech support - a quick response can help eliminate the escalation of the emotion - sometimes that is where the problems are and/or where their roots are.
- Defining the rules and expectations early on help to set the ground rules
- How much do you want to work? There are tons of options, but it is important that you define those rules and guidelines. If you don't define those goals, it could run you over... literally.
- The language that we speak between developers, consultants, and clients. We all have to play in the same area and define who wants what, who is going to do what, and who is going to fund what? Once we answer those questions, we can move forward.
- When you are onsite with a client, you will get spun in multiple directions... lots of moving pieces. We need both women and men working together to make the team stronger.
- Adilas has and does create a community of independent parties. Working together and sharing values and ethics. Good stuff.
|Shop 4370||Talking with Shari O.||2/5/19||
On the phone talking with Shari O. She called and had a request/question. We got it resolved and then did some talking about the adilas team and how people are coming together. Shari O. is doing a great job and is helping new comers have fun, get connected, and share in tasks and information sharing. I'm super excited and she is doing awesome and creating a fun team dynamic. She gets my vote. Yee haw!
|Shop 4348||Working with Shannon||2/5/19||
Keep following up on graphical sales flyer, custom emails, and adilas market.
Shannon and I started re-watching the video of Kelly Whyman doing a presentation from the Denver training event. See this element of time and look for the afternoon video on day 3 - the actual start time of the Kelly portion of the video is at 2:33:19 (ish) - https://www.adilas.biz/top_secret/time_web_gallery.cfm?corp=748&id=3957
- One of the first things that she does is get the physical process that really happen and then she breaks those values into a work flow and defines who is going to do what?
- Setting and maintaining the expectations. Owners and operators are different. If things are too complicated, they, the users, stop putting things in.
- There are those who are good at frontend, backend, and maintenance. Different skills, talents, and interest levels.
- Shannon and I talked about "getting an investment approach" where the clients see what other successful people do. This was talking about other skills such as training, setup, maintenance, consulting, overseeing, etc. Ongoing help and other services.
- The setup and initial portion of the client's implementation is very important. They may need some ongoing oversight and/or help. How am I going to support you to get to your goals. Ongoing relationships.
- Try to operate out of the box first and then customize from there. Sometimes they jump too early on the custom bandwagon. Everybody loves the idea of custom but it can be a two edge sword. There might be a difference between small customization vs full or huge customization.
- Are you really ready to take on adilas? Is this the right system for you? You have to really want this (data feeding game). We talked about can's and should's... cost/time analysis.
- Maybe a way we can differentiate ourselves is based on concepts. We love talking about 3D world building, systems, interconnected data relationships, digital story telling, permissions & settings, and objects and data over time. There is an older PDF flyer that has a fun math equation of :: "Results = Mix(Functions, Players, Concepts)". See this older flyer for more info: https://www.adilas.biz/adilas_formula.pdf - Good stuff.
- Sell the sizzle
Anyways, Shannon and I only made it part way through the video from Kelly. We had some good talks and we have some homework to keep watching and taking notes. We will touch base again next week on Tuesday.
We got a report that there was a problem with selling out stock/units from the data 0 box. I went in and looked around. I re-uploaded the page that was throwing the error. I tried it and it still didn't work. I did a remote login on the server and found that a single table was fully locked and set to read only. I pulled a known value and then tried to change it. The error came back as the table was set to read only. I called Alan and sent a text to Wayne. Alan called me back and said that I would have to reset the MySQL database services (quick turn on/off of just the database). I did that and it seemed to fix the problem. Just wanted to record that for future use, if needed.
|Shop 4357||Meeting with Josh||2/5/19||
Josh and I jumped on to look at some code for his discount engine and sales tool. We modified a few things and then started testing. My browser and version of ColdFusion were kinda old and he was using some of the latest and greatest new features. We got to a certain point and I basically said, you may need to talk with Alan as he has all of the latest and greatest features and versions of software. So, long story made short, I helped on the logic side and then was unable to help on the full testing side due to software versions and what not. Great session and we made some progress.
|Shop 4363||Adilas Time||2/5/19||
Steve had some questions. We worked through a looping problem. Bryan Dayton popped in and we went over some cross corp mapping and options. Some of the clients want a bulldozer type approach (force things from one corp into the next corp) and we would like more of a mapping (strategic or more precise movements) type flow. We made a few decisions and Bryan is going to release a dual option (force it like a bull in a china shop and gentle like a dove).
|Shop 4367||cross corp||2/4/19||
In between our sessions and after the last session, I spent some time recording notes and filling in things from today's meetings. Busy times.
|Shop 4356||Meeting with Molly about ICC||2/4/19||
Molly and I met for about an hour to talk about options and possibilities for ICC's or internal cost corrections. She started out saying that she has worked with a number of clients and sometimes it takes up to 20-30 hours to do some clean-up (depending on the size of the client and how long its been since the last cleaning). As a side note, we see bigger problems with normal parent inventory due to the last known cost that is held at the parent item level.
Sub inventory is much tighter and works pretty good. The only known problem with sub inventory deals with some rounding error problems over time. Basically, by the time you split up certain known costs over and over again, clear down to 5 levels of decimal accuracy, there becomes a small rounding error for certain items. It is just math but it still ends up looking like a problem.
The catch 22 is on what it takes to look things up and fix them. On parent inventory, Molly goes and looks at the usage per item. She can then fix things fairly quick. On subs, there are much less problems (originally), but sub inventory is even harder to clean-up due to closed packages, parent item settings and status, and some of the math.
The main goal is to get the cost of goods perfect and/or help the user get to a perfect level. Ideally we would like to build out a new core tool called ICC's or internal cost corrections.
Molly would really like it to follow a FIFO (first in first out) type model for costing. This would require us to be able to go all the way back in time and see what came in and at what cost. It would then try to reconcile itself based on how many have been sold and at what value. For example: if we start out with a 100 at $0.45 per, ideally, we would sell the first 100 items for that $0.45 cost. It gets complicated as things change over time, we don't fully sell out of a specific quantity based on cost, or a person buys multiple things from different cost levels. We have also had problems with users just going in and randomly changing item costs.
- At some point, we need to make an adjustment and/or update to the COGS (cost of goods sold).
- Molly was talking quite a bit about the in/out extended cost. We had some discussion based on FIFO vs last known cost.
- Molly and I were trying to figure out basic rules - only grab items that have an in/out extended cost that is not zero and a quantity that is not zero (don't worry about items that match perfectly or have zeros). If an item has a quantity (+ or -) - we need to look at it. We may need to work backwards to get our numbers.
- We also had some discussion about are we trying to get super detailed (matching PO's with invoices with costs) or be more general and just get the grand totals correct per item? Good discussion. We left off with Molly going to reach out to Eric to see if he has more time to meet and work on a tool/report to help fix things. I am supposed to think about options and come up with some ideas. Lots of moving pieces.
|Shop 4358||Adilas Time||2/4/19||
It's Monday. Josh, Dustin, Steve, and I were on the morning meeting. Josh checked in and we set up some time to work on merging in his discount engine stuff. We added some new permissions and created a new help file for him to populate. We are hoping to get all of his code rounded up and populated within the next couple of days. Good stuff.
Steve's summary from January - Mrs. Shari O. needs some help. We've got that going and Pat will be helping out. We need to make it easy, pretty, and powerful. Steve would like to circle back around and then we need to do some look and feel stuff (make it look pretty). We will keep building out the functionality but we really need it to look nice and appear more simple. If we can get the current model, more spiffy (nice looking), we can really wind some things up. It is a very abundant model. The future of SaaS (software as a service) is customization. People want to start very simple and slick but as they go, they start looking for more functionality and eventually really want it to be their way (custom code and customization).
What do people do the most inside our system? We can pull in stats from all of the servers and then look at them (the stats) side by side. We could then have Russell go in and help us with some cool look and feel on the top 10 pages. Once that is done, we could keep drilling in deeper and deeper.
Alan popped in and gave us a report. Steve and I were working on different projects. I'm working on checking in code that Will did for a thing called transitional PO's. The new PO type is between an order/request (not tied to inventory) and a live PO (fully tied to inventory and payables). The new transitional PO's allow for pre-payments (assets or pre-payments on inventory) and will be tracked on the balance sheet differently. The project has about 22 pages in it. Just going through and checking out code and adding my own flair to it.
|Shop 4355||Finished up a code merge for Steve||1/31/19||
Finished up the code merge for Steve. I had to do it in three main sections and then some sub sections between those main sections. First we launched some of the new code to allow customer birthdates out in ecommerce land. Those values had lots of new session stuff and new method to add, edit, and look-up the birthdates. I then did a bunch of custom code that Steve has been working on. At the very end, I had to circle back around to the ecommerce section and add some files that relied on the new session values (I had to make sure that the session values were being passed around, before adding new code that used them). Not bad, but kinda a late night.
More work on merging in Steve's new code branch. Some of it deals with customer birth dates out in ecommerce land.
|Shop 4352||Work with Steve and Bryan||1/31/19||
Met up with Steve and Bryan over the GoToMeeting session. We were talking about cross corp transactions. Things like invoices to PO's and mapping vendors, part categories, and physical items or parts between corporations. Bryan showed us some progress of where he is at and Steve was helping to make suggestions. Bryan and Steve are going to be meeting again tomorrow to keep advancing the ball.
Working on merging in new code from Steve. Close to 50 files that have some new code and/or changes.
|Shop 4272||Adilas Time||1/31/19||
Working on a small clean-up script to help with a client that normally does their sales with tax included, but for some reason, they rang up sales with a different tax category. Basically, the taxes were still collected (totals are ok) but the individual tax amounts were not in the correct database columns. Built the update script and ran it on the live server. Fixed over 200+ line items. We also worked with the client and showed them what they were doing and how to fix the problem. The source of the problem was actually their customers and the tax category settings that were stored per customer. We got that fixed, got the incorrect records fixed, and hopefully all is good to go.
Eric popped in and we went over some existing code for changing prices and auto calculating the in-line discounts based on the price changes. We also talked about building on what you have vs rebuilding from scratch. Steve and I did some prep on a new code merge and to get his local code branch merged in with the master code branch. I will be working more on that after lunch. Mostly prep work as of this morning.
Finished up the small project to show the items that were on order, requested, and/or pending on a per item usage basis. Added a number of new values, links, and even a small mini report on what those values contain. I also merged in some code and did some live testing. I sent an email out to a client about some new changes. See attached for a couple of small graphics that went along with the email.
Talking with Calvin over a Zoom meeting about the adilas label builder application. He has been off on other projects and this was just a meeting to get back into the project. We briefly talked about goals, priorities, and options. We also talked about putting some of his Windows based tools out on AWS for Mac users. Somewhat of a small workaround between Windows and Mac stuff.
Back working on the project to show on order, requested, or pending items on the part usage page.
|Shop 4277||Adilas Time||1/30/19||
Meeting with Steve and Dustin to start off the morning. Dustin had a couple of questions on ways to track some of his internal code changes. We talked strategy for a bit. Steve then had a question on a client's custom label. It was duplicating one of the fields. We dug in and found that it was a sub inventory attribute that was virtually sharing an id number with another sub inventory attribute. It was appearing to duplicate the data due to the numbering of the attributes. Random error. We went in the backend and fixed it. We haven't had any other complaints about that, so we are assuming that somehow both attributes got assigned the same reporting number.
As Steve and I were fixing the sub inventory issue, we were talking about sales, customer support, and how we are hoping that these new server configurations are going to help us out. We also talked about getting someone to help Shari O. - she is getting buried and needs someone to help. We also talked about some other ideas to think about while we are breaking up the bus (analogy of getting people off the bus and onto their own motorcycles or cars - aka world building). Here are some of the quick notes:
- What about mini options for AWS servers... Currently we have multiple dedicated servers (with fixed number of processors, RAM memory, and fixed hard drives for storage). What if we took those bigger boxes and virtually broke out a new virtual instance for each of our clients. If it could work, it would be almost like a mini virtual dedicated box per client. Just an idea.
- Steve would really like to split out users from corporations (allows users to exist as their own entity and also as part of a master list). Then, we could bridge people over and across and allow users to jump between corporations as they get assigned. We currently can do this, within a single box or cluster. It would be awesome if we could do this on a universe or global scale. Any user (has a single account) and could be interconnected and/or have access to any other corporation (world) based on permissions and being bridged over. Think of home planets and bridging people from worlds to worlds. (digital passports and what not)
- Currently, we (adilas admin) are the only ones who can bridge users between corporations. If it went out further... we could allow individual parties to allow/invite other users to come in and help with any projects and also set connection durations (how long they could virtually stay). If we empower the users to create those relationships, that takes the load and the liability off of the admin adilas team. Good stuff.
- Steve really wants to help out workers and/or dependables
- We would really like add some visual upgrades - CSS and settings. As a side note, settings are going to be huge going forward. We are seeing at least four levels of settings - corp (world), group (system players), pages, and user settings.
- Steve and I were looking at some stats that Wayne had gathered for us... crazy to see those stats and this is just one month from the data 0 box. We would love to see all of the servers and all of the stats, side-by-side, and compare. That would be crazy.
- The deeper we get, the more settings and being able to toggle things on/off (custom setup options) are going to play in. We were even talking about new settings for ecommerce and companies that allow for new customer/client accounts to be setup. What fields do they want to show/hide, what ones are required, what special instructions, what names or aliases, what sort order, etc. Everybody wants crazy deep levels of control on how they set things up.
- Steve and I talked about the pros and cons of the black box options... on the one hand, we can configure any page to do whatever we want. On the other hand, if we go black box vs building a new setting, we have to do the same thing over and over again. Sometimes the speed of the black box option actually creates more work later on. The longer route is building a setting, but it then becomes easier to manage that later on, plus less duplicating code.
Working on showing items that are on order (requested) on the parts usage page.
|Shop 4336||Working with Shannon||1/29/19||
Keep following up on graphical sales flyer, custom emails, and adilas market.
Shannon and I got started. She asked how things were going, so I gave her a small run down of some the current projects and direction that we are going in. Lots of moving pieces. After that, we spent about half an hour recording some notes about our model and how it works best (right combo of clients, demands, requirements, and expectations). Lots of good notes and what not. Shannon recorded them on a working document. See attached. As a side note, there are more notes from other days, but at least our new notes have also been pushed up.
|Shop 4342||Custom barcode labels||1/29/19||
Working on some more black box pages for custom barcode labels. Also started looking into showing requested amounts (items on order) in the part's usage section.
|Shop 4278||Adilas Time||1/29/19||
On the morning meeting. Dustin was on with me in the morning. Eric came on around 10 am to 11 am. Eric and I worked on some logic for the sub special account tracking stuff (loyalty points and gift cards). The other project that I was working on was some black box and custom barcode generator mapping for a client. Took over three main pages. The PO lines items, the view parts page, and the add/edit parts page. All of those pages have a number of links to the barcode generator page.
|Shop 4346||Tech Support||1/28/19||
Emails, phone calls, and light research on other vendors that are contacting our clients. Watched a few videos and got some good ideas. Recorded some notes in the adilas customer logs for the client. It's a big world out there. Yee haw.
|Shop 4344||cross corp||1/28/19||
Met with Bryan to go over the progress on an older project for some cross corp mapping. We looked to see where he is currently and then made some suggestions on where we want to head. This is not the full deal, but a small stepping stone towards the application flex grid project (future cross corp mapping tool).
Tech support and emails.
|Shop 4341||Working with Wayne||1/28/19||
Working with Wayne over a GoToMeeting session to setup some new accounts at Amazon Web Services (AWS).
|Shop 4275||Adilas Time||1/28/19||
On the morning meeting with Steve, Alan, Wayne, and Dustin. Checking up and getting caught up with what happened over the weekend.
Notes from Wayne about server stability and processes
Infrastructure - We have greatly increased this portion. We would like to fix how we deploy code to the servers. Currently we are just using FTP and are able to push code as needed to different servers.
Code - The last couple server issues have been code related (bugs, poorly written code and queries, or loose code). These code problems are currently affecting our servers as much or more than the infrastructure process.
See attached for a small proposal from Wayne about how to configure our environment. Wayne would like to look into Lucee vs ColdFusion. I put tons of notes on that physical PDF upload.
We talked about some costs and also options going forward. We talked about DNS (domain name servers - where are things pointed), SSL's (secure socket layers - https stuff), emails and texts, etc. We can virtually push some of the logging into the AWS CloudWatch services. Amazon also has some other servers that we could harness and/or use. Some of the other services are AWS Cost Explorer, AWS Budgets, AWS Cost and Usage Report, and Amazon Route 53.
Steve was asking questions about how we could make an adilas user group (power users - adilas community) that could be linked and/or joined to different companies or different adilas clients. Almost an extension of the adilas reps and consultants - who wants my skills, I have a power user account, and that could be tied in to anyone's account (based on permission and access). All secure, but also very mobile. Basically a way to separate users and clients.
We also talked about splitting up the databases (world building) into corp-specific databases (smaller single databases) and then working on the mixed or cross-corp queries. In the background it could be tons of different services and even computers, but in the frontend, the presentation seems singular and very streamlined and smooth. This also opens up more revenue options for our developers to help code cross corp or consolidated reports and such.
Some talks about future white labeling options and how we could setup adilas as a platform and then allow them to pay the AWS bills and they pay us for usage of the code.
The rest of the talks circled back around to the code and how we create and deploy our code. Lots of talks about automated testing and getting all of that stuff super stable. Being able to up-scale to handle bigger and bigger loads. Alan popped in and also brought in the possible option of down scaling as well. No one likes to talk about this, but we need to think about both side of the coin. If we are on a dynamic environment, we could virtually scale up and/or down. Once again, it comes back to a two-part puzzle... you have both code and infrastructure.
Alan was talking about how to encourage our developers to run more of a test driven code structure. This will be a cultural switch. If we make it so that the system becomes the bad guy, we could help to change that culture. We've done this before, when we first introduced permissions and such. We talked about training, tooling, and guidelines to help some of these developers. Most of the talks today have dealt with changes to infrastructure - we also know that there is possibly a bigger conversation about the code development side of things.
Where are we going and/or heading? Eventually, some of the adilas functions and features will become components and virtual standalone pieces (modules of sorts). We need the flexibility of a Legos type scenario... multi interlocking blocks that could be mixed and blended as needed.
From Steve - I'm seeing lots of our wish list boxes being checked with these new proposed changes.
From Alan - This seems great for scaling. Hardware is one of the hardest ways to scale. If we could turn it into a service, it becomes easier to manage. Alan was also talking about scaling up and scaling down. Make sure you can go in both directions. How much weight are forced to carry... being able to absorb or extend as needed.
We can make the whole presentation more seamless. Currently, we send clients to data 10, data 11, etc. If we go more in this direction, it just runs more seamless and we scale things in the background as needed. In the background, we almost need a platform babysitter that helps us know what is going on and/or what is available.
Our clients tend to like - our pricing, our possible functionality options, and how easily we can customize things.
Dealing with timelines... We are seeing this transition between 6 months to a year. Maybe even more. We will start on it immediately, but it still may take some time to roll these things out. Also, we can only see so deep, there may be some unknowns that hit us as we get into things. Alan was saying some of the fun development sayings such as the last 10% takes 90% of the time and other things like that. It always gets crazy. Slow and steady wins the race. Lots of good things on the horizon.
|Shop 4338||Working with Will Hudson||1/24/19||
Working with Will and doing a first round code review on his transitional PO project. A transitional PO is in between a request/order PO and a live/closed PO. Not really tied to inventory, but already holding per-payments on the PO (assets on the balance sheet as a pre-payment for inventory). Will spent some time and we went through the code and looked at stuff. We went over code, pages, flow, and actual output (browsing the pages). We are about 90% done and ready. Once a few other things get tied up, Will is going to turn it over to me for final testing, merging, and deployment. It was looking good.
Working on the customer purchase history popup and section. Finished things up and pushed up files online. See attached for a small screen shot. The new button/page are accessed by using the "++" advanced add to cart page, once a valid cart is started and a customer is assigned to the shopping cart. As a side note, the same functionality also exists in the edit cart line item mode. Great for clients who want to do contract pricing and that may have variable prices based on a per customer deal and/or relationship.
|Shop 4279||Adilas Time||1/24/19||
Wayne and Steve were talking shop about ways to configure clusters and groups of servers. Lots of talks about AWS (amazon web services) and how they monitor and provide tons of sales stats. Talks about monitoring API socket calls, queries, requests, emails being sent and received, storage, bandwidth, etc. They were talking about using the stats as the base level and then we would just do a mark-up on top of that value. There may be some thresholds and bench mark values, but we could really change our pricing model. Steve would love to almost give the software away for free and then we just charge for processing and storage.
They were also talking about letting the billing cycles run automatically based off of the stats plus mark-up. They then switched to a small demo of the Docker containers and Docker servers (ways of managing a number of like instances and virtual machines). Lots of ways of deploying and configuring mass numbers of servers and also keeping things synced up and ready to go. Lots of talk about breaking every corp into their own database instance and spinning things up on multiple different servers (clusters of servers). Tons of fun world building stuff.
We may end up needing to store and make accessible certain data and values between different servers and still allow bouncing between different corps and even different servers. Fun new levels of what is possible. Once we start breaking things up, it may allow us break up other thing (pieces and functions) within the adilas environment. We honestly don't even know what is possible and what may end up shaking out of this restructure. Pretty crazy.
Eric and I spent some time working more on the sub special accounts and special account tracking stuff. We setup some time for next week to get in there and really start polishing things up and doing some finish work. There are quite a few pages and backend methods (functions) that have been built. The next stage is going over things with a fine tooth comb and helping the mock-ups and alpha releases become more stable. Good stuff.
When I wasn't on the meeting, I was building the customer purchase history page to help show the last known prices per item per customer. This will really help out those who do either contract pricing and/or have a variable pricing model.
Working on passing the customer tax category information through the ecommerce pages. Did some testing and pushed up the files to all servers. Did some live testing. Sent an email with some info and verbage to Drea to help with a new news and update post.
Started working on a client request for better access to customer purchase history. I added a new link to help filter the customer's invoice line items directly from the customer log page. I then started working on a new popup window to show the customer purchase history per part number (small or limited version - last 10 entries), if the user was using the advanced add to cart page (using the ++ advanced link for adding new items). This should really help with clients and users who depend on contract pricing and have different price points per customer. Great idea from Codie from Industrial Tool & Supply.
|Shop 4339||Drag and drop||1/23/19||
Final touches on Bryan's custom wire job for Global Design. It is a really simple page that creates quotes, elements of time, PO's, and expenses - all from one tiny little form. The last part that we were testing was the file management piece. Once a file is uploaded, it has to do the upload and then loop over all of the other items (PO's, time, quotes, etc.) and create similar file (media/content) references. We did some final tweaks and then did some live testing.
One small side note... After testing a couple of time, we had quite a bit to clean-up because each time we used the tools it made so many different things. Kinda interesting. Good stuff but you can make a mess of things pretty quickly if you don't know what you are doing. The power of a bulk wire job. :)
|Shop 4280||Adilas Time||1/23/19||
Eric popped in and had some questions on how to assign his sub special account tracking things to customers, payee/users, etc. After that, he and Steve were talking about future and upcoming projects. Steve was asking Eric about his backend skill sets vs his frontend design skills. We even got into some project management talks as well as backend database architecture. Eric has quite a few skills that are very marketable. We also talked about internal core projects as well as outside custom projects. Good conversation.
Steve and I were talking, briefly, about our direction for the future and near future. Good stuff. Our goal is to keep working on the system, building new pieces, refining some of the older things, putting a new coat of paint on the application (look and feel stuff), and figuring out the master plan of where we want to go. We have so many ideas out in the developer's notebook area... it would be so cool to gather all of that up and really make a plan.
The master plan could include things such as: database structure stuff (world building), graphical homepages, server structure stuff (universe level), fracture account ideas (things that we have learned and ways to break things into smaller and smaller pieces and settings), API socket access points, custom look and feel stuff, 4 different setting levels (corp/world, player/group, page/section, user settings), as well as additional rounds on balance sheet, elements of time, and subs of subs. This could also include all kinds of system stuff such as watchers, feeders, triggers and other ideas that are out there. That would be really fun, a huge project, but really fun.
Met with Bryan again and went over some of his new changes from earlier today. We did some local testing and prepped some things for live testing. He is much closer now and it is looking good. It still needs a little bit of clean-up, but at least it is doing the task now. Good stuff.
Spent some time recording notes and documenting things. That is part of my job.
|Shop 4317||Working with Shannon||1/22/19||
Reminder for me: Follow-up on graphical sales flyer, custom emails, and adilas market.
Shannon and I met over a Zoom session (Steve was using the GoToMeeting session for a sales demo). We got going and I showed Shannon a few of the things and projects that I was working on. Limiting certain query tools to 100,000 records or less, maintaining customer tax category settings in the cart, etc. In a small way, they, the current projects, played into some of our other discussions. By way of a report, Shannon said that she had been working on some content for the new graphical sales flyer. We spent most of our time talking about what we really want there. The sales flyer is not done and is somewhat of an open book. We want to make it fun, visual, and really get what they are getting and/or getting into in front of them. Mixing those pieces will be a challenge.
We talked about all kinds of things that normally may or may not be on a sales flyer. We talked about being a good fit, explaining the open market concepts (adilas market or adilas world), setting realistic expectations, steps for success, how to set an attainable goal, how to eat an elephant (step by step or bite by bite process vs trying to take down the whole thing at once), cause and effect decisions, training, setup, self-serve model, and how custom plays into that mix. Shannon took a number of notes and I passed her over some links and documents that had some good ideas. We setup another meeting for next week. Our plan is to keep chipping away at things and hopefully come up with a great sales tool that inspires and also educates our client base.
Here are a couple of the links that I sent to Shannon.
https://www.adilas.biz/top_secret/time_web_gallery.cfm?corp=748&id=3957 - notes from a training session in Denver. Search this for the key word "Kelly". We recorded a session where Kelly Whyman, power adilas rep, was talking about setup, training, and steps to success with the adilas platform.
https://www.adilas.biz/intro_to_adilas.pdf - older PDF sales flyer with some light info about adilas and our model.
|Shop 4335||Drag and drop||1/22/19||
Bryan and I met over a GoToMeeting session to talk about a custom media/content (drag and drop files) page flow. He is dynamically creating quotes, PO's, and elements of time to help with ordering, shipping, etc. As part of this process, the client wants to add one document to the process and have it cascade itself to all of the new PO's, quotes, and elements of time (basically a bulk upload and tie-in to the different players from one spot).
Anyways, we were working through things and got to a point where we were running into problems due to the way the page was looping. We decided to do a single upload and then remote reference all other pieces to that original upload. That really helped to define what the goal was. We ended with Bryan having some clear direction to help make things work. He was going to keep pushing on things and then get back together if he got stuck.
|Shop 4283||Adilas Time||1/22/19||
Wayne popped in and he gave a report about some of the server issues that happened yesterday. It sounds like a company was trying to pull multiple queries that had 2 million records per query. Basically, a log jam in the database. As we were talking about things, we were talking about moving from a purely transactional database, to a more aggregate type environment (aggregate meaning sums and totals vs individual transactions). Tons of data is awesome, but we need to limit the transactions and how many we are trying to chew up per bite. Some of the reports need to be re-written to be more efficient. Nobody wants to read and look at 2 million lines... all they really want is the totals, the counts, and the sums from that data. We may need to filter the data and better display it in a drill-down type basis.
Wayne was talking about DAO's (database access objects) and getting the queries in a more standard location and where to access those assets.
We are making progress and making things more stable. Sometimes when our users see an error, they instantly go back to what things were (older past errors) and then they fear the worst. That is just human nature. These are some of the growing pains. As a funny side note... Wayne was saying, other companies that seem light and fancy, they will have the same issues as they grow, their day will come when they are up against the wall and have to move from transactional data to a more aggregate type model.
Wayne was also talking about dynamic services vs just static boxes (dedicated servers). Basically a way to throttle resources vs setting up a static environment with specific resources. We were also talking about roll over protection and other mirror type values. We lightly were talking about how we may be out growing our current hosting company. We may start looking into AWS (amazon web services), Google, and/or other bigger players. Currently we are using Newtek and they have been awesome for years and years.
There was also some talks and discussion about a new pricing model based on usage, storage, bandwidth, requests, etc. We would love to get there but it still seems to be out there a bit. We were also talking about stats and then also projecting those stats out to our users. Some of this may require us to setup things per instance or per client. Random side note, I wonder if we were to go back to the drawing board and start with the end goal in mind. Would that change things? How, why, and how deep? Do we want that?
Maybe help our clients run based on sizes and needs. We grew from a small shared environment into a semi dedicated model and then into a fully dedicated model. We now have multiple dedicated servers. Wayne was saying something about Docker (spelling) containers and how to group things and somewhat create a virtual playground or virtual cluster per corporation or per company. Once we get them into the container of sorts, we could then expand that contain as needed. SaaS (software as a service) and how to expand and grow things.
Funny quote from Steve - "We need to get Wayne on a faster horse." Meaning, we may need to help Wayne get on an environment where he is not so limited (existing dedicated servers, structure, and physical boxes). Maybe we need to move more to the virtual playground.
Steve had some ideas about using more of the invoice homepage type mentality. Basically, we had an older report that pulled in the last 30 days worth of transactions. We totally changed that page to pull quick counts, graphs, charts, and sums. We then only show the last 15 records (really easy on the system). They users can flip/flop between daily, weekly, monthly, quarterly, yearly reports at the click of a button. All of the values are queried and pulled using a technology called AJAX (go get just the data and return without refreshing the whole page). Then, if they want more details (actual transactions), we have a number of other reports where they can filter the data to smaller and smaller levels. Steve would like us to do more and more of that to help eliminate the full detailed transaction searches. Great idea.
Towards the end of the session, I spent some time and built in a pre-check query for the advanced invoice line items search. If it has more than 100,000 records trying to return, it shows an error and requires the user to filter the details down a little bit. Apparently, this was the query that brought down data 8 yesterday for a bit. The company that was running the query tool was searching for over 2 million records in a single report. They were running back to back queries of the same size. That big of a bite created a data log jam in the database (table locking for joins then processing and doing calculations on 2 million plus records per query). That eventually caused us to reset the whole server. As a side note, that same query tool joins about 5 tables in order to get the results. If you do that for a couple thousand records, no problem... if you do it for millions and millions, at a time, it is a problem.
Working on ecommerce logic to help with customer tax categories and settings. Made a few changes and posted some prep code.
I got a call from Steve about one of the servers. It was having problems. We chatted about options and we ended up jumping on and flushing some of the old queries. That seemed to help everything start flowing again. Steve and I talked about our current server company and what possible options we have going forward. This topic will come up again, for sure. It's on our radar, but hard to perfectly figure out just by talking. It may end up being a combo of outside parties, technology, inside talent, budgets, goals, maintenance, and backing (financial and personnel). The game keeps going and expanding.
|Shop 4333||Meeting with Dave||1/21/19||
Working on customer tax category settings out in ecommerce land.
Jumped on with Dave and we went over some progress and details about the assisted living stuff. Dave is gathering information and creating flow charts, ideas, and mapping things out. He showed me some of his new charts and graphics. See element of time # 4147 in the shop for notes from our meeting. We are trying to gather all of the pieces that are relative to that project on that element of time. Here is a link:
|Shop 4282||Adilas Time||1/21/19||
First topic of the day today was talking about the talent pool that adilas has access to. Steve and I chatted about a number of the different developers, reps, consultants, and sales people who are helping us to play the game. We talked about how best to keep funding those efforts and endeavors. Good stuff, but you do have to be creative.
I showed Steve an update on where we are for the customer tax category project that I've been working on. We also briefly talked about a new sales flyer and where we are headed with that venture. Lots of moving pieces. I worked on more code for the invoice side of the customer tax category project. This helps with invoice line items being added after the fact and still being able to maintain the correct tax categories if an item is added later on.
Eric popped in a couple of times and has a few small questions. We talked about touching base almost daily until we could get a firm grip on when we could have the sub special account tracking stuff done. This deals with loyalty points, gift cards, etc. Eric also had some questions about doing custom work or internal adilas work. He mentioned, that it would be so cool if we had all of the custom one-off pieces that he has built, inside of the main adilas platform. That would be super cool. In the meantime, we are gaining ideas and knowledge of what is wanted and what is needed. Sometimes we have to play the custom one-off game until we either know enough about the needs and wants of our clients or we get the correct amount of internal funding to build it as a core piece.
Wayne popped on and we chatted with him about moving and migrating a couple of companies from servers to other servers. Basically, a company that has a dedicated box, just acquired a couple more companies that are on another server. They want everything under just one roof on the same server. As we were talking, Wayne had a couple questions and ideas. He brought up the fact that if we wanted to, we could split all of these databases into smaller single corp instances and run them on their own databases vs deploying things in a shared or semi-shared environment. We talked about pros and cons and I shared a little bit of history with Wayne on what we have been calling the world building project. We have wanted to do this (getting people off the bus - splitting up the database) for years and years. Looking forward, I'll bet that Wayne will end up helping us out there. Good stuff.
Spent the rest of the time coding on the customer tax category project, emails, paying bills, and trying to get some verbage together for a new news and update on the customer tax category changes.
|Shop 4331||Flex grid add fields||1/17/19||
Bryan and I were going over options to expand the flex grid. We currently have 15 custom fields. We have a client that wants us to double that and go to 30 custom fields. We talked about it and came up with 3 possible options. They are:
1. Expand the current flex grid to allow for a total of 30 custom fields. We also talked about possible JSON (object level) storage within the flex grid tie-ins.
2. We build it out similar to sub inventory attributes and parent attributes - with custom columns, data types, and make it unlimited. This is kinda along the line of real in-line database extensions. This would be super cool, but caries a higher price tag. The benefits are real data types (numeric, dates, text, toggle/boolean values, etc.) and also fully unlimited.
3. The other option is a custom black box database table to help them specifically get what they want and what they need. This one takes a little bit more consulting and time with the client, but may end up being the best solution.
We took some time and put some light price tags on each solution. We also talked about how each one would be rolled out. Bryan is going to check with the rep and client and see which one they would like to do. Once we know, we'll circle back around and do more planning.
The last item of the session was looking at the sub inventory sales and invoice report. We had a request to help with a timeout error that was occurring. We looked at the page and upped the timeout option. Really, that page needs some loving to really make it hum and run super fast. That will have to be another day.
Working on the new customer tax category settings and coding things in the shopping cart to follow suite. Trying to add new code to all add line items functions and also added new code to help with switching and/or assigning customers to the cart.
|Shop 4301||Year end database stuff||1/17/19||
Do some end of the year database and file back-ups for adilas.
If possible, spend some time looking at Spencer's short and sweet cart interface.
|Shop 4287||Adilas Time||1/17/19||
We got a report from Alan on the delayed inventory update stuff. You can now save your work, delete/remove some records, reset things, and then finally process the saved pieces. We are really close to getting that launched and online to let people start playing with it. Good stuff.
Eric jumped on and had a few questions. After that, Wayne jumped on and we went over some server things. Wayne is in the middle of a task to move about 70ish corporations from an older data 1 server up to a newer data 11 server. He is just doing prep work and practice runs right now, but building up for the actual migration process. He had some questions and a lot of them are dealing with different files on different servers. We know that we need it (custom code options), but it does make some of the standardization process more difficult. Anyways, we chatted about a number of options and even pitched a couple ideas back and forth about using includes, config files, and database storage of either values or objects (JSON stuff). Lots of good talks and discussions.
Eric came back on and had some questions on how to deal with optional database joins and displaying conditional output. Where this comes from is we allow the sub special account tracking transactions to be either tied to a customer, an invoice, a payee/user, or just generically tied to text entry (not a real database item). This allows our gift cards, loyalty points, and other sub special account tracking accounts more flexibility. I showed him some pages where we already do similar type logic (media/content and flex grid).
In between times, I was working on helping the customer tax category to stick. This is for customers that are say set to a tax category of wholesale, resale, government, etc. They are not taxed, but often a retail item will be setup as normal taxable or with tax included. My current mini project is trying allow the non taxed customers to get the correct auto tax categories as they go through checkout and cart creation process.
Doing some planning on a project to help make the customer tax category stick through the shopping cart. Currently, we only show it and warn if not used correctly, we want to really use it and auto populate it all the way through. This seeming little project will end up touching the main cart session scope, advanced add cart lines, edit cart lines, update cart pages, duplicate to cart, quote to cart, and a number of custom files. It has some teeth and some roll over order of operations. We will have to interject logic based on settings, allow for bulk changes and bulk recalculations. It could get deep.
|Shop 4324||On site with a client||1/16/19||
On site reviewing a custom project quote with a client. We went over the possible custom projects and I explained them, where additional details were needed.
|Shop 4329||PO/Order wish list||1/16/19||
So, we had a client request a PO/Order wish list. This would be something that all parties could add to (what do we need and/or want). Once it is saved, it could be reviewed and then converted into a new request PO (order) or a whatever. This could be per vendor.
I was talking to Steve about it, and he had tons of ideas. This is not a real project yet (keyword yet). Here were some of the things that he was talking about.
- A reorder homepage
- Maybe have a backend system that helps with weighted values (what sells, how fast does it move, how long does it take to cycle, profit margins, etc.)
- We talked about meta data (data about the data) on each item. We could review, bulk add, remove, ignore, etc.
- Steve really wants to be involved with this project
- We talked in earlier days about a reverse shopping cart. Currently, the shopping cart is used for quotes and invoices. Wouldn't it be cool if we could do the same thing for making an order and/or wish list.
- Steve kept talking about an algorithm to help with the weight and the way the items were treated (basically a backend super program that helps make decisions)
- Settings, how to figure those values, rules, assignments, etc.
Anyways, just wanted to record a couple of those ideas. Once again, if possible, Steve really wants to be involved with this project.
|Shop 4330||Removing all top into verbage||1/16/19||
We had a client that requested us to remove all top page verbage. These are the small (and sometimes big) paragraphs to help orient the user to what is going on. These are not the full help file, but an intro paragraph of the basics. If they were removed, the page would feel like the meat of it begins quicker and we could fit more on the page (visual real estate).
Anyways, as part of a bidding process, we put that item on the list as a possible upcoming project. The verbage on the bid/quote said something like this: Remove all top page verbage (thousands of pages) to make it look more simple - new user setting that affects each page layout.
As Steve and I were going over this, he recommended that we don't fully remove it based on a user setting, we just move it over to the slide out gear menu on the right side of the snow owl theme. That was a good idea. I like that. We are trying to put helpful and needed assets over in that slide out drawer (gear menu). Basically, we could clean up the pages and still have the basic instructions only a click away. I wanted to record the idea as that may be a project for another day.
|Shop 4286||Adilas Time||1/16/19||
Emails and tech support. Recorded some notes from a conversation between Steve and I as we were going over some custom project quotes. Started working on a custom invoice for a client. They provided a number of pages with circles, x's, and lines. I'm just following those notes and building the custom invoice.
Eric popped in and we went over how to record a simple touch history (only record a history if a change is made) for the sub special tracking accounts (loyalty points and gift cards). We also talked about what details we wanted to record when that change was made. He had some other questions about my cart favorite buttons and helping a company get a single button master and then have all other users in that corporation use those master buttons. We talked about what is needed and he took some notes. Basically, we just flip who owns the buttons in the background and change some permissions from normal add/edit/create to view only. Pretty easy.
After meeting with Eric, I kept building on the custom invoice for the client. I stripped out tons of the possible options. I think that they will like it, the new invoice is very simple and basic. Just for fun, I took off: all stock/unit stuff, line item photos, line numbering, tax categories, discount columns, sub inventory attributes, all payments, any possible flex grid, and options for elements of time. Super plain jane, but that is what they wanted.
|Shop 4328||Media content||1/15/19||
Looking over code with Bryan dealing with a custom multi file upload. Lots of smaller sub loops. He is hoping to upload multiple documents and then do a second loop to tie the same documents to other pieces (elements of time, quotes, and PO's).
Emails, recording notes, and light tech support.
Working on a custom list of projects for a client. Transferring project details from paper to a Microsoft document for a better visual display.
|Shop 4289||Adilas Time||1/15/19||
Getting things your way - the power of a custom solution. Steve and I were talking about core vs custom development. Where we are at right now is letting clients step up and have us build certain features. There is no possible way that we could shoulder all of the requests. We just can't give away anything for free right now. The companies that want to play and pay, they will succeed. Custom software as a service (SaaS) allows our clients to build out their own dreams and processes.
We were talking about finishing up some of the existing projects. Sometimes we like to dream and keep building and building. Maybe we need to circle back around and finish some of the outstanding projects. Steve was talking about - is this mission critical or can it maybe wait or hang out a bit? We are trying to get a better handle on this.
Yesterday, Steve and I were talking about mixed server technologies. Steve was also saying, as a reminder, that as we keep building, if we have outside services or 3rd party products, they will constantly need updating and keeping up with the new changes that keep coming. Even though some of the new pieces may look cool and be all gui (graphical user interface) and such, you still need them to be updated with the functionality that keeps rolling out the door.
Dustin was working on some cultivation stuff and had an issue with a pound sign (#) not passing through his page flow. We jumped on and did a little work around code to help him out. I spent some time and reworked the sub inventory searches for parent items as well as sub barcodes and sub RFID tags. I made a couple other simple changes and tested and pushed up some new code. Eric popped in and had a couple of questions as well. Pretty quite morning.
At the end of the session, I pumped out some quick changes to an employee report for Beaver Mountain Ski Area. Pushed up the code and let Debbie know that the new code was up and online.
Spent some time going through the requests (lots of hand written pages) from the tool company. Put all of the ideas on paper to help sum things up. Associated some times and budgets to the different projects. Lots of internal tweaks that would be nice and quite a few custom requests as well.
Called and talked with Bryan about media/content and copying and moving files (client uploaded files). He is working on a project that needs some document management and the ability to bulk upload and move client files around. That code already exists as part of the media/content pages and functions. He is just trying to refashion (reuse and reformat) some of it and put it on a custom page to help with a process that a client requested. He was running into some errors. We talked about it, but may have to reschedule as we need to be on a computer vs over the phone.
Email tech support and answering some questions from our developers. Some of the questions were about migrating data, sending emails using built-in adilas tools, and database questions about invoices and how we are controlling the id numbers and counters.
|Shop 4285||Adilas Time||1/14/19||
Alan, Steve, Dustin and I were on the morning meeting. The first little bit was each person reporting on what they were working on and what issues are still outstanding. Steve had a couple of questions for Alan and Dustin. They are following up on different tasks. I spoke with Alan a little bit about our plans for some changes in how the sub inventory and sub barcodes were going to be searched and filtered.
Next, I gave Steve a small update on my meeting with Spencer and Wayne from last week. He asked for some drawings on what was going on. I explained that Spencer was at a turning point where he was going to be needing access to actual data. He doesn't know Adobe ColdFusion very well yet, but he is a PHP master. PHP is another open source server side scripting language. Wayne and I decided that we would let Spencer build out his new prototype in PHP and use the adilas API sockets to get and pass data back and forth. That sort of spun us off into a small discussion on where are we going and how are we planning on integrating all of these pieces. That, of course, is a whole other topic. We touched on the need to build out the adilas API sockets (play at the wall - allow outside data connections) and how that would fit.
Calvin jumped on and a couple of the other guys bailed out. Steve and I had a good talk with Calvin. Our current project with Calvin is an outside label builder for custom and bulk labels. Part of our conversation was helping both adilas and Calvin get our communications being built up and on better levels. We chatted, got on the same page, and will hopefully be back on task next week. Calvin still has some other projects that he is working on right now. Good meeting.
Steve and I then spent some time talking about how the trend is kind of going toward 3rd party solutions and 3rd party build outs and then trying to inter connect them with internal adilas flow and processes. This took us back to a subject of PHP and other adilas API socket connections.
Eric popped in and had a couple of questions. He is building an project for sub special account tracking stuff like loyalty points, gift cards, etc. Some of our discussions today were dealing with page flow and naming conventions. We talked about having a new sub homepage for the special account tracking stuff. We then talked about how the user would have to let us know what special account type they were looking for information on, and then what that process would be like as they walked from step to step, adding filtering, and then finally results with drill-downs. Lots of concept level talks about flow and data. Good stuff and I think that Eric is making some good progress. We'll still need to tweak and refine things, but progress is being made.
Lots of emails and other things, just trying to get caught up and going. After that, Steve and I jumped back on the discussion about PHP, adilas API sockets, playing at the wall, internal vs public files, what servers would look like (just Adobe ColdFusion boxes, just PHP boxes, or dual setup of both ColdFusion and PHP per box). We have some questions that we will be asking Wayne about options and direction. We also made some good break trough's by noting which files and servers were private (owned and controlled by adilas) and which files and servers were public (owned by 3rd party and/or outside entities). Just adding what was public and what was private, really helped the conversation and get both Steve and I on the same page.
What we are seeing is that we need to keep pushing for a full separation between the data (database, storage, and access to the data), the logic (functions, methods, API sockets, and flow), and the actual display (what things look like, where they focus, and what they do or don't do - visual interfaces). Those three things data, logic, and display are huge. The more we separate them, the more modular our application becomes.
We didn't spend a ton of time on this... but all of our discussions were somewhat pointing to the greater and greater need for the adilas market (adilas world) to play a part in the puzzle. Currently, we have a saying "Play at the wall" for the adilas API sockets that we expose to the outside public. That wall is basically the access point between the adilas database and logic and the outside world. We are almost seeing a 2nd wall (virtually speaking) starting to form up. That second wall or outer wall is the adilas marketplace and who has what, who offers what, how is it obtained, or who has made pieces that virtually are able to be plugged in and/or integrate with adilas core functions and functionality? I'm betting that the open market will end up playing a bigger and bigger role as things progress. Our challenge is how to manage that as it grows. Good stuff.
Paying bills and recording notes. Transferring notes from post-it notes (quick scribbles) to real elements of time entries.
|Shop 4326||Meeting with Russell||1/12/19||
Russell and I jumped on a GoToMeeting to go over the custom email options. It was pretty deep and we spent over an hour and a half, just on the different settings. See attached for my notes. We did record it, but the we were using phones vs computer audio, so there is no audio. Basically, it was an overall review of the custom email settings, templates, custom variables, and usage options.
My big takeaway from the meeting with Russell is how deep the adilas system can and does go. Some of the tools are for end users, customers, reps/consultants, frontend or junior developers, and full on backend developers. There are tons of different levels. Think of layers of a cake... some are independent and some need to stack on other layers to make the whole. Anyways, see attached for some of my notes.
We also discussed how to work with the little slide out gear on all of the snow owl theme pages. Here are a few notes:
- This deals with the slide out menu on the right side of the page. It allows for custom links to settings, help files, videos, courses, etc. (the little gear icon).
- it get populated from the footer (automatic)
- the variables get set in the locig portion of the page (main page)
- a good sample is top_secret/secure/parent_attribute_categories.cfm - it has multiple help files, videos, and settings
|Shop 4325||Working on a sub inventory search bug||1/11/19||
Up early trying to figure out a sub inventory search and/or sub barcode search error. We had a bug reported and I watched an online meeting recording between Molly and Steve where they were going over the error and what was causing it. The error seems to be a disconnect between the sub inventory id (transaction id) and the sub reference number (how packages get related together). Anyways, I spent a couple of hour and tried to crank out some changes. I pushed them up and tested them and everything worked for me.
As a side note, the guys had to reverse the changes later in the day (I was out of the office). The new code fixed some things but made other things worse. One of the new things was dealing with Items being scanned and then coming into the shopping cart at a $0 value. It wouldn't happen all the time, but enough that they reversed the changes. We'll hit it again and test it deeper and more thoroughly. Alan was the one who helped reverse the changes out.
|Shop 4319||Meeting with Spencer||1/10/19||
Wayne, Spencer, and I jumped on and we did a quick review of the short and sweet cart interface. We are going to be trying to work through API calls, AJAX, JQuery, and PHP for this project. This is somewhat of an experiment. Wayne and Spencer were talking about wishes and goals as well. Wayne would really like us to use unit testing, different Git (version control) branches, and not rely so much on FTP (file transfer protocol). Good demo and good discussion.
|Shop 4321||Ram discount bug||1/10/19||
Meeting with Bryan to go over discounts. We have some requests to allow for better permissions and/or reporting on discounts that are being applied. I have some notes on the subject on my computer. I also passed some notes over to Bryan through the GoToMeeting chat. Some of my notes are listed in a sub comment.
|Shop 4288||Adilas Time||1/10/19||
Steve, Dustin, Wayne, Eric, and I were on the morning meeting. I gave a small update on my "on site visit" yesterday with the tool company. Tons of new notes and pages of ideas and requests. Wayne wanted to talk about ways of standardizing code, and how things get implemented. He pitched a couple of fun and good ideas. He had us look at an article about ways to use Git (version control software) and have a number of different stages and/or branches. He was also explaining about how he could implement things like this inside of adilas. Super talented and we've never even been able to consider some of these concepts. Very interesting. Here is a link to the article... not exactly this process but some similarities.
After Wayne was finished, Eric and I chatted about the sub special accounts homepage and what that would be and/or look like. We made a small plan and then Eric jumped off. Steve and I then started talking about how some of the developers are really wanting to jump in and play the game. We talked about Russell and what he wants to do, Wayne and what he wants to do, Alan and his goals, where Calvin is at, Dustin, Spencer, etc.
Right about that time, Eric popped back on the meeting and was asking Steve about some ideas and concepts of revenue sharing and how we could build things out to a more and more stable working and development environment. Eric was talking about how much better adilas as a whole would be if he was able to build out core features and projects vs doing the custom one-off implementations all the time. Some of these developers work and work and work and then their projects are done. Most of them want something that is reoccurring and/or can be reused over and over again. That seems to be a trend. Very interesting, almost the exact or similar topic that we were on. While Eric and Steve were talking, I was listening and making some mental notes. We don't know which way to jump yet, and we don't want to overload the boat so that it tips (get too far extended by debt and/or payables), but there are some awesome opportunities right in front of us. We have a great talent pool that we know, like, and have the skills to do what is needed. We just need to figure out how to keep funding the journey. That is awesome.
From Steve - he thinks that we have crossed a new checkpoint. We are having guys with talent that are virtually knocking on our door saying - I want in.
Russell's word - "Dependable" on what we called the people on our team.
Steve was also talking about some supplemental experiments with salespersons and people helping to push our product out there. We are going to start funding some small sales missions and covering certain individuals for 10-20 hours a month doing sales. If they get a sale, they are able to charge their normal setup and/or consultant rates. If they are prospecting, they will be on a small adilas budget to help them cover prospecting time and maybe some gas money. Basically, a small "low to no" budget sales force, but helping to augment and/or supplement the sales efforts. Fun stuff.
Towards the end of the session, I took some time and recorded some notes. To some, it may seem like a waste of time. To me, it is what I do and that's part of the job and/or what I like to do. I gain from it in big ways. Whatever I write, I have to think about it, record it, re-read it, and it improves my memory going through that exercise. Anyways, that's why I write so much. Once it is down on paper (virtual and/or physical) I can refer back to it and it lessens the stress load. There is an old saying, the faintest scratch on paper is better than the sharpest mind.
|Shop 4313||On site with a client||1/9/19||
Went in and met with the folks at Industrial Tool. Lots of great training and other ideas (idea farming and harvesting). We had some great discussions and I took pages and pages of notes. Some of the huge takeaways for me are:
- The need for more toggle on/off settings
- Make things standard vs plain one-off black box code (custom code)
- Customer purchase history and letting that play in as part of the pricing engine
- Need for full and integrated gift cards
- Show/hide discounts (even if they are applied)
- Showing items that are on order (ordered and/or coming in) on part usage pages
- Helping preset customer tax categories pass into the cart
- Being able to flip flop printable invoices based on invoice types - customer invoices go to 8.5x11 and counter sales (quick cash sales) go to the 3" mini receipt format
- Getting rid of all of the extra verbage and explanations on the pages (this is my bad - I was trying to help them know what to do - but it is becoming less and less needed and more just in the way - it may be a great setting to toggle on/off - almost like training wheels)
- Lots of new requests to run the ++ (advanced add or edit to cart line items) off of profit margins vs mark-ups and discounts. This is somewhat industry specific, but certain industries really try to make a certain margin on certain pieces. It actually changes depending on the categories and the items. Pretty interesting.
- Multi-tills and/or cash drawers - how to flag and tag the different invoice payments and transactions
- Vendor discounts and vendor terms - clear out to due dates on the expense and PO side. We also have a huge need for due dates on the invoice side. That project is coming, we just need to get back to it (see code branches BWM-33 and ram-37).
- It sure would be nice if we had a check write queue and/or a bulk bill pay list - currently, most of the bills and checks are done one-by-one. You can trick it and put in a specific phrase and then search the checks for that phrase and you get a quick list, but it may be cool to actually build it out to a slightly better system for paying bills and writing checks. Interesting how everything goes from can you do it once... to can you do it fast and in bulk. It comes down to speed, speed, speed.
Part way through the day, I went to lunch. After lunch and before heading back, I was walking around to clear my head and started thinking... wow, if I could make these requests into corp-wide settings, it would save tons of time and effort in making all of these different corp-specific black box custom code pages. That was a fun concept and I was able to start thinking in an different light/view point. Good stuff.
|Shop 4316||Brandon and Bryan working on sub barcode searches||1/8/19||
Working with Bryan to fix some sub inventory and sub barcode bugs. We added some new filters and changed how some of the reports filtered the data. We also built a repair page to fix existing sub barcodes that are live on all of the different servers. Bryan and I tag teamed to update the live serves. Bryan sent an email update to one of the reps that was looking for these changes.
|Shop 4303||Meet with Shannon||1/8/19||
Shannon and I jumped on a GoToMeeting session. We went over a number of projects. The original goal was to work on the adilas user guide content. We ended up going over the new graphical sales report, custom email addresses for clients (mini project), and talking about populating the adilas market or adilas world with reps, consultants, and developers. Mostly just a work session today. Shannon was happy to get some new projects to work on in her spare time.
|Shop 4318||Working on W-2's and 1099's||1/8/19||
I got some new code from Shawn dealing with 2018 W-2's and 2018 1099's. Looked over the code, made a few changes, and pushed to all servers. Sent an email out to Shari and Drea to help do some checking.
|Shop 4251||Working with Eric||1/8/19||
Eric and I worked on the sub special account tracking stuff for a bit. We made a few new notes. See attached.
|Shop 4276||Adilas Time||1/8/19||
Steve and Dustin were on the morning meeting. Steve had a quick question about a custom report for owners. We talked about some security hashes that could help the report be more secure. The admin report needs to be outside the secured environment and kinda a quick access link to a quick breakdown report for admin users. Steve has the report built, he is just adding some security and then going to add an access point from inside the secured environment.
I got a call from Russell. We talked for quite a bit about some custom client needs and how best to proceed with those requests. We also spent some time talking about using Bridgerland or BTech to help build out some of the fracture type pieces. The term "Fracture" comes from an idea that Steve had back in June of 2017. Everything in adilas seems to be fracturing and breaking into smaller and smaller pieces. Just discussions at this point, but basically a centralized brain (backend engine) and then a deployable front end that could be hosted on any client server or through a commercial web host. No special setup and a fully customizable frontend interface. The whole thing would talk and/or communicate through API socket connections and back and forth API traffic. We talked about ideas, options, etc.
If I were to put together a small fracture tick list, it would be something like this: (just ideas)
- Customizable look and feel (corp-level, department level, user level, and whatever in between)
- Preset defaults with ability to tweak out the defaults and settings (good starting spot and/or basic structure - starting templates)
- Permissioned out and/or micro permissioned (down to the functions per section)
- Settings for layout, settings for display (show/hide, sort order, aliases, instructions, required yes/no, validation rules, etc.) - As of right now, we are seeing settings on 4 different levels. They are world (corporation or business entity), groups or system player level (customers, invoices, deposits, expense/receipts, PO's, parts/items, vendors, users, stock/units, balance sheet items, quotes, elements of time, etc.), page level settings (what will show/hide, sort order, placement, flow, etc.), and finally, user level settings and defaults. How do I want to play the game (at a personal level)?
- Existing structure and flow, but it could be modified. Basically, a template of the starting procedure and/or process but make it able to be modular (build mini data assembly line type options per procedure/task). Think of our model with the mini bubbles and/or pods. These interface with flow, permissions, time, flex, and mapping clear out to the accounting levels.
- Real in-line database extensions. This allows us to provide a basic starting point (database tables and template flow) but also allows for things to be expanded and/or contracted (lessened) based off of configuration. These database extensions could be data types and allow for numeric, decimals, text, dates, on/off toggles, and even long text or JSON storage.
- Be able to save and build any kinda of report or data export - using existing tools
- graphics, charts, graphs, and other summary type options
- Support of both transactional data (what happens day to day) as well as aggregated (summed or pre-calculated values)
- Digital story telling, using characters, relationships, cause/effect choices, consequences, etc. World building concepts.
- Configurable interfaces and functionality per business vertical - click of button to switch layouts and/or processes.
- Customizable (data or logic hooks or black box technology) on client side, server side, and display and logic sides.
- Responsive and/or mobile ready
- Tons of flags, tags, and special callouts
- Be able to tie everything to time or elements of time. This could allow for groups, categories, types, sub locations, sub phases, sub status, etc.
- The list goes on... Most of the ideas have been recorded somewhere in the adilas developer's notebook pages. A great resource, it just may take some time to review and categorize.
Back to other topics, Eric popped in and we made a few more notes and decisions on the sub special account tracking stuff (gift cards, loyalty points, in-store credit, etc.). After that, Wayne jumped on and we talked a little bit about email servers and what is needed there. I spent the rest of the time recording notes and reviewing to do lists. Busy times.
|Shop 4314||Cannatrac add cashless payment icon||1/7/19||
Bryan and I met and did a good session and worked on a number of different projects. We started looking into what it would take to add a new category (main professional group) for the adilas market and adilas world. After that, we rolled into a small research session on a small bug when showing and filtering sub inventory based on a sub barcode. The problem seems to be that the sub barcode is sticking (entered into the database) as the package gets created, but not being passed when the product gets used. We spent quite a bit of time looking into and doing some research on what the problem is and what is needed. We setup a time to work tomorrow to get in and start working on the bug fix. The fix will have a few different sides and/or pieces to make it all flow.
After the meeting, I was doing emails, running inventory updates for a client, recording notes, and other clean-up stuff. Busy day.
|Shop 4312||Working with Molly||1/7/19||
Talking with Molly about adjustments to the inventory values (current inventory) as well as cost of goods sold (items already out the door). Some new questions coming up with sub inventory and how the details are being spread into smaller and smaller pieces. We would like to look at a quick calculator type tool to help out with problems and/or adjustments. How could we use an update PO to help adjust costs diffs? Does it belong on an update PO or some other tool? Great questions.
I put a couple of links out for her through chat to help with research on ICC (internal cost corrections)
https://www.adilas.biz/top_secret/developers_notebook_home.cfm?q=ICC - research on ICC's
She showed me her current process. She started out by going to the grouped inventory page.
- The grouped inventory page is where they (our clients) then to see the cost problems - quantity of 0 with an existing cost
- She is pulling every usage page (per item) and going page by page to see if she could find the problems and/or issues.
- Per location, current quantity times the current cost should equal the in/out extended total - see screen shot
- She adds a positive and a negative (no change in quantity overall) but we need to alter the cost diffs.
- If we could check if the current cost times the current quantity matches, then great. If different, show a flag and allow the change/update.
- She would really like to have a tool that allows for a recalc of the extended costs (both on the inventory side and the cost of goods sold - both sides of the fence).
|Shop 4315||Phone calls||1/7/19||
On the phone with clients going over ideas and options. Some of them want some closer hand-holding as part of the setup process. We talked about a couple of options and I told them that I would reach out and talk to Steve about those things.
Steve and I got on a call and went over a number of things. There seems to be a very high demand from our clients to get certain pieces and/or features in place. We are almost getting pressured by our clients and some of the adilas reps. We are trying our best but there are only so many hours in a day. We have to figure out a way to manage all of the demands.
Here are a couple of small pieces that helped me out. Most of this came directly from Steve in our conversation...
- Reach out to local adilas users and see if they want to pick up some moonlighting options to help train other users
- If needed, we could get some of our top reps to reach out to clients to get a relationship built there
- If a company is really struggling, try to figure out why? Is it training? Interface? Flow/process? Expectations? Requirements? Bad setup? Forced timelines? etc. Some of these things take time... you can't just say go and have everything in place. It may take hours, days, weeks, months, years, or somewhere in between - depending on the task, how deep, timelines, budgets, talent, etc.
- We need to focus on what we do well. If other products and/or services are needed, that is great. It opens up options for the adilas marketplace and/or adilas world type concept. We have to charge for what we do and/or provide.
- Analogy of Lewis and Clark (explorers finding their way across the western united states by river and canyons) - Some days we may get 10 miles further down the path and other days we may be recovering from sickness and/or portaging raging rapids. We are exploring as we go.
- If a company wants to... we recommend that they do a pros and cons list and then make a decision. What is gained and what is lost. Not every solution is right for every person. We have a ton to offer. Do they want what we are offering or are they looking for something more or something less?
- Steve was saying that we should have three main parts to the puzzle - 1st - hit the sweet spot (are we a match with our clients on what is available, offered, and prices). 2nd - Who is going to help them along the way (initial setup, getting started, training - qualified help and/or skilled help). 3rd - Ongoing and helping to bring the clients along as changes are made, upgrades happen, new options open up, and keeping up to speed with what is going on and/or available.
Anyways, a good set of phone calls. We are learning every day and slowly making progress just like Lewis and Clark in our adventure. Good stuff.
|Shop 4250||Working with Eric||1/7/19||
On with Eric. We basically just touched base and made a deeper plan for tomorrow. I passed him my latest notes and we'll hit it tomorrow. He was going to use the rest of the session to get caught back up and reoriented on the project. It is crazy how much we (all of us developers) lose when we bounce between so many different projects. It almost takes a focused effort to get back into a project and re-getting the juices flowing. Sometimes that transition time can really be a pain. Long story, made short, we have big blocks of time the rest of the week and into the week after. Good stuff.
|Shop 4281||Adilas Time||1/7/19||
Reviewing things with Steve. We talked a little bit about a new email server for adilas. Currently, we are using an existing shared account setup by Newtek to run all of our emails through. Going forward, we may want a little bit more control and/or get our own email servers vs using the normal Adobe ColdFusion. Wayne is the server guy and might be able to help us out there. Good stuff.
Steve was talking to a rep and I was overhearing their conversation - lots of talk about ecommerce and how to get people logged in and tons of other ideas and topics. As part of the conversation, I heard him say - "Adilas is clay - what do you want?" I love it and I've heard it before from others, just not sure if I have recorded it. We have a custom business solution that is configurable.
Wayne popped in and we were talking about email server options. He is super smart and has done tons of that. We spent some time talking about security features, queues, etc. Wayne is also doing some automated tests and is helping to harden up the servers. He is hitting some of our servers as if he were an outside hacker. That helps us see where the vulnerabilities are (in some ways). We also talked about options for testing, staging, and production environments on all servers. This deals with different code branches and how to virtually use three different code sets, three different databases, and even three different sites (web addresses) where we could simulate live data and other variables. We have never been able to do that. Basically, we could duplicate live data for testing and staging and then play in a semi-live but non destructive manner. That would be super cool.
|Shop 4311||Finishing up the physical inventory counts for a client||1/3/19||
Spent some time finishing up the inventory counts and digital uploads for a client. This was going through a huge Excel file and uploading blocks of 200 records on a CSV file. The system would then take that data and run the proper updates and math to do an update PO to get the counts correct. This was done using a custom tool built for the client. We uploaded 44 CSV files for just over 8,000+ unique items and over 56,000+ in total quantities. Easy, over half a million in inventory.
|Shop 4307||code check||1/3/19||
Bryan and I got together and did some code checking and merging. His new code adds a small history message when emailing an invoice. We also spent some time looking at a custom job that he is building out for his own purposes. He, Bryan, does a lot of project management on his own custom projects that he is running. He showed me a few new pages that he is working on to take his project management code from his MS Excel files (current) to an adilas build out (custom for Bryan at this time) to run his project management. The new pages that Bryan made have a super simple add process, quick edit buttons, quote, invoice, and hide buttons as well. It shows all current projects as well as the last few months of projects. Behind the scenes, he is querying sub dates and times, action status logs, and invoice payments and invoice histories. Pretty good little mash-up and custom wire job, using elements of time, quotes, customers, invoices, sub dates and time, and flex grid. It is cool to see how people are able to mix and blend the different players and sub players (groups and sub groups) to get what they want and need. That is what it is all about.
|Shop 4299||Migrating and updating inventory values||1/3/19||
Custom uploads for a client. They gave me multiple sheets of MS Excel data with part numbers (items) and quantities. I was formatting groups of around 200 ish and then uploading them using a custom tool for Industrial Tool & Supply.
|Shop 4274||Adilas Time||1/3/19||
Steve and I were talking about some sales options and where we want to go. Fun reports back and forth on what we are learning, how we can keep funding projects, and where we could go. Maybe hit the development pause button and do some more sales. Every client we talk to has so many ideas, needs, and different ways of doing things. We love it when we show a client and/or tell them what they can do. They end up saying, you can do that? Yes, you can do that! That is awesome.
We are seeing a need for a more personalized model. Get people out in the field, talk to people, help train people, take notes, listen, and get things planned, funded, tested, and built. That would be awesome. Steve and I are looking into getting out and helping with more setups, custom code, consulting, etc. We will bring that back to the table. We will be charging anywhere between $50 and $100/hour based on what we are doing. If we bid something out, it will be at $100/hour. If we are on straight hourly, it will be somewhere between that range. That is way we could help out as well.
We also talked about making our morning meetings shorter and what time we are available to meet with other people. That will help out as well. We have tons and tons of great ideas and concepts listed and noted in our developer's notebook. We are so busy, that it gets hard to circle back around and really harvest some of those ideas. The goal will be to circle back around where possible and help feed out the projects to the people who can and want to do them. Good stuff.
The last half of the block, I was working on some custom data updates and migration stuff. Industrial Tool & Supply had given me a file with about 4,000 items that needed to have their part or item descriptions updated. The original file (a couple of days ago) was missing the descriptions so we have to circle back around and update a number of items. I built a small took to upload the CSV file and then loop through and update only items that had matching item numbers and descriptions. Small clean-up routine.
|Shop 4273||On site with a client helping them go live||1/2/19||
Went into town to help Industrial Tool & Supply going live. We had a great day and lots of progress was made. I ended up working with numerous different persons on their individual tasks and what not. The morning was hopping and I was bouncing from place to place and station to station. By afternoon, things had calmed down and I was able to even click a few things off of the tick list. I have a number of small pages of notes and will be working on those pieces in the next couple of days. Lots of good in-sight on what they do and how they want the system to work and respond. There are ways around right now, they just want certain things emphasized and/or sped up (shortcuts, callouts, and easier processes).
Finished up some work and testing on the CSV file upload for doing inventory updates. Got it far enough to test a couple of times locally. Still haven't tried it live.
Back working on more logic for a quick part or item number and quantity upload using a CSV file. This is a custom upload tool for Industrial Tool & Supply. They have a ton of MS Excel files that have items and quantities. We will end up converting them to a simple CSV file (under 500 records per file) and them uploading them into this special update inventory counts tool that we are building.
Working on the update inventory count logic for the CSV/session data transfer. Finished things up and ran the file live. We used one CSV file to update and add about 4,000 items. That was broken up into about 188 different PO's (vendor specific). Pretty cool.
More work on a digital upload for a client. Working on a CSV/session upload. The CSV file has all of the original data. I then break it into pieces and store it in the session scope. Where I'm working now, we will grab the data from the session scope and run the updates. This is a new process, we haven't done this yet.
Just for my records, if I ever need this tool again, it saved under a file named: migrate_session_parts_from_csv.cfm
|Shop 4243||Working with Shannon||1/1/19||
Working with Shannon to get more adilas user guide info. We worked on info for my cart favorites, my stuff (personal settings and options), and reoccurring and automated options.
Back on some data uploads for Industrial Tool & Supply. Combing and prepping data files.
|Shop 4271||Adilas Time||1/1/19||
Well, it's a new year. I'm excited to see where things go. Great year, last year. Tons of new developments and definitely a small sense of standardization and normalizing was going on. Often, they say that a team goes through different phases: Forming, storming, norming, and performing. I'm really hoping that we are going through the normalizing phase - who knows, time will tell. Yee haw!
Pretty quiet on the morning go to meeting this morning. I started out and doing emails, merging code, and working on some data imports for Industrial Tool & Supply. They are hoping to go live tomorrow morning. I was working on a new digital upload that has almost 4,000 items that they missed giving us the first time. Going through the file and doing some clean-up and prep work.
|Shop 4296||Molly's flexgrid and barcode bugs||12/31/18||
We reviewed some videos between Molly and Bryan. It was dealing with some flex grid tie-in search results. We ended up finding some hardcoded values in one of the exports to MS Excel. Changing that back to dynamic values should fix that one. The other one was dealing with sub barcode scans. The problem was multiple packages having the same sub barcode and the code not worrying about the location, just the package.
Pushed up some code to help with the servers.
Back working on some more data filters and security update stuff.
|Shop 4293||Meeting with Russell||12/31/18||
Steve and I met up with Russell to go over a number of topics. We had a great meeting and covered a number of fun topics. See attached for some notes from the meeting.
|Shop 4202||Adilas Time||12/31/18||
On with Steve for the first part of the morning. We were going over updates and new requests. Lots of moving pieces. Alan popped in and we talked about the delayed inventory counter and updates on some other projects. After that, I helped Steve with an array loop for a custom report. He was converting from a normal query (database feed) loop into a hardcoded or hand-built data array of arrays (multi-dimensional array). After that, Bryan popped in and we helped him fix a small bug dealing with CSS and pulling in certain page variables on a full black box takeover report.
Towards the end of the session, Wayne popped in and we talked about server security and how to virtually "harden" our servers and make them not be "soft" targets out in the world of web servers, database servers, and web sites. It's a pretty crazy world out there and there are lots of super villains (virtually speaking) roaming about. We will keep working and go from there.
|Shop 4300||Meeting with Shawn - Year end payroll stuff||12/31/18||
Meeting with Shawn about where we are at with end of year tax updates and changes. He has a number of new state and federal tax changes. His code isn't all the way done quite yet. We will be meeting again tomorrow. In the mean time, I will be running the tax table copier code that we have. We have to run this same report every year. It allows the payroll system to keep working and running. Then, as Shawn has his new changes, we run each smaller section and it strategically updates just certain pieces and parts of the federal and state withholdings tables. Good stuff.
After my meeting with Shawn, I started checking emails. It looks like there was a SQL injection hack against one of the servers yesterday. A SQL injection is where a hacker takes existing code and tries to find a weakness in the existing code. It basically has the server run a normal SQL query against the database, but part way through the normal process, it tries to break out of the normal flow and set some values, variables, and/or inject custom code. Wayne Andersen, one of our guys, was able to track it down and put a temporary patch on the code. The hacker was calling a sleep command on one of the servers which was virtually locking the database for a certain period of time. Not that I applaud this, but there are some pretty creative persons out there. I'm glad that we have some top level guys on our side. Anyways, I spent the rest of the morning making a few code changes to push up to all servers to keep things nice and tight.
Recording notes, cleaning up, emails, etc.
|Shop 4193||On site with a client - Physical inventory count and go live||12/27/18||
On site to help with a huge physical inventory count at Industrial Tool & Supply in Logan, UT. Big store with tons of items and a big warehouse. We gathered together and I did some light training on what we were going to do. Then, as we got the different people going, we found tons of issues. We had been give a digital upload of their items and products. We had uploaded 31,000+ items. As we started to do the inventory updates, many of the items weren't there and/or had bad data (provided to us). Their Internet was limited, one of the queries inside of an adilas page was running slow, and we had laptops on mobile carts hooked to barcode scanners all around the store and the warehouse. The items that were in and we had good data went fairly fast. However, you would do 3 to 4 good ones and then hit a wall (time wasters looking for the item, items not found, bad data, Internet connection problems, slow queries, etc.).
The owner was about to call everything off. He had 15 to 20 people there wanting to do things but it kept having hiccups of one kind or the other. In order to keep people working, we had to go to a paper model while we made a plan. We divided up the team into small 2 person groups and some 1 person groups (depending on knowledge and skills). They then went about recording part numbers and quantities on paper with clipboards. A few of the admin team met and decided to use either Microsoft Excel or Google Sheets (spreadsheets) to do the same thing but to use the barcode scanners to help eliminate double entry and human error. We went team by team and got each one transitioned off of pen and paper and into Excel or Google Sheets. That was much quicker and faster and was already in a form of digital data.
Two of the ladies started taking the paper sheets of items and quantities and entering them into Excel. We tried doing it in adilas, from the paper copies, but we ran into the same problems with items not found, bad data, slow queries, etc. At that point, I went in and fixed the slow queries in adilas and added a new filter to the main query. That helped out a ton on the speed of the queries and the filtering of the data. I uploaded new pages and tested live. Big improvement.
After that, I went in and built a temp page to help update and reclaim some of the barcodes that were given to us via the digital upload. Basically, Microsoft Excel had removed any preceding zeros (0 padding at the front) of the 12 digit barcode numbers. For example: Say the number should have been 0123456789, well it would remove the 0 and just make it 123456789 (treating it like a number instead of a string or general value). Anyways, this was causing problems. If you scanned a barcode and it had a 0 at the front, it couldn't find the item because the data stored in the database (after the upload) didn't have the front 0's as the placeholders. In order to find it, you had to remove the front 0's and then search again. This would break you out of the normal rhythm of the page flow. Kinda frustrating. Anyways, I built a temp page and ran it to update over 5,000+ bad barcodes. That also helped a ton.
Meanwhile, all of the teams were entering digital data into Excel and Google Sheets. It then became my job to start gathering up the data into one giant master Excel file. I went around and either emailed, shared via Google drive, or grabbed via jump drive data from the different mini teams. When I wasn't doing that, I was working on a new custom tool to import a CSV file (comma separated values file) and then do the inventory count update from that data. I got fairly far on that project by the end of the day. The goal there is to use the Excel file data to do a digital upload of the inventory counts.
By the end of the day, everybody was happy with the progress and we had done a full physical inventory on the whole store in record time. Not exactly what we had planned, but we learned a lot and made some great progress. Long day.
For my record - here are the two temporary files that we built during the day to help with some of the barcode updates and CSV file upload tool.
Finished up the black and white (plain jane) printable invoice. It allows line item photos and has minimal other colors and CSS (web formatting). It is very simple but should do the job. The goal was a simple invoice that prints on a single page of paper. I also went in and worked on the live inventory update page. I added options to select a vendor of all and then the rest of the page requires you to put in some other kind of filter in order to get to the underlying page. That should help speed things up for counting inventory. It makes vendor switching very easy. Pushed up new files and did some live testing. Good stuff.
More work on the black and white (plain jane) printable invoice. Trying to get it done by tomorrow morning, meeting with a client. Had to modify some corp-wide settings, default printable invoice options, a few small changes to the limited retail dashboard interface, and some other small tweaks.
More work on the black and white (plain jane) printable invoice. I also has an email come in that asked some questions about accessing the adilas API through the URL (web address) scope. I went in and build a couple of samples to help them out. Updated the help file for API socket calls with some of the info. Emails, phone calls, and paying some bills. Lots of random stuff.
|Shop 4201||Adilas Time||12/26/18||
Steve, Dustin, and I were on the meeting. We briefly talked about who is doing what, and who is checking in and on what projects. Light game plan stuff. Wayne popped in part way through and had some questions. I helped him out for a little bit and then Steve did some training on what we normally do inside of adilas and how to monitor the corporation stats and usage from inside of adilas. Wayne is looking to simulate some of the bigger corporations and build some stress tests for the different servers. He is trying to get things performance tuned where possible.
After that, we broke into our individual projects. I was working on a new printable invoice that has no special formatting and colors and also prints nicely on a single 8.5 x 11 inch sheet of paper. I'll calling it the black and white (plain jane) printable invoice.
Working on a image and media problem with our WordPress news and updates. Going in and making sure things exist before trying to show them. Small bug fix. Published the new and update talking about and introducing the puppy dog, Adilas, as a mascot and/or avatar for adilas. Kinda fun.
|Shop 4194||Adilas Time||12/24/18||
On with Steve and Dustin. We got caught up from happenings over the weekend and both Steve and Dustin had a couple of questions. After that, we then all of us went on mute and started working on our own projects. My first task was buckets full of emails and what not. Setup some sub account stuff for Wayne on the Newtek site to help manage some of our servers, support tickets, and account details.
Eric popped in and we setup some blocks of time to work on the sub special account tracking stuff - first couple weeks in January. This is for things like rewards/loyalty points, gift cards, in-store credit, etc. It will be good to get some dedicated time to work on that project.
|Shop 4249||Training up at Beaver||12/21/18||
While up at Beaver, did some training for the office staff. I had both Hatti and the new girl (can't remember the other ones name).
Emails, paying bills, and random things.
|Shop 4247||Working with Alan on delayed inventory counts||12/20/18||
Working with Alan on the delayed inventory update process. We added in a usage status field to help us track what has been used, updated, cleared, etc. We also briefly talked about other projects that we are working on and a light update back and forth. Alan was tagged to work on the delayed inventory update changes.
|Shop 4205||Adilas Time||12/20/18||
10 am - group discussion to talk about servers and new configuration stuff.
- Currently all of our servers are and/or have been setup differently. That becomes a nightmare to manage.
- The server setup is done every couple of months... that makes it hard to remember what the setup process is and/or was. Our goal is to help make our environment become more stable and also more standardized.
- Wayne likes to use a program called Puppet. This allows for a master template and/or recipe to be deployed out to other serves. Similar to ghosting or cloning things. As we install and setup new serves, Wayne could then help and manage those serves. He was talking about server roles, scripts, and applying updates and changes. Setting things up and then maintaining that same type setup over time.
- If Wayne starts taking care of the servers, it enables us to spend more time developing.
- How do we deploy code to the servers? We are currently using Git (source control and version control). We are using phase one where we push code to the server. We would like to use a step 2 process where Git (our version control) actually pushes the code up to the server. When we get to the automatic level of deploying code to all servers, we need to make sure that we have all dependencies in place. This includes our database updates. Currently, the database updates are scripted and then run by users per server. Wayne is talking about a documented process that writes a chain of processes that have been run and still need to be ran.
- We just added a new server - data 11. We are going to be experimenting on that new server and using Git (source control) to push files up to that box. We are also going to be mirroring a new server configuration to help do some side-by-side testing. We are also planning on migrating corporations from data 1 (older server) to the new data 11 server. This is strategic based on trying to migrate clients off of an older server into a newer server environment.
- There is another part of this process - that is testing and running tests to make sure that things are working. Eventually, this could get into stress testing and really seeing where the code breaks and/or cracks (pressure and stress testing). Eventually (bad word), we would like the tests to help keep us upright and to verify that we are still good to go.
- Small discussion about custom code and getting to a confidence level of what is being done and managing expectations with that custom code. There is some more feedback and communication that is needed here.
- We really want this to be a group and a team effort. We are going to need help with ideas, code, migrating, testing, and deploying.
- One known dependency piece is the database update stuff. We have to make sure that the database get tweaked (the landing zone) before we push the code up. We are seeing some sort of cross process where we use Git commits and known processes (order of operations) and then match them up with a record on the actual servers. This would allow us to see code on Git/Bitbucket and also compare that with a list on the actual data servers.
- Small discussion between Windows and Linux boxes. The discussion was talking about database connection strings and where the actually database live (same server and/or remote connections) and where the server-side software exists. How do they connect. We also briefly talked about security of allowing connections between servers, clients, and databases. We are planning on testing things quite highly before anything goes live.
- At what point do you change? It comes down to the burning platform type analogy.
- Small discussion on changes to the database and the code... if brand new and no one is using it, easy pea-sy. Once it starts getting used (people are going and moving at full speed) it gets way more tuff and difficult. We are looking for a moving model and getting consistency.
- Primary goal - keep our customers happy. Secondary goal - all make some money and be able to keep going with what we are doing? Basically, we need a stable process that our customers like and have confidence in what we do and how we do it. That is awesome.
- Wayne jumped in and showed us some of the things that he is watching and monitoring. These are things like: how much memory is being used, how many connections, how many queries per timeframe, CPU usage, hard drive size, and other setting monitors. Wayne was showing us some things from his Nagios server and from his Cacti server stuff. Both are graphing and monitoring systems and what are the trends, traffic, and other server statistics.
- As a side note, we are also going to be upgrading to Adobe ColdFusion 2018 and MySQL 8. Some of the older servers are using Adobe ColdFusion 11 and MySQL 5.6 or 5.7. That should help out as well.
- We will be making changes as the need arises. We don't want to just make changes just to make changes.
- Small questions and answers between the developers and Wayne. Lots of talk about tuning, specializing, and customizing systems, hardware, software, etc. Miss configured settings and getting all of the serves tuned to the right settings. Rollover, fail over, and master/slave type topics. Database partitioning vs corp-specific tables. How do database partitions and indexing effect things? Creating independency between serves and code and serves and databases. Isolation vs shared vs other options. Live data vs old dead data (companies that are no longer using our system). Archiving data, rolling up data and totals, storage, etc. virtual machines vs actual dedicated boxes. Physical locations vs virtual locations of the servers, redundancy, backups, data centers, and even what vendors (hosts) we use. Lots of good discussions.
- Wayne and Alan were talking tons and tons about testing and testing strategies. They were also talking about getting things to the level of being able to apply stress based tests and performance tests. Basically, putting things through the paces. They were also talking about concurrent hits (multiple users doing the same thing) and managing tests based on simulated usage and what not. Good stuff.
- Picking up the low hanging fruit due to no current performance testing and/or performance configurations. As we get into this, we should be able to pick up a few of the low hanging pieces of fruit. That is exciting.
- Starting with the results in mind and then working backwards from that vs writing things and hoping for a certain result. Perception, expectations, vision, and outlook. Some great ideas. Test driven design ideas.
- At the end of meeting, Dustin was willing to help with the testing. That may be a perfect fit. Currently, he has some pretty integrated processes that he is working on and nobody is pulling on him for super tight deadlines (client requests). He is working on internal projects.
|Shop 4234||On site with a Clinet||12/19/18||
Went into town to work with Industrial Tool & Supply. I spent some time working with Mindy, their backend office lady, on statements, email options, and basic site navigation and building small invoices and shopping carts. I brought my POS (point of sale) things and we did a little dry-run testing on doing inventory counts and what not. We also found that some of their manufacture's barcodes were off slightly. They provided the data and we did an import of 31,000+ items. The problem was, the import dropped off some of the leading 0's in the UPC or barcodes. We found that issue and started having them scan things and fix things. We have scheduled a full day for next week to do the full inventory. We are planning on having 10/12 people with laptops and barcode scanners to help with the update and inventory count.
|Shop 4245||Working on the inventory update pages||12/19/18||
Spent some time working on the live and delayed inventory update pages. Going through the pages and reading and updating the code. Spent quite a bit of time working through page flow and adding navigation and other small filters and helpers.
|Shop 4199||Adilas Time||12/19/18||
On the morning meeting. Steve, Wayne, Dustin, Eric, Alan, and I were in today. Wayne and Eric were talking query caching techniques and switching between aggregate sums and totals and non aggregated (simple transactional data). The conversation kinda went along the levels of watchers, feeders, hooks, triggers, etc. Eric was saying are we going to be building new aggregates based on the old design or are we going forward with a new design and then build aggregates off of the new design. Pretty deep data model changes. What are the impacts to those changes?
One of the questions came up about testing impacts and how does that work. Are we fixing legacy and/or being pro active and moving forward. One of the questions was the po/invoice line items table. It currently has both PO lines (inbound inventory) and invoice lines (outbound inventory) in the same table. The reason goes clear back to location specific levels of inventory tracking. If no locations were ever needed, we would hold thing (line items) in the different tables. However, if you add an unknown number of locations, that complicates the data model and it get hard to be able to roll the inventory levels both backwards (going back in history) and/or seeing current levels.
Going on to a different topic, Wayne and Eric were talking about a testing server and even stress testing certain queries and/or database tables. They were talking about caching queries and how often do we reboot these servers. Because we use Adobe ColdFusion, we've had to implement a nightly reboot to help flush memory. As Wayne gets into the servers and monitoring things, we are seeing that the servers are working pretty hard by the end of the day and then fully refreshing things based off of reboots. That is both good and bad. We are on purpose flushing the cache and the memory. However, sometimes a cache and/or an item held in memory saves tons of time. We still need to compare the info and see what the differences and advantages are. Like Alan said - we break stuff and then we fix it.
|Shop 4244||Working on the update inventory counts pages||12/19/18||
Working on the live update inventory counts page. Adding new buttons, verbage, and navigation icons. Trying to help out the page a little bit.
On a meeting with Bryan. We went over some black box questions, talked about upcoming changes to processes and procedures, and then moved onto some server updates for new data 11 box. We copied some payroll tables between data 10 and data 11 to help make sure that the new server was up to date as far as payroll settings and withholdings tables.
|Shop 4229||Meeting with Shannon||12/18/18||
Working with Shannon on the user guide and additional verbage. We covered custom look and feel, marketing, merchant processing, and some new info on mini conversions.
|Shop 4241||Meeting with Spencer||12/18/18||
Spencer and I got on the GoToMeeting session. We have a small project that we would like to work on together. Because this is the first real project that we are doing together, I took him on a whirlwind tour of all kinds of stuff. We went over some of the current adilas billing, trending, etc. We went over look and feel, preset CSS options, themes, classic, snow owl, etc. We went over current shopping carts, views, and options. The small mini custom project that we want to work on is a new shopping cart called "short and sweet" - it will basically be a responsive design (mobile ready) and will have a place to scan an item and/or type a item name. It will be a one-pager application that allows for line items to be added, displayed, and other cart/POS functionality either in accordion style options and/or hidden menus.
We also briefly talked about building things from the ground up and using a base structure to create a new theme called "Fracture" or the start of the adilas fracture accounts. The goal there is full modular control over settings from a world or corporation level, a group level, page level, and individual level. Good stuff.
Alan popped in and we got Spencer setup in adilas repository with Git and Bitbucket. Alan also went over a light file structure overview with Spencer to help get him started. While they were doing that, I was working on a small document to help spec out a short and sweet mini cart interface. See attached for the document that I sent to Spencer.
|Shop 4207||Adilas Time||12/18/18||
Great morning meeting today. Steve and I started out the conversation talking about progression and who is doing what. We used to be stuck in a model where both of us were running with all of the pieces. We now have a great team and each person has their own expertise and passions. That is awesome. We spent some time going over some new things, and even some potential things that coming down the pipeline. Exciting.
Dustin joined and we did some code merging for him. We had Eric pop in and ask some questions. Wayne popped in and Eric and Wayne did some testing on one of the servers together. Eric was browsing pages and clicking buttons and Wayne was watching CPU's, memory, and databases on the actual server. Pretty fun to see how things are starting to work together.
Alan joined us and we chatted with him. We went over some of the code and new changes between the live inventory update section and the delayed inventory update section (new feature). We went through a number of scenarios and talked about some other needs in that area. Alan also asked about some plans and how we are going to be heading more towards version controlled deployment, testing servers, and that process. Good stuff.
I merged in some database updates and ran those updates on all serves. Good morning meeting and lots of progress in many areas.
|Shop 4240||Adilas Time||12/17/18||
Working on the delayed update inventory counter page. Reading over code and making small changes. This was a project that Alan was working on end of last year, first part of this year. Just getting around to code review and getting it ready to go live in the next couple of days.
|Shop 4197||Adilas Time||12/17/18||
Wayne and I were on the morning meeting going over serves and what not. Wayne has some big plans and is even starting to experiment on different server configurations. The next servers that we spin up are going to have a Linux box to hold the database and a Windows box to do the web and Adobe ColdFusion stuff (server-side code). We also went over some other options and even goals of where we are headed. I've been trying to keep things separated, on purpose, for years. I'm feeling better about it and I'm more willing to bend and allow some new technologies to help us manage things better and more efficiently. Good progress.
Part of our server conversation was dealing with FTP (file transfer protocol), using Git repositories, Putty, Puppet, Nagios, etc. These are all server based pieces that allow for us to standardize, compare, and maintain from a single source. Some of the conversation was talking about getting rid of FTP and moving more to a repository based upload and sync for all of the servers.
After we got done talking about actual physical servers and configuration, we spent a good 45 minutes talking about potential changes in the database arena and what options we have available there. We were talking different engines, table types, transactional vs aggregate (summed up data), archived data, indexing, partitioning, etc. Lots of good conversation about table locking, row level locking, locking conflicts, query speed, etc. Pretty deep database stuff.
|Shop 4239||Recording Notes||12/15/18||
Emails, tech support, and recording notes.
|Shop 4238||Training up at Beaver Mountain||12/14/18||
Spent some time working and training Debbie and Hatti up at Beaver Mountain on elements of time, flex grid tie-ins, and customers (students). We went over some flow, duplicating elements of time, and reoccurring (sessions and/or weekly reoccurring classes and lessons).
More work on the new adilas graphical sales flyer.
Bryan and I were working on the data 11 server and trying to get it ready to release. We had to back track and rerun some of the database updates. Some of the updates are cumulative and are built on changes of changes. Once we got everything working, the other pieces started to fall into place better. We will be passing that server off to Wayne next week to have him work his magic and tightening things up and locking things down (security wise).
|Shop 4236||Working on new sales flyer||12/13/18||
More work on the new sales flyer. See other elements of time for today for a copy of where things are at.
Started working on a new adilas sales flyer. I will be using the adilas doggie images and a bunch of graphics from our ecommerce site. I will also be combining some pieces of what adilas is (currently) and what we are hoping to become (current future and extended future). I'll attach a copy, but it is far from done.
|Shop 4200||Adilas Time||12/13/18||
On the morning meeting with Steve and Dustin. We started out trying to track down a bug on the data 10 server. We finally figured out that a couple of the database tables were missing a couple of columns. We tracked down the problem and got it fixed. Josh and Hamilton from Full Circle popped in and gave us a small update on their progress. Bryan Dayton joined us and had a few questions about sub inventory and getting correct pricing for an API socket connection. We talked about how prices are determined based on possible options (order of operations). First, does it have any tiered pricing (quantity discounts), then to the sub, then to the parent item. Lots of deferring from one possible place to another.
That conversation and session (subs and getting correct pricing) turned into a small talk about the need for mini conversions and pushing the ball forward in that realm. Crazy how things keep going deeper and deeper and what not. Later on, we ended up talking more about the tiered pricing and how it gets kinda crazy with per item prices and total prices (back into a known total for a certain threshold). Things get pretty deep, pretty quickly.
Emails and tech support stuff.
|Shop 4223||On site training||12/12/18||
Went in to town to meet with Industrial Tool & Supply. We setup some new dates for a test and dry-run and also a live inventory counting date and go live date. I spent about 2 hours with Mindy, the head accounting lady. We went over lots of flow and even popped in and made a number of new expenses. We altered some location and tax settings and answered some other questions that she had. She is picking things up and doing very well.
One of the requests that Mindy has is to help with PO's, ordering, and vendor terms and discounts. For example, say you have some items that you need. If you pay prior to the vendor invoice getting too old, you get a discount. Say something like 20 net 10 (you get a 20% discount if you pay your bill within 10 days). Anyways, I asked Mindy if she would be willing to help work with us to get some of the vendor discounts and vendor special terms worked out and available in the system.
I also spent some time with the main manager, talking about needs and options for our dry-run and go-live dates and events. The other guy that I spent some time with was the IT or tech guy, Zak, we talked about bulk tools, possible import items and prices tools, API sockets, and a digital wish list for ordering. We went over some existing ideas and also how a new idea and/or concept might be really nice if we could gather up all of the wish lists (and/or needs per vendor) and then be able to look at that and use the wish list to help make and/or create the new PO (purchase order). We also talked about a way to keep things clean and easy so that if a certain wish list item was not needed, it could go away without any problem. On the other hand, if something was needed, it could be used to help build out the PO in a quick almost reverse shopping cart type manner. Just for the record, we could use a wish list PO, JSON storage, or something else to help capture the wish list items and then be able to push them out to a real PO or something. Some cool ideas.
|Shop 4204||Adilas Time||12/12/18||
Steve and I were working on a change out in ecommerce land. We were trying to get the inventory counters (do I have enough quantity) to work and alter messages based off of selling just plain parent inventory, showing parent inventory but selling sub/child inventory, or just selling and showing sub inventory. Kinda deep and we had to rewrite some code to help make it work.
We had a client come onto the meeting to ask about some database questions. Wayne Andersen joined and ended up being the main key player that had the answers and basically helped the client out. Wayne is moving into the main server side point of contact. He is monitoring the servers, changing specs, options, and even scheduled tasks. Great asset and a huge help. Good stuff.
Emails and other small tech support things. Wayne also helped me out with data migration for client. We covered a few micro tweaks, but most of the data is doing great and flowing correctly.
|Shop 4231||Working on some changes for Beaver Mountain||12/11/18||
Made some custom code changes for Beaver Mountain (local ski area) for their ski school. Added some new ease of use buttons, added some status filters to a couple of queries, uploaded and tested new code.
Light research for a different client on bitcoin and other crypto currencies. Reading over an executive summary for a new startup company in the financial and merchant processing side of things. This is my own comment, but I'm seeing more and more financial based company taking an interest in offering a solution and/or harvesting existing pieces the further along we go. They seem to be the bigger players who help drive solutions forward. It makes sense, but it is kinda fun to see the working and movements of the financial and merchant processing guys in action. Everybody is trying to carve out their space and create a valid and relevant solution. Interesting.
|Shop 4219||Meeting with Shannon||12/11/18||
Did some light research on blockchain stuff. It is a fairly big buzz word and I wanted to see what it was all about. I was reading up on Wikipedia about it. See this link: https://en.wikipedia.org/wiki/Blockchain - A few of the things that scare me are the openness of it (no real spot where the data lives) and updating and/or editing is somewhat frowned upon. That is all we do... we house and store the data, we permission it, we capture active histories, and we totally allow for full editing with a valid audit trail. We actually run a number of the blockchain concepts, with our own little flare. I think we will stick to what we have going.
On a GoToMeeting session with Shannon. We talked about the state of things and where some of the pain lies right now. We then went in and did a work session on getting more content for the adilas user guide. We covered things like GPS tracking, RFID tag tracking, custom labels, custom documents and paperwork, and other subjects such as default homepages, interfaces, and dashboards. Shannon and I will hit it again next week.
|Shop 4195||Adilas Time||12/11/18||
On the morning meeting with Alan. We logged into the data 3 server and looked at some database stuff. We had some client questions on the invoice table and it possibly being locked for a client. These are corp-specific tables and only affect each individual client (corporation). Numerous emails back and forth.
Eric popped in and had a few questions. Around 11 am, Steve invited a gift cart company to join us on the GoToMeeting session. I chatted and talked them for awhile. I ended up texting both Eric and Bryan trying to check on some custom gift card implementations. I wasn't able to get much ground there and we may have to reach out to the client directly.
I got a bug report from Kelly on the data 7 server and jumped on that to try and fix it. I uploaded some new code for the fix.
Get Janna new account info to help her with the WordPress site back-up stuff.
|Shop 4225||Adilas Time||12/10/18||
Clean-up and to do list stuff. Emails and paying bills.
|Shop 4203||On site training for Beaver Mountain||12/10/18||
Went into town to do some training for a new office girl by the name of Hatti. She works with Beaver Mountain Ski School as an office person. We did some adilas training on elements of time (lessons), customers (students), users (employees and staff), and flex grid (custom fields and multi assignments). Good meeting and Hatti seemed to pick up on things pretty quickly. I did some simple drawings and we went through a number of scenarios and features.
Towards the end of the conversation, I popped in and talked with Travis (owner and manager). We chatted about simple POS (point of sale) options, merchant processing, and digital timecards. I told him that they, Beaver Mountain, are only using about 15% of what is possible under the adilas roof. They are super busy right now leading into the season, but hopefully I planted a few seeds and some potential.