npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

generator-nullfactory-xrm

v1.7.0

Published

Dynamics CRM / 365 Project Structure Generator

Downloads

32

Readme

generator-nullfactory-xrm

Dynamics CRM / 365 Project Structure Generator

Build status npm version

A yeoman generator for scaffolding Solution Packager-compatible Dynamics 365 project structures.

The project structure is built around the Solution Packager (provided as part of the official SDK) and the Microsoft.Xrm.Data.PowerShell module. It facilitates the quick creation of team builds and release strategies with minimal effort and enables you to maintain a single source of truth for your CRM solutions.

Installation

First, install Yeoman and generator-nullfactory-xrm using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-nullfactory-xrm

Then generate your new project:

yo nullfactory-xrm

Execution

Template questions and their purpose:

  1. Visual Studio solution file name? The visual studio solution filename.
  2. Visual Studio project prefix? The prefix for the projects generated. This can be an organization name or preferred convention.
  3. Source CRM server url? This is the source CRM server url. Example:[https://sndbx.crm6.dynamics.com](https://sndbx.crm6.dynamics.com)
  4. Source CRM solution name? The name of the CRM solution to be extracted.
  5. Add *.WebResource project? Specifies if a new project should be created to manage the web resouces.
  6. Add *.Plugin project? Specifies if a new plugin project should be created.
  7. Add *.Workflow project? Specifies if a new workflow project should be created

Post Installation Setup

Start off by running the _RunFirst.ps1 powershell script located in the generated root folder. This script would restore and update the packages used by the Nullfactory.Xrm.Tooling

.\_RunFirst.ps1

Next, if you opted to add either a plugin or workflow project, ensure that the assembly is signed with a new key.

Optionally, install the Microsoft.Xrm.Data.PowerShell powershell module. On a Windows 10 or later, do this by executing the included powershell script Nullfactory.Xrm.Tooling\_Install\Install-Microsoft.Xrm.Data.PowerShell.ps1 or manually running the following command:

Install-Module -Name Microsoft.Xrm.Data.PowerShell -Scope CurrentUser -Force

Even if you skip this step, the sychrnoization PowerShell script would attempt to install it automatically. The PowerShell scripts require a minimum of PowerShell 5.0 and Microsoft.Xrm.Data.PowerShell 2.5.

Install Customised .gitignore

If the underlying repository is git, run the following command to install a customised version of the gitignore file. This file is structured to include the binaries within the Nullfactory.Xrm.Tooling\bin\coretools folder.

yo nullfactory-xrm:gitignore

Pull the CRM Solution into the Project Structure

Anytime the CRM solution needs to be pulled down into the project structure, execute the script located at Nullfactory.Xrm.Tooling\Scripts\Pull-CrmSolution.Param.ps1.

Resource Mapping

Edit the mapping file to map to the appropriate resource project. They are located in the Nullfactory.Xrm.Tooling\Mapping folder. More information on the structure of the mapping file can be found here

Building the CRM Solution

The repackaging the extracted solution is integrated as a post-build step of the solution class library. Simply build it to output both a managed as well as unmanaged CRM solution package.

Install a YAML based CI Build

Use the following command and prompts in order to generate a tailored YAML CI build file.

yo nullfactory-xrm:cibuild

Currently supports only Visual Studio Team Services.

Source Control, CI Builds and Release Management

More information on source control management, setting up continuous integration builds and automated releases:

Feedback

Please submit any feature requests or issues found to https://github.com/shanec-/generator-nullfactory-xrm/issues

License

Copyright © Shane Carvalho. Licensed under the GPL-3.0 License.