<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software | DXSdata</title>
	<atom:link href="https://www.dxsdata.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dxsdata.com</link>
	<description>Software &#124; Network &#124; Administration</description>
	<lastBuildDate>Wed, 22 Nov 2023 15:54:06 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.dxsdata.com/wp-content/uploads/2023/08/cropped-logo-32x32.jpg</url>
	<title>Software | DXSdata</title>
	<link>https://www.dxsdata.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>[:de]PowerShell / NSClient / Nagios: Existenz bestimmter USB-Geräte ermitteln[:en]PowerShell / NSClient / Nagios: Check existence of certain USB devices[:]</title>
		<link>https://www.dxsdata.com/2021/08/powershell-nsclient-nagios-check-existence-of-certain-usb-devices/</link>
					<comments>https://www.dxsdata.com/2021/08/powershell-nsclient-nagios-check-existence-of-certain-usb-devices/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 16 Aug 2021 11:19:53 +0000</pubDate>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.dxsdata.com/?p=2178</guid>

					<description><![CDATA[[:en] Scenario USB server devices, e.g. used for virtual appliances, can be error-prone when it comes to auto-reconnect USB client devices on startup. In addition, if you have to redirect USB license dongles to some virtual server, some devices might get &#8220;lost&#8221; from time to time for whatever reason. Solution / Help Using the following [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:en]</p>
<h3>Scenario</h3>
<p>USB server devices, e.g. used for virtual appliances, can be error-prone when it comes to auto-reconnect USB client devices on startup. In addition, if you have to redirect USB license dongles to some virtual server, some devices might get &#8220;lost&#8221; from time to time for whatever reason.</p>
<h3>Solution / Help</h3>
<p>Using the following PowerShell script you can add some checks to your NSClient / Nagios or similar monitoring.</p>
<pre class="lang:ps decode:true " title="C:\Program Files\NSClient++\scripts\check_usb.ps1">#2021-08 www.dxsdata.com
#Checking existence of certain USB devices
#To get the IDs, execute this script with -Debug option, or execute below Get-... command

param(
[switch] $Debug
)

#adjust to your needs
$neededUsbDevices = @(
    [pscustomobject]@{NameFriendly='Dongle1';Id='USB\HASP\2&amp;1234'}
    [pscustomobject]@{NameFriendly='Dongle2'; Id='USB\HASP\2&amp;2345'}
    [pscustomobject]@{NameFriendly='Dongle3'; Id='USB\VID_0529&amp;PID_0001\1&amp;3456'}
    [pscustomobject]@{NameFriendly='Dongle4'; Id='USB\VID_0529&amp;PID_0001\1&amp;4567'}
)


#$existingUsbDevices = Get-WmiObject Win32_USBControllerDevice | ForEach-Object { [wmi]$_.dependent } | select-Object description,deviceid
$existingUsbDevices = Get-PnpDevice -PresentOnly -Class "USB" | Select-Object FriendlyName,DeviceID

if ($Debug) 
{
    "Debug output enabled. "
    "These devices will be checked: "
    $neededUsbDevices | fl
    "These devices are connected: "
    $existingUsbDevices
    ""
    ""
    "Comparing:"
}

$err = $False;

$output = "";
foreach($device in $neededUsbDevices)
{
    $result = $existingUsbDevices.Where({$_.DeviceID -eq $device.Id})
    $exists = $result.Count -gt 0
    $existsFriendly = If ($exists) {"OK"} Else {"MISSING"}
    $output += $device.NameFriendly + " " + $existsFriendly + ". " #cosmetics for nagios

    if (!$exists) { $err = $True; }
}
$output

$exitcode = if ($err) { 1 } Else { 0 }

if ($Debug) { "Exit code (Nagios Warning = 1, OK = 0) -&gt; " + $exitcode }

exit($exitcode);</pre>
<p>Save it into your NSClient&#8217;s scripts folder.</p>
<p>Modify nsclient.ini:</p>
<pre class="lang:sh decode:true ">; Below [/settings/external scripts/scripts]
check_usb = cmd /c echo scripts\check_usb.ps1; exit($lastexitcode) | powershell.exe -command -</pre>
<p>I assume you have several options already enabled, like CheckExternalScripts = 1, allow arguments etc.</p>
<p>Don&#8217;t forget to restart your NSClient service.</p>
<p>You might also want to check the result on your Nagios server like:</p>
<pre class="lang:sh decode:true ">./check_nrpe -H myserver -c check_usb</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>References</h3>
<p>https://docs.microsoft.com/en-us/powershell/module/pnpdevice/get-pnpdevice?view=windowsserver2019-ps</p>
<p>https://docs.nsclient.org/howto/external_scripts/[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2021/08/powershell-nsclient-nagios-check-existence-of-certain-usb-devices/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de]PS3 DS3 Bluetooth Controller mit Stepcraft WinPC-NC USB CNC-Steuerung verwenden[:en]Using PS3 DS3 Bluetooth Controller with Stepcraft WinPC-NC USB CNC milling software[:]</title>
		<link>https://www.dxsdata.com/2019/12/using-ps3-ds3-bluetooth-controller-with-stepcraft-winpc-nc-usb-cnc-milling-software/</link>
					<comments>https://www.dxsdata.com/2019/12/using-ps3-ds3-bluetooth-controller-with-stepcraft-winpc-nc-usb-cnc-milling-software/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 24 Dec 2019 19:26:24 +0000</pubDate>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.dxsdata.com/?p=2151</guid>

					<description><![CDATA[[:en]Assuming you have WinPC-NC USB 2.x installed, follow these steps to be able to control your Stepcraft CNC with your PS3 Dual Shock controller. With former methods like ScpToolkit, it was possible, but only via wired USB connection. Using the new approach below (from the same developer), just disconnect the USB cable and the controller [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:en]Assuming you have WinPC-NC USB 2.x installed, follow these steps to be able to control your Stepcraft CNC with your PS3 Dual Shock controller.</p>
<p>With former methods like <a href="https://github.com/nefarius/ScpToolkit/releases">ScpToolkit</a>, it was possible, but only via wired USB connection. Using the new approach below (from the same developer), just disconnect the USB cable and the controller will connect wirelessly.</p>
<p>Note: It is recommended to use a separate BT dongle if you are using other BT devices, as the other devices might not be able to connect any more after installing the alternative driver.</p>
<p>Download the latest PS3 Bluetooth drivers from <a href="https://downloads.vigem.org/projects/BthPS3/stable/">here</a>.</p>
<p>Run the setup.</p>
<p>It will redirect you to <a href="https://forums.vigem.org/topic/357/bthps3-post-setup-instructions">this site</a> afterwards.</p>
<p>Install the additional software like explained there:</p>
<ul>
<li>ViGEm Bus Driver (run Setup)</li>
<li>FireShock (run Setup)</li>
<li>Shibari (extract)
<ul>
<li>Then run the Shibari.Dom.Server.exe and leave the console open</li>
</ul>
</li>
</ul>
<p>Connect your PS3 controller via USB.</p>
<p>Disconnect it after a few seconds, maybe press the main PS3 key once. You should see the device connects via bluetooth within the Shibari window.</p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2019/12/shibari.jpg" rel="attachment wp-att-2153"><img loading="lazy" decoding="async" class="size-medium wp-image-2153 alignnone" src="https://www.dxsdata.com/wp-content/uploads/2019/12/shibari-300x156.jpg" alt="" width="300" height="156" /></a></p>
<p>Now we configure WinPC-NC USB:</p>
<ul>
<li>Parameters -&gt; Interfaces -&gt; Joystick -&gt; &#8220;Gameport1&#8221;</li>
<li>Also run the joystick calibration, using e.g. the left analog key and X button.</li>
</ul>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2019/12/winpc-nc-usb.jpg" rel="attachment wp-att-2155"><img loading="lazy" decoding="async" class="size-medium wp-image-2155 alignnone" src="https://www.dxsdata.com/wp-content/uploads/2019/12/winpc-nc-usb-300x238.jpg" alt="" width="300" height="238" /></a></p>
<p>Finally, open &#8220;manual joystick driving&#8221; (Shift+F5) and steer your Stepcraft:</p>
<p>https:// youtu.be/aBW22zcR_l0 (video not embedded, due to GDPR)</p>
<p>References:</p>
<p>https://forums.vigem.org/topic/362/playstation-r-3-peripherals-unofficial-bluetooth-drivers-bthps3</p>
<p>[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2019/12/using-ps3-ds3-bluetooth-controller-with-stepcraft-winpc-nc-usb-cnc-milling-software/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de].NET: LINQ SQL-Queries mit AutoMapper optimieren[:en].NET: Optimizing LINQ SQL queries with AutoMapper[:]</title>
		<link>https://www.dxsdata.com/2018/12/net-optimizing-linq-sql-queries-with-automapper/</link>
					<comments>https://www.dxsdata.com/2018/12/net-optimizing-linq-sql-queries-with-automapper/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 06 Dec 2018 18:48:04 +0000</pubDate>
				<category><![CDATA[C# .Net]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.dxsdata.com/?p=2052</guid>

					<description><![CDATA[[:en]AutoMapper is not only a useful tool for mapping e.g. DB model classes to flatter ViewModels, it can also simplify and optimize SQL queries / expressions generated by LINQ. You can get it via NuGet for any .NET framework type. Example Let&#8217;s suppose we have a simple DB table User. Each user belongs to a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:en]AutoMapper is not only a useful tool for mapping e.g. DB model classes to flatter ViewModels, it can also simplify and optimize SQL queries / expressions generated by LINQ.</p>
<p>You can get it via NuGet for any .NET framework type.</p>
<h2>Example</h2>
<p>Let&#8217;s suppose we have a simple DB table <strong>User</strong>. Each user belongs to a <strong>UserGroup</strong> and owns several items, stored in <strong>UserItem</strong>. The tables are &#8220;connected&#8221; via common IDs and SQL foreign keys. The DB classes were generated via common tools like &#8220;dotnet ef scaffold&#8221;.</p>
<p>We want to get an overview of the users, including a property of the parent (UserGroup.Name) and a sum of the user&#8217;s items. The table is huge, so the whole preparation and calculation should be done by the server to reduce network traffic.</p>
<p>The data will be stored in a flat ViewModel class <strong>UserView</strong>, which contains the same structure as User, but with 2 additional fields, <em>UserGroupName</em> and <em>UserItemSum</em>.</p>
<p>First we prepare AutoMapper:</p>
<pre title="Program.cs, Startup.cs or similar" class="lang:c# decode:true">//using AutoMapper;
Mapper.Initialize(cfg =&gt;
{
    cfg.CreateMap&lt;User, UserView&gt;()
      .ForMember(uview =&gt; uview.UserItemSum, opt =&gt; opt.MapFrom(user =&gt; user.UserItem.Sum(item =&gt; item.Number)))
});
</pre>
<p>Create the context instance for DB access:</p>
<pre title="anyClass.cs" class="lang:c# decode:true">var db = new mydbContext();

var dto = db.User.ProjectTo&lt;UserView&gt;().ToList();

//example for proceeding
myBindingSourceForDataGrid.DataSource = dto;</pre>
<p>&#8230;and that was about it. We do not need any more Include() of subtables, Where(), Select() or anything else, and the whole query is run on the server side (the SQL server).</p>
<p>AutoMapper is smart enough to recognize that the UserView.UserGroupName column should belong to the user&#8217;s UserGroup.Name property.</p>
<p>In CreateMap(), we just need to tell how it handles the UserItemSum column.</p>
<p>Taking a look at the SQL query log, we see that the query in fact contains only the needed data:</p>
<pre class="lang:mysql decode:true ">SELECT `User`.`Fullname`, `User.UserGroup`.`Name` AS `UserGroupName`, `User`.`id`, (
    SELECT SUM(`item`.`Number`)
    FROM `mydb`.`UserItem` AS `item`
    WHERE `User`.`id` = `item`.`userId`
) AS `UserItemSum`
FROM `mydb`.`User` AS `User`
INNER JOIN `mydb`.`UserGroup` AS `User.UserGroup` ON `User`.`UserGroupid` = `User.UserGroup`.`id`</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>References</h3>
<p>http://docs.automapper.org/en/stable/Queryable-Extensions.html</p>
<p>&nbsp;</p>
<p>&nbsp;[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2018/12/net-optimizing-linq-sql-queries-with-automapper/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de].NET Framework, MySQL: DataSets parallel mit EntityFrameworkCore-Scaffolding nutzen[:en].NET Framework, MySQL: Using DataSets in parallel with EntityFrameworkCore scaffolding[:]</title>
		<link>https://www.dxsdata.com/2018/12/net-framework-mysql-using-datasets-in-parallel-with-entityframeworkcore-scaffolding/</link>
					<comments>https://www.dxsdata.com/2018/12/net-framework-mysql-using-datasets-in-parallel-with-entityframeworkcore-scaffolding/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 06 Dec 2018 10:16:22 +0000</pubDate>
				<category><![CDATA[C# .Net]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.dxsdata.com/?p=2049</guid>

					<description><![CDATA[[:en]Keeping .NET projects up to date is simple in general, but when it comes to details of huge (and old) projects, it can be challenging. In this case, I created a .NET project with MySQL DB about 10 years ago, using mainly DataSets. They were quite easy to handle with VS GUI tools. Nowadays, MySQL [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:en]Keeping .NET projects up to date is simple in general, but when it comes to details of huge (and old) projects, it can be challenging.</p>
<p>In this case, I created a .NET project with MySQL DB about 10 years ago, using mainly DataSets. They were quite easy to handle with VS GUI tools.</p>
<p>Nowadays, MySQL VS and Connector Add-Ins seem buggy and error-prone. DataSets are not recommended any more at all, MS came up with platform-independent .NET Core and .NET Standard, and the EntityFramework scaffolding works quite well in .NET Core. So basically, it would be a good idea to migrate DataSets to Core/Standard DB entity scaffolding.</p>
<h2>Situation</h2>
<p>The main problem: DataSet/TableAdapter methods, commands and properties must be replaced manually because it&#8217;s a completely different approach to access data. In large projects, this can take weeks or even months. So I was looking for a way to be able to use both options in parallel within the same VS solution, for a simpler and smoother transition which does not block other project feature developments.</p>
<p>Basically, we will add a .NET Standard project to our existing .NET Framework project. The new one will contain the DB classes generated by .NET Core scaffolding. Running it in parallel with DataSets will be a bit tricky.</p>
<h2>Steps</h2>
<p>First, install the latest version of Visual Studio and .NET Framework and Core SDKs.</p>
<p>Make sure your existing .NET Framework project(s) version is at least 4.6.1 to be compatible with Standard and Core.</p>
<p>Add a new .NET Core class library project to your solution, we will call it &#8220;DB&#8221;. Edit DB.csproj, change TargetFramework to &#8220;netstandard2.0&#8221; to be make it most compatible, then restart VS.</p>
<p>Install packages via NuGet for DB:</p>
<ul>
<li>MySql.Data.EntityFrameworkCore</li>
<li>MySql.Data.EntityFrameworkCore.Design</li>
<li>(NETStandard.Library)</li>
</ul>
<p>Create an empty project folder &#8220;Models&#8221;.</p>
<p>Because we created a library, to run the scaffolding .NET Core also needs an application project (see notes below for details).</p>
<p>Add a new .NET Core console application named &#8220;DbBuildTmp&#8221; and install NugetPackes</p>
<ul>
<li>MySql.Data.EntityFrameworkCore.Design</li>
<li>(Microsoft.NETCore.App)</li>
</ul>
<p>In DbBuildTmp, reference project DB.</p>
<p>Open developer command prompt and navigate to the DB folder.</p>
<p>Run the scaffolding command to generate classes of your existing database:</p>
<pre class="lang:sh decode:true ">dotnet ef dbcontext scaffold "server=myserver;port=3306;user=myuser;password=mypw;database=mydb" MySql.Data.EntityFrameworkCore -o Models -f --startup-project ..\DbBuildTmp</pre>
<p>You should now have one C# class file per DB table within the Models folder, and an additional mydbContext.cs file.</p>
<h3>Accessibility from .NET Framework project</h3>
<p>To be able to simply access the new EF class structure from your existing project, e.g. via &#8220;new mydbContext().mytable.First().id&#8221;, we need a few more steps.</p>
<p>Important: Ensure your previously installed MySQL Connector (and therefore MySql.Data reference) version matches the NuGet MySql.* package versions exactly (e.g. 8.0.13)!</p>
<p>Add a reference to your new DB project.</p>
<p>Add in both existingProject.csproj and DB.csproj (within &lt;PropertyGroup&gt; element):</p>
<pre class="lang:xhtml decode:true ">&lt;AutoGenerateBindingRedirects&gt;true&lt;/AutoGenerateBindingRedirects&gt;
&lt;GenerateBindingRedirectsOutputType&gt;true&lt;/GenerateBindingRedirectsOutputType&gt;
&lt;CopyLocalLockFileAssemblies&gt;true&lt;/CopyLocalLockFileAssemblies&gt;</pre>
<p>With these properties set, the compiler seems to solve versioning issues better itself, and also copies the .NET Standard/Core output with (most, not all?) needed references.</p>
<p>For your existing Framework project, install NuGet package</p>
<ul>
<li>Microsoft.EntityFrameworkCore</li>
<li>and all suggested dependencies.</li>
</ul>
<p>Note: the packages&#8217; version must match the version which is referenced to by MySql.Data.Entity* packages in the DB project exactly!</p>
<p>Now you should be able to get some test data e.g. via your original Program.cs:</p>
<pre class="lang:c# decode:true ">var testdb = new DB.Models.myContext();
Console.WriteLine(testdb.myTable.Find("myId").SomeColValue);</pre>
<p>If versioning conflicts occur, empty your projects&#8217; bin/obj folders and double-check the (sub)-references of all your NuGet packages compared to non-Nuget references like maybe MySql.data.</p>
<p>One error which also might occur is &#8220;unknown: providers&#8221; &#8211; on runtime, when accessing the DbSet property the first time. Have a look at existingProject.csproj. The EntityFramework element might contain a &#8220;providers&#8221; tag which is useless for MySQL; delete the full providers tag and recompile.</p>
<h3>Using original connection string</h3>
<p>The class generator sets the connection data within the mydbContext&#8217;s &#8220;OnConfiguring&#8221; method, which is fine for testing, but we want to use the same connection string for DataSet and EF entity access, set in the Framework project&#8217;s Properties.Settings file.</p>
<p>At the moment, there seems to be no way to prevent the CLI scaffolding command from generating this method.</p>
<p>In my opinion, the least inconvenient way is to create a separate &#8220;partial class&#8221; which stays out of the Models folder, but uses the same namespace. So you can simply move this method out from the mydbContext file to the a place where it cannot be overwritten. Re-Running DB scaffolding will recreate the method but at least you get a compiler error message (&#8220;duplicate&#8221;) as a reminder to delete it again.</p>
<p>In Framework project&#8217;s Program.cs file, you can set e.g. some static variable like</p>
<pre class="lang:sh decode:true">DB.MyStaticCommonFile.connstr = Properties.Settings.Default.OriginalConnStr;</pre>
<p>Then modify DB project&#8217;s DbContext OnConfiguring method like</p>
<pre class="lang:c# decode:true ">protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    if (!optionsBuilder.IsConfigured)
    {
        optionsBuilder.UseMySQL(MyStaticCommonFile.connstr);
    }
}</pre>
<p>&nbsp;</p>
<h2>Some notes</h2>
<p>Usually, it should also be possible to use the existing Framework 4.x project as &#8220;startup project&#8221; for DB scaffolding. In fact, this might end with an MSBuild error &#8220;MSB4006 / GetEFProjectMetadata&#8221;. So we have to use the additional .NET core console application project until this is fixed.</p>
<p>Usually a good alternative to the original MySQL EF packages for Core is <a href="https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql">Pomelo</a>, it was way less buggy than the original packages months ago. Anyway, we have to use original MySQL EF here to be compatible with the existing MySql.Data in the Framework project. Pomelo contains a dependency to MySqlClient which causes a huge load of version and naming conflicts if included.</p>
<p>&nbsp;</p>
<h3>References</h3>
<p>https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db</p>
<p>https://stackoverflow.com/questions/43837638/how-to-get-net-core-projects-to-copy-nuget-references-to-build-output/43841481</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2018/12/net-framework-mysql-using-datasets-in-parallel-with-entityframeworkcore-scaffolding/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de]Kodi und MediaPortal funktionieren nach Win 10 1803/1804-Upgrade nicht mehr[:en]Kodi and MediaPortal not working after Win 10 1803/1804-Upgrade[:]</title>
		<link>https://www.dxsdata.com/2018/05/kodi-and-mediaportal-not-working-after-win-10-1803-1804-upgrade/</link>
					<comments>https://www.dxsdata.com/2018/05/kodi-and-mediaportal-not-working-after-win-10-1803-1804-upgrade/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 22 May 2018 18:21:20 +0000</pubDate>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://www.dxsdata.com/?p=2005</guid>

					<description><![CDATA[[:en]Windows 10 1803/1804 upgrade seems to include a dubious &#8220;feature&#8221; which disables custom firewall exceptions and deletes several registry keys, for whatever reason. So if you use a Mediacenter combination like this, LibreELEC / Kodi Rpi clients Server running Windows 10, MediaPortal, MySQL (for Kodi central settings and MePo) and Windows SMB shares &#8230;and the 1804 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:en]Windows 10 1803/1804 upgrade seems to include a dubious &#8220;feature&#8221; which disables custom firewall exceptions and deletes several registry keys, for whatever reason.</p>
<p>So if you use a Mediacenter combination like this,</p>
<ul>
<li>LibreELEC / Kodi Rpi clients</li>
<li>Server running Windows 10, MediaPortal, MySQL (for Kodi central settings and MePo) and Windows SMB shares</li>
</ul>
<p>&#8230;and the 1804 update is installed automatically on the server, you might notice your client mediacenters won&#8217;t work any more.</p>
<p>So here is my Mediacenter checklist in case this happens again with future updates:</p>
<ul>
<li>Re-check Windows Firewall Advanced settings -&gt; Incoming connections -&gt; Re-Open ports TCP 3306 (MySQL) and TCP 9596 (MediaPortal / TVServerKodi Plugin)</li>
<li>Re-check Windows shares, e.g. on the server by calling \\localhost.
<ul>
<li>If you use additional RAM disk software e.g. for speeding up TV timeshifting, check if the product is still activated. It might happen those products get deactivated or even uninstalled by Windows upgrades.</li>
</ul>
</li>
<li>One further option would be disabling Windows updates at all (for the &#8220;server&#8221;). I do not recommend to ignore updates, but with this setting you decide yourself when it&#8217;s the best time to upgrade your system. At the moment, disabling the &#8220;Windows Update&#8221; service seems to be the simplest way.</li>
</ul>
<p>[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2018/05/kodi-and-mediaportal-not-working-after-win-10-1803-1804-upgrade/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de]Outlook 2016 Standalone: Ausgegraute AutoFormat-Optionen aktivieren[:en]Outlook 2016 Standalone: Enable greyed-out AutoFormat options[:]</title>
		<link>https://www.dxsdata.com/2018/04/outlook-2016-standalone-enable-greyed-out-autoformat-options/</link>
					<comments>https://www.dxsdata.com/2018/04/outlook-2016-standalone-enable-greyed-out-autoformat-options/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 20 Apr 2018 09:05:13 +0000</pubDate>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.dxsdata.com/?p=1980</guid>

					<description><![CDATA[[:en]Buying a large number of MS&#8217; full Office package can become quite expensive, so for some scenarios it can be an option to use some free / open source applications like LibreOffice. But for Outlook 2016 there is no 100% satisfying alternative available, so a good compromise can be to only buy a standalone version [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:en]Buying a large number of MS&#8217; full Office package can become quite expensive, so for some scenarios it can be an option to use some free / open source applications like LibreOffice. But for Outlook 2016 there is no 100% satisfying alternative available, so a good compromise can be to only buy a standalone version of Outlook, which is also available in several licensing ways like single or volume licenses.</p>
<p>When you first install and open Outlook 2016, you might notice the email editor behaves a bit strangely, e.g. by default the AutoFormat options are missing, like the automatic bullets or numbering lists.</p>
<p><strong>Solution</strong></p>
<p>For whatever reason, Outlook seems to simply look if the file winword.exe exists, and disables auto-formatting if not. Actually, it does not need this file at all, so this seems to be sort of a bug.</p>
<p>So you just create an empty text file called &#8220;WINWORD.EXE&#8221; in your Outlook&#8217;s installation directory like %programfiles%\Microsoft Office\Office16\ (make sure it does not append a .txt extension).</p>
<p>Then start Outlook and the mail editor formatting works like it should.</p>
<p>&nbsp;[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2018/04/outlook-2016-standalone-enable-greyed-out-autoformat-options/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>UPS Battery Service</title>
		<link>https://www.dxsdata.com/2017/08/ups-battery-service/</link>
					<comments>https://www.dxsdata.com/2017/08/ups-battery-service/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 07 Aug 2017 18:41:10 +0000</pubDate>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[C# .Net]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.dxsdata.com/?p=1866</guid>

					<description><![CDATA[[:en]Just re-published an older project on Github. UPS Battery Service runs a Windows service which watches local battery events, which are then logged in local and/or Event Log where you can further proceed with custom actions, like informational emails, shutdowns etc. (using scheduled tasks). You can get it on Github. &#160; [github-commits username=&#8221;DXSdata&#8221; repository=&#8221;ups_battery_service&#8221; limit=&#8221;10&#8243;][:]]]></description>
										<content:encoded><![CDATA[<p>[:en]Just re-published an older project on Github.</p>
<p>UPS Battery Service runs a Windows service which watches local battery events, which are then logged in local and/or Event Log where you can further proceed with custom actions, like informational emails, shutdowns etc. (using scheduled tasks).</p>
<p>You can get it on <a href="https://github.com/DXSdata/ups_battery_service">Github</a>.</p>
<p>&nbsp;</p>
<p>[github-commits username=&#8221;DXSdata&#8221; repository=&#8221;ups_battery_service&#8221; limit=&#8221;10&#8243;][:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2017/08/ups-battery-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de]Emoticons für Openfire Spark Messenger[:en]Emoticons for Openfire Spark Messenger[:]</title>
		<link>https://www.dxsdata.com/2017/04/emoticons-for-openfire-spark-messenger/</link>
					<comments>https://www.dxsdata.com/2017/04/emoticons-for-openfire-spark-messenger/#comments</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 20 Apr 2017 15:57:41 +0000</pubDate>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.dxsdata.com/?p=1718</guid>

					<description><![CDATA[[:en]Spark Messenger is a great open source messenger for internal and external usage, in combination with OpenFire Server. Because the integrated smileys and icons seem a bit outdated, I created an IconSet generator which uses the much more beautiful emoticons from EmojiOne. Project is also available on Github. [iframe src=&#8221;https://www.dxsdata.com/other/EmojiOne2Spark&#8221; width=&#8221;100%&#8221; height=&#8221;950&#8243;] &#160;[:]]]></description>
										<content:encoded><![CDATA[<p>[:en]<a href="https://igniterealtime.org/projects/spark/">Spark</a> Messenger is a great open source messenger for internal and external usage, in combination with OpenFire Server.</p>
<p>Because the integrated smileys and icons seem a bit outdated, I created an IconSet generator which uses the much more beautiful emoticons from <a href="https://emojione.com/">EmojiOne</a>.</p>
<p>Project is also available on <a href="https://github.com/DXSdata/EmojiOne2Spark">Github</a>.</p>
<p>[iframe src=&#8221;https://www.dxsdata.com/other/EmojiOne2Spark&#8221; width=&#8221;100%&#8221; height=&#8221;950&#8243;]</p>
<p>&nbsp;[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2017/04/emoticons-for-openfire-spark-messenger/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>[:de]Magento Commerce: Dokument-Anhänge uploaden[:en]Magento Commerce: Product attachment upload[:]</title>
		<link>https://www.dxsdata.com/2017/03/magento-commerce-product-attachment-upload/</link>
					<comments>https://www.dxsdata.com/2017/03/magento-commerce-product-attachment-upload/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 16 Mar 2017 18:17:51 +0000</pubDate>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.dxsdata.com/?p=1676</guid>

					<description><![CDATA[[:de]Magento bietet standardmäßig keine komfortable Möglichkeit Dokumente für Produkte, wie z.B. PDF-Anleitungen per Browser hochzuladen. Abhilfe schafft diese Extension (alternativ direkt vom Hersteller). Installation Download des .gz-File Über den Magentoconnect Manager (Downloader) hochladen (&#8220;Direct package file upload&#8221;) Bei Fehler &#8220;downloader &#8211; CONNECT ERROR: Unknown resource type&#8221;: GZ-File lokal entpacken und neu komprimieren, z.B. mit 7-Zip [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:de]Magento bietet standardmäßig keine komfortable Möglichkeit Dokumente für Produkte, wie z.B. PDF-Anleitungen per Browser hochzuladen.</p>
<p>Abhilfe schafft <a href="https://www.magentocommerce.com/magento-connect/product-attachments-extension.html">diese Extension</a> (alternativ <a href="https://store.unicodesystems.in/index.php/product-attachments-extension.html">direkt vom Hersteller</a>).</p>
<h3>Installation</h3>
<ul>
<li>Download des .gz-File</li>
<li>Über den Magentoconnect Manager (Downloader) hochladen (&#8220;Direct package file upload&#8221;)
<ul>
<li>Bei Fehler &#8220;downloader &#8211; CONNECT ERROR: Unknown resource type&#8221;: GZ-File lokal entpacken und neu komprimieren, z.B. mit 7-Zip als Tar-File, dann erneut hochladen.</li>
</ul>
</li>
<li>Alternativ das Archiv in den Root-Ordner von Magento entpacken.</li>
<li>Extension aktivieren: Admin -&gt; System -&gt; Konfiguration -&gt; Product Attachment -&gt; ja</li>
<li>(optional) Übersetzungsdatei anpassen
<ul>
<li>app/design/frontend/default/default/locale/de_DE/translate.csv</li>
</ul>
</li>
</ul>
<p><strong>UPDATE 2017-04</strong>:</p>
<p>In einigen Fällen scheint nach der Modul-Installation die Produktbeschreibung (Description) nicht mehr auf.</p>
<p>Workaround:</p>
<pre title="app/design/frontend/base/default/template/fileuploader/desc_attachments.php" class="lang:php decode:true ">//Bugfix: Missing description; insert this code at line 20 (between $version php-echo)
?&gt;
&lt;h2&gt;&lt;?php echo $this-&gt;__('Description') ?&gt;&lt;/h2&gt;
&lt;?php echo $_description;
//End Bugfix: Missing description
</pre>
<p>&nbsp;</p>
<h3 id="bedienung">Bedienung im Magento-Adminbereich</h3>
<p>Der einfachste Weg ist zuerst das Attachment anzulegen und es dann einem bestehenden Produkt zuzuordnen &#8211; siehe Screenshots.</p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-1.png" rel="attachment wp-att-1673"><img loading="lazy" decoding="async" class="size-medium wp-image-1673 alignnone" src="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-1-300x106.png" alt="" width="300" height="106" /></a></p>
<p>Neues Attachment anlegen:</p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-2.png" rel="attachment wp-att-1674"><img loading="lazy" decoding="async" class="size-medium wp-image-1674 alignnone" src="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-2-300x264.png" alt="" width="300" height="264" /></a></p>
<p>&nbsp;</p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-3.png" rel="attachment wp-att-1675"><img loading="lazy" decoding="async" class="size-medium wp-image-1675 alignnone" src="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-3-300x144.png" alt="" width="300" height="144" /></a></p>
<p>Resultat:</p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-4.png" rel="attachment wp-att-1672"><img loading="lazy" decoding="async" class="size-medium wp-image-1672 alignnone" src="https://www.dxsdata.com/wp-content/uploads/2017/03/magento-document-upload-4-300x152.png" alt="" width="300" height="152" /></a></p>
<p>&nbsp;[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2017/03/magento-commerce-product-attachment-upload/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de]IP Intercom Doorbell App v2.0 veröffentlicht[:en]IP Intercom Doorbell App v2.0 published[:]</title>
		<link>https://www.dxsdata.com/2016/11/ip-intercom-doorbell-app-v2-0-veroffentlicht/</link>
					<comments>https://www.dxsdata.com/2016/11/ip-intercom-doorbell-app-v2-0-veroffentlicht/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 28 Nov 2016 12:34:53 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.dxsdata.com/?p=1349</guid>

					<description><![CDATA[[:en]Today we released DXSdata Intercom Doorbell v2.0 for Android. Main changes: Video and Audio stream support Several bugfixes Alternative video renderer option Layout optimization Notifications Get it![:]]]></description>
										<content:encoded><![CDATA[<p>[:en]Today we released <a href="https://www.dxsdata.com/products/ip-intercom-doorbell-app/">DXSdata Intercom Doorbell v2.0 for Android</a>.</p>
<p>Main changes:</p>
<ul>
<li class="recent-change">Video and Audio stream support</li>
<li class="recent-change">Several bugfixes</li>
<li class="recent-change">Alternative video renderer option</li>
<li class="recent-change">Layout optimization</li>
<li class="recent-change">Notifications</li>
</ul>
<p><a href="https://play.google.com/store/apps/details?id=com.dxsdata.ipintercomdoorbell">Get it</a>![:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2016/11/ip-intercom-doorbell-app-v2-0-veroffentlicht/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
