Category Archives: Blog
Implementing extensions in NAV Development Preview using Docker
Introduction: This blog describes Container, Docker, and Benefits of using Containers. As containers was a new functionality in Microsoft Dynamics NAV Development Preview from September Update, this document also demonstrates creating containers and how to implement extensions using containers. Also, it includes saving the image into Azure Container Registry Service. Pre-requisites: Microsoft NAV Development Preview(December update) Visual Studio Code(VS Code) Description of Containers: 1. What is a Container? A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure. 2. Why do we use container? When you are running an app on a computer, you stand the risk that it will conflict with everything else on the machine. If two apps are having the same name and utilizing the same folder structure on the hard drive, there is a conflict and if 2 apps are using different versions of the same DLL, there might be problems.With a container, you achieve a higher level of isolation. Each container has its own file system, its own registry, its own network layer with its own published ports, and of course its own memory space – kind of like a virtual machine, just without the fat guest operating system. 3. What is a Docker? Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud.Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation. 4. Implementing Docker: What is a Docker Image? An image is an inert, immutable, file that’s essentially a snapshot of a container. Images are created with the build command, and they’ll produce a container when started with run. Images are stored in a Docker registry such as registry.hub.docker.com. i. List of Docker Images ii. List of Containers PS C:\Users\cfadmin> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c45e57849c56 microsoft/dynamics-nav:devpreview-finus “powershell -Comma…” 14 hours ago Up 2 minute s (healthy) 80/tcp, 1433/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:7046-7049->7046-7049/tcp, 7045/tcp, 0.0.0.0:8080->8080/t cp navserver iii. Creating a new Container PS C:\demo> docker run -e ACCEPT_EULA=Y a9 Initializing… Starting Container Hostname is 0b04fbea782e PublicDnsName is 0b04fbea782e Using NavUserPassword Authentication Starting Local SQL Server Starting Internet Information Server Creating Self Signed Certificate Self Signed Certificate Thumbprint 52600A924814D5A8848D7990BC3F76F7FB6FAF66 Modifying NAV Service Tier Config File with Instance Specific Settings Starting NAV Service Tier Creating DotNetCore NAV Web Server Instance Enabling Financials User Experience Creating http download site Creating Windows user admin Enabling SA WARNING: This license is not compatible with this version of Dynamics NAV. Creating NAV user WARNING: This license is not compatible with this version of Dynamics NAV. WARNING: This license is not compatible with this version of Dynamics NAV. Container IP Address: 172.18.232.162 Container Hostname : 0b04fbea782e Container Dns Name : 0b04fbea782e Web Client : https://0b04fbea782e/NAV/WebClient/ NAV Admin Username : admin NAV Admin Password : Tyvo6712 Dev. Server : https://0b04fbea782e Dev. ServerInstance : NAV Files: http://0b04fbea782e:8080/al-0.12.15359.vsix http://0b04fbea782e:8080/certificate.cer Initialization took 105 seconds Ready for connections! Note: Instead of full Image ID starting few characters can be used as Identifiers. Image Name can also be instead of Image ID. Download the Certificate from the URL and installed in Enterprise Trust, Trusted Publisher. iv. Viewing the created Container PS C:\demo> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORT S NAMES 0b04fbea782e a9 “powershell -Comma…” 3 hours ago Up 3 hours (healthy) 80/t cp, 443/tcp, 1433/tcp, 7045-7049/tcp, 8080/tcp stupefied_stonebraker ca1980d041c6 microsoft/dynamics-nav:devpreview-finus “powershell -Comma…” 28 hours ago Up 6 hours (healthy) 80/t cp, 1433/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:7046-7049->7046-7049/tcp, 7045/tcp, 0.0.0.0:8080->8080/tcp navserver Newly Created Container with name as ‘stupefied_stonebraker’ and ID as ‘0b04fbea782e’ 5. In Visual Studio Code: i. Contents of Launch.json file ii.Contents of App.json file iii. Contents of Code unit which displays a Hello Message iv. Contents of Customer Card which Creates a field and an action that triggers the CodeUnit above v. Contents of Customer Table Extension that adds a field vi. in the Extension Management Pane vii. Action in Customer Action vii Displaying Hello Message viii. Added field in the Customer Card Page 6. Merging the Containers in Image and Managing with Azure Container Service i. Comitting the Container ‘stupefied_stonebraker’ to Image ‘microsoft/dynamics-nav:devpreview–finus’ PS C:\Users\vmadmin> docker stop stupefied_stonebraker stupefied_stonebraker PS C:\Users\vmadmin> docker commit stupefied_stonebraker microsoft/dynamics-nav:devpreview-finus sha256:eca05b64ed3619c688225685613e27fb4dbb6823aee46e24e96f3d813158440f ii. Tag the Image ’ microsoft/dynamics-nav:devpreview–finus’ as ‘navcontainerregister.azurecr.io/dynamics-nav:v1’ and push the committed image to Azure Container Service PS C:\Users\vmadmin> docker tag microsoft/dynamics-nav:devpreview-finus navcontainerregister.azurecr.io/dynamics-nav:v1 PS C:\Users\vmadmin> docker login –username NavcontainerRegister –password 6QiIyg9ICAa=aEg1jL2Wp8JumxvfPAEd navcontainerregister.azurecr.io Login Succeeded PS C:\Users\vmadmin> docker push navcontainerregister.azurecr.io/dynamics-nav:v1 The push refers to a repository [navcontainerregister.azurecr.io/dynamics-nav] 79bb52c8ab0d: Preparing 9c54b1a40ebc: Preparing 0d828dcd4895: Preparing b52bf723b284: Preparing 4beec416a215: Preparing 282537c6428c: Preparing b786ae432ac1: Preparing b07b88fd6145: Preparing 28c2b5be05f7: Preparing cc91b1f75f98: Preparing 7305c5891baa: Preparing bb5530559b18: Preparing 021428a01c82: Preparing 13b346524402: Preparing cda2d40c0d33: Preparing 64efa9cbaf9b: Preparing aa2b81bfb0aa: Preparing 505553846eae: Preparing 7a83b9538cb1: Preparing 20c2a3ed5225: Preparing 5437ac367abf: Preparing c856f8e0a2f7: Preparing f358be10862c: Preparing b07b88fd6145: Waiting 28c2b5be05f7: Waiting cc91b1f75f98: Waiting 7305c5891baa: Waiting bb5530559b18: Waiting 021428a01c82: Waiting 13b346524402: Waiting cda2d40c0d33: Waiting 64efa9cbaf9b: Waiting aa2b81bfb0aa: Waiting 505553846eae: Waiting 7a83b9538cb1: Waiting 20c2a3ed5225: Waiting 5437ac367abf: Waiting c856f8e0a2f7: Waiting f358be10862c: Waiting 282537c6428c: Waiting b786ae432ac1: Waiting b52bf723b284: Pushed 9c54b1a40ebc: Pushed 4beec416a215: Pushed b07b88fd6145: Pushed 282537c6428c: Pushed b786ae432ac1: Pushed cc91b1f75f98: Pushed 28c2b5be05f7: Pushed bb5530559b18: Pushed 021428a01c82: Pushed cda2d40c0d33: Pushed 13b346524402: Pushed aa2b81bfb0aa: Pushed 64efa9cbaf9b: Pushed 505553846eae: Pushed 20c2a3ed5225: Pushed 79bb52c8ab0d: Pushed c856f8e0a2f7: Skipped foreign layer f358be10862c: Skipped foreign layer 0d828dcd4895: Pushed 7305c5891baa: Pushed 7a83b9538cb1: Pushed 5437ac367abf: Pushed v1: digest: sha256:0aa9bfe03388e4fa20f83fcac99dafdf1933f58a2aed9d1c8bb2d05d162f062e size: 5343 iii. Azure Container Registry Repository: Pushed Image into Container Registry in Repositories Conclusion: These are the actions that can be performed on Container using Docker and how extensions are developed on Containers.
Share Story :
Configuration and Installation of MPOS in Dynamics 365 for Retail
Introduction: Dynamics 365 for Retail Provides Modern POS functionality (MPOS). It supports online as well as offline mode. The blog describes the configuration and Installation of MPOS step by step. Steps: Step 1: Go to Retail -> Channels -> Retail Stores -> All Retail Stores Select the Store for which you want to configure MPOS. In my case I have selected the warehouse. Step 2: On right hand side Go to registers and select which register you want for that particular store. Double click on the register Step 3: Under General Fast Tab, Enable Support Offline and Double click on the Device Please Note: If Device is not set for the register of the store. Go to Devices and assign a device of type Retail Modern POS to the register. Step 4: Click on Download and select the Configuration file Step 5: When the download starts click on save or the browser will automatically download it. Step 6: Again Go to Download and now select the Retail Modern POS Step 7: Once the download starts click on Save and then click on Run. This completes the installation of Modern POS
Share Story :
Raise and expense entry for a Fixed Bid Project in D365 PSA
Introduction: Let’s consider a scenario where we need to raise an expense entry for a Fixed Bid project. PSA by definition does not charge for expenses. If you want to have fixed price for the project and expense to be charged for other things, you need to do it via adjusting the contract. Steps: Follow the steps below to prepare the contract: Prepare a contract and add a Fixed Bid project with “Time” and “Fee” as the option shown below: Add another line and create another Time and Material Type project and select “Expenses” as the option. You will have to inform the team to select the right project while raising the expense, that is the T&M one. Now when you create the invoice via that contract, you will get your milestone as well as the expenses coming up in the same invoice as shown below.
Share Story :
Dispositions in Office 365
Introduction: When content reaches the end of its retention period, there are many reasons that you might want to review that content. You might need to assign a different retention period, suspend the deletion, etc. A disposition review includes only content in SharePoint sites, OneDrive accounts, and sites for Office 365 groups. A disposition review can’t include content in Exchange Online, Skype, public folders, or mailboxes for Office 365 groups. Sign in with Office 365 credentials, go to Admin Center > Security & Compliance > Data Governance > Disposition. Permission for Disposition: Reviewers must be the member of Disposition Management role and the View-only Audit Logs role. Setting up the Disposition review by creating a Label: Disposition review option is only available when you create a Label with retention settings. This option is not available in a retention policy. For creating a Label, navigate to Office 365 Security & Compliance, go to Classification > Labels. With Labels, you can classify data across your organization for governance, and enforce retention rules based on that classification. Switch toggle button to ON for applying Retention. Tick Trigger a Disposition review for setting up Disposition. When a content (to which this label is applied) reached retention period, reviewer is notified by email that content is ready to review. Reviewer can then go to Disposition page and select one or more item. The reviewer can: Apply a different Label. Extend the retention period. Permanently delete the item Export the Disposition item: In addition, you can export the items in .csv file that you can open in excel. Conclusion: It is important to review content when it reaches it’s retention period so if it requires you can assign different retention tag or label.
Share Story :
Supervision in Office 365
Introduction: Supervision lets you define policies that capture email and 3rd-party communications in your organization so they can be examined by internal or external reviewers. For creating Supervision policy, one must made add himself to the Supervision review role group so that they can set up policies. Go to Office 365 admin center > Security & Compliance > Permissions. Or Sign in to https://protection.office.com with your Office 365 credentials. Create Policy for Supervision: Go to Office 365 Security & Compliance > Data governance > Supervision. Click Create and then follow the wizard to set up the following pages of the policy. Enter a name and description for your policy. Choose users to supervise, here you can provide list of users or you can make Group in Office 365 and provide the Group name. If you provide Group, then you can exclude any user from Supervision by providing that user name under Exclude these users. Choose communications to review. If you want to scope the review further, click Add a condition. You can specify multiple conditions. Specify percentage to review. If you want to reduce the amount of content to review, specify a percentage. If you want reviewers to review all items, enter 100%. The users and groups you choose will use the Supervision app in Outlook web app to examine the communications that are returned by this policy. You can include email addresses for internal and external reviewers. After you have completed all sections of Supervision policy, review your settings and click Finish. Reviewers will use the Supervision add-in for Outlook web app to review communications. The add-in is installed automatically in Outlook web app for all reviewers you specified in the policy. Conclusion: It is good practice to create Supervision policy to capture email communication in your organization.
Share Story :
Analysis Services Live Connection in Power BI
Introduction: In this article, we will learn how to configure Live connection for Analysis Services in Power BI. Requirements: Power BI Licence SQL Server Analysis Service Power BI Gateway (Refer this link to configure Power BI Gateway) Steps to Connect Analysis Services Live in PowerBI Open PowerBI Desktop Click Get Data and Select Analysis Services In the Analysis Services Connection details, select Live Connection Mode for Live Connection. Once the Data, Measures, KPIs are loaded you can create Power BI Dashboard. Live Connection enabled status is visible at the right bottom of the Power BI Desktop. Before publishing the Dashboard, login into Power BI Service. Under Manage Gateway, we must add a data source for Analysis Services. Note: The account should be a Server Admin on the Analysis Server and should be a domain account in the same domain that the Analysis Services instance is located. (Click here for more information on Analysis Server Connection) Go back to Power BI Desktop and publish the Power BI dashboard. In the Power BI Service, under the Reports you will be able to see the published Live SQL dashboard.
Share Story :
SQL Live Connection in Power BI
Introduction: In this article, we will learn how to configure Live connection for SQL in Power BI. Requirements: Power BI Licence SQL Server Database Engine. Power BI Gateway (Refer this link to configure Power BI Gateway) Steps to Connect SQL Live in PowerBI: Open PowerBI Desktop Click Get Data and Select SQL Server. In the SQL Connection details, select DirectQuery Mode for Live Connection. Once the Data is loaded, you can create Power BI Dashboard. DirectQuery enabled status is visible at the right bottom of the Power BI Desktop. Before publishing the Dashboard, login into Power BI Service. Under Manage Gateway, we must add a data source for SQL Server. Go back to Power BI Desktop and publish the Power BI dashboard. In the Power BI Service, under the Reports you will be able to see the published Live SQL dashboard.
Share Story :
Setup UserName authentication in Dynamics NAV
Do you feel like the vast majority of your information lives in Excel spreadsheets? Joining deals with that, as well, Microsoft dynamics nav upgrade improves your operational productivity so you have all the more convenient information. This permits you to know things quicker like when to move stock from area to another, when to markdown items, and how to showcase in one district versus another. Coordination prompts snappier dynamics. The present clients request a great deal from vendors. Having the option to settle on basic business choices at the ideal time depends on having perceivability into your tasks. Mix is regularly the way in to that kind of perceivability. It gives you a focal area to oversee and see all your information. Introduction: In this blog, we’ll see the ‘UserName’ authentication in Dynamics NAV. It is used when we want to use the existing Windows User and has a password associated with it. This method is preferred when two or more users use the same machine and require a simple password security so that only they can access their account. Prerequisite: Microsoft Dynamics NAV Procedure: Create a User in Windows Client by going to Administration > IT Administration > General or by typing Users in Search. Create a NAV Server Instance from Administration with Credential Type as ‘UserName’. Change the ClientUserSettings ‘C:\Users\<Username>\AppData\Roaming\Microsoft\Microsoft Dynamics NAV\100\ClientUserSettings ‘Give the Server, ClientServicesPort, Server Instance & ClientServicesCredentialType. Open the Windows Client and enter the credentials. Windows Client HomePage: Conclusion: Thus, this method is preferred when two or more users use the same machine and require a simple password security so that only they can access their account.
Share Story :
Session Time out in Dynamics 365
Introduction: By default, Dynamics 365 online sets user time out 24 hours. In that case a user not required to login in up to 24 hours regardless or active or inactive. Applicable for- Applies to Dynamics 365 (online), version 9.0 Microsoft Dynamics CRM 2016 (on-premises, version 8.2) Microsoft Dynamics CRM 2016 (on-premises, version 8.1) User session timeout: Earlier there was no configuration provided to set the session timeout. Dynamics 365 with specified version have provision to set the session timeout. To enforce the users to re-authenticate after pre-defined time, this can be set by admin. Once the specified time is passes the user will logoff automatically from the system. Configure session timeout: To configure the session timeout, you need to follow the below path and set the time Dynamics 365 -> settings -> Administrator -> System Settings -> General tab By default, it is set to 1440 minutes and maximum value as well. If you want to set session time out as per you convince then you need to select the option “Set Custom” and specify the desire value. You can also specify time for warning message before the session timeouts. Inactivity timeout: By any reason a user forgot to logoff from his system then if Dynamics 365 detects the ideal mode then it will logoff the user automatically after certain period. Configure inactivity timeout: To configure the session inactivity timeout, you need to follow below path and set time Dynamics 365 -> settings -> Administrator -> System Settings -> General tab By default, “session timeout” is inactive and not enabled. If you want to configure inactive timeout, you need to enable it from general tab as shown below point no 6. Session timeout section: Minimum duration for inactivity is 5 minutes and maximum duration of inactivity is 1440. Conclusion: It is good practice to have session timeout and inactive timeout, which will provide security to data.
Share Story :
November 2017 Updates for PowerBI Desktop
Introduction: In this blog article, I will talk about the November Updates for PowerBI Desktop. Conditional Formatting based on Rules: You can now set the colour of the text based on a predefined rule depending on your business logic. This enables you to colour-code your data based on a set of rules that you set based on your business logic. To do this, go to the Conditional Formatting card and select the field you want to make changes to from the drop-down menu. Switch the ‘Font Colour Scales’ option On and select ‘Advanced Controls’. The general Font Colour Scales dialog box will open. Select the ‘Colour by rules’ checkbox. The Rules pane is displayed. There are dropdown lists to select the conditions, text fields to set values and a colour selector to set the colour of the data that satisfies the condition. If left empty, they default to the Minimum and Maximum values. To add additional conditions, click the ‘Add’ button. Once done, click OK. You will see the Conditional Formatting Rules being applied and the data being colour-coded accordingly. Also, if a data value satisfies multiple rules, the bottom rule applies. Cell Alignment for Table and Matrix: Now, you can set the alignment of data to Left, Right or Center for cells in a table or matrix. This feature is very useful when formatting your report. To do this, go to the Field Formatting card and select the field you want to make changes to. Go to the ‘Alignment’ option and select the alignment of your choice from the dropdown menu. You will now see that all the data in the selected fields have been aligned according to your selection. Selection Pane Update: The Selection pane now has an added feature of letting the user select which objects are displayed on top of the canvas if there is overlapping. Locking Report Objects: There is now a checkbox called ‘Lock Objects’ that allows you to fix the position and the size of each object in a report so that no changes are accidentally made. This is very useful when browsing reports as the layout will not be affected. One thing to keep in mind is that this setting will not be saved with the report and to ensure this checkbox is ticked when browsing. New options for slow/large data sources: Sometimes, if you have a large or a slow data source, obtaining a response to actions taken in the report can take time. To improve this, options have been introduced to send fewer queries so that it is easier and quicker to interact with the report. To enable this option, go to Options and settings in the File menu. Select Options and then the Query Reduction tab. From here, you can disable cross-highlighting and automatic slicing and filtering within the report. For slicing and filtering, an apply button can be added instead so that the report is only sliced/filtered once you click the ‘Apply’ button. As you can see above, the pie chart is not sliced when ‘Product 1’ is selected. It is only sliced when the ‘Apply’ button is clicked as seen below. Improvement in filtering: The limit of 500 values on the number of values you can match when filtering has been removed. This is applicable for all data sources except Live connections to analysis services models. Conclusion: As you can see from above, the November Update is full of extremely useful features that further optimize the way we use PowerBI Desktop.
