Plesk with Strapi 4 Node.js

To use Strapi on a Plesk server you will need a app startup file. This is one which is working for me: [server.js]

// @see https://docs.strapi.io/developer-docs/latest/development/typescript.html#start-strapi-programmatically
const strapi = require('@strapi/strapi');
const app = strapi({ 
	distDir: './dist',
	autoReload: false,
	serveAdminPanel: true,
}).start();

The „distDir“ parameter is needed when using TypeScript.

If you want you can try to enable the „autoReload“ feature. However for me it did not worked correctly since there does not seem a parent process to process the reload event.

Increase Font Size of Folder and Message List in Thunderbird

After getting an new 4k monitor you may wounder how to adjust the font setting of Thunderbird. May the font is a little bit to small. So you will go and search for the right setting. But there isn’t one in the UI. You need to use the configuration editor. (about:config). So open Options, scoll down to the end and open the „Config Editor“.
Now you can adjust this setting:

layout.css.devPixelsPerPx

Per default it is set to -1. Which means „use the system settings“.
But if you do not want to adjust the system settings for some reasons you can override it.
A value of 1.5 will scale the display by 150%. A value of 2.0 by 200%.
Find the setting you like 🙂

Typo3 Site configuration – .html Extension for Routes

Since Typo3 Version 9 you don’t longer need an extention to rewrite urls. All you need is a site configuration. The basic setup can be done with the UI. But at least for me an important setting isn’t set as default. The routes are servered withouth the .html extention.

How ever it’s very easy to extend this setting via a the config.yaml file. You’ll find this file at typo3conf/site/<name>. Just append these settings and you are fine:

...
routeEnhancers:
  PageTypeSuffix:
    type: PageType
    default: '.html'
    index: 'index'
    map:
      '.html': 0

Visual Studio, Xamarin and Debug an APP

While developing an iOS-App with Visual Studio and Xamarin you may get this message:

Visual Studio cannot start the application automatically because
it was signed with a Distribution provisioning profile. Please start it
by tapping the application icon on the device

Boom! And you are not able to debug you App. But hold on … there is a fix.

First of all ensure that have you selected the correct Singing Identity in you iOS project setting iOS Bundle Signing. It should be Developer (Automatic) and Provisioning Profile should be Automatic as well.

Then check you Certificates and Provisioning Profiles in you Apple Developer Console. Ensure that you have a correct Identifier App ID! And the most important thing … Ensure there is a Development Provisioning Profile which includes the App ID. You can use a wild card or explict one.

Then download the profile, import it to you Mac OS and clean you build. Now it should work!

Typo3 Add a Google Breadcrumb Rich Card

If you like to improve the search experience of you website you may want to add a rich card. One of these rich cards are the breadcrumbs. First, you need to decide which format you like: microdata or JSON-LD.

These snippets will generate a microdata that you can also use as your standard breadcrumb:

lib.richcard_breadcrumb {
 special = rootline
 special.range = 1 | 7
 wrap = <ol itemscope itemtype="http://schema.org/BreadcrumbList"> | </ol>

 1 = TMENU
 1 {
   NO.ATagParams = itemprop="item"
   NO.allWrap =<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">|</li>
   NO.stdWrap.wrap = <span itemprop="name">|</span>
   NO.after.cObject = COA
   NO.after.cObject {
    5 = TEXT
    5.dataWrap = <meta itemprop="position" content="{register:count_MENUOBJ}|" />
   }
 }
}

If you do not want to show a breadcrumb or like the JSON-LD more just use this code:

lib.richcard_breadcrumb = HMENU
lib.richcard_breadcrumb {
 special = rootline
 special.range = 1 | 7 
 wrap = { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": | ] }
 1 = TMENU
 1 { 
  NO.allWrap = [ || ,| 
  NO.doNotLinkIt = 1
  NO.stdWrap.wrap = { "@type": "ListItem", "item": { | }
  NO.stdWrap.cObject = COA
  NO.stdWrap.cObject {
   10 = TEXT
   10 {
    stdWrap.typolink.parameter.field = uid
    stdWrap.typolink.forceAbsoluteUrl = 1
    stdWrap.typolink.returnLast = url
    htmlSpecialChars = 1
    wrap = "@id": "|",
   }
   20 = TEXT
   20 {
    field = title
    wrap = "name": "|"
   } 
  } 
  NO.after.cObject = COA
  NO.after.cObject {
   5 = TEXT
   5.dataWrap = ,"position": {register:count_MENUOBJ} | }
  }
 } 
}

 

Typo3 Link To Top Feature Fluidtemplate

If you like to modify the „Append with Link to Top of Page“ output of fluidtemplate (fluid_styled_content) (which is the default setting of Typo3 Version 8. However you can even use it with Version 6 or 7) you need to create an partial override.

Hint: When using css_style_content you can use tt_content.stdWrap.innerWrap2 ... to modify the output.

First you need to add the location of your override directory to you setup:
lib.contentElement.partialRootPaths.100 = EXT:tpl_site/Resources/Private/Partials/override/

Within this directory you now can override any file of
typo3/sysext/fluid_styled_content/Resources/Private/Partials
Beware of the folder structure!

The render of the „to top“-feature is in the file „Footer/All.html“. Therefore we need to create this file. It is a good idea to copy the original file and then make the modifications you like to do. I liked to add a class. So this is my file:

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<f:if condition="{data.linkToTop}">
<a class="topTopLink" href="#top"><f:translate key="toTop" extensionName="fluid_styled_content" /></a>
</f:if>
</html>

Visual Studio and Windows 10 Emulator

While trying to run an Windows Universal App on a Windows 10 Emulator I got this error message:
Microsoft Synthetic 3D Display Controller: Failed to Power on with Error 'Insufficient system resources exist to complete the requested service.' (0x800705AA).
Ups!

Quick Solution:

  • Open the Hpyer-V Manager
  • Delete the virtual machine which will cause the error. VS will recreate it when needed
  • Open Hyper-V settings
  • Disabled the RemoteFX support for any GPU

Now it should work.