Skip navigation

Introduction

In the previous post, we extended the Activity Template feature to include the possibility of pre-defining optional Participants within the templates.

 

What is achieved by following the instructions can have practical applicability without modifications but should not be set in stone, the main goal is to illustrate how the underlying features can be combined to shape Aurea CRM to individual needs and processes of each organization.

 

Important: The changes described in this post should not be applied directly to a production system, especially the changes involving the Data Model and CRM.designer configurations. Careful testing should be performed to eliminate the possibility of human error following the instructions or unexpected interactions with pre-existing customizations.

 

In this post, we will add a global disclaimer text to all the Activities of type Service Visit with the following requirements:

  • It must be identical in all newly created Service Visits;
  • It needs to be regularly revised and updated in a centralized way.

 

Let's assume this is the disclaimer to be added to the text of each Service Visit:

Disclaimer:

Service Visits are essential to assure the correct operation and maintenance of your equipment.

The impossibility to perform maintenance tasks within the defined schedule can void the equipment's Warranty.

We thank you in advance for your collaboration.

 

User-defined Variables

Because our disclaimer needs to be managed in a centralized way, User-defined Variables are a good candidate to meet the requirements.

 

Defining variables in the Variable info area

The Variable and Variable Value info areas can be maintained in Aurea CRM.win (Defining Variables) and Aurea CRM.web (Variables).

 

Let's start by creating a new Variable(Z5) named CU_MA_ServiceVisit_Disclaimer in CRM.web.

Please note that the Info Area and Field Number are simply a convenient way to determine the Data Type of the variable. The variable can still be used with other info areas and fields with the same data type.

After the variable is created, one or more values can be assigned.

In this case, we can add HTML tags to the variable because the target field is defined as an HTML field.

The time a new Variable Value takes to be available is controlled by the Catalog Refresh Frequency, as described in Station Configuration: Cat. refresh frq.

Data Access Considerations

By default, the menu option is available in Settings > Maintenance > Variables.

As the default location of the option suggests, editing Variables is not a common task for an ACRM user as is considered a Maintenance task. For this reason, take the following into consideration:

  • In CRM.designer, the menu location can be altered to a more convenient place by editing the corresponding configuration units;
  • Through Roles, Access to the option can be provided or restricted to certain users or groups;
  • By defining suitable Rights, non-administrative users can be prevented to edit Variables not created by themselves or their group.

 

Triggers

Now that we have a Variable holding the text of our disclaimer, Triggers are a suitable option to make use of it.

 

Defining the Trigger

We want to Append the value of the Variable named CU_MA_ServiceVisit_Disclaimer, to express this the Trigger can be defined as follows:

PropertyValue
NameMA_append_disclaimer
Info AreaActivity
ActionEdit/Update

 

 

FieldFunctionField ContentsVariable
TextAppendCU_MA_ServiceVisit_DisclaimerVariable

 

 

For more information about defining triggers please consult Defining Triggers in the Core Administrator Guide.

 

Setting up the Trigger

The definition of which events initiate the trigger is done through the Rights format as described in Defining Database Events.

In our scenario, we want to run the Trigger for the Activity info area whenever a New record of Type Service Visit is created.

In a development system, an IIS application pool restart can expedite the loading of the new Triggers and Rights formats by CRM.web.

An alternative to the application pool recycle is to rely on the Format Refresh Frequency as described in the Station Configuration: Format. refresh frq. section of the Core Administrator Guide.

 

Creating a Service Visit

Now that Variable and Trigger creation and setup is complete, we can proceed with the creation of a new Service Visit in CRM.web.

 

Upon saving, we see that the text defined in the Variable is appended to the Text field of the Activity.

 

 

Conclusion

In this post, we used a user-defined Variable combined with a Trigger to append a boilerplate text to all Service Visits.

Although ACRM offers other mechanisms to achieve a similar outcome, the one presented is easy to maintain and because it is implemented in the ACRM Core, it has the added benefit of working in any ACRM application used to create Service Visits, not just in CRM.web.

 

On the next post, we will work on the final requirement of this series:

3. The name and email signature of the user must be added to the activity text

The final requirement has a few characteristics in common with the one covered on this post but we will use the differences as a pretext to explore other ACRM features.

 

References

Introduction

This is the 1st of a set of 3 posts that focus on the Activity Template feature as a starting point to describe various aspects of Aurea CRM, some built-in others available through the Aurea ISI template.

 

What is achieved by following the instructions can have practical applicability without modifications but should not be set in stone, the main goal is to illustrate how the underlying features can be combined to shape Aurea CRM to individual needs and processes of each organization.

 

Important: The changes described in this post should not be applied directly to a production system, especially the changes involving the Data Model and CRM.designer configurations. Careful testing should be performed to eliminate the possibility of human error following the instructions or unexpected interactions with pre-existing customizations.

 

Using Activity Templates

The Activity Template feature, included in the ISI Template for the BTB vertical of ACRM, provides a convenient way to automatically populate a new Activity avoiding the manual work of repetitively setting frequently used combinations of field values.

 

Let’s take the example of 3 Service Visit activities with different priority, defined as follow for illustration purposes:

  • Low Priority - Not contracted by the customer or following any particular schedule, mostly a courtesy visit to keep in touch and assure everything is going smoothly with the supplied product.
  • Medium Priority - Part of a maintenance contract, needs to follow a strict schedule.
  • High Priority - The supplied product sent an alarm through a remote monitoring channel, the visit is urgent.

 

Given the 3 hypothetical meaning of each priority, we can conveniently define 3 templates that save us from having to select manually the Type and Purpose,  and to type boilerplate text in the Text and Subject fields, every time a new activity needs to be scheduled.

 

Template NameActivity TypeText
SV - Low PriorityService Visit

Dear customer,

 

 

I would like to inform you that a Service Visit has been scheduled.

 

 

I hope the scheduled date is convenient and will be looking forward to the visit.

 

 

With my best regards,

SV - Medium PriorityService Visit

Dear customer,

 

 

I would like to inform you that a Service Visit has been scheduled.

 

 

As part of your maintenance contract and as warranty requirements, this visit must occur on the scheduled date or no later than 2 calendar weeks.

 

 

Please inform me promptly if a reschedule is necessary.

 

 

With my best regards,

SV - High PriorityService Visit

Dear customer,

 

 

due to the need for an urgent maintenance intervention to your equipment, I would like to inform you that a service visit has been scheduled.

 

 

Please take into consideration that due to the urgency, this visit must not be postponed.

 

 

With my best regards,

 

The templates would look like this after being defined in CRM.web

CRM.web: Viewing and Creating Activity Templates

The image is self-explanatory of how the templates are defined.

 

Then, to use the templates, the users simply have to click on the Activity Template selector when adding a new Activity.

The values defined in the selected template are copied to the new activity.

 

One of the advantages of using Activity Templates is providing the possibility of users defining their templates on their own, without the overhead of developing equivalent functionality using CRM.designer or CRM.core features only available to administrators and developers.

 

Everything described so far can be put in practice by any user, as long as access to the feature and write permissions to the Activity Template (A031) info-area are provided.

 

Extending the Activity Templates feature

This section was inspired by a footnote on the ISI Template Guide document that reads as follows:

“If you want to add a new field to the Template, you need to add it in the data model and configure the Select function to copy the A031 field to the correct MA field.”

Although it does not go into details, this tells us that activity Templates are extensible and customizable, which is true for most Aurea CRM features.

 

To illustrate the latent extensibility, let’s consider the following requirements not achievable with the unmodified default feature:

1. Service Visits must include a pre-defined set of additional participants

    • the Maintenance team leader;
    • up to 2 trainee engineers to optionally come along for on-the-job training.

2. A global disclaimer text must be included in all Service Visits

    • It must be identical in all newly created Service Visits;
    • It needs to be regularly revised and updated in a centralized way.

3. The name and email signature of the user must be added to the activity text with the following format

    • Company Name
    • FirstName LastName
    • Job Title

 

Let’s proceed with the implementation of the requirements.

  • From this point on administrative privileges are required
  • It is also a good moment to moment to remember that these instruction are not intended for direct use in a production environment

 

1. Service Visits must include a pre-defined set of participants

 

a) Extending the data model

 

When we consider this first requirement the first thing we notice, after accessing the Win Maintenance module, is that by default the info-area A031 does not contain any fields to hold participants.

The obvious thing to do is to add the missing fields.

 

We know we need several participants which can leads to the following decision

  • The suitable field type is uid which can hold the identifier of a user (or Rep)
  • An array of fields is a good option given we need to store a variable number of participants
  • Additionally we will need an auxiliary Text field

 

These changes can be made on the Main station using the Win Maintenace module, as illustrated below:

 

Before proceeding to the next step don’t forget to:

 

b) CRM.designer Configuration

 

  • Activity Template (A031)

    • Add the 1st Participant field and the auxiliary Text field to the A031 Details Field Control

         

var idx;
var value = "";
var participants = $.getValue();
for(idx=0; idx < participants.length; idx++)
{
        //value+=participants[idx]+",:0;"; //required
        value+=participants[idx]+",:1;"; //optional
        //value+=participants[idx]+",:2;"; //information
}
$.setValue(7012, value)

 

  • Activity (MA)

    • Extend the Select-Function of field Template Name (6005) to copy the auxiliary field of the Template(7012) into the Participant(12) field.
selectRecord({
  from:
  {
    infoAreaId: "A031",
    searchAndListName: "A031",
    useAutoSearch: true
  },
  target:
  {
    copyFields:
    {
      6005:6000,
      0:6001,
      103:6002,
      5044:6008,
      6004:6004,
      1:6005,
      44:6006,
      24:6007,
      12:7012
    }
  },
  findAsYouType:
  {
    searchFields:[6000],
    textFields:[6000]
  }
});

 

 

  • Assure the template does not remove the current user as a required participant by using a Hook Function in field (6005).
//make the current Rep a required Participant
var templateParticipants = $.getValue(12);
$.setValue(12,u8.session.identity.repId+",:0;"+templateParticipants);

 

c) Result in CRM.web

 

As intended, it is now possible to pre-define up to 3 participants through an Activity Template.

 

Although the implementation required a sophisticated intervention, only possible to developers and administrators, the end-result can be used in a generic way by the users who can continue to create and maintain their templates.

 

Final Words

 

Thank you for time and attention while we went through a few of the techniques that can be used to tailor Aurea CRM to specific requirements.

 

This is the 1st of 3 posts.

 

On this post we implemented the 1st requirement

1. Service Visits must include a pre-defined set of additional participants

The following posts will cover the 2 remaining requirements:

2. A global disclaimer text must be included in all Service Visits

3. The name and email signature of the user must be added to the activity text

 

Intentionally, the technical details of how the requirements will be implemented are not provided in advance as a way to encourage the imagination.

Often there are multiple ways to meet requirements, it can be interesting to see if the reader’s ideas will match the ones posted.

 

Your feedback and suggestions on what we should cover next and how are welcome, please help us make these blog posts useful and relevant.

 

References

Support Knowledge Base

SDK Reference

Online Product Help

I’m writing this post on behalf of the ACRM team. This is my first post on AureaWorks but many of you already know me from support sessions and as one of the engineers answering cases at the level 3 of support.

 

I would like to bring to your attention the impact of KCS on the Support service and announce a complementary initiative taking place here on AureaWorks.

 

KCS

For those unfamiliar with the acronym, KCS stands for Knowledge-Centered Services, a proven methodology developed by the Consortium for Service Innovation. At Aurea, KCS was implemented in collaboration with our partner Coveo, a world-leading expert on KCS.

 

If you recently accessed the Aurea Support Portal with the intention of opening a support case but didn’t go through with it because a solution was conveniently presented even before you finished typing the case title, then you have experienced first-hand one of the many support portal improvements made possible thanks to KCS.

 

For other features made possible or enhanced through KCS, please refer to Ware Hartwell's post from early this year - Meet the New Aurea Support Portal: 6 Can’t-Miss Features.

 

Throughout 2019, the sustained implementation of KCS methodologies had a major impact on the expansion of the Support Knowledge Base, in the quantity and quality of articles, which resulted in clear improvements in case resolution speed and overall quality of the ACRM Support service:

  • Relevant information is swiftly provided through the “Suggested Solutions” functionality
  • Meaningful knowledge searches amount to more than twice the amount of cases resolved by the support department each week
  • Each week on average 12 new articles are created and published
  • Case Deflection average of 62 per week (cases not created after a KB search)

Complementing KCS

KCS is a continuous process which will never be completed. ACRM Support will continue fully committed to it as ever.

 

Technical Support is in a privileged position as we are exposed to a vast number of ACRM deployments, and routinely work on finding the best solution to a wide variety of challenges and issues. This kind of knowledge is typically consolidated in Knowledge Base articles.

 

ACRM Support, as a major publisher of experience-driven product knowledge, never ceases to think of ways to improve this process and we see AureaWorks as an opportunity to fill some gaps in the support experience.

 

Building upon KCS's success, we would like to go a step further in the creation and sharing of knowledge by engaging with the ACRM community - Customers, Partners, Aurea Support, Aurea Professional services and, at large, anyone currently using or interested in ACRM.

 

Regular technical posts in the ACRM Community

An open community has the potential of accelerating the type of interactions that result in the transmission of experience-driven knowledge between Aurea and our customers.

 

AureaWorks offers us the possibility to complement the traditional centralized distribution of experience-sourced knowledge, with Support at the center, with a more distributed community-based model.

 

With the goal of reinforcing the spread of product knowledge and promoting the engagement and community spirit among anyone using ACRM, we will regularly post articles in AureaWorks. The posts will cover diverse topics spanning product usage, administration, and development.

 

The posts will be opened to discussion but if a question requires extensive investigation, we may ask you to create a Support request. This will be handled by Support as any other request and when the answer is provided, the blog post will be updated with a comment describing the solution.

 

Join the Community

Please help us shape this initiative by providing us input and feedback on this plan and on the upcoming posts.

 

For example:

  • Which ACRM modules and topics would you like us to cover?
  • Should we cover development topics more often than usage topics, or vice-versa?
  • Was the content we posted too advanced? Do we need to add further context by describing basic ACRM concepts first?
  • Was the topic presented in an excessively narrow manner? does is it need a broader coverage to become clear?

 

Some of these questions can only be answered after the promised technical posts start posting, which will happen tomorrow. Meanwhile, please don’t hesitate to provide us your comments and suggestions below.