Posts

Showing posts from July, 2018

where the source code is kept in Microsoft dynamics 365 finance and operations

If you have every worked in AX2009, you know that the source code is saved in files in a specific file location in the AOS server. Now with D365Ops, Microsoft has fallen back to the concept of storing the files in file system instead of database (model database in AX2012 used to hold all the code base).  For the developers working with D365Ops, the primary question is  where & how  the source code is kept & handled.  Where to find the Source code:   The application code for Dynamics 365 for operations is stored in File system, usually in a directory named PackageDirectory. You can find the details on the configuration related to AOS in a  web.config  file.  Steps to follow:  1.      Open IIS and go to the Sites\AOSService  (in case you missed, AOS is a web service with D365Ops) . 2.      Right click > Explore 3.      You should be directed to a folder  (to J:\AosService\WebRoot if you are using MS demo environments) 4.      Now search for the  web.confi

Introduction of Extensions in Dynamics 365 for Operations

Image
Extensions aren’t available in Dynamics AX 2012. Dynamics 365 for Operations introduces extensions.  This allows us to add functionality to existing code.  We can create new elements and create extensions of referenced elements in our project.  By creating extension elements, all the customizations and code are stored in a separate assembly, which contains only the code added or changed in the extension. Since this code resides in a separate assembly, it improves the performance of building and testing. This approach is also ideal when it comes to upgrading, as it eliminates metadata conflicts. With extensions, we can extend an object without touching the base object. This means  we can add new fields, methods, or controls to tables, classes, and forms and those additions are contained in our own extension object.  We have not affected the base object. Also, the base objects have many, many events added to them.

Elements in Dynamics 365 for Operation

Image
Elements  in Dynamics 365 for Operation are the objects that reside in the  AOT  in the  Application Explorer . Elements can be customized once they are added to a specific  project or model A Dynamics 365 for Operation  model  is a group or  collection of elements . A model is a design time concept. A model may contain multiple  Visual Studio projects,  each containing a subset (or all) of  elements  from the originating model. A Dynamics 365 for Operation  package  is a deployment unit may contain  one or more models . In addition to elements, this includes model metadata, which is the descriptive data that defines the properties and behavior of the model.  A package can be exported to a file, which can then be deployed into a staging or production environment. Packages are folders located in the  model   store folder , as can be seen below: Model folders are contained in their package folder. Each model folder contains type-specific folders: A package folder co

Source control in Dynamics AX 365 for finance and operations

In Dynamics 365 for Operation, you could either use Team Foundation or Git. Each developer needs their own virtual machine (VM).  This was already the recommended approach with Dynamics AX 2012; now, with Dynamics 365 for Operation, it’s mandatory. You will need a TFS/VSO server that has a main repository  (typically the code that matches your Production AX environment). Then you branch off a development branch from the main repository.  Each of your developers will have their own VM and connect to the same branch. All check-ins and check-outs are happening against the dev branch, and, upon check-in, your developers will get the popup window to resolve conflicts.  Once they get used to it, they should be resolve any conflicts on their own by just looking at it; no big overheads here. If development is finished and tested and you are ready to release it to production, all you need to do is hand-pick the change sets that are ready to go and merge them with the main branch.  At

Create Model in Dynamics 365 for Operations

Image
How to Create a Model in Dynamics 365 for Operations A model, which is a collection of elements that represent a distributable software solution, can be created using a wizard. To create a model, navigate to  Dynamics 365 > Model Management > Create model. It’ll open a wizard for creating a model. In this window, we can specify the model name. For this example, the model is called “AirlineReservation.” For the “publisher,” we type in our name or the publisher’s name. Give a short description in the model description. Give the “model display name.” This is the name that’ll be seen in the Application Explorer in the Application Object Tree (AOT). Click “Next.” Here, a page will open with two options. If “Select existing package” is chosen, that means we’ll be using our over-layering or customization development approach. In this, we must select a model that contains the elements we wish to customize as a referenced model in the wizard. In this way, our

Creating Data Entities in Microsoft Dynamics D365 FO AX

Image
Very nice article from a blog i have read. Data Entity is a new concept which has been introduced in D365FO and has major use in Data Import/Export and for Data Integration. Create a Project Solution Explorer > Right click the Project > Click Add > New Item Select ‘Data Entity’ > Place the name for the entity > Click Add Data Entity Wizard would pop-out Select the Entity Category and then select the Primary Data Source for the Entity There are 2 check boxes available in the wizard: Enable API – Check this if you would like to use this entity for Integration pupose Enable Data Management capabilities – Check this, if you would like to use this entity for Data Import/Export purpose Click Next A window will appear, where you can Add a new Data Source for the Entity and their respective fields, Remove Data Sources, remove fields, etc. After making the changes, click Finish – Entity creation is completed.

Understanding Packages in D365FO

Image
Understanding Packages The entire code base of AX 7 is built around Packages. It is very important for developers to have a clear understanding of this concept. We have discussed the directory structure of packages in the previous blog post. Generally speaking, a package is literally a package that contains all the necessary files for the deployment of a solution. It includes all of the models, binaries and additional pieces of code necessary for deployment. If you want to perform customization using overlayering, you need to create a model in the same package as that of the customized object. Otherwise, it will throw errors and would not allow. And this makes sense, since when this solution would be moved this whole package would be deployed and therefore any customizations made using overlayering should be part of the same package. Below is the screenshot of our directory folder. All the items you see are packages: Application foundation is the package that has most

Whats New for Developers in Dynamics AX 365 for Finance and operations

1. Visual Studio MorphX is gone, Visual Studio (VS) is the new IDE. All of Microsoft Dynamics 365 is web-based, there is no longer a fat AX client and there is no MorphX development environment to get into. You will do all of your work in VS. Many of us have worked in VS and for us this is welcome news. If you have never worked in VS, there’s a lot to learn. Fortunately, VS is a tool used all over the world. It is well-documented, stable, and feature rich. It will take a while to get used to but you are going to love it. 2. Deployment Packages The next big change is the introduction of deployment packages and the marginalization of the traditional AX concept of layers. Deployment packages are conceptually a replacement for modelstores. Deployment packages are comprised of all of the artifacts (like assemblies and configurations files) required to make the code function. When moving code between environments, deployment packages will be used. As part of this change, when you cre

XDS replaces the Record level security framework in Dynamics 365 AX

Image
Overview Security policies are used to limited access to data. Extensible Data Security (XDS) is a framework in Microsoft Dynamics AX that allows developers and system administrators to deny access to subsets of data and only share a subset of data with appropriate users. XDS replaces the Record level security framework in  previous Microsoft Dynamics AX versions . The security policies are applied on AOS and hence applied to any data retrieved from any client, whether in Rich, AIF web services or Enterprise portal. XDS policies are also used in conjunction with Role Base security frameworks to block data access for a particular Role. They provide a powerful mechanism to implement complex data security needs. This is different from security permission, as security permission increases access to data while security policies restrict access to data. Pre-requisites Microsoft Dynamics AX 2012 Important Concepts Primary Table A primary table is any table that will be used

Cross Company Data Sharing in Dynamics AX 365

Image
With the advent of Dynamics 365 for Operations, Microsoft has took this up a little forward and introduced the  “Cross-company data sharing”  . This almost similar to the virtual company concept that Dynamics AX had so far, with minus of the need of creating a virtual company, plus with the feature of deciding which fields could be shared. Below is one example of enabling master data sharing on Terms of Payment, one of the most asked business data to be shared across legal entities. The “Cross-company data sharing” navigation is under  System Administration -> Setup -> Configure cross-company data sharing . I have just created a sample data sharing policy to which I would be adding the PaymTerm table. Add the table using the “Add” button. If you remember the table name, you could simply type that in. Else, you can browse through. I’m just going to type in the table name here.  The drop down would show you the tables matching the keywords. Once you select the table, it