Custom Email Timeline Control is a PowerApps Component Framework (PCF) control that provides a customized timeline view for emails within a model-driven app.
- 📬 Customizable email timeline view
- 📅 Easy integration with model-driven apps
- 🔧 Configurable settings for display
To install the Custom Email Timeline Control, follow these steps:
- Clone the repository:
git clone https://github.com/matteo-campana/CustomEmailTimelineControl.git
- Navigate to the project directory:
cd CustomEmailTimelineControl
- Install dependencies:
npm install
- Build the project:
npm run build -- --buildMode production
- Start the project in watch mode (optional):
npm run start:watch
To create and import a solution file:
-
Create a new folder inside the sample component folder and name it as
Solutions
(or any name of your choice):mkdir Solutions cd Solutions
-
Create a new solutions project:
pac solution init --publisher-name developer --publisher-prefix dev
Note: The
publisher-name
andpublisher-prefix
values must be unique to your environment. -
Add a reference to the sample component:
pac solution add-reference --path c:\downloads\mysamplecomponent
-
Generate a zip file from the solution project:
msbuild /t:restore msbuild
Or if you have installed the .NET SDK, version >= 6:
dotnet build
Tip: If
msbuild 15.9.*
is not in the path, open Developer Command Prompt for VS 2017 to run themsbuild
commands. -
The generated solution files are located inside the
\bin\debug\
folder after the build is successful. -
Manually import the solution into Dataverse using the web portal or automatically using the Microsoft Power Platform Build Tools.
- Create your authentication profile:
pac auth create --url https://xyz.crm.dynamics.com
- View all existing profiles:
pac auth list
- Switch between profiles:
pac auth select --index <index of the active profile>
- Ensure that you have a valid authentication profile created.
- Navigate to the directory where the sample component file is located.
- Push the code components to the Dataverse instance:
pac pcf push --publisher-prefix <your publisher prefix>
Note: The publisher prefix that you use with the push command should match the publisher prefix of your solution in which the components will be included.
The Custom Email Timeline Control accepts the following input parameters:
DebugMode
: A boolean option to enable or disable debug mode.CollectCurrentRecordEmails
: A boolean option to collect emails related to the current record.CollectParentEmails
: A boolean option to collect emails related to the parent record.CollectAncestorEmails
: A boolean option to collect emails related to ancestor records.
The following scripts are available:
build
: Builds the project usingpcf-scripts build
.clean
: Cleans the project usingpcf-scripts clean
.lint
: Lints the project usingpcf-scripts lint
.lint:fix
: Fixes linting issues usingpcf-scripts lint fix
.rebuild
: Rebuilds the project usingpcf-scripts rebuild
.start
: Starts the project usingpcf-scripts start
.start:watch
: Starts the project in watch mode usingpcf-scripts start watch
.
The project has the following dependencies:
react
: 16.14.0@fluentui/react-components
: 9.46.2react-dom
: 16.14.0
To use the Custom Email Timeline Control in your model-driven app, follow these steps:
- Import the solution into your environment.
- Add the control to the desired form.
- Configure the control settings as needed.
Contributions are welcome! Please open an issue or submit a pull request for any changes.
This project is licensed under the MIT License. See the LICENSE file for details.
Give a ⭐️ if this project helped you!
- Author: Matteo Campana
- GitHub: matteo-campana