Mathias Osterkamp

Specialist – focus development Microsoft technology stack

SPFX 2019 Custom Installer

SPFX 2019 Custom Installer
What we create In SharePoint SPFX solution development you have most time the requirement to do some installation tasks. You have multiple solutions for that problem. First - most content can be deployed via XML manifest files to your website. This helps you with the most basic stuff, but if you like to do some more modifications, for example set special permissions on lists or deploy webparts to your page, it have to be done extra.

SPFX 2019 Unexpected token - Uglify

SPFX 2019 Unexpected token - Uglify

Problem If you are using some third party libraries on SPFX 2019 there can be a problem with your typescript language set. Everything works fine in development, but on production build you get an error message like this one: SyntaxError: Unexpected token: name (xxxxxx) from Uglify plugin The problem ist, that third party library uses ES6 code and UglifyJS ist not able to compile ES6. Solution UglifyJS does not support this compile, so we can go for TerserPlugin.

Migrate User Profile My Links

Problem SharePoint users can store favorite links directly inside the mysite. If you like to migrate to another SharePoint version or different server maybe you like to transfer these links without copy the database. In general these links are stored in the ProfileDB of your server. There is a smart article about this from Vinods source. Here a small sample, where you can edit links: source Solution I wrote a improved script to import and export the data via xml.

PowerApps TimeTracking for SevDesk Part 2

PowerApps TimeTracking for SevDesk Part 2

This article continues with technical details about my first part PowerApps TimeTracking for SevDesk. You have full access to the source code inside Office 365 PowerApps. Custom connector In general in PowerApps you need a data source for every app. This can be done by custom entities or with connectors. O365 brings you a lot of default connectors, if you have a third party system like SevDesk, you can create your own connector.

PowerApps TimeTracking for SevDesk

PowerApps TimeTracking for SevDesk

I was looking for a smart and simple mobile time tracking solution connected to SevDesk. SevDesk has no mobile solution for time tracking module. Existing third party apps where not fully fit my requirements. I was satisfied with the default module and implemented a mobile app with Office 365 - PowerApps. Source: sevdesk.de This was done a while a go, but I decided now to publish the sources to help you build your own.

SPFX 2019 eslint and prettier

SPFX 2019 eslint and prettier

For our current projects we used tslint and suffered for some problems. First main concern was, that VSCode was not able to give full feedback about code problems. Later on execution of gulp build all errors where thrown. Furthermore we got some conflicts with prettier solution and it was a hell to understand the current used rules from tslint. Also the tslint performance was very awful. We know it is deprecated for a while source and now its time to get rid of it.

SPFX 2019 Libraries with PnP JS

SPFX 2019 Libraries with PnP JS

What we create Ok. Here a small preview, what we like to create in this guide. A sample webpart loading your code from a library, here together with PnP JS to get all site groups. You find the complete source code for the solution here. What are SPFX libraries? If we come to the library topic most people start with the default description from microsoft. (source) The library component type in the SharePoint Framework (SPFx) enables you to have independently versioned and deployed code served automatically for the SharePoint Framework components with a deployment through an app catalog.

Remove Managed Metadata Orphaned Terms

Problem In some cases you like to get rid of orphaned terms. Terms mostly get orphaned, if you reuse terms and delete the original instances. There is a very good explanation from Mike Morawski how this could happen. Not long ago I was working away with the term store though Powershell. I had to remove all of a particular group’s termsets and to do this I ended up calling the Group’s delete function.