Chicken Tracking with QB
Here's my latest cause for Quick Base celebration: A while back I made a Quick Base app for tracking my flock of chickens and supply inventory, but just incorporated RFID scanning to help move toward automatically tracking egg production instead of manually tapping URL formula buttons. Very much still a work in progress, but here's what it does so far and how it works: The app keeps records of what chickens are in the flock, egg production, store health records, supply purchasing/use, and a journal to write entries about any or all of the chickens. One night I was browsing my favorite overseas merchant website and came across these leg bands for fowl that contain an RFID chip. They were about $.27 a piece, so I bought a bunch, and a cheap USB RFID reader too. I created a table of all of the RFID tags, and a table for scanner entries, and linked each chicken to an RFID number, so that when one was scanned the entries table would "know" who the chicken was. Then I needed the scanner to be in a stationary place ready to scan anytime, so I wrote a little Python script that sits and waits for a scan, and when it detects one creates a record in the entries table using the Quick Base API. I decided to put the scanner in the nest box to find out who was laying eggs and when. It's also a confined space where I thought I'd have the most luck with the RFID system, which is the low-frequency passive type (chosen because they're cheap and don't require batteries or charging. The trade off, however, is that they only get scanned when they are close enough to receive power from the scanner). After hiding the scanner under some straw on the side of the nest near where the banded leg would be, the Raspberry Pi was put outside of the nest on a nearby shelf. With everything set up, connected to the network and seemingly working, it was time to put the bands on the chickens: Over the next few days of anxiously awaiting email notifications of scans, I finally got about 40 one morning over the course of about 45 minutes, all from the same chicken. I've had some luck so far, but have been looking into a more powerful scanner that would ensure scans without the RFID chip needing to be so close to the scanner. (Since putting in the scanner I've also found a couple of bushes the chickens have been laying eggs under since they have the run of the yard in summer, but with winter coming they should be laying more inside). I'd also like to add more scanners in various locations, but that may depend on what can be done to find a scanner that could read at a longer distance. I also need to find a better way to display some of this data, especially if its coming from multiple scanners. I'm thinking a summary type table that would group by location and calculate duration to show how long a chicken was in a given spot over the course of a day. A way to detect if an egg is actually laid, and automatically log that in the egg table for the correct chicken is also a future addition once the best way to do that is figured out. Ultimately, it'd be cool to have scanners that could also track various spots to get an idea of how they spend their days, and know when they're all inside for the evening and automatically close the coop door for the night. If anyone has any ideas about any of this, or experience working with RFID or Raspberry Pis and Quick Base, I'd love to hear about it! ------------------------------ steve. ------------------------------92Views11likes13CommentsExample of SaveBeforeNavigating
Just came by to say it's verking! I am filled with so many happy's. "Builders can now use a new CSS class ( SaveBeforeNavigating ) inside of a formula-rich text field so that Quickbase saves the record before navigating when this setting is used. Note that only one of the above workflow classes is supported per formula-rich text." Example code of a button: var text btnName = If(Contains([Egnyte_Link_Text],""),"", If([Email Payroll Trigger],"Email Sent","Send Dispatch to Payroll")); //URL var text urlOne = If(Contains([Egnyte_Link_Text],""),"",If([Email Payroll Trigger], URLRoot() & "db/" & Dbid() & "?a=API_EditRecord&rid=" & URLEncode ([Record ID#]) & "&apptoken=&_fid_369=0&_fid_370=\"\"" & "&z=" & Rurl(), URLRoot() & "db/" & Dbid() & "?a=API_EditRecord&rid=" & URLEncode ([Record ID#]) & "&apptoken=&_fid_369=1&_fid_370=" & Today() & "&z=" & Rurl())); var text urlTwo = URLRoot() & "db/" & Dbid() & "?a=dr&rid=" & URLEncode([Record ID#]); var text url = $urlOne & "&rdr=" & URLEncode($urlTwo); //Style var text style = If(Contains([Egnyte_Link_Text],""),[styleGrey], If([Email Payroll Trigger], [styleGrey],[styleEdit])); //Target var bool popup = false; var text target = If($popup = true, "target = _Blank ", ""); var text title = "Click button to send Dispatch to Payroll"; //*****DO NOT EDIT BELOW THIS LINE***** //HTML "<a class='SaveBeforeNavigating' title=\"" & $title & "\"style =\"" & $style & "\"" & $target & "href=" & $url & ">" & $btnName & "</a>" //Syntax end ------------------------------ Jim Harrison transparency = knowledge + understanding : The Scrum Dudes ------------------------------31Views1like0CommentsHappy Retirement Kirk Trachy!
Hello Quickbase community! We wanted to take a moment to recognize a very important member of our Quickbase community. After 16 years of helping hundreds of people leverage Quickbase to solve a host of business problems, Kirk "Magic Buttons" Trachy is retiring at the end of the year. For those of you that have met Kirk, his passion and enthusiasm for our product, and our customers, is instantly palpable. If you have not met Kirk and you want to better understand the tremendous impact he has had, there are two places you should look. The first place is the app exchange. If you search Kirk's name, you'll find 50 applications that have been downloaded over 40 thousand times. Thanks to some work by Ellie Ellerman, we know that there are over 1700 currently successful apps in our community thanks to those templates. The second place to look is YouTube. Over the past several years, Kirk has submitted dozens, if not hundreds, of videos walking builders through a wide array of building tip & tricks to solve their unique business challenges. Kirk has played an oversized role in our community. If Kirk has helped you become a better QB builder, please share your thoughts/well wishes here in the Kirk Trachy Retirement Guest Book app that members of our awesome partner community put together. If you have ~8 minutes to spare, hear from some of Kirk's peersin this awesome tribute video Thank you! ------------------------------ Freddie Sabbs fsabbs@quickbase.com ------------------------------24Views3likes0CommentsRich Text - Formula Fields are pretty nice.
This is fantastic! That underlined bit down there all appears to be functional. Note the OpenAsPopup must be first, if SaveBeforeNavigating precedes, it doesn't work. Rich Text - Formula field example: var text btnName = "+ Child Records"; var text url = URLRoot() & "db/" & Dbid() & "?a=showpage&pageID=34#" &[Record ID#]&"&"&[Related Records]); var text style = [styleAdd]; var text title = "Add Record Button"; //*****DO NOT EDIT BELOW THIS LINE***** //HTML "<a class='Vibrant Success OpenAsPopup' data-height=600 data-width=600 class='SaveBeforeNavigating' data-refresh=true title=\"" & $title & "\"style =\"" & $style & "\"" & $target & "href=" & $url & ">" & $btnName & "</a>" [styleAdd] is a Quickbase variable in the App Properties so you can style all the buttons in all the tables in all the forms once. Here's the variable: display: block; width: 130px; text-decoration: none; text-align: center; padding: 8px; font-size: 12px; color: #ffffff; border-width: 1px; border-color: #777777; border-style: none; border-radius: 3px; background-color: #6BBD57; It makes a green button just like a QB button but in a form. Imagine a Button on a form, Form properties have the "alternate name" = blank. Fields on the form can be changed before clicking the button (no more Save & Keep Working!!! No more losing changes!!!). When the button is clicked, the code page loads in a 600X600 popup window and the code runs (not in a browser tab!!!). When the code is complete, a JavaScript alert in the code page prompts the User the code is done and closes the popup window. When the popup window closes the Form saves and reloads!!! Example: A checklist table with a generic checklist. A new record that needs a checklist. The checklist added to the new record is related to the record and therefore its own checklist. The checklist is not "related" to the generic checklist table. The benefit of this process means changes to the record-checklist will not affect the generic checklist records nor other checklist records. All I need to figure out now is how to style the js alert() so it is consistent with qb alerts. Thanks Quickbase! These class changes have given Users much better flow to their daily processes. ------------------------------ Jim Harrison transparency = knowledge + understanding : The Scrum Dudes ------------------------------23Views2likes0CommentsArchiving an Application
Hey guys, I just wanted to share a desktop application I created that archives records. Original this tool was built for users who were looking to migrate off Quicbase and needed their data preserved. Quickbase offers to export data as a spreadsheet or xml file; but oftentimes this export the data is not human-friendly. You can see a sample PDF of what this thing outputs, on the link below: http://paultrimor.com/paulncks/quickbase-pdf-archiver/ If you are a Developer and would like to contribute This project is open source and I do not intend to make any profit off of this tool.My vision is for non-technical users of Quickbase to comfortable of using the tool. paultrimor/Quickbase-PDF-Archiverhttps://github.com/paultrimor/Quickbase-PDF-Archiver ------------------------------ Paul Trimor ------------------------------21Views0likes0CommentsCalendar Report
Hello, I need help with quickbase calendar report. I currently have a field called start date which has list of companies. I have a another field called frequency which is multiple choice field consisting of daily weekly semi-monthly and monthly. I want to have calendar show the records which falls in the freqency range from start date. Can it be achieved in quickbase? ------------------------------ XYZ XYZ ------------------------------20Views0likes4CommentsCenter For Community Alternatives: QB and Human Services
One of the most powerful aspects of Quick Base is its ability to wrap around your workflow and be customized to what matters most to your organization. For one of our customers, the data being collected, and reporting produced is critical for a greater cause: the livelihood and success of the people enrolled in their human services programs. Michael Pasquale, Director of Program Quality Improvement at the Center for Community Alternatives, has been leveraging Quick Base to make an impact in the non-profit human services sector, enhancing his organizations data management workflow and reporting capabilities. “The mission of the Center for Community Alternatives is to work with individuals who have been involved in the criminal justice system, or the juvenile justice system, and provide them with the services that they need to effectively reintegrate with society. Individuals who have a criminal history number in about 70 million across the country.” While oftentimes overlooked and lacking resources to achieve positive outcomes, the data on this population and the ability to report on program success plays a major role in the longevity and impact of an organization like the Center for Community Alternatives. “When you think about the adults in the United States, that 70 million represents about 1/3 of the population. That’s about as many people as those who have a bachelor’s degree. These are folks who are members of our community, who are facing some significant barriers because of their involvement in the criminal justice system for whatever reason. We provide both jail-based and community-based services to those with an incarceration history or an arrest history and our goal is to help them engage in the workforce productively and stay in the workforce.” Prior to Quick Base, the CCA was faced with challenges of data input and consolidation. Time consuming practices and scattered data sources played roles in disorganization and extra steps in data management. Various Access databases, spreadsheets, and paper files were culprits of a cumbersome, antiquated system, resulting in a loss of time and effectiveness. Mike leans on Jennifer Schafer, the primary Quick Base builder at CCA, to overcome these challenges through QB apps. “The Department of Labor requires us to use an electronic MIS tool in Microsoft ACCESS for one of our grants. Unfortunately, this tool doesn’t include many of the questions that CCA would like to ask so I recreated it in QB and added tables to track additional education, employment, and other case management data.” Says Jennifer Schafer, the primary QB builder at CCA. “I had to add a formula field for each “MIS” field in QB so I could convert the text answers to numbers or dates to display as a numeric with the year then month then day to match what they are doing in ACCESS. I can pull Excel spreadsheets from both and then do some conditional formatting to compare data entry. This is super helpful for the person who manually transfers the data from QB to ACCESS.” In addition to bridging gaps with other tools, CCA is looking to Quick Base to help quantify the results of their programs to determine whether or not they are successful: the number of people enrolled in programs, those who obtain jobs, and those who keep them. “Using Quick Base was a game changer for us, because we were able to more effectively collect information about our outcomes, share that information within the agency, and more effectively report that information to our funders.” Says Schafer, who has been building and maintaining Quick Base apps for the last 7 years. CCA is now embarking on their most ambitious build yet, combining all of their reintegration programs from 3 offices into one app. Jen is looking forward to the newly designed Quick Base Community for crowdsourcing her efforts. “I am looking forward to brainstorming with more people within my organization and with QB users, especially those who are in the Non-Profit industry, in the new QB Community site. I am grateful that Quick Base is providing a place for us to more easily find each other.”19Views11likes1CommentCommand Line Interface for Quickbase
Quickbase is a no-code platform that problem-solvers use to build powerful business applications regardless of their technical ability, but that doesn't mean software developers can't have fun, too! For example, Quickbase has robust and powerful APIs that enable coders to extend and automate Quickbase. In fact, API requests make up a higher percentage of traffic to Quickbase than one might think. In that spirit, I want to introduce you to the Command Line Interface for Quickbase, which makes it even easier to interact with and automate Quickbase through its APIs. https://github.com/QuickBase/quickbase-cli Graphical interfaces like web browsers make it possible for a wide range of people to use software and simplify tasks. With that said, how many times has your index finger felt like it was going to fall off while fighting sleep as you repeatedly perform some monotonous task in Quickbase through the browser? It's situations like this where the command line can save you hours, not to mention your sanity. You can find examples of how to use the tool in the repository's README. Hopefully, it inspires ideas on how you might use it to save time automating your Quickbase tasks. The CLI tool is one of many capabilities in the Quickbase platform that help you automate repetitive tasks. Here are some guidelines to help point you towards the best tool for your task: Use Pipelines and consume the API directly if you are automating a task in response to an action that happens in Quickbase or another system. Consume the API directly with the language of your choice when building a non-Quickbase application that connects to your Quickbase app. Use the Quickbase CLI to perform app setup/admin tasks and ad-hoc calls to the API. Finally, the Quickbase CLI is released as an open source project, which means you can submit enhancements, bug fixes, and documentation through GitHub pull requests if you can write code. Installation instructions, examples, and tips are provided in the README. The tool is subject to the permissive MIT license, so you can freely use it as you see fit inclusive of use in proprietary applications, provided that you maintain the copyright and license with the code. The license also states that the code is provided as-is without warranty, so unlike the Quickbase platform, the tool is not subject to assistance through Quickbase support entitlements. However, contact with the authors is only a GitHub issue away, so please post and feedback, bugs, and questions through the repository's normal GitHub channels as per the guidelines. Happy building! ------------------------------ Chris Pliakas ------------------------------12Views4likes0Comments2022 QuickBase REST API Starter Development Kit for PHP.
Hi all, We use QuickBase for many things and love the tools it offers. We use WordPress to manage our ECommerce store and needed a way to communicate and update our QuickBase app automatically. To help solve this problem I wrote a QuickBase REST API Starter Development Kit for PHP that we currently use in a plugin for talking to QuickBase! I wanted to share this with anyone else who might need/want it for their needs. Here is the link to the GitHub Repo: GitHub - josephharburg/QuickBase-REST-API-PHP-SDK GitHub remove preview GitHub - josephharburg/QuickBase-REST-API-PHP-SDK: This is a simple class to help get started using the QuickBase REST API in PHP. This is a simple class to be used to access the REST API that QuickBase offers for PHP. This starter development kit does not do all the work for you, however, it does give you a good leg up when trying to access the QuickBase REST API in PHP. View this on GitHub > Happy Coding! ------------------------------ Joseph Harburg ------------------------------9Views0likes0Comments