AgileXRM Release Notes 6.1.19010.2050

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS Integration

Enhancements

  • Process Template Cleaner Tool includes orphaned instances
  • Process Template Cleaner Tool allows Started Date Ranges
    For instance, cancel all instances still Running from 3 years ago
  • Change Relationship between Process Template and AgileXRM Process Entities
    The relationship type has changed from Parental to Referential to avoid bulk Reassign when Template Owner changes. This was causing unresponsiveness in high-volume environments, while all child instances were being reassigned

Fixes

  • User could not cancel a CRM Activity linked to AgilePoint

AgileDialogs

Enhancements

  • New Numeric Control
    It is recommended t use this control instead of a Text Control of type Numeric (change your existing ones to new Numeric Control)
  • Add DialogsEngine.getLabel and setLabel methods
    Labels can now be queried and set via javascript
  • Add new CustomValidationMessage property to input-type controls to allow for standard localization mechanisms

Fixes

  • Info Control was not displaying the value that was being set via javascript
  • Text Control validation was failing for certain numeric configurations
  • Page Preview window was throwing an exception if Text Control of type Decimal had a DefaultValue with a variable in it

Process Manager

  • None

Envision Process Modeler

Enhancements

  • New AgilePart to call certain API Messages
    This shape allows calling certain Dynamics API Messages:

    • AddUserToRecordTeam
    • RemoveUserFromRecordTeam
    • WhoAmI
    • ReassignObjectsOwner
    • ReassignObjectsSystemUser
    • CalculateRollupField
    • RetrieveExchangeRate
    • AddPrincipalToQueue
    • AddToQueue
    • PickFromQueue
    • ReleaseToQueue
    • RemoveFromQueue
    • ConvertOwnerTeamToAccessTeam
  • Show Global Variables (Shared Custom Attributes) in Schema Picker window

Fixes

  • Generic Activity Shape was allowing empty activity type at design-time causing exception at runtime
  • Validate action from Ribbon no longer obliges user to add template to CRM

Miscellaneous

  • Breaking Change: When passing native types to a sub-process, these are no no longer converted to String
    For instance a Date or an Float/Decimal are passed as is and not converted. Make sure you do not depend on the string representation of the variables passed from the parent process in the sub-process.
  • Improved custom Process Instance Name generation
    To improve sorting, custom process instance naming convention has improved
  • Include NX Service Pack 1 Update 2 HotFix 5 (See Release Notes)

 

AgileXRM Release Notes 6.1.18291.2040

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Envision Process Modeler

ENHANCEMENTS

  • REST shape
    Call any REST service. It supports REST Access Tokens created in NX.

FIXES

  • SubDialog shape Wait All Incoming parameter allowed values other than True(Dyanmic) causing unexpected behavior
  • SetStatusMultiple Shape did not complete when async execution was set
  • Performance window in Envision did not behave correctly when an OR shape was present

AgileDialogs

ENHANCEMENTS

  • Allow Dialog Designer to include images from within Envision
    This greatly simplifies managing images. Before this, one had to include the URL of an existing image. Now just Copy+Paste an image

FIXES

  • Decimal Text Control was not showing value correctly when no decimal part was set
  • Numeric Text Control was saving invalid numeric values for certain cultures
  • AfterSubmit parameter did not work when value was URL
  • Combo Control bounded to an OptionSet failed when using REDIS cache

CRM Integration

ENHANCEMENTS

  • Allow command bar actions to start AgileDialogs using Template Name
  • Create a new AgileDialogs Theme for CDS called theme.cds
  • Adapt AgileXRM solution for CDS

FIXES

  • Federated authentication did not work when opening a CRM Task for the very first time
  • CrmConnector config window did not show some controls in low-res screens
  • Save as completed option did not work in Unified Interface

Process Manager

ENHANCEMENTS

  • Added Hierarchical Process Cancellation functionality to Process Cleaner Tool
    Old obsolete processes can now be cancelled by selecting a date-range and the tool will automatically cancel them from top to bottom when there is process hierarchy. This avoids that the cancellation of a child process make the parent process continue.

FIXES

  • ProcessManager did not refresh ProcessViewer properly
  • There was a memory-leak when using REDIS cache
  • Cancelling a SubDialog did not cancel the parent dialog

Miscellaneous

  • Support Anonymous users in Cloud for public Dialogs

 

AgileXRM Release Notes 6.1.18169.2040

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS for Apps Integration

Support for CDS for Apps

Most notable enhancement is AgileXRM’s support for CDS for Apps, so you can easily build complex Business Processes and Dialogs for your CDS Model-Driven Apps as well as for Dynamics 365. And that, of course, includes support for Unified Interface.

Other enhancements

  • Attach/Detach Document shapes enhanced for Cloud deployment
    Move docs in and out of Dynamics 365/CDS from and into external document repositories, namely: SharePoint, Amazon S3, Box, Dropbox, Google Drive, OneDrive, OneDrive for Business, Salesforce, NetSuite, FTP, SFTP
  • Add new view for ProcessTemplates entity: “Proceses my teams can initiate”
  • Update Dynamics 365 SDK to latest version: 9.0.2.3
  • Security Enhancements:
    • Query functionality to Impersonate other users, restricted to sysadmin only
    • Only sysadmin can use System as security context in Envision/CRM Process Template

Fixes

  • CRM Plugin was not logging the exception when PostMethodException was thrown
  • CanResumeDialogs function failed on occasions

AgileDialogs

Notable enhancements are two new very useful Controls that improve and optimize AgileDialog design:

Search Control

Typically used for showing details of a Lookup in the Page, this non-visible Control executes a query (FetchXML) in Dynamics365/CDS to update other controls on the Page with the returned results.

Many times this saves having to use Search Shape steps in the dialog, for a cleaner  more optimized model.

Variable Control

In AgileDialogs, you often find hidden Text Controls so that the context of the dialog can be updated with some value. This technique works but was a bit confusing, so now with the non-visible Variable Control, you can set Custom Attributes with the desired values.

Other enhancements

  • Allow to specify labels for the OK and Cancel buttons in the DialogsEngine.confirm window
  • Breaking change: Text Control of type numeric now store Internal Value instead of Formatted Value
    If you relied on the Formatted Value, you need to modify your dialogs to use Display Value instead
  • Allow empty string for Info Control
    Previously, the validation forced the user set some value
  • Support German and Catalan languages

Fixes

  • Open Dialog List Page did not identify orgname correctly
  • CRM Lookup Control was not using ControlWidth property
  • AgileDialogs version number was being repeated when dialog did not have Title
  • AgileDialogs was throwing an uncontrolled exception when trying to download an invalid or deleted annotation
  • AgileDialogs Activity was failing if InputParameter property contained special characters in a Custom Attribute

Process Manager

  • Improved sorting in the Activities and Data tabs in the Details section

Envision Process Modeler

Enhancements

  • Set BPF Stage Shape to use supported methods (CRM 8.2+, 9+)
  • Improve Envision Readable XML-file generation
  • Improve CRM Connection window to reduce load-time
  • Improve Environment Explorer: Add Delete and Import operations

Fixes

  • OOTB Custom Attributes in Schema Mapper were not being populated
  • Changing Email Template name in Send XRM Email shapes failed every other time
  • Page allowed adding 2 Tabs with same name, then entering in an endless error loop
  • Endless error loop if added 2 Tabs and then tried to remove them
  • Ribbon was not being shown correctly in some non-English languages

Miscellaneous

  • Include NX Service Pack 1 Update 2 HotFix 4 (See Release Notes)
  • Add support for IIS 10
  • Add Private Cloud option
    Apart from OnPremise and Cloud deployment options, there is now a PrivateCloud option

 

Implementing Dynamics 365/CRM shouldn’t be like making a Movie

Why do so many CRM implementations fail?

Dynamics 365/CRM is an extremely powerful platform to create amazing Business Apps. So why do so many projects go wrong? Well, for many of the same reasons many Movies fail at the box-office (around 60% according to the 2016 figures) . First of all, everyone involved in making the Movie needs to be top-notch, from the script-writer, to the director, the actors, the camera crew and a whole lot of other people involved in it. If you don’t have sufficient budget, it is very hard to make a great Movie as all these “experts” cost loads of money. And even then, there is no guarantee the resultant outcome will be a success with the end-customer (the spectator). Because it is hard to predict spectator expectation.

Over-complicating the story is another reason for flops. People like Movies they can understand. Make it too complicated and the viewer loses interest quickly.

But how can the movie-making process be improved for higher success rate?

What if the film script was not “hard-coded”? What if it could be a simple idea at the beginning and a Short was made of it vey quickly and put in front of the spectator and the feedback was taken into account to change and extend the Movie? What if this could be done over and over again iteratively until all the best ideas were incorporated and the spectator was involved from the beginning and throughout the whole “making” process.

So why do they not make Movies this way?

Because it would cost too much and it would take too long. Though technology nowadays, allows some experimentation to see which scene works best before including it in the Movie, it is still not flexible enough to allow the film makers to control where the Movie is going.

How does all this relate to CRM implementation projects?

Well, many of these projects have only a few (if any) experts involved in them. The users (spectators) are asked what they want in the project at the beginning and some user requirements are similar to spectacular Movie scenes that are extremely hard to create and still they get into the specs  even though a simpler alternative scene would have had the same effect. Everyone then goes off to develop the project from the “hard-coded” Requirements Document (the script) with little space for maneuvering.  However when the project is ready to go on air, the users mostly do not find what they were expecting.  Therefore, either it is not adopted or lots of changes (re-makes) are asked for, making times and costs soar beyond plans and budgets.

Also, many of the requirements force the team to over-customize the CRM system, albeit using supported mechanisms. These over-customizations are fragile. Too many moving parts and too complex to maintain, slowing down, and sometimes stopping, the solution from evolving.

Evolving is the key: CRM projects need to Evolve

A finished Movie cannot be changed. You can do a remake or a Part II at great cost, but you cannot change the original Movie. But CRM implementations need to change, since Business Requirements are always changing.  Whilst you are writing the specs down, they have already changed!

Change is real and required, so no point fighting it. We just need to be able to cater for it. And cater for it at the speed change occurs, otherwise we are always lagging behind.

What does AgileXRM bring to the table to help Dynamics 365/CRM projects succeed?

Short Answer:

  • Faster Turnarounds
  • Less Dependency on Experts
  • No need to Over-Customize
  • Allows an Iterative “Creation” Process
  • Same model throughout: Design, Runtime, Monitoring

Long Answer:

FAST IS GOOD

Projects need inertia and nothing dampens inertia more than slowness. If users need to wait for something to arrive for too long, they get bored. If you can keep a fast pace in the project the inertia is intact and pushes the project forward.

A partner of ours did a study to see how much time was saved in their projects using OOTB Dynamics 365/CRM versus with AgileXRM Add-On. Well, they found a whopping 50% time-saving, or in another words, it doubles the productivity.

NOT EVERYONE NEEDS TO BE A GURU

There is a profound shortage of Dynamics 365/CRM experts out there. You are lucky if you have one in your team. Developing performant Workflows or designing BPFs and coding Plugins or UI JavaScript, integration, modelling relationships and implementing security, etc. all require skill and lots of it. So projects are either waiting for the expert to do his/her bits or there is no expert, and the brave team members soldier on, doing their best and searching for expert advice on the internet.

AgileXRM lowers the resource skill requirements. Being Low-Code means less specialized abilities are needed to achieve higher results. Being homogenous means no need to decipher which bit of the requirement goes where (WF vs Plugins vs Actions vs BPF vs Custom Activities vs JavaScript versus Business Rules – and recently – vs Flow vs LogicApps vs PowerApps). In AgileXRM everything is done through configuration of basic blocks in the same way (with the occasional simple JavaScript for certain specific UI requirements).

For example, some junior consultants in some of our clients, build, manage and maintain very complex Dynamics 365/CRM AgileXRM-aided solutions out there. We are talking cross-departamental and/or cross-organization, cross-system and high-volume core-business processes with hundreds of steps and rules within them. Not the kind of thing you would throw at a junior! But they go deliver with the help of AgileXRM.

This doesn’t mean you don’t need experts anymore! No way! Somebody still needs to define the overall architecture and design of the solution, and overlook the project as it evolves, but much less hands-on and much less of the expert’s time is required.

K.I.S.S.

Why does over-customization occur in the first place? Sometimes because the Project Team doesn’t filter the requirements and lets the user design the system, but more often, it is because real business requirements tend to be very complex in the first place. And by the time you implement such requirements, you find you have tons of customizations all over the place, all interdependent and no one person in the team able to understand all the bits. Complex requirements should not imply complex solutions. If the complex requirement could be broken down to manageable chunks, then the solution could become simply elegant.  This is what AgileXRM provides. A way to break down these complex requirements to understandable blocks, simple pieces that can be quickly assembled and also maintained over time.

For example, we arrived on the scene in one client, nearly 2.5 years after their project had started. They had gone live for a year but user adoption was so low that the whole project was about to be scrapped. The SI contacted us, and their principal consultant, single-handedly managed to implement those very complex requirements with AgileXRM in 3 months the way the users wanted. And he did it without prior knowledge of our Add-on. But don’t wait to fail before resorting to AgileXRM. The earlier you use it the better the results and the simpler the solution.  Keep It So Simple!

GO ROUND IN CIRCLES

No one knows all the requirements upfront. It arrives in trickles. When you ask, users express all they know, mostly about the happy-path, but when they see the resultant solution, they remember all the other cases they forgot to mention. Usually this is a “problem” as changing things already developed is not easy, and is even more complicated if the solution is out there running in production.

With AgileXRM, asking for change is always welcomed! It thrives on it! This is how the solutions is iteratively improved. In a Banking client, the full Credit Cards Claims Process (a 120-page comprehensive analysis doc) was modeled, configured and published to UAT in 9 days (by two consultants). In the following 2 weeks, users getting to use the system, asked for 33 additional changes to the process that were not contemplated in the original specs. These changes were added daily, until one month after starting the modelling, the users had the real Business Process up and running in PRO, not the theoretical one in the docs.

So the circle is: Hear what user wants–>Configure and deploy it quickly so user sees it working–>Hear what user wants, and so on. Iterate Quickly!

W.Y.S.I.W.Y.G.

Seeing is Believing. So if the users can see they are part of the solution creation process then half of your problems are solved: No User Adoption issues; No bad surprises; No Them versus Us. To be able to involve them properly the creation process should be visual and lasting. If you model the business processes visually then the user never sees the model again in runtime, the disconnect gap grows, because you have implemented your interpretation of the model which well may be different to the user’s interpretation. If user sees the same model in execution, then it is a different story.

With AgileXRM the same business process model that is designed is the same one users see at runtime. What you model is what you execute and monitor.

This also helps greatly to detect where processes can be improved. The business process is not buried underneath lots of disparate bits, but is explicit and in front of everyone. This is what the term “Let’s read of the same page” means.

Conclusions

Implementing Dynamics 365/CRM should not be like making a Movie, but rather more like making a TV Show series where the producers deliver episodes frequently and take all the spectator feedback into account for the next episode. It is like a series created by the spectators for the spectators, with the supervision of the producers to make sure common sense is not lost on the way.

This all sounds very much like the Agile Manifesto. And it is not a coincidence that the product name has the word Agile in it: AgileXRM.

Bring Agility to your Dynamics 365/CRM projects with AgileXRM and Happy Implementing!

CRM 2016 Service Pack 1 (Update 1.0) and Outlook Client added

Hi CRMers!

It’s been a while since the last update to the Dynamics CRM Installation dialog but we were busy tuning AgileXRM for the Cloud (more about that later).

For those of you new to the concept of this dialog, it is a step-by-step wizard that helps you install Dynamics CRM on your servers the correct way. You can install CRM on one machine or on a number of distributed servers. All of the steps are done through PowerShell remotely.

There have been thousands of executions of this dialog so far by members of the CRM Community, and we are happy to provide some more improvements:

  • Support CRM 2016 SP1 Update
  • Outlook CRM Client installation
  • Allow creating the OU for CRM in any path
  • Execute DNS scripts remotely
  • Execute AD scripts remotely
  • Optionally Enable CRM Tracing
  • Remove HTTP binding after HTTPS binding is set up
  • Fix bugs of course

 

Happy installing and don’t forget to share if you like it!

 

Dynamics CRM Installation Guide now documents it for you

Hi CRMers!!!

More jazzy stuff packed into the dialog.

A new version was just published which has these enhancements incorporated:

  •  Generate Implementation Documentation
    Saves you time documenting your installation. It puts all the configuration settings and values of your particular deployment into a nicely formatted Word document and sends it to you via email
  • Language Packs and non-English Org Base Languages
    User-selected Lang Packs are downloaded and installed with a PowerShell. Then it allows you to create new Orgs with non-English Base Languages
  • Apply Rollup Updates (if applicable)
    Before, it just pointed you to the download page for the RU. You had to know what to install where. Now it takes care of it for you, including the MUI updates for the Lang Packs
  • Do not allow Reserved Words as Org names
    Avoids installation errors, because some words are just not allowed
  • Get Report Server URL PowerShell bug fixed
    This was not working if there were more than one instance of RS on same machine. Now it does.

And here is a complete list of all the pending enhancements, in no particular order:

  • Include Outlook Client installation and configuration (Work in Progress)
  • Include BIDS installation
  • Allow adding additional Deployment Administrators
  • Allow selecting CRM Server Roles per server
  • Add CRM Upgrade Wizard (from CRM 2013 to 2015 or 2016)
  • SubDialog for NLB Configuration
  • Execute AD scripts remotely
  • Optionally Enable Tracing
  • Remove HTTP binding after HTTPS binding is set up
  • Install with all Firewalls On (set Firewall Rules)
  • Extend or Disable ADFS Certificate Rollover
  • Automate USD 2.0 installation
  • Install and configure Dynamics CRM List Component for SharePoint

Keep the feedback coming and Happy Installing!!!

More Enhancements for Dynamics CRM Installation Dialog

Keeping up-to-date with all the requests we are receiving asking us to add even more functionality to the dialog, on top of our day jobs, is a challenge but a good one. So we are busy and happily doing them.

In fact, we already finished localizing the dialog to Spanish. To see it, just change the lcid=1033 in the URL to lcid=1034 and you get the Spanish version (or click here).

Here is the list of new requests:

  • Generate documentation of my deployment configuration
    We agree that this is very useful. So we’ll add the possibility to send you a document (in Word format so you can further edit it if you wish) at the end of the installation with all the configuration choices you made in the dialog.
  • Allow Base Languages other than US English
    Only normal, given the extensive non-English fans of Dynamics CRM. We’ll first allow the user to select all the Language Packs they want to add to the deployment. After that, creating a new Org with a different Base Language is simple
  • Allow adding additional Deployment Administrators
    Just adding a user in Deployment Manager is not enough. There are a whole lot of specific permissions that the new user needs to have, to become a CRM Deployment Administrator
  • Do not allow Reserved Words as Org names
    There is a list out there with names that you cannot use as Org names. Dialog will make sure you cannot use these in the Org name field
  • Allow selecting CRM Server Roles per server
    This would permit, for instance, to combine your Back-end/Front-end  and Deployment Servers or any other combination. But this has more consequences that requires plenty of work in the dialog. But we’ll get there!

There was also a bug that has already been fixed and published:

  • Report Server URL field’s validation rule did not allow certain valid URLs

That’s it for now. Happy Installing!!!

 

CRM Installation Wizard Enhancements

Since the release of the CRM Installation dialog/wizard (find it here) to the CRM Community a month ago, we have had hundreds of instances executed and have received a lot very heartening and useful feedback:

This one, we particularly liked (Thanks Jukka) :

Perhaps the coolest dialog I've ever seen: https://t.co/ZO4SSaZkrZ - Full #MSDynCRM server deployment with @AgileXRM — Jukka Niiranen (@jukkan) February 22, 2016

Apart from some minor changes, like allowing Report Server Instance Name to be different to the SQL Server Instance, users have asked for the following enhancements:

  • Include Outlook Client installation
    This is currently being done and will be available soon. Also there will be pages for the installation of Report Authoring Extensions.
  • Translate dialog to other languages
    The Spanish-speaking community asked for this one. The same dialog can be translated to different languages and Spanish is being done right now and will be available soon.
  • Add CRM Upgrade Wizard (from CRM 2013 to 2015 or 2016)
    We will consider this for a future enhancement.
  • SubDialog for NLB Configuration
    We did not originally include this, as from our experience, clients usually have a more powerful load balancing solution in place and we have never seen MS NLB being used. However we will consider it for a future enhancement as it will be useful for setting up non-production environments.
  • Install CRM 2016 on Windows Server 2012 R2 Core
    Theoretically, the dialog as it is, can be used for this purpose, but when we tried it, we hit issues regarding access to Windows installation media, and even with following many suggestions on the internet, we were unable to make it work. So if anyone knows how to make the following PowerShell work remotely on a Windows Server 2012 R2 Core, comment below and we will incorporate it in the dialog:

    Install-WindowsFeature Web-Server -IncludeManagementTools -IncludeAllSubFeature;
  • Execute AD scripts remotely
    Right now, you need to execute the scripts locally. This will be done soon.

Please keep the feedback coming!

Happy installing!!!

 

Dynamics CRM Installations for everyone!

Just type How to install Dynamics CRM in your search engine and you get back a huge number of hits. And another massive set of pages if you search for CRM issues that are installation-related.

When we arrive at a client, Dynamics CRM is usually already installed there. We just need to connect to it to add our business process functionality. However nearly every time, there are issues. To make it worst client would say “Look, I navigate to CRM and it is working, so the issue is on your side”. Just because CRM Web app is working, does not mean CRM is properly installed and everything else in CRM is also working.

We are yet to find a 100% clean CRM installation (I am sure yours is one of the 100% ones 🙂 ). So we ended up troubleshooting their CRM installation and fixing them until it became clear that if we could find a way to help clients install their CRM properly in the first place, everyone would benefit. No more finger-pointing and joy for all.

So we thought why not use our own dog-food and create a wizard (a dialog) that guides the user with installing CRM in any type of deployment.

The first person we approached (no names) to ask his opinion, if this was doable, told us “It is impossible. Don’t waste your time”. He became our first beta-tester, and an avid fan.

So judge for yourself. Try the dialog and install a fully working environment:

  • Production-ready
  • All best practices incorporated
  • Muti-Server set ups (from 1 to up to 26 servers)
  • Automated through Remote PowerShell
  • Separation of Roles
  • Proper Kerberos
  • Right Service Principal Names
  • DNS
  • HTTP/HTTPS/Calims/IFD
  • Optimizations
  • more…

Of course, do send your feedback (in the dialog itself) for enhancements or bug fixes.

We will try to keep this dialog up-to-date for upcoming version/rollups of the best CRM out there in the market: Dynamics CRM.

Happy installing!