Adilas.biz Developer's Notebook Report - All to All - (7051)
|Time Id||Color||Title/Caption||Start Date||Notes|
|Shop 4065||Adilas Time||10/18/18||
On a GoToMeeting session with Dave Forbis. We spent the first little while and talked about ideas for the billboard sites. See element of time # 4108 for more info. We went over Dave's ideas for the sales (quick interest catchers), principles (why), and the features (what). He wanted me to pick 3 from each category. We talked about things and made some decisions.
We then switched gears and talked about Campaign Rise (custom wire job project). They still need some automation and also some training. Dave asked some great questions and I tried to answer them to the best of my knowledge. Dave is willing to help us go get funding and monies for certain projects. We talked about how Steve used to do that and did an awesome job. Currently, he is doing more development work and working on the backend engine vs out front doing sales and talking with clients. We may need to help switch that around. Steve was able to single handed fund and keep the entire adilas shop going. He is really good at that kind of stuff.
One of the places that Dave wants to help out is with automating the reoccurring invoices. They already exist and auto queue themselves up, they just don't auto run themselves. We talked about adding a new setting per reoccurring that allows for manual process (default) or auto create process. We also talked about how the actual money part of that is whole other project and deals with three separate systems (adilas, credit card gateways, and bank or finance institutions). We have to mix and blend all of the pieces.
|Adi 1355||Automate The Existing Reoccurring Invoice Process||10/18/18||
The invoices are already able to queue up a reoccurring invoice based off of a master invoice in the system. Kind of like a copy of the master invoice. This project would speed things up and allow for reoccurring invoices to be auto created. The new features would allow for a switch between manual (default) and the new auto create feature.
|Shop 4043||Adilas Time||10/18/18||
Random notes from the day. Brian Stewart is a friend and 30+ year computer guy and programmer. He works for a different company but we go walking and hiking together in the mornings. We talk business and code while we walk. Here are a couple of gems from today.
- There is a difference between working in your business or working on your business - Brian Stewart on a morning hike.
- Create systems... Instead of setting pass/fail goals... create a small system and then start playing the game. Success is playing the game and working the system. The results will usually end up following. - Brian Stewart on a morning hike.
- Brian and I spent quite a bit of time talking about good cop, bad cop, and helping to setup the community and environment that you want for your company. A lot of the discussion was dealing with finding that balance point between speed, function, stability, and beauty. Not everybody has the same personality and/or skill sets. Lots of mixing and blending. Some of the conversation was how to mix senior developers and junior developers and to help them play well together. Sometimes that mixing becomes an issue and also a who gets credit for what and who gets paid for what. Sometimes a tough mix.
On the morning meeting with Steve, Dustin, Alan, and Josh. We started out and got things going. Dustin is going on a trip soon and was reporting about some areas in the North East that he will be visiting. Sounds fun. Here are some other things that happened on the meeting.
- Helping Dustin with some FORM logic. He has a ton of form field data that needs to be dynamic, grouped, and passed over to an action page and still be able to maintain its complex data format and maintain its special groupings. We went through a number of scenarios and he took a number of screen shots. We talked strategy and I showed him some similar code that is used for duplicating PO's and passing dynamic data from page to page.
- Talking with Alan about the idea of on purpose allowing the view of the pages to fracture and be more controllable. We did a small graphic (drawing) and talked about how we have known form field values. We also have a known database table that could hold the data field settings such as show/hide, defaults, data types, special instructions, sort values, field name aliases, etc. We then talked about how we could potentially use ColdFusion custom tags to hold the logic to dynamically populate and/or build the HTML (web format) pages based on the custom tags. The custom tags are a combo between a function and an include. Anyways, we had a good discussion on that. Alan was saying that this plays in perfectly to the MVC (model view controller) type scenario that we would like to use. See attached for a small drawing.
- We had two other outside parties come into the meeting. We had Molly (an adilas consultant) and a guy by the name of Ryan McCorvey (a user for McCorvey's Pro Shop - Bowling). They both had similar requests. They have different pages and reports (or functions) that are hitting time outs. Both companies have tons of data and Alan and I were taking notes and looking for possible bottlenecks and either slow queries and/or slow database tables. They could do the same reports and actions with small amounts of data, the system just choked and/or timed out when trying to process too much data. Kinda like getting a huge mouth full and not being able to chew and/or swallow. Anyways, we worked with both individuals and took some notes. Alan started looking into some research on what causes those table level slow-downs and what not.
- As we get into bigger and bigger datasets, we have to play well with scalability, indexing, and being able to play the big data game. Interesting how things keep progressing.
|Shop 4109||Mollyz; cross corp barcode||10/17/18||
On a work session with Bryan. We started out talking about code and getting new pieces and features up and being used quicker. There seems to be a big bottleneck with me as the primary code sign-off guy. I just get pulled in so many other directions. If something is more pressing, the other projects just sit on the shelf. We talked about styles and how best to help push things forward.
After that, we spent the rest of the session working on a plan for the unique sub barcode for sub inventory. This is a prep step for the cross-corp labeling that some of our clients want to do. Bryan was asking questions and recording videos and I was navigating, drawing, typing, and trying to help explain the project scope and what pages and pieces need to be touched. I don't have the videos, but Bryan made a number of small clips using his small capture tool. At this point, we have a small lightly sketched out plan. He will push things forward and ask questions along the way as needed.
At the very end, we talked about some other custom projects and how those are funded and/or pushed through the system. We also talked about a small project that had to be reworked and who pays for that. We had some good discussions and seem to be on the same page. Good meeting and we're making progress.
|Shop 4050||Adilas Time||10/17/18||
Light research on some of the ideas that Dave Forbis was pushing up dealing with billboard sites and marketing ideas. I then spent the rest of the block updating server settings and security stuff. Email updates to a few key people.
This will hold the brainstorming for what Brandon Moore coined "billboards". They are essentially websites that have a video, information, image, etc. that redirect to the Adilas main site.
|Shop 4041||Adilas Time||10/17/18||
Small discussion on weight based selling of eaches. The topic seems to have two parts... you have normal quantity and you have a possible weight or count that might be applicable. This whole section is a precursor to full on mini conversions and was somewhat of a simple (1 layer deep) mini conversion based on sub weights or sub counts. We are seeing that each item has a main unit quantity (recorded on the invoice and/or PO - what actually went out the door). It may also have a count or weight (sub information) for the main unit quantity. Lastly, we talked about another section to hold a single weight or standalone value to help with reporting and equivalency stuff. As a side note, the naming may need to be dynamic because different things (categories) play in different ways. You might have a serving size, dosage, or count per package and then maybe even different percentages on different levels, etc.
Some of those could be sub attributes within sub inventory, but we were looking to give a few more fields on the parent item to record basic, non-changing information. Steve was talking about a converted piece... Basically, it shows x, but it really mean y, and needs to report or extend to z for certain reports. It is starting to get pretty complicated. We started to talk about a secondary multiplier and how that might play in. See the scans and media/content for our session playing with numbers and ideas. We came away, saying, that we need an out the door unit quantity (physical units or number of per's - single packages or units), we need a count per or a weight per (secondary multiplier), we also need a standalone value per (just for reporting in certain scenarios - equivalence values). Each of those three main pieces would also need a unit of measure to go alone with it. That way you could say, I sold such and such in eaches, they all have a count or weight of such and such, and that equates to this or that. It gets into tracking the different layering and depths of the information (the z axis - space, layering, and depth).
|Shop 4068||Adilas Time||10/16/18||
Updating some server settings. Made changes on servers 0-6. I'll do the rest tomorrow.
|Shop 4097||Meeting with Shannon||10/16/18||
Light report by Shannon on her tasks. She showed me the current profile for Smart POS from Svend (hardware guy). We talked about maybe using a small mini interview and helping to get some of these guys and gals to get their info out to the public. Sometimes that is hard to come up with on the fly. We also talked about who is going to pay for the support on the hardware side? Also, what are the lines (rules of the game), obviously we can't pay for never-ending support, especially on hardware issues. The other question was how do we track those leads and/or referrals back and forth? Great questions.
What are the lines between tech support (basic) and actual training (hand-holding or extended time with the client)? Who pays for what? More questions about expectations and budgets.
Tons of older content that was pushed up by Shannon into the Adilas University site. See this entry:
https://www.adilas.biz/top_secret/time_web_gallery.cfm?corp=371&id=3941 - 27+ Word Documents dealing with user guide content.
Where are we going next on this... We setup some time to work on the user guide project. We will keep building things and do things step by step. Slow and steady wins the race.
|AU 3941||Other User Guide Drafts||10/16/18||
These are files that were started on for populating the user guide back in 2013/2014. I am uploading them now onto Adilas University so that they can be used for User Guide content or be otherwise accessible for documenting and any other needed purpose.
|Shop 4044||Adilas Time||10/16/18||
On the morning meeting with the guys. Josh was showing some of his discount settings and pieces (new pages for setting discount rules and such). Alan popped in and gave some update reports. We talked about next projects and who was going to do what. My computer ended up doing a full reboot right in the middle of the meeting. After that, I did emails and research on user admin stuff for server database users. Nothing super special.
|Shop 4101||Photo links||10/15/18||
Working with Bryan to update the sub domains. Most of our servers have a "www" sub domain (ex: www.adilas.biz or www.adilasdata9.biz). The new code that was launched allows for things like order.somedomain.com or something in that line. The new code also fixed the ecommerce image paths. Good little session. All servers have been updated and new code is in place.
|Shop 4067||Adilas Time||10/15/18||
Emails and pushing up a custom database back-up file for a client. Going over the data 0 server and cleaning up older files (sweeping the floor a bit).
|Shop 4027||Adilas Time||10/15/18||
On the morning meeting with the guys. We spent the first little bit getting caught up and bringing everybody up to speed on the different things that happened over the weekend. Alan was reporting on his findings with the data 8 server (locking tables) as well as the data recovery for a single client on data 0 (re-building back data from a back-up). Steve then asked some questions about the customers table. We got into a fairly lengthy discussion about table joins, corp-specific tables, number of records, caching data, storing quick access records in the session scope, and the difference between cached data and live data.
Steve, Alan, and I talked about splitting up the customers table into a corp-specific table. That is a pretty big project, but it could have some real benefits. Currently, there are about 250 (ish) tables in the database. Most of them are what are called shared tables. We basically put all of the data into the same tables and then specify what corporation gets what data (invisible fences or virtual sandboxes). We currently have 5 corp-specific tables (super high traffic areas). They are for things like the customer queue, invoices, po/invoice line items, invoice payments, and sub inventory. There are also some other corp-specific tables, but it depends on what 3rd party solution have been turned on. Long story made short, the main customers table seems to be the next candidate to do some work on. It's not the number of records in the table... that is relatively small (ish), it's the number of joins and connections that make that table a super high traffic area. The other two table that are getting some high traffic are the customer history table and the invoice history table. Both of those pieces are not as critical, but they are getting thousands and thousands of new records every day.
The main customers table connects with invoices, quotes, elements of time, customer queue records (who is next), and all of the normal CRM (customer relationship management) stuff like additional contacts, log notes, settings, reports, and histories. The main customers table is a huge access point. We allow corp-wide settings to be used on the naming of the customers. This allows for things like patients, members, students, clients, etc. Lots of moving pieces.
Anyways, we talked about some pro and cons of making some changes there. We anticipate that a major re-write, without going to crazy levels, would be two weeks to a month. I did a local search for the phrase "customers." (customers dot like a table join) and got almost 400 pages on my local box. Some of those pages have between 25 and 50+ instances or occurrences per page. It could be a pretty big project, for sure. I'll bet that within the week or starting of next week, we'll get someone on that project. We are going to need it sooner than later. It works great now... it just needs to be able to scale a little bit better. Build and break, build and break. That is what we do.
After our morning discussions, we broke into mini work sessions on our different projects. I paid some bills, recorded some expenses, made some notes and recorded those notes, and went through emails.
|Adi 1354||Hide/Show Additional Contacts on Customer Intake Data||10/12/18||
Build out the customer data input settings to show or hide the Additional Contact input fields.
Have a + button at the bottom where you normally see the additional input? When clicked it would expand and show the fields 1 at at time?
Then, show/hide the + button and show/hide the fields could be controlled from the settings.
Either see all as current or see the + and see no fields or even maybe just 1 field?
Maybe the setting options are show all, show just the +, show the + and 1 fields. Either way when the + is selected 1 field shows and
another + to open up the next, until all are displayed.
Spent some time writing emails and logging some notes in the client log files.
|Shop 4099||NCS: Cross corp||10/11/18||
On a call and GoToMeeting session with Bryan. We had to jump between a number of different projects. We got a call from a client and had to look into an issue. That somewhat interrupted our meeting for a little bit. We had another developer join us. We checked some things out on the live servers and then made some plans to help with the issue. After that, Bryan and I got back to planning out some of the projects that he is working on. We went through some sub domain pieces and I sent him an email with some requirements, specs, and notes.
|Shop 4060||Adilas Time||10/11/18||
Prepped a bunch of things for Dave. Sent an email off to he and Steve to cover some of the topics we talked about this morning. Back on the sales tax project and code review stuff.
|Shop 4029||Adilas Time||10/11/18||
On the morning meeting with Josh and Alan. We went over a few new changes from yesterday. Alan reported on his work with Bryan and making a new black box database table (custom table - specific just for that client). Alan and I talked about some naming conventions and how all new black box database tables will have "bb_" to start the table name. For example: bb_53_some_table_name.
We spent a little bit of time going over some new needs for quantity and weight multipliers. Alan and I decided to add two new fields to get things into real numeric values. Currently, some of the people are using some of the existing fields, but those fields are strings or varchars (text based) fields vs real numeric fields. Alan will be making some changes. We know that this project will have two phases. The first one will be to add the new fields and then match-up what ever values we can. The other part of this is going through hundreds of other reports and top cart mini's (gram counters) and Metrc API reporting (state tracking stuff) and flipping the older text based logic into real numeric values and real math. We will be using a value of 1 in the numeric weight field as a default. 1 times anything is the same number. If they want to change that ratio, they will at least have a spot (numeric field) where to do it.
I then started to work on the sales tax project and bringing up all of the black box code to match the master code files (checking for new changes on the custom tax fields 6-10 and other dynamic naming). As a side note... Custom is awesome, but there is a flip side to that... It takes quite a bit of maintenance to keep things up to date if you are changing core pieces.
I spent some time reviewing some notes and info that Dave Forbis gathered up dealing with Stripe (online merchant processing and credit card gateway). See element of time # 4095 for some notes and links. After that, I got on a call with Dave and we went over a few things. We have four different topics that we will be looking into next. They are:
1. Reviewing some older things (tons of white boarding and graphics that were done by Dave from a couple years back) - The goal here is to circle through and pick-up anything that still has merit.
2. Start working on some billboard type sites. These are small websites that have a smaller focus and virtually point people and users to the bigger adilas application. These are things like world building, data assembly line stuff, new school accounting, 3D models for world building and digital story telling. Dave and I were also talking about some concepts that adilas is built upon that are either core and/or we've pushed pretty far. Dave was saying that we could create mini Ted Talk type videos and/or graphics. Get people thinking and talking. Use those pieces to point things back to adilas and what we are doing. Some great marketing ideas.
3. Currently, the adilas platform has a very high concentration of MMJ or Cannabis related industries. Maybe get a list of other kinds of companies that are using the system and show some of the diversity with how and what they are using in the adilas platform model.
4. Dave would like a list of the different domain names that we have and where we would like to focus on building small billboard type sites. I will get this together and send it to him. In a way, we are lightly playing the digital real estate game and trying to setup small little claims. Those claims have two fold purposes... One, they will become virtual billboard sites pointing to adilas and the core concepts that we are built on. Two, they will provide prior art - which makes it so that others can't copyright, trademark, and/or patent - intellectual property stuff. It basically strengthens and protects the main core of what we are trying to do. Good stuff.
|Shop 4051||Adilas Time||10/10/18||
Looking over and reviewing code on the sales tax branch. Made a few tweaks, added some new links, and moved some report columns around. Most of it has been pretty smooth. Light tech support for some clients. As a side note from emails and discussions today, the weight field and a combo of the quantity times the weight field are heating up and we are seeing more and more needs there. We will try to talk about it tomorrow in our morning meeting.
|Shop 4040||Adilas Time||10/10/18||
The guys were in looking at bootstrap CSS pieces, templates, and dashboards. Steve, Dustin, Josh, Alan, and I were all looking. Here are a few of the links that they were looking at:
After that, we all broke into our own little areas and worked on projects. I was working on some new navigation links for the snow owl theme headers. I got my code done and pushed it up live. More work on checking code for the sales tax project.
More testing on the fifth round (tax-v5 branch) of the sales tax project. Also worked on some new links and navigation for the snow owl headers.
|Shop 4011||Meeting with Shannon||10/9/18||
Meeting with Shannon - 2 tasks to follow up on - hardware with Svend and picking up existing pieces for the adilas user guide.
New notes - She has met with Svend twice and they have another meeting setup for later this week. Their goal is to get Svend's adilas market profile up and have some live content by next week. Once that profile is live, we will let Shari O. and Drea know to help point people who have hardware questions to Svend's market profile. As a second step, we would like to do some more news and updates (tips and tricks) dealing with hardware and then give some credit to Svend and such. Create links back and forth between the adilas market profile and the news and updates.
Shannon will reach out to Russell and see if she can get some more advanced training on both news and updates and advanced options for the adilas market stuff. Russell is still the master there.
On the user guide stuff, we also went in and found some of the old content that was created for the adilas user guide. I did some light checking on my end with no new results. Shannon did find a number of her files. Shannon will be pushing those pieces up in to the adilas university so that we can get to that info. She has about 20 Word docs that have some beginner user content.
We scheduled a meeting for next week, and will stay on task with those two tasks. Just advancing the ball. Also, as a fun note, I gave Shannon some other updates on who is working on what and some other inside adilas news. We are really excited to have Shannon back working with us. It will be awesome.
|Shop 4064||Adilas Time||10/9/18||
Reviewing code on the step or phase 5 section of the sales tax project. This deals with custom taxes 6-10 (six through ten) and dynamic naming options for normal state, county, and city tax fields. It also includes a few other pieces, but mainly it deals with the last 5 custom tax fields. Testing and making small tweaks. Hoping to get this project up and fully launched by end of the week.
|Shop 4038||Adilas Time||10/9/18||
Calvin popped in and went over some of the new API sockets that he will be using for the adilas label builder. He is going to be using about 8 or 9 custom MyEasySoftware API 3rd party sockets (custom built for his label builder). He also went through some other flow and button options to show us some of the progress. It is looking good. He passed me some new table definitions and I wrote a small database update file for him so that all servers and developers could get updated records. As a future note... eventually, we will need to update every page that currently has adilas paperwork (custom document assignments) so that they can look-up and show the custom labels and assignments that get built through the adilas label builder application. Cool stuff.
|Shop 4096||Community Chooser Project testing||10/8/18||
Working with Bryan and going over pages for the adilas user group section. We had to work quite a bit on headers and footer to make it work and run. That was kind of a pain but we got it working. We then started to review the code and make sure that it was all there and properly flowing. One of the next steps will be Bryan passing me over code and then I'll go through it with a fine tooth comb.
|Shop 4062||Adilas Time||10/8/18||
Eric and I jumped on the afternoon meeting. We had some discussions about master special accounts and being able to add/edit master rules. Eric was coding and I was working on some other projects. We talked about things like: Setting start dates for loyalty points, what items to include and/or exclude, how to handle new rules and settings (even in the future, after the initial setup process takes place), etc. We also talked about, do we want to allow for options of adding new rules per special account or just stick to options to edit copied master rules? How does it all play out?
As we were coding, Eric was making some notes and asking questions here and there. Also, there were other developers on the call. Most were pretty quite, just working on their own stuff, but every once in awhile, someone would chime in and/or ask a question. Towards the end, Steve and Dustin had a couple questions about using the session scope and putting things in/out of the session scope.
|Shop 4042||Adilas Time||10/8/18||
Alan popped in and showed us all some demos on the new invoice homepage (with graphics and charts and summarized data). A couple of us saw a demo last week. Everybody else was just seeing it for the first time. We then went into a discussion on permissions and setting those per user per session. Alan was showing us some new functions and working with database access objects (DAO's). Great demo and discussion.
Wayne popped in and reported on his database migration project. He took some time and explained some of his process and also told us about some lessons learned. He spent some time talking about unit testing and doing test based or test driven design. Good stuff.
Steve and I briefly talked about Calvin and the adilas label builder. We talked about rounds, versions, and where it still needs to go. We are all on board and headed forward. It is fun to see all of the projects that are coming down the pipeline.
We have some other clients that have requested some backorder and shipping pieces. They submitted some specs and requests over the weekend. We will be looking into that project and breaking it into smaller pieces and seeing who we can get on the projects and who will help fund what parts of it. Later on in the session, I started looking through the email and attachments that they sent us. As I got deeper into this project, there may be some pieces that we could do internally (all adilas clients need) and other pieces that are fully custom. I put the ball back in their court and gave them some contact info for a couple of the developers. I also tried to lightly let them know where I could play without charging them. If it goes beyond that, I would have to charge as well. Basically, I will help my guys and do some initial stuff to get things going for free. If it goes deeper than that, I'll have to charge them as well.
This will be where I gather all the information I can about Stripe and storing it for later reference. Some specific items I have been asked to look for/research:
It is common for our merchant processors to have high standards to entry (must be open for so long, must be making a certain amount, etc.). We are looking for a merchant processor for new businesses that can start selling. We used Stripe in our Adilas Shop with great success.
|Shop 4094||Working with Alan||10/4/18||
Alan popped in and showed Josh and I a demo on the new graphical invoice homepage. The page has a number of new graphs, charts, buttons, and quick stats and results. We gave him a couple of suggestions, but mostly told him that it looked good. I will include a couple small screen shots of the graphical homepages that he is coming up with. They are looking great.
|Shop 4093||Adilas community projects page||10/4/18||
Bryan jumped on and we did a work session on the upcoming adilas user group code. Bryan has advanced that ball quite a ways. We thought and lightly planned this concept up while on the Denver training trip, and now it within a couple of days of being done. Pretty cool. Most of the session was going over code, doing clean-up, and making small to do lists for the rest of the project.
|Shop 4092||Phone call with Calvin||10/4/18||
Calvin and I chatted on the phone. He gave us a demo earlier this morning on his adilas label builder. Super cool and making tons of progress. We chatted on the phone about funding options for pushing the project forward and what not. We discussed options of selling licenses for the first round product, doing some fundraising (crowd source funding), and/or allowing people to fund it through micro loans to adilas. We also spent some time talking about his GMext and GMext Pro products. Calvin is trying to come up with a good saying and/or tag line for his products. We went over a couple of options. He is planning on showing us another demo next week to show us how far he has made it. That will be awesome.
|Shop 4048||Adilas Time||10/4/18||
Working with Eric on more code for the special tracking accounts. We finished up a multi-step add/edit process and had a good work session.
|Adi 1353||Community Chooser Project testing||10/4/18||
The Community Chooser Project allows developers, business owners and consultants to add project ideas. They can then vote on them to help Adilas prioritize the projects.
|Shop 4037||Adilas Time||10/4/18||
On the morning meeting with the guys. Dustin was reporting to Steve about some of his progress. He is brining some cool interface pieces to the table. That will be really cool. I was working on a non compete and non disclosure document for Full Circle and Adilas. We are going to be pulling in some of the Full Circle marketing, emailing, and texting services under the adilas roof. That will be awesome.
Calvin popped in and we had a small discussion on new permissions for his adilas label builder application/program. We went through a few questions and scenarios and then created the permissions. They are currently hidden, but will be release as soon as they are ready. We got the new permissions pulled down from data 0 to his local box for testing.
After that, Calvin gave us a label demo to those who were on the morning meeting. I saw a demo (recording) from a couple of days ago and wow, I was impressed with the changes and the direction. It was really fun and we even pushed it pretty hard to see how it would responds. Good report and great progress there.
Towards the end of the session, I was working with Steve on passing in dynamic sub inventory attributes for some of his bulk functions on his plant pages (move in bulk, add in bulk, record plant phases, harvest in bulk). Working with sub inventory and sub attributes within sub inventory gets pretty deep, pretty quick. Lots of moving pieces.
|Shop 4091||AllGreen: push 3rd party error code||10/3/18||
Bryan jumped on and we were looking over some code changes. We merged in some code and then further tweaked some things. One of the new changes was a special header change for a corporation (showing who is logged in on every page). We also merged in a new 3rd party error log for who approves the different discounts. This is somewhat of a hidden history piece, but we are now starting to capture who is the manager approving the different discounts in the system. This new history is tied to a corp-wide setting of whether or not the corporation requires an approval or not for applying discounts. The reason that I said it is hidden is, you have to know about it and get a special permission turned on even to get to the reports. Basically, if we need to capture something that may be sensitive (we don't want everybody to see it), we can do it through the 3rd party error logs. We then get to control who has access to those reports. Each report has a special key pass coded (how the errors are stored and retrieved for reporting processes).
|Shop 4089||Meeting with Dave Forbis||10/3/18||
Steve and I were meeting with Dave Forbis. There are some outstanding invoices that are owed to one of our internal developers (trying to get a custom project pushed through). We offered Dave to help cover those invoices and he will be doing work for adilas to help cover those costs. As a side note, this isn't a problem, this is actually a solution and a deal of sorts to help cover and advance all parties. Making lemon aid.
- We want to protect the developers and make sure that we draw a line in the sand and say... we need to renegotiate payment and work from this point forward (help to draw that line in the sand).
- Our clients need to grab and push forward their own dreams. We can't build out their dream from them without their help and input (ideas and funding). It has to be a two-way street.
- This particular project (the one that got forced through) hit right in the middle of a really hard transition between the adilas shop and somewhat of dissolving things and bringing all projects back under the main adilas account and/or allowing independent developers to run with their own projects.
- We have a need on the merchant processing level. We already have some deeper options available. We are looking to create a shallow and/or super easy solution to round things out... Our first assignment for Dave would be to figure out - what it takes to hook up with Stripe (online merchant processing gateway)? Could we be a re-seller of that? What would that look like? Do we need to certify on certain things? How can we help make this easy for our clients? What are the rates? What are the commissions? What are the requirements? What pages do we need to put into adilas to make it a turn key solution? etc. Basically, let's take this one pain point (easy merchant processing) and get it going. Yee haw.
|Shop 4047||Adilas Time||10/3/18||
Working more with Eric on some of the logic for the special tracking accounts (special accounts). Good session. We were working on multi-step form processes.
|Shop 4032||Adilas Time||10/3/18||
Our product is kind like open source software only more of an open community software package (anybody could contribute and/or ask for something). They can't go in and make changes on their own, but they can help push things forward based off of input and seed monies. Either way, it takes time you have to pay someone to do that tweaking and/or changing.
As a side note, we are seeing more and more of a need for deeper and deeper ordering, backordering, fulfillment, shipping, manufacturing, sub routines, supply chain stuff, just in time stuff, and other operation based activities. We already have a number of those pieces, we just want to get them more built out and automated. I would really like to see some of this going into elements of time (mixing date/time values where needed) and also more of the data assembly line type methodology. Those would be my wishes.
Alan popped in and showed us some progress on his charts and graphs for some of the new homepages. I think that they will really help with some much needed look and feel for some of those primary homepages (invoices, PO's, deposits, and expense/receipts).
I went in and fixed a small validation bug and the started to work on a new joint venture non disclosure and non compete form with and for Full Circle Interactive Media.
Josh popped in and gave us a report on some things. Some of the report was dealing with a deeper need to mix and blend date and time options for discounts and being able to set things up with easy interfaces and yet be super powerful. Another part of Josh's report was dealing with education and getting clients setup correctly. Basically, there are so many settings that no one really goes in there and plays around with them. Also, another comment was that some of the settings and options were not related to their industry. They saw things like religious tax categories, stock/unit (vehicle and trailer stuff), and other non industry options. Our model is very open, but sometimes that creates a feeling that we don't fully know their business.
- Discount pricing engine and maybe even special my cart favorite buttons that are discount specific. This could be all kinds of stuff. We have also had some other requests on limiting discounting and even allowing or not allowing standalone discounts. It would also be super cool if you could duplicate discounts, clone things, and build off of existing items. Having bulk tools to help where needed.
- Here is some other research on discounts, pricing engines, and my cart favorite buttons, etc. I would like to go in this direction... https://www.adilas.biz/top_secret/time_web_gallery.cfm?corp=748&id=3666 - you could also search the developer's notebook for pricing engine, discount, or my cart favorite buttons.
- Being able to create new items based off of existing
- Being able to do global settings for different industries... basically, set up a new corp, then be ale to click special setup buttons to update and change settings in bulk. We could have multiple sub options that may be clicked. As a side note, we could also program certain themes (actual folders) and use black box technology to virtually show/hide certain buttons, fields, features, settings, etc.
- Color coding for items going low or needing to be reordered - great idea
- Room based inventory vs a location based inventory (sub levels and sub locations)
- Limiting access to all other areas and/or rooms (once again sub levels and sub locations based on permissions)
- Being able to duplicate items and PO's even quicker. Basically, a save as type option to duplicate an item. Kinda like cloning an item or starting from a known point based off of other items. Make it quick and easy based off of existing items.
- Where is all of the data located? We have tons of great data but all of our data is on specific pages and requires a page to page progression (normal web flow). Some of the other systems are starting to pull multiple data pieces into the same page (ajax and jquery stuff). Basically, putting everything on one page or a one-pager type dashboard and/or interface.
- We have had clients who want us to auto close sub packages. This may be accomplished with settings and rules. Not everybody wants the same things. That takes us into settings and such.
- What about an off line mode? When no Internet is available? What about a local instance that could be synced up later on? This is bigger than you think... If you were to go this route, this may need to be a hybrid type solution where we mix localized software, some kind of queue type system (grabbing and holding the data), and then the ability to sync up the data later on. Alan was talking about a potential risk mitigation process and the need to have companies have other plans in place incase a disaster occurs. Both Josh and Alan were talking about possible news and updates that show options such as MS Excel, setting up a hot spot based off a phone, local software options, good old paper and pencil mode. Idea from Josh - What about a local label maker... that could really help as well (small and limited scope).
- Questions on multiple location pricing. What are the price points and price breaks? This got into a small discussion on what a white label or other entity charges.
- Let's keep working on making it pretty and simple and powerful. If you could mix these things, that makes it awesome.
- People want to set it and forget it... a one time wonder or single setup.
- People want the big dumb animal pictures... super simple.
- Once you become super familiar with something... it gets hard to let that go.
- Training a client to be proficient in all areas is really tough... it comes down to training and maintenance. Keep making things easier and easier.
- We might need to make the tips and tricks and news and updates easier to get to... if people want that stuff.
We gave Josh a task of getting out some pens and paper and sketching out interface ideas and going through the discount needs. We recommended that he use the pyramid (triangle) type approach. This would be starting at the top level (corp-wide settings), then go down to groups (customer types and part categories), then go down to tiers and/or buttons (smaller groups with rules and assignments), and then clear down to the item level. We also need to take into account both includes and excludes.
|Shop 4090||AllGreens: show employee logged in||10/2/18||
Bryan jumped on and had a few questions. We went over a few things and got him going. Also, he has a client that wants to show who is logged in on every page. This could be a new setting. We could then show/hide that info in the header somewhere. It sounded like the client wanted that info on every page. That sounds like a header thing to me.
|Shop 4055||Adilas Time||10/2/18||
Jumped on the meeting with Eric. We were working through more flow and logic on the special tracking accounts (balance sheet subs of subs and used for things like loyalty points, gift cards, in-store credit, etc.). We made some good progress on the master level settings and rules (super high up on the adilas admin level).
|Shop 4033||Adilas Time||10/2/18||
Steve and I met this morning and had a good meeting. It was just the two of us. So, we ended up talking shop and strategy. We talked about some of our internal pain points and how we could get someone to help us out with those things. One of the pain points was with merchant processing solutions. We have coded to a number of Internet gateways, and that is working fine.
We have two major needs on the merchant processing level...
1. Is on the chip reader side. We have two gateways that we have coded to, but it takes a person to get people setup and going on that (light babysitting). Those solutions require both web API socket stuff and software installed on a computer. If the company updates their software, we have to recertify and no one wants to pay for that. So far, those solutions have been somewhat of a headache.
2. We need a simple Internet solution where a new merchant could be approved very easily and then they are off to the races. Currently, the Authorize.net's and USAePay (our top two gateways) have pretty deep prerequisites that the merchants have to go through in order to be setup and qualify. As they grow and mature, they may need to go to a bigger processor, but we need a really simple solution to get people started fairly quickly. We are thinking that Stripe might be the best option and/or looking deeper into PayPal or something like that. I personally am leaning more towards Stripe.
We also talked about some other internal needs and who we could put on what projects. Some of the other needs are things like:
- User guides
- How to's
- News and updates (this is biggie for us)
- Billboard sites (world building, roll call accounting, data assembly line, and others)
- Tons of other mini projects that come up
- Build out the full Adilas API sockets and the underlying documentation to make that happen. That is a huge piece of the puzzle.
We would really like to have some focused project management on both internal projects and client projects.
11:00 to 12:00 pm - Meeting with Global Design and Assembly - orders and backorders
- Not duplicating orders when something gets back ordered. They would love to enter things once and have it flow through.
- They would like a definitive answer of prices and timelines to make that happen.
- They import products and the resell those items. Lots of shipping and fulfilling of orders.
- They would like to go more paperless in the backend office (what is needed, what is ready, what has been shipped, etc.) - Currently, they are doing a lot of paper back and forth. They would like to eliminate the paper model.
- Steve, talking about a transitional PO (similar to a transitional invoice - between a quote and an invoice). This would be used for the on order/not quite inventory yet but maybe we are already making payments, etc. Steve was saying that Will Hudson (adilas developer) was going to be working on the transitional PO project. Basically, a work in progress type PO... it isn't fully valid inventory yet, but it is becoming more and more solid values.
- Jason, I think you guys would have a lot of clients who would like for a more automated backorder process.
- Steve, was talking about the existing manual process of duplicating the original PO and only pushing the backordered items forward. You don't have to build it from scratch, but you duplicate and keep pushing the ball forward. The other side to this, is you only pay for what you really get and have.
- Jason, would really like that process to happen (like magic) so that the whole story is still there but it flows through the whole system.
- Example: Say we ordered 500, you only got 300. What comes next? Do you have a small box that says, move 200 to backorder (aka a new PO) or what other options might be there.
- Small talks about ice-down dates
- On a technical side... how you do you keep cost of goods, inventory, accounts payable, and what is received and what is not received? Some of the questions go clear out to the balance sheet and how to track things.
- Just in time ordering and smaller draws... Say they need 500 total, but only want 100 now and another 100 by next week and then rest when possible. Just in time issues and some tracking nightmares.
- Technically, we may need another couple fields where we could put desired amount, shipped amounts, and backordered amounts.
- There is more of a need for time based ordering - just as, I need this on this date, and that on this other date... Basically, tying things into more of a time or schedule based environment.
- On the just in time... If someone wants 500 and you only have 200, how do you put it on the order? Do you put the whole 500 on there (this would drop your inventory by -200) or do you just do the 200, out the door, and then put the other 300 on another PO/invoice. Basically items still needed to be bought, purchased, and/or shipped.
- Warehousing and stocking shelves - excess inventory and back stock
- ecommerce type scenarios where orders are processed and managed as part of a supply chain scenario.
- Steve, was talking about companies that are proactively pulling sales from the other companies and then keeping a supply chain up and ready based on max/min re-ordering options. Once they (the other company) gets to certain level, a new order is always processed.
- here is a link for some of the older back order or backorder brainstorming from the developer's notebook.
- Steve, was talking about the new plant move and harvesting options that they are building out. It used to be one manual process at a time. Now, they can click a button and move, kill, phase, or group hundreds and hundreds of plants at a time. The whole things was custom built and automated through elements of time, PO's, and parent/child inventory. Totally a new automated process.
- Jason, we only want what really happens to be recorded, but we don't want to lose the other details of the story.
- Brandi, we already have some custom code that helps us see what we have on hand, what has been placed on new orders, and what is still needed (don't have that yet)
- Brandi, we currently have to make a sales order, fulfill it to the level that is true, and then duplicate it and redo what is still needed. This is the current manual process. She would really love to automate that manual process and take out the possible human error (either multiple clicks and/or info that was forgotten).
- Backorders play on both sides of the fence... inbound items and outbound items... Both sides need a standard and automated flow process.
- Steve, was recommending that we see their existing processes and then make a plan.
- Steve, he loves clients who ask - Can we move this tree? I keep having to walk around it. While other clients just quietly walk around the tree every day. Sometimes those clients who ask the questions really help us move the ball forward.
- Steve, software and application are constantly changing.
- Jason, really likes to look at "scale". Can I do this? Can I do this for x number? Can I double or triple that and still be ok? Can I multiple by n (unknown number)? It all comes to scale.
- Jason, they have really used tons and tons of flex grid... It is now getting to the level where it is getting to be somewhat of a nightmare, due to the number of custom fields and where it is stored.
- Jason, process sequencing - what data (total) do we need to catch and then push to where it goes. First catch the data. Then we can display it, however we want to.
- Jason, he likes farming (talking about idea farming). But, he really like to harvest (seeing it through).
- Jason, will send up some docs on what they want done. We (adilas) will then help plan it out and get them some quotes and what not.
- Dream it up, and we'll help you wire it up.
|Shop 4087||cross corp||10/1/18||
The first part of the meeting was spent chasing some big queries. Then we rolled into a discussion about cross corp barcodes and buying and selling sub inventory and being able to use a set barcode for that item. Basically, one systems sub inventory would then be allowed to be sold from another corporation based off of a barcode that was set by the original corporation.
I was thinking that it will end up being tied into this new adilas community funded project. See the link below.
After the meeting, I kept working on some code for the Bear 100. I spent some time working on emails and light tech support. I also reviewed a label demo video that Calvin Chipman did for Kelly Whyman and Steve Mitchell. This was the first demo that I had seen with Calvin's new wizard style label builder for the upcoming adilas label builder. Compared with the old prototype, this looks awesome. I put up a small screen shot of the video. The real video is awesome, but I don't have permission to push that up yet.
The video had and brought up some great questions dealing with the adilas label builder... things like: permissions on labels, history on labels, simple mapping interface, right clicks vs buttons, checkboxes vs scrolling drop-downs, visual indicators, auto save, prompts when closing, AWS (amazon web services) and putting the Windows software on a Windows box and then allow the user to login and use the program from there. Tons of good stuff.
|Shop 4066||Adilas Time||10/1/18||
Working with Alan, Steve, and Bryan on some big queries and possible pigs (big fat queries that run really slow). Doing some optimization. One of the interesting things is how long it takes to track down problem children (bad code) and then being able to fix it. Currently, I've got 3 of my guys on one single issue. We may need to look into ways of being more productive with our developer resources. It was tough because we had one guy who found the problem, one to be a second pair of eyes, and the other who actually did the code but couldn't remember the project (they all start blurring together - which is totally normal).
|Shop 4045||Adilas Time||10/1/18||
On the morning meeting with the guys. Talking about progression on servers, technology, needs for planning, programming, sign-off, technical writing, user interface, graphics and design, performance tuning, server tuning, hardware, etc. There is a huge progression that is taking place. It doesn't stand still. It always keeps going and pushing things from one level to the next.
Bryan Dayton jumped on and had a question about a custom page that he is doing. We started out and only had 3-4 black boxes for the same page. Now he has 12+ for the same page. He was asking what the plan was and how do we start handling all of the black box requests. We talked about building and breaking and how that helps all parties keep progressing. I told him to push what he has and then talk to the client the next time to see if they are interested in adding in page level settings that will make the whole thing easier for them and for future clients.
Bryan's next question was dealing with sub domains. Most of the adilas servers use a "www" sub domain such as https://www.adilas.biz or https://www.adilasdata7.biz - The question comes in... what about custom URL's and domain names that use sub domain names such as https://order.swcarizona.com/ and others. We have to go back in and add a variable for the sub domain. Once again, the ball is progressing down the field. More and more settings and permissions.
The next conversation was dealing with an outside code developer (3rd party solution - developer) and them wanting to play with us inside of the code arena. Once again, new territory. Good stuff. We invited him into the GoToMeeting and talked with him. Bryan lead the discussion. We setup some basic guidelines such as a non compete and non disclosure, safe code, clean and top level sign-off, no direct FTP access, a new bit bucket account.
Notes from Hamilton from Full Circle - They are a 3rd party solution that has been involved with adilas for quite a good time (text messages, email blasts, marketing and promotion stuff). They are looking to work with another 3rd party solution called eXPO (a financial solution and payment solution). They want to mix their products with our products to create a super mixed product. Kind of a touchscreen simple ordering area. This is a mix of ecommerce, sales, payments, and texting options. One of the main goals is getting the ecommerce process onto the customer's phones (mobile app). Shooting for a flawless experience that is super easy to use. Currently, they are going through our API sockets but want to build a more native application.
We were talking about proof of concept and getting it into the hands of certain key players (existing clients). They also wanted to show some custom reporting dashboards. This would help with the sales and campaign tracking pieces. How many texts were sent, what was the response, what sales resulted, etc. Getting into the sales analytics and marketing of their different campaigns. Where are we getting the most traction (sales and dollars per sale). If you know your customers well enough, you can then really market them for upcoming events, sales, and campaigns. This is really getting into marketing, sales, and promotions.
Dealing with multiple layers... lots of moving parts. 3rd parties working with other 3rd parties and those 3rd parties working with other outside parties. It gets deep very quickly.
We had some discussions on full API socket access (play at the wall) vs building natively. It comes does to access. Is it from adilas to Full Circle to an outside party or is it Full Circle to adilas and Full Cirlce to the outside development shop. Hamilton with Full Circle is working as a go between and a project manager of sorts. One of the end goals is scalability and who will help us get to that level. The conversation trended toward ideas on white labels and what we have to offer. It doesn't matter who offers it (name and skinning the app), as long as the clients can get to their functionality, they may not care who does what. Lots of possible different levels and phases. We will end up with both long term and short term goals.
Bryan chimed in and was saying that maybe we put the Full Circle stuff on to the adilas servers and we basically use their functionality as a marketing arm for adilas. Fun ideas. It may just be a sub folder on the adilas servers. So instead of pulling things through the existing API sockets, we move their code more inside, and then run native to native vs full API socket access. In a way, Full Circle wants to offer a targeting marketing platform and custom dashboard. They would love to move that functionality inside of adilas vs being an outside 3rd party. Basically, an integrated marketing arm.
The complexity of who has the master database (say more than two databases with somewhat similar data)... if it is local or native, you take out the duplicated data and who is the master.
Steve was mentioning watchers, feeders, triggers, etc. Some of those pieces (backend code watching and feeding in totals and analytics - summing up data and getting stats) will end up playing into the bigger puzzle. It is all part of the marketing and/or targeted marketing efforts. If we combine forces, it could allow multiple companies to gain from mixing technologies. In a way, it comes down to what services are available and how do you offer that to the marketplace? It also comes down to scalability and how things scale (how many pieces are playing and where the data comes from).
One of the problems with API sockets is the ability to control the other parties that are playing into the mix. Steve's analogy was - you need to pick one girl to marry. Basically, as many pieces that you could have under one roof and one code set, the better. That becomes the "system". It is all of the pieces that combine to create the whole.
Going deeper and deeper, we need to focus on the different aspects of a business. Who is going to market, develop, deploy, engineer, manage, maintain, etc.? Each of us, the different parties, could benefit by utilizing the other parties and who does what best. Combining to be more.
I have been tagged to get the non compete and non disclosure ready for both sides. It will be sharing code between companies and needs to cover both sides. It also needs to say some verbage about non exclusive promises (there will be others). One of the big benefits of being first is they will gain traction and the adilas reps will help sale their services. Good plans are developing. Bryan is going to be the point guy on this multi 3rd party mix and match (mini mash up or combo project).
As a side note, we were talking about creating a full custom 3rd party dashboard for Full Circle. We could tie it to their 3rd party solution selection (turning things on/off). We also talked about being able to do some reverse marketing and showing potential, even though full functionality is not turned on.
From Steve - Finding our stride... we are looking for solution minded companies wanting a full solution.
Going back to the railroad analogy. Once the tracks are put down and running... we are hoping that clients will see that potential and basically want to jump on board and go for the ride, using our tracks (the train - look and feel - may change). If needed, we could build more tracks and get more trains (engines and motors). See this link for some more info on the railroad track analogy. https://www.adilas.biz/top_secret/time_web_gallery.cfm?corp=371&id=3933
Steve was saying, that some of these outside parties are trying to setup real estate around our tracks and are even paying for what is needed to make it look and feel like what they want. That is pretty cool. We are hoping that others will do the same thing.
Different subject - long running queries and tables locking themselves... Alan and Steve were talking about chaining and locking of tables (both manual and automatic). Basically, the customer queue was locking the customers table. Both of those tables and sections deal with invoices and invoice data. One thing was locking the next, which was locking the next, etc. Chain reaction of sorts. This gets further into the rabbit hole by allowing 3rd party reporting based off of invoices (like a Metrc or other state tracking system). If they are slow to reply, it could cause problems going back up the chain. Basically, a data traffic jam.
There is a deeper and deeper need to be able to fully watch and do traffic control on the actual servers. Basically a monitoring system with stats, graphs, and notifications.
We had some other talks about splitting up tables and databases. Breaking up things, including data and databases, into subs of subs.
The last part of the morning session was chasing and following a bug in a custom cart for a client. We had Drea jump on the GoToMeeting session and show us where the bug was happening. No other clients were complaining, so we thought that it might be custom code. Upon looking, that client has 10 custom pages (black box code). We started looking into some code. Alan ended up saying that he would look deeper. Never a dull moment.
|Shop 4086||Adding in photos from the Bear 100 mile race||10/1/18||
Adding tons and tons of photos to the Bear 100 mile race gallery. I shot over 400 photos over the weekend. I've only posted about 130 so far. I'll do more later.
|Shop 4085||community project and Solubrius images||9/27/18||
Bryan and I got on a GoToMeeting session. We were looking into the code that Bryan is writing for the adilas user group. It allows for people in the user group to vote and rank projects so that we get a feeling from the group on what is most important. We spent the whole time going over some of the code and making some decisions. We re-wrote some of the logic and made it more efficient. We are using elements of time, flex grid, and counting votes and ranking numbers on the fly. Pretty cool.
|Shop 4056||Adilas Time||9/27/18||
Started working on a news and updates page for the Bear 100 mile race. The race is tomorrow and I wanted some of the adilas users to pop in and see what was going on. Just for fun.
|Shop 4034||Adilas Time||9/27/18||
Good talks about bulk tools vs single tools. We always start with a single tool (doing things one-by-one) and build to a many and/or multi tool. The guys were also talking quite a bit about global settings, corp-wide settings, etc. They also were talking about how cause and effect play into the system and once we create and/or fix something, it almost always opens up the next question and/or idea. That is fun, but it can have teeth.
Lots of talks about basic and/or generic tools or being fully compliant for compliant reasons. We want to stay on the basic and general tool level. The user needs to hold the responsibility for real and full compliance (who holds the real liability). That ended up bringing up a discussion on settings and permissions. We are seeing global settings, corp-wide settings, group settings (12 main player groups), user settings, and lots of new page settings and/or corp-wide settings per page or section. We also talked briefly about where the settings would be (visual and location wise) and how to help distribute and show those options.
I was building out some new code to show that image/scans and other media/content files were being uploaded when submitted. Pushed up a number of files.
Alan showed me a deeper demo of his graphs and charts and being able to flip flop the charts between monthly, yearly, quarterly, daily, etc. Pretty cool. We also talked about moving the existing sub homepages (invoice homepage, PO homepage, deposit homepage, expense/receipt homepage) to new pages and renaming it as basic searches (as apposed to advanced searches). That way we still have access to those pages and their search functionality and display options. Good stuff.
|Shop 4084||More Bear 100 tweaks||9/26/18||
Making a number of new tweaks to the Bear 100 runner portal (social media piece for the 100 mile race). Added two new fun reports. One is for the runner support comments (family and friends who chime in for their runner) and a new general photo gallery (trying to have the people push up more photos). I also added in a sort order to the internal image/scan report. It can now go newest photos/scans first or oldest first. Here is the link to the Bear 100 runner portal. It is outside of the secured environment and is viewable by the public.
|Shop 4083||Working on the Bear 100 mile race requests||9/26/18||
|Shop 4054||Adilas Time||9/26/18||
Eric and I were working on special tracking accounts. He was wanting to know how to create a master list and then have all servers play accordingly. I showed him how we currently use the copy tables and update tables function from the data 0 box to all other serves, including local development boxes. That got him thinking and excited about possibilities.
After that, we went back and started building from where we were yesterday. We are way up high on the add/edit special accounts page (master or universe level for things like loyalty points, gift cards, in-store credit, punch cards, etc.). We finished up the day by having a simple add/edit form, a results page, and an action page. Eric has done tons of custom code inside of adilas. Having said that, most times, he has been tweaking what already exists. This project is a good one for him, because he is building from the ground up. He is chewing it up by leaps and bounds. Really cool.
|Shop 4024||Adilas Time||9/26/18||
On the morning meeting with the guys. Steve, Josh, and Dustin were tracking down some of the new Metrc API stuff (killing plants and disposing of product). Alan came on and gave us a demo of what he is working on for the new invoice homepage. It will have some graphics, charts, and limited data being returned. Mostly some sums, historical data, and say the last 10 to 25 real transactions (for example, the last 10 invoices, the last 10 PO's, the last 10 expense/receipts, etc.). Great demo.
I was working on a runner upload for the Bear 100 mile runners. They will be using adilas this weekend to track their 100 mile race. Alan went back to working on his charts and graphs and Steve, Dustin, and Josh were working on syncing data between different systems.
We ended up having a really good conversation about dates, times, spans, buffers, logic stacking, data threads, and helping to do clean-ups. A lot of the conversation was dealing with how to sync up multiple servers (even potentially servers owned by different companies and/or systems) and how dates and times are pulled. Very interesting how things come back to time and how you sometimes have to either buffer and/or take spans into account. Time feels very solid and static, the problem becomes just like a line in the sand... if the record is on one side or the other, no problem. The problem comes in when it spans and/or plays through a given area (like a line in the sand). That gets tricky and the computer code or query has to be either flexible or somehow incorporate the span and/or buffer. Interesting how it kinda gets into adding in flexibility into a rigid or super tight system.
It reminds me of how we have seen this over and over again, how the system needs to flex and allow for bubbles and/or areas (virtual pods) where things can flex and then it comes back together at a future point and/or checkpoint. Here is an older entry with tons of good info (10/14/2014).
|Shop 4080||Meeting with the Bear 100 mile race folks - data team||9/25/18||
Met with the Bear 100 mile race - data team. We went over their custom interface and went page by page as a refresher course. We covered bulk start options, DNS (did not start), DNF (did not finish), exports to CSV, manual entries, CSV uploads (runner data from the field), reports, stats, finish line stuff, etc. Great meeting and we had 5 data team members and both Alan and I from adilas. During the meeting they made a couple of requests... I have a few small tweaks to make for this year and we're off to the races. The race will be this coming Friday and Saturday (9/28/18 and 9/29/18).
|Shop 4082||eXPO eCommerce||9/25/18||
Bryan and I jumped on the GoToMeeting session. Bryan had a bunch of files that needed to be merged into the master branch. We merged in the eXPO ecommerce white label code (300+ files). Bryan is still testing some stuff, but he needed to put up some of the code on a live server to show it and test it in a live scenario. No one really knows it is there, and you have to specifically turn it on, but at least he has some live testing things to play with.
We spent a little bit of time going over the adilas user group project. This is where we will let our user group vote on where we spend some of our money and where to focus our efforts based on weighted votes and funding. Good stuff. Anyways, Bryan showed me where he is at on that project and we made a few decisions on look and feel, flow, and direction.
I had a small phone call with Dave Forbis and talked about some project management stuff. We might be circling back around on some things.
After that, I went back in and recorded some notes from the day. As a side note, I'm really grateful for our team. They are all pushing on things and it is helping to get things done, where Steve and I by ourselves, couldn't have accomplished as much. I'm excited about that.
|Shop 4061||Adilas Time||9/25/18||
Working with Eric on the special tracking accounts (subs of the balance sheet). We actually started working on code and made a number of new functions and methods. We also started getting into plugging in the new methods into the display pages. We've been trying to do this for weeks. Today, we actually started and I think it will help Eric get some traction. Sometimes there are so many distractions and/or other projects that pull you off course. Good stuff.
|Shop 4036||Adilas Time||9/25/18||
I joined the meeting a little bit later today due to a dentist appointment. When I got on, Bryan, Alan, Steve, and Josh were on. Steve and Josh were going over some things. After that, everybody just worked on their own projects. I was testing code on the sales tax branch and going through files.
Also, towards the end of the session, Josh was reporting on his new GPS tracking stuff (using sub GPS stuff for elements of time). He is making great progress and should have something to show (actual visual display with maps, routes, and drill-downs) here in the next couple of days.
|Shop 4079||Meeting with Shawn||9/24/18||
Working with Shawn to track down a bug in some new state payroll calculations. Shawn is working on Missouri and Mississippi state payroll withholdings. We had to get in deep and look through numerous lines of code. While Shawn was looking over code, I was emailing and doing random to do list items.
Towards the end of the meeting, Josh had a few small questions about tracking active GPS entries and how to flip his own internal route status values. He is doing great and it sounds like he is being pretty creative on what he is planning and doing. Good stuff.
|Shop 4046||Adilas Time||9/24/18||
Eric and I were on the GoToMeeting. He found a small error that was done by another developer. We got him on the call with us and showed him the error. The problem was with a full custom page take over (black box stuff). The paths on the full take over were still referencing the include files as if the file still existed in the previous location (previous file folders and directory structure). We just had to change the paths a little bit, and the page was then able to find the assets and other include files. Minor tweak.
After that, we got Eric situated with his current project and made some plans to hit it again tomorrow on the loyalty points and special sub tracking things for the core loyalty points and gift cards section. We also briefly talked about putting another developer on the project if we keep getting called away on custom side projects. We basically lose momentum and it takes some time to re-transition and get back into the project. Just looking at options.
|Shop 4022||Adilas Time||9/24/18||
On the morning meeting with the guys. Steve wanted a report on Wayne's cross-server database sync tool. We reported and talked about some future options and where we want to go. Lots of potential there. After that, Dustin and Josh started talking with Steve about some of the Metrc stuff that they are working on. They are making some great progress. Steve was the leader there. He knows his stuff because he has been in there in the trenches on implementing the Metrc and state compliance stuff.
I was doing emails and light tech support. We have a client who is wanting to charge some special fees based on certain payment types and then not have those new collected fees show up in revenue. That is possible, but kinda tricky due to the mapping of non-revenue based fees and still having the fees show up as an invoice line item. I also was working with the guys on the Bear 100 mile race and getting their runner list for this years race. The Bear 100 mile race uses adilas as their race (leg and aid station) tracking software piece. Lots of different projects.
Eric checked in and we chatted on the phone for a bit. He has a random error coming from one of his custom shopping carts. We will look in to it more later on today. Shawn popped in. Alan popped in and chatted with Steve. It seems like all of the guys are going in a good direction.
|Shop 4078||After hours data migration||9/23/18||
Wayne and I got on an after hours migration task that was scheduled. We were running Wayne's cross-server database sync tool. This was the first time that we have run this program live. It has all been test data prior to this run. The program ran without errors and we checked record counts and all seemed to be good to go. We flipped some switched to point the corporation from the data 3 server to the data 8 server and then logged in. All of the data looked great, except for one primary table. Because everything wasn't perfect, we re-pointed the corporation back to where it was originally, and disabled it on the new server. We will check that one bug and then reschedule the migration. We want to be certain that everything transferred correctly. Wayne will be reaching out to the client to let them know that we need to reschedule. No harm done.
By way of a history note... This corporation was supposed to migrated almost a month ago with some other corporations. It was left off of the list of a multi corp migration process. When we do this, a normal migration - in the old way, we have one shot at taking any number of corps from one occupied server to another, unused or new server. Because this corporation got left off, we basically started all of the other corporations using the new server and thus created potential id conflicts (auto id numbers per corp). Within the first 15 minutes after we opened up the new server, they informed us that we didn't migrate one of the corporations (it was completely left off the list to migrate). In that small of a window, already 6 tables were unable to merge without id conflicts, thus blocking us from migrating the data between servers.
In the past month, Wayne has been working on a database sync tool that crosses between servers and non-destructively mirrors and duplicates the data without hitting the id conflicts. It has been a major undertaking with multiple test runs, one-on-one info sessions, lots of emails back and forth, and writing a complete program to fully automate the process. The tool is amazing and will end up saving us thousands and thousands of clicks and hours and hours of developer time. Today was the first live run. I'd say we hit about 95%. With a little bit more tweaking, it should be fully ready. Kudos to Wayne and his cross-server database sync tool. I'm excited to see what it can do when it is fully done.
Emails, tech support, and filling in information on the adilas community funded projects. Trying to add some new verbage and details to help the projects have more weight and value. Along the way, it has been fun to review where we are and where we are going. Good stuff.
|Adi 1352||Create and Publish an Adilas Master Plan||9/21/18||
Currently, the adilas.biz master plan is held in the minds of a few of its founders. It has never been fully funded and written out. We think that would be a great project and could help our existing users, current clients, and even future clients. It would also possibly allow us to get more funding if there was a firm and written plan of what is needed, in the works, and where we are headed.
As of right now, the only written business plan is very general - such as: "We are heading North" (meaning up :))
|Shop 4070||Tax Project Testing||9/20/18||
Alan and I were continuing to test pages on the tax project. We also had a small chat session and talked about options for speeding up some of the main sub homepages (invoice homepage, PO homepage, expense/receipt homepage, deposit homepage, and quote homepage). We talked about how each sub homepage page currently pulls the last 30 days worth of data. We may change that to the last 7 days or just limit it to the last 25 records (rolling - no mater what the date is). We also talked about showing some quick stats and graphs to help the users see things (pulse and quick snapshot - today, yesterday, week to date, month to date, year to date) without showing tons and tons of transactional data. Anyways, some great ideas.
Another topic that Alan and I talked about was settings. We are seeing a need for more corp-wide settings (world level), user level settings, group level settings (invoices, items, customers, elements of time - any of the 12 main player groups), and page settings. Alan and I were talking about how to stack that model. We drew some pictures and talked about a triangle model where the corp or world level settings are at the top, and then the page and user settings are at the bottom. We also talked about flipping the model (reverse triangle) so that if a user doesn't have a specific setting for the page and/or group, the corp-wide or world level setting would kick in. Another idea we followed was how to stack and allow the users to play at the group level and also at the page level (possible one-to-many relationship) based off the of the user and what settings they put in place. All of these things will help us be more dynamic in showing what the users want and also in speaking their language. Good stuff.
|Shop 3994||Adilas Time||9/20/18||
Going through page by page and testing files that are part of the sales tax changes.
|Shop 4005||Adilas Time||9/20/18||
On the morning meeting. Steve was talking with all of the guys about all of the different projects. Lots of good stuff going on.
- This is somewhat new, but we may need a transactional PO (on order and maybe even pre-payments on inbound inventory) just like we have a transactional invoice (QTI - quote to transitional to invoice), this would then be mapped directly to the balance sheet. This includes a new PO type, tracking the period while in transition, and then being able to flip it from the transitional period into a real PO that hits normal inventory and normal payables (if not fully paid off). Anyways, we have a working model on the invoice side with the transitional invoices (work in progress and pre-paid stuff). We may need the same things for the PO and ordering side of things.
- Wayne popped in and showed Alan and I his database migration tool. Pretty cool.
- Creating a test suite... what pages and/or sections do we want to visit and check before releasing a new server. This will be really important if we are changing versions of software. We may want all of the developers to chime in on this list and include it in the test suite. Think - if I were going to a newer version, what pages and/or functionality would I test?
- Alan was talking about some of his query optimization and query tuning. As part of that, he had to pull down some bigger test data sets to run the queries against. Our smaller, normal test data sets didn't give him much to work with.
After the guys came in and gave their reports. We all split up and worked on our own projects. I was in testing on the final changes for the sales tax stuff. This is the dynamic naming and introducing custom taxes 6-10 (5 new custom tax fields).
|Shop 4015||eXPO: eCommerce||9/19/18||
Bryan and I got on a GoToMeeting session. We were fixing bugs that have been submitted. We also looked in to some of the upcoming options for the adilas user group and how it will tie into the adilas community funded projects. Pushed the bug fix up to all servers.
|Shop 3995||Eric Time||9/19/18||
Jumped on a session with Eric to work on loyalty points. We pulled in Alan to help Eric get his local environment fully back to normal. There were some code repository issues and we needed master Alan to help with that. Meanwhile, I was adding in new donate links to adilas community funded project pages, adding video links to the main login page for the Denver training event, and pushing up new files with more notes and video links from training.
|Adi 1348||Add A Unique Barcode To Child Inventory||9/19/18||
Heavily requested functionality to add a unique and searchable barcode to the child inventory items. This would be similar to the existing RFID tag per child. It would be unique (auto, manual, or scanned in) and searchable through all cart and inventory searches.
We are estimating $1,500. That would cover planning, new database changes (corp-specific), new code, search and add to cart logic, and sign-off and deployment.
|Shop 4006||Adilas Time||9/19/18||
On the morning meeting with the guys. Steve was asking where some of the projects were at... one of them is the invoice due date and an auto monitor watching for outstanding invoices and prompting for payment from the users (clients and different corporations). This would help speed up the game of chasing receivables (who owes us money). We also talked about the existing Adilas Community Funded Projects page and section and how to go in there and use that tool to help generate funding and show progress.
- We also talked about fully committing to a project. Sometimes it gets really hard if you have to start and stop a project multiple times. You lose some in the duration (how long it takes) and also in the transitions (switching between different projects).
- Add in a link for the adilas community funded projects to the main website and top header navigation.
- We also need to add a drill-down link to the elements of time from the community funded projects. Use the code we just finished for the developer's notebook. It allows for elements of time to be shown outside of the secured environment.
- Talking about dedicated servers and specs. We had Steve, Brandon, Alan, and Bryan all on the call. We went over older specs of the servers and options of going up to more processors, more RAM memory, and moving things to solid state drives. Having said that, we still need to do some server tuning to make them super fast.
- If we make these changes, what do we gain? Could we put more clients on the same box? What is the user (users within a world or corporations) to cost ratio?
- We need to do some research on ColdFusion and MySQL and how they work with different clock speeds, how many core processors do they use, and what versions of those products should we use? The newest versions, as of now, are ColdFusion 2018 and MySQL 8.
- It is amazing how things (technology and such) keep changing and increasing. We have to keep playing the game.
- Short list - dual quad core processors, 32 GB RAM, 2 solid state hard drives (one for files and one for database stuff), newest versions of ColdFusion 2018 and MySQL 8
After our meeting about servers, Eric popped in and Alan helped him get a good clean local environment so that he is ready to start working on his new projects. I went into the developer's notebook and adilas community funded projects, and put in some new navigation and opened up the adilas community funded projects so that they could do a time drill-down to the underlying details. That should help us create a better path to start helping people and outside parties help us.
- As a side note, we may want to add some funding options from the individual drill-downs (elements of time) for the adilas community funded project. Basically, if they are deep enough and actually on the item (the project and/or exact element of time), it might be nice to show an option to help fund that project right from that page.
|Shop 4008||Custom emails for Chris Johnnie||9/18/18||
Setting up some custom adilas email addresses for a client. This allows them to email out of adilas and then we place some forwarding options on the account to make all replies hit another outside email account. Kinda some smoke and mirrors.
|Shop 4012||Working with Bryan||9/18/18||
Bryan is working on some ecommerce payment connections and pages. We got on and did some light debugging and looking around. It is fun to see all of the different projects and who is working on what. While he was on, Bryan was also able to reach out to Steve and touch base on some new server setup questions. It is kinda nice for these guys to get multiple questions answered, just by popping into the meetings.
|Shop 3996||Meeting with Shannon||9/18/18||
- Working with Shannon and getting back in to the loop...
- Small review of the training event
- Shannon reporting on her progress and her homework assignment. See element of time 4010 in the shop.
- Known tech support areas... login and getting locked out, navigation, reports, step-by-step how to's, hardware, back-end users (balance sheet)
- Reports on items and invoices - getting their information back out
- Using the existing tools to get what you want
- Hardware is always a "hard" piece - no pun intended - We would love to get him on the adilas market and then let him handle it from there.
- Possible hardware packages and suggestions
- Maybe proactively pay a hardware guy to reach out to his/her clients and be on the proactive side of things.
- Maybe some trouble shooting documents for different known hardware issues - tips and tricks
- More needs for using the adilas marketplace - calling cards, tips and tricks by power users, mini advertising
- Hardware is a totally different realm and is the hardest tech support category - at least for us
- Great ideas - but sometimes it goes nowhere - just due to the number of things calling for attention
- Shannon has also seen lots of high-end questions from back-end users - especially from the balance sheet and high-level financials
- On training... we need different levels - laser focused, beginner, intermediate, and advanced - how do we accomplish this?
- Multiple different forms of helping to educate our users - help files, steps to success, user guide, videos, live training events, etc.
|Shop 3993||Eric Time||9/18/18||
Eric popped in and we touched base fairly quickly on the loyalty points and special tracking accounts. After that, Steve and I were talking about custom code and black boxes. We are seeing more and more needs to template and allow full user interactions. This gets to the custom configuration level.
- Our goal is to get the pages and code out to the object level.
- Currently we have options for black boxes. We may need to go deeper there and allow for custom, theme (bulk black boxes), mini settings, and then the default classic pages.
- The display and sometimes the logic are the things that need to be able to change. The display being one of the biggest thing.
- We were talking about corp-wide settings, users settings, page settings, and even player group settings (12 main players - invoices, customers, items, PO's, etc.)
- Everything keeps fracturing and spreading out. That isn't bad, but it does make it hard to manage and also show back to the users.
- Lots of our users want to limit what is shown. That is removing fields and columns. The opposite for that is real in-line database extensions (expanding the database with specific data types and fields).
- We talked about limiting results back to the users... for most things that works great. On the other hand, other people want everything from forever (all the data).
- We are even seeing a need for page level settings as to what data is pulled back and what data is shown.
- It goes clear out the level of layout and display. Say the shopping cart - I want the clear cart button here. I want the checkout button here. I want the update cart button here. I don't want x and y but I do want z and q. You get the idea.
- We are also seeing a need for logic rules (still at the page level). Basically, how do I play and who do I play with? Rules, assignments, and settings.
- Settings are preset choices so that we could go even faster and faster without asking for input each time.
- Talking about a small game and/or a developer's challenge - a contest of sorts
- If we play with the real data, inside of adilas, we are so interconnected, it gets kind tough. For concepting, we may want to step back and limit the scope.
- Talking about try storming, brainstorming, concepting, and even breaking things into stages.
- Often when we are looking for ideas and solutions, it becomes a mix of multiple ideas. Cinergy and getting multiple people playing the game. Kinda like add on.
- Are we turning right, left, or going up or down... wet clay and things keep changing.
- We are so grateful for all of the people pushing on things. It is always morphing and changing.
- The element of control by a user - easy, powerful, and pretty - if it has those things, you can sell it.
|Shop 4010||Internal Project Managing||9/18/18||
Notes for ideas, assignments, direction for Shannon helping with Internal Project Management:
Organizing & Brainstorming on Prioritizing & How to Move Forward:
#1 - Common Tech Support Issues (Categories):
Locked out of login:
How to accomplish X task in the system:
Back-end users - Balance Sheet:
Levels of Training Needed:
#2 - Circle the Wagons - Gather what is already there before moving forward on what to do next
Find the User Guide content already completed
Categories for Internal Project Management Needs:
Assigned Projects & Project Follow-up
Client Communication & Follow-ups
|Shop 4004||Adilas Time||9/18/18||
On the morning meeting talking about GPS tracking and using cell phones to track things, light talks about the graphical homepages with charts, graphs, counts, and quick nav. We also talked briefly about a developer contest for a dynamic design (small competition with specific specs).
Bryan popped in and did some reporting on getting user feedback and setting up an adilas user group. We are going to be tying things into funding (adilas community funded projects), user voting (a weighted voting system), and a user group forum (add/edit sub comments and threads).
- Bryan has already gone in and tweaked some of the code for the adilas community funded projects. It will end up being the money and funding part of the user groups. We will allow for ranking, project id (with a drill-down to the project details), project name, notes, points, weighted votes, status, and ability to rank/vote projects.
- Small talks on security and who has access to what
- We are looking to use adilas elements of time to help track the projects and the project status. That is awesome. We have been working up to this for years.
|Shop 3992||Adilas Time||9/17/18||
Recording notes and adding files (media/content) and photos to the element of time for the Denver training event. I also jumped on and helped out Bryan with some questions about servers and the new changes we are going to be making for the adilas community funded projects. I then worked with Dustin for a bit and helped Josh get his local environment setup. Those guys are doing great and it is fun to see some new talent in there pushing things forward.
Back to more notes and adding files for the Denver training event.
|Shop 4003||Adilas Time||9/17/18||
Back on the morning meeting. We did a light summary of the training event and talked about what else we could do next time. We are happy with the turnout, energy level, and the topics that we covered in the Denver training event. We are already talking about going to Phoenix, Arizona, in January for the next training session.
Alan, Steve, and I got in to looking into some pagination values and how to quickly show the correct number of records. That took us into some of the Snow Owl data tables and looking around. We also talked a little bit about getting into the graphical homepages and showing totals, reports, graphs, charts, summary data, etc. If you do a search for "graphical home" on the developers notebook, there are a few older entries.
What do people do on the invoice homepage? They want to see counts, totals, and problems (that way they could fix the flagged records). We may want the data just to display the last 7 days vs the last 30 days (current page load). We could still show the totals and counts, but we would only show the actual data that is needed.
Going back to the pagination stuff... We found a small bug in the older pagination vs the newer Snow Owl pagination. Pagination is a term for showing the next page of n (some other number of total pages). The problem seems to be that the system pulls all the data but only displays a certain number of records. The page can only then work with the number of showing records vs the number of records in memory (show vs memory). Anyways, we were looking into some options there. Josh popped in and was saying that most times, people are only looking for the last few entries vs the last 30 days worth of data. We may be showing too much and making the servers work too hard for something that may not even be needed. We need to head to a quick snapshot of the data and totals and then allow them to drill-down and get deeper if needed.
We had Wayne Andersen pop in for a bit. He had some questions about servers, setup, performance, and security. He is working on some of those pieces. We authorized him to look in to setting up some play sites in the AWS (amazon web services) virtual environment. We want to see what that looks like. We also has some light discussions about how awesome it is to have some of the boxes completely separated and setup as a standalone environment so that all of the corporations (worlds) don't catch the same cold (viruses, database problems, traffic problems, etc.). Good talks with both Wayne and Steve on some of the topics.
Towards the end of the session, Steve and Dustin were working on reporting batch numbers out to the state tracking systems. We talked about a way to push and send over hidden details and then how to gather up those pieces and make our own summaries from the data that was submitted. We pushed up the pagination changes from earlier and then did some light testing. Recording notes and wrapping up the morning meeting.
|Adi 1347||Start using the gear on the side||9/14/18||
As part of the training... We were talking about tips and tricks... We would like to show tips, tricks, settings, help files, videos, and basic corp-info such as corp id and server #. See the attached file for a reference.
|Shop 4013||Meeting with Alan||9/13/18||
Alan and I had a small meeting after hours in our hotel room. The general topic was were are going and how are we going to get there. This is mostly ideas... but some of it is real and may come in to play as we go down the road.
- Alan noticed that there are special headers in the old AFB settings pages. We may need to swap those out. These are the snow owl theme settings page, the ecommerce settings page, and the custom email settings page.
- We might need a new level between black box (custom), bulk black box (them), and the classic. Sometimes we need an option but we don't really want to go to a black box per corp - Kinda like the shopping cart view... we have multiple options to choose from and that is tied to the personal settings.
- Maybe hire a designer to help with CSS and user interface stuff
- What about an adilas fracture account
- Are we in the race, out of the race, or working on something else?
- Where is the puck going to be?
- What are our goals?
- What are our defined roles & how does that play out? Currently, things are pretty loose and multiple people play through the different roles.
- Who is going to do custom?
- Goals and roles - those are big subjects.
- We really want to get back to the custom database fields (show/hide, sort, name, alias, require, custom instructions) like we did for customers.
- We really want to do a similar things with the reports. Imagine a way to select what fields show up, what order, what base or starting filters or criteria, pagination defaults, etc. That would be really cool. We already have some of that in the save your own reports pages, but it would be cool to make that happen on a page setting level. Basically, here is what is available, what would you like to see and how would you like to see it? Great idea.
- Just a thought... what if we stopped custom coding for a while? It sure would be nice to be able to use all hands on deck for certain internal projects. As a side note, custom code has become part of our model.
- Maybe try teams
- There will be growing pains
- The view cart page mixes black box technology and corp-wide settings and personal settings. We may end up with more hybrid type options like that.
- In general... we have really taken on a lot... people want us to keep building both out and up... question for us, is the core strong enough to support that?
- What would it take to stabilize certain parts of adilas? Some of the pieces haven't been touched in years and very stable. Other parts still have virtual wet paint and are still changing. The goal is to get some of those morphing pieces to become more stabilized and steady.
- Education and maintenance may be more important than new features
- Some of the reps are getting sick of training the same things over and over again
- Go through the whole system and black boxing pages and adding icon menus
- What if we went back to the web_page_id. That field was originally designed to be a page specific id number. We could then tie-in in help files, videos, page level settings, etc. Every page in the system would have its own id number.
- Working in strategic teams. Say teams of 3 like Alan, Wayne, and Brandon. Or Bryan, Wayne, and Alan. You get the idea.
- Balances...moving balances - We have seen problems with planning too much and planning too little - there needs to be a balance.
Fast forward to the next morning... Friday, 9/14/18
- Just keep going and don't do anything crazy - let it keep cooking and growing.
- Maybe have a contest to see where we are going and what ideas we have.
|Shop 3957||Adilas Training Class in Denver, CO||9/10/18||
Adilas training course in Denver, CO. We will be at the La Quinta Inn and Suites. Englewood Tech Center
9009 E Arapahoe Road, Greenwood Village, CO 80112
See attached for notes, scans, files, and GoToMeeting recordings (videos)
We did some intros and then got started. Danny Shuford did a demo and did a great job. See attached for some notes. Here are a couple of the highlights from what I took away from it.
- Solution for solution minded people
- It can be molded to fit your industry
- Changes keep happening
- Big open view of the whole system - it wasn't made for just one industry
- Brief overview of the framework
- Based on user permissions and valid logins
- All web-based and cloud-based
- Features and benefits - focusing on the benefits
- CRM - log notes, additional contacts, photos, and other media
- We all deal with money, but in the end... we are all dealing with people
- Note to me... Danny went into the customer table and doing the custom page settings on the customer fields. This is for things like the name, aliases, sort value, show/hide, etc. We really need to keep pushing that idea and concept forward. People really want that level of control. It just takes a ton of work to cascade that through the full system.
- He talked about news and updates
- "Our Interface" - what do you want? We don't have a single set interface, we let you choose
- Customer queue
- Lots of moving parts
- Drea - "Adilas is play dough"
- Inventory tracking
- Reporting and building your own reports
- Labels and changes to the requirements
- Accounts payable and accounts receivable
- Print checks
- Customize and working with the developers
- Security and back-ups
- Steve - Showing some hidden gems
- Small demo on flex grid
Next, I gave a small section on the adilas model - core concepts - and intro to world building. I will upload my outline. I'm also hoping to upload the video as well. I don't have any notes because I was the presenter, but here is my rough outline:
- We will be bouncing around
- Start with a guy holding tons of stuff
- Talk about the needs and how to organize things
- Go over different tools... head and mind, paper and pencil, word processing, spreadsheets, databases, software packages, web or hosted solutions
- Go over systems and how things start to inter-relate
- Cover the 12 main players
- Cover the 12 business functions
- Cover the 12 main world building concepts
- Mix and blend to get the desired results
After lunch, Alan Williams did a presentation on highlighting and exploring new features. He started out with a fun group activity and a game of sorts. Minimal communication and we had to figure out a path through a virtual mine (bomb) field. It ended up having forward steps, side steps, back steps, etc. We eventually, as a group, got through the mine field. Really fun exercise and it opened up some conversations. Here are some notes from Alan's presentation:
- Little active - mine field - group activity - finding their way
- How does this relate to the adilas process?
- He then showed some of the steps that we have taken to build the application
- Side steps, back steps, and forward steps
- Going into advanced add to cart and sub functions
- Request from the group - no standalone discounts - Make that a permission and/or a setting. Standalone discounts can and do cause tax problems.
Next, Steve Berkenkotter lead an open Q & A section. The first question was asking about any updates with the Metrc (state compliance and tracking system for Colorado). That got pretty deep but exposed some of the challenges that exist between connecting and maintaining dual systems (adilas and Metrc). Here are a few notes:
- Questions on Metrc
- Some new tables and new limits from Metrc
- Auto processors - running nightly stuff to help sync data between systems
- API and server to server connections
- Challenges that exist
- Mixing old and new functionality
- Using elements of time to track states, status, phases, and groupings
- Getting back at the data - reporting
- High level vision
- Question from Pat - 280E - new tax and accounting rules - what can we write off as cost of goods? What about unitizing expenses?
- Steve - How the IRS is looking at things and expecting things
- Steve - loves numbers and how he brings his skills to the table
- Work in progress - attributing a value as part of the accounting
- The progression of building and breaking
- The system is able to store the data (huge piece of the puzzle)
- The system may be customized to get the data back out and/or to get the data in (another huge piece of the puzzle)
- Template building
- A consultant spending time and configuring a system before it is released to the end users
- Small questions on CSS and changing certain page colors
The last section of the day was a presentation on historical stepping stones - what have we learned and why do we do what we do? I did this presentation so I will add my outline. Once again, we are hoping to get some videos uploaded to this element of time incase someone wants to watch the videos. Here was my outline:
- Where did we start? Spreadsheets, static web sites, zip disks and sending inventory around from place to place
- Fixing current business problems
- Where is your pain? Start there
- Letting operations lead - Use the adilas interactive map to help show flow
- At some point, accounting will need to follow
- Checkpoints and flowing data
- Gap between operations and accounting - drawing the gap, horses and carts, and old school T accounts - light history of accounting
- How does time play into the mix
- Comparing operations and accounting in a static environment
- Comparing operations and accounting in a dynamic environment
- Progression - drawings of the data assembly line and how it ended up at a 3D data assembly line
- 3D world building - x=time, y=resources, z=space or depth - draw out the box or cube
- Black boxes & white label options
- The whole deal
We didn't quite make it all the way through the whole outline, but we covered a good portion of it. Towards the end, we went around the room and got some feedback. Those documents and notes will also be uploaded. The final request from the class was to have adilas allow the "adilas version" spreadsheet to be shared with the world. It was originally created in order to get a bank loan, but Steve said to release it to the world. Great meeting and good energy on day 1. Good stuff.
We spent most of the day working on and going over inventory tracking and point of sale (POS) features. See the attached videos. We also had some great demos from Calvin Chipman on building custom labels and one from Dustin Siegel on some new code and features that help with plant phases and cultivation. Here are a couple of notes from some of their presentations. For a more complete version, you may need to watch some of the videos from day 2.
- Calvin and the adilas label wizard - He gave a slide show and then started to interact with the label builder. After he was done, we asked him to show some of the behind the scenes pieces of his label builder. Good stuff.
- Vaporware - the product doesn't fully exist (yet) - part concept, part actual, not yet fully functional
- User designs the label (step 1)
- User selects the label from inside of adilas (step 2)
- The label(s) are created and displayed on the fly, based on stored instructions, mappings, and special code. (step 3)
- Part of the demo was showing sheet labels with a data merge, labels with barcodes and QR codes, static text, dynamic text (user can interact and change things), data mappings, graphics, etc. Pretty cool.
- Small talk about PDF's, Flash, & HTML and CSS - printing options from the web - Our choice is PDF currently
- Interacting with printers, browsers, and other hardware pieces
- PDF - actual size vs shrink to fit size
- Questions about font point size and possible limitations for compliance reasons - We will leave that up to the users, that way we don't have to chase all of the compliance rules and regulations.
- We talked about settings and maybe limits that could be stored and looked up on the fly.
- Possible template options
- Be careful saying a compliant label
- A good disclaimer to keep things legal according to the local and/or state requirements - put the liability back on the companies and/or users.
- Small story of a company and internal programming wars and war stories - Different places that Calvin has worked.
- It may take a hybrid solution of both software and web
- Small demo of the actual builder - Calvin is going to be taking that and putting it more into a wizard-type format. Currently, you have to be pretty techy to use it. Round 1 - prototype.
Dustin gave a presentation on some new cultivation processes and some dynamic mapping. We had some technology issues, the demo was going slow (Internet) but the concepts were awesome. Imagine going from a manual one-by-one process, to a bulk streamlined process. Huge time saver, plus tons more data points, capturing the whole story clear down to minutes, seconds, locations, phases, etc. Pretty cool.
Busy day today. We got into sub inventory, why we do sub inventory, customer relationships, elements of time, flex grid, ecommerce, custom emails, group mass texting (GMext Pro), and a presentation by Kelly Whyman (super power user from the Denver area). We are going to be posting the videos and the notes from the day. Good sessions. Here are some of the notes that I took while others were presenting. Once again, see the attached media/content files for videos and other digital notes.
These are some notes from Shari O.'s presentation on CRM functionality
- CRM - The real acronym stands for Customer Relationship Management - Shari O.'s acronym for CRM is - Can't Remember Much - pretty funny
- Good data in = good data out - Fill things out completely and make sure you get good data in
- The client log and how to use it
- Leaving personal footprints in the sand - using the log
- Addin gin a user-maintained history... internal communication
- Cover you own rear-end
- Being business appropriate - have good manners when recording details and data points
- Custom emails
Drea did a demo on how to show/hide transfer packages inside of the adilas/Metrc inventory pages. Here are some notes from that:
- Transfers in and out and how to hide things
- Everything in adilas is flexible
- This new functionality is only a week old
- Talking about manual clean-up and automatic clean-up - doing side-by-side comparisons
- Using the data tables and being able to sort and search data - almost on the fly - re-writing the page based on the data.
- Some of the new CSS cards, tabs, and such - really look super cool and it seems more intuitive - it also makes it look more modern.
- We would love to keep adding new data tables and more options
- As we keep going, we may need more clean-up options
Calvin game a PowerPoint presentation on GMext Pro - This is his group mass texting solution. He did a great job and I think that people really liked it. Here a few notes that I wrote down.
- Pretend like you are a client
- Communicating to a large group or large groups (plural)
- Pitching GMext Pro - great demo and presentation
- Some of the stories of huge companies and how changes have happened and how those big companies weren't able to keep up. WordPerfect and Blockbuster were some of them. Major game changers entered the market and could do things better, faster, and cheaper. People gravitated to those new options.
- Technology happens... embrace it and thrive
- Mass texting and single text notifications - similarities and differences
- Phones and phone numbers - with mass texting, you are basically buying phone numbers so that you can send more texts at a time. Each phone number can only send 1 text per second. So you may need 5, 10, 15, 20, 25 phone numbers to get all of your texts sent out.
- Problems with people giving out the wrong phone numbers (bogus numbers or wrong numbers) - that can break your marketing campaigns - too many wrong numbers and you get reported as a spammer.
- Ways of opting in and out
Final day of training for this go around. We started out day 4 with a group session on tips, tricks, and best practices. We spent quite a bit of time going over settings, permissions, and parent attributes for items. Steve then did a whole session on the three main parts of the balance sheet (assets, liabilities, and equity). The topic was intro to adilas backend office and functions. Steve took the words backend office and tried to flip it to - let's put the owners in the driver seat vs trying to drive from the back of the plane (pretend they are trying to fly the plane from back in the bathroom with the doors closed). Great session.
The afternoon session was talking about BI - Business Intelligence & Big Data. The group talked about databases, data, and how to both get data in and out of the databases. Lots of fun examples. We then has some other Denver power users jump in and do demos on tiered pricing and smart group buttons, and another one on the process of doing a full inventory reconciliation and full inventory count. Great info and good sessions.
The final session was supposed to be on the adilas model - vision, future, and wrap-up. We were all too tired, so we just chatted and went over a bunch of the things that we learned from the training session. We got some great notes and tried to clarify a few items, topics, and concepts. Pretty casual ending. Great people, wonderful ideas, excellent participation, and memories made. A great training session. Here are some of the notes that were taken while others were presenting:
- Molly presented on parent attributes for items - think of tag or ways to categorize things
- On parent attributes - for example: say you have an item but want to show different brand names or characteristics - Say you are selling shoes... You may want Nike, Converse, Adidas, etc. Or running, walking, hiking, trail running, etc. These would be good parent attributes or tags.
- Parent attributes are huge for ecommerce searching and creating tags for different items
- Russell did a great job on so many different features - we would love him to keep building more features
- Easy setup
- Building your own little shortcuts
- Parent attributes are used for labels, sales, ecommerce, searching, filtering, etc.
- Treat parent attributes like a way to build your own database... eight use the flex grid and the custom fields or use parent and sub attributes.
- Both parent and sub attributes are unlimited and they have a proper data type such numeric, dates, text, toggles, and drop-down lists. That really helps when putting data in and also when querying the data to get certain results back.
- As an idea... what if we build out both parent attributes and sub attributes to all 12 main player groups, inside of adilas. You literally could build your own one-to-many database relationships. The main 12 player groups are deposits, invoices, users, vendors, customers, stock/units, expense/receipts, balance sheet items, elements of time, quotes, PO's, and general inventory items. Currently, parent attributes and sub attributes are only available for parts or general inventory items. Think how cool that would be if we pushed it to the next level...
- Small note from a meeting during one of the breaks... what is the internal adilas funnel to report an error or a bug? Who gets put on that project? We need to figure out our own process and communication funnel.
- Bryan and Molly and others... funding some of the consultant projects - what is the short list and then where are things at. Basically, what do we have to work on and what are the priorities of those pieces?
- Shannon may be part of this funnel that we are trying to build out
Back to the main training even... The next session was Steve Berkenkotter and Shari Olin - going over financials and adilas backend office functions. Steve pretty much ran with this subject and did an hour long power session on the three main parts of the balance sheet (assets, liabilities, and equity).
- CPA homepage interface
- Inspecting what we expect - you have got to look at what is being delivered as a final product (actual items and/or tasks or services)
- Going back to the beginning - balance sheet homepage
- When you get a new system, we setup a default bank and default location
- Problem with batching... Say trying to remember 30 days back and/or not getting data and information for a long period of time. It kinda leaves you guessing and/or missing some of the details
- Steve - Think of flying a plain... try to be ahead of the plane... where is it going - often pilots try to think 3 tasks ahead of what they are doing
- Views of the balance sheet - a trial balance - working and checking mode
- Assets, liabilities, and equity
- We covered the difference between the income statement (P&L - profit and loss statement) & the balance sheet
- Values and tax laws
- Depreciation and schedules
- Life cycle - length of the life of an object and/or an entity - time and a schedule to lower a value (usage & wear & tear)
- The IRS has setup the tax game... They want you to play and even play up to the lines that have been setup - think of a game - play to the line
- Where you put things in very important
- Small discussion on double entry accounting - history and pros and cons
- Skate to where the puck (hockey) will be
- The formula is the most important part of it
- Passing things like a hot potato... basically moving things along the data assembly line - roll call accounting
- A balance sheet is a snap shot in time
- Talking about the profit margin and where does that come in to play
- Small holes in the ice - things that are either gotcha's or thin ice (not all the way done)
- Some of the guys and gals were saying that we need - big dumb animal pictures - super simple instructions
- Accounts receivables - Think of that as they have your inventory or they have your endeavor (a promise to pay for something) - basically, they owe you money
- You have to know the story - sometimes the numbers tell the story but sometimes the story tells the numbers what they mean
- Liabilities and hidden liabilities - be careful there
- Hidden costs
- Payroll and payroll taxes - this is a huge sink hole
- Sometimes we can't do things due to the technology - as that opens up, we have more options
- Auto processing and calculating needed values in non-peak times that could then be available for other reports
- Fall backs, redundancy, auto-syncs, and re-syncs
- Turtle up, sometimes the servers will shut down and pull in their legs - kinda like a turtle protecting itself
- We need an all encompassing system to help steer the ship - think platform or system
- Owners - who holds the liability
- Steve - analogy of the tail wagging the dog vs the dog wagging the tail - who is in charge & which way do things flow?
- The owner needs someone who is a decision maker and/or gate keeper
- What is the game plan and do you have buy in?
- The POS (point of sales and inventory tracking part) is only a small part of the puzzle. Very small compared to the whole business realm (world).
- Abundant model - you have to imagine a line of people wanting your services and standing in line - next, next, next
- The backend - really, this is the pilot's cockpit and/or the driver's seat
- Absorption (in take) model & attributing sub costs over time
- Dustin - I want "this" (meaning adilas & underlying data) to argue with my boss, not me.
- I need a business tool & now I can run faster & better - thank you
- Net Profit - it comes from the P&L - one of the only connections between the income statements (P&L) and the balance sheet.
- Investment - how was this company funded and/or formed?
- Fracture - just having fun - it keeps doing it (fracturing) on its own... maybe let it keep going and play accordingly
- Change "backend office" verbage to the cockpit or balance sheet.
Towards the end of the day on day 4, we had a couple of power users show some demos and such. We had Josh do a presentation on my cart favorites and smart group buttons (tiered pricing). Drea made a suggestion that you make the pricing tiers as dummy proof as possible. They even pushed the ending values clear out to show a visual warning to the person using the buttons. The other major request was for this feature (buttons and tiered pricing) was dealing with allowing these buttons to be time sensitive for sales and promotions.
We also had Drea go through and show an inventory update and how she does a physical count and then an inventory clean-up. She would pull reports, export data, show/hide columns, add columns, print things out, and have her people go work. Then she showed how the system would take those over and short values and push them through an update PO (internal tool for updating inventory counts). Pretty cool. As we go along, we will need more clean-up tools. Clean-up tools make things look better and help to give users a peace of mind. We also talked about trust issues and how sometimes it is tough to trust and/or trust people. All of that plays into the mix.
My final note about the training sessions is that those who played with us, live and online, really had a good time and we all learned a lot. Good times, great food, and wonderful people. Inspiring sessions. If you want more details, check out the media/content pieces (notes, excel docs, scans, and videos for more info).
Tech support, emails, and more core concepts reviewing for the training event. I also have to present on the historical stepping stones and what we've learned over the years. That will be a fun subject. Good stuff.
|Shop 4001||merchant account||9/6/18||
Bryan jumped on and had a couple of questions. One of his clients wants him to create a new merchant processing options for a custom ecommerce site. Basically, this will be a new gateway of sorts. We also talked about some custom jobs and then the upcoming Denver training event. Bryan will be going with us out to Colorado. It should be fun.
|Shop 3964||Adilas Time||9/6/18||
Studying up on some core concepts and basics on world building. I have to present at the upcoming Denver training event.
Going over graphics on the teaching and training tools as a refresher. See https://www.adilas.biz/adilas_for_business/photo_gallery_full.cfm
|Shop 3961||Adilas Time||9/6/18||
On the morning meeting with Steve and Dustin. We merged in both of their code branches and pushed a few new files up to all servers. Calvin popped in and reported on his local hard drive and getting it recovered... good reminder for all of us to keep doing local back-ups. Alan came on and helped with questions and then he and I went over the Denver training schedule. Alan is doing some performance tuning on some of the servers and some of the most used queries. We talked about getting access to bigger data sets to run the queries against for testing and to see the real costs (against the database) with the bigger data sets. Small plans and talking about indexing certain tables, columns, and combo columns in the database.
Called and touched base with Shari O. about the Denver training event. She will be doing a couple of sections and also talking about who is covering food and snacks. She is awesome and wonderful helper.
I was working on going through new sales tax changes and making sure that new dynamic taxes 6-10 were playing into the different reports. After that, Steve and I met for a bit and talked about the Denver training schedule. We scratched some names into the correct spots for who was going to be presenting what. We also talked about some other topics such as sales, goals, and general direction. We are super excited to have some great people who have skills and are helping out. That is awesome.
|Shop 3999||ICS: task push||9/5/18||
Bryan jumped on the meeting and had a couple of questions. We got him going and he was able to run with the rest of the tasks that he had. Steve and Bryan touched base on a few things as well. Short but good meeting.
|Shop 3963||Eric Time||9/5/18||
Eric and I got on and worked on the special tracking accounts (sub of the balance sheet items for things like rewards, loyalty points, gift cards, etc.). Most of the session was spent getting systems updated and new code branches ready to go. There was some small tweaks that we needed to make between Windows machines and his Mac. By the end, we were good to go. He has been released to start coding and making notes on what else if needed. Basically, I setup a super generic file structure, and he will be going in and coding some the pieces and wiring it together. It is somewhat of an experiment. It should be fun.
|Shop 3960||Adilas Time||9/5/18||
Got on the meeting early to work with Steve and Alan. They were looking into some server issues with the data 5 box. Alan was on the box and Steve was browsing through the web. They were running checks and looking at things. Most of the corporations were doing fine, the problem was with one of the bigger ones. It seemed to be at the database level. If a super huge query was being ran, it was clogging up the queue to run other database queries. Alan ended up looking into temp table sizes, heap sizes, and max levels of memory that were available. He made some small modifications and we fully rebooted the server. When it came back up, it seemed to be running much faster. Alan then went to all other servers and adjusted database max levels to match the new settings. In a small way, this is just part of the performance tuning that needs to happen. Basically, you run into a wall, figure it out, and try to expand the corridor.
Shari O. popped in and we had to look into a small issue on the data 1 box. Alan was on the box and we had a table that had locked itself. We did some repairs and were able to get the table back up and running.
|Shop 3991||P&L report||9/4/18||
On a meeting with Bryan. We went over some server stuff and made some plans. We then spent some time looking at a custom code request for the income statement and/or the P&L (profit and loss statement). We first were looking at how to make a custom method call for the client. That would make us use a black box on the display and a virtual black box on the actual method (function to get the data). Both of those options dealt with a major file and report (the P&L). We talked about diverging from the master code set and black boxing such a critical report. If we went the full black box route, that report may end up being left in the dust if we change the master file.
Bryan called the rep who was working with the client and she was saying that they might want an option to either include certain vendors and/or exclude certain vendors. Because they wanted the option to be able flip/flop, we reworked our plan and decided to make the new functionality global and then just black box the search page. All other pages and pieces would be standard but we could make it look simple. The secret was making the new functionality global for all users and then just presenting it in a simple way.
Basically, the client could do exactly what we were doing, but they would have had to use the advanced report settings and physically entered some values. The new way allows for a simple button to virtually do the same thing but from a clean interface. Smoke and mirrors. Yee haw.
|Shop 3988||Meeting with Shannon||9/4/18||
Meeting with Shannon and Steve about a new possible role for Shannon working with the main adilas team. We started out and Shannon gave us a small report on little Hyrum and being a new mommy. Good stuff.
- Maybe help hide Shannon from the general public.
- We would love to have Shannon still help with some tech support stuff, but on a higher level. Kinda a upper level or overseer of sorts.
- We would like to have Drea keep doing customer support and news and updates. Drea has been very helpful with Metrc type questions.
- Light talks about tech support and even allowing a blog and/or forum to help users get answers to their problems.
- We have some people in place to help us out with some of the news and updates. We could use Benjamin, Drea, Dustin, and Janna.
- We could expand the news and updates into more of a tech support type level. Just an idea. This is a WordPress site and we could tie-in to that as a prebuild piece.
- Even with the WordPress blog, we still get a lot of spam that needs to be filtered out.
- We need some help categorizing, prioritized, and then delegating things out.
- Currently, both Brandon and Steve and not very proactive (due to our load). We could really use someone to help us become more proactive and looking where we want to go.
- Once we get a bank of questions and answers, we could then use that more as a response vs re-writing solutions after solutions.
- We would love to keep branching out to other business verticals. We are hoping to get a good team that could handle certain industry-specific needs and then allow us to keep expanding into different verticals and different industries. That would be really cool. As a side note, we do need people on staff that can play well in the different industries.
|Shop 3962||Eric Time||9/4/18||
Eric and I jumped on a GoToMeeting session and worked on the special tracking accounts. Most of the day was used doing layout and planning pages and flow. I was creating pages and adding notes for what the different pages will do and have. Once the main pages are outlined and pushed up, Eric will be coding the pages to the specs provided.
|Shop 3959||Adilas Time||9/4/18||
On the morning meeting with the guys. We started out with Wayne asking questions about payee/users and how they can and do criss-cross and how they can cross between corps. We talked about options and why we did what we did. We got in to migrating parts, items, and PO line items. We then has some conversation about splitting up databases, indexing, and other processes that could either optimize the data processing and data retrieval process.
Calvin and Alan popped in, they were working on labels on the content server. Alan helped Calvin wrap some of his code in a try and a catch. It was awesome and he was able to push the cfcatch variable. That allowed us to figure out what we needed to do to fix it. Super cool.
Steve and Alan - "We break things and then we fix them." Fun little saying.
Alan would like to rework the forgot password project. He wants to rework the security and how that process would work. He would like to beef things up a bit and make it more bomb proof.
Alan would also like to work with Wayne on breaking code into smaller blocks and working in a more MVC (model view controller) type model. Basically, making baby steps and making things into a more object oriented code base. Alan was talking about encapsulating and modularizing functions, data, and components. Lots of code reuse and minimal duplication. Question - Build new or build on what you have? We are leaning towards refactoring existing code vs re-writing new code. Adilas' goal is build as if for years.
We were talking about sub inventory and taking that whole new level and pushing it out into an object oriented model. We also talked about implementing Wayne's testing framework along the way with the new changes. The goal is trying to limit the number of times we are re-writing the same thing. We want to reuse code as much as possible. We talked about strengthening our foundation so that it could handle more weight and also allow for flexibility and fracturing, which will still occur, no mater what we do.
Light talks about black box code and who pays to keep it updated. There seems to be two different levels. There are critical updates and non critical (optional) updates. We need to figure out a standard procedure to deal with custom code and black box code. Sometimes, if we have a problem and we are forced to think about it, we can usually come up with a pretty good solution. If we wait too long, we are forced into emergency surgery and sometimes that is not the best approach. We want to be pro-active on our approach and on our development.
Steve and I were talking about some hanging projects... One is the invoice due dates and watching for outstanding receivables (David and Shari O. really need this). This was a Russell project that only got half baked. We need to finish it up. The goal there is for us internally, to be able to see what companies owe what and what the dating is. Then once it gets to a certain level, we could prompt for payment and/or be able to shut things off.
We also talked about how it takes a whole village to raise the upcoming generation. We are really trying to build the adilas community and adilas family. We have many talented persons who are playing the game along with us.
|Adi 1349||Cannabis Production Homepage||9/1/18||
Homepage for Cannabis Production
This homepage will provide views of current inventory, and allow all inventory to be processed and packages as desired.
All functionality currently exists however this page would speed up the process by completing the internal builds on the fly.
Notes from Molly - The general internal building process that I would like to see automated is:
Q1: bud or trim extracted to oil (one category to another- new item created)
Q2: product refined (possible new item created, possibly remain as the same item with an updated weight)
Q3: product tested
Q3: product packaged (new item created)
Q1: bud or trim extracted to oil(one category item to another-category new item created)
Q2: product refined (possible new item created, possibly remain as the same item with an updated weight)
Q3: product infused (new item created)
Q3: product tested
Q4: product packaged(new item created )
OrQ1: bud tested
Q2: bud packaged into many different items
Allow Parent and Child inventory to be produced together? Or separated? Or both?
Going through a small to do list of items to get done before days end. Pushing up some passwords, recording notes, closing some branches, and pushing up some code for Bryan on a small fix that we did earlier today. Paying bills, emails, and other tech support stuff.
|Shop 3987||White label||8/30/18||
Working on a custom templates and custom theme for a white label solution for ecommerce. We also spent some time going over some custom code requests. We have a client that got ahold of Bryan and gave him a whole list of wishes and wants. We worked on fixing one of them, the last half an hour of our session. It was dealing with auto filling balance sheet items from expense/receipts. Good session.
|Shop 3949||Eric Time||8/30/18||
Working with Eric on the special accounts project (sub of the balance sheet). This will be for things like rewards, loyalty points, gift cards, in-store credit, punch cards, etc. The task today was boiling things down into a small to do list. After that, I made a small clean-up function, wrote some new documentation, and started into the basic page layout and structure. Once that is done, Eric will take the project and start filling in code on the different pages and components.
|Shop 3935||Adilas Time||8/30/18||
Small pow-wow on what happened with the server hack, light debriefing and recap, where we are going, and how to push usernames and passwords to other developers. Making a small plan to push out resources to the different developers.
Calvin came in and we were chatting about the upcoming adilas training in Denver as well as bulk texting (GMext program) and text alerting (more strategic but smaller text messages). Lots of needs and options coming down the pipeline. One of Calvin's comments was the cost in multi texts is in the texts. The cost in alerting is in the code and how to make those triggers and where to place those pieces of code.
We also spent some time talking about the adilas label builder and how that will all play out. Calvin and I were documenting steps and processes to get it all rolled out. We spent a lot of time talking about the order process (what do you want), how we can assign it, how we then request it, and how to actually process and print that label. We also lightly talked about how to communicate back and forth between the different servers. Lots of moving pieces and lots of data going back and forth.
The end goal is to get a custom label solution that is owned and used by adilas for the adilas clients. We want to keep building onto the overall solution and/or platform. Sometimes, we have to build stepping stones and then try to link them together to make up the bigger picture. Lots of mixing and blending of pieces and concepts. Another interesting piece of the puzzle is the question, how are things being used? Sometimes the feedback that we get and when we can see the usage patterns, that is like gold to a developer. If we let our users, they will help tell and show us where we need to go and how to get there. They, our users, are a huge resource.
Emails, notes, and doing some clean-up from the day.
|Shop 3932||Adilas Time||8/29/18||
Got some reports that the data 1 server was having issues. The two reports were that it was not finishing the invoicing process on any corp and that a person could not edit a user account. I logged in and took a look at what was going on, sure enough, the invoice process was stopping part way through. It took awhile, but we found that the problem was the invoice history table. That table was tied in to both the add and edit invoice processes. Because we had ordered a full server restore, it was replacing tables with older data from a back-up. We also had a couple of people still on the server trying to put in new data. Just the way the tables worked, it created a conflict and was giving us a duplicate record error.
The other problem was the main user table. Originally, it looked like it had been hit as part of the server hack. We later found out that it too was trying to sync old data and new data and just needed a little bit of loving. In the meantime, we posted a temporary login page and added notes to it throughout the day as we found out new pieces and made small break throughs. It was pretty stressful on our side of the fence. I know that some of the clients, on their side, were stressing it as well.
Throughout the day we 7 or 8 of us here at adilas helping out. We had Calvin helping me on the servers and checking database stuff. Wayne popped in and helped us reset a number of things and do some looking around to see if we could see any other harmful activity. Alan popped in and helped us with fixing the database problems towards the end of the day. None of them were very straight forward. Steve was helping to coordinate who was doing what and testing with fake data to make sure things were flowing through. Shari O. and Drea were doing emails, phone calls, and text messages. I was digging through log files, working with the other guys, and back and forth with the server team in Arizona. Very busy day and it took the whole team to figure out different parts of the puzzle. I'm super grateful for their help.
Only the one server was down, but that was pretty crazy. Lots of lessons learned and it was re-restored, released, and pretty heavily tested by around 6 pm. We added a link to the main login page on that server to show a link of what happened and some notes from throughout the day. One of the most stressful things was wondering if the problems were part of the hack job or just circumstances of mixing old and new data from the restore from back-ups.
On a positive note, I would say that the biggest lesson for the day was - enjoy the learning process. Sometimes that is fun and sometimes not, but the cool thing is, if you enjoy learning, it will always make you better. Pretty cool. Long day.
|Shop 3990||Touching base||8/29/18||
Checking the server and sending around some emails to let people know that all was well.
|Shop 3945||Eric Time||8/28/18||
Eric and I jumped on a meeting. We spent the afternoon working on the special account tracking stuff for things like loyalty points, gift cards, in-store credit, punch cards, etc. Our task today was to build the database structure. I was mostly building things, while Eric was watching and working on some of the next pieces. Once we get all of the pieces ready to play, Eric will be doing most of the wiring of the pages. We created branch elt-2 for the new code.
Steve popped in towards the end after Eric left. We worked on some of his pages and talked about 3rd party solutions and how to help integrate with more of them that offer great functionality and customized solutions. Good ideas. We'd also love to keep up good relations with both Russell Moore and Calvin Chipman. Both are great developers and could bring some fun tools and features to the party. We'll have to see how things play out.
Emails and tech support stuff. Writing updates on the compromised data server from this morning. Light follow-up.
|Shop 3939||Adilas Time||8/28/18||
We came on this morning with a notice that one of the data servers had been compromised. Someone had hacked in and changed some file names and some background services. Basically, they, the hackers, change the files names so that the computer can't find what it is looking for. It doesn't mean that they take anything, it is almost just a calling card saying, hey, I've been in here... got ya. We have the server team working on things and will be resetting all access usernames and passwords.
Wayne popped in and we worked on some questions that he had with the sub inventory attributes and custom dates, numeric, and custom text values. That part of the system gets pretty deep. Good stuff.
General stuff. Recording notes, paying bills, and doing email stuff. Tried to do some back account switching for some of our automated expenses, like server bills and hosting fees, but don't have the new credit card info for the new bank account. Put in a request for the new card info. Made a few phone calls. Just general stuff.
|Shop 3986||cross corp||8/27/18||
Working with Bryan. We have had a request for being able to switch email addresses and contact info on invoices and quotes. Right now, most invoices and quotes pull in the salesperson info. The original train of thought was helping to make the invoices and quotes a virtual business card. We have done a couple of custom ones, where we switched out the salesperson info with company and/or location specific info or even static contact info. We are seeing more needs for this to happen, being able to switch what is being shown and/or presented. In response to that, we could add a new corp-wide setting that allowed them to make a switch between salesperson contact info and company/location contact info. That is a good idea.
Next, we talked about a company that is currently maxing out the flex grid and the number of custom fields (they are already using 15 custom fields). We talked about expanding that and what that would take. We also briefly talked about the concept of real in-line extensions and also sub attributes with sub inventory. We also talked about tying in the PO line items to elements of time. If you go that route, you have tons more options on the elements of time and subs of time arena. We have lots of tools and options. Sometimes it becomes tricky figuring out which ones to use and how best to mix and blend to get what you need.
|Shop 3952||Adilas Time||8/27/18||
Wayne popped in and we talked about database transfers between servers and how to handle duplicate records. We came up with a plan and he will be moving forward with the plan.
Eric and I setup some dedicated times to work on loyalty points and special account tracking. We are planning on 2 hour blocks for the next two weeks, from 1-3 pm, Tuesday, Wednesday, and Thursday. That will be good to get some dedicated times to work on things.
------ different topic -----
These were some other questions that I wrote on a number of post-it notes... we are just trying to get organized and figure out a better plan for handling all of the pieces that are coming in.
- There are so many needs
- There are so many new requests (new things)
- There are quite a few bug requests (old things)
- Who does the work?
- How do we inform them?
- What is the plan?
- How can we duplicate ourselves?
- How do we create the funnel type approach.... things come in, we record them, we organize them, we distribute them, we work on them, we can check in, get reports and put things to bed
- If I add to my to do list... it never gets done
- Who can I use and what are my budgets?
- How do you prioritize request, projects, and bugs?
- Who gets assigned?
- What do we want to be?
- What are we becoming?
- Who are we wearing out?
- How do we mange that?
- What are our goals?
- We need some help
- See a need... fill a need - I kept coming back to this... this may be the next step.
- Help people manage themselves
- I feel like I'm climbing with a dresser on my back - so many pieces, we need to simplify.
- What teams (people assets) do we have? How are we going to use that?
- I'm running and hiding...
- We need some help
- Kinda like facing giants
- Get the Lord's help
- Get some good help
- See a need, and then fill that need... make a plan!
- Focus on one thing at a time - it is hard to switch and transition.
- We may have to keep people at bay while we do things.
- Schedule it out and stick to that if possible.
------- meeting with Steve -----
- Departments and who gets what
- We sometimes have multiple people looking and checking on the same things. That is not effective and/or efficient. Say an email that is sent to Steve and I, we both look at it and then both respond. This is just one example.
- How do things come in? Do they start with support or do they start with a call to a rep or something else? We might need to start catching things and then funneling them around.
- There is not a book on "SaaS" Software as a Service. We are kinda faking it as we go. That is for real. Basically a pioneering project.
- Maybe talk to Shannon and see if we could get here back. Maybe have her come back in as a different role. We could really use an internal project manager of sorts. Maybe a higher or overall approach.
- We may need to use elements of time and create our own support system and/or support tickets. That could be really quick, now that we have some things ready and done.
- We would love to have a sorted tick list... What are the top 10 maintenance pieces, top 10 bugs, top 10 new requests, top 10 upcoming projects. Then keep rotating through that.
- We love the concept of the data assembly line... What about our new needs... We have done of data, tons of servers, tons of requests, tons of needs... how are we going to track that process and take the actions that are needed.
- We might need places where we have ideas, projects, maintenance, bugs, etc.
- We often talk about the burning platform... it is amazing as we keep going, the burning platforms get fixed, and then there becomes another burning platform.
- Steve and I need a shield to help us filter some of the outside static and/or noise. Once it gets boiled down, we could get a list of things to do and work on.
- We feel bad about not being able to get emails, phone calls, and texts. We are just getting too many. We may need a person to help shield us a bit there.
- Steve and I have thousands and thousands of emails and thousands and thousands of text messages. It gets too much for one person to handle.
- We are in the business of data management, storage, processing, and such. We need to help categorize things and help filter the number of requests that come in.
- Filters... We need someone to help us catch things and then basically boil things down into a manageable list.
- We need to be able to allocate resources as we see fit. There are always limits on people, talent, time, money, etc. We need to manage our resources.
- We have some guys that are top notch... We are seeing Wayne, Alan, Eric, Bryan, Will, Dustin, etc. They are all shining and showing more and more potential. That is exciting.
- We also have Shari O., Shannon, Drea, etc. on the tech support and customer care side.
- We will be working on a running list and trying to be more effective.
- We really want to reach out and have the people run and excel where they have skills and talents.
- We are going to be reaching out to and contacting some of our people. We have a great team... if we use that team wisely, that will open up options.
- Kinda funny, we use to ask our clients, where is your pain? Let's start there. We'll we have the pain now, so, I guess we start there and work forward. Yee haw!
|Shop 3934||Adilas Time||8/27/18||
On the morning meeting with Steve and Dustin. We had to check in on data 1 and do a server reset. Steve and I chatted about plans for using the managed care offered by Newtek (the server guys) and/or doing our own thing and allowing some of our people to remote in and reset the servers. We also talked a little bit about splitting up databases and the pros and cons of doing such (world building project).
Tons of emails and going through things. I've been gone for a couple of days and there were hundreds and hundreds of emails to go through. Lots of junk, but a few that need some attention.
|Shop 3984||Posting the training event flyer||8/22/18||
Created some graphics and pushed up some pages to allow people to start signing up for the Denver training event.
|Shop 3953||Meeting with Bryan||8/22/18||
Bryan and I hopped on a Zoom session. We went over a number of different projects and did a small question and answer session. We looked at his cross-corp mapping and application flex grid stuff. We recommended a few display changes and even a red light, green light, type approach to showing whether or not things were mapped. We also talked about multi payment stuff for a white label company. They already have a custom payment option on a one-by-one basis. They are looking into creating a multi-payment option similar to what we do for applying payments to multiple invoices through the existing adilas site. We also talked about a growing need to track who is clicking what my cart favorite buttons. We have some users that want to see stats and reports on who is giving what deals and discounts. All good stuff.
I also pitched an idea to Bryan that if he sees a need, pitch it back to us and he could pick up some more internal work. The key is making the pitch back to us. I told him that Russell was very good at that and we said yes quite a few times. We just need to see the value and we'll most likely say yes. Making progress.
|Shop 3983||cross corp||8/22/18||
Bryan and Molly jumped in and had a number of questions about both labels and mini conversions. Both of those topics are heating up and gaining more traction. As a side note, we are seeing more and more pressure from the outside state tracking entities. We are also seeing the need of for more cross-corp and/or internal mappings to help certain data fields (for example - sub inventory attributes) keep passing them along. Huge need for internal manufacturing, parent/child inventory, sub inventory, sub attributes, parent attributes, labels, and going clear out to mini conversions. All of this is fully connected and all of the pieces need to be there.
We are also seeing possible needs that will track the main quantity and main unit of measurement. We also need the mini conversion quantity and mini conversion quantity to be recorded. See the attached screen shot that shows both the main and the mini conversion values to both be recorded.
|Shop 3933||Adilas Time||8/22/18||
Calvin popped into the morning meeting. We are trying to talk and negotiate between costs and outputs. Some of the discussions had a light flavor between software vs web based. Both solutions are very viable but they do play differently.
Basic rates and such: For Calvin, we are going to be paying $100/month to help him get some reoccurring revenue for his multi FTP uploader tool and his MySQL editor tool. His current commercial rate is between $75 and $150. He is willing to do internal adilas work for $75. That may need to change in the future. We will leave that open.
We went over some short-term and long-term plans for building labels. It gets pretty complicated. We looked at some of the existing models and how they either play together and/or where they could go in the future. Lots of good conversations. We talked about pros, cons, Flash (animate cc), PDF, software, web, API, etc. We talked about fields, tables, mappings, custom sizes, verbage, and tons of other needs.
What angles could we attack this? What about a simple web-based interface where they could basically build the different labels. Name them, save them, and put in basics. We could then use that mock-up (that the users created) as the blueprint for actually setting up the label (a middle person who actually creates it). We could then use Calvin's backend tools to make and/or create the actual labels. Somewhere, we still need to interact with some heavy hitting backend code.
Idea... Go to the label homepage. They get to pick the label size (limited number), they pick where it comes from (source and/or host - 12 main players or web pages - limited number), they pick and build the label based off of data types and mappings (main interface). We allow them to set the mappings and also put in some sample data. We then allow them to save that (just the mock-up), and then we send that info out to the developer. Long story made short, Steve was talking about surfacing some of the building pieces and empowering users. Calvin said - Kinda like making a label order (key word is order - we still need to fill and/or make the order - actual product). That word, "order", was a big key that we got from our meeting. Make a label ordering system as a stepping stone in the process.
Budget wise, we are looking at another $10,000 on Calvin's side (backend code development) and another $10,000 on the user interface (label ordering side).
There are two main sides for labels. Consumer labels and commercial labels. We kinda need both.
Sometimes, Steve likes to break things so that you can come at it from different angles. If it is broken and/or up against the wall, sometimes you come up with other options and solutions.
Overall, a great meeting between Steve, Calvin, and myself.
Eric popped in around 10:30 am and we then started working on some planning for the loyalty points, rewards, gift cards, and special account tracking stuff. See attached for our latest database design and spreadsheet stuff. He is going to look through things, make a few tweaks, and then resubmit. We spent quite a bit of time talking about pros, cons, and even running fake data through the mock tables. Good two hour session.
|Shop 3981||Out of the office||8/21/18||
Promised to take my son and daughter on an outing before school starts tomorrow (Wednesday).
|Shop 3951||Adilas Time||8/21/18||
Working on the Denver training schedule and flyers. See attached for the latest version.
|Shop 3936||Adilas Time||8/21/18||
On the morning meeting with Steve. I was telling him how I had to unload yesterday and how Bryan was willing to listen. We went over a number of current projects and talked about the strategy for moving forward. Steve has been so good at helping us (the whole adilas team) see that we work as a team and it is ok to keep making small steps towards the end goal. I can't tell you how much his attitude helps all of us with the entire company. Still hard and crazy, but good stuff.
We talked about different developers and how they could help us push together and make progress. Certain guys, we may have them help us prep things vs doing the whole project from A to Z. We talked about how our relationships are going with some of the outside developers. We are really happy with the guys that are in there playing and trying to push things forward. We have some other guys that have some major skills, but they are harder to play with. For us, we are going to be focusing more on the guys and gals that want to play vs just the skill levels.
A comment made by Steve - "Our clients are adding pressure because they like what we have already done. They have confidence that we can add the new pieces and features and it would really help them. We are playing an active role vs a passive role in our clients business. They want to succeed and so they keep pushing on us to be faster, better, deeper, and easier. That adds pressure, but it is really people saying, we like what already exists and want more."
Eric popped in and we touch base about working tomorrow on the loyalty points. I then did some recording of notes and trying to express thoughts and feelings from the last couple of days. Towards the end of the session, I got back to the training event flyer and working on that project. Lots of moving pieces.
|Shop 3982||cross corp||8/20/18||
Meeting with Bryan on cross-corp mapping and working on the application flex grid stuff. He is making some progress. He showed me a demo of what he has done and we talked about next steps, goals, and vision. We even went slightly backwards and decided to take some things out and add some other things in other places. Light chopping and hacking and making some changes.
Towards the end of the meeting, I was getting a little overwhelmed with everything and spent some time expressing concerns and frustrations because Bryan would listen. Things such as: planning, lack of planning, number of projects, having to redo code, the depth and complexity of things, looping in all the custom stuff, losing time in transition, fracturing into subs (every level), lack of skilled players, funding, knowing what is coming down the pipeline (future projects), so many needs, time it takes to get things done, depth of what is needed, etc. It gets pretty deep pretty quick. We talked about how things keep evolving and the challenges that go with that. We talked about emails, tech support, requests, requirements, pressure, etc. How do you make it so that you (as a person) are protected and that the full application doesn't get smashed and/or squished, with you underneath it? That might sound funny, but it feels like a real threat.
After our meeting ended, I think Bryan could tell that I was not doing very good and pretty stressed. Bryan came over and just listened and talked with me for over an hour. Mostly, he was just listening and letting me talk. It was good to get things off my chest and virtually just dump for a bit. It also helped to put some of the thoughts and feelings into words and at least attempt to express what I was feeling. The biggest overall theme was a accumulation of tons of little things that feels like an insurmountable barrier. I felt better after we chatted. We really do have a lot of great things going for us right now. Count blessing, not problems... :) That will help. I feel kinda beaten up, but still standing. We will hit it again tomorrow.
|Shop 3947||Adilas Time||8/20/18||
Emails and working on the training event flyer.
|Shop 3941||Adilas Time||8/20/18||
On the morning meeting with Steve and Dustin. Alan popped in for a bit and gave us an update. We talked about the upcoming Denver training event in the first part of September. Made a few plans. Light debugging on Dustin's code and then on to other projects. Tons of emails to go through. Spent some time reworking a flyer for the training event. Steve and Dustin were working on their own projects most of the session.
|Shop 3980||Planning for the September, Denver, training event||8/17/18||
Spent some time trying to put together a training schedule for the September 2018, Denver, CO, event. We are going to be at the La Quinta Inn, there in Denver. It should be good. See attached for the first round draft of the itinerary.
|Shop 3943||Adilas Time||8/16/18||
Emails, tech support, and recoding details from the morning meeting with Wayne. Next up, working on the training schedule for the upcoming September adilas training event.
|Shop 3938||Adilas Time||8/16/18||
Jumped on the morning meeting. Steve and Dustin were on there and so was Wayne. Steve and Dustin opened up a Zoom session and worked on that. Wayne and I worked on a huge database field list with tables, field names, and mapping out of the foreign keys (database columns that link tables together in a relationship). We went over 4,000+ fields during our meeting. Most of the time was spent mapping out what foreign key values where and how they mapped to what primary tables and columns. We saw lots of activity in the payee (users and vendors) table as well as the corporations (worlds or business companies). Good session.
At the end of the session, Wayne showed me a sneak peak at a tool he is calling the Adilas Database Sync tool. It is a C sharp program that compares two different databases and makes sure that they are all synced up. I got excited on a few of the cool and creative features. Here is a small list. For more info, talk and ask Wayne for a demo.
- Super cool idea for comparing records... He would put all of the data together in a huge string (column value, column value, column value, etc.). He would then run a quick hash on that data. A hash makes a small 32 character unique code (really small amount for storage). He could then store that hash value. Then later on, when he was checking the data, he could put all the new data together and re-hash it. If the hashes matched (the two small hash values), no updates were needed and he could skip the record. If the new hash was different than the old hash, he would run the update that know what fields to update. This helps sync the data and also allows the system to skip something that doesn't need any changes. Very cool.
- He setup the whole thing to do non-destructive adding and updating based on using recursive functions (building logic as needed vs doing a, then b, then c). He also built in some options for taking care of the exceptions.
- This new Adilas Database Sync tool will have a huge time savings attached to it. Just a day or so ago, we migrated over 12,000,000+ records for a server to server migration. With Wayne's tool, we could set it up to do the sync even days before the actual migration process. It could run while you sleep and even run over days and days as needed. Then, when you are ready to do the final migration (deep pass over the data), most of the work would already be done and only new updates, additions, and/or changes would need to take place. That is huge. This also opens up possibilities of doing some mirroring and having back-up data servers. Very cool.
- We talked about using this database sync tool for doing for testing... We could copy over specific customer data, code against it, do the tests, and then go from there. Huge options.
- We briefly talked about Calvin's Auto Process Tool and custom code options there. Once again, both of these programs use server-side software to get major crunching power while still allowing for a normal web-based interface. Imagine what we could do if we built some connections between Calvin's auto process tool and Wayne's adilas database sync tool.
- We talked about how developing server-side software using something like C sharp is so much faster than web-based languages. We talked about how many levels of conversion the code goes through and/or does in order to run it... Imagine ColdFusion code being interpreted by Java and Java be interpreted who knows what, and that being interpreted into system or unit code, etc. You get the idea. There is also a huge difference in the timeout windows and how long process are able to run without manual and/or user interactions.
- We could schedule out long running tasks, report, exports, and/or other tasks. We could get away from web session timeouts. That would be awesome. Sometimes it feels like we are trying to fit the whole world through a revolving door (analogy of trying to hit the web timeout rules).
- We could also use some of the C sharp tools to flip indexes and database column level defaults. Some of these things are text fields currently set to latin 1, could be changed to UTF-8 format. We could change default dates and times from default dates of 0000-00-00 to 1990-01-01 (a real date value vs the generic placeholder) and default times from 00:00:00 to 12:00:00. Once again, we could skip all of the web session timeouts and just get the job done. All good things and it could be done very quickly with minimal clicking and babysitting. That is where the value lies. Good stuff.
Looking forward, I'm not sure what the future holds, but I'll bet that it will have both web code, server-side software, API sockets, and other hybrid type solutions. Each thing is good at a part of the game, we just need to mix and blend as needed to get the different jobs done. Exciting times ahead.
|Shop 3950||Adilas Time||8/15/18||
Tech support, emails, and checking on default dates and times. Some of the old code set default dates to a value of 0000-00-00 or a time of 00:00:00. Newer versions of MySQL database don't allow for those placeholder dates. Changed a bunch of values to be real dates but still generic default values.
|Shop 3978||Custom server migration project||8/14/18||
Wayne, Steve, and I worked on doing a custom data migration for 21 corporations. We prepped things, grabbed all of the custom code, images, scans, look and feel pieces (logos and watermarks), and migrated over 12,000,000+ records. All of that info and data was migrated to a new dedicated server. We had one database table that gave us problems. We ended up splitting it into multiple smaller pieces, in order to get it to migrate correctly. Good combined effort. Long night.
|Shop 3979||Working with Bryan||8/14/18||
Working with Bryan on the application flex grid flow and logic. We were going through concepts, ideas, and making notes. Still in the light planning stage but making some good progress. Towards the end of the session, Steve jumped in and we had some good discussions. Part of the process is dealing with a step-by-step approach and/or adding hand rails to the setup.
|Shop 3948||Adilas Time||8/14/18||
Working with Eric on rewards stuff and loyalty points. We went through a bunch of ideas, concepts, and scenarios. See attached documents for some rough plans and brainstorming. Still in the planning phase.
|Shop 3931||Adilas Time||8/14/18||
On the morning meeting with the guys. Bryan and I used up the first 45 minutes wrapping up where we were at on the application flex grid planning. Wayne popped in and reported. He has been sick for a few days/weeks. He will be helping out with a server to server migration project later tonight. We also talked about an existing project of inter-migrating data between two fully running servers. That is very deep and is actually a C sharp project (server-side software). Very deep.
Steve and I worked with Dustin and tried to help him on his mapping and custom dynamic settings page. We had to go back in time (on the code) and look-up some older values. They still existed, they had just been renamed and it made it hard to figure out if we were still talking and dealing with the same pieces.
Steve and I talked about how in-depth it would be to do a full server to server migration while the systems are up and being used. We went clear back to a project (world building) that started with Highland Vineyard and wanting a full duplicate copy of a corporation so that an older owner could have their data and the new buying company could have their own data. We have had a need here for a long time. It is totally unknown and might end up being a super huge project ($150,000+ level).
At the end of the meeting, Eric popped in to work on the loyalty point and such. We are going to get back together after lunch.
|Shop 3977||Planning Application Flex Grid Stuff with Bryan||8/14/18||
Bryan and I got on a GoToMeeting meeting session and worked on the planning phase for the application flex grid stuff. We went in and looked at the developer's notebook and did some light research. We then jumped in and looked over code that Will had written to help do cross corp transfers of invoices to PO's. We looked at the permissions, the request and grant access options, and then into the look-up and actual meat of the transaction.
We spent most of our time talking about what is needed and how we want the process to take place. Lots of planning and documenting. Bryan has the file where we are making the plan and doing the prep work. Good progress.
|Shop 3976||cross corp||8/13/18||
Talking with Bryan about cross corp mappings and PO/Invoice manifests. We also talked about Amex API's and starting a profile and then adding someone to the queue. These are all some basic projects that Bryan has that are either current and/or up and coming.
We looked at the old cross corp code between invoices and PO's. The old code was fully based on matching text based values. This works to a certain level. Where we need to head is allowing cross crop mapping and allow for variations and dynamic mappings. It needs to get away from hard text matching into actual id mapping. If you map to the id's, the text means nothing and it becomes easier. Steve kept saying that we want to slow down the existing process and allow for the users to help pick and point to different things along the existing process. That means we need to re-work the process.
I think it is so interesting that we are seeing a huge need for more and more cross corp mapping and application flex grid stuff. Pretty cool and crazy to see where things are headed.
We are seeing more and more needs to be able to add mappings and settings, inside of existing corps, even between corps, to help speed up the data transfer process. This could be from parent organization to child organizations or from vendor/manufacture to sub distributors and/or retailers. People need to move data from company to company and system to system. The better we can map things across those ranges, the better we can play the game. I think it is time to at least start working on the application flex grid stuff.
|Shop 3942||Adilas Time||8/13/18||
Calvin, Steve, and Brandon were on a meeting talking about using Calvin's tools and products. We talked about some existing pieces, ideas going forward, and even some future or vision stuff. Great meeting and making some progress. We plan on having a similar meeting with Eric to get some good open conversation happening. Both developers are some of our power house developers. They are very good and are super busy. However, they are so good, that our internal projects get pushed way down the priority line. We are planning on setting things up with them so that is it more on a straight work for hire or commercial basis vs long drawn out projects. Basically, doing a focused sprint vs a long multi-unknown, multi-variable project that is under funded and under managed. If we help them be more efficient, we will be more efficient. Making progress.
|Shop 3930||Adilas Time||8/13/18||
Met up with Steve and Dustin over the morning meeting. I was prepping things for a big data migration between servers. Dustin was working on his settings page. We went over some options and goals for his current project and worked together for a bit. Later on in the meeting, Steve was asking a report about labels and what is going on there. I made a call to Calvin and got a small update. We decided to meet around 1 pm to chat and talk about progress.
After that, Steve and I got on a phone call and talked about where we are going and some internal direction for how we want to deal with developers, budgets, and developer rates. We are seeing that some of the high-end developers are doing the external jobs for a much higher rate than we can offer internally. That is awesome if they get the work. Not so good for us, because our projects get lowered on the priority scale. By us paying them monies that they haven't even earned yet, we may be hurting ourselves. Imagine if you had monies coming in and adding up for work to be done, but you knew that it was less per hour. It then becomes a pain in order to get back to that because you know that the net value of that money is less than what you could earn somewhere else. It almost becomes a thorn in your side vs a positive pick-me-up. Anyways, we had a good conversation and tried to come up with some plans.
We have two bigger, higher-end developers, that we may need to pay their normal commercial rate and stop sending them residual monies. Kinda refactor things and help them fly at there normal commercial rate. That may help get our project back to the top of the priority pile. Interesting concept.
|Shop 3929||Brandon will be checking in||8/9/18||
Checking in on the morning meeting. I have been out of the office most of the week. Steve and I chatted this morning about the need for new independent developers and getting people into the mix and into the family. There is a real need there. We then merged in some code from his branches and pushed up files to all servers.
Looking over ideas for loyalty points. Lots of good info on element of time # 3778 in the adilas shop.
What is a liability? What are the differences between real and phantom values? We need the values recorded for both real and phantom, the difference is how firm and/or fixed the liability is. Steve mentioned a term called a "shadow account" (that exists, but may not be fully tangible). We also talked about how it is the actual company that is creating these phantom and/or shadow type liabilities. That kinda changes things... it is the company creating their own liability based off of a point system to encourage customer loyalty.
There seems to be two main part of the puzzle. How many points (ins and outs) and what is the value of those points? Lots of balance sheet transactions.
Simple to more complex transactions... simple gift cards or simple gift certificates, basic loyalty points, punch cards, in-store credits, coupons. As a fun side note, some of these transactions are subs of the balance sheet. Kinda like sub inventory but on the balance sheet side. Maybe we need to think about how the transaction takes place. Is there already cash on hand (paid in advance)? or is it just lowering the total owed, like a form of a discount? Who pays for what? What about coupons that a manufacture pays for or pays a part of?
On the main balance sheet items, we may need another switch to help us know if this is a main account and/or a sub account. We may also need to know if the asset, liability, and/or equity account is real or phantom (shadow). This is kinda fun, but we are seeing a fracture that is needed in order to record the balance sheet items. Everything is breaking into sub accounts.
Going back to discounts and special discounts... do we apply the discount to the cart/invoice on a whole or do we have to re-distribute that discount back through the system?
On a different note, we had a request from a client to be able to permission and/or fully turn off standalone discounts. Also, we are seeing that taxes make the discounts more complicated. We have options to do both in-line discounts and/or standalone discounts. Things get really fuzzy as you try to tax, especially with excise taxes and taxing things at the different levels (per item category, per customer type, per inventory type, etc.).
We had a great talk about "bad debt" payments. Don't worry about the words (verbage), think about the concept. That helps to satisfy the invoice (monies owed to us), the taxes are fully correct, but it is then showed as an adjustment to revenue (rewards, coupons, loyalty points, etc.) on the income statement. Both coupons and loyalty points are similar. It is the internal company basically saying "I'm going to cover that part of the invoice". We claim that that invoice and/or ticket is x dollars and has y amounts of tax. We then cover the invoice by real monies and/or monies that mean something, but no real money changed hands. Look deeper in this. The main difference is the verbage between bad debt vs rewards or loyalty points.
Maybe we should add some new standard payment types such as: Rewards, Loyalty Points, Coupon, In-Store Credit, Gift Card/Gift Certificate, etc.
We are seeing the need for a good mix of user-maintained pieces, system-maintained pieces, and possibly some mixed-maintained pieces (user and system). We are seeing this in the watchers, feeders, standalone declarations, time templates, settings, etc. We need to let them play where they can and need to, but also make sure they have the tools and pieces to get the job done, even if we control the pieces behind the scenes.
Eric would like to check in on loyalty points around 11 am for a couple of hours. He texted me and said that he was unable to meet today due to some things that came up. So, in the meantime, Steve and I had a great discussion and made some good breakthroughs. Good stuff.
|Shop 3928||Brandon out of the office all week||8/6/18||
Out of the office for vacation and family reunion on my wife's side of the family.
|Shop 3927||Brandon will be checking in||8/2/18||
|Shop 3882||Brandon out of the office all week||7/30/18||
|Shop 3897||Loyalty Points with Eric||7/26/18||
Fixing preset negative my cart favorite buttons (manual preset discounts and bogo's (buy one get one) deals). Then another session on smart group buttons. Ended up calling Alan and we went through thousands of lines of code. It came down to two or three lines. New code was pushed up and multiple emails and text messages were sent out.
A small history on what happened… Last night we had a report of a funky calculation that doubled the taxes. We fixed it for the updates. What we didn’t know was it unfixed it for the negative add process with tax included. So, as soon as we got that notice, we fixed the new error that we created. Long story short, there are multiple ways that things come and go into the cart. They could be positive coming in, with tax included, normal taxable, no taxes, auto discounts, customer or no customer, updated manually, flipped to a negative, preset to a positive (normal button), preset to a negative (normal discount button), etc. Lots of moving pieces.
|Shop 3885||Loyalty Points with Eric||7/26/18||
Eric and I were supposed to be working on loyalty points and gift cards all day, but we had to postpone due to other pressing issues. I spent the first part of the day merging in files and pushing up new Metrc changes (state compliance API socket stuff) as well as some new general cart/invoice rounding pieces. I then went in and started following an error that was recently added with a target price and a thing called with tax included.
I was following things around in code and then Bryan popped in. He helped me and we tried tracking down some of the new changes. Lots of moving pieces. The biggest issue was keeping track of positive and negative values. For certain things, we needed the values to be positive and then for others we needed to either force and/or allow things to go negative. Pretty deep. As a side note, Bryan and I ended up making a call to Alan who help us out (help, Alan, we can't figure it out). We made some changes and pushed up the new code.
Once we finished with that project, at least we thought that we had finished, we started talking about cross-corp mappings and application flex grid stuff. Bryan and I spent a good half an hour or more going over ideas, concepts, scenarios, and working with sample data in Excel. In the most simple way, cross-corp stuff is like saying x = y, and then you fill in the gaps and/or replace x and y. This could be part categories, invoices to PO's, expense types, or even adilas records to QuickBooks records (cross-application or cross-system mappings)
- talking with bryan about cross corp mappings and application flex grid stuff - lots of drawing, scenarios, and sample data in Excel
- we got told about a new bug with negative my cart favorite buttons being used... similar tax rounding issue.
Following code logic in the update cart page. This page is the first line of defense as a shopping cart is submitted and/or updated in any way. We had some general cart/invoice rounding logic way at the top of the page. I ended up moving it down lower and even trying to help it do the main page functions before any rounding calculations were done. It got kinda tricky as we were switching between local variables and more global session values on a per user basis. Making progress.
Bryan and I were working and going over some existing code for the cart/invoice rounding feature. This deals with the cart/invoice on a whole. We have been working on this project for the past couple of days. We keep getting closer and closer and pushed up some new changes today. We only tested things on data 6 but have plans to push code to all other servers very soon. The only current problem deals with exchanges and doing negative invoices or returns. There seems to be a sales tax bug that only shows up under certain scenarios. Those are the hardest ones to find and debug.
|Shop 3896||Adilas Time||7/25/18||
Uploading a number of new files that Wayne has been working on. Some of them required us to login to each server in order to set up some sub folders to put the new files in. There were about 63 new files and we had to push them to all live servers manually. Light tech support and emails.
|Shop 3880||Adilas Time||7/25/18||
Spent most of the morning meeting doing tech support and helping Steve and Wayne merge in some new code. Wayne Andersen is taking some our older code and turning it in to more object oriented code and script. Steve and I were looking over things and drawing up analogies to help internalize some of the new changes. It is kind of the old school meets the new school on tactics and logic. We looked at code and tried to digitally diagram and talk about what was doing what and what options that brings to the table. Kinda interesting.
I got a call from the Utah Workforce Services and they had some 1099 questions about tax year 2017. I spent some time getting them info, PDF's, numbers, and contact info for our independent developers.
On a phone call with Russell. We were talking about possible options for making an adilas community and an adilas open source app and/or apps. Lots of potential and good stuff. We will be talking more about that later on. I also spent some time wrapping up the day and recording notes. I'm kinda excited that today is the first day that as soon as I add some notes to my element of time (daily entries), they automatically shows up in the developer's notebook section. That has been a dream that has taken years and years to realize. Pretty cool. Yee haw!
Met up with Bryan on a GoToMeeting session to work on cart/invoice rounding (as a whole or on the cart as a whole). We mostly were working on cascading new rounding display options through the 5 custom shopping carts that are available by default, inside of adilas. As we coded them, we were chatting and talking and then testing the custom carts in the different modes. We should be able to finish this project up with one more focused session. Getting close.
On a different note, I mentioned to Bryan that we are headed to Denver in September 2018 for a week long training course. I offered him to go with us to help and we could pay him $1,000 to go and help. We also talked about some other fun things that we could do, there in Denver, while we are out that direction.
|Shop 3903||Adilas Time||7/24/18||
Alan pushed up some code for in-line discounts and dollars off for invoice line items (discounts after the fact in invoice land). Going through the code and checking things out. Made a few changes and pushed live up live.
|Shop 3877||Adilas Time||7/24/18||
On the morning meeting with Steve and Dustin. We mostly worked on our own projects. I was pushing up some code and changes for the adilas developer's notebook project. I made some small navigation changes and tried to make sure that the pages could be viewed with both a valid login (set session look and feel) as well as just normal generic look and feel. I then spent some time looking around and browsing some of the older entries. Talk about a trip down memory lane. Good stuff.
Working with Bryan over a Zoom session to figure out the cart/invoice rounding pieces. We checked some code, did some merging, and then started to work through the process of taking code on a single black box page and trying to integrate it with the main system and make it global for all users. We got the initial part done and then ran into some errors while testing. Spent some time going through things on a tighter level. We had to stop because we ran out of time. We'll hit it again later.
|Shop 3894||Adilas Time||7/23/18||
Back working on the final stages of the developer's notebook project. Looking over code, signing off on things, and getting ready to push things live. This project has been years and years in the coming. Thanks to Shannon and others, we have notebook entries that have been typed and digitized since the very beginning. Once we open this section up, there should be 5,000 to 6,000 historical entries from past notebooks, brainstorming sessions, meetings, and other planning sessions. Tons of great material. It will also be cool that we can search web ready elements of time from multiple corporations at the same time. No login required and ready for web crawlers to index and archive. Exciting.
|Shop 3888||Adilas Time||7/23/18||
Jumped on the morning meeting with Steve and Dustin. We briefly talked about some topics for the upcoming Denver training (9/11 to 9/14) Some of the recommended topics were things like: new cultivation processes, production and packaging processes, Metrc Specific topics, new sales tax stuff, new discount stuff, normal and advanced POS (point of sale) stuff, ecommerce, my cart favorite buttons, sub inventory, labels, loyalty points, etc.
We also talked about getting the graphical homepages into place and even starting with sales tax and invoice homepages. We would also like for the adilas developers to be able to present to us while in Denver... (merging in technology and live classroom stuff).
People who could help out: Cory from Pagosa Springs, Kelly Whyman, Steve Mitchel, Shannon, Russell, Alan, and other adilas developers.
After talking, we broke into a work session type scenario. We were all working on our own projects. I went back to working on the developer's notebook stuff and showing the historical listing of elements of time (for web indexing and web crawlers). We got back together for random questions throughout the morning session.
|Shop 3970||Working with Alan on cart logic||7/20/18||
Working with Alan on some cart logic. We also checked on some random bugs dealing with sub inventory and passing values off to Metrc for API socket connections. We got it all done and did some testing. It appears to be up and good to go. Great job Alan... you saved the day! Yee haw.
|Shop 3901||Adilas Time||7/19/18||
I called and talked with Alan a few times and then I got back on the GoToMeeting session with Steve. We rehashed a number of the earlier discussions and tried to poke holes in our plans. I was going through and writing examples out and then trying to beat them up. Basically, we had a plan, but it still had some cloudy parts in it. Our/my goal was to get a better picture of what we needed to do and what would work the best. After the meeting, I called and relayed some of the info and findings to Alan who was going to be doing some of the coding. It took a little bit, but I think that all of us are on the same page now. Hoping for some good work time tomorrow to get things back in order and fully set right.
This is a side note, but I sure can get flustered pretty easily. I'm working on it, but sometimes it gets the best of me. Oh well, life goes on.
Met up with Bryan and we chatted a bit about some of the existing options. We spent a few minutes and talked about using a receipt printer to open a cash drawer and some interesting things about the cart/invoice rounding pieces that we are trying to do and make.
I feel kinda bad, Bryan has been trying to get an appointment to merge in some code for the past three days. Each day, we've been hunting down bugs and doing emergency fixes. We will have to wait till next week. It is a good thing that "there will still be time... " (quote from 'Goose Girl' by Shannon Hale).
|Shop 3883||Adilas Time||7/19/18||
On the morning meeting with the guys. We had a number of random emails and tech support requests come in from last night and this morning. We spent most of the morning session brainstorming and talking about options and what we could do to help track things down. We even invited Shari O. and Drea into our meeting and got some of their feedback. They have been helping out with tech support and what not.
We determined 3 main things that were problems/issues. They were all dealing with rounding errors, tax rounding, and cart/invoice rounding. The other common thread was a tax category called "with tax included". What that means is we have to back into a known target (certain dollar figure) and then adjust the price and the taxes to perfectly match that target value. That may not see very hard, but it gets crazy tough in the backend. We did test after test, took notes, talked about options, and came up with a light plan.
Most of the coding was done by Alan Williams and myself. The others were mostly sounding boards, consultants, and extra sets of eyes. We demoed the cart/invoice rounding and the potential there. We also came up with a plan to help on the line item level and how to control the rounding. Alan had to switch some of the business logic around to make it work.
By the time the morning session was over, I felt pretty beat-up and thrashed. In the mean time... more emails and phone calls were coming in asking about updates and timeframes for getting things fixed. At the time, it felt pretty overwhelming with just a small hint of a plan. I'm so grateful for other players who helped shoulder some of the load and responsibility. Good stuff.