Getting Started
Step 1: Install the latest Breezz Package
The Breezz Package should be installed for System Administrators only.
You have to assign Breezz Admin permission set to any user who should be able to configure Breezz Framework.
Step 2: Breezz Configuration
Breezz framework offers multiple interfaces and virtual classes that can be implemented or extended. However, Managed Packages do not recognize public classes from different namespaces. To enable Breezz to dynamically create instances of public classes within the package subscriber’s scope, Breezz Plugin class has to be introduced. You can either create such a class in your organization manually, or you can generate it from Breezz UI. Once you have done this, make sure that Breezz Setup → General Setup → Plugins Configuration → Base Apex Plugin is populated with yout BreezzPlugin class.
1global with sharing class BreezzPlugin implements forvendi.BreezzPlugins.BaseApexPlugin {
2 global Object createInstance(String className) {
3 if (String.isBlank(className)) {
4 return null;
5 }
6
7 Type classType = Type.forName(className);
8 return classType?.newInstance();
9 }
10
11 global Boolean hasCustomPermission(String permissionName) {
12 return FeatureManagement.checkPermission(permissionName);
13 }
14
15 global forvendi.ApexTypeInfo[] searchForClassImplementation(
16 String searchText,
17 String interfaceName,
18 Integer numberOfRecord) {
19 forvendi.ApexTypeInfo[] classInfo = new forvendi.ApexTypeInfo[]{};
20 for (ApexTypeImplementor apexType : [SELECT ClassName, ClassNamespacePrefix
21 FROM ApexTypeImplementor
22 WHERE ClassName LIKE :( '%' + searchText + '%') AND IsConcrete=TRUE AND InterfaceName =:interfaceName
23 ORDER BY ClassName ASC
24 LIMIT :numberOfRecord]) {
25 forvendi.ApexTypeInfo typeInfo = new forvendi.ApexTypeInfo();
26 typeInfo.className = apexType.ClassName;
27 typeInfo.classNamespacePrefix = apexType.ClassNamespacePrefix;
28 classInfo.add(typeInfo);
29 }
30
31 return classInfo;
32 }
33}
Step 3: Start the Breezz Scheduler
Breezz Scheduler is activated from the Dashboard. Breezz Scheduler is used to run scheduled jobs in configurable time intervals and also is used for internal processes like platform health metrics calculation. To run Breezz Scheduler:
- login as System User
- go to the Breezz App application → click Dashboard → and click Start Scheduler button.
Breezz Scheduler can also be started manually from Apex, to start Scheduler please log in as System User (user with Breezz Admin permission which is responsible for internal system processes) and run below Apex script from the Developer Console → Debug → Open Execute Anonymous Window:
forvendi.BreezzApi.SCHEDULER.run();
Above code should generate Breezz Scheduler Job records based on the Breezz Scheduler Config and Breezz Metric Config.
All changes in the Scheduler Jobs or Breezz Metrics are automatically applied every 10 minutes, to speed up job recreation please use below Apex script (remember to use System User).
forvendi.BreezzApi.SCHEDULER.kill();
forvendi.BreezzApi.SCHEDULER.run();
or
forvendi.BreezzApi.SCHEDULER.rerun();
Step 4: (required for non validated package) Allow to Deploy Metadata from Non-Certified Package Versions via Apex
Go to the Setup → Apex Settings and mark the Deploy Metadata from Non-Certified Package Versions via Apex flag.
Step 5: (optional) Disable or change the Metrics Lifespan
The Developer sandboxes have limited data storage this is why we should reduce the number of created metrics records.
-
To disable metrics functionality go to the Breezz App → click Metrics Setup → select the Disable in the Enable Metrics dropdown as below:
-
To change the Metrics records lifespan go to the Breezz App → click Metrics Setup → select the Enable in the Enable Metrics dropdown and change Metrics Lifespan value to 2 days as in following screenshot: