Knack Blog

The Knack team on web applications, online databases, and beautifully designed products.

 

Report Groupings

09/22/2015 Posted by Brandon

You can now add multiple groups to your reports!

Most reports in Knack work by running calculations on groups of records. For example, you could group orders by date and then calculate the average order total for each date. You can then display these calculations in line or bar charts.

We recently added the ability to add multiple groups. Here’s an example where orders are grouped by both date (month) and by product:

We also expanded which fields are eligible to use for groups. Beyond dates, connections, and multiple choice, we added yes/no and most of the text and numeric fields.

Notes:

  • The most groups you can add is two.
  • You can only add 1 calculation if you have more than one group.

Continue reading...

Accept Payments with your Knack App

09/02/2015 Posted by Brandon

When we first started brainstorming about the idea that would lead to Knack we always talked about including payments. It was a while ago, but I’m pretty sure that some dollar sign or credit card drawing was on one of those early whiteboards.

It made perfect sense: E-Commerce adds so much power and really opens up the potential for the types of apps that can be built with Knack:

  • A customer portal can allow customer to pay invoices.
  • A purchase order app can include payments for those orders.
  • A donation management app can take live donations that plug right in.
After a lot of careful thought and development we’re thrilled to release our first round of E-Commerce features so you can now accept payments with Stripe or PayPal!

Please note that E-commerce features only available on our Pro plans and above.

Continue reading...

User Workflow

07/22/2015 Posted by Brandon

User logins are one of Knack’s most powerful features. They let you build applications where users can log in and have permissions to access specific records.

We recently converted two user attributes into database fields:

  • User Status: this controls whether the user has active access to log in. Options include “pending approval” and “inactive”.
  • User Roles: this controls which roles the user is assigned to. Each role can have access to different pages of the app and be connected to different records.
These two attributes used to be private settings that couldn’t be exposed in your app. By making them fields you can now use these in your apps just like any other field — including filters, form rules, and the API.

This opens up some powerful user workflow features:

User Paywalls

Form rules, tasks, and the API can be used to update the user status to “approved” or “inactive” when a certain transaction happens. If you start a user as “pending approval” then they won’t be able to login until the status is updated. You can even use Zapier to update this status when a payment is made from Stripe or Paypal.

Role Promotions

Likewise you can assign a user role with form rules or tasks. Conditions can be used to determine which user role to assign. For example, a user can be assigned a role when a certain amount of points are scored.

User Management

Because these attributes are now easily controlled from your app, you can create a specific page for “Admin” users to login and manage user rights and statuses without needing to access the builder.

We’re really excited about the possiblilties this opens up to add user workflow features to your online database. Let us know how you’re using these so we can share other great examples.

Continue reading...

Icons

07/14/2015 Posted by Brandon

You can now add icons to the menus in your apps!

Here’s an example of a menu with icons added:

Edit a link in a menu view to add an icon:

To add an icon to your app’s global page menu first click on a page from the list in your interface, then click on the “Page Options” link in the right column.

There’s a ton of icons to choose from! Not only are icons fun, they can help guide and educate the user experience.

Continue reading...

Task Upgrades

07/02/2015 Posted by Brandon

Scheduled tasks are one of the most popular features on our Pro plan.

Tasks let you define actions to send emails, update records, or even insert new records based on dates and criteria you define.

We’ve recently posted some improvements to scheduled tasks, including some new features.

Tasks are now managed with a tabbed pop-up window:

New features include:

  • Next run date – this will always list the next date the task will run and can be changed at any time.
  • Pause – temporarily pause the task so it won’t run. The task won’t be deleted and will maintain it’s schedule and can still be manually run.
  • Manual Run – run the task in real-time on demand.

We’re also now logging each time a task is run, along with the results and how many records the task processed. This way you can confirm the task ran and is processing the records you are expecting. You can view a history of these logs in the History tab.

As always please let us know what other task features you’d like to see!

Continue reading...

Case Study: Kinetic Events

06/30/2015 Posted by Brandon


The Kinetics Event Staff

Erik Lillquist gave up on finding a canned solution and instead, built a custom application with Knack.

Erik Lillquist runs Kinetic Events, an events management company that specializes in staffing and marketing high profile corporate and entertainment events.

Running events is a big juggling act – it means managing multiple streams of information. Everyone from managers to employees to freelancers needs different access to different info at different times from locations all over the country.

Erik had specific requirements he needed to manage this process:

  • An application accessible from any location on several different types of devices.
  • A portal style database for both managers and employees to access personal information.
  • Calendar features for managing events.
  • Job Board for managing job listings.
  • Secure login for all users

His initial thought was to find a software product specifically for event management. He quickly discovered that most of the products he explored either couldn’t cover these requirements or were super complex products that were too expensive, difficult to use, and couldn’t be easily customized.

Erik realized that an out-of-the-box solution just wasn’t going to work. What he needed was a database solution he could customize to meet his exact needs.

Continue reading...

New Feature: Advanced SSO

06/23/2015 Posted by Brandon

We’ve released new features for advanced Single Sign-Ons, or SSO.

Our basic SSO options have been a big success – these allow users to log into Knack apps using other common accounts they already have with Google, Twitter, and Facebook:

We’ve added additional advanced SSO options so you can create additional login options.

Here’s how it works: there are two common login technologies (oAuth and SAML) used for authenticating logins. You can add any custom login that uses one of these two.

For example, you could add logins using SalesForce or LinkedIn with oAuth. SAML enables more enterprise configurations like Shibboleth and Active Directory.

Adding a custom login

To add a custom login you can use the “add a custom SSO provider” link in the Login view’s “Options” tab:

You’ll be guided through configuring the login with the right options. There’s a lot of options to configure so you may need a developer to help get them all correct.

You can also customize the login button with a color and logo. Here’s a customized LinkedIn login button:

Domain Limiting

In addition to adding new login options, both the Google and OpenID SSO providers have an option to enforce domain restrictions. This means that you can provide a domain to restrict authorization to. Only accounts with emails from that domain will be authorized.

For example, by entering “knack.com” with a Google SSO, only Google accounts with an email address using knack.com will be authorized.

Learning more

You can find the full details in our support article on logins:

http://helpdesk.knackhq.com/support/solutions/articles/5000443954-logins-registrations#sso-advanced

We also added a recipe to our cookbook for adding a LinkedIn login:

http://helpdesk.knackhq.com/support/solutions/articles/5000637997-use-a-3rd-party-login-like-linkedin-or-salesforce

Pricing Note: these advanced features are available on Corporate plans and above, or with an add-on to the Pro plan.

Continue reading...

New Template App: Attendance Tracker

06/15/2015 Posted by Brandon

One of the most common app questions we get is if Knack can handle different attendance apps:

  • Schools taking class attendance.
  • Churches managing small group attendance.
  • Corporations taking attendance and roll-calls for trainings and meetings.
Attendance apps sound simple but can quickly get complicated. How are you reporting attendance? Who’s in charge of taking attendance? Are you recording any additional information? Maybe you want to track each member that attended and if they brought any visitors.

Knack shines in building custom attendance applications like this where you need to tailor your attendance around specific needs.

We recently built a new template app to show a few examples of how attendance can work.

Continue reading...

API Upgrades: Working with logged-in users

06/02/2015 Posted by Brandon

We’ve added some new features to our API so that you can now make login requests and work with the logged-in user!

Highlights include:

  • Secure user tokens to authenticate request for Knack users.
  • Utility functions for getting properties of the logged-in user and checking for role permissions.
  • Remote login requests.
This opens up a lot of great possibilities for developers to work with Knack apps:

  • Mobile developers can have mobile users log-in with their Knack credentials.
  • Make page requests with views that are connected to the logged-in user.
  • Permission customization with user roles.
We’ve include an article in our API documentation that goes into more details:

Continue reading...

Case Study: More baskets for your database eggs

05/28/2015 Posted by Brandon

Joshua Guy Lenes replaced a custom-programmed database with a Knack solution so more team members could help build and maintain it.

Joshua Guy Lenes is familiar with complex, custom database solutions. He works with the American Association of University Professors to manage union memberships. They used to employ a custom-engineered database coded in python, django and sql.

It was a suitable system but there was one big problem: Josh, a trained and capable developer, was the only person who knew how to manage the database and keep it running smoothly. It was too complex to easily bring on others to help.

He knew this would not be sustainable in the long run — if Josh somehow became unavailable how would the system be maintained?

Josh needed a more flexible database solution that his team could easily use and manage without his assistance, and the search began for a replacement.

Continue reading...