diff --git a/datapress/Forms/custom-forms.md b/datapress/Forms/custom-forms.md index 69b4e61..d405867 100644 --- a/datapress/Forms/custom-forms.md +++ b/datapress/Forms/custom-forms.md @@ -7,6 +7,10 @@ tags: - DataPress keywords: [DataPress custom form] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::
Design forms with Twig and HTML and capture submissions into your Dataverse instance.
@@ -14,11 +18,11 @@ keywords: [DataPress custom form] Using PowerApps or Dynamics 365 forms is not the only way to capture submissions from your WordPress website. You can use Twig and HTML forms syntax to create custom form layouts. -Custom forms are a feature provided in the free Dataverse Integration plugin at [wordpress.org](https://wordpress.org/plugins/integration-cds/). +Custom forms are a feature provided in the free DataPress (Dataverse Integration) plugin at [wordpress.org](https://wordpress.org/plugins/integration-cds/). ## Use Twig to design a form -Dataverse Integration provides a pair of Twig tags, `{% form %}{% endform %}`, to define a form. `{% form %}` tag accepts the following parameters: +DataPress (Dataverse Integration) provides a pair of Twig tags, `{% form %}{% endform %}`, to define a form. `{% form %}` tag accepts the following parameters: - `entity` -- *(string, required)* logical name of the target table. - `mode` -- *(string, required)* `create` for creation forms. `update` for update forms. diff --git a/datapress/Forms/forms.md b/datapress/Forms/forms.md index 5109bbf..8f1cf69 100644 --- a/datapress/Forms/forms.md +++ b/datapress/Forms/forms.md @@ -8,6 +8,10 @@ tags: - DataPress keywords: [DataPress forms] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::Capture leads, feedback and other information from your website using forms designed in PowerApps and Dynamics 365.
@@ -19,7 +23,7 @@ Premium feature! This feature is available in the premium extension. ::: -Forms are an essential component of Power Apps and Dynamics 365 which enables interaction with your data. Dataverse Integration brings the comparable experience to your WordPress website. It makes writing data back to Dataverse / Dynamics 365 a priority, and to achieve the goal it provides support for rendering Dataverse / Dynamics 365 forms and processing the input by converting it into new Dataverse rows (records) or updates to the existing rows. +Forms are an essential component of Power Apps and Dynamics 365 which enables interaction with your data. DataPress (Dataverse Integration) brings the comparable experience to your WordPress website. It makes writing data back to Dataverse / Dynamics 365 a priority, and to achieve the goal it provides support for rendering Dataverse / Dynamics 365 forms and processing the input by converting it into new Dataverse rows (records) or updates to the existing rows. The plugin introduces a concept of *"form registrations"*, a proxy layer between WordPress and a Dataverse form. It specifies among other things which Dataverse form to show, how to handle submissions, which fields to make required or optional. @@ -27,9 +31,9 @@ Forms are fully integrated into the Twig templating engine, and Twig templates a ## Features and limitations -Dataverse Integration renders forms close to what they are defined in Dataverse, layout-wise. Most control types are supported too, including lookups, radio buttons and checkboxes, date & time pickers, as well as simple text (e.g. single-line and multi-line text, email) and number (e.g. integers, money) inputs. +DataPress (Dataverse Integration) renders forms close to what they are defined in Dataverse, layout-wise. Most control types are supported too, including lookups, radio buttons and checkboxes, date & time pickers, as well as simple text (e.g. single-line and multi-line text, email) and number (e.g. integers, money) inputs. -Dataverse Integration provides a lookup dialog very similar to one included in Power Apps and Dynamics 365. It allows picking rows as values for lookup and customer columns. The lookup dialog included in the plugin does not support selecting multiple rows for one column. Multi-select picklists are not supported yet. +DataPress (Dataverse Integration) provides a lookup dialog very similar to one included in Power Apps and Dynamics 365. It allows picking rows as values for lookup and customer columns. The lookup dialog included in the plugin does not support selecting multiple rows for one column. Multi-select picklists are not supported yet. Several composite controls are not supported yet. Those include subgrids, maps, nested forms (quick forms), notes (Posts, Assistant, Activities, Notes). @@ -39,11 +43,11 @@ There are no plans for support of web resources, such as custom JavaScript libra Default Dataverse tables, such as Contact and Lead, include several composite read-only columns. -`fullname` is a calculated column which by default represents First Name and Last Name. Dataverse Integration and Dynamics 365 provide several options to generate the Full Name, [see the article](https://www.magnetismsolutions.com/blog/colinmaitland/2014/02/03/how-to-change-the-full-name-format-for-contacts-in-microsoft-dynamics-crm-2013). The plugin does not show a pop-up to specify each name component separately. It instead decomposes the `fullname` column, if one is present on the form, into separate controls on the form as if the form contained `firstname` and `lastname` instead. +`fullname` is a calculated column which by default represents First Name and Last Name. DataPress (Dataverse Integration) and Dynamics 365 provide several options to generate the Full Name, [see the article](https://www.magnetismsolutions.com/blog/colinmaitland/2014/02/03/how-to-change-the-full-name-format-for-contacts-in-microsoft-dynamics-crm-2013). The plugin does not show a pop-up to specify each name component separately. It instead decomposes the `fullname` column, if one is present on the form, into separate controls on the form as if the form contained `firstname` and `lastname` instead. `addressN_composite` columns are likewise calculated based on other `addressN_*` columns. In terms of rendering composite address columns are treated the same as Full Name columns. -Dataverse Integration allows customizing the list of underlying attributes for Full Name and Address columns. +DataPress (Dataverse Integration) allows customizing the list of underlying attributes for Full Name and Address columns. ### reCAPTCHA support @@ -53,7 +57,7 @@ To add Google reCAPTCHA, fill in this [form](https://www.google.com/recaptcha/ad In **Forms Global Settings**, you can enable or disable reCAPTCHA for all forms from the Dataverse Admin Area. By default, reCAPTCHA is disabled on all forms. You can enable reCAPTCHA separately in the form registration settings under the reCAPTCHA settings override section. -Dataverse Integration supports 3rd party plugins to retrieve reCAPTCHA credentials and settings: +DataPress (Dataverse Integration) supports 3rd party plugins to retrieve reCAPTCHA credentials and settings: - [Contact Form 7 Captcha](https://wordpress.org/plugins/contact-form-7-simple-recaptcha/) - [Google Captcha (reCAPTCHA) by BestWebSoft](https://wordpress.org/plugins/google-captcha/) @@ -98,7 +102,7 @@ Form registration provides several options to override global form settings, suc ## Add the form to a page -Dataverse Integration provides a custom Twig tag, `{% form %}`, to add Dataverse forms to WordPress pages. When you add a Dataverse form to a page, you need to know its form registration ID -- it is specified in the list of form registrations. +DataPress (Dataverse Integration) provides a custom Twig tag, `{% form %}`, to add Dataverse forms to WordPress pages. When you add a Dataverse form to a page, you need to know its form registration ID -- it is specified in the list of form registrations. ```twig {% form id=42 %} diff --git a/datapress/administration/cache-management.md b/datapress/administration/cache-management.md index 83c5cb8..675602e 100644 --- a/datapress/administration/cache-management.md +++ b/datapress/administration/cache-management.md @@ -7,6 +7,10 @@ tags: - DataPress keywords: [DataPress cache] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::This page describes how to manage caching, including force disabling caching, configuring cache storage, and clearing the cache.
@@ -26,7 +30,7 @@ By enabling this option, your site may slow down. Therefore, use it only for deb ::: ### Manage cache storage -You can force Dataverse Integration to use specified storage by changing `ICDS_CACHE_STORAGE` option in `Advanced settings`. +You can force DataPress (Dataverse Integration) to use specified storage by changing `ICDS_CACHE_STORAGE` option in `Advanced settings`. For optimal performance of the cache clearing function, it is crucial to configure the settings in the Dataverse Admin Area under the Status menu. Follow these steps to ensure stable operation: 1. Access the Advanced settings in the Dataverse Admin Area. diff --git a/datapress/administration/disable-user.md b/datapress/administration/disable-user.md index 1b1f304..c3554e0 100644 --- a/datapress/administration/disable-user.md +++ b/datapress/administration/disable-user.md @@ -8,6 +8,10 @@ tags: - DataPress keywords: [DataPress user, WordPress user] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::Link your WordPress users to Dataverse records to provide customized experiences, user data synchronization and extra sign-in authorization.
@@ -21,7 +25,7 @@ To enable this user you need to find this user again, tick this username, choose ## How to disable a user in Maker portal -Dataverse Integration provides capability to associate WordPress users with Dataverse Integration records to provide more opportunities to build self-service customer portals. +DataPress (Dataverse Integration) provides capability to associate WordPress users with DataPress (Dataverse Integration) records to provide more opportunities to build self-service customer portals. When a bound user signs in, your website receives data from the bound record. To bind user manually, you should go to Users -> All Users in WordPress Admin Area and fond this user. Then hover the mouse cursor over the username and click 'Dataverse Binding', choose 'Manual' mode and find necessary record from the Contact table. Click Add and Apply to save settings. @@ -37,7 +41,7 @@ Also if you set the Login Enabled column as 'Yes' for the user, this user will b ## How to get last login date for a user -To see the last login date, you need to get the user by ID (send a GET request). +To see the last login date, you need to get the user by ID by sending a GET request: ```text https://{url}/wp-json/wp/v2/users/{id} @@ -74,13 +78,13 @@ Pay attention to the meta fields in the response. } ``` -`icds_last_login` shows the last login date. It can be empty if the user hasn’t signed in. +The **icds_last_login** field shows the last login date. It can be empty if the user hasn’t signed in. ## How to filter users -To get users filtered by conditions, you need to send a GET request with the following encoded part: +To get users filtered by conditions, send a GET request with the following encoded part: -```twig +```text [ { "Field": "icds_binding", @@ -97,10 +101,55 @@ To get users filtered by conditions, you need to send a GET request with the fol You can add as many elements as you want. Operators can be: `eq, ne, gt, lt, ge, le, - =, !=, >, <, >=, <=, LIKE, IN, BETWEEN, REGEXP, EXISTS`. -You need to encode this body using URL-encoded format (you can use any tool). +Encode this body using URL-encoded format (you can use any tool). -Then add this encoded part in the URL. See the example below. +Then add this encoded part in the URL. See the example below:This page describes how to set up logs.
### Setting up logs -Dataverse Integration stores in the logs some information about received and transmitted data, logical handlers, and so on. Thus, you can easily get data and analyze it. +DataPress (Dataverse Integration) stores in the logs some information about received and transmitted data, logical handlers, and so on. Thus, you can easily get data and analyze it. #### Log Storage By default, collected data is stored in log files. You can change it to use database as a storage by enabling the `ICDS_DB_LOGS` option in the `Advanced settings`. @@ -24,9 +28,9 @@ By default, collected data is stored in log files. You can change it to use data ::: #### QM support -Dataverse Integration supports the QueryMonitor plugin. So you can control this feature by toggling the `ICDS_QM_LOGS` option in the `Advanced settings`. +DataPress (Dataverse Integration) supports the QueryMonitor plugin. So you can control this feature by toggling the `ICDS_QM_LOGS` option in the `Advanced settings`. -When this feature is enabled, Dataverse Integration logs will be duplicated in QueryMonitor. +When this feature is enabled, DataPress (Dataverse Integration) logs will be duplicated in QueryMonitor. #### Reading logs Some recent logs are displayed on the `Status` tab in the plugin's admin area. You can view them by clicking on the `Show recent logs` link. diff --git a/datapress/api-hooks.md b/datapress/api-hooks.md index 8fd0e53..79f3908 100644 --- a/datapress/api-hooks.md +++ b/datapress/api-hooks.md @@ -8,7 +8,12 @@ tags: keywords: [DataPress API] --- -Dataverse Integration provides a number of WordPress hooks that allow you to extend the plugin and augment its behaviour.
+:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +::: + +DataPress (Dataverse Integration) provides a number of WordPress hooks that allow you to extend the plugin and augment its behaviour.
## Actions @@ -33,7 +38,7 @@ Fires after custom form was successfully submitted. `integration-cds/initialized` -Fires after Dataverse Integration has been initialized. +Fires after DataPress (Dataverse Integration) has been initialized. --- diff --git a/datapress/binding/fields.md b/datapress/binding/fields.md index d3322c2..0808b5f 100644 --- a/datapress/binding/fields.md +++ b/datapress/binding/fields.md @@ -9,6 +9,10 @@ tags: - DataPress keywords: [DataPress Fields Binding, Fields Binding addon] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::Display column value using Dataverse Integration Fields Binding!
diff --git a/datapress/binding/table-binding.md b/datapress/binding/table-binding.md index 1c8dc57..2640169 100644 --- a/datapress/binding/table-binding.md +++ b/datapress/binding/table-binding.md @@ -8,6 +8,10 @@ tags: - DataPress keywords: [DataPress Table binding, Table Binding] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::Link WordPress pages to Dataverse tables to provide direct access to your organization data.
@@ -19,7 +23,7 @@ Premium feature! This feature is available in the premium extension. ::: -Table binding is a feature of Dataverse Integration plugin that allows linking specific Dataverse tables to WordPress posts and pages. When binding is set up, Twig, forms and other services get access to the "current" bound record and its columns. +Table binding is a feature of DataPress (Dataverse Integration) plugin that allows linking specific Dataverse tables to WordPress posts and pages. When binding is set up, Twig, forms and other services get access to the "current" bound record and its columns. ## Understand table binding @@ -45,7 +49,7 @@ You can choose from several options how to bind the post. In certain integration scenarios, it may be desirable to limit the number of table rows exposed to a user. In a self-service portal, you may want to allow a user access to their invoices, but keep them from seeing invoices for your other clients. -Dataverse Integration provides capability of restricting access by executing a provided FetchXML query before access to the page is granted. The query allows determining relations between the requested table row and the visitor. Access is granted if the query returns any rows. +DataPress (Dataverse Integration) provides capability of restricting access by executing a provided FetchXML query before access to the page is granted. The query allows determining relations between the requested table row and the visitor. Access is granted if the query returns any rows. ## Configure global binding settings diff --git a/datapress/binding/user-binding.md b/datapress/binding/user-binding.md index 86b5d44..794f044 100644 --- a/datapress/binding/user-binding.md +++ b/datapress/binding/user-binding.md @@ -10,6 +10,11 @@ tags: keywords: [DataPress User binding, User Binding] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +::: +Link your WordPress users to Dataverse contact records to provide customized experiences, user data synchronization and extra sign-in authorization.
## Introduction @@ -20,7 +25,7 @@ Premium feature! This feature is available in the premium extension. ::: -Dataverse Integration provides capability to associate WordPress users with Dataverse contact records to provide more opportunities to build self-service customer portals. +DataPress (Dataverse Integration) provides capability to associate WordPress users with Dataverse contact records to provide more opportunities to build self-service customer portals. When a bound user successfully signs in, your website receives data from the bound contact record. You can use current user data to parameterize [FetchXML queries](/datapress/fetchxml.md) and [views](/datapress/views.md#prepare-the-view-for-use), [specify default values](/datapress/Forms/forms.md#default-values) in forms or even [implement custom table binding](/datapress/binding/table-binding.md#implement-custom-binding) using current user data. @@ -28,13 +33,13 @@ You can add additional authorization step to disable sign-in for selected users ## Understand user binding modes -Dataverse Integration can bind a user to a Dataverse record in several different ways which are referred to as "binding modes". +DataPress (Dataverse Integration) can bind a user to a Dataverse record in several different ways which are referred to as "binding modes". By default, a WordPress user is **not bound** to a Dataverse record. That means, whatever the global options are, the current user object is not populated, no authorization against Dataverse is performed. In **Lookup mode** a user is bound to a Dataverse contact that is specified explicitly. Contact can be selected using either WordPress or Dataverse user interface. This mode was previously known as Manual. -In **Username mode** Dataverse Integration binds the user to a contact record with a matching value in `alexacrm_wordpress_username` column (added to contact by AlexaCRM solution). This mode was previously known as Default or Auto. +In **Username mode** DataPress (Dataverse Integration) binds the user to a contact record with a matching value in `alexacrm_wordpress_username` column (added to contact by AlexaCRM solution). This mode was previously known as Default or Auto. In **Custom mode** you must implement the `integration-cds/user-binding/bind-custom` filter to return an [EntityReference](https://github.com/AlexaCRM/dynamics-webapi-toolkit/blob/master/src/Xrm/EntityReference.php) for the given user. @@ -61,7 +66,7 @@ Recommended way to auto-create user bindings and synchronize data between WordPr ### Enable username binding for new WordPress users -You can provide WordPress user/usermeta field to Dataverse Contact field for initial matching. Dataverse Integration will locate the contact record using this mapping and set `alexacrm_wordpress_username` to the user's username. +You can provide WordPress user/usermeta field to Dataverse Contact field for initial matching. DataPress (Dataverse Integration) will locate the contact record using this mapping and set `alexacrm_wordpress_username` to the user's username. ### Enable field synchronization for bound users diff --git a/datapress/fetchxml.md b/datapress/fetchxml.md index f99538c..ad7ae86 100644 --- a/datapress/fetchxml.md +++ b/datapress/fetchxml.md @@ -7,18 +7,22 @@ tags: - DataPress keywords: [DataPress fetchXML] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::Use the powerful FetchXML query language in Twig to reflect your Common Data Service / Dynamics 365 data in WordPress.
## Introduction -FetchXML is a query language used in Common Data Service to retrieve table rows using a set of conditions. *Dataverse Integration* brings support of FetchXML into Twig to allow rendering collections of CRM records or individual records on WordPress pages. +FetchXML is a query language used in Common Data Service to retrieve table rows using a set of conditions. **DataPress (Dataverse Integration)** brings support of FetchXML into Twig to allow rendering collections of CRM records or individual records on WordPress pages. Please refer to the [Microsoft Docs portal](https://docs.microsoft.com/power-apps/developer/data-platform/use-fetchxml-construct-query) to learn about constructing FetchXML queries. ## Query data using FetchXML in Twig templates -*Dataverse Integration* provides a new Twig tag, `{% fetchxml %}`, which is accompanied by the required closing `{% endfetchxml %}` tag. Use the required `collection` column to specify the variable you will use to access retrieved records. Write your FetchXML query inside these tags. Use the optional `cache` attribute to enable query cache -- please adhere to the [ISO 8601 duration specification](https://en.wikipedia.org/wiki/ISO_8601#Durations). +**DataPress (Dataverse Integration)** provides a new Twig tag, `{% fetchxml %}`, which is accompanied by the required closing `{% endfetchxml %}` tag. Use the required `collection` column to specify the variable you will use to access retrieved records. Write your FetchXML query inside these tags. Use the optional `cache` attribute to enable query cache -- please adhere to the [ISO 8601 duration specification](https://en.wikipedia.org/wiki/ISO_8601#Durations). ``` {% fetchxml collection="customers" cache="PT30M" %} diff --git a/datapress/frequently_asked_questions.md b/datapress/frequently_asked_questions.md new file mode 100644 index 0000000..8d3eaf3 --- /dev/null +++ b/datapress/frequently_asked_questions.md @@ -0,0 +1,60 @@ +--- +title: Frequently Asked Questions +sidebar_position: 15 +slug: /frequently-asked-questions +tags: + - DataPress +--- + +## What is a Dataverse instance? + +A Dataverse instance is a cloud-based database environment provided by Microsoft Dataverse. It allows you to securely store and manage data used by business applications. Here are some key points about a Dataverse instance: + +**Data Storage**: Data is stored in tables, which are collections of rows and columns. You can use standard tables provided by Dataverse or create custom tables to fit your specific needs1. +**Security**: Dataverse uses Azure Active Directory for identity and access management, ensuring that only authorized users can access the data2. +**Integration**: It integrates seamlessly with other Microsoft services like Dynamics 365, Power Apps, and Power Automate, allowing you to build comprehensive business solutions3. +Customization: You can customize tables, columns, and relationships to reflect your business processes and rules4. + +## Does it work with Developer instance? + +Yes, you can use Developer instance + +## Can I use username/password for connection? + +No, you should register an app in Microsoft Entra admin center and add client secret credentials. [See more details](/datapress/getting-started.md) + +## What's the difference between DataPress (Dataverse Integration) and Dynamics 365 Integration? + +*Key Features* + +**DataPress (Dataverse Integration):** +- Uses 100% Web API-based communication, ensuring a future-proof investment. +- Secure server-to-server authentication, eliminating the need for usernames and passwords. +- Allows creation of custom forms in WordPress that map to Dataverse tables and columns. +- Extensible through WordPress actions and filters. + +**Dynamics 365 Integration:** +- Initially used WS-Trust protocol for authentication, but now supports app ID/secret authentication. +- Directly integrates with Dynamics 365 applications, providing access to Dynamics 365 data. +- Suitable for users who primarily work within the Dynamics 365 ecosystem. + +*Use Cases* + +**DataPress (Dataverse Integration):** +- Ideal for businesses that use Dataverse as a central data repository and want to extend its capabilities to WordPress. +- Suitable for creating custom forms, collecting leads, and displaying data from Dataverse without coding. + +**Dynamics 365 Integration:** +- Best for organizations that rely heavily on Dynamics 365 and need direct integration with WordPress. +- Useful for accessing and displaying Dynamics 365 data within WordPress. + +*Extensibility* + +**DataPress (Dataverse Integration):** +- Highly extensible through WordPress actions and filters. +- Supports custom layouts using the Twig template engine. + +**Dynamics 365 Integration:** +- Extensible within the Dynamics 365 framework. +- Primarily focused on direct data integration and display. + diff --git a/datapress/getting-started.md b/datapress/getting-started.md index a2a6e78..b4bbaea 100644 --- a/datapress/getting-started.md +++ b/datapress/getting-started.md @@ -9,11 +9,16 @@ tags: keywords: [DataPress how to start] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +::: +Get acquainted with the plugin, learn how to install and configure it properly and learn about its features and capabilities.
## Get your Dataverse / Dynamics 365 organization ready -Dataverse Integration is a WordPress plugin that makes WordPress and Dataverse / Dynamics 365 work together. It is not a stand-alone solution. +**DataPress (Dataverse Integration)** is a WordPress plugin that makes WordPress and Dataverse / Dynamics 365 work together. It is not a stand-alone solution. If you don't have a Dataverse / Dynamics 365 organization yet, you can sign up for a free trial at [powerapps.microsoft.com](https://powerapps.microsoft.com/) for Dataverse or at [trials.dynamics.com](https://trials.dynamics.com/) for Dynamics 365 trial. @@ -62,7 +67,7 @@ Do not change the timezone for your app user. If you do, you may encounter undef ## Set authentication keys -By default, 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: +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: - `ICDS_AUTH_KEY` - Used to encrypt sensitive data such as application secret. - `ICDS_FORM_AUTH_KEY` - Used for safe forms processing. @@ -77,7 +82,7 @@ define('ICDS_AUTH_KEY', 'TfsFu)- pF\"6KNx@VT,FV@*`lM;Ls(nRy0/e:h^TnJ6/Ee$-cm@o2o define('ICDS_FORM_AUTH_KEY', 'ny%:T/j@I>/sMm8Unyi{+~oS/]PQKp3ZXIXb/)iLU|V]Q7gh^e4!fmka3xz[zpgN'); ``` -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 Integration -> 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). +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). :::note @@ -90,7 +95,7 @@ If you define them in your **wp-config.php** file, these file values will take p Once you got required credentials, it's time to connect the plugin to CRM. -Go to your WordPress Admin Area and access the *Integration Dataverse* menu. Switch to the *Connection* tab and choose the authentication method. Then follow these steps: +Go to your WordPress Admin Area and access the *Dataverse* menu. Switch to the *Connection* tab and choose the authentication method. Then follow these steps: `For OAuth 2.0 / Shared Secret authentication method` 1. Enter the *Organization URL* -- for example, `https://contoso.crm.dynamics.com` diff --git a/datapress/knowledge_base/devInfo/_category_.json b/datapress/knowledge_base/devInfo/_category_.json new file mode 100644 index 0000000..9604b76 --- /dev/null +++ b/datapress/knowledge_base/devInfo/_category_.json @@ -0,0 +1,7 @@ +{ + "label": "Developer Resources", + "position": 19, + "link": { + "type": "generated-index" + } +} diff --git a/datapress/knowledge_base/devInfo/bound_users.md b/datapress/knowledge_base/devInfo/bound_users.md new file mode 100644 index 0000000..cb72f7b --- /dev/null +++ b/datapress/knowledge_base/devInfo/bound_users.md @@ -0,0 +1,71 @@ +--- +title: How to display a list of bound users in WordPress +sidebar_position: 17 +slug: /knowledge-base/bound-users +tags: + - Knowledge base + - DataPress +--- + +Here is a description of our metadata for a WordPress user record. + +```php +users} u + INNER JOIN {$wpdb->usermeta} meta_binding ON u.ID = meta_binding.user_id + INNER JOIN {$wpdb->usermeta} meta_lastlogin ON u.ID = meta_lastlogin.user_id + LEFT JOIN {$wpdb->usermeta} meta_disabled ON u.ID = meta_disabled.user_id AND meta_disabled.meta_key = 'icds_disabled' + LEFT JOIN {$wpdb->usermeta} meta_timezone ON u.ID = meta_timezone.user_id AND meta_timezone.meta_key = 'icds_timezone' + LEFT JOIN {$wpdb->usermeta} meta_locale ON u.ID = meta_locale.user_id AND meta_locale.meta_key = 'icds_locale' + WHERE meta_binding.meta_key = 'icds_binding_ref' + AND meta_binding.meta_value IS NOT NULL + AND meta_lastlogin.meta_key = 'icds_last_login' +"; + +$results = $wpdb->get_results($query); + +// Display the results +if (!empty($results)) { + echo "User ID | Username | ICDS Binding Reference (Name) | Last Login | Disabled | Timezone | Locale |
---|---|---|---|---|---|---|
{$user->ID} | "; + echo "{$user->user_login} | "; + echo "{$name} | "; + echo "{$formatted_last_login} | "; + echo "{$disabled} | "; + echo "{$user->icds_timezone} | "; + echo "{$user->icds_locale} | "; + echo "
No users found with non-null icds_binding_ref metadata.
"; +} +?> +``` + +In this example, you can see all currently available metadata. \ No newline at end of file diff --git a/datapress/multilingual.md b/datapress/multilingual.md index c89f10a..f33208d 100644 --- a/datapress/multilingual.md +++ b/datapress/multilingual.md @@ -8,7 +8,7 @@ tags: keywords: [DataPress multilingual] --- -The page describes multilingual support in Dataverse plugin +The page describes multilingual support in the DataPress (Dataverse Integration) plugin ## WPML support diff --git a/datapress/screenshots.md b/datapress/screenshots.md new file mode 100644 index 0000000..1d46f77 --- /dev/null +++ b/datapress/screenshots.md @@ -0,0 +1,8 @@ +--- +title: Screenshots +sidebar_position: 16 +slug: /screenshots +tags: + - DataPress +--- + diff --git a/datapress/twig.md b/datapress/twig.md index 18ae1fd..6eaaa48 100644 --- a/datapress/twig.md +++ b/datapress/twig.md @@ -7,25 +7,29 @@ tags: - DataPress keywords: [DataPress twig] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +:::Use Twig templates to create custom layouts. Access your Dataverse data and metadata in Twig to share your data with your users.
## Introduction -*Dataverse Integration* employs [Twig](https://twig.symfony.com/) to make most data-rich layout jobs effortless. +**DataPress (Dataverse Integration)** employs [Twig](https://twig.symfony.com/) to make most data-rich layout jobs effortless. -On this page you can find information about custom Twig features that Integration Dataverse Integration brings. Please refer to [Twig documentation](https://twig.symfony.com/doc/2.x/templates.html) to learn about its templating capabilities. +On this page you can find information about custom Twig features that Integration DataPress (Dataverse Integration) brings. Please refer to [Twig documentation](https://twig.symfony.com/doc/2.x/templates.html) to learn about its templating capabilities. ## Runtime settings -Twig in Dataverse Integration supports debug mode and template caching. +Twig in DataPress (Dataverse Integration) supports debug mode and template caching. - Debug mode allows using `dump()` to print information about Twig objects using PHP `var_dump()`. It is enabled in [WordPress debug mode](https://wordpress.org/support/article/debugging-in-wordpress/) (`WP_DEBUG`) or if `ICDS_TWIG_DEBUG` is *true*. - Template caching enhances page rendering performance. Enabled if `ICDS_TWIG_CACHE` is *true*. ## Global objects -Dataverse Integration makes several new global objects available in the Twig environment. +DataPress (Dataverse Integration) makes several new global objects available in the Twig environment. ### Access the current bound record @@ -188,7 +192,7 @@ Global object `params` is the alias of `request.params`. ## Filters -Dataverse Integration provides several Dataverse-specific and general purpose Twig filters. +DataPress (Dataverse Integration) provides several Dataverse-specific and general purpose Twig filters. - `formatted_value( attributeName )` -- returns the formatted value of the filtered entity record as reported by Dataverse. Returns the entity record attribute value if no formatted value available. E.g. `record|formatted_value( "preferredappointmenttimecode" )` @@ -238,7 +242,7 @@ Premium feature! ## Templates usage -Dataverse Integration gives you the ability to create reusable templates. To do this, you need to go to the plugin admin area and open the "Templates" tab. +DataPress (Dataverse Integration) gives you the ability to create reusable templates. To do this, you need to go to the plugin admin area and open the "Templates" tab. There you must enter the name of the template and the content of the template. The content could contain all the functions, statements and filters of Twig. diff --git a/datapress/upgrade_notice.md b/datapress/upgrade_notice.md new file mode 100644 index 0000000..343b562 --- /dev/null +++ b/datapress/upgrade_notice.md @@ -0,0 +1,7 @@ +--- +title: Upgrade Notice +sidebar_position: 17 +slug: /upgrade-notice +tags: + - DataPress +--- diff --git a/datapress/views.md b/datapress/views.md index e3608b4..a5a41bd 100644 --- a/datapress/views.md +++ b/datapress/views.md @@ -9,6 +9,11 @@ tags: keywords: [DataPress views] --- +:::note +The plugin previously known as Dataverse Integration has been renamed to DataPress. This change reflects our commitment to enhancing user experience and aligning with our evolving product vision. +All references to Dataverse Integration in the documentation, user interface will be updated to DataPress. +::: +Add views to your WordPress pages to display tabular data from Dataverse and Dynamics 365.
## Introduction @@ -51,7 +56,7 @@ If you have several languages installed in your organization, you can choose the ### Enable data caching -Dataverse Integration plugin always caches the view definition. That includes the underlying FetchXML query and the list of columns. To further boost performance, you can enable caching for the rows displayed in the view. +DataPress (Dataverse Integration) plugin always caches the view definition. That includes the underlying FetchXML query and the list of columns. To further boost performance, you can enable caching for the rows displayed in the view. To cache the data in the view, specify the cache duration in the `cache` parameter. ISO 8601 duration format is accepted as a valid duration value. @@ -65,7 +70,7 @@ To cache the data in the view, specify the cache duration in the `cache` paramet PowerApps and Dynamics 365 views are essentially FetchXML queries. You can parameterize the filter conditions contained in the view to decide which rows to include. -To create filter you should go to Templates -> FetchXML Templates in Dataverse plugin menu. Then you click `create new` button. Save the template name to use it when you create page. +To create filter you should go to Templates -> FetchXML Templates in DataPress (Dataverse Integration) plugin menu. Then you click `create new` button. Save the template name to use it when you create page. We will assume a PowerApps view for an Invoice entity with two filter conditions: for Status Reason and for Customer. The `