@power-maverick/tool-entity-field-catalog 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -0
- package/dist/index.html +12 -0
- package/dist/index.js +107 -0
- package/npm-shrinkwrap.json +4610 -0
- package/package.json +56 -0
package/README.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Entity Field Catalog
|
|
2
|
+
|
|
3
|
+
Export entity and field metadata from Dataverse solutions to Excel format.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The Entity Field Catalog is a React-based tool designed exclusively for Power Platform ToolBox (PPTB) that allows users to:
|
|
8
|
+
|
|
9
|
+
- Select a Dataverse solution
|
|
10
|
+
- Choose multiple entities from that solution
|
|
11
|
+
- Export comprehensive entity and field metadata to Excel (.xlsx) formats
|
|
12
|
+
|
|
13
|
+
## Features
|
|
14
|
+
|
|
15
|
+
- **Modern Fluent UI Design**: Built with Microsoft's Fluent UI React components for a consistent, professional look
|
|
16
|
+
- **Multi-Entity Selection**: Select one or multiple entities to export at once
|
|
17
|
+
- **Comprehensive Metadata Export**: Exports entity and field information including:
|
|
18
|
+
- Entity logical name, display name, schema name, and description
|
|
19
|
+
- Field logical name, display name, schema name, type, and description
|
|
20
|
+
- Field properties: isPrimaryId, isPrimaryName, isRequired
|
|
21
|
+
- **Multiple Export Formats**:
|
|
22
|
+
- Excel (.xlsx) - Entities tab plus one tab per entity
|
|
23
|
+
- CSV (.zip) - Entities summary CSV plus one CSV per entity, packaged together
|
|
24
|
+
- **PPTB Integration**: Full integration with Power Platform ToolBox API for seamless connectivity
|
|
25
|
+
|
|
26
|
+
## Technical Stack
|
|
27
|
+
|
|
28
|
+
- **React 18** with TypeScript
|
|
29
|
+
- **Fluent UI React Components** for modern, accessible UI
|
|
30
|
+
- **Vite** for fast development and optimized builds
|
|
31
|
+
- **ExcelJS** for secure Excel export functionality
|
|
32
|
+
- **PPTB API** for all Dataverse operations (no direct HTTP calls)
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
This tool is distributed as part of the PPTB-Tools monorepo and can be installed in Power Platform ToolBox.
|
|
37
|
+
|
|
38
|
+
### Prerequisites
|
|
39
|
+
|
|
40
|
+
- Node.js >= 18.0.0
|
|
41
|
+
- npm >= 9.0.0
|
|
42
|
+
|
|
43
|
+
### Build
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
cd tools/entity-field-catalog
|
|
47
|
+
npm install
|
|
48
|
+
npm run build
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Usage in PPTB
|
|
52
|
+
|
|
53
|
+
1. Install the tool in Power Platform ToolBox
|
|
54
|
+
2. Connect to your Dataverse environment
|
|
55
|
+
3. Open the Entity Field Catalog tool
|
|
56
|
+
4. Select a solution from the dropdown
|
|
57
|
+
5. Check the entities you want to export
|
|
58
|
+
6. Choose your export format (Excel or CSV)
|
|
59
|
+
7. Click "Export" to download the file
|
|
60
|
+
|
|
61
|
+
## Export Format
|
|
62
|
+
|
|
63
|
+
Both export options share the same structure:
|
|
64
|
+
|
|
65
|
+
- **Excel**: One `Entities` tab with consolidated info and an additional tab per entity for field details.
|
|
66
|
+
- **CSV**: A `.zip` file containing `Entities.csv` plus a separate CSV for each entity's fields.
|
|
67
|
+
|
|
68
|
+
### Entities Summary
|
|
69
|
+
|
|
70
|
+
| Column | Description |
|
|
71
|
+
| ---------------------- | --------------------------------- |
|
|
72
|
+
| Entity Display Name | Human-friendly name of the entity |
|
|
73
|
+
| Entity Logical Name | Dataverse logical name |
|
|
74
|
+
| Entity Schema Name | Dataverse schema name |
|
|
75
|
+
| Primary ID Attribute | Primary key column |
|
|
76
|
+
| Primary Name Attribute | Primary name column |
|
|
77
|
+
| Object Type Code | Numeric identifier (if available) |
|
|
78
|
+
| Description | Entity description |
|
|
79
|
+
| Field Count | Number of fields exported |
|
|
80
|
+
|
|
81
|
+
### Field Details (per entity)
|
|
82
|
+
|
|
83
|
+
| Column | Description |
|
|
84
|
+
| ------------------ | ------------------------------------------ |
|
|
85
|
+
| Field Display Name | Human-friendly field label |
|
|
86
|
+
| Field Logical Name | Dataverse logical name |
|
|
87
|
+
| Field Schema Name | Dataverse schema name |
|
|
88
|
+
| Field Type | Data type |
|
|
89
|
+
| Is Primary ID | Indicates if the field is the primary ID |
|
|
90
|
+
| Is Primary Name | Indicates if the field is the primary name |
|
|
91
|
+
| Is Required | Indicates if the field is required |
|
|
92
|
+
| Field Description | Field description |
|
|
93
|
+
|
|
94
|
+
## Development
|
|
95
|
+
|
|
96
|
+
To run the tool in development mode:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npm run dev
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
This will start the Vite development server with hot module replacement.
|
|
103
|
+
|
|
104
|
+
## License
|
|
105
|
+
|
|
106
|
+
This project is licensed under the GPL-2.0 License - see the [LICENSE](../../LICENSE) file for details.
|
|
107
|
+
|
|
108
|
+
## Contributing
|
|
109
|
+
|
|
110
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
111
|
+
|
|
112
|
+
## Author
|
|
113
|
+
|
|
114
|
+
Power Maverick - [GitHub](https://github.com/Power-Maverick)
|
package/dist/index.html
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Entity Field Catalog</title>
|
|
7
|
+
<script type="module" crossorigin src="/index.js"></script>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="root"></div>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|