Tenant Provisioning

Manage complete Customer OnBoarding/OffBoarding, manage location wise log including customer details, etc. with a simple and easy to Use dashboard.


  • Add/Remove Customer from the System
  • Manage Customer data such as Address, Contact Details, Billing Address, etc.
  • Subscribe Plans

Unique URL / Sub Domain Allocation

Manage complete Customer OnBoarding/OffBoarding, manage location wise log including customer details, etc. with a simple and easy to Use dashboard.


  • Tenant1: http://englishsystems.abc.com/
  • Tenant2: http://collabsys.abc.com/

*The business application must have the mechanism to dynamically create sub domain or folder and configure it for the tenants.

Application & Tenant Data Isolation

It allows the Application administrator to configure different datastore isolations for different customers. The various database isolation levels are

  • Separate DB per tenant
  • Separate table per tenant
  • DB or Table per application
  • Shared DB and tables

Tenant Hierarchy

Create Tenants and Sub Tenants using the Tenant Hierarchy feature.


  • Administer group of tenants by a Service Manager, Tenant Scope Management
  • Manage Relationship between users
  • Multi level TenantSub tenant user management
  • Roles and privilege management for nth level user


Cello Package Management is an effective SaaS based packaging solution, enabling ISVs to package multiple modules and features into a single accessible threshold, based Licenses or Plans.


  • ISVs can create Licenses like Basic, Premium, Package1, Package 2 etc and make it available for the customers to subscribe
  • As part of the security framework, Cello validates the type of the license subscribed and its modules and features in the given license, and blocks the usage of unsubscribed Features


Active Monitoring of the actual usage of the solution in real-time and enforces the license limits. Administrators can set variety of metering threshold, based on the configuration the framework keeps track of the usage by the end users,once the user reach the threshold, the feature can either be made unavailable or blocked.

Cello supports two types of metering, such as prepaid i.e. decrement metering and post paid i.e. incremental metering, based on the requirement you will be able to do both of the options, and you have the control of incrementing or decrementing numbers i.e. 1 usage per transactions or 2.


  • when 100s products assigned for a basic package, customers who subscribe to the basic package can access/create to only up to 100; similarly when 1000 numbers assigned to the premium package, customers will be able to access/create up to 1000 products; if you would like to assign unlimited usage, then set 0 to provide unlimited usage


Cello supports both credit card and Paypal accounts. Cello generates invoices as per the given schedule and it also takes care of payment collection through auto debit.

  • Collect Payment Details Cello collects all the payment details from the user. Users can either specify their credit card details or Paypal account.
  • Auto Debit Cello takes care of auto debit on a periodic basis. Cello automatically performs credit card transaction or pay pal transaction and reports the success/failure details to ISV administrator.
  • Invoice Generation Based on the periodicity selected cello generates the invoice with all the details including usage info, and the same is sent to your customer (tenant).
  • Dunning Alerts and Reminders Cello also provides alerts and reminders related to payments.

Data Backup

The Tenant Backup facility allows the Customers to backup their Application data + Metadata whenever they need. Customers can archive the mission critical data in an on demand fashion, archived data can either be in XML or CSV format.

Supported Backup Mode

  • None
  • Only tenant data (Tables with TenantId column only)
  • Full-Tenant data + Master data (including tables without TenantId column)

User Management

Cello's Robust and Custom membership management allows the Customers to create the users at tenant level. Users with the Manage User's permission in their profile can access the users' list and perform tasks such as adding users, modifying the user details.

Role Management

Cello's intuitive Roles Management allows the tenants to create global and local roles at tenant level.

Roles have the following characteristics:

  • Create Local & Global Roles
  • Copy the Roles from the parent tenant to the sub-tenants
  • Control what a user can access or cannot within the system
  • A particular set of privileges can be identified as a role and assigned to a user
  • A role takes effect when you assign it to a user
  • You can assign users to more than one role. When a user is assigned to multiple roles, the role with the more restrictive prevails
  • All changes to roles such as changing role definitions, granting, or revoking roles to and from users take effect upon new login sessions
  • When you deny access to a module, the related features that display on other module are also removed

Privilege Management

Cello offers simplified Privilege Management framework, during the development developers mark the privileges required to access the specific features. These privileges are made available for the Administrators to map it to the roles.


  • Manager RolePrivilege to access Feature1, Feature 3 & Feature 4
  • Employee RolePrivilege to access Feature1

In the procedural code, developers will grant access based on the role and privileges a user has.

Single Sign On

SSO enables the customers to use their existing AD server to act as an Identity provider in order to authenticate/authorize users in Cello, simultaneously Cello's Membership Mechanism can also be used as an SSO Provider.

Dynamic Data Scope

Dynamic Datascope offers data level privilege management. Administrators can set data entitlement as to whether a user can access a specific record or specific columns in the particular entity.

Once set, these data level access privileges will be validated in the procedural code and granted access to view or edit the data based on the privilege the user holds.


  • A manager can see only his subordinate details or department details. A sales person can see only data related to his territory
  • Only HR group can see the salary details of all the employees

Page Level Data Security

Set Page level access for specific User Groups in the system.


  • http://www.abc.com/page1Grant Access only to Finance Group
  • http://www.abc.com/page2Grant Access only to Employee Group


Determine and track the data that has changed so that action can be taken using the changed data. Also, Change data capture (CDC) or Audit Trail is an approach to data integration that is based on the identification, capture and delivery of the changes made to enterprise data sources.

Once set, these data level access privileges will be validated in the procedural code and granted access to view or edit the data based on the privilege the user holds.


  • Audit logs of events and transactions
  • Track CRUD changes at object level
  • Track field level changes to objects
  • Track and analyze changes such as Create, Read, Update, Delete

Service Factories & DAL Implementation Factories

Cello provides technology neutral Business Layer and Data Access Layer implementation factory. Designed to work with multiple databases – MS SQL Server, SQL Azure etc, by simply changing the data provider in config file. Data Provider currently available for MSSQL 2008, SQL Azure. Other Data providers can be custom developed on request.


  • Developers can either use ADO.net or Entity Framework for the DAL Automation Layer
  • While using Entity Framework, the application data can reside in any kind of database*.

*The Metadata will only be stored in SQL Server DB as the framework can only work with SQL DB to store the Metadata.

Exception Management

Cello provides highly configurable and simplified exception management system. Provides ability to configure and Extend Handlers including,

Supports exception handling in all architectural layers of the Framework

Define exception handling policies and maintained at the administrative level Maintain and modify the rules that govern exception handling Apply Rules

  • Prioritize and Rethrow Exceptions
  • Create custom exception handlers
  • Capture Exceptions in DB/Event Logs etc

Distributed Caching

Cello is integrated with Azure App Fabric Cache and simplifies the access to the distributed caching by providing a Wrapper. Cello provides simplified APIs to Add or Remove from the Cache. The wrapper can be used in conjuction with any other Distributed caching mechanism such as Amazons Elastic Cache.

Custom Fields

Provides the ability for the Customers to add custom fields in the runtime using the simple Dashboard. These Custom fields can then be added into multiple forms as and when it is required.

Cello supports two ways of managing these custom fields.
They are:

  • KeyValue Model
  • Flat Table model

Custom LoV

Manage Custom PickList/Collection of Key-Pair Value dynamically in the runtime.


  • Manage Key-Pair Value at Tenant Level
  • Cascade Pickup List from Parent Tenant to Child Tenant
  • Create relationship between different pickup list


  • Pickup List1: Country List
  • Pickup List2: State List
  • Based on the selected Country, the state list could be displayed

Settings Template

Configuration Template is a simplified approach to group multiple application and technical settings, set default values and assign it to Tenants.


  • While creating a Tenant in any SaaS system, the administrator has to apply some default settings such as default logo, themes, password expiration date etc.
  • while creating this as a template, it is easy to map the template to a tenant, once mapped all the default settings will be applied to the Tenant in the runtime.

Types of Template

  • Fixed Template: The default values assigned by the vendor will not be able to change by the customer
  • Custom Template: The default values assigned by the vendor is modifiable by the customer


  • Configure System settings at a tenant level
  • Configure System settings at a role level within each Tenant
  • Configure System settings at a user level
  • Roll down Parent Tenant configurations to sub-tenants. Allow sub-tenants and users to change configurable attributes

Themes & Logo

Supports configurable Themes and Logos for Tenants. Developers can create multiple themes and have it within the system, using Settings Template facility Tenants can choose the available themes and set it for them. Similarly Tenants can upload their Logos by themselves.

Pre & Post Processors

Pre & Post Processors are hooks provided by the framework to plug custom logic before or after any CRUD operations.

Forms & Grid Customization

Provides ability to customize Cello Grid and Forms.


  • Hide/ show Fields in Forms and Grids
  • Set Regex Validation for each fields
  • Set Read Only Fields

Business Rules

Various business rules can be configured using the Business Rules editor provided by Cello. User will be able to change the parameters and condition checks.

Types of Business Rule Supported

  • If-then-else
  • Decision Table

Workflow Engine

Cello Workflow is an elegant and intelligent web based Engine that executes workflow effectively and securely. Cello is a domain neutral Workflow which can fit in with any kind of SaaS Applications.


  • Drag & Drop Designer
  • Isolated Execution of Workflow
  • Windows Service based batch WF executor
  • Out of the box activities for general functions such as Email Notification, Web Service Configurator, Approval Task Copy Workflow from Super Tenant to child Tenants
  • Parallel execution of multiple Workflow
  • Governance Dashboard

Dynamic Forms

Cello's Dynamic form builder enables the end customer to dynamically design a form using dashboards and reuse it throughout the application.

Event System

The Cello Event system provides the application to run various jobs as per the tenants need in the occurrence of the system event. “System Event” is any event of interest that happens in the application that requires special attention, like Add / Update / removal of an Employee, order confirmation etc. The developer only needs to identify various events that must be raised in the system and uses the CelloSaaS Event API to raise them.

At runtime the tenant admin can configure what a job must run when the event happens, and this is configurable via the user interface. The various jobs that the tenant may require may be thought through and should register it with CelloSaaS so that the tenant can pick one.


Notification allows the Customers/Tenants to control the content of the email, including dynamic placeholders etc. These placeholders will then be replaced with the dynamic content while sending out the email/system notification.

The various notification mechanisms include

  • Email
  • Bulk Email Processing using Batches
  • FTP File upload
  • Bulk File Uploads
  • System Notification (Internal communication)
  • Bulk System Notification (Internal communication)

Job Schedulers

Jobs can be scheduled to run when a given Trigger occurs.

Triggers can be created with nearly any combination of the following directives:

  • at a certain time of day (to the millisecond)
  • on certain days of the week
  • on certain days of the month
  • on certain days of the year
  • not on certain days listed within a registered Calendar (such as business holidays)
  • repeated a specific number of times
  • repeated until a specific time/date
  • repeated indefinitely
  • repeated with a delay interval


Cello Offers a centralized Content Management system which could be used with Notification Engine as well as the Event Systems of Cello.It lets the Customers/Tenants to control the content of the email, including dynamic placeholders etc. These placeholders will then be replaced with the dynamic content while sending out the email/system notification.

Web Hooks

Using webhooks customers can augment or alter the behavior of an activity, logic with custom callbacks. These end points can be registered or configured using the dashboard by the power users, once registered these endpoints can be used throughout the system including Workflow, Notification system, Event System etc


The Query Builder is used when you need to assemble a SQL statement, or based on some conditional logic in your application. The main benefits of using the Query Builder include:

  • It allows building complex SQL statements using easy to use web based Query Builder. It automatically quotes table names and column names to prevent conflict with SQL reserved words and special characters
  • It also quotes parameter values and uses parameter binding when possible, which helps reduce risk of SQL injection attacks
  • It offers a certain degree of DB abstraction, which simplifies migration to different DB platforms. Custom expression builder for application vendors to write SQL queries
  • Hide/Show certain columns from certain users
  • Customize the labels of tabular reports


Provides web based Chart builder capability which facilitates visualizing data into pictorial, easy to understand representation.
01. End users can use the saved queries as a data source to build charts
02. Customize the Chart Look & Feel
03. Reuse the Chart in multiple Reports

Support Chart Types:

  • Point
  • Line
  • Bar
  • Pie
  • Column


Provides intuitive point and click Reporting dashboard where Customers can easily drag and drop relevant charts and table sources and build a report Quickly


  • Easy to use
  • No SQL Knowledge required
  • Tenants can customize the Look and Feel the Report Page
  • Applies the Security configurations on the fly
  • Download as CSV & PDF
  • Printer friendly version of report
  • Re-Use Reports

Code Templates

Simple and elegant Code generator based onT4 Templates. It avoids the developers writing the boilerplate code such as Create, Read, Update & Delete for each and every entity in the application. The Code generator is a Model based approach which facilitates the Developers to generate the CRUD code using point and drag designer. Once the code is generated, developers are free to modify the generated code as per the application requirement.


  • Easy to Use
  • Modal based simplified Code generator
  • Creates basic scaffolding as required by the Techcello framework
  • Developers are free to modify the given T4 Templates to suit their application requirement
  • Saves Developer's time and effort
  • Generates loosely coupled and well structured code

Master Data Management

Build simple Create/Read/Update/Delete screens using XML configurations.


  • Master screens can be created in 15 min by adding configuration in master config file

Schedule a Call