# Licensing
Avo has two types of licenses. Community edition which is free and open source for personal and hobby projects and Pro for commercial usage.
# Community vs Pro
The Community version has features that you can use today like Resource management, quite a lot of feature-rich fields, out-of-the box sorting, filtering and actions and all the associations you need.
The Pro version has advanced authorization using Pundit, localization support, Custom tools, Custom fields and much more. More (opens new window) features are coming soon like Dashboards, Settings screens, and Themes.
# One license per site
Each license entitles you to run one site in one production environment.
# More installations/environments per site
You might have the same site running in multiple environments (development
, staging
, test
, QA
, etc.) for non-production purposes. You don't need extra licenses for those environments.
We only need to check that the license key and URL matches the purchased license you're using for that one site (in any environment).
# Sites
On you avohq.io licenses (opens new window) page you can see your licenses keys.
# Add the license key
After you purchase an Avo license add it to your config/initializers/avo.rb
file along with changing the license type from community
to pro
.
# config/initializers/avo.rb
Avo.configure do |config|
config.license = 'pro'
config.license_key = '************************' # or use ENV['AVO_LICENSE_KEY']
end
# Configure display of license request timeout error
If you want to hide the badge displaying the license request timeout error, you can do it by setting display_license_request_timeout_error
configuration to false
. It defaults to true
.
# config/initializers/avo.rb
Avo.configure do |config|
config.display_license_request_timeout_error = false
end
# Purchase a license
You can purchase a license on the purchase (opens new window) page.
# License validation
# "Phone home" mechanism
Avo pings the HQ (opens new window) (the license validation service) with some information about the current Avo installation. You can find the full payload below.
# HQ ping payload
{
license: Avo.configuration.license,
license_key: Avo.configuration.license_key,
avo_version: Avo::VERSION,
rails_version: Rails::VERSION::STRING,
ruby_version: RUBY_VERSION,
environment: Rails.env,
ip: current_request.ip,
host: current_request.host,
port: current_request.port
}
That information helps us to identify your license and return a license valid/invalid response back to Avo. The requests are made at boot time and every hour when you use Avo.