xRM Portals Community Edition is a fork of the open source release of Portal Capabilities for Microsoft Dynamics 365 version 8.3. It continues from the announced one-time release of Portals source code made available on the Microsoft Download Center under the MIT license.
xRM Portals Community Edition enables portal deployments for Dynamics 365 online and on-premises environments, and allows developers to customize the code to suit their specific business needs.
This project is no longer actively maintained. For more information please read: The end of xRM Portals Community Edition.
xRM Portals Community Edition is a project led by Adoxio with contributions by the community to provide a way of upgrading from Adxstudio Portals 7 to this supported version of portals, and that provides a migration path to Microsoft's hosted offering of Portal Capabilities for Microsoft Dynamics 365.
This version is locked to the features as of the 8.3 version of code that Microsoft released. Maintaining feature parity with Microsoft's version is not an objective for this project, and new features that Microsoft adds to the online version are not going to be implemented in this project. At present, changes are focused on bug fixes and general supportability.
New portal implementations should use Microsoft's software as a service version. This project has historically been intended for those who were already using Adxstudio Portals and wanted to perform the relatively smaller efforts needed to use this supported project while taking more time to migrate their existing applications to Portal Capabilities for Microsoft Dynamics 365.
Multiple upcoming incompatibilities affecting online installations (Dynamics 365/PowerApps/SharePoint) are becoming prominently advertized and are listed in this issue. Existing projects using online services are advised to migrate to online portals to avoid interruption. On-premise installations that do not connect to online services should not be affected, however changes to online services will inevitably move into their associated on-premise versions and it is advisable for on-premise users to also seriously consider starting migration efforts.
Using Microsoft's online version should be the primary goal of existing and new users, and using this version is primarily intended for those with special circumstances where they need to stay on premise for a longer time period while preparing to move online. We understand that there will be varying reasons to use this version, but Microsoft's offering is the recommended long term solution that we recommend.
This project is licensed under the MIT license, which provides access to the source code free of charge and without warranty of any kind.
Adoxio has not performed a detailed audit or testing of the source code after its release by Microsoft.
This project only contains the source code for the portal web application and its dependent class libraries. The associated Dynamics 365 solutions were not included by Microsoft as part of the one-time open source release - as such we are unable to fix issues or make changes to behavior of components contained within the solutions, including any and all components such as schema, plugins, and web resources.
Some users have observed poor application performance and scalability with this codebase compared to their prior experience with Adxstudio Portals v7. Before using this code in a production setting it would be advisable to perform adequate testing to ensure it meets your performance needs.
To build the project, ensure that you have Git installed to obtain the source code, and Visual Studio 2017 installed to compile the source code.
- Clone the repository using Git:
git clone https://github.com/Adoxio/xRM-Portals-Community-Edition.git
- Open the
Solutions\Portals\Portals.sln
solution file in Visual Studio - Build the
Portals
solution or theMasterPortal
project in Visual Studio
xRM Portals Community Edition is a set of .NET class libraries and an ASP.NET web application called MasterPortal
. After building the project, MasterPortal
is run using conventional ASP.NET website hosting methods such as using IIS in on-premise environments, and Azure Web Apps in cloud environments.
The MasterPortal
web application deployment is dependent upon schema (solutions) and data being installed in a Dynamics 365 instance. These components are downloaded from the Microsoft Download Center in the file MicrosoftDynamics365PortalsSolutions.exe
. The components in this download have not been released under the MIT license and are not managed by the xRM Portals Community Edition project.
A full description of the deployment process is described in the file Self-hosted_Installation_Guide_for_Portals.pdf
available for download on the Microsoft Download Center.
The following system requirements are additional to those listed in Self-hosted_Installation_Guide_for_Portals.pdf
:
-
.NET Framework 4.7 must be installed (download, system requirements).
-
The website must be set to run in 64-bit mode:
IIS Application Pool:
Azure Web App:
-
IIS 7.5 (Windows 7 or Windows Server 2008 R2) requires the installation of the IIS Application Initialization module. Use the
x64
download link at the bottom of the page. -
TLS 1.2 needs to be enabled on older operating systems when connecting to Dynamics 365 CE Online 9.0. Refer to the Enable TLS 1.2 and 1.1 support on older operating systems wiki page for full instructions.
-
File system permissions need to be set for general functionality and search indexing to work. Refer to the File System Permissions wiki page for full instructions.
-
A machine key should be added to the web.config file to ensure cryptographic operations always use the same settings rather than using auto-generated encryption keys (e.g. when hosted a web farm or after application restarts). This can be accomplished using IIS Manager as described in the MSDN blog post Easiest way to generate MachineKey. Adxstudio Portals 7.x used the validation method
SHA1
and the encryption methodAES
.
There are two primary methods of obtaining support for this project:
- Community-driven support is available by submitting issues to this GitHub project
- Commercial support options are available from Adoxio
This project uses the MIT license.
This project accepts community contributions through GitHub, following the inbound=outbound model as described in the GitHub Terms of Service:
Whenever you make a contribution to a repository containing notice of a license, you license your contribution under the same terms, and you agree that you have the right to license your contribution under those terms.
Please submit one pull request per issue so that we can easily identify and review the changes.
Bug fixes will only be accepted for bugs that are not reproducable in the online portals version. In other words, if a bug exists in this project and in online portals, it must first be fixed in the online version before a fix will be included in this project. Pull requests for bug fixes can be made, but will be left open until the bug is confirmed to be fixed in online portals. This position is necessary because a bug fix that introduces a behavioral difference with online portals would effectively become a breaking change and compromise the migration path for users of this project to the online version, because users would become depend on the fixed behavior in this project that would then stop working after migrating.