Skip to content

Commit b05fcd7

Browse files
authored
Merge pull request #152 from AlexaCRM/updateQuickstart
update quick start page
2 parents 9048b33 + c0b2c55 commit b05fcd7

File tree

2 files changed

+76
-13
lines changed

2 files changed

+76
-13
lines changed

datapress/getting-started.md

Lines changed: 45 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ The plugin previously known as Dataverse Integration has been renamed to DataPre
1414
All references to Dataverse Integration in the documentation, user interface will be updated to DataPress.
1515
:::
1616

17+
import ExpandableSection from '@site/src/components/ExpandableSection';
18+
1719
<p class="lead">Get acquainted with the plugin, learn how to install and configure it properly and learn about its features and capabilities.</p>
1820

1921
## Get your Dataverse / Dynamics 365 organization ready
@@ -34,6 +36,8 @@ Dataverse / Dynamics 365 supports several deployment and authentication scenario
3436

3537
:::
3638

39+
<ExpandableSection title="How to create application id and client secret">
40+
3741
To create application id and client secret or certificate you need to complete the following steps:
3842

3943
1. [Register an app](https://learn.microsoft.com/entra/identity-platform/quickstart-register-app?tabs=certificate#register-an-application) in Microsoft Entra ID. During the registration select **Accounts in this organizational directory only** as Supported account types. Stop the walkthrough after the step when the app is registered, do not add redirect URI or change platform settings. Copy Application (client) ID and set it aside.
@@ -64,9 +68,24 @@ You can also use [Azure CLI](https://learn.microsoft.com/cli/azure/install-azure
6468
Do not change the timezone for your app user. If you do, you may encounter undefined results when working with a Date Time column that has User Local behavior.
6569

6670
:::
71+
</ExpandableSection>
6772

6873
## Set authentication keys
6974

75+
If the ICDS_AUTH_KEY is not explicitly defined, it will be generated automatically. However, the ICDS_FORM_AUTH_KEY must be set manually.
76+
77+
Both keys can be updated at any time without disconnecting the integration. For security and compatibility, each key should be at least 32 characters long.
78+
79+
If you define these keys in your site’s wp-config.php file, those values will take precedence over any settings stored in the database.
80+
81+
To verify whether the keys are set:
82+
83+
- Navigate to Dataverse → Settings
84+
- Scroll to the bottom of the page to locate the Advanced Settings section
85+
- The current key values will be displayed there
86+
87+
<ExpandableSection title="How to set authentication keys">
88+
7089
By default, DataPress (Dataverse Integration) use a Wordpress `AUTH_KEY` constant for encryption purposes. To ensure maximum security you may want to create specific authentication constants to use by the plugin:
7190
- `ICDS_AUTH_KEY` - Used to encrypt sensitive data such as application secret.
7291
- `ICDS_FORM_AUTH_KEY` - Used for safe forms processing.
@@ -84,12 +103,7 @@ define('ICDS_FORM_AUTH_KEY', 'ny%:T/j@I>/sMm8Unyi{+~oS/]PQKp3ZXIXb/)iLU|V]Q7gh^e
84103

85104
To generate a suitable key you can use an online generator provided by Wordpress at https://api.wordpress.org/secret-key/1.0/. If you generate key this way you should save this key (go to Dataverse -> Settings tab -> at the end of the page Advanced Settings, paste the key here, one of key - ICDS_AUTH_KEY, when you reload link and get key one more time - ICDS_FORM_AUTH_KEY).
86105

87-
:::note
88-
89-
If you did not set the **ICDS_AUTH_KEY**, it will be generated automarically. However, you must set the **ICDS_FORM_AUTH_KEY** yourself. You can also change either of these keys without disconnecting. The keys should be at least 32 characters long.
90-
If you define them in your **wp-config.php** file, these file values will take precedence.
91-
92-
:::
106+
</ExpandableSection>
93107

94108
## Connect the plugin
95109

@@ -139,6 +153,30 @@ Premium feature! This feature is available in the premium extension.
139153

140154
:::
141155

156+
### Install WordPress Premium Solution
157+
158+
1. Sign in into WordPress as admin user.
159+
2. Select **Dataverse** in the left-hand side navigation.
160+
3. Go to the **Addons** tab
161+
4. Download **Dataverse Integration Premium**
162+
5. Click **Back to WordPress**
163+
6. Click **Plugins** -> **Add New Plugin** and upload the downloaded .zip file.
164+
165+
### Configure Dataverse Solution or click Add registration in DataPress Admin Panel (Connection tab)
166+
167+
To configure the Dataverse Solution, you can either:
168+
169+
Open the DataPress Admin Panel, go to the Connection tab, and click Add Registration, or
170+
171+
Follow the manual steps outlined below.
172+
173+
Once the connection is configured, proceed to the Status tab to complete your registration:
174+
- Enter your Company Name, First Name, Last Name, and Email
175+
- Click Register
176+
If you already have a registration, you can skip this step.
177+
178+
<ExpandableSection title="How to configure Dataverse Solution">
179+
142180
### Create Application Password
143181

144182
1. Sign in into your WordPress site.
@@ -169,14 +207,8 @@ Premium feature! This feature is available in the premium extension.
169207
<img src="/images/wp-site.png" width="700" />
170208
</div>
171209

172-
### Install WordPress Premium Solution
210+
</ExpandableSection>
173211

174-
1. Sign in into WordPress as admin user.
175-
2. Select **Dataverse** in the left-hand side navigation.
176-
3. Go to the **Addons** tab
177-
4. Download **Dataverse Integration Premium**
178-
5. Click **Back to WordPress**
179-
6. Click **Plugins** -> **Add New Plugin** and upload the downloaded .zip file.
180212

181213
:::note
182214

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import React, { useState, ReactNode } from 'react';
2+
3+
interface ExpandableSectionProps {
4+
title: string;
5+
children: ReactNode;
6+
}
7+
8+
const ExpandableSection: React.FC<ExpandableSectionProps> = ({ title, children }) => {
9+
const [open, setOpen] = useState(false);
10+
11+
return (
12+
<div style={{ marginBottom: '1em' }}>
13+
<button
14+
onClick={() => setOpen(!open)}
15+
style={{
16+
cursor: 'pointer',
17+
background: 'none',
18+
border: 'none',
19+
fontSize: '1em',
20+
padding: 0,
21+
color: '#007acc',
22+
}}
23+
>
24+
{open ? '🔼 Hide' : '🔽 Show'} {title}
25+
</button>
26+
{open && <div style={{ marginTop: '0.5em' }}>{children}</div>}
27+
</div>
28+
);
29+
};
30+
31+
export default ExpandableSection;

0 commit comments

Comments
 (0)