Using Pi-hole On A Raspberry Pi: Connecting With SSH

Raspberry PiThis post is part of the series on using the Pi-hole; this series is a sub-series of the Adventures with a Raspberry Pi.

With the Raspberry Pi configured to allow remote access using SSH, we can connect to it using an SSH on any other machine. Windows 10 has the SSH client enabled by default from the April 2018 Update (Windows version 1803).

To access the Raspberry Pi, you need the username and IP address for your IP:

Connecting to Pi using SSH

The default username for a Raspberry Pi is pi; use the following command to access the Pi (replacing the highlighted section with your PI’s IP address:

ssh pi@{ipaddress}

If you’re connecting using SSH for the first time, you may be prompted to continue connecting; type yes and hit return.

Enter the pi user’s password; you’ll be taken to the command prompt of the Raspberry Pi.

Adventures With A Raspberry Pi

Implementing SmartList Builder: SmartList Builder vs. SmartList Designer

eOne SolutionsThis post is part of the series on Implementing SmartList Builder from eOne Solutions.

As mentioned in the last post SmartList Builder was directly sold by Microsoft under a licensing agreement for many years until, with the launch of Microsoft Dynamics GP 2013 SP2, the product was released back to the original ISV; a Fargo based ISV called eOne SOlutions.

I understand this was because the new top person in charge of Microsoft Dynamics GP did not like licensing products from the ISVs and release quite a few back to the original developer. However, this left a gap in Microsoft Dynamics GP in that users could no longer create new SmartLists. And so, SmartList Designer was created.

In theory it fulfils the same job as SmartList Builder; you can create new SmartLists by joining tables together or by linking in a SQL view. When it was first released, I took a look at it as an alternative to SmartList Builder on the basis it was free as opposed to needing to buy SmartList Builder.

However, in every area, it is an inferior product. It is not as functional and it is not as easy to use.

Continue reading “Implementing SmartList Builder: SmartList Builder vs. SmartList Designer”

Using Pi-hole On A Raspberry Pi: Change DNS Servers

Raspberry PiThis post is part of the series on using the Pi-hole; this series is a sub-series of the Adventures with a Raspberry Pi.

As with a number of the other items shown in this series, the DNS Servers are selected during installation, but can be changed in the admin interface. To change the DNS Servers, log into the admin interface, select Settings and click on the DNS tab; you can change to one of the default DNS servers in the list or you can enter custom DNS servers:

Settings - DNS tab

Adventures With A Raspberry Pi

Implementing SmartList Builder: What is SmartList Builder?

eOne SolutionsThis post is part of the series on Implementing SmartList Builder from eOne Solutions.

Before launching into the installation of SmartList Builder, I thought it might be worthwhile to do a post on what it is. All users of Microsoft Dynamics GP will be familiar with SmartList; this is the flexible reporting tool which allows you to generate a report showing a list of master records or transactions. Each series has a set of SmartLists available by default, with predefined favourites where search criteria or columns are supplied already configured.

SmartList favourites can be customised and new ones created quite easily, but new SmartLists themselves cannot be created. To create a new SmareList, you need a tool such as SmartList Builder or, in more recent years, SmartList Designer. In this series, I am focussing on SmartList Builder as this is an additional product available from an ISV for Microsoft Dynamics GP.

Back in 2003 when I started working with Microsoft Dynamics GP, SmartList Builder was available direct from Microsoft. SmartList Builder was originally developed by eOne Solutions and then licensed by Microsoft; in the run up to the release of Microsoft Dynamics GP 2013 SP2, the licensing deal for SmartList Builder was ended and maintenance of the product reverted back to eOne Solutions.

SmartList Builder the product, includes four utilities:

  1. SmartList Builder – SmartList Builder allows you to create both brand new SmartLists or modify existing SmartList. You can link up to 32 tables together. Tables can be standard GP tables, any of the Third Party (ISV) tables, any SQL table, SQL views or SQL Scripts, other SmartLists or Extender resources.
  2. Excel Report Builder – Excel Report Builder generates an Excel Spreadsheet with a live connection back to GP or any other data you include. This means you have live refreshable reports, anytime you need them. You can give all your data from GP to anyone in the organization via Excel – without buying new, full-user licenses of Dynamics GP.
  3. Drill Down Builder – Drill Down Builder completes the functionality of Excel Report Builder by letting you drill from your spreadsheet back into that same record within Dynamics GP. Where Microsoft hard codes a drill down – eOne makes it completely configurable to allow you to drill down to any screen or SmartList in Dynamics GP. This is an essential part of bringing the most common business tools together. Working in GP and Excel all day – it only makes sense to auto-switch between one and the other.
  4. Navigation List Builder – Navigation List Builder allows you to publish your SmartList into the Navigation List user interface.

The standard installation of the SmartList Builder product, gets you all four of the above utilities.

Using Pi-hole On A Raspberry Pi: Maintain Blocklists

Raspberry PiThis post is part of the series on using the Pi-hole; this series is a sub-series of the Adventures with a Raspberry Pi.

While the blocklists used by your Pi-hole will be the ones you selected during the initial install and configuration, they can be changed. This is done via the Pi-hole admin interface.

In the left pane, select Settings and click on the Blocklists tab.

Click te red trash can icon to delete a list; enter the name of a new list in the text field at the bottom and then click Save. When you’ve made all the changes required, click Save and Update:

Blocklists used to generate Pi-hole's Gravity

Your changes will be saved and the blocklists updated.

Adventures With A Raspberry Pi

Implementing SmartList Builder: Series Index

eOne SolutionsI’ve posted series on a few different ISV addons for Microsoft Dynamics GP over the last few years, but, somewhat ironically I guess, have not posted all that much about the addin I’ve used the most over the years.

That addin is SmartList Builder from eOne Solutions.

SmartList Builder allows you to create both brand new SmartLists or modify existing SmartList. You can link up to 32 tables together. Tables can be standard GP tables, any of the Third Party (ISV) tables, any SQL table, SQL views or SQL Scripts, other SmartLists or Extender resources.

This series is going to cover the implementation of SmartList Builder; I’ll take a look at report builder in a future series.

Implementing SmartList Builder
What is SmartList Builder?
SmartList Builder vs. SmartList Designer

Using Pi-hole On A Raspberry Pi: Update Blocklists

Raspberry PiThis post is part of the series on using the Pi-hole; this series is a sub-series of the Adventures with a Raspberry Pi.

When the Pi-hole is installed, you have the option to select which blocklists should be used. The blocklists will be downloaded at that point, but need to be kept up-to-date. Fortunately, there is a cron job which runs automatically once a week and updates these blocklists.

If you want to run a manua update of the blocklists, log into the Pi-hole admin interface and select Tools and then click Update Gravity; when the page loads, click Update:

Update Gravity (list of blocked domains)

Continue reading “Using Pi-hole On A Raspberry Pi: Update Blocklists”

Using Pi-hole On A Raspberry Pi: Whitelisting a Site

Raspberry PiThis post is part of the series on using the Pi-hole; this series is a sub-series of the Adventures with a Raspberry Pi.

When using a Pi-hole to block adverts, you will come across sites which you want to access, but which are being blocked. The message you will see is not readily apparent that the site has been blocked by the Pi-hole:

Site blocked by Pi-hole

Continue reading “Using Pi-hole On A Raspberry Pi: Whitelisting a Site”

Using Pi-hole On A Raspberry Pi: Disabling Pi-hole

Raspberry PiThis post is part of the series on using the Pi-hole; this series is a sub-series of the Adventures with a Raspberry Pi.

While the Pi-hole has worked very well, there are times when I’ve had issues and wondered if it was the Pi-hole causing them. One of the good features of the Pi-hole is that it is very easy to temporarily disable it, which allows you to either easily rule out the Pi-hole as the cause of the problem or confirm that it was responsible.

To temporarily disable the Pi-hole, log into the admin interface and click Disable on the right pane:

Pi-hole disable menu

Continue reading “Using Pi-hole On A Raspberry Pi: Disabling Pi-hole”

SQL Function to Remove Alphanumeric Characters

Microsoft Dynamics GPI created a customisation recently for a client which would generate a Vendor ID based on the name, by removing alphanumeric characters. In order to make it as flexible as possible, I created the function to accept a parameter for type which will cause the function to strip different characters:

  • A – leaves alpha characters only.
  • N – leaves numeric characters only.
  • AN – leaves alphanumeric characters.

The second parameter is the string which should have the characters stripped:

IF OBJECT_ID (N'uv_AZRCRV_StripCharacters', N'FN') IS NOT NULL
	DROP FUNCTION uv_AZRCRV_StripCharacters
GO

CREATE FUNCTION uv_AZRCRV_StripCharacters(@Type VARCHAR(100), @String VARCHAR(MAX))
	RETURNS VARCHAR(MAX)
/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (http://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int).
*/
BEGIN
	DECLARE @PatIndex VARCHAR(20)
	IF (@Type = 'Alpha' OR @Type = 'A')
		SET @PatIndex = '%[^a-z]%'
	IF (@Type = 'Numeric' OR @Type = 'N')
		SET @PatIndex = '%[^0-9]%'
	IF (@Type = 'AlphaNumeric' OR @Type = 'AN')
		SET @PatIndex = '%[^a-z0-9]%'

	WHILE PATINDEX(@PatIndex, @String) < 0
		SET @String = STUFF(@String, PATINDEX(@PatIndex, @String), 1, '')

	RETURN @String
END

GRANT EXECUTE ON uv_AZRCRV_StripCharacters TO DYNGRP
GO