Friday, December 15, 2017

Use the same ADFS Server for multiple On Premises Environment - Dynamics 365 for Finance & Operations On Premises Installation

Hi All

According to the Microsoft documentation you should have an ADFS Server for each On Premise Environment.

As per my understanding, the reason is related to the workflowClientId that is an hard coded value in  the \Publish-ADFSApplicationGroup.ps1 Powershell script.
Check my post as well.

Due to this reason, in order to use the same ADFS Server you have to add a new Host in the Application definition of the ADFS:

  1. AD FS Manager, Application Groups, open "Microsoft Dynamics 365 for Operations On-premises" 
  2. Open Native application "Microsoft Dynamics 365 for Operations On-premises - Native application" 
  3. Add Redirect URI of new environment (DNS) and select Add button to include, press OK
  4. Open Native application "Microsoft Dynamics 365 for Operations On-premises - Financial Reporting - Native application" 
  5. Add Redirect URI of new environment (DNS) and select Add button to include, press OK
  6. Open Financial Reporting Web API "Microsoft Dynamics 365 for Operations On-premises - Financial Reporting Web API" 
  7. In the "Relying party identifiers" section, add the new Environment Name URL with "FinancialReporting" in the prefix
  8. Open Web API "Microsoft Dynamics 365 for Operations On-premises - Web API" 
  9. In the "Relying party identifiers" section, add the new Environment URL with and without "namespaces/AXSF. This is very important in order to avoid any issues with Microsoft Office addins.
    Something like:
    1. https://XXXX/namespaces/AXSF
    2. https://XXXX














































Till Soon!

Monday, October 30, 2017

The client id must be unique across all clients - Dynamics 365 for Finance & Operations On Premises Installation

Hi Guys

To the same Customer I'm going to install the second On Premise Environment.

During the "Step 18 - Configure AD FS" I had run the following command in order to create the new Application:

 .\Publish-ADFSApplicationGroup.ps1 -HostUrl 'https://ax.d365foENVNAME.onprem.contoso.com' -ApplicationName 'Microsoft Dynamics 365 for Operations On-premises ENVNAME'

 Here I raised the error "The client id must be unique across all clients"

I checked the log wrote in the same folder as the script and I notice that the process failed to the script "D365FO-OP\D365FO-OP-ADFSApplicationGroup.psm1” at line 199

Here the "workflowClientId" is set with a fixed ID value.

I guess is a error so, I changed the line in:

"$workflowClientId = ([guid]::NewGuid())"

Before rerun the script, delete the partial Application created before through the ADFS Management Console

P.S.  The workaround above have an issue, the workflow doesn't work anymore. 
Unfortunately, I don't know where, Microsoft Dynamics 365FO search the Fixed Value...
I will create another post in order to explain how to modify the same Application in order to handle also other Environments.

Till Soon!



Sunday, October 29, 2017

Setup the AOS Balancing on AIF WEB Services or WHS Mobile Portal - AX 2012

Hi Guys

In an AX Environment with a huge AX Services workload, it is suggested to enable the AX Services Balance.

In order to do that, you have to:
  1. First, enable the NLB or ILB if you are working in Azure
  2. If you want enable the Balance through:

    • AIF Web Services
    • Remote Desktop Host Server
    • SSRS Services
    • Management Reporter

      You have to follow the standard link High Availability best practices for Dynamics AX 2012 in order to setup the Balance through the Dynamics AX Configuration Utility.
      You have to do that on each Servers listed above.

      Therefore you have to:
    • Through the Dynamics AX Configuration Utility create a new Configuration on “Local Client” and on “Business Connector” Target. You can named it “Balance”
    • On both Configurations, in the Connection Tab fill “Server Name” with the IP or Name of the Balance
    • Through the Registry (HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE) at the path “\Software\Microsoft\Dynamics\6.0\Configuration\new_configuration_name” create two key “wcflbservername” and “wcflbwsdlport” and fill them respectively with the Balance IP or name and the Wsdl Port
      “new_configuration_name” will be the new AX Configuration created
    • Come back to the AX Configuration Utility and refresh both configurations with the “Refresh Configuration” button

  3. If you are using the WHS Mobile Portal, modify the “Web.config” file that usually is store at “C:\Dynamics60\Warehouse Mobile Devices Portal\00” and modify the endpoint with your “Balance” IP or Name:


Talking about AIF Web Services or WHS Mobile Portal, in some cases, you have to create also an IIS Farm in order to balance the IIS Connections. If you are working on Azure you have to use the Azure Application Gateway in order to do that.

Till Soon!

Tuesday, October 24, 2017

High Availability AX 2012 Links

Hi All

I would like to share some useful links about how to handle the High Availability through AX 2012:


  1. High Availability best practices for Dynamics AX 2012
  2. Configure SSRS for load balancing in your Azure deployment
In the next days I will share in detail how to setup the "Services High Availability", in order to balance the WHS Mobile Portal and the AIF Web Services, especially in Azure using the ILB (Internal Load Balancer).

Till Soon!

Sunday, October 22, 2017

Empty Database in your VHD All-in-one Machine - Microsoft Dynamics 365 for Finance & Operations

Hi All

As you know, in an Azure Sandbox Environment you can decide if create it with or without Data.

This is not possible when you download the VHD All-in-one machine.

In order to achieve this result from my understanding there are two options:
  1. André post, https://kaya-consulting.com/how-to-start-with-empty-ax-database-in-your-local-vm/ where you have to first of all, create the Env in Azure with an Empty Database, Backup it and move to your VHD
  2. I have Play around to the VHD Disk C and I notice a folder named “EmptyDataset” with inside a Database backup named “AxBootstrapDB_Empty.BAK”
    I have simply restore this backup file against the AX Database and set the right GUID and email id retrieved from the “old” AX Demo Data.

Till soon!

Saturday, October 21, 2017

Microsoft Dynamics 365 for Finance & Operations - Change the standard URL in a VHD Machine

Hi All

In a Business scenario, we can setup several VHD all-in-one box Environments in the same Datacenter for various purpose.
One issue is the standard base URL that usually is https://usnconeboxax1aos.cloud.onebox.dynamics.com/ for all Envs.

In order to change it and allow the team to reach the different Envs, for each Dev Box replace “usnconeboxax1aos” with the desired URL like “XXXXXXX”:

1-  Modify Endpoint URL on IIS

2- Modify web.config files in the C:\AOSService\webroot and replace all standard “url name” entries with the new one (XXXXX)

3- Modify wif.services.config as per the previous step 

4- Again on the VHD VM, modify “Hosts” file on C:\Windows\System32\drivers\etc like that:
127.0.0.1           xxxxx.
cloud.onebox.dynamics.com

5-  Change the “hosts” file on C:\Windows\System32\drivers\etc in your Laptop, like:XX.XX.XX.XX     xxxx.cloud.onebox.dynamics.com 
where XX.XX.XX.XX will be the IP of the VHD Box
You have to add an entry for each VHD URL Env.

6- As the last step, make the Admin User Provisioning


Till Soon!


Wednesday, July 26, 2017

Microsoft Dynamics 365 for Finance and Operations, Enterprise edition (on-premises) - Installation PART 2

Hi

Again here with the second part about the D365FO On-premise installation.

Before to Create the AppFabric Cluster, modify the ClusterConfig.json file created before and set the "diagnostics file share" path. This one will be use during the Installation process through all AppFabric nodes.

If during the Cluster installation you raised the error "Request is Invalid" check if the Primary NodeType (Orchestrator) have at least 3 Nodes!



Again, if during the Cluster installation you raised the error "Timed out waiting for Installer Service to complete for machine..."


You have to:

1- Verify if the Certificate are been installed in the Local Machine Node

2- Add the NETWORK SERVICE account for all certs used by Service Fabric.
In order to do this you have first download and install in all Cluster Nodes the WinHttpCertCfg.exe tool, Windows HTTP Services Certificate Configuration Tool (WinHttpCertCfg.exe)
Lastly, run the command for all Certificates in all Cluster Nodes, like "C:\Program Files (x86)\Windows Resource Kits\Tools\WinHttpCertCfg.exe" -g -c LOCAL_MACHINE\MY -s "client.xxxxx.com" -a "NetworkService"

Till soon!

Microsoft Dynamics 365 for Finance and Operations, Enterprise edition (on-premises) - Installation PART 1

Hi Guys

As you know, Microsoft released D365FO Local Business Data, aka On-Premise release.
Here the link Set up and deploy on-premises environments

I played around and I found the first issues.

During the creation of the group managed service accounts (gMSAs) through the Powershell scripts, "Create gMSAs" section, you can raise the follow error: "Key not found"

In this case you have to create a "KDS root key" using the following commands:

1- Add-KDSRootKey –EffectiveImmediately
2- Add-KdsRootKey –EffectiveTime ((get-date).addhours(-10));


During the ClusterConfig.json file generation, you can raise the following error, “Failed to Download Cluster Configuration Template”, see below error.

In this case you have to download the Service Fabric standalone installation package and copy the "ClusterConfig.X509.MultiMachine.json" file into the LCS InfrastructureScripts folder.
Again run the .\New-SFClusterConfig.ps1 -InputXml .\ConfigTemplate.xml command.

Finally, I test the ClusterConfig file through the command .\TestConfiguration.ps1 -ClusterConfigFilePath .\clusterConfig.json











Next step is Deploy the Cluster!

Till soon!

Monday, July 3, 2017

AX 2012: Forms on opening hide behind in the back - 2° part

Hi Guys

About this topic the Microsoft workaround in some case doesn't helped me.
So, below you can find the code that definitely fix the issue!

Modify the StartupPost method of the Application Class and add these two lines:

if (hasGUI())
        Application::DisableWindowGhosting();


Lastly, created the "DisableWindowGhosting" static method like this:

client static void disableWindowGhosting()
{
    DLL DLL;

    DLLFunction DLLFunction;

    container con = WinAPI::getVersion();

    if (conpeek(con, 1) == 6) //Vista and Win7/Win2008R2 only
    {
        //this will disable window ghosting for this process only, for its lifespan only

        DLL = new DLL("USER32");

        DLLFunction = new DLLFunction(DLL,"DisableProcessWindowsGhosting");

        DLLFunction.call();
    }
}

That's it!

Sunday, July 2, 2017

MVP Dynamics AX/365 Renewal - Fourth time!

Hi Guys

For the fourth time I was able to remain MVP on Dynamics AX/365 for Finance and Operations.
Today We Kick Off Our First Annual Award Cycle. Congratulations to all Renewing MVPs!

It is not easy to balance career and remain an technology expert.
I guess that my trick is the passion!

Again is a pleasure stay on touch with the others MVP, meet them, share experiences, etc.

At the end, we became really a good friends!

See you on the next technical conferences, community websites, etc.

Lastly with the release of the Dynamics 365 for Financial and Operations on-premise, I guess we will have a lot of fun in the next months.

Friday, June 23, 2017

Microsoft Dynamics 365 Local Business Data aka On-Premise - Database Topology

Greetings

As you know Microsoft have release Dynamics 365 LBD - On premise version.

Dynamics 365 for Finance and Operations, Enterprise edition (on-premises) system requirements

About Database the main question is use SQL Server 2016 Standard or Enterprise Edition.
Obviously, refer to the Microsoft link in order to check the features supported by the SQL Server editions.

In a medium and not complex Project, my suggestion is to use the Standard Edition.
With the standard version is possible to setup an Always On Availability Group Cluster with a limit of two replicas (Primary and Secondary).

From a Business Intelligence perspective, we can setup a SQL snapshot on the Secondary replica and link to the snapshot the Reporting activities.

Stay Tuned!


Friday, June 9, 2017

Microsoft Dynamics 365 useful links

Hi

Below some useful links about Dynamics 365:

General Links:

1- Microsoft Dynamics 365 – Launch Portal
2- Introduction to Dynamics 365 for Operations
3- Overview of Microsoft Dynamics 365 for Operations for Developers and IT Pros
4- Dynamics 365 for Finance and Operations. Static IP Addresses?
5- Microsoft Dynamics 365 for Finance and Operations architecture
6- Videos for Finance and Operations
7- Azure status
8- Connecting to custom help sites from Finance and Operations

SaaS Evaluation Copy:

1- Get an evaluation copy
2- Try out Dynamics 365 for Operations now for free!
3- Have you given Microsoft Dynamics 365 for Finance & Operations, Enterprise Edition a try?
4- Microsoft Dynamics 365 for Finance and Operations, Enterprise edition deployment options

Database Management:

1- Copy a Dynamics 365 for Operations database from Azure SQL Database to a SQL Server environment For instance update Data from the UAT Environment to a Sandbox Environment.
2- Copy a Finance and Operations database from SQL Server to a production Azure SQL Database environment
3- Copying Data into a New Legal Entity in Dynamics 365 for Finance and Operations
4- How to copy a database from on-premises to cloud Tier 1 in Dynamics 365 for Finance and Operations
5- How to copy a database from cloud tier 1 to on-premises in Dynamics 365 for Finance and Operations
6- Cleanup routines in Dynamics 365 for Finance and Operations
7- Schema comparison between versions of MsDyn365FO

On-Premise:

1- Dynamics 365 for Finance and Operations, Enterprise edition (on-premises) system requirements
2- Set up and deploy on-premises environments
3- On-premises deployment landing page
4- Features not implemented in on-premises deployments
5- Purchase Dynamics 365 for Finance and Operations, Enterprise edition (on-premises)
6- Troubleshoot Dynamics 365 for Finance and Operations, Enterprise edition on-premises
6.1- Troubleshooting on-premise environment deployment D365FFO
6.2- Package Deployment Database Synchronization Issues
7- Update the local agent
8- Video Real World Dynamics 365 On Premises Performance Testing
9- Cloud and on-premises feature comparison
10- Dynamics 365 for Finance and Operations (on-premises) update
11- Install network printer devices in on-premises environments
12- Configure reverse proxy for your on-premises environment
13- AD FS user sign-in customization
14- Software lifecycle policy and on-premises releases
15- Client internet connection
16- Debug a Dynamics 365 for Finance and Operations on-premises instance without Visual Studio
17- Debug Dynamics 365 for Finance and Operations on-premises with Visual Studio remote debugger
18- How authentication works in Dynamics 365 for Finance and Operations On-premises
19-How to scale out Dynamics 365 for Finance and Operations on-premises
20-How to link SQL SPID to user in Dynamics 365 for Finance and Operations on-premises
21- On-premises diagnostics
22- PowerBI.com integration with on-premises environments
23- D365FFO On-Prem AOS Restart

On-Premise - Certificates

1- Configuring certificates for D365 On-premises installation
2- Creating self signed certificates with makecert.exe for development
3- Dynamics 365 for Finance and Operations On-Premises – Certificate Templates
4- Dynamics 365 for Finance and Operations On-Premises – Certificate Creation

Document Management

1- How to select the document management storage location

Financial Dimension 

1- Adding a new Financial Dimension D365 FO

Platform Update

1- Restricted Admin Access on development VMs with Platform update 12: What you need to know
2- Custom fields: handle with care!
3- How to Install Dynamics 365 for Finance and Operations Platform Update on a Disconnected Local Developer VM

Integration

1- How to create Microsoft Form integration with Dynamics 365
2- Integration patterns and practices
3- Use Dynamics 365 web services
4- Service endpoints
5- Service authentication troubleshooting
6- Consuming external web services from Microsoft Dynamics 365 for Finance and Operations
7- Dynamics 365 for Operations Integration framework
8- Consuming Dynamics AX 365FO Data entities using Web API (Part 1)
9- Choose a data integration (import/export) strategy
10- Recurring Integrations Scheduler aka QuartzAX
11- Dynamics AX Integration samples and demos - Github
12- Authenticate with Dynamics 365 for Finance and Operations web services in on-premises
13- Custom services for Microsoft Dynamics 365 for Finance and Operations
14- Reading OData from Dynamics 365
15- Custom Web Service in few steps D365FO
16- D365FO - Azure authentication setup for web services (defined creds and interactive login)
17- Using OData to Count Records in a Table in Dynamics 365 for Finance and Operations
18- Service Endpoints, Authentication, and Integration Apps in Dynamics 365 for Operations
19- Test services by using third-party utilities
20- Using Postman to Test AX 2012 Web Services
21- USING POSTMAN WITH D365
22- Call x++ web service with web browser snippet
23- Consume a SOAP service in Dynamics 365 for Finance and Operations with ChannelFactory

Data Entities

1- D365FO: Data entity filter on enum field
2- Add postTargetProcess method to a Data Entity via extension.

Troubleshooting

1- Fiddler Download
2- Procmon

Data Storage

1- Manage storage

Dynamics 365 Virtual Machine

1- Setup Dynamics 365 for Operations Virtual Machine
2- Setting up a personal Dynamics 365 For Operations, Enterprise Edition, development environment
3- Setting up a personal Dynamics 365 For Operations development environment
4- Virtual Machine(VM) setup to access Dynamics 365 for Operation instance
5- Running AX7 VM on Oracle VirtualBox
6- Download VirtualBox Guest Additions
7- How to Fix VirtualBox “UUID already exists” Errors
8- Access instances
9- How to rename a D365 virtual machine, link it to LCS, and optionally join it to a domain - Dynamics 365 for Finance and Operations, Enterprise edition
10- Rename a local environment to enable access to Visual Studio Team Services
11- Upgrade development VM from Windows evaluation version to “full” version
12- Export to Excel using Local VHD over LAN (Local Area Network).
13- Fix Certificate Issues on Development Machines
13.1 Renew Dynamics 365 for Finance and Operations Certificate on Dev Machine
14- Exposing Dynamics 365 Onebox to the LAN
15- Development and build VMs that don't allow administrator access FAQ
16- Update Visual Studio development tools
17- Call REST Webservice with HTTP Basic Authentication from X++

Development

1- Develop and customize using Visual Studio
2- Resolving X++ and metadata conflicts when merging code
3- Doing a code merge when a VAR/ISV has renamed an object
4- Collect Dynamics 365 for Finance and Operations event traces with Windows Performance Monitor
5- MSDyn365FO. Code to build cross reference data without a full compile.
6- Private, Protected and Public attribute access in Class Extension
7- D365FO Ninja Dev Tools
8- Customization Analysis Report (CAR)

Reports

1- Send SSRS Report as Email from Report Viewer in Dynamics 365 FO

Model

1- Inspecting a D365FO Meta Data Hotfix Content
2- Uninstall a deployable package in D365FO

Performance

1- How to run performance test for dynamics 365 ?
2- Performance SDK and multiuser testing in on-premises environments
3- DynamicsPerf 2.10 Available !!!

Visual Studio Team Services

1- Setting Up Version Control in Dynamics 365 for Operations with Visual Studio
2- Rename a local environment to enable access to Visual Studio Team Services
3- Visual Studio Team Services integration with Lifecycle Services
4- Continuous delivery home page
5- AX Developer ALM
6- Identities for Visual Studio subscribers
7- Setting Up Continuous Integrations in Dynamics 365 for Operations
8- Manage third-party models and runtime packages by using source control
9- How to setup automated deployments
10- How to setup automated deployments - Yammer Issue resolution
11- Migrate from TFVC to GIT
12- Code Compare
13- ComparisonTools

VSTS Build

1- Release your Dynamics 365 for Finance and Operation packages to LCS with Azure DevOps Pipelines
2- Setting up a development branch and build
3- How to setup build agent and create a build definition manually
4- Continuous / automated build setup on a non-Main Branch
5- Repost: Enabling X++ Code Coverage in Visual Studio and Automated Build
6- Service connections for builds and releases
7- Azure DevOps Release Pipeline
8- Developer tools and application lifecycle management
9- Release your Dynamics 365 for Finance and Operation packages to LCS with Azure DevOps Pipelines
10- Customize your build by selecting what models are part of the build definition
11- Azure DevOps Release Pipeline for Dyn365FO - Part 1: Automated Package Upload & Deploy via LCS API
12- Azure DevOps Release Pipeline for Dyn365FO - Part 2: Scheduled Releases with Approvals


Upgrade

1- Upgrading to Dynamics 365 for Operations from Dynamics AX - things you really need to know
2- Code migration and upgrade home page
3- Upgrade from AX 2012 to Finance and Operations
4- Upgrade data in development, demo, or sandbox environments
5- [Video] How to Successfully Transition from Dynamics AX to Dynamics 365 Finance and Operations
6- In-place upgrade process for on-premises environments

WHS

1- Customizing the Warehousing Mobile App

Environment Setup

1- Importing users in D365 Operations using Excel

Scripts

1- Dynamics365-FinOps-DevOps

Power BI

1- Accessing Analytical Workspaces and Reports on 1Box environment
2- Configure PowerBI on Dynamics 365 FO developer VM
3- Activate the new Power BI Embedded Reports for Dynamics 365 for Finance and Operations
4- Power BI content from Microsoft and your partners
5- How to Configure Power BI integration for Dynamics 365 Workspaces
6- How to: Configure Power BI for Dynamics 365 for Operations
7- PowerBI Embedded in D365 Finance and Operations
8- How to: Configure Power BI Embedded for Dynamics 365 for Finance and Operations (One-box environment)

PowerApps

1- Product Drawing PowerApp. Part 1.
2- Demystifying PowerApps Environments – Part 4 – Trial Environments
3- Using PowerApps to support warehouse processes
4- Item translation embedded in D365FO
5- Leveraging PowerApps with Microsoft Dynamics On-Premise

Financial reporting

1- Financial reporting Landing page
2- How to Launch Report Designer in Dynamics 365 for Finance & Operations from Chrome
3- Reset the Financial reporting data mart
4- How to setup Financial reporting on D365FO local One box VM

Security

1- Setting Up Security in Dynamics 365 for Finance and Operations – Part I – From the User Interface
2- Setting Up Security in Dynamics 365 for Finance and Operations – Part II – From the AOT
3- Setting Up Security in Dynamics 365 for Finance and Operations – Part III – Security Management
4- Automated Role Access Testing Using the SysTestSecurityAttribute in D365FO
5- Interesting Behavior of Unpublished Objects in Dynamics 365 for Finance & Operations
6- Extensible Data Security (XDS) in Dynamics AX Finance and Operations

Hotfixes

1- Upgrades, Updates and Hotfixes in AX7
2- Install a metadata hotfix
3- Installing Application X++ Updates Still Sucks (part one)
4- Installing Application X++ Updates Still Sucks (part two)

Debug

1- Debug X++ against a copy of a production database
2- First chance exceptions - when D365FO doesn’t show stack trace

Warehouse App

1- Announcing Dynamics 365 for Operations – Warehousing
2- Install and configure Microsoft Dynamics 365 for Finance and Operations – Warehousing
3- Customizing the Warehousing Mobile App
4- Warehousing for on-premises deployments

Workflow

1- Approve Workflow via email using template placeholders #Dyn365FO
2- How to run workflow form in Google Chrome

What's New

1- Microsoft Dynamics 365 Roadmap
2- What's new or changed

Project Management

1- Dynamics 365 Project Timesheets Mobile app – Seamless Project timesheet entry and approvals on the Go in Dynamics 365 For Finance and Operations!
2- Sneak Peek into Mobile Applications Framework of New Dynamics AX/Dynamics 365 For Operations


Unit Test

1- July 2017 update: Form Adaptors Replaced by Type Providers
2- Using the Systest framework and Task Recorder in Dynamics 365 for Finance and Operations to create integration tests
3- Performance SDK and multiuser testing via Visual Studio Online
4- Enabling X++ Code Coverage in Visual Studio and Automated Build
5- Capture screenshots toggle doesn't appear on Task recorder
6- Regression Suite Automation Tool - Create unique values
7- Acceptance test library
8- Web conferences on Acceptance Test Library

RSAT

1- Regression Suite Automation Tool
2- RSAT - Testing Lifecycle Demo

Common Data Services

1- COMMON DATA SERVICES (CDS), DATA INTEGRATOR AND DYNAMICS 365, WHAT WILL YOU DO?
2- Integrate data into Common Data Service for Apps

Ideas

1- IDEAS

FastTrack

1- FastTrack for Microsoft Dynamics 365 - Tech Talks
2- Videos for Finance and Operations

Training

1- Microsoft Dynamics Courses
2- Microsoft Learn
3- D365FO DIARY
4- Browse learning
5- Dynamics 365 Ax Technical,Functional Tutorial Collection
6- FastTrack for Microsoft Dynamics 365 - Tech Talks - OLD
7- FastTrack for Microsoft Dynamics 365 - Tech Talks - NEW

This page will be update frequently!

Enjoy!

Sunday, February 19, 2017

AX 2012 - TFS multiple workspaces

Hi All

AX 2012 support only a single TFS workspace that mean a Dynamics AX Developer Box (SQL Server, AOS, etc.) for each developer.

Many of us use a Shared AX Environment, so many Developers connected to the same Dynamics AX Environment. More details at Microsoft Dynamics AX 2012 White Paper: Developing Solutions in a Shared AOS Development Environment

For this reason Martin Dráb created a custom Solution in order to help us to achieve this result, TFS workspaces in AX2012

This solution is fantastic.
The only issue is when an object is in check-out mode also other developers can modified it also if the check-in can only be handled by the check-out Owner.

In order to fix the behavior I have created a new method and modified another one in the SysVersionControlSystemFileBased Class.

Therefore:


Create a new method like “isCheckedOut” like this:

// AddaxWorkspaces
// Denis 20170219 - Check if the current Object is check-out by the current user
boolean isCheckedOut_dlx(Filename         _filenameCurrentLayer)
{
    Set                         checkedOutObjects = new Set(Types::String);
    SysVersionControlTmpItem    items;
    SysVersionControlSystem     sysVersionControlSystem;
    SysVersionControlParameters parameters = SysVersionControlParameters::find();

    str                         checkFileName;

    sysVersionControlSystem = SysVersionControlSystem::newType(parameters.vcsType);
    sysVersionControlSystem.init(parameters);

    if (sysVersionControlSystem)
    {
        items = sysVersionControlSystem.getCheckedOutItems();

        while select items
        {
            checkFileName = items.Filename;
            checkFileName = strReplace(checkFileName, parameters.AppRoot + '$\\' + parameters.TfsProject + "\\", "");

            if ( _filenameCurrentLayer == checkFileName )
                Return True;
        }

    }

    return false;
}

Modified the allowEdit method like this:

…..
        //Has the file been checked out
        if (!bitTest(WinAPI::getFileAttributes(filenameCurrentLayer), #FILE_ATTRIBUTE_READONLY)
        &&  this.isCheckedOut_dlx(filenameCurrentLayer)       // Denis 20170219 - AddaxWorkspaces
           )
            return true;

Thanks again to Martin and Stay Tuned!


Saturday, February 4, 2017

AX 2009 – SSRS Unable to connect to http://server/ReportServer/ReportService2005.asmx

Hi Folks

As you know, starting from AX 2009 was possible to use the SSRS Report instead of the Morphx Reports.

In the last weeks, I faced an issue during the Report Deployment. The error was:

Unable to connect to http://server/ReportServer/ReportService2005.asmx as specified in the config file for the report server at C:\…\RSReportServer.config. If this url is not correct please update the config file, otherwise make sure the report server is configured correctly.


Therefore, after some investigation and with help of Microsoft Support, I have fixed the issue.

Below what verify in priority order:

1-      Check if the Antivirus is enabled and in detail the Real-time scan. Disable it or create the relative rules

2-   Update the LanguageTable Table, field LabelFile. Only the languages with 1 on the LabelFile field will be deployed
            a.       select distinct LANGUAGE, HELPLANGUAGE from USERINFO
            b.   select * into LANGUAGETABLE_Backup from LANGUAGETABLE
            c.   update LANGUAGETABLE set LabelFile = 0 where LanguageId not in ('en-us', ‘it’)               //add any language found from first query

3-     Extend timeout settings
a.       Report Manager->Site settings->Report Execution Timeout->select “do not timeout report execution”.

b.      Increase the Timeout, so:
                                                               i.      Open “C:\Program Files\Microsoft SQLServer\MSSQL\ReportingServices\ReportManager\Web.config” and “C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\Web.config”
Search for httpRuntime executionTimeout="18000"

                                                             ii.      Open “C:\Program Files\Microsoft SQL Server\MSSQL.4\Reporting Services\ReportServer\rsreportserver.config”
Search for:
1.       Add Key="SQLCommandTimeoutSeconds" Value="300"
2.      Add Key="MaxActiveReqForOneUser" Value="60"
3.       Add Key="DatabaseQueryTimeout" Value="300"

                                                            iii.      Increase these values as above, Restart SSRS Services and then test it.

c.       Update machine.config to speedup .net performance
                                                               i.      In C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\MACHINE.CONFIG, replace processModel autoConfig="true" with processModel maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="50"

                                                             ii.     In C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\WEB.CONFIG, locate the "system.web" Tag. Add the following as a child tag httpRuntime minFreeThreads="352" minLocalRequestFreeThreads="304" appRequestQueueLimit="5000"


Take care to make a backup of the configuration files before any modification!

Stay tuned!