Internationalizing a ClassicPress plugin: Don’t include HTML markup in localization
Oct15

Internationalizing a ClassicPress plugin: Don’t include HTML markup in localization

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. When internationalizing a plugin, you should, as far as possible, avoid including HTML markup in the localization strings. Annoyance the First: Thou shalt not put unnecessary HTML markup into the translated string. For example, a heading should… Continue Reading Ian Grieve’s...

Read More
SmartList Tips – favorites
Oct15

SmartList Tips – favorites

Today’s #TipTuesday topic is still related to SmartLists, the subject I’ve been writing a few of these about the past few Tuesdays! My topic is SmartList Favorites, which will be a bit shorter than the others as there is only so much one can write about it! PS, unrelated side note: being Canadian, it’s killing me inside that I have to keep typing “favorites” instead of “favourites” but...

Read More
MDGP “October 2019” Release Feature of the Day: User Access Enhancements
Oct15

MDGP “October 2019” Release Feature of the Day: User Access Enhancements

The Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP “October 2019” Release on which I am following and adding commentary. The index for this series of posts is . The fifth Feature of the Day is User Access Enhancements. There are four enhancements to the User Access window. Firstly, you can choose to filter inactive users from… Continue Reading Ian...

Read More
Internationalizing a ClassicPress plugin: Localizing a string including notes for the translator
Oct14

Internationalizing a ClassicPress plugin: Localizing a string including notes for the translator

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. The esc_html_x function is very similar to the esc_html__ one, but has the addition of a comment section where context for the translator can be supplied. This is sometimes beneficial to use as the English language has words and phrases which can… Continue Reading Ian...

Read More
MDGP “October 2019” Release Feature of the Day: Export and Import Workflows
Oct14

MDGP “October 2019” Release Feature of the Day: Export and Import Workflows

The Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP “October 2019” Release on which I am following and adding commentary. The index for this series of posts is . The fourth Feature of the Day is Export and Import Workflows. Have you setup a workflow in one company and want to create it in another company? A new workflow feature in… Continue Reading Ian...

Read More
Internationalizing a ClassicPress plugin: Localizing a string including plurals
Oct13

Internationalizing a ClassicPress plugin: Localizing a string including plurals

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. As well as translating strings, and strings with parameters, you can also translate strings which include plurals. For example, you might have a counts of comments which would vary between 1 comment and 2 comments. This can be handled using the… Continue Reading Ian Grieve’s...

Read More
Internationalizing a ClassicPress plugin: Localizing a string containing a parameter
Oct12

Internationalizing a ClassicPress plugin: Localizing a string containing a parameter

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. If you have a string containing a parameter, say for example someone making a statement about the number of lights, you can combine your esc_html__ function with sprintf to switch out a placeholder with the number in a variable: $str =… Continue Reading Ian Grieve’s Article...

Read More
Internationalizing a ClassicPress plugin: Don’t paramaterize your text domain
Oct11

Internationalizing a ClassicPress plugin: Don’t paramaterize your text domain

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. A plugin can have a lot of strings to translate; the larger the plugin the more translations there are likely to be. It is quite common for developers to look for ways to reduce typing the same parameter every time through the use of variables or… Continue Reading Ian...

Read More
MDGP “October 2019” Release Feature of the Day: Security Role and Task Workflows
Oct11

MDGP “October 2019” Release Feature of the Day: Security Role and Task Workflows

The Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP “October 2019” Release on which I am following and adding commentary. The index for this series of posts is . The third Feature of the Day is new workflows for Security Role and Task approval. The last two new workflows are Security Task Approval and Security Roles Approval: Security… Continue Reading Ian...

Read More
Internationalizing a ClassicPress plugin: Localizing a string
Oct10

Internationalizing a ClassicPress plugin: Localizing a string

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. Over the previous posts I’ve discussed adding text domains and which functions are available to use, it’s time to look at a practical application. To return a translated string we’d use the esc_html__ function with the string which can be… Continue Reading Ian...

Read More
MDGP “October 2019” Release Feature of the Day: User Security Workflow
Oct10

MDGP “October 2019” Release Feature of the Day: User Security Workflow

The Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP “October 2019” Release on which I am following and adding commentary. The index for this series of posts is . The second Feature of the Day is another new User Security Workflow to complement the one covered in the previous post of this series. In User Security, you can make changes to… Continue Reading Ian...

Read More
Internationalizing a ClassicPress plugin: Which localization functions to use?
Oct09

Internationalizing a ClassicPress plugin: Which localization functions to use?

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. In the previous post, of this series, I explained what functions were available for use in internationalizing a plugin, but there is something you need to consider when deciding which one to use. With security at the forefront, it is important to… Continue Reading Ian...

Read More
MDGP “October 2019” Release Feature of the Day: User Approval Workflow
Oct09

MDGP “October 2019” Release Feature of the Day: User Approval Workflow

The Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP “October 2019” Release on which I am following and adding commentary. The index for this series of posts is . The first Feature of the Day is a new User Approval workflow. Maintained with the rest of the workflows in Workflow Maintenance (Administration area page » Setup » Company »…...

Read More
Internationalizing a ClassicPress plugin: Localization functions
Oct08

Internationalizing a ClassicPress plugin: Localization functions

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. There is a number of functions available in ClassicPress which can be used in localising code: __() – this function takes a string and returns the translation if it exists. _e() – this function takes a string and echos the translation if it… Continue Reading Ian...

Read More
SmartList Tips – working with columns
Oct08

SmartList Tips – working with columns

Today’s #TipTuesday post is the third in my series of tips on using SmartLists in Dynamics GP. The first two posts were around the “basics” as I call them and then printing and exporting. Today’s topic is working with columns. Changing the Column Order & Names In my first tip post, I showed that it’s easy to resize columns. It’s not “as” easy to re-arrange columns. While some…...

Read More
MDGP “October 2019” Release Feature of the Day: Series Index
Oct08

MDGP “October 2019” Release Feature of the Day: Series Index

The Inside Microsoft Dynamics GP blog has started a series Feature of the Day posts for Microsoft Dynamics GP “October 2019” Release on which I am following and adding commentary. This post is the series index which will automatically update as each post goes live (if you are reading the original post). There are four key areas in which ehancements can be grouped: Top Feature Requests by our… Continue Reading Ian...

Read More
Internationalizing a ClassicPress plugin: What is a Text Domain and how is it specified?
Oct07

Internationalizing a ClassicPress plugin: What is a Text Domain and how is it specified?

This post is part of the sub-series on Internationalizing a ClassicPress plugin which is part of the Internationalizing a ClassicPress plugin series. A text domain is a unique identifier which makes sure ClassicPress can distinguish between all loaded translations and apply the correct one. The text domain should be a unique string, not used by any other translation (which would include… Continue Reading Ian Grieve’s...

Read More
Microsoft Dynamics GP “October 2019” Release now available for download
Oct07

Microsoft Dynamics GP “October 2019” Release now available for download

The download for the Microsoft Dynamics GP “October 2019” Release is now available for download from CustomerSource as either a full install or service pack release to upgrade Microsoft Dynamics GP 2018: Full Download Service Pack This is the first release of Microsoft Dynamics GP on the Modern Lifecycle. There is a series of feature of the day posts being released by the Inside Microsoft… Continue Reading Ian...

Read More
Microsoft Dynamics GP Naming And Modern Lifecycle
Oct07

Microsoft Dynamics GP Naming And Modern Lifecycle

With the release of Microsoft Dynamics GP in October 2019, it is moving to the Modern Lifecycle. This means the new version won’t be called Microsoft Dynamics GP 2019 as thought, but will instead be the Microsoft Dynamics GP “October 2019” Release. The Modern Policy offers continuous support and servicing, including bug fixes, new features and the latest tax updates. Customers can stay current… Continue Reading...

Read More
Internationalizing a ClassicPress plugin: How does internationalization work?
Oct06

Internationalizing a ClassicPress plugin: How does internationalization work?

This post is part of the sub-series on Translating a ClassicPress plugin which is part of the Translating a ClassicPress plugin series. ClassicPress uses the gettext libraries and tools for internationalization; gettext is an old and respectable piece of software which is widely used in the world of open-source. The basics of how it works are: Developers wrap translatable strings in special… Continue Reading Ian Grieve’s...

Read More
Internationalizing a ClassicPress plugin: Series Index
Oct05

Internationalizing a ClassicPress plugin: Series Index

This series is part of a wider series on Internationalizing a ClassicPress plugin. In the first posts on the parent series, I explained what internationalization and localization are and, in this sub-series, I am going to explain the process of internationalizing a plugin developed for ClassicPress. Translating a ClassicPress plugin Translating a ClassicPress plugin What is… Continue Reading Ian Grieve’s Article on their...

Read More
Translating a ClassicPress plugin: When should a plugin be internationalized?
Oct04

Translating a ClassicPress plugin: When should a plugin be internationalized?

This series if a is part of the Translating a ClassicPress plugin series. In the last post I discussed why internationalization was important, but the follow on from this is when should a plugin be internationalized. When developing a plugin, it is tempting to work on the functionality first and then go back to internationize the strings afterwards. When I started developing plugins, none of… Continue Reading Ian Grieve’s...

Read More
Translating a ClassicPress plugin: Why is Internationalization and Localization important?
Oct03

Translating a ClassicPress plugin: Why is Internationalization and Localization important?

This post is part of the sub-series on Translating a ClassicPress plugin which is part of the Translating a ClassicPress plugin series. ClassicPress is already used in many different countries where English is not the main language; and even where it is, there can be variations in the spelling of words. ClassicPress itself is internationalized and can be localized. Plugins and themes developed… Continue Reading Ian...

Read More
Translating a ClassicPress plugin: What is Internationalization and Localization?
Oct02

Translating a ClassicPress plugin: What is Internationalization and Localization?

This post is part of the sub-series on Translating a ClassicPress plugin which is part of the Translating a ClassicPress plugin series. Internationalization (often abbreviated as i18n as there are 18 letters between the letters i and n) is the process of developing a plugin so it can easily be translated into other languages. Localization (often abbreviated as l10n as there are 10 letters… Continue Reading Ian Grieve’s...

Read More
Microsoft Flow | Transfer a file to Azure Storage Blob with Manually Triggered Flow
Oct02

Microsoft Flow | Transfer a file to Azure Storage Blob with Manually Triggered Flow

This video shows how to create a manually triggered Flow to transfer a file to an Azure Storage Container using the Azure Storage Blob connector. You will learn how to set up an Azure storage account and a container and create a workflow to transfer a file from your mobile device or PC to a blob in Azure. I also show how to leverage expressions to obtain the file name for the selected file.For… Continue Reading Mariano...

Read More
Translating a ClassicPress plugin: Series Index
Oct01

Translating a ClassicPress plugin: Series Index

I started using WordPress when I launched this blog back in 2011 and a couple of years later started writing plugins to add missing functionality. At the end of last year I switched over to ClassicPress, a hard-fork of WordPress. As part of my transition to ClassicPress I created new versions of my plugins which added new functionality and improved security. I had already done some work to… Continue Reading Ian Grieve’s...

Read More
SmartList Tips – printing & exporting
Oct01

SmartList Tips – printing & exporting

Today’s #TipTuesday is a continuation from last week, where I covered some of the basics around SmartLists: terminology, security, sorting & resizing columns, using the GoTo, and statuses. In this post I plan to cover a few more things that I didn’t fit: more of the commands on the toolbar (Refresh, Stop, Print, Excel & Word) plus a bit more detail around exporting to Excel. Refresh… Continue Reading Jen...

Read More
SmartList Export Oddities
Sep28

SmartList Export Oddities

I am in the early stages of a set of tips around the use of SmartList in Dynamics GP. Today I was writing one for this coming Tuesday and in doing the prep work to get screenshots etc. ready, I was doing some exports. One thing led to another, and I realized I should include a screenshot of what the toolbar looks like when you use Export Solutions, one of the future topics I plan on covering…. Continue Reading Jen Kuntz’s...

Read More
GP “Next” aka what’s in a name?
Sep27

GP “Next” aka what’s in a name?

If you haven’t heard the expression “GP Next”, it’s a long-time moniker for the next “yet-to-be-named” release of Microsoft Dynamics GP. It’s a commonly used term to talk about the next version while product versioning and/or naming and/or branding details are still being sorted out, instead of referring to it by a semi-real name that changes at the last minute. It’s not like the product...

Read More
Power Platform Share with Steve, Mariano, and Belinda (Episode 6)
Sep26

Power Platform Share with Steve, Mariano, and Belinda (Episode 6)

MVPs Steve Endow (Twitter: @steveendow), Belinda Allen (Twitter: @MsBelindaAllen), and Mariano Gomez (Twitter: @dgpblogster) sit down with Bob McAdam (Twitter: @4mcadam), General Manager of the GP User Group (GPUG) to discuss the addition of Power Platform sessions in a Microsoft Dynamics GP Technical Conference.Recording was done live and onsite from Fargo, ND on September 12, 2019, but… Continue Reading Mariano...

Read More
SmartList Tips – the basics
Sep24

SmartList Tips – the basics

Today’s #TipTuesday is another one for the newer Dynamics GP users in the community. Recently a user asked me how they could prepare a SmartList for some receivables data they wanted. It turns out they had really not utilized SmartLists at all in their day to day work yet, despite using Dynamics GP for a few years. It occurred to me how little time we spend training users on being more… Continue Reading Jen Kuntz’s...

Read More
Balsamiq Mockups 3: Conclusion
Sep24

Balsamiq Mockups 3: Conclusion

This post is part of the series on Balsamiq Mockups 3. As I am sure is apparent, I like Balsamiq Mockups and have used it quite a few times now to design screens for projects. It is very easy to use and allows for rapid creation of screen mockups which you can design while talking to a client. I find it useful for designing the screen as we talk about options and how things might look. Click… Continue Reading Ian Grieve’s...

Read More
Balsamiq Mockups 3: Creating a mockup
Sep23

Balsamiq Mockups 3: Creating a mockup

This post is part of the series on Balsamiq Mockups 3. Balsamiq is a simple program to use for creating mockups. The available objects are available along the top of the screen; you simply drag-and-drop the object where you want it on the page: The mockup shown above only took me a couple of minutes to create. Within a project you can create several mockups which are grouped together within… Continue Reading Ian Grieve’s...

Read More
Balsamiq Mockups 3: Install
Sep20

Balsamiq Mockups 3: Install

This post is part of the series on Balsamiq Mockups 3. Once you have downloaded Balsamic Mockups 3, launch the file and click the Install button: Once the installation is finished, leave the Run Balsamiq Mockups 3.exe, click Finish: Balsamiq Mockups is built using Adobe AIRm so on first run of the client you will be prompted to install it; click I Agree Balsamiq will then launch and show a… Continue Reading Ian Grieve’s...

Read More
PowerApps | Passing Record Collections from Microsoft Flow to PowerApps
Sep19

PowerApps | Passing Record Collections from Microsoft Flow to PowerApps

In my previous video, I showed you how we can pass collections from PowerApps as a JSON payload to Microsoft Flow. Now, we will see how we can get a JSON payload back into PowerApps. The technique used here requires knowledge of various PowerApps functions to accomplish the job: Split(), FirstN(), Last(), RemoveIf() , and a timer. Hopefully, one day we will be able to pass JSON payloads from… Continue Reading Mariano...

Read More
Balsamiq Mockups 3: Download
Sep19

Balsamiq Mockups 3: Download

This post is part of the series on Balsamiq Mockups 3. The desktop version of Balsamiq, Balsamiq Mockups 3, can be easily downloaded and used under a 30 day free trial so you can make sure you’ll be able to use it. After navigating the the link, click the large blue Download Mockups 3 button: On the popup End User License Agreement box, click I Agree: Click save, save as or open/run to… Continue Reading Ian Grieve’s...

Read More
Fixed Assets GL Posting Flow Part 1
Sep18

Fixed Assets GL Posting Flow Part 1

I’m starting a new series of posts which are going to be focused on the Fixed Assets module in Dynamics GP. I’ll state upfront I don’t know how long the series will last, nor how frequently I’ll be writing. I am pulling out notes from 3 or 4 years ago when I first noodled this topic, reviewing what I documented at that time and setting up scenarios in my Dynamics GP environment to test and get… Continue...

Read More
Balsamiq Mockups 3: Licensing
Sep18

Balsamiq Mockups 3: Licensing

This post is part of the series on Balsamiq Mockups 3. Mockups 3 for Desktop is a one time purchase and there are no maintenance costs for the license; in addition, licenses are tied to humans and not a particular machine so you can work on it on a desktop and laptop with the same license. A single user license currently costs $89.99, but there are volume licenses available with discounts… Continue Reading Ian Grieve’s...

Read More
Show Required Fields
Sep17

Show Required Fields

Today’s #TipTuesday is simple but for new users, it could be a very helpful one. This post is all about options to make “required” fields in Dynamics GP more visible to users, a feature that is easily overlooked in training. User Preferences In a post last summer, I covered some of the User Preferences window, but I didn’t go as far as covering what is under the Display button. This… Continue Reading Jen...

Read More
Balsamiq Mockups 3: What is Balsamiq Mockups 3?
Sep17

Balsamiq Mockups 3: What is Balsamiq Mockups 3?

This post is part of the series on Balsamiq Mockups 3. Balsamiq Wireframes is a rapid low-fidelity UI wireframing tool which reproduces the experience of sketching on a notepad or whiteboard, but using a computer. It aims to force you to focus on structure and content early in the design process, avoiding lengthy discussions about colors and details which should come later. Balsamiq have a

Read More
Balsamiq Mockups 3: Series Index
Sep16

Balsamiq Mockups 3: Series Index

I’ve posted about a number of useful applications in the past (a href=’https://www.azurecurve.co.uk/2019/04/installing-filezilla-client-series-index/’>FileZilla, Windows 10 Calculator Replacement and Notepad++ as examples) and will post more in future. The subject of this small series, is Balsamiq Mockups. Over the next few posts, I’ll take a look at what it is and how to install and use it. <table...

Read More
Workflow in progress have been found in GP. These need to be processed before upgrading.
Sep13

Workflow in progress have been found in GP. These need to be processed before upgrading.

A colleague was recently performing an upgrade for a client to Microsoft Dynamics GP 2018 R2; this client had previously been a user of the old Dynamics Workflow module (now replaced with Workflow 2.0). They hadn’t used it for a while, but it had never been switched off resulted in the following message being displayed: Microsoft Dynamics GP Utilities Workflows in progress have been found in… Continue Reading Ian...

Read More
Web Client images not loading
Sep12

Web Client images not loading

It’s been quite a while since I did much with the Microsoft Dynamics GP web client; not by choice, but as a consultant my time is driven by the clients requirements. We recently upgraded a client to Microsoft Dynamics GP 2018 R2 and implemented the web client. When we launched the web client we found that none of the images were loading and we were unable to properly log in: Looking in the… Continue Reading Ian...

Read More
GP Tech 2019 – Day 3
Sep12

GP Tech 2019 – Day 3

I’m catching up and am now writing about “today”, day 3 at GP Tech 2019. If you missed my earlier posts from the other days, they are here: Pre-Day Day 1Day 2 The third day of the conference is always a short one – a half day of content and for some, various meetings or simply a chance to start the journey home early. By the time this day rolls around, even though it’s short, most… Continue Reading...

Read More
PowerApps | Fabrikam Utility Billing Center sample app
Sep11

PowerApps | Fabrikam Utility Billing Center sample app

I just got done with presentations at the yearly Microsoft Dynamics GP Technical Conference in Fargo, ND and had the privilege of delivering a session titled Leveraging your on-premises data with the Power Platform.During this session I presented a moderately complex sample application that leverages PowerApps AI Builder Form Processing to capture utility bills. These bills are submitted to… Continue Reading Mariano...

Read More
An authentication error has occurred; this could be due to CredSSP encryption oracle remediation
Sep11

An authentication error has occurred; this could be due to CredSSP encryption oracle remediation

This error first came up early in 2018, but I’ve stumbled across it a couple of times recently and had to hunt around for the solution, so I am posting it here so I know where to find it next time. Microsoft released an update to address vulnerabilities for the Credential Security Support Provider protocol (CredSSP) used by Remote Desktop Protocol (RDP) connections for Windows clients and… Continue Reading Ian...

Read More
GP Tech 2019 – Day 2
Sep10

GP Tech 2019 – Day 2

This is a continuation of the mini-series of posts about the GP Tech Conference in Fargo, ND. If you missed the first two posts, you can find them here: Pre-Day, including golf with Shawn, Taylor & BelindaDay 1 Meeting with Microsoft Day 2 started a lot more slowly for me. I decided to skip a couple of the first morning sessions to join a meeting with a few others to give some… Continue Reading Jen Kuntz’s Article on...

Read More
Hyphens in Dynamics GP Fixed Assets
Sep10

Hyphens in Dynamics GP Fixed Assets

Today’s #TipTuesday is about the Dynamics GP Fixed Assets module. I am going to discuss the restriction around the use of hyphens (dashes) in Fixed Asset IDs. Prior to GP 2013, there was no issue with hyphens and many customers who utilized Fixed Assets had created Asset IDs with them as separators. Of the numerous clients I have been to over the years, every single one of them used hyphens as… Continue Reading Jen...

Read More
New features coming to Microsoft Dynamics GP in 2019
Sep10

New features coming to Microsoft Dynamics GP in 2019

The new version of Microsoft Dynamics GP is coming in October this year and a trickle (hopefully) of new features has just been announced at the GP Tech Conference in Fargo, North Dakota. The features have been announced in one of the sessions at the conference which I have unfortunately not been able to attend; the features listed below have been tweeted by attendees I follow on Twitter:

Read More
GP Tech 2019 – Day 1
Sep09

GP Tech 2019 – Day 1

Day 1 of this year’s GP Tech conference was Monday, September 9th. As in previous years, this is a 2.5 day event, with very full days on the Monday and Tuesday followed by a “morning-only” set of content on the Wednesday. As I write this, it’s Wednesday and I’m catching up on my blogs to get them written and posted before I fly out this afternoon for home. If you missed my “Pre-Day”...

Read More