Thursday, December 27, 2018

Data Deduplication Overview

Data Deduplication:

Data deduplication involves finding and removing duplication within data without compromising its fidelity or integrity. The goal is to store more data in less space by segmenting files into small variable-sized chunks (32–128 KB), identifying duplicate chunks, and maintaining a single copy of each chunk. Redundant copies of the chunk are replaced by a reference to the single copy. The chunks are compressed and then organized into special container files in the System Volume Information folder.
The result is an on-disk transformation of each file as shown in Figure 1. After deduplication, files are no longer stored as independent streams of data, and they are replaced with stubs that point to data blocks that are stored within a common chunk store. Because these files share blocks, those blocks are only stored once, which reduces the disk space needed to store all files. During file access, the correct blocks are transparently assembled to serve the data without calling the application or the user having any knowledge of the on-disk transformation to the file. This enables administrators to apply deduplication to files without having to worry about any change in behavior to the applications or impact to users who are accessing those files.

Friday, December 21, 2018

Restart environment services


Restart environment services

To restart a specific service in a deployed environment,
1.    In LCS, open the appropriate project, and select the environment to restart the service for.
2.    On the Environment details page, select Maintain > Restart services.
3.    In the Restart a service dialog box, select the service to restart, and then select OK.
4.    To view the updated status, refresh the page.

Merge from release to other branch


Merge from release to other branch


 
1.   Navigate to source control explore, click à Project and click à node release
2.   Select release version, which u want to merge in different branch
3.   Right click à Release version à Branching and merging à Merge
4.   Verify source release version branch and also Target branch, which you want to merge
5.   Select à version Type à Latest version
6.   Click à Finish
7.   Example: Source control VSTS Service links is https://<Org-Name>.visualstudio.com/<ProjectName>/<ProjectNameTeam>


Code upgrade with Release:

Code upgrade with Release:


1.    In your LCS project, select the Code upgrade tile.
2.    Click à Add, and then enter a name and description. Select the version you are upgrading from dropdown and then click Create.
a.    If you are upgrading your code from Dynamics AX 2012 R3, select the version you are upgrading from. You will be prompted to upload a zipped version of your Dynamics AX 2012 R3 model store file.
b.    If the Estimation Only check box is selected, the tool only generates a report and does not check in or create a new code branch in Azure DevOps for you. You should use this option if you want to evaluate the potential size of the work involved in upgrading before you commit to the actual upgrade.
  1. Click à Analyze code in the bottom right corner. The code upgrade process will start. This typically takes 40 minutes for a large solution to complete. When complete, return to the Code upgrade tile in LCS to view the results.
  2. The code upgrade service creates a new branch and checks in the upgraded code to your Azure DevOps project. After the upgrade process is complete, your code will exist in a new branch under the Releases folder. The branch name is suffixed with the date and time of the upgrade.

Configure your Lifecycle Services project to connect to Azure DevOps

Configure your Lifecycle Services project to connect to Azure DevOps


1.    Navigate to LCS project, go to the Project settings tile, select Visual Studio Team Services à click - Setup Visual Studio Team Services button.
Note: if you have already configured LCS to connect to your Azure DevOps project, you can skip this section.
2.    Enter the root URL for your Azure DevOps account and the access token created earlier, and then click Continue.
3.    Select VSTS service project within your Azure DevOps account that you want to connect to, and click Continue
4.    On the Review and save page, click Save.

Track user sign-ins


Track user sign-ins ---- 
Many organizations are required to maintain an audit trail of users who have used the system
Steps:
1.    Sign in to LCS, and open the project that is associated with the Finance and Operations implementation.
2.    Navigate to the environment, and open the Environment details page.
3.    On the Monitoring tab, select the Environment monitoring link to open the monitoring dashboard.
4.    On the Activity tab, select View raw logs.
5.    In the Query field, select User Login Events. You see a time duration that has a start date that is set to End date - 7 days.
6.    Set the end date, and then select Search. The search results that are returned include all users who signed in to the system during the seven days before the selected end date.
7.    The search results show the AADUserID value and the sign-in start and end times of the user's session. To map the AADUserID value to the user's user name and email address, use the Users page in Finance and Operations (System administration > Users).
8.    To export the records and keep them for a longer period, select Export grid.

Query cookbook

Create new users on development machines


Create new users on development machines

Steps

1.    Download the following script: ProvisionAxDeveloper.ps1, the script is available at https://github.com/Microsoft/Dynamics-AX-Scripts.
2.     Open a Microsoft Windows PowerShell Command Prompt window as an administrator.
3.     Run the ProvisionAxDeveloper.ps1 script. Specify the following parameters:
·         DatabaseServerName – Typically, this is the machine name.
·         Users – Use the following format: <domain or machine name>\user1, … <domain or machine name>\user n
Examples
 
> ProvisionAxDeveloper.ps1 -databaseservername RDXP00DB20RAINM -users RDXP00DB20RAINM\username1,RDXP00DB20RAINM\username2
4.     If more than one user account will be developing on the same version control workspace, you need to make the workspace public.
 .      In Visual Studio, open Source Control Explorer, select the workspace dropdown and select Manage workspaces.
a.     Select the application workspace, click Edit, then click Advanced and set the workspace to Public workspace

Cloud environment that is provisioned through LCS


Cloud environment that is provisioned through LCS

Accessing an instance through a URL

The system can be accessed by end users. The administrator can add users to this system by using the Users page in the instance. Note that these additional users don't have to be users in LCS. You obtain the base URL for the cloud environment from your LCS project site.

Retail SETUP CPOS - Dynamics 365


Retail configuration

For Dynamics 365 for Operations, Version 1611
1.    Run the RetailTenantUpdateTool.
·         The icon for this tool is available on the desktop.
·         This tool is also available at the following location: C:\windowsSystem32WindowsPowerShellv1.0PowerShell.exe -File C:\RetailSDKToolsRetailTenantUpdateTool.ps1
2.    Double-click the icon to start this tool. You will be prompted for your Azure AD credentials. You must use the same credentials that you used in the admin user provisioning tool earlier.

For Dynamics 365 for Operations 7.0
3.    Query Azure AD for your tenant and user ID. Open a Windows PowerShell Integrated Scripting Environment (ISE) window with administrative privileges, and run the following command. You will be prompted for Azure AD credentials. Use the same user account that you used in the admin user provisioning tool earlier.
$msocred = Get-Credential
Connect-MsolService -Credential $msocred
$company = Get-MsolCompanyInformation
Write-Host "TenantID: $($company.ObjectId)"
$msocred.UserName
$users = Get-MsolUser -SearchString "$($msocred.username)"
foreach($u in $users)
{
    if($u.SignInName -eq $msocred.UserName)
    {
       Write-Host "SignInName:$($u.SignInName) UserId: $($u.ObjectId)"
    }
}
4.    Update the following SQL script, and run it in on AXDB for that environment. Supply values for the following parameters from the preceding Windows PowerShell script output:
·         TenantID 
·         UserId 
DECLARE @TenantId NVARCHAR(1024)         DECLARE @UserId NVARCHAR(1024)
SET @TenantId = ‘‘
SET @UserId = ‘‘
IF(LEN(@TenantId) > 0 AND LEN(@UserId) > 0)
    BEGIN
    UPDATE AxDBRAIN.dbo.SYSSERVICECONFIGURATIONSETTING SET [VALUE] = @TenantId WHERE [NAME] = ‘TENANTID’
    UPDATE RetailHoustonStore.ax.SYSSERVICECONFIGURATIONSETTING SET [VALUE] = @TenantId WHERE [NAME] = ‘TENANTID’
    UPDATE AxDBRAIN.dbo.RETAILSTAFFTABLE SET EXTERNALIDENTITYID = @TenantId, EXTERNALIDENTITYSUBID = @UserId WHERE STAFFID = ‘000160’
    END
ELSE
    BEGIN
    RAISERROR (15600, -1, -1, ‘TenantId and UserId must be set before running this script’)
    END
5.    Reset Internet Information Services (IIS) by running IISRESET in an elevated Command Prompt window.
6.    Update the Real-time service profile to use the new admin user.
 .      Click Retail > Headquarters setup > Retail scheduler > Real-time service profiles.
a.    Click Retail > Headquarters setup > Retail scheduler > Real-time service profiles.
b.    Edit the JBB record so that it uses the user that you used earlier (for example, **administrator@contosoax7.onmicrosoft.com**).
c.     Run CDX Job 1070 (Staff) for the default channel database.
d.    Verify that the job succeeded by viewing the Download Sessions page on the client.

Prerequisite setup for CPOS

Steps:
1. Navigate to All worker à Select worker à Retail Tab à External Identity à Create new identity
2. Enter external Identity on Retail Tab of Worker detail form
Ex: Alias – <User Id> , UPN - <email Id>, External Sub Identifier - <Telementry Id>

3.    Navigate RetailàChannel Setup àPOS Setup à Registers à select Register and Click à configuration status (To Setup)

Right Corner à Click Approve All

4.    Navigate RetailàChannel Setup àPOS Setup à Devices

Select à Application type à Retail Cloud POS
Click à Validate device for activation
5.    Retail à Retail IT à Distribution Schedule àSelect Job - P-0001 à Click Run Now (In Order to get all default data for POS)

Activate a Modern POS or Cloud POS device by using guided activation

1.    Open the initial device activation page for Modern POS or Cloud POS. You're prompted to sign in.
2.    On the Before you start page, follow the instructions, and then click Next.

3.    Start Cloud POS or Modern POS.
4.    Use your AAD credentials to sign in. The AAD account must already be mapped. For instructions, see Retail Modern POS self-service and device activation. For Cloud POS, the server URL is automatically entered in the address bar. For Modern POS, you must copy and paste the server URL.

5.    Click Next to populate the list of stores.
6.    Select the correct store in the list.

7.    Select the correct register and device. Note: The device can be PendingDe-activated, or Activated. Alternatively, if you turned on the Retail HQ Allow devices to be associated to registers from store setting, you might see a list of registers that have no device associated with them.

8.    Click Activate. The device should be activated.

 Create a device ID from Modern POS and Cloud POS

We have added features to create a device (that is, automatically generate a device ID) from Modern POS or Cloud POS, so that the device can be associated with a register that doesn't yet have devices mapped to it. This functionality can be used in Modern POS only if you set the HQ settings as follows.
1.     Go to Retail > Headquarters setup > Parameters > Retail shared parametersGeneral.
2.     Under Devices, set Allow register association from device to Yes.
3.     In the Modern POS client, you can now add a device when you select a register that is listed as No associated devices in the guided activation flow.
4.     After you select the register, you can either select a device that doesn't have register mapping or use the Or, Add a Device link.
5.     Click the Or, Add a Device link, and then either enter the new device ID or select automatically create a new device ID for me.
6.     Click Activate to create a new device ID, associate it with the selected register, and complete the activation.

Convert Call stack to readable format in D365FO X++

//Input --container _xppCallStack = xSession::xppCallStack();  Public static str POL_formatXppCallStack(container _xppCallStack, int _skipFr...