1
0
Fork 0
mirror of https://github.com/MatomoCamp/recording-subtitles.git synced 2024-09-19 16:03:52 +02:00
recording-subtitles/2021/Metabase/output.srt
Lukas Winkler 9f4c32d3a4
add a lot more subtitles
Thanks to OpenAI whisper and @simon-ast
2022-10-26 18:15:02 +02:00

1508 lines
36 KiB
Text

1
00:00:00,000 --> 00:00:09,800
Welcome in this session of MatomoCamp.
2
00:00:09,800 --> 00:00:19,240
Hey everyone, we are welcoming Dinamo today, who is a recently graduated computer scientist
3
00:00:19,240 --> 00:00:23,840
working as a developer and business analyst at open source politics.
4
00:00:23,840 --> 00:00:30,280
Today he will tell us more about his integration of Matomo and Metabase.
5
00:00:30,280 --> 00:00:34,960
Welcome Dinamo and looking forward to your talk.
6
00:00:34,960 --> 00:00:38,640
Thanks Sylvia, sorry.
7
00:00:38,640 --> 00:00:40,800
So good morning everyone.
8
00:00:40,800 --> 00:00:48,400
So I'll briefly talk about Metamo and another software we are using currently, which are
9
00:00:48,400 --> 00:00:51,040
Metabase, which is a business analytics tool.
10
00:00:51,040 --> 00:00:56,120
I will introduce further in my presentation.
11
00:00:56,120 --> 00:01:02,360
And basically the purpose of this presentation is to show you how we can improve visualizations
12
00:01:02,360 --> 00:01:04,840
coming from Matomo.
13
00:01:04,840 --> 00:01:07,040
So let's get started.
14
00:01:07,040 --> 00:01:15,920
I first introduce many topics, among them who we are at my company, so open source politics.
15
00:01:15,920 --> 00:01:22,320
The presentation of also the Metabase software, I'll do it shortly.
16
00:01:22,320 --> 00:01:28,240
And in second time, I go through the work we have done on Metabase and the link between
17
00:01:28,240 --> 00:01:31,600
Metabase and Metamo we have done.
18
00:01:31,600 --> 00:01:38,400
And finally, I'll give some insights about what can be improved, what are the next developments
19
00:01:38,400 --> 00:01:45,280
of what we have done, and answers to your questions if you have them.
20
00:01:45,280 --> 00:01:48,680
So let's go first by introducing who we are.
21
00:01:48,680 --> 00:01:54,480
So I'm currently working at a small company called Open Source Politics.
22
00:01:54,480 --> 00:01:59,140
We are part of an ecosystem called the Civic Tech companies.
23
00:01:59,140 --> 00:02:05,760
So basically, Civic Techs are companies that want to bridge the gap between democracy and
24
00:02:05,760 --> 00:02:07,760
digital tools.
25
00:02:07,760 --> 00:02:11,000
So for that, we are working around software called Decidim.
26
00:02:11,000 --> 00:02:14,200
I will present it shortly after.
27
00:02:14,200 --> 00:02:20,280
And as the name of our company suggested, we're aiming at working fully on open source
28
00:02:20,280 --> 00:02:24,920
software, which brought us to Matomo.
29
00:02:24,920 --> 00:02:32,120
So let's get started with the first demonstration of the software we are using.
30
00:02:32,120 --> 00:02:34,900
So here we are.
31
00:02:34,900 --> 00:02:42,100
So Decidim was a software created in 2015 by the City Council of Barcelona.
32
00:02:42,100 --> 00:02:49,480
And as I said, the purpose of that type of software is to bridge the gap between citizen
33
00:02:49,480 --> 00:02:57,480
asking for more democracy, for more possibility to take part in the decision making.
34
00:02:57,480 --> 00:03:05,120
And the fact that currently we are more and more in a digital era, with everybody having
35
00:03:05,120 --> 00:03:07,080
a smartphone on them.
36
00:03:07,080 --> 00:03:11,280
So there is new ways of participation.
37
00:03:11,280 --> 00:03:19,080
It can give new ways of new possibilities for citizens to take part in the democratic
38
00:03:19,080 --> 00:03:27,280
life, not only for elections, they want to take part as more, just not for elections.
39
00:03:27,280 --> 00:03:34,900
So to give you some examples of implementations of Decidim, there is obviously the City Council
40
00:03:34,900 --> 00:03:41,560
of Barcelona, but I will give some instance we have made at Open Source Politics.
41
00:03:41,560 --> 00:03:48,740
So this first platform you see here is Decidim we installed one and a half year ago at New
42
00:03:48,740 --> 00:03:50,280
York City.
43
00:03:50,280 --> 00:03:58,240
So it's not a platform aimed for the whole city of New York, but more for a small district,
44
00:03:58,240 --> 00:04:03,440
for a school on which they wanted to organize their participatory budget.
45
00:04:03,440 --> 00:04:06,800
So basically, they have an amount of money.
46
00:04:06,800 --> 00:04:11,560
And with that amount of money, they make proposals about what we can do with that money.
47
00:04:11,560 --> 00:04:17,640
So creating new spaces, buying some stuff, so on and so forth.
48
00:04:17,640 --> 00:04:23,520
And the second step is to analyze if these proposals respect the criteria and finally
49
00:04:23,520 --> 00:04:27,600
implement them according to the rules.
50
00:04:27,600 --> 00:04:35,600
Another example, a bigger one is the city of Angers in France, which is about 100,000
51
00:04:35,600 --> 00:04:37,080
inhabitants.
52
00:04:37,080 --> 00:04:43,320
And since four years, they are organizing also their participatory budgets.
53
00:04:43,320 --> 00:04:51,680
So again, a certain amount of money organized every year, so I said it, and people are making
54
00:04:51,680 --> 00:04:56,380
proposals about urbanistic culture, so on and so forth.
55
00:04:56,380 --> 00:05:00,480
So here you see the one made in 2021.
56
00:05:00,480 --> 00:05:07,080
And right now, we are in the final steps of releasing the results of that participatory
57
00:05:07,080 --> 00:05:08,480
budget.
58
00:05:08,480 --> 00:05:14,560
And as I said, so we at Open Source Politics are implementing those platforms, and we wanted
59
00:05:14,560 --> 00:05:18,800
to work from the beginning with open source software.
60
00:05:18,800 --> 00:05:25,600
So if you go on any of our platform, you can see the famous Matomo snippet code here.
61
00:05:25,600 --> 00:05:34,860
And we have currently about 100 instances of Decidim using Matomo.
62
00:05:34,860 --> 00:05:39,680
So that is for Decidim.
63
00:05:39,680 --> 00:05:44,600
And you might say right now, what is the link with Metabase?
64
00:05:44,600 --> 00:05:50,820
We had that problem that we have many different data sources.
65
00:05:50,820 --> 00:05:56,760
We had data from Decidim, so basically, proposals.
66
00:05:56,760 --> 00:06:03,300
What are the main topics which are talked about?
67
00:06:03,300 --> 00:06:06,400
Are people commenting about, is there a lot of proposals?
68
00:06:06,400 --> 00:06:09,160
Is there a lot of people registered on the platform?
69
00:06:09,160 --> 00:06:14,760
It's helping, and therefore, city councils, but also organizations or companies that are
70
00:06:14,760 --> 00:06:20,160
implementing Decidim to know if the participation is going well.
71
00:06:20,160 --> 00:06:25,400
Then we had that other tool from the beginning, which is Matomo, which tracked more roughly
72
00:06:25,400 --> 00:06:33,680
the number of visitors, what are the pages which are visited, who are the visitors coming
73
00:06:33,680 --> 00:06:36,760
from, so on and so forth.
74
00:06:36,760 --> 00:06:44,600
And we had no centralizing tool to brought all those data at the same place.
75
00:06:44,600 --> 00:06:51,480
And to also offer like an overview without having to go to Decidim, then having to go
76
00:06:51,480 --> 00:06:58,200
to Matomo, then having to go for like the mailing platform to see all those, we have
77
00:06:58,200 --> 00:07:01,760
all those data, but are separated.
78
00:07:01,760 --> 00:07:04,200
And here came Metabase.
79
00:07:04,200 --> 00:07:10,780
So Metabase is basically to power BI and tableau what Matomo is for Google Analytics.
80
00:07:10,780 --> 00:07:17,100
So it's one of the main open source alternative to make business analytics.
81
00:07:17,100 --> 00:07:25,520
So centralizing all your database in a single place and offer really talkative visualizations
82
00:07:25,520 --> 00:07:34,540
that are simple, efficient to communicate for city councils or organizations.
83
00:07:34,540 --> 00:07:42,760
So after describing it, I will just show it because it's again easier.
84
00:07:42,760 --> 00:07:49,120
So here you have the main page of Metabase, and I'll show you what the work we have done
85
00:07:49,120 --> 00:07:56,000
for a platform called the Agence Nationale Pour la Coalition des Territoires, or shortly
86
00:07:56,000 --> 00:07:57,800
ANCT.
87
00:07:57,800 --> 00:08:00,440
So here you have the Decidim instance.
88
00:08:00,440 --> 00:08:04,920
You have, again, the Matomo snippet we put it here.
89
00:08:04,920 --> 00:08:13,960
And on this Metabase instance, we had different dashboards, which are summing up data from
90
00:08:13,960 --> 00:08:16,640
that platform, but also from Matomo.
91
00:08:16,640 --> 00:08:19,920
So here you have data from Matomo.
92
00:08:19,920 --> 00:08:28,320
So basically number of visits, average time spent on the platform, referrals, what were
93
00:08:28,320 --> 00:08:31,160
the pages who were viewed.
94
00:08:31,160 --> 00:08:34,880
And on the same page below, you have data coming from Decidim.
95
00:08:34,880 --> 00:08:41,800
So the number of users, number of proposals who were made, number of people who were subscribed,
96
00:08:41,800 --> 00:08:44,180
what are the main topics discussed here.
97
00:08:44,180 --> 00:08:47,640
So you have culture, sports, so on and so forth.
98
00:08:47,640 --> 00:08:52,680
And the main proposals who are the most voted.
99
00:08:52,680 --> 00:08:58,960
So as you see, centralizing all data in the same places, and offer really talkative and
100
00:08:58,960 --> 00:09:07,460
easy visualizations to communicate.
101
00:09:07,460 --> 00:09:14,400
So viewing the results like that seems really easy, but obviously it's not.
102
00:09:14,400 --> 00:09:19,960
And I will right now present the work we have done around those two softwares to bring them
103
00:09:19,960 --> 00:09:22,400
back together.
104
00:09:22,400 --> 00:09:31,240
So first, what must be known is that Metabase is really easy to use to add new databases.
105
00:09:31,240 --> 00:09:35,120
I'll share my screen again.
106
00:09:35,120 --> 00:09:42,360
Here you have the admin dashboard, the admin board, sorry, to add new databases to your
107
00:09:42,360 --> 00:09:43,360
Metabase instance.
108
00:09:43,360 --> 00:09:46,200
And as you see, you have here what we call drivers.
109
00:09:46,200 --> 00:09:54,060
So basically endpoint, which helps you to easily add new database sources.
110
00:09:54,060 --> 00:09:59,720
So you have the one like everybody knows, MySQL, Postgres, SQLite.
111
00:09:59,720 --> 00:10:04,400
And there is also a Google Analytics driver, but as you see, there is not a Matomo driver,
112
00:10:04,400 --> 00:10:06,440
not yet.
113
00:10:06,440 --> 00:10:09,800
And that was the first job to do.
114
00:10:09,800 --> 00:10:15,520
The job was to bring, because there is no drivers for Matomo in Metabase, you had to
115
00:10:15,520 --> 00:10:22,640
bring back those data to Metabase in any sort of database, which is accepted by Metabase.
116
00:10:22,640 --> 00:10:26,920
So SQLite, Postgres, MySQL, so on and so forth.
117
00:10:26,920 --> 00:10:35,000
The second problem, which I met as a newbie in Matomo, is that the MySQL database is not
118
00:10:35,000 --> 00:10:37,120
so user friendly.
119
00:10:37,120 --> 00:10:43,480
Like if you're a data analyst and you go through the Matomo databases, so it's databases which
120
00:10:43,480 --> 00:10:48,120
is summing up all websites which are tracked.
121
00:10:48,120 --> 00:10:56,640
So if you want to isolate one website, isolate those referrals, it's not so easy.
122
00:10:56,640 --> 00:11:01,960
But there is something which is really great, which is the API of Matomo.
123
00:11:01,960 --> 00:11:14,400
If you go through the API for the one who knows, I'll just go on the instance of Matomo
124
00:11:14,400 --> 00:11:21,200
for the government, the one of which we gathered data from ANCT.
125
00:11:21,200 --> 00:11:25,160
So here we are.
126
00:11:25,160 --> 00:11:27,040
So that is talkative.
127
00:11:27,040 --> 00:11:32,080
That is really interesting because without knowing anything of the Matomo database, I
128
00:11:32,080 --> 00:11:37,160
can see the number of visits, the referrals here.
129
00:11:37,160 --> 00:11:44,040
And in one click, I can see what is the API endpoint to get those data.
130
00:11:44,040 --> 00:11:49,240
So that was the path we have chosen at Open Source Politics is that we didn't have the
131
00:11:49,240 --> 00:11:54,720
skills to develop specific Matomo drivers.
132
00:11:54,720 --> 00:11:58,740
But we had to do this API which is really well built.
133
00:11:58,740 --> 00:12:06,740
So we started with this API endpoint, and we finished with that scheme of data.
134
00:12:06,740 --> 00:12:13,400
So we have the Matomo instance, we have our Metabase instance, and we have created a small
135
00:12:13,400 --> 00:12:21,440
script, not so small right now, called Matomo pool, which is, as its name suggests, something
136
00:12:21,440 --> 00:12:26,680
which will pull the data from Matomo and bring them back to an external database.
137
00:12:26,680 --> 00:12:32,720
In our case, it was Postgres, but you can imagine all type of database.
138
00:12:32,720 --> 00:12:39,720
So you use the API endpoint, you pool the data you want, you put them back in the Postgres
139
00:12:39,720 --> 00:12:40,720
databases.
140
00:12:40,720 --> 00:12:46,880
And as we have shown previously, you can, with Metabase, add a Postgres database.
141
00:12:46,880 --> 00:12:52,800
So easy peasy, as we said.
142
00:12:52,800 --> 00:13:00,240
So let's get started with that script.
143
00:13:00,240 --> 00:13:08,280
So here it is, I'll make it bigger.
144
00:13:08,280 --> 00:13:16,400
So here you have the main architecture of this program I won't go through because it's
145
00:13:16,400 --> 00:13:24,240
not the purpose of the presentation, but basically we created it as a container, so it can be
146
00:13:24,240 --> 00:13:29,400
instantiated on whatever web host or you want.
147
00:13:29,400 --> 00:13:35,200
And you just have to put here the necessary parameters you need.
148
00:13:35,200 --> 00:13:43,760
So the base URL of your Matomo instance, the DB name of it, the ID site provided by Matomo,
149
00:13:43,760 --> 00:13:47,620
the starting and ending date of the data you want.
150
00:13:47,620 --> 00:13:56,880
And finally, really important, the authentication token provided by Matomo again to recover
151
00:13:56,880 --> 00:13:58,240
the data.
152
00:13:58,240 --> 00:14:00,640
So here I go.
153
00:14:00,640 --> 00:14:12,600
And if I want to ping and get my data, it will gather following different API endpoints,
154
00:14:12,600 --> 00:14:15,640
all data's coming from that instance.
155
00:14:15,640 --> 00:14:19,880
So here the magic is a bit hidden so I can go through.
156
00:14:19,880 --> 00:14:27,080
Here is the config.yaml file on which you see really the fact that we are basing this,
157
00:14:27,080 --> 00:14:32,640
we were based on the API of Matomo.
158
00:14:32,640 --> 00:14:40,800
So here you see some parameters given in the URL, which will be used in the URL.
159
00:14:40,800 --> 00:14:48,120
If you go back to what I previously showed, it's basically what we have here.
160
00:14:48,120 --> 00:14:53,640
So the parameters you have here are exactly the same as here.
161
00:14:53,640 --> 00:14:57,200
And we are adding again, so it's really plug and play.
162
00:14:57,200 --> 00:15:04,160
You can add a new one if you want or delete a new one following your needs.
163
00:15:04,160 --> 00:15:11,960
And finally, when the script is over, you'll have all your data put in a Postgres databases.
164
00:15:11,960 --> 00:15:15,760
So that's for the Matomobu script.
165
00:15:15,760 --> 00:15:22,800
So if you want to participate on it and see it, I put the link on the presentation and
166
00:15:22,800 --> 00:15:33,220
it's completely available and freely forkable of whatever you want on our main page.
167
00:15:33,220 --> 00:15:38,280
So that's for Matomobu.
168
00:15:38,280 --> 00:15:44,800
And I previously shown that thanks to it, we had those visualizations both of DCDM and
169
00:15:44,800 --> 00:15:51,960
Matomo at the same place, which is the purpose of our work.
170
00:15:51,960 --> 00:15:57,940
It was faster than I imagined, so I hope you have a lot of questions.
171
00:15:57,940 --> 00:16:06,940
Through that work, we had a lot of questions which arose and I will go through them.
172
00:16:06,940 --> 00:16:09,920
The first one was about GDPR compliance.
173
00:16:09,920 --> 00:16:20,880
So as you know, Matomo is really ahead in this topic about respecting GDPR by design,
174
00:16:20,880 --> 00:16:24,240
privacy by design.
175
00:16:24,240 --> 00:16:34,440
But the problem created by this script, so Matomobu, and this dataflux is that you have
176
00:16:34,440 --> 00:16:36,160
to make it safe.
177
00:16:36,160 --> 00:16:41,960
So basically, the use of an external container, this Matomobu container, must be safe.
178
00:16:41,960 --> 00:16:50,720
You have to use, in our case, it was a GSM token used to really restrict the access to
179
00:16:50,720 --> 00:16:57,920
that container to people having a special key pass, passphrase, sorry.
180
00:16:57,920 --> 00:17:03,480
There is also the fact that we have maybe more endpoints, which are great right now
181
00:17:03,480 --> 00:17:05,320
and not available.
182
00:17:05,320 --> 00:17:12,440
So I heard that in the new version of Matomo, there is the new endpoints were created.
183
00:17:12,440 --> 00:17:22,320
So we had to improve this Matomobu script to take these endpoints into the script.
184
00:17:22,320 --> 00:17:29,440
And finally, what would be the best is that without using that script, which needs to
185
00:17:29,440 --> 00:17:36,920
be a bit of, to know a bit about development and having, using bash things and so on and
186
00:17:36,920 --> 00:17:42,960
so forth, handling databases, external databases, it would be, the best would be to know how
187
00:17:42,960 --> 00:17:48,800
to code enclosure, which is the language of Metabase, and to code enclosure.
188
00:17:48,800 --> 00:17:57,880
The Matomo driver as the Google Analytics driver is currently coded for Metabase.
189
00:17:57,880 --> 00:18:06,520
So right now, if I share again my screen, I'll go, so, okay, so I think it's over.
190
00:18:06,520 --> 00:18:15,440
I have my Postgres databases and I can, so it's the database way ANCT.
191
00:18:15,440 --> 00:18:24,960
So and I can dump it and recreate it on whatever Postgres remote database I have.
192
00:18:24,960 --> 00:18:30,360
So that was again for the demonstration.
193
00:18:30,360 --> 00:18:32,700
I was really fast, faster than I thought.
194
00:18:32,700 --> 00:18:42,440
So if there is any questions or details I can show, I will gladly answer them.
195
00:18:42,440 --> 00:18:49,240
Okay, I just saw them.
196
00:18:49,240 --> 00:18:53,040
So question from Ronald, have you analyzed how they developed the connector from Google
197
00:18:53,040 --> 00:18:55,040
Analytics at Metabase?
198
00:18:55,040 --> 00:19:02,080
Yes, no, to be honest, I didn't take a look at it.
199
00:19:02,080 --> 00:19:08,160
The problem is that the Google Analytics way of handling data is completely different from
200
00:19:08,160 --> 00:19:10,120
the Matomo one.
201
00:19:10,120 --> 00:19:17,840
To give an example, to request any database from Postgres to MySQL to SQLite, you have
202
00:19:17,840 --> 00:19:22,640
a standard, which is the structured query language, SQL language.
203
00:19:22,640 --> 00:19:27,640
And for Google Analytics, it's a JSON way of making requests.
204
00:19:27,640 --> 00:19:33,360
So it's completely different and therefore I don't think it's applicable to Google Analytics.
205
00:19:33,360 --> 00:19:43,960
Furthermore, there is, I tried to use that connector to Metabase, so using, sorry, to
206
00:19:43,960 --> 00:19:53,440
use, to bring back, to use that Google Analytics driver and the authentications, the parameters
207
00:19:53,440 --> 00:19:58,640
needed for Google Analytics are completely different from the Matomo.
208
00:19:58,640 --> 00:20:04,440
For Matomo, I think you only need basically the ID site, the authentication token, and
209
00:20:04,440 --> 00:20:05,440
that's over.
210
00:20:05,440 --> 00:20:09,680
So I think it would be easier to develop that driver.
211
00:20:09,680 --> 00:20:15,480
I do not code it, but in the future it would be really awesome.
212
00:20:15,480 --> 00:20:23,680
I think it's easier, and it's something we can do in the, like, middle or long term at
213
00:20:23,680 --> 00:20:27,400
Open Source Politics.
214
00:20:27,400 --> 00:20:29,600
I'll take the next one.
215
00:20:29,600 --> 00:20:35,960
What are the new features that Metabase developed over the last six months and or any new coming
216
00:20:35,960 --> 00:20:39,800
nice features which would make the integration of Matomo easier?
217
00:20:39,800 --> 00:20:43,840
So making the integration of Matomo easier, I said it.
218
00:20:43,840 --> 00:20:46,720
It's coding a Matomo driver.
219
00:20:46,720 --> 00:20:53,200
If you have the authentication token and the ID site, I think it's really 30 seconds to
220
00:20:53,200 --> 00:20:55,520
do it.
221
00:20:55,520 --> 00:21:01,080
And new features that Metabase developed over the last six months, they are really great.
222
00:21:01,080 --> 00:21:02,080
I'll go through.
223
00:21:02,080 --> 00:21:08,840
I went really short on the possibilities of Metabase, but you have the possibility to
224
00:21:08,840 --> 00:21:21,400
send by mail all that, sorry, it's the possibility to send the entire dashboard by mail.
225
00:21:21,400 --> 00:21:23,960
So here I am.
226
00:21:23,960 --> 00:21:36,400
So if I click on subscription, I'll go through, there it is, and you can send to whatever
227
00:21:36,400 --> 00:21:37,400
mail you want.
228
00:21:37,400 --> 00:21:45,440
So if I put my personal mail as instance, and I can also join the results.
229
00:21:45,440 --> 00:21:53,920
So here you have the visual results, but you can also can join the CSV sheets of it.
230
00:21:53,920 --> 00:21:56,440
You can send it by mail.
231
00:21:56,440 --> 00:22:03,280
There is also a good nice features about protecting the data, like you can create groups which
232
00:22:03,280 --> 00:22:08,680
are restrained to that type of data or that dashboard.
233
00:22:08,680 --> 00:22:10,480
There is also visualizations.
234
00:22:10,480 --> 00:22:26,400
If I go to asking a question, if I go to that database, I just go and select all users.
235
00:22:26,400 --> 00:22:29,680
That's to show you.
236
00:22:29,680 --> 00:22:35,400
So here they are just showing them as basically a table, but here you have all different visualizations
237
00:22:35,400 --> 00:22:37,520
as they are adding more and more.
238
00:22:37,520 --> 00:22:41,520
So you have lines, pie charts, cloud points.
239
00:22:41,520 --> 00:22:53,120
If I can show you, we recently have done something for the National French Assembly, and you
240
00:22:53,120 --> 00:22:58,680
also have maps of you can add.
241
00:22:58,680 --> 00:23:02,440
So here it is.
242
00:23:02,440 --> 00:23:07,920
It's taking up to load because there is quite a number of results to analyze, but there
243
00:23:07,920 --> 00:23:08,920
is maps.
244
00:23:08,920 --> 00:23:12,400
There are, yes, new visualizations every release.
245
00:23:12,400 --> 00:23:13,760
It's really an active software.
246
00:23:13,760 --> 00:23:21,280
So here you have, so basically we, that our data coming from the CDEM, but I'm really
247
00:23:21,280 --> 00:23:26,800
sure we can do the same for data coming from Matomo.
248
00:23:26,800 --> 00:23:32,160
If you want to have more information about the rune map, there is like a release every
249
00:23:32,160 --> 00:23:34,680
two months of Metabase.
250
00:23:34,680 --> 00:23:42,360
You can go, I will put the link on the chat.
251
00:23:42,360 --> 00:23:43,360
Next question.
252
00:23:43,360 --> 00:23:48,480
How much work in terms of time would you estimate for the creation of a driver potentially cost
253
00:23:48,480 --> 00:23:51,000
if it was you coding it?
254
00:23:51,000 --> 00:23:55,600
So if it was me coding it, I think it would be a lot of money because I don't know how
255
00:23:55,600 --> 00:23:56,800
to code in Clojure.
256
00:23:56,800 --> 00:24:02,040
So I said it, but maybe some people don't know what it is.
257
00:24:02,040 --> 00:24:10,300
So Clojure is a programming language, which is a derivative of Lisp and which is running
258
00:24:10,300 --> 00:24:12,520
on the Java virtual machine.
259
00:24:12,520 --> 00:24:17,360
I won't go through details, but it's really an interesting language.
260
00:24:17,360 --> 00:24:27,560
I didn't looked well on it and I'm not really a fan of it.
261
00:24:27,560 --> 00:24:34,740
I didn't have the time because my language was Python, so I went with Python.
262
00:24:34,740 --> 00:24:36,760
I do not think it would be too difficult.
263
00:24:36,760 --> 00:24:42,360
As I said previously, the Matomo analytics driver seems really more difficult to code
264
00:24:42,360 --> 00:24:44,360
than the Matomo one.
265
00:24:44,360 --> 00:24:49,600
So to answer your question, no, I don't know how much it will cost, but I think it's really
266
00:24:49,600 --> 00:24:55,400
feasible if you find the right person in the Metabase community, which is a strong community,
267
00:24:55,400 --> 00:25:01,520
as strong as the Matomo one, I think, because there is a new release every two months.
268
00:25:01,520 --> 00:25:08,600
So I think it would be really feasible compared to other drivers who are currently developed.
269
00:25:08,600 --> 00:25:15,120
Hi, how happy is your client is about Matomo within Metabase?
270
00:25:15,120 --> 00:25:18,120
Really good question.
271
00:25:18,120 --> 00:25:25,720
Basically, Metabase is not made for viewing everything you can see on Matomo.
272
00:25:25,720 --> 00:25:30,720
The real first purpose is to have different data sources on the same place.
273
00:25:30,720 --> 00:25:35,840
So if you want all data provided by Matomo, go on Matomo.
274
00:25:35,840 --> 00:25:45,560
But if your client, like ours, is not really interested in viewing every day or every week,
275
00:25:45,560 --> 00:25:51,400
how is going the participation, how is going the frequentation of the website?
276
00:25:51,400 --> 00:25:57,800
I think Metabase is a great deal because you put it, the visualizations are really well
277
00:25:57,800 --> 00:25:58,800
built.
278
00:25:58,800 --> 00:26:05,360
I think they are more efficient, they are more talkative than the one provided by Matomo.
279
00:26:05,360 --> 00:26:11,440
Even if the one of Matomo are great, I'm not here to have enemies.
280
00:26:11,440 --> 00:26:15,880
But it's really efficient if you have other data coming from other data sources.
281
00:26:15,880 --> 00:26:20,040
If you do not have them, I do not think it's worth the risk.
282
00:26:20,040 --> 00:26:24,560
But for us, it was really a great deal.
283
00:26:24,560 --> 00:26:29,560
So I said 100 instances of Decidim on which we have Matomo.
284
00:26:29,560 --> 00:26:36,640
And right now, there is like a dozen of them, which are mainly new customers, which are
285
00:26:36,640 --> 00:26:44,600
really happy having that centralization of data in the same place.
286
00:26:44,600 --> 00:26:47,560
So I'll go through next question.
287
00:26:47,560 --> 00:26:52,680
Have you also imported some visitors log raw data from Matomo into Metabase or are you
288
00:26:52,680 --> 00:26:55,880
just working with aggregated data?
289
00:26:55,880 --> 00:26:59,320
Yes, we are just working with aggregated data.
290
00:26:59,320 --> 00:27:03,200
As I said, I'm quite a newbie in Matomo.
291
00:27:03,200 --> 00:27:07,280
I didn't know how basically the database is built.
292
00:27:07,280 --> 00:27:13,720
And when I tried to import the MySQL database of Matomo inside Metabase, really, I didn't
293
00:27:13,720 --> 00:27:17,920
found anything, whereas with the API, it was really straightforward.
294
00:27:17,920 --> 00:27:24,840
You had, you just had to provide the ID site and you had a table of visits and endpoints
295
00:27:24,840 --> 00:27:30,760
for referrals and endpoints for pages and endpoints for everything, so on and so forth.
296
00:27:30,760 --> 00:27:38,760
And it was really more easy to implement that script, Matomo pool, with the API.
297
00:27:38,760 --> 00:27:42,720
But I'm really open to like new ways of implementing it.
298
00:27:42,720 --> 00:27:48,080
I think, for example, if we had to code the Matomo driver, it would be more like efficient
299
00:27:48,080 --> 00:27:53,940
to start again from the MySQL database and then recreate the aggregated data.
300
00:27:53,940 --> 00:27:59,600
Because for data analysts who do not have the time to discover all the data scheme of
301
00:27:59,600 --> 00:28:06,680
Matomo, it would be really easier to go through, to start from the API.
302
00:28:06,680 --> 00:28:13,920
If I, to illustrate it, if I go here and I start with the Matomo database of ANCT, as
303
00:28:13,920 --> 00:28:15,960
you see, it's really straightforward.
304
00:28:15,960 --> 00:28:21,000
You have a table for every type and you have to imagine that every table you have here
305
00:28:21,000 --> 00:28:30,240
is basically a visualization or an API endpoint available on Matomo.
306
00:28:30,240 --> 00:28:36,720
And another question, have you seen any discrepancies in terms of data between Matomo and Metabase
307
00:28:36,720 --> 00:28:41,760
data, typically the count of visits per day?
308
00:28:41,760 --> 00:28:52,680
Yes, we have, no, sorry, I talked too fast.
309
00:28:52,680 --> 00:28:57,680
The data are basically updated every 24 hours for us.
310
00:28:57,680 --> 00:29:02,640
So yes, basically there is differences between the two data, the one we see on Matomo and
311
00:29:02,640 --> 00:29:07,200
the one we see on Metabase, but it's perfectly normal since we are launching that container
312
00:29:07,200 --> 00:29:10,840
once every 24 hours.
313
00:29:10,840 --> 00:29:13,720
That's one, again, of the subject of having a Matomo driver.
314
00:29:13,720 --> 00:29:18,680
If you have a Matomo driver, you can do the request every instantaneously.
315
00:29:18,680 --> 00:29:29,360
If I go back to the admin board and I take, for example, a PostgreSQL database, you can
316
00:29:29,360 --> 00:29:34,820
choose to execute automatically requests.
317
00:29:34,820 --> 00:29:41,840
So here you have that button which basically say if you want to like having a temp database
318
00:29:41,840 --> 00:29:48,400
on which Metabase work and synchronize that database every, I don't know, 24 hours.
319
00:29:48,400 --> 00:29:53,960
And in that case, it's no, the database are directly the one who are available.
320
00:29:53,960 --> 00:29:56,520
So there is no differences.
321
00:29:56,520 --> 00:30:01,340
In our case, there is, but they are not too strong because we are updating the database
322
00:30:01,340 --> 00:30:04,940
every day.
323
00:30:04,940 --> 00:30:08,480
Have you considered other open source data visualization software?
324
00:30:08,480 --> 00:30:12,080
Why did you finally choose to go for Metabase?
325
00:30:12,080 --> 00:30:22,040
Yes, there is also Redash, which is an open source software for business analytics.
326
00:30:22,040 --> 00:30:27,140
I didn't discover much that were as evolved as Metabase.
327
00:30:27,140 --> 00:30:33,360
To be honest, I'm human, so I may have missed them.
328
00:30:33,360 --> 00:30:40,080
The thing was that we already have, we had implemented Metabase at open source politics.
329
00:30:40,080 --> 00:30:43,480
So it was available right now.
330
00:30:43,480 --> 00:30:50,600
The thing is that also it was really active and that was one of the main argument which
331
00:30:50,600 --> 00:30:53,320
pushed us to use it.
332
00:30:53,320 --> 00:31:01,920
Also, the fact that it is more user friendly, so if I go back to the main dashboard and
333
00:31:01,920 --> 00:31:06,920
I ask a question, even without being a data analyst, I can create visualizations.
334
00:31:06,920 --> 00:31:10,400
So I'll go through it to show you.
335
00:31:10,400 --> 00:31:15,960
So if I take like, for example, a Metamo database and I want to have the number of visitors,
336
00:31:15,960 --> 00:31:23,840
so I choose the number of visits and I want to have the sum of number of visits and here
337
00:31:23,840 --> 00:31:25,280
it is.
338
00:31:25,280 --> 00:31:31,860
So it's really straightforward even for people who are not acquainted with databases.
339
00:31:31,860 --> 00:31:38,240
So that was one, the two criteria was that it was already implemented, the community
340
00:31:38,240 --> 00:31:39,640
was really active.
341
00:31:39,640 --> 00:31:47,040
And second one, it was really appealing for consultants, people who are not data analysts
342
00:31:47,040 --> 00:31:59,440
to work with and to take that tool to discover and to learn this tool.
343
00:31:59,440 --> 00:32:00,440
But it's not over.
344
00:32:00,440 --> 00:32:07,800
If you have any suggestion of any other tool which can be used for centralizing data and
345
00:32:07,800 --> 00:32:12,360
sharing them, I'm completely open.
346
00:32:12,360 --> 00:32:17,720
I think I went through all the questions.
347
00:32:17,720 --> 00:32:25,040
Maybe what I can do is I will share all the links about visualizations.
348
00:32:25,040 --> 00:32:27,120
I've shown you there is some public data.
349
00:32:27,120 --> 00:32:33,780
So I've showed you ANCT because the data of ANCT are open.
350
00:32:33,780 --> 00:32:39,560
But if you want to have more details about how we implemented it and what is our roadmap
351
00:32:39,560 --> 00:32:47,120
about this Metamo pool script, I'll gladly answer them.
352
00:32:47,120 --> 00:32:59,680
Maybe I can give you back the stage, Silva.
353
00:32:59,680 --> 00:33:04,160
So we still have a little bit of time.
354
00:33:04,160 --> 00:33:13,640
So if people have more questions, this is the moment to write them down.
355
00:33:13,640 --> 00:33:14,640
Maybe waiting for the question.
356
00:33:14,640 --> 00:33:20,260
I will go through all the pages and all the links I can provide.
357
00:33:20,260 --> 00:33:26,440
So if you want to know more about the work we have done, so again, it's available here
358
00:33:26,440 --> 00:33:32,400
on our main page, if I can take it back to the public chat.
359
00:33:32,400 --> 00:33:38,720
So if you want to improve it or creating issues or pull requests, it's completely open.
360
00:33:38,720 --> 00:33:44,640
There is also what we have done again.
361
00:33:44,640 --> 00:33:48,720
If you want to know more about DCD, here it is.
362
00:33:48,720 --> 00:33:56,460
And finally, more important, that are the main dashboard we started with.
363
00:33:56,460 --> 00:34:00,240
So basically, the data here are completely open.
364
00:34:00,240 --> 00:34:05,640
As I've shown you, it's available on the Metamo instance, which is completely open, given
365
00:34:05,640 --> 00:34:08,600
by the French government.
366
00:34:08,600 --> 00:34:15,740
So another great feature of Metabase that you can share easily.
367
00:34:15,740 --> 00:34:19,200
So here we are.
368
00:34:19,200 --> 00:34:20,840
And here are the public links.
369
00:34:20,840 --> 00:34:41,880
So if you want people to work around it, it's really straightforward.
370
00:34:41,880 --> 00:34:47,280
Now maybe go in deeper details, is there is any question, Silva?
371
00:34:47,280 --> 00:34:53,680
No, there are no more questions, but we also have the metrics chat.
372
00:34:53,680 --> 00:35:00,840
So you can also continue the conversation there if people want to ask more questions
373
00:35:00,840 --> 00:35:02,920
later, basically.
374
00:35:02,920 --> 00:35:06,480
So thank you very much for this very interesting session.
375
00:35:06,480 --> 00:35:08,100
You're welcome.
376
00:35:08,100 --> 00:35:13,760
Thank you for your time, and special thanks to Ronan and Lucas, and also you, Silva, for
377
00:35:13,760 --> 00:35:40,760
helping us to do so.