Category: Scribe

New: the Scribe Online Toolbox

New: the Scribe Online Toolbox

Six years ago, I started working with Scribe and since then I use some Scribe component in almost every project I do. With Scribe Online as my no. 1 integration platform I’ve been able to take most of my integration requirements to a success.

When you work with Scribe Online a lot, you notice some features are missing. Features that don’t affect the integration itself, but that make your life as a Consultant or Developer easier. Well here is www.scribeonlinetoolbox.com. Together we should make life easier!

Let’s make a wishlist:

  • Bulk enable/disable Solutions – one of the connecting application goes into acquaintance mode. Your Solution tries to connect every 5 minutes, but since the application is down, email start to run. Would it be easy to just enable or disable a couple Solutions with one click?
  • Bulk enable/disable Maps – exactly the same as above, but now for Maps ūüôā
  • Easy transfer Maps from one Solution or Org to another – most customers have separate Orgs for their dev, test, acceptance and production. It would be great to have the possibility to just transfer a Map from one Org to another without the need to download and upload the json file, modifying the name, validating etc.
  • Documentation in one click – a nice presented Word file with your block-structure and mappings in place? (ps. I know about the Google Docs tool, but let’s face it… it’s Google Docs….)

I’m sure you can think of more tools we might need ;-). For now, I started with the first one and will continue to work on the other tools. Please let me know if you have any ideas or what you think of the Scribe Online Toolbox :-).


Hidden feature: OpenAPI Spec for Scribe Online Request/Reply Maps

Hidden feature: OpenAPI Spec for Scribe Online Request/Reply Maps

Since Scribe launched the Request/Reply functionality, it’s hard for me to think of any project where it couldn’t be used. For those of you who don’t have any idea what I’m talking about: Scribe Online Request/Reply offers the capability to create you own WebApi without any coding. With just a few clicks, you are able to get a url and define any (complex) logic behind. If you want to read more on Scribe Online Request/Reply, check out this blog post by Paul Varley.

OpenAPI Specification / Swagger

With the ability to create and customize your own WebApi rapidly, the need for a specification about your API grows. Especially when you provide the API to customers or partners. Lucky for us, someone thought of this. The world of API’s has embraced an open standard for API specifications. This standard – formerly know as Swagger – is called OpenAPI Specification. You can read all about it at¬†https://swagger.io/.

How to get a specification on my Request/Reply?

This is where the fun part starts, cause it’s so-so-simple! When you create your Request/Reply, you get the endpoint url. Let’s say it’s like this:
https://endpoint.scribesoft.com/v1/orgs/123456/requests/1234?accesstoken=XYZ

Now in order to get the OpenAPI Specification, all you need to do is to add ‘/api-docs’ at the end of your url, right before the parameter! It’ll be like this:
https://endpoint.scribesoft.com/v1/orgs/123456/requests/1234/api-docs?accesstoken=XYZ

Now dump the url in your browser and you’ll get the OpenAPI Specification you want. In a next blog, I’ll tell you all about how you can use this together with Microsoft Flow.

Migrating / Importing data and maintaining Created By, Modified By and Modified On

Migrating / Importing data and maintaining Created By, Modified By and Modified On

When importing or migrating data¬†to a Dynamics 365 / CRM environment you cannot migrate the fields Created By, Modified By and Modified On. Most customers won’t bother about it until it comes down to the migration of ‘old’ activities. By default, the Social Panes show activities sorted on the Modified On date. So when you migrate data and all activities have ‘today’ as the Modified On date, you’ll get problems with the sorting of activities.

Migrating the data and setting the fields

As you know, it’s not possible to set the values of the Created By, Modified By and Modified On date. That is when you try to set this data directly. Lucky for us, when using the SDK it is actually possible to set the values of those fields. The solution contains a plugin that does this:

  • At the creation of a record, check if the field ‘dnbs_overriddencreatedby’ contains a value. If so, set the field createdby to that value.
  • At updating a record,¬†check if the field ‘dnbs_overriddenmodifiedby’ contains a value. If so, set the field modifiedby to that value.
  • At updating a record,¬†check if the field ‘dnbs_overriddenmodifiedon’ contains a value. If so, set the field modifiedon to that value.

In order to make this work for your data migration or data import, just make sure you set the values of the fields¬†‘dnbs_overriddencreatedby’,¬†‘dnbs_overriddenmodifiedby’ and¬†‘dnbs_overriddenmodifiedon’. These are the schema names of the fields. The display names are:¬†Overridden Created By,¬†Overridden Modified By and¬†Overridden Modified On. When you import the solution, these fields are available on these entities:

  • Appointment
  • E-mail
  • Letter
  • Phonecall
  • Taks

The solution is extensible

The plugin inside the solution is setup to fire off on all entities. This means that you can extend the use of this plugin to all other entities. When you want to use the same method on the Account entity, for instance. You just need to make sure you create these fields on that entity. The schema names of those fields must exactly match these names.

  • dnbs_overriddencreatedby as a Lookup to the User entity;
  • dnbs_overriddenmodifiedby as a Lookup to the User entity;
  • dnbs_overriddenmodifiedon as a Date and Time field.

Don’t forget to delete the solution!

When you are done with migrating or importing your data, don’t forget to delete the solution! As you have seen above, the plugin fires off at all updates. This is a loss to your performance and also you might get into trouble with the Modified By and Modified On fields not being updated right.

Download your solution here

Download

The source code can be found here

https://github.com/marcgerner/D365ActivityMigration