Center 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.”15Views11likes1CommentChicken 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. ------------------------------84Views11likes13CommentsCommand 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 ------------------------------12Views4likes0CommentsHappy 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 ------------------------------22Views3likes0CommentsNew Advanced Summary Report Capabilities
AsaData Analyst atQuickbase, I'm often asked to create reports and scorecards to track our performance over time. In most cases, it's easy to providethisdata with thesummary reportfeature – it can be done simply by adding the numeric fields to the report, choosing how to aggregate them (sum, average,etc.) and grouping by the appropriate date fields. But what can you do when you're asked to perform additional calculations on those aggregated metrics? Some people refer to this as theaverages of averagesproblem, even though it is much more! There are plenty of thesescenarios in every department:lead conversion in marketing, quota attainment in sales, net retention in finance, just to name a few…Also, different business units often have their own targets, and they need reports to inform how theyareexecuting against them on a monthly, quarterly and annualbasis. Since this was not possible on summary reports, my usual workaround was creating new tables, adding summary fields and doing the final calculations there. I'm very excited that now our product has a new feature calledsummary report formulas, which makes those calculations much easier than before, and will save me a lot of time and effort! Now, all I need to do is create a summary report on my source table,choose how to group my dataandfollow 3 simple steps: 1. Define summary variables– Simple example–Calculatingwin / loss ratioinSales.Values todefine: Total # ofwon deals Total # oflost deals. Complex example: Calculatingutilization ratio against target for a customer support center.Values to define: Durationofdirectcustomer support(hours) Durationofadditional customer support tasks(hours) # of vacation hours # of sick leave hours 2. Write summary report formula– Formulato calculatewin / loss ratio: Total# ofwon deals/(Total# ofwon deals + Total # of lost deals) Formula to calculate utilization ratio against target (assuming that the report is grouped by weekand byrep, each support rep works 40h a week and is expected to haveautilizationof 60%): (Duration of direct customer support (hours) + Duration of additional customer support tasks (hours))/ (40 - # of vacation hours - # of sick leave hours)/0.6 3. Add my new field(s)to the report. This way, instead of creating separate tables with calculations for each time period, I can buildallofmy reports with percentage calculations on the same table.Stakeholderswon't have to wait for me to create a few tables, join them, add summary fields, and then write the formulas to get theresults.Thanks to summary report formulas, I will be able todeliver data to the business in minutes, rather than days and hours! This feature is currently in beta. You can express interestinourbeta registration application. We are inviting people into the program in waves but if you believe you have a use case that may enable you to provide valuable feedback on this feature, please reach out to your account team. ------------------------------ Aleksandra Cybulska ------------------------------8Views3likes0CommentsRich 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 ------------------------------21Views2likes0CommentsThe Spirit of Celebration
Welcome to the Quick Base Community Celebrate space. This Community is about giving all you awesome problem-solvers, builders, and admins a place to celebrate your accomplishments and share the awesome things you are doing with other builders. Whether you have solved a tough problem, launched a new app, saved an old app in need of an overhaul, or had an awesome professional achievement like a promotion this is a space to share those achievements and to give one another well earned kudos. This can also be a great space to get inspired by what other community members are doing and how they are using Quick Base to solve their problems.0Views1like0CommentsConnecting Quickbase to AWS for Sentiment Analysis
Quickbase is uniquely positioned to solve numerous business problems because of both the product's incredible flexibility and the different approach to how people build applications on the platform. The problem solvers who use the tool can resolve critical business challenges themselves in days and even hours on a system that IT trusts and can govern at enterprise-scale. Although powerful in business users' hands, the technically inclined can elevate Quickbase to new heights by integrating it with other systems through extension points such as Pipelines, Quickbase's native integration platform. Public cloud providers like Amazon Web Services provide many building block services that go together with Quickbase like peanut butter and jelly, and I want to introduce a sentiment analysis capability for Quickbase using Pipelines and AWS as a working example of this power. The Amazon piece is available at https://github.com/cpliakas/quickbase-sentiment-analysis, and developers can replicate the pattern for other AWS services as well. As context, Quickbase applications often capture data at the edge of the business. The more data that is captured, the more important it is to automate data analysis to extract insights from it. For example, let's say you want to crowd-source inspection of inventory, products, etc. The goal is for employees to snap pictures and submit comments when they happen to notice something in the field, such as an example of a great product display or a misplaced item. Within minutes, you can create a Quickbase application that is mobile-ready and able to be used in the field. A welcomed problem is when the application becomes widely used across the organization, and manual analysis of the data becomes impractical. One way to start categorizing the data is through sentiment analysis of the comments to sort the feedback into positive, negative, and neutral submissions to determine which ones to act on first. This situation is where our example comes into play. Amazon has a service called Comprehend that provides sentiment analysis. At first glance, the integration appears to be dead-simple. However, many hidden complexities around authentication and infrastructure configuration take time to figure out. The project at https://github.com/cpliakas/quickbase-sentiment-analysis provides a one-click install of the Amazon piece of the puzzle through theServerless Application Repository that has Quickbase assumptions which make it really easy to securely integrate with Quickbase through Pipelines. The video below walks through an end-to-end setup so that you can start experimenting with the capability now. The https://github.com/cpliakas/quickbase-sentiment-analysis project is released under the permissive open-source MIT license. You are free to use and copy the tool and apply the patterns in whatever manner you wish, including commercial applications where people pay for your service. I hope you find it useful, and I look forward to learning about where the tool and techniques are providing value to your Quickbase applications. ------------------------------ Chris Pliakas ------------------------------7Views1like0CommentsExample 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 ------------------------------22Views1like0Comments