One of the first steps in building your Knack application is to answer these two questions:
- Who will be using your application?
- What kind of access do they need?
By default, anyone can access any Knack app just by knowing the URL. For example, anyone can use this link to access our business directory example app.
You can use Knack’s user features to require that users must first login before they can access your app.
This is what our customer portal app looks like when a login is added:
Once a user is logged-in, you can further control which pages, records, and workflows they can access.
If you’re not sure if you need user features, ask yourself the following questions.
- Do I have different types of users, like Managers and Employees or Admins and Customers?
- Do I need to share any records that are confidential, like employee reviews, medical histories, or business financials?
- Do I want to track which user updated my records?
- Do I want to limit the records my users see to what is relevant to them?
- Do I need multi-tenancy?
If you answered yes to any of these questions, you will need to enable user features in your app.
Knack’s user features are powerful and flexible enough to build applications that handle a variety of user scenarios. We’ll dive into some common examples below, and then provide more information about how to add these features to your apps.
Users & Access Examples
The following are examples of different types of apps you can build that leverage Knack’s user features. All of the apps listed in these examples can be found in our template directory.
Most of these examples are multi-tenant, which is a fancy phrase that means different users can use the same app but only access their related records.
You’ll see other common user features being shared across these apps, including:
- Securing confidential information
- Allowing users to access records for an entire group they belong to
- Defining different permissions for different types of users
- Triggering user-based workflows
- Tracking which user made changes
Portals are perfect for defining groups of users and giving them access to specific data and workflows. For example, you can create custom portals for your:
- Customers to submit orders, pay invoices, and see their own repairs, warranties, etc
- Vendors to submit quotes, review order histories, and view notifications and reports
- Teachers to manage their students, classes, and attendance
The portal possibilities are endless!
One great portal example is our Customer Portal. This app makes it easy for customers to manage their accounts with your business. Customers can login, submit service requests, check on the status of their requests, and view invoices.
You can extend portals with e-commerce and workflows. Our Customer Payment Portal enables customers to pay their invoices directly in the app.You can also build email notifications into your portal to update users when changes are made or remind them to perform specific actions.
- Customer Portal Example App
- Customer Payment Portal Example App
- How to Show Records Connected to the Logged-In User
- How to Email Your Users
- About E-Commerce
Manage Multiple Groups & Locations
Many applications require the ability to handle groups - companies, departments, locations - while allowing members to only access their group’s data.
Knack makes this easy. You can create a single page for all users to access and each user will only see their group’s data, saving you time in the building process.
You can even define types of users and permissions within a group. For example, each group may have group admins who can add and remove members in their group.
Our Warehouse Manager demo app is a great example of group access. This inventory manager is designed with multiple warehouse locations in mind. A single app will allow you to give each warehouse control of their inventory. Warehouse staff logs in to manage the inventory and orders for their specific location.
- Warehouse Manager Example App
- How to Build a Warehouse Manager App
- How to Show Records Connected to the Logged-In User’s Company or Other Group
Allow Admins to Access All Data
Most of these examples show how to restrict which data the logged-in user can access. Sometimes, we want to allow one type of user to access all data, in the case of an admin.
In our Project Management example app, admins have full read/write privileges. When a new project comes in, admins can access all details and edit the project record to assign it to a project manager.
Allow Members to Manage Their Own Directory Listings
A user feature that can save countless hours of manual data entry is enabling users to update their own data.
Our Member Directory app shows this functionality in action. This app allows members to log in to view all members, but only edit their own listing.
Save Payment Methods
Knack’s e-commerce features make it easy to accept payment for goods and services seamlessly in your Knack app.
With user and e-commerce features enabled in your apps, you can allow your users to save their payment methods. Not only does this save time when making multiple payments, it’s even more valuable if you charge customers on their behalf. By saving your user’s payment methods, you can accept payments on demand without worrying about invoicing, due dates, or collections.
Our Online Donation Portal app incorporates saved payment methods in the donation workflow. This app makes it easy for nonprofits to accept donations for their causes with a donor interface.
Donors can login, make donations, save their payment info, and view a history of their donations. Nonprofits can even charge donations on behalf of their donors thanks to saved payment methods.
It’s important to note that saved payment methods is only available when using Stripe as your payment processor.
- Online Donation Portal Example App
- About E-Commerce
- How to Save a User’s Payment Info
- How to Build an Orders App
Users & access can also be applied for managing employee data and workflows.
Our Employee Reviews app makes it easy for managers and HR to submit employee reviews, track performance over time, and securely collaborate and share reviews.
In this example, managers and HR share an interface. You can easily create your own custom employee review app where each manager can only see and add reviews for their own employees, whereas HR can see and manage reviews for all employees.
The Employee Hours app shows that type of setup in action. In this app, employees enter their timesheets and each manager can only see the timesheets for their assigned employees. Reporting can be performed using the same restrictions, enabling each manager to monitor the performance of their team.
- Employee Reviews Example App
- Employee Hours Example App
- How to Show Records Connected to the Logged-In User
Enable Custom Workflows
Workflow automation is another example of how users & access can be used to enable your business operations.Knack provides powerful and flexible workflow features for adding multiple types of workflow to your apps, like approvals, pipelines, and notifications.
For example, take assignments in our Project Management app. Admins have the ability to create new Projects, which they then assign to Project Managers. While Admins can see all Projects, Project Managers only see their assigned Projects.
Project Managers can then create Tasks for each Project and assign them to their Employees. Each Employee can only view and update their own active Tasks, while the Project Managers can view and edit all tasks for their Projects.
Approval workflows are another great example. A record may need approval from different people at different stages of the workflow. For example, a grant application may need to first be approved by an admin, who ensures that the application is complete and meets the criteria, before being sent along to the board of directors for a final decision.
With user features, you can put the applications in front of the user who needs to view them at each stage of the process. You creat custom dashboards for your employees based on their function and assigned tasks.
You can explore many more options around workflow automation in the article linked below.
- Project Management Example App
- Workflow & Automation
- How to Approve New Records Before Displaying Them
How to Add User Features to Your App
In Knack, access control is managed using a few features that define the who and the what in your app:
- User roles
- Login views
- Page rules
Who can access your app?
User roles are all about defining the who. When determining your roles, think about who will be using your app and how they will be using it. Roles are not necessarily based on title, but function.
What can your users access?
Login views, page rules, and connections are all about defining the what. Logins and page rule will dictate what parts of your Live App your different users can access. The views on those pages will draw upon connections to determine what data is displayed to each user. You can customize your pages to only display the data related to, or connected to, the logged-in user.
While we cover a few popular applications of users & access here, there are many more. Using roles and enabling permissions in your apps opens a host of options for customization. See the articles below for a few more examples.
- How to Add Read-Only Access for Users
- How to Create a Single Login Page for Multiple User Roles
- How to Track Which User Last Updated a Record