Difference between revisions of "Application Concepts"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
m (Text replace - 'Cases Object' to 'Cases object')
 
Line 24: Line 24:
:* A '''''Database Application''''' is a collection of platform [[Objects]] -- database tables that include customizable Forms for viewing and entering data, plus online and email collaboration capabilities. A Database app also allows for reports  
:* A '''''Database Application''''' is a collection of platform [[Objects]] -- database tables that include customizable Forms for viewing and entering data, plus online and email collaboration capabilities. A Database app also allows for reports  


:* A '''''Dynamic Case Management (DCM) application''''' is a Database app with a significant addition: the [[Cases Object]]. That object has been enriched with additional social media interactions, built-in priority and status fields, a color-coded interface to display them, and the ability to specify service level objectives--operational targets you can use to measure your performance.
:* A '''''Dynamic Case Management (DCM) application''''' is a Database app with a significant addition: the [[Cases object]]. That object has been enriched with additional social media interactions, built-in priority and status fields, a color-coded interface to display them, and the ability to specify service level objectives--operational targets you can use to measure your performance.


:* '''''ServiceDesk''''' is an enhanced version of a DCM app that lets your customers create and track cases through an online [[Service Portal]]. The portal can support a knowledge base and community interactions. In addition, different service level objectives can be specified for different accounts, to reflect your contractual [[Service Level Agreements]].
:* '''''ServiceDesk''''' is an enhanced version of a DCM app that lets your customers create and track cases through an online [[Service Portal]]. The portal can support a knowledge base and community interactions. In addition, different service level objectives can be specified for different accounts, to reflect your contractual [[Service Level Agreements]].

Latest revision as of 17:46, 8 July 2015

An application is a collection of related Objects that provide a viewable collection of information, enabling users to access the information, and providing for automated processes to make it easier to work with the data.

About Applications

Pre-packaged applications can installed from the Applications page, and they can be customized to fit your needs. Or you can create your own applications.

LJapp.gif

Anatomy of an Application

Platform applications include a number of elements that are visible in the user interface:

Element Description
Objects Objects are the basic building blocks of an application. Objects contain data Fields that store data, and they can be setup to relate to other objects. Data records associated with Objects are the primary information structures in an application.
  • System Objects are created at installation and have well-defined characteristics and built-in functionality. They can be extended with additional fields.
  • Custom Objects are created after installation. They have fully configurable characteristics and functionality.
Web Tabs Web Tabs enable you to extend the platform by adding custom JSP Pages to your application. Web Tabs can contain links to other websites, as well as Pages, Widgets, and Database Views
Views A view selects and organizes data for a single object. You can customize and save views by specifying column Order, adding Filters, and adding Computed Fields.
Reports Reports organize data for display and analysis, and can deliver data from multiple objects, using Database Views. Reports include the ability to set column Order, add Filters or Computed Fields, Color Codes, data Groups, Computing and Metrics and Charts.
Dashboard The first page an application user sees, the Dashboards can be interactively designed with selected Widgets to provide users with custom overviews that are visible to everyone, individually-assigned, assigned to specific roles, or to selected teams.

Thumbsup.gif

Tip:
To make those elements work, many pistons are pumping under the hood.
To examine the nuts and bolts, take a look at the Application Architecture.

Where Applications Come From

Applications come from many sources:

  • Some, like the ServiceDesk application come pre-installed when you create a account in the AgileApps Cloud platform.
  • Starter apps can be installed from the Marketplace (an application catalog) and then customized.
  • Someone else may have created a Package (a zip file) that contains a ready-to-run application (also customizable).
  • You can create an application of your own--literally in minutes (once you understand how everything works--which may take a while, at first).

No matter where an application comes from, you can "brand" it to make it a better match your organization.

Learn more: Application Branding

Application Types in a Nutshell

You'll learn more about the specifics of the different kinds of applications in a moment. But to get started, here's an essential primer on how the different kinds of applications relate to one another:

  • A Database Application is a collection of platform Objects -- database tables that include customizable Forms for viewing and entering data, plus online and email collaboration capabilities. A Database app also allows for reports
  • A Dynamic Case Management (DCM) application is a Database app with a significant addition: the Cases object. That object has been enriched with additional social media interactions, built-in priority and status fields, a color-coded interface to display them, and the ability to specify service level objectives--operational targets you can use to measure your performance.
  • ServiceDesk is an enhanced version of a DCM app that lets your customers create and track cases through an online Service Portal. The portal can support a knowledge base and community interactions. In addition, different service level objectives can be specified for different accounts, to reflect your contractual Service Level Agreements.

Notepad.png

Note:
Although sophisticated programming capabilities exist, most application development is performed in the graphical interface, dragging and dropping elements and filling in configuration forms.

ServiceDesk Application

The ServiceDesk application is an example of a Dynamic Case Management system--one that evolves with you as your processes mature, and which allows for ad hoc procedures (Multi Step Tasks) to be created when existing processes don't quite fit. However, ServiceDesk is specialized to provide additional features for customer support. But while an organization can have as many Dynamic Case Management applications and Database Applications as it likes, it can have only one copy of ServiceDesk.

About ServiceDesk

ServiceDesk is automatically included in your AgileApps Cloud platform account. Once you get started, you can create other kinds of applications. But many companies--and even many departments--find that the ServiceDesk application fills most of their needs.

Your internal agents can use ServiceDesk to manage incoming cases. You can also have managers, administrators, and other roles that have additional privileges.

ServiceDesk comes with a built-in Service Portal that external users can use to create and track cases. In addition, the Service Portal can support a Community and a Knowledge Base. You can also create cases and communicate about them via other Channels, as well--including Email.

To get started, you create an AgileApps Cloud platform account. That account (or tenancy) gives you the ServiceDesk application, which can be customized to meet your needs by managers and admins. It also gives you the ability to create additional applications, all of which can share data easily.

Notepad.png

Note: In any given account, a person with design privileges can customize any application running in that account. If someone needs to be a designer in one application, and a "regular" or unprivileged user in another application, the best strategy is to create a separate account for each application.

Now then, ServiceDesk is all about servicing customers. You customers can be individuals (recorded as Contacts) or other organizations (Accounts of your own), where each such account has one or more contacts associated with it. So if a case comes from Frank at ABC Co, you can associate with the contact Frank and the account ABC. Frank, meanwhile, is also associated with that account. (Such associations are accomplished using Lookup fields.)

Finally, to make sure your customers know who you are, you can do some branding to display your organization's logo and colors, and to make object names reflect your organization's terminology.

Learn more: Application Branding

ServiceDesk Features

The ServiceDesk application is a specialized version of a Dynamic Case Management application, but it has some unique features. Most of them are centered around the ability to interact with your customers in the most efficient and friendly manner possible.

  • Service Portal
    The Service Portal lets your customers file cases and track them. It also provides:
  • Case Tracking
    A page that lets your customers file news cases and track the progress of existing ones.
  • Knowledge Base
    A way to publish articles your customers can use.

Thumbsup.gif

Tip: When using the HTML editor, press Alt+0 (Alt key plus zero) to get a list of shortcut keys.

  • Community
    A way for users to help themselves, that lets an agent quickly create a case from a community post.
  • Application Branding
    Change the logo image, background color, and object names that your customers see.

Notepad.png

Note: When your customers visit your support URL, they see your Service Portal. (An internal who logs in, on the other hand, can see either the Service Portal or the Agent Portal at the same URL.) Because that URL is intimately connected to the ServiceDesk portal, you can run only one copy of ServiceDesk at a time. (However, you can have as many DCM apps and Database apps as you want.)

  • Account-specific SLAs
    Every Dynamic Case Management comes with default SLAs that can be customized. Those Service Level Agreements define response and resolution times that cause reminders to be sent out at appropriate intervals. The ServiceDesk application goes a step further. It lets you define different SLAs for different Accounts, for situations in which you are contractually obligated to meet specific goals, with penalties when those agreements are breached.
  • Case Analytics
    The Case Analytics feature gathers statistics for each agent, each day. Data is displayed in the Case Analytics Dashboard. Additional reporting can be done using the Case Analytics Object.
  • Enhanced Email Integration
  • Pre-defined Email Channel
    An Email Channel comes pre-defined when you install the application, so you can experiment with it and see how it works.
  • Pre-configured Email Templates
    When a case comes in on a given channel, the Email Template to use for responses is pre-defined. Any text an agent types is plugged into the template, and the resulting message is sent to the customer.
  • Quick Text
    Define standard "boilerplate" Quick Text that agents can add to a message with a mouse click.
  • Knowledge Base Integration
    Search for knowledge base articles and insert a link into a message, all with the click of the mouse.
  • Additional Behaviors
    These additional behaviors are "hard-wired" into the application. If you don't want them, consider building a DCM app, instead:
  • Automatic status change and case assignment
    When an email is sent from a new case, the status is automatically changed to "Open", and the sender of the email becomes the owner of the case.
  • Automatic Task Notifications
    When a task is assigned to a user, a task-assignment notification is delivered to the user's inbox.

Warn.png

Important:
There is no "reset to factory defaults" or "undo" option in ServiceDesk. When customizing ServiceDesk, keep track of the changes you make so you can reverse them, or test your changes in an experimental tenant before making them in the production tenant. If you plan on wholesale customization, consider starting with a standard Dynamic Case Management app, instead.

Working with Service Desk

To find out more about working with ServiceDesk, see:

Learn More


Dynamic Case Management Applications

A Dynamic Case Management (DCM) application is one that evolves with you as your processes mature, and which allows for ad hoc procedures (Multi Step Tasks) to be created when existing processes don't quite fit.

Features of a DCM App

All DCM apps share an extensive set of features with Database Applications, including these:

  • Mobile-enabled, with automatically generated, customizable Forms
  • Predefined Tasks Object - assign Tasks to users and record completions in the record history.
  • Processes and Rules can be created to automate your procedures.
  • Document Templates can be created to generate formatted documents that integrate record data.
  • Email Templates can be created, to automatically insert record data when sending correspondence
  • Messages sent from a record are automatically recorded in the record history
  • A variety of integration strategies you can use to interact with other applications, whether running on the platform or elsewhere.

In addition, a DCM app predefines a Cases object that provides even more features:

  • Pre-defined Priority and Status fields that appear at the top of each Case record
  • Pre-defined Email Templates that can be customized or used as-is for formatted correspondence that integrates record data.
  • Service Level Objectives you can use to set operational targets (time to respond and time to resolve) for different kinds of cases
  • Social Channels
  • Email Channel - Create cases automatically from incoming messages.
Record emailed responses in the case history, as well as the outgoing message.


Building a DCM App

Using the AgileApps Cloud platform platform, a fairly sophisticated Dynamic Case Management application can be built in a matter of days (once you know how things work). It can then be evolved over time.

For a primer on the subject, see Building a Dynamic Case Management Application in the AgileApps Cloud (pdf)


Database Applications

Features of a Database App

A database application is essentially a spreadsheet on steroids. In fact, you can build one by importing CSV data exported from a spreadsheet, using the Application Construction Wizard. Or you can use the Wizard to specify the objects (database tables) you need, the fields in those objects, and the relationships among them.

Once you do, you get a running, mobile-enabled application with Forms for entering and viewing data, and tabular Views of object data. You also get the ability to run Reports and generate Charts. And you get much more:

  • Add Users and define their Roles
  • Organize users into Teams
  • Determine which data is visible and how Forms are organized
  • Automate procedures using Processes and Rules
  • Define Email Templates you can use to send messages that contain record data
  • Create Document Templates that contain record data using Word, HTML, or PowerPoint
  • Create common Picklists to simply data entry
  • Define Macros so users can take multiple actions on a record at the click of a mouse

You retain control of your data, as well. You can:

Best of all, every feature of the application can be extensively customized to suit your purposes. For example, you can:

  • Send emails that integrate record data, and store those messages in the record history.
  • Use Web Forms to submit data from an external site
  • Create Sites to let external users interact with the system, without having to log in to the platform
  • Create Database Views that merge data from multiple objects, for use in Reports
  • Schedule jobs for automated housekeeping

Learn more:


Creating a Database Application

Start with a plan:

  1. Design your data structures.
    • What data tables do you need?
    • How do they relate to one another?
  2. Determine the Roles that will be needed govern interactions with the application.
    • What data will they need to see?
    • What actions will they perform?

Build the initial application:

  1. Go to GearIcon.png > Administration > Applications > [Create New Application]
  2. Choose Create by Import to start by importing CSV data exported from a spreadsheet.
    Note:
    Use this option only for a single object (a single-table spreadsheet).
    For multiple object-tables that link to one another:
    a. Continue to the next step to set up the objects and the relationships between them.
    b. Then use the Data Import Wizard to upload your spreadsheet data into those objects.
    Learn more: Import Data
  3. Choose Create Using Wizard to create the application objects using the Application Construction Wizard:
    • Define the objects, specifying singular and plural labels and creating up to 10 data fields for each. (You can create more later.)
    • Specify object relationships, which creates the Lookup fields that connect objects to one another.
    • Later, use the Object Construction Wizard to add additional objects and relationships.
  4. Once the application is created, configure the Application Access settings to give yourself permission to access it.
    • Assign yourself the default role.

Customize the application:

  1. Create the application Roles
  2. For each object, create the Forms that will be used by each role
  3. Configure Forms Assignment settings to assign the forms to specific roles
  4. Configure Tab Preferences to specify the objects that will appear for each role, and the order in which they appear
  5. Configure View Preferences for each Role:
    • Select the Dashboard
    • Specify which records are shown in each object View
  6. Customize Field settings. Add additional fields, as needed.
  7. Further customize the Forms that will be seen when records are accessed or created
  8. Explore other ways to customize Objects
  9. Use the Application Access settings to specify other users who can access the application, and the roles they can play.