Wiki source code of Broadcasting : envoi massif de flux personnalisés
Last modified by Aurelie Bertrand on 2025/06/20 17:13
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | {{ddtoc/}} |
2 | |||
3 | ---- | ||
4 | |||
![]() |
64.1 | 5 | Broadcasting allows the mass export of personalized flows or reports to document servers or email addresses using session variables. Each recipient receives the filtered report (from a [[document builder>>doc:Digdash.user_guide.studio.Create_flow.builders.WebHome]] for example) with only the data relevant to them. |
![]() |
1.1 | 6 | |
![]() |
64.1 | 7 | This export can be scheduled. You can, for example, automatically send the sales indicators for each region to each manager concerned on the 1st of every month. |
![]() |
7.3 | 8 | |
![]() |
64.1 | 9 | In this tutorial, we're going to look at an example of how broadcasting can be configured to send mass customised Flows by email. The content received by the recipients will be filtered according to the country defined for them. |
![]() |
1.1 | 10 | |
![]() |
64.1 | 11 | To do this, we'll first create a cutting flow to define which content will be sent to which recipient. This cutting flow will take the form of a table with a column containing the recipients and one or more columns for filtering the content to be sent. |
![]() |
32.2 | 12 | |
![]() |
64.1 | 13 | We will then customise the flow (chart or {{glossaryReference glossaryId="Glossary" entryId="fabrique de documents"}}document builder{{/glossaryReference}}) to be sent so that we can filter the content sent. |
![]() |
32.2 | 14 | |
![]() |
64.1 | 15 | Finally, we'll configure an email output device dedicated to brodacasting, which we'll assign to the flow to be exported. |
![]() |
32.2 | 16 | |
![]() |
64.1 | 17 | = Requirements = |
![]() |
7.4 | 18 | |
![]() |
64.1 | 19 | You need a licence that includes broadcasting. |
![]() |
7.4 | 20 | |
![]() |
32.2 | 21 | (% class="box infomessage" %) |
22 | ((( | ||
![]() |
64.1 | 23 | (% style="color:#2c3e50" %)The broadcasting licence is not required for user customisation only (Live security, for example). |
![]() |
32.2 | 24 | ))) |
![]() |
1.1 | 25 | |
![]() |
64.1 | 26 | = Step 1: Create a cutting flow = |
![]() |
1.1 | 27 | |
![]() |
32.2 | 28 | (% class="box infomessage" %) |
29 | ((( | ||
![]() |
64.1 | 30 | (% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)💡 (% style="color:#2c3e50; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)It is recommended to place the cutting flow in the same role as the flow to be exported. |
![]() |
32.2 | 31 | ))) |
![]() |
2.1 | 32 | |
![]() |
64.1 | 33 | As mentioned above, the cutting flow takes the form of a table with a column containing the recipients and one or more columns for filtering the content to be sent. You therefore need a data model containing this information. You can consult the [[Table>>doc:Digdash.user_guide.studio.Create_flow.Flow_types_and_configuration.Flow_type_table.Table.WebHome]] page for more details on creating a table. |
![]() |
32.2 | 34 | |
![]() |
64.1 | 35 | The name of the columns will be used as the session variable and(% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)the values contained in the column will be used as the values for the session variable. |
![]() |
32.2 | 36 | |
![]() |
64.1 | 37 | (% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)In our example, we have a list of recipients with an associated country for each. |
38 | [[image:Cutting_flow_EN.png]] | ||
![]() |
32.2 | 39 | |
![]() |
64.1 | 40 | (% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)Thus : |
![]() |
32.2 | 41 | |
![]() |
64.1 | 42 | * [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" style="-webkit-text-decoration-skip:none; color:#1155cc; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration-skip-ink:none; text-decoration:underline; white-space:pre-wrap" %)__destinataire1@mail.com__>>path:mailto:destinataire1@mail.com||style="text-decoration:none"]](% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %) will receive the flow with the value France on the country filter |
43 | * [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" style="-webkit-text-decoration-skip:none; color:#1155cc; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration-skip-ink:none; text-decoration:underline; white-space:pre-wrap" %)__destinataire2@mail.com__>>path:mailto:destinataire1@mail.com||style="text-decoration:none"]](% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %) will receive the flow with the value Canada on the country filter | ||
44 | * [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" style="-webkit-text-decoration-skip:none; color:#1155cc; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration-skip-ink:none; text-decoration:underline; white-space:pre-wrap" %)__destinataire3@mail.com__>>path:mailto:destinataire1@mail.com||style="text-decoration:none"]](% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %) will receive the flow with the value United Kingdom on the country filter | ||
45 | * [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" style="-webkit-text-decoration-skip:none; color:#1155cc; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration-skip-ink:none; text-decoration:underline; white-space:pre-wrap" %)__destinataire4@mail.com__>>path:mailto:destinataire1@mail.com||style="text-decoration:none"]](% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %) will receive the flow with the value United States on the country filter | ||
![]() |
1.1 | 46 | |
![]() |
64.1 | 47 | = Step 2: Personalize the flow to be sent = |
![]() |
2.1 | 48 | |
![]() |
64.1 | 49 | Here we assume that we already have the flow to be sent. (% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)The flow used could be a {{glossaryReference glossaryId="Glossary" entryId="fabrique de documents"}}document builder{{/glossaryReference}} in order to obtain an advanced report.(%%) |
50 | See the page [[Create a Flow>>doc:Digdash.user_guide.studio.Create_flow.WebHome]] page for more details. | ||
![]() |
1.1 | 51 | |
![]() |
64.1 | 52 | (% style="color:#333333; font-family:Arial; font-size:10.5pt; font-style:normal; font-variant:normal; font-weight:400; text-decoration:none; white-space:pre-wrap" %)The flow or cube (used by the flow) must be personalized with the session variable based on the name of the column used to filter the content. In our example, we will use the session variable //${session.country}//. |
![]() |
1.1 | 53 | |
![]() |
64.1 | 54 | (% style="font-family:Arial; white-space-collapse:preserve" %)To do this, open the flow in the Studio and add a filter rule on the dimension. |
55 | Here, we create a filter rule on the //"country"// dimension //: | ||
56 | [[image:Filter_rule_EN.png||alt="Filter rule"]]// | ||
![]() |
4.1 | 57 | |
![]() |
64.1 | 58 | See the page [[Define axes>>doc:Digdash.user_guide.studio.Create_flow.Configure_flow.Flow_columns.WebHome]] and [[Create a filter>>doc:Digdash.user_guide.studio.Create_datamodel.configure_data_model.Configure_columns.Create_hierarchy.Create_set.WebHome||anchor="Create_filter"]] to find out more about filters. |
![]() |
34.2 | 59 | |
![]() |
64.1 | 60 | You can also personalize the description of the flow or cube, or the name of the exports. |
![]() |
34.2 | 61 | |
![]() |
64.1 | 62 | = Step 3: (% style="color:inherit; font-family:inherit; font-size:29px" %)Create an output device(%%) = |
![]() |
4.1 | 63 | |
![]() |
64.1 | 64 | To enable emails to be sent, you then need to configure an email output device dedicated to this broadcast. To do this |
![]() |
7.2 | 65 | |
![]() |
64.1 | 66 | 1. Create a new Mail Device in the Studio **Device Manager**. Go to the [[Device Manager >>doc:Digdash.user_guide.studio.managers.devices.WebHome]]page for more details. |
67 | 1. In the **Properties** tab, enter the **Device name**. | ||
68 | 1. In the **Synchronization** tab, configure the email server by specifying the session variable based on the recipients column in the cutting flow as the recipient. In our example, we will therefore use //${session.recipient}//. | ||
69 | [[image:Mail_device_EN.png||alt="Mail device" height="617" width="622"]] | ||
70 | 1. In the **Mail body and attachment **tab **, **you can customize the body of the email. | ||
71 | 1. In the **Broadcasting** tab, select the cutting flow: type the first few letters of the flow in the **Cutting flow **field and select the table created in step 1. | ||
72 | [[image:Device_broadcasting_EN.png||alt="Broadcasting" height="256" width="569"]] | ||
![]() |
9.2 | 73 | |
![]() |
64.1 | 74 | = Step 4: Assign the output device to the flow to be exported = |
![]() |
9.2 | 75 | |
![]() |
64.1 | 76 | In the list of flows in the Studio, select the flow to be sent to the recipients, then in the **Output devices **tab of the right-hand panel**,** assign the Broadcast output device by ticking the corresponding box. |
![]() |
9.2 | 77 | |
![]() |
37.1 | 78 | (% class="box infomessage" %) |
79 | ((( | ||
![]() |
64.1 | 80 | It is recommended that you assign only this output device (in addition to the Dashboard) to the report. Any other output devices assigned to the report will be ignored when the report is synchronised. |
![]() |
37.1 | 81 | ))) |
![]() |
9.2 | 82 | |
![]() |
64.1 | 83 | [[image:Output_devices_FR.png||alt="Output device"]] |
![]() |
37.1 | 84 | |
![]() |
64.1 | 85 | = Step 5: Execute the broadcast = |
![]() |
9.2 | 86 | |
![]() |
64.1 | 87 | The broadcast can be run on a scheduled basis. To do this, define a refresh schedule for the flow to be sent: based on schedule, on event, etc. The broadcast will be executed according to this. |
88 | For more information on programming, see the page [[Schedules>>doc:Digdash.user_guide.studio.Schedule_refresh.WebHome]]. | ||
![]() |
9.2 | 89 | |
![]() |
64.1 | 90 | You can also run the broadcast manually: right-click on the flow to be exported in the list of Studio flows and then, in the menu, click on **Synchronize**. |
![]() |
9.2 | 91 | |
![]() |
22.1 | 92 | (% class="box infomessage" %) |
93 | ((( | ||
![]() |
64.1 | 94 | The former [[broadcast execution page>>doc:.Page de broadcast.WebHome]] remains accessible from the Studio. |
![]() |
22.1 | 95 | ))) |