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?

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

Using Pi-hole On A Raspberry Pi: Admin Interface

Raspberry PiThis post is part of the series on building my new Raspberry Pi; this series is a sub-series of the Adventures with a Raspberry Pi.

The Pi-hole admin interface is where you maintain your blocklists, whitelists and general settings. You can access it in two ways:

  1. http://[higlight]{ip address of pi-hile}[/highlight]/
  2. http://pi.hole/

When the admin page interface, you will see basic information for the last 24 hours:

Pi-hole admin interface not logged in

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

IIS Rewrite Rule for Redirect to Directory

Microsoft Dynamics GPThe web hosat I am currently with allows multiple domains, but only 6 websites; this means I have to be a little creative sometimes when creating additional sites.

I actually have a lot more than six websites being hosted on my account, due to a mix of WordPress MU and redirects to folders.

The redirect is done using an IIS rewrite rule. As I may be moving web host soon, I’m posting this so that I have easy access should I need.

This code goes in the rewrite section of the web.config file:

/*
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).
*/
<rewrite>
	<rules>
		<rule name="Rewrite subdomain.azurecurve.co.uk subdomain to dir" enabled="true">
			<match url="^(.*)$" />
			<conditions>
				<add input="{HTTP_HOST}" pattern="^subdomain\.azurecurve\.co\.uk$" />
			</conditions>
			<action type="Rewrite" url="_subdomain.azurecurve.co.uk/{R:1}" />
		</rule>
		<rule name="subdomain.azurecurve* wordpress" patternSyntax="Wildcard">
			<match url="*subdomain.azurecurve*" />
			<conditions>
				<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
				<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
			</conditions>
			<action type="Rewrite" url="_subdomain.azurecurve.co.uk/index.php" />
		</rule>
</rewrite>

The second rule is, I believe, required specifically for redirects for WordPress sites, the majority of which my rewrites are for.