Declarative Thinking: Apps to build Apps

Declarative Thinking: Apps to build Apps

Andrew Fawcett
Salesforce started life as an application vendor with a CRM solution. Like many applications of its size and type, customers had lots of customization requests such as the ability to add fields, change the user interface and add validation. These users were not developers, so this had to be done via a point and click style interface. It was a smart move to take this capability and decouple it from CRM and form Force.com! In its early life Force.com, had no Apex code or Visualforce UI features, only what Salesforce.com refers to today as its ‘Declarative’ or Point-And-Click development mode.

It’s a credit to the power of this development approach that business analysts, power users and consultants alike continued to embrace Salesforce and publish applications on AppExchange very quickly! Indeed it is now part of FinancialForce.com folklore that our very own Kevin Roberts (VP, Business Devlopment) was one of the first of us to sample this power, by taking a Compliance application written at the time by a small team of VisualBasic developers and replicating its functionality in Force.com over a weekend!

Kevin continues to be one of our key driving forces in extracting every ounce of power from this aspect of the platform. With a little help from our ClickLink solution, he rarely needs a single line of code from a developer. So how do we help Kevin and others achieve this?

  • Know the platform inside and out. Make sure that solution builders in your organisation and partners know how to build and extend solutions on the platform declaratively. For instance, creating Custom Objects, Fields, Formula Fields, Rollup Summaries, Workflow (Field Updates) and using Flow.
  • Complement the platform with your applications. Engineer applications that embrace the declarative nature of the platform to form a natural extension to it. Make sure developers understand how users expect to use the declarative aspects of the platform and then design and develop application behavior, configuration and extensibility to suit. Just because you provide a tailored UI via Visualforce, don’t assume all interaction will be through that. Power users want to integrate at the Salesforce UI and custom object level to leverage the skills they have acquired. Consider building the System Admin persona into your design and testing. Also, consider Salesforce Certification across your organisation.

ClickLink and Force.com

Our ClickLink application takes this practice to the next level. ClickLink is built with the sole purpose to reuse and extend platform declarative features such as List Views, Email Templates, Custom Buttons, Layouts and the Scheduler. It provides a point and click user interface that allows us to integrate our product’s own objects with any standard or custom object without the need for code.

I tend to refer to it as a “solution enabler”, meaning it’s part of what it takes to deliver a solution but not the full story. Sitting aside Force.com when building the type of solutions our customers require is a powerful combination for not only delivering a highly integrated user experience, but also a very flexible and evolving one!

Recently our consultants have been very inventive with Formula Date Functions and Workflow Field Updates, combining these with ClickLink to implement our many varied Automated Billing solutions on the platform. Others have used it to implement specialised Data Loaders (splitting CSV files across objects), or even to extend the platform’s Clone button! I’m amazed at the use cases and ingenuity of our team as they find new ways to combine Force.com and ClickLink without needing developers! Hmmm….

So what’s next?

What if a developer could build a type of Declarative Application Wizard that can learn about an aspect of a requirement such as another object or CSV file and automatically generate the components needed in Force.com to deliver the solution? The result might be no different to the end user, but the benefit to the solution builder is that they save time otherwise spent pointing and clicking. As fun as that is, it can get a bit tedious not to mention error prone at times. In a later follow up to this blog I’ll illustrate how developers can build a tool to do just this using a library we made available last year, the Apex Metadata API Wrapper.

Receive updates

FinancialForce

Grow your business with a customer-centric ERP solution.

DOWNLOAD GUIDE

The CFO Guide
to Revenue Recognition

Concerned about the transition to the new revenue recognition standards?

DOWNLOAD EBOOK

See the #1 ERP
on Salesforce

Schedule time with a Cloud ERP specialist to chat about your needs.

FREE DEMO