WEBVTT
So, I'm just already recording it.
The only thing to have to do, it's supposed to be done, is like me being in this room all the time.
So I'm gonna do that. Of course I'm gonna go out for the breaks.
So I don't have to waste the resources.
But it's already recording just right from the very beginning.
Which means it will record my screen, at least my machine.
So I'm gonna show you examples, I'm gonna discuss with you some pros and cons of Drupal,
and why should we not use it, obviously.
And then you'll have it after the training straight there.
So this is probably the best way. My voice plus the screen of the machine.
Which means you have everything, just like that.
So we don't have to use even TVs for that.
It would be better if we do it our own normal program way.
You will have access to those recordings, just like that.
Happy with that?
Good, good, good, good. Welcome.
Now, but this is just one of the ways.
There are two main ways of using this environment.
This is one of them. We call it training room.
Okay, this one is for those of you who have, for example,
just one tiny little screen from your laptop and nothing else.
Maybe this one is good for you.
If you have different setup, physical setup,
which means at least two monitors, two screens,
like maybe laptop plus external monitor,
or maybe desktop plus two or more screens,
you might consider, I'm not saying you have what you're supposed to,
it's just an option, optional.
You might consider another approach.
So if you are in the training room, you can go for desktops.
There's a small menu at the top, just a couple of links,
or the bigger one here in the right upper corner.
But the main one is somewhere on the left at the top.
And then you can click desktops.
I'm not going to do that because I already have them here in another tab in a web browser.
And then if you have two physical monitors,
two physical screens, you can consider and try this way.
So if you are in this desktops mode view,
you just connect to the training machine with this button in the middle,
which I'm about to do right now.
It will open yet another tab in the web browser with the training machine.
And then you go to yours, so you go back to this desktops view,
and do yet another connect button, click on that,
on the right side of your own machine.
So I'm going to pretend to be Nicole. Why not?
Hello guys, I'm Nicole. I'm going to be presenting today.
I'm going to be helping lookers. Hey!
Alright, so I'm Nicole now and I'm going to connect.
So I'm going to connect. We're going to socialize.
We'll be connected, strongly connected.
We have two days, which is quite a lot.
And also at the same time, somehow, it's carefully small.
As you can see, I'm connected to two machines in two tabs,
additional tabs in the web browser,
which means if I have another screen, another monitor,
I just grab one and move it there to the second monitor,
which will be a really comfortable way of working if you have two physical monitors.
So just move your head slightly from left to right.
Trainer says, come on guys, let's pretend that you listen to me
and then let's pretend we discuss together on my screen.
And after some time, some while, I'm going to say,
please do the exercise on your own machine now.
Go to your own sandbox and spoil it totally.
So then you move your head to the right just a bit.
Comfortable way, two tabs.
But I'm just saying, it's probably good,
might be a bit better if you go for this way,
if you have two physical screens.
Or if you have one big TV, maybe.
Yes?
Well, it's up to you.
If you prefer this training room instead,
which is also a very good way,
it's very easy because there is a button full screen mode.
If you're still looking, I'm going to show you right now.
So I'm going back to the training room.
And in the training room, we have this double view.
So you see both screens in the same time.
If you have one big monitor, maybe like I have at the moment,
so it's a TV.
So if you full screen the whole browser,
you might see in a good enough big size both screens in the same time,
which is totally fine.
If that's your preference, just go for it.
Because it's quite easy if you just click this small button
with surprising name full screen.
And I just do that.
And now I see only one machine at a time,
which is really big and comfortable.
And then if I want to go back and just hit escape key on my keyboard,
just escape key on my keyboard,
and I go back to the double mode.
If I really want, I can even click this middle button,
which says open in new window,
and then I'm going to have a separate window in the same time.
Now if my internet connection is strong enough, I can do even both.
Because for the trainer, I do hybrid, as you can see.
I'm going to be in the training room and I'm going to use separate machines.
Because sometimes it might be something interesting on one of your screens,
one of your screens.
And because, for example, you cannot see Thomas's screen,
I'm going to share it sometimes.
So you can see something interesting.
We can all experience some nice solution or error message
or something interesting from a Drupal perspective,
from your own view.
Yet another nice way.
So yes, it's up to you.
I'll just show you two main ways how to use it.
Let's say three, because you can do the hybrid if you like.
Training room plus desktops in separate mode.
Good.
Now, quick question.
Does it work for you?
I mean, I can see it on my side from admin perspective.
All green, which means you're supposed to be connected
and it's supposed to be fine for you.
Is it OK?
Or let's say, let's make a different question.
It will be a tricky one.
Is there anyone who have issues?
So it works or maybe it doesn't work, even if it looks like to me.
See, I told you the question was tricky.
I said, if it doesn't, shout now.
Logic.
The logic is as our old friend when we sometimes forget about him.
I'm joking.
If I joke too much, let me know.
It's like middle of my night.
So I have a full rise to joke.
Party time.
I told you, party time.
If it works for all of you, it's totally fine.
I'm really happy.
It's supposed to be like that, of course.
And in a moment, I'm going to stop sharing my screen
because we will use my machine, trainer machine as a reference.
All right.
I'm going to start there talking about Drupal very soon.
But before that, before that, my responsibility is also to do yet another thing.
Which is called course introduction.
We have such presentation.
And as a trainer, I supposed to go through it.
It's like very short introductory presentation in general.
Very generic.
And it will provide a good structure for the whole training.
So just stay with me.
I'm going to start with that.
Noble progress growing with franchising.
I've been in many places in the world.
I've also managed to see a bit of your country.
Nothing bit me.
So I survived.
I came back.
Your colleagues from Townsville or Brisbane, they were simply telling me,
you know, look, you don't go to the beach if you see this sign with crocodile.
And I said, oh, I don't have we don't have those signs in my country yet.
So I'm going to take one as a surprise to my people.
Yeah, no, not too much, not too much.
So these numbers are already outdated.
They change each particular day.
We update this presentation, I think, monthly, sort of.
I live close to Warsaw, around 90 kilometers downstairs to the south of the capital of Poland.
So here.
Now, my name is Lucas.
Original name, Polish name is sort of similar, Łukasz.
Please don't try to say it.
It's like really ugly Polish name.
And I love it.
I love the shorter English version of it.
Look.
So I often use it instead because it's really short.
I like it.
So if you need something from me to say, look, lucky look or double look,
I'm going to answer your questions or not.
We will see.
Maybe I'm going to be sleeping all the time.
Now, I worked with Nobel Prize from the end of 2008.
So quite long.
But I'm never bored, you know.
Every single day I learn something new.
Literally.
I'm totally honest with you.
It's a training company.
So I have to.
I have no choice.
It's like being in school all my life now.
Or at least last 20 years.
So it's like it might be weird, but very, very interesting approach.
So I'm never bored.
A lot of things we sell in Nobel Prize.
We test in our own systems.
We have more than 100 systems at the moment in Nobel Prize.
Plenty of our websites are also done in Drupal, for example.
Not all of them, but a lot of them.
And I believe there will be enough time to show you some real life examples of websites,
which I have in Drupal.
I maintain them in Drupal.
I improve them in Drupal.
This is one of the nice ways of doing the job.
So my experience...
Well, I don't like this word expert.
Wow, it's a huge one.
So, well, I'm sort of an expert in web development.
Websites, creation, managing, design, architecture.
And I started with the programming of them, actually.
PHP, JavaScript, you know, the hardcore way.
But I also know how to do it with clicking.
So, you know, come on Windows, Microsoft, just clicking, boring clicking, no code at all.
I know how to do that.
I know.
And I'm going to teach you that.
If you really are interested with Drupal from the, you know, under the bonnet perspective,
from the stomach, I can also show you just five minutes how does it work.
You just need to be aware of what is it, precisely, inside of it.
But we've got to focus on using it.
Just clicking, just a simple way to create a website in a couple of minutes,
maybe put it somewhere in the hosting or not and be happy with it because Drupal is done.
Easy tool to create a website in the Internet.
Very easy one.
Yet so vast and comprehensive, plenty of people buy trainings because it's like, come on, too much.
So many options, so many possibilities.
Millions of clicks a day to use it.
Literally, I'm not joking.
We're going to be clickers with Drupal.
Now, one of my projects which we actually maintain and keep in Drupal at the moment is, for example, this website.
Let's check how deep in CO perspective we are, maybe from Poland, why not?
Drupal courses Warsaw.
Let's check this one.
No time, no see.
And yeah, even if I say in English Drupal courses Warsaw in English,
I'm searching for CO in English in Poland because I'm in Poland, so the server or my IP address,
everything is in Poland, is still visible in the first place.
Of course, in Polish language.
But yeah, that's totally fine.
I go there and I see, oh, my website.
Hey, nice.
And this website, their website called noble.pl,
which can easily be changed to English version of it like that with this just single small button.
Yeah, and it's in English now.
This website is in Drupal.
Hey, this is Drupal.
If I go downstairs, I'm going to see some interesting links at the bottom, which is footer at the very top.
We have Heather and some main content and maybe there will be some sidebars on the right or left or not.
We'll have some views behind the scenes.
There is a database called SQL related.
Mary DB, which is a clone of my SQL.
So real database and then PHP language.
That's it.
On top of it is HTML, a bit of CSS, a bit of JavaScript.
There are codes, programming languages.
Drupal is done with that.
But for the simple user, final user, or let's say the simple final user Drupal can not doesn't have to know about it at all.
We just click it.
We just click it.
We go through Drupal with clicking, literally just clicking, maybe some resizing, going with within millions of options.
Configuration, managing of it.
Now, let's stop talking about me, maybe.
So maybe one final thing on me.
I have experienced with Drupal like last 20 years, literally 20 years with Drupal and I started with Drupal 5.
Long time ago.
It was Drupal 5.
At the beginning, it was like, well, way different tool, way different program.
And I already started coding with it.
Not only clicking.
It was like simultaneous, simultaneously coding and using it.
Actually, there is no other way if you really want to go deeper.
Let's go for more.
Some of you did practice questionnaires.
Our specific custom form in Nobleprog, which helps trainers to adjust themselves to the whole training.
There is just one company right now.
Only you.
It's a private training so I can adjust myself.
I can do it better.
I can change my approaches.
We have two days.
So today at the end of the day, we're going to do a small QA quality assurance.
You will give me some feedback.
The first day I can change my approach.
Maybe do more jokes.
Less training would be something instead.
You will give me some feedback.
So we will start with also this slide because just a couple of you did the practice questionnaires.
So I'm going to do some small notes.
And in the same time, maybe we're going to get to know each other.
Maybe you come from different places.
Maybe you are not part of the same team.
We will see.
Or maybe you already know each other.
We will see.
But it will be better to do some of this small talk.
It's something more actually.
We're going to do ice breaking hopefully quickly.
Let me open my notes.
I actually got them right now.
I'm going to start maybe this way.
Sebastian, you are first on my list.
Can you be the first?
So can you shortly, really in short manner answer those questions?
You can skip the point number four.
Fourth dot.
Forget about that one.
Focus on those which are not marked.
It's a Drupal 11.
Definitely.
They told me you were going to use Drupal 11.
Because there are plenty of versions of it.
We will focus on that one.
So Drupal 11.
So quick question maybe.
Did you touch it?
I mean, did you play with Drupal before at least once in your life?
Hey, great.
I'm so happy for you and I love your attitude.
If you are excited about Drupal, add something.
I believe we can only love it or hate it.
There's nothing in the middle.
Drupal.
But you will have your own time with it.
And then you will decide by yourself.
I hope you're going to at least have fun with it.
Even if you hate it.
I hope at least you can have some fun with it together with me.
So Sebastian, thank you.
Can I call yourself also?
Great, thank you.
So Sab, thank you very much.
Do you have anything else in coming to mind?
If you think about maybe beside the questions.
Anything regarding the training or your expectations.
Thank you very much.
Next person.
Thomas.
Okay.
Thank you, Tom.
Great.
Next one.
Well, I'm going to try.
I'm going to do my best.
Okay.
But please correct me when I say it in the wrong way.
Dane.
The question was like this.
You have to tell us something about you.
Like size of your shoe.
You know, things like that.
All right.
I must say I was like, you know,
laughing my banana totally because you said Linux.
If someone says Linux, I'm already there with you.
So just the next one.
You know, if you just say Linux is more than enough to me,
if there is someone who likes Linux or they just use it,
I'm totally with you.
And then if I, if I supposed to be serious right now,
instead of joking, I'm going to just say this way.
Drupal likes Linux.
Full stop.
Drupal likes Linux and the opposite also.
Well, of course, you can use it in Windows anywhere you want.
Even in Mac OS system.
Even in mobile phone.
It's okay.
Drupal likes them all.
But Drupal especially likes Linux.
So also the machine I prepared for you,
the remote machine in its core,
it has Linux system, which is Ubuntu, which is made.
Not mint, but made.
It's something similar.
Let's say not exactly the same, but it's really, really simple.
It looks like Windows if you think about it.
It works like Windows if you think about it.
And it's better than Windows.
You don't have to think about it.
I'm 100% sure.
Joking.
There's always choice.
It's yours.
The choice is yours.
But just for the sake of this training,
I just wanted to also sort of introduce you with,
to you, the Linux itself, because Drupal likes Linux.
I'm going to explain why later on, of course, right?
But you will see how easy it is together with Linux
to create Drupal from scratch.
Even if you don't know, if you do know nothing about
techie, nerding, things like administering the web server,
all right, Apache, MySQL, PHP.
If you don't know anything about that, don't worry.
In Linux, you can just follow the instructions
and you have it in a couple of minutes.
The whole Drupal, everything.
And then if you really have to, you can go deeper.
Or not.
Just use it.
I'm going to show you how.
You will do it yourself.
Each single of you will install Drupal in couple of,
maybe not seconds, because still something.
It's not small application.
But then it will be very easy.
OK, good.
Thank you very much, Dane.
Next one is Nicole.
Hey.
All right, all right.
So I hope after the training, you will have,
you will know something more.
Not only how to spell it, but also how to spit it.
So sorry for bad wording.
If you don't mind, I'm going to be,
I might be rude because I'm a Polish guy.
I might be also exaggerating a bit.
And I'm very emotional, as you can see.
Joking, joking again.
I'm going to be, I'm going to be cold like a machine.
I'm going to just do the whole program from the training with you.
It will be boring clicking.
All right.
Thank you, Nicole.
Thank you, Nicole.
Oh, OK.
Good to know.
Good to know.
Thank you so much.
Thank you so much.
Oh, that's it.
Paris or Paris?
Paris, yeah.
Good.
Hello.
Hey.
OK.
Did you try it?
Because I said I would love to know more about it.
Not yet.
OK.
All right.
All right.
Thank you, Paris.
Guys, thank you for this introduction.
It will help me to adjust the pace, for example, myself to the training, how to
proceed with the examples, exercises, et cetera.
Thank you so much.
Let's go deeper.
Just some small additional technicalities.
We have slightly different hours, nine to five.
OK, nine to five in your case.
I'm going to try and do my best to set my mind into your time zone.
So I'm going to speak your time zone.
OK, I'm going to try.
Now, we have three breaks planned around half past one a.m.
Hey.
Yes, yes, yes, bro.
But I did it already plenty of times.
So don't worry.
Don't worry.
I did courses for Hong Kong, Singapore, Australia, a couple of times, Canada, also
USA, completely different times than mine.
It was like fun.
Not always, but yeah.
So three breaks, longer lunch break.
And when we do nine to five, I think if we do one p.m.
for the lunch break, it would be OK.
Are you OK with that?
One p.m., longer lunch break.
Forty five minutes.
Is it OK?
Do you need longer, shorter?
What do you think?
An hour is all right for me.
If you if the rest of you want it too, we can do one hour.
Do we have to vote or can I just say one hour?
One hour is fine.
OK.
Yeah.
Awesome. Awesome.
One hour lunch break.
Why not?
I'm going to have a longer power nap.
Thanks to that.
All right.
Two shorts, like quarter, one quarter after maybe two hours, hours, one hour, forty
five, something like that, depending on the topics we will see.
All right.
I believe you don't need any course register.
You're supposed to see the course outline.
We will go through it during the whole training.
It's part of the presentation.
We will see it again.
Sort of.
You have either good earplugs or headphones, anything you have.
Maybe a very strong background with it.
Good.
Should I also speak a bit louder?
Not too loud.
Actually, double checking.
Double checking.
Is my voice OK?
Not blurring.
Not, you know, no delays.
Do you hear me well, guys?
I should double check that at the beginning.
Give me some feedback.
Do you hear me well?
No delays, no breaking.
OK.
OK.
Good.
So tomorrow, actually, at the very end of the day, I'm going to give you the
strongest, the hardest, the weirdest exercise regarding Drupal, the hardcore
exercise, the biggest exercise in the training.
We call it Training Evaluation Form.
It's a half a minute form.
I promise.
30 seconds.
Feedback to me, the whole company.
All right.
I'm going to give you the link.
Also, someone, probably Carmela or someone else, will send you the
email with a proof that you were here, that you got this knowledge.
OK.
You have a proof.
We call it E-Certificate.
And then you can show it to everyone, to the whole world.
I know Drupal.
I'm a Drupal master.
Yeah, I'm a Drupal master.
All right.
As I promised, I'm going to stop sharing my screen.
Please, guys, go to my machine.
Come to my sandbox.
OK?
By any means.
You can go to training room, look at my machine, focus on my trainer
machine, or you can use a separate tab and focus on my machine, because
I'm going to move there.
I'm going to go there.
I'm going to show things only there.
If really necessary, I'm going to go back to screen sharing later on,
Nice.
Home sweet home.
Yeah.
I'm going to skip that bit.
I'm going to start with the first element.
And actually, I'm going to show you the system first.
So just stay with me on my machine for a moment.
Please focus on my machine, because I'm about to show you the way.
The system itself is a Ubuntu.
It's Linux.
It's not Windows.
But that's OK.
You will get used to it very quickly, I believe.
We have two bars, one bar at the top, black bar at the top.
We have some shortcuts there, already set it up by me.
We have many.
We can search there for programs tools if we need them.
But don't.
Please don't.
You don't need it.
Everything is there.
We're going to need command line terminal just for a moment at the beginning,
and maybe later for some installations we will see.
We might going to need other things.
I'm going to explain them on the fly.
Definitely.
Yes.
Yes.
I'm going to share my screen again just to help myself with the explanations.
I exaggerated.
I should share the window only.
Give me a moment.
Just the window with the Drupal itself, which is that one.
Yes.
Please tell me if you can see my screen share on this.
So you're supposed to see my screen.
If you go to this training room, you should see the screen split into my machine and yours.
Only two.
Or if you are in this section, courses, you should connect to my machine,
the trainer machine with this button connect.
And then it's supposed to open the tab in the browser.
And if it doesn't, it means maybe your local web browser in your local computer
is blocking the pop-up windows.
It might happen.
Then you have to allow for the sake of this training for the whole domain,
dd40.com, to opening separate tabs, pop-up tabs as pop-ups in the browser.
Then you will see my machine for sure.
Or you go for the training room just like that.
Click the training room and you are there and you're supposed to see my machine.
If you're not, maybe you have to just refresh it if you are there.
After those actions, tell me again if it works for you or not.
Great, great.
I'm going to stop sharing again and I'm going to proceed with my machine.
So, in the machine itself, we have a web browser.
In the remote sandbox NobleProbe machine, at the top you have a shortcut for Firefox.
Please go there now on your own machines.
I'm going to do the same.
I'm going to spy on you a bit, just a bit, to double-check your progress.
So, please focus on your own remote sandbox machine.
At the top, in the top black bar, you have Firefox web browser shortcut.
Go for it.
Great.
You're supposed to have in it already two tabs.
The first one is general website of NobleProbe.
The second one is already Drupal presentation.
Your machine, guys, your machines are exact copies of mine.
So, you're supposed to have the same as me.
Okay, good.
Now, I'm going to explain.
The first tab is the general website.
It's called training-course-material.com.
Long name.
Yes, but as a training company, NobleProbe,
in NobleProbe we are in the painful process of migrating
presentations from EPDs, PDFs into this website.
And most of my, or let's say our Drupal presentations are already there.
Including the one we're going to use during this training.
And it's a second tab already.
Second tab.
So, if you focus on the second tab, please do.
Second tab in the browser.
You will see the presentation of Drupal straight there.
I'm going to use that as a reference, as a starting point.
I'm going to go back to this presentation after some exercises,
real life examples with Drupal itself.
Now, as you can see on this very website, no one is logged in.
We are anonymous users.
Anonymous users.
You don't have to.
Which means after the training, later on, after the training,
you will have access to this website also.
As simple as that.
The presentation is there.
And the only thing you have to remember, or not,
is this link to the website.
You don't have to remember it because I'm going to send you
an email after the training with a summary of everything.
All the links to all the presentations.
You're going to have contact with me.
So one month after the training, you have me as a sort of email consultant.
If you need anything regarding Drupal or anything, just ask.
I usually answer no longer than 48 hours because I'm very busy.
I might delay the answer around two days.
Be aware of that.
But I'm going to answer.
Usually people don't do that.
Sometimes some of my trainees ask me like a year after the training
and I still answer.
So don't worry.
Just ask.
This is additional stuff.
Part of the deal.
You have me one month, at least one month after the training.
Yeah.
So just like that.
Presentation is there in the cloud.
You don't have to download it.
Nothing.
Everything is in the internet.
But of course, if you really want and if you know you're going to work offline
without internet connection, you can easily do this.
I'm going to show you on my machine.
There is tools on the left side and you can make printable version of it.
Just like that.
So if you go for the presentation, you go for tools on the left sidebar
in this website.
There is printable version button link.
Click on that.
It will do the PDF for you and you can take it with you.
But please don't.
The freshest, always updated by me or other trainer's website,
version of presentation is there in the website.
We have a mirror server taking the responsibility if this one dies.
So the website is always on.
The only thing we need is internet connection to work with the presentation later on.
There is knowledge in this presentation.
Some best practices.
Descriptions of Drupal body.
I'm going to start with that straight there.
So I'm going to make it slightly bigger for the sake of maybe some of you have
small screens and I'm going to click on intro straight there.
I'll make it even bigger.
And please you tell me if it's big enough.
And the font size.
Readable for everyone.
So let's talk about sex.
Sorry.
No.
Wait about it.
I'm going to shut up.
Sorry, Lucas.
That was rude.
We should talk about Drupal.
But well, in my private opinion, if you work with Drupal,
sometimes it might be like that.
You know, you know what I mean.
Right.
Maybe.
I hope you do.
OK.
I really hope you do.
It can be good or bad or something in the middle.
Not really.
In Drupal case, good or bad only.
So Drupal is like already said it once.
I'm not going to repeat it.
I should not to because it's very impolite.
If trainer says things about that instead of Drupal.
So I'm going to stop being rude.
I'm going to focus on Drupal.
Cold machine.
No laughing.
No more jokes.
Drupal is boring.
It's clicking.
Drupal is boring.
It's clicking.
But.
And behind this but is the whole big story.
So when I started learning Drupal, working with it,
I spent like a couple of months with clicking.
In the same time, in the background,
I was trying to learn how to code it from PHP perspective.
And that was fun.
I was better because I had the power to change it from the very core of it
under the bonnet in its stomach, I could say.
But clicking was also sort of nice because it was fast, efficient.
And then I could explain to our people in Noboproc how to use it.
And they were happy because they were most of them non-technical people,
just users.
And very soon they become addicted users.
To Drupal, of course.
To Drupal.
If you start using Drupal, at some point you might see that you are already addicted.
And it's too late to go back at some point.
It's too late to go back.
Because you might going to love it.
Some of you told me that you are clickers.
So I believe you're going to love Drupal because it's intuitive, simple.
Well, also flexible sort of in clicking.
If something can be flexible in clicking, Drupal is.
Drupal really is.
Now, we will focus on building blocks of Drupal,
which means Drupal has plenty of special little nasty creatures.
Drupal is like a planet.
So we have aliens there.
And they were going to try to invade us.
Literally.
Drupal has its own skin, skins, plenty of them as a choice.
And then you can install them and play with it.
You can click in, let's say, three to five clicks.
You can totally change the look of it.
Yes, powerful. That's powerful.
You don't have to know the code how to do it.
Just a couple of clicks.
And the website looks totally different.
I'm not joking. It's like total change.
Like, you know, Superman.
One moment you have glasses.
There's a really nice curly hair at the top.
And you are like, you know, very polite man.
And you do some journalist job.
And then in a second later, you are strong hero.
Everyone loves you.
And then all girls are like, you know, looking at you.
Oh, boys, of course.
Now, Drupal is that for you.
A superhero.
Superhero which can do the job for you
with clicking on Drupal has modules.
Lego toys, plugins.
You can install them and just use them.
Anything you need, any specific business function,
business functionality you want to have in Drupal,
you might find it already there in the community.
Where exactly?
Well, here.
Drupal.org.
Now, Drupal is very popular not only in Europe.
It's also very popular in USA.
Canada.
China.
Japan.
Plenty of places.
And Drupal has its own website called Drupal.org.
And if you really want to know it,
spend maybe like five minutes a day
after the training on this website.
I strongly urge you to do so.
Five minutes a day on this website
and you will become even stronger in Drupal.
Now, Drupal has another website.
It's called famous API Drupal.org.
If any of you want to truly understand
what Drupal is,
what happens behind the scenes in Drupal,
you need this website.
But this is for coders, for geeks,
for techie guys, for programmers.
So you have two ways.
Either you do it in a clickable way,
play with Drupal,
or you seek the true force of Drupal.
Now, let's go back to my presentation.
In Drupal, most of the time,
we manage, create, maintain, update,
upgrade, play with it content.
Now, what is content in Drupal?
Well, the thing you need.
Whatever you have in your business.
It can be everything actually.
From small text to strong binaries
like videos, music, pictures,
anything, you name it.
You can manage the content in plenty of ways
and you can extend the ways.
In so many ways,
you might already forget how did you start.
So it will be like,
not only millions of clicks,
but also small paths of clicks.
And your mind will remember them.
Your fingers will remember them.
You can also have your own users in Drupal website.
We're going to talk about that.
And we will cover just bits of troubleshooted.
If there are problems with Drupal,
you should know how to fix them.
Or at least tell your admin,
you know what, I got this in Drupal,
please fix it for me.
And then admin will say, go away.
Fix it yourself, man.
It's clickable.
You want it? Click.
So click.
Proper admin will help you, of course.
Admin will tell you how to click it,
how to fix it in a clickable way.
Now, what is Drupal in deep?
Well, Drupal is community, first of all.
If you think Drupal, you think community.
Why is that so?
Because there are hundreds of thousands of people
using it, like you, like me.
And then because of that, I can just socialize with them.
I can ask them questions.
I can share my knowledge about Drupal
together with them.
So Drupal is community.
Also, later on, Drupal is software.
So it's a program.
It's a tool.
Computer program.
Yes.
Well, we look at it most of the time from the web browser.
From the web browser perspective, we click it.
We have a website.
We do something with it.
We play with Lego.
We create it.
We can be very creative with this clicking in Drupal.
Now, Drupal is also CMS.
Content Management System.
Well, Drupal was that in the past, actually.
Today, Drupal is more like a framework
or something even stronger, more general.
Drupal is like a place, an environment for doing things,
not only web sites.
Today, modern Drupal could be used in the coupled way,
like backend, famous backend only.
So sort of database for your content, for your data.
On top of it, we could have something else
instead of Drupal to be used as a website,
like Angular, React, Vue, plenty of frameworks,
libraries available today in the world.
Anything would do.
Drupal is flexible.
You can create actually any website in Drupal.
Small blog, one person providing this blog maybe.
Big corporation and multi-site Drupal installation,
like in our case.
Noboprog has plenty of websites.
Actually, if I just go for the bottom of our website,
we have this small button.
For each country, sometimes even stronger,
for a specific big region in a specific country,
we have a website.
And we keep such website in so-called multi-site
installation of Drupal.
And it's quite easy.
For each country, we have separate website in Drupal.
So it's powerful.
I just use one tool, one program,
for the whole net of websites.
Drupal, they focus in Drupal, the creators,
they focus on just couple of things.
Make it user-friendly, make it mobile-friendly,
so it's responsive on any tool,
like even on the watch,
not only phone or tablet or TV,
flexible and responsive already,
without too much work to be done,
to make it responsive.
So if I, because I'm a coder,
I know how to test it,
if I want to test it
and see if it's really responsive,
I can do it this way.
I can pretend to be.
So I'm going to pretend to be
maybe just responsive,
or maybe I want to use my iPhone,
which I don't have, because I hate iPhones.
Sorry, I apologize.
But maybe I want to test this iPhone
and see how my website looks like in the iPhone.
Not so bad.
Well, and I didn't have to do too much,
really seriously, to make it like that.
Just Drupal by itself is flexible, responsive,
straight there.
Easy.
But let's go back to desktop version, of course.
Please do.
Both, both, both.
Or none of them even, if you want.
It's so flexible.
It's a framework.
It's a just starting point for something.
And this something can be anything, literally.
It can be just intranet application,
which is not available to the whole world.
But only to me, to my business perspective, my company.
No one else can use it.
Intranet application, not just websites.
So RESTful APIs are built into Drupal.
If I really want, if I really want,
I can go to my Drupal,
go to Extend section of it,
go to the very bottom of this section,
and I see this Web Services.
And I just need to click it,
click it, configure it, and voila.
I have RESTful API, which is sending things.
Web Server, Web Service, which is giving services.
And then another website can ask questions to my website.
Just like that.
Clicking.
Well, actually, to be honest, it's not just like that.
You have to click it like a lot to set it up properly,
in a secure, manageable, flexible way.
But then you have just JSON API, just like that.
You have your content, like anything you provide.
Click from your business perspective into Drupal,
and then you hit this button, this checkbox.
You tick this checkbox, you install,
and then you expose it as JSON, just like that.
Straight there.
Of course there are.
Of course, yes, of course there are limits.
Nothing is, you know, ideal.
So even Drupal has its limits,
and even Drupal has some disadvantages.
The amount of limits is obviously speed.
But performance, yeah?
So it might be a problem or not,
depending on how do we use it.
There are some best practices to be followed,
and if you do follow the best practices,
it will be fast, efficient, as long as you need,
as long as you follow them, best practices.
So yes, Drupal is cached by itself.
It has its own caching system built into it.
And you can just click it, configure it.
What's supposed to be cached?
If I'm observing my Drupal website slowing down
at some point after a couple of years of using it, maybe,
then I need to reconsider things,
like maybe I did install 1,000 modules in Drupal, literally,
or even more, extensions, plugins, toys, to Drupal,
and then because of that it's slowing down.
So I need to maybe consider to clean up after a while.
Only that, cleaning up the toys might make the space
in this context, performance, speed it up,
just like that, removing things.
Because I was experimenting too much and I forgot.
So yes, Drupal has cache.
Drupal can be fast, efficient,
but still we can make it slower.
We can slow it down if we exaggerate.
Not really, not just data itself.
If you just use it and if you add new content, not really.
From that perspective Drupal is very efficient.
If you improve it through time with new functionalities,
so I mean literally, plugins, extensions,
which I'm going to show you how to do,
it will be one of the first exercises you will do it yourself,
extending Drupal.
Then it might go slower.
If I tweak it myself with code, PHP, JavaScript,
I might make it slower because I might be too hacking soul.
Too much hacking soul.
So I have to be careful.
But if you just use it and if you just use the core of it
without too many extensions,
or maybe not too strong themes, skins provided,
then you should be fine for most of the time.
As long as you have no, let's say,
literally hundreds of millions of records in your database,
Drupal will be fine for you.
They made it this way.
They made it faster through time.
I started with Drupal 5,
and it was quite efficient a long time ago.
It was 2004, 2005, 20 years ago.
And it was already efficient at that moment.
And they improved it through time, plenty of times.
There were plenty of migrations in Drupal world,
and it became faster, smaller, well, not really smaller,
but sort of better from that perspective.
So yeah, I would not be worried,
at least not at the beginning,
not too much about speed, performance.
But of course, it's a good question.
Yeah, it's a good question.
All right.
Okay, so Drupal can do a lot of things for you.
But I should always consider
if I really need every single function in my Drupal.
I should always think about business perspective first.
What do I have in my business process?
What kind of content?
What are the types of content in my business?
And then consider how to map it into Drupal.
But that I'm going to show you.
Awesome.
And we will talk about some good practices.
What should we avoid when we do that?
Or what should we focus on when we do it?
All right, let's go back to presentation.
We have a good timing.
So Drupal can be anything for you.
Huge portal with plenty of websites
connected via web services in between.
Separate Drupal installations
or one multi-site Drupal installation
like it happens in my case in NobleProg.
I was doing freelancing before.
I do business B2B with NobleProg.
But I have not enough time today
I'm focused only on NobleProg
because there's plenty of work.
We are almost everywhere.
My boss is planning to be on Mars soon.
And you know, why not, right?
Together with Alan we can do everything.
And Mr. Trump also, yeah.
But I should not talk about politics, sex and what else.
Religion, yeah, I should avoid those.
As a trainer I should not talk about those.
I'm going to try and do my best not to.
Instead we're going to have a party, yay!
Yeah, I'm joking of course, we should stop.
Come on, how do I turn it off?
Back on progress, back on progress.
So Drupal can be played with.
So I have a slide about that
called Drupal Sandbox.
You can always try Drupal without any installation at all.
Don't bother.
Just go to this website.
Simply test me.
This is awesome, you know.
You go there, if your internet connection is strong enough
you just launch the sandbox in the website.
It will be one hour I think.
I think it was one hour last time I checked.
Sandbox.
After one hour it will die.
But it will be yet another virtual machine like mine.
Like those I prepared for the training.
Similar to that one.
And then you can choose.
For example I want to say...
Commerce.
So I want to create a website in Drupal
which will sell something.
Together with shipping maybe.
Maybe already PayPal available.
Why not? So I click that.
I have some advanced options section.
Which is mysterious but
you could manage easily.
Maybe some profile.
Maybe some skin.
One click demos.
Maybe umami demo.
So I go for it just like that.
Without configuration at all.
And I just need to wait a bit
because it will create the whole website for me
and I can just use it.
Play with it.
Test it.
No installation at all.
Well I have to be patient because
it might take time but yeah.
I'm gonna skip it for now.
It was just a reference.
Just a reference.
How to play with Drupal.
Another way.
The most important one.
The most popular one.
Officially supported by Drupal documentation.
It's called DDEV.
Well obviously
this one is for coders.
We see death in it.
Developers.
Programmers.
Coders.
People like me.
Weirdos.
Now I'm a very normal one.
I have a family.
Three kids.
One wife so far.
I survived one wife so far
and we still together so I'm happy.
Happily married.
And I'm a programmer.
So this is for me.
But also for you.
You just follow simple instructions
from the command line perspective.
I know if you hate CLI
just survive it and then you have Drupal.
Fully locally created.
Installed and then you truly have it.
Not just playing in the web browser.
The previous example.
This is just demo.
If you really want to learn Drupal
go for that. DDEV.
But I already did it for you.
In our sandbox machines
in Nobbelprog environment.
I also provide some
other links.
Some alternatives. How to install Drupal.
How to play with it.
Famous Amazon EC2.
Which is web services.
You can install Drupal there
already.
Plenty of ways to test
Drupal to
even install it in a professional
way. I prefer
the main one DDEV because this is
the way today.
They officially support
Drupal documentation so I prefer that
because if something is officially
supported it might be there
for a while. It will not gonna
disappear.
Guys this is open source
world. It's on Microsoft.
It's open source
world. Which means
you have to be aware of it.
You have to be prepared for surprises.
Well Drupal will probably not disappear
from the market
in the next couple of years.
Yes. But it's an open
source tool. It's for free.
And if something is for free
well
it might
behave.
It might be something hidden behind
the scenes. Where's the catch?
It's for free. So where's the catch?
Well in Drupal the catch is
either you love it
or hate it.
You click it or you code it.
When you click it
you might struggle with it a bit.
It might not gonna work. It might behave.
You have to remember about
upgrading it each month
ideally.
So once in a month you have to
upgrade it. Or at least do the
cleanup. Troubleshooting.
Which I'm gonna show you how.
There are minuses. Yes.
Now let's go downstairs
to building blocks of Drupal.
This slide
will be very important.
We're gonna stay there for quite
long here. But I'm gonna
of course go downstairs with
specific detailed
explanations. So
you don't have to do that. I'm gonna do it.
I'm gonna reopen this presentation in
another tab. Don't do it.
It's just me. For my sake. For the
trainer's sake. Improvement for
the trainer.
Because
I'm gonna
go into details
in Drupal.
And here I'm gonna go back to this slide.
Because it's like in general what
Drupal is. One of the most
important slides in my
presentation.
So what is Drupal? Drupal is
extensions.
Drupal is structure.
Drupal is users.
Addiction.
Habits.
Bad or good. And Drupal is
content.
Four main ways
of thinking about Drupal.
All of those are Drupal.
Drupal aliens.
Drupal planet. Drupal creatures.
Or Drupal syntax.
This is Drupal language.
Drupal has its own language.
And you have to learn it.
If you want to
really properly
accurately
speak to Drupal.
Talk to it. Talk with Drupal.
You have to learn its own language.
I'm afraid.
Yes. For clicking.
Configurations.
Managing. Mapping business into it.
Yes. But it will be
new language to you.
We're gonna start with
extensions.
Because this is the
easiest part. Usually.
And this is about
also minuses. Sort of.
And then it will be
only fun. After that.
So. Extensions.
In Drupal there are things
we call extensions. Plugins.
Modules.
Toys. Lego.
You name it.
Most of the time they are
themes. Profiles.
And modules.
Drupal has distributions.
And distribution in Drupal
is like this.
Should we start with modules or distributions?
Ok. Let's start with distributions.
Because distribution of Drupal is
something which
already has.
Pre-configured
environment.
It's about some specific perspective already.
Maybe some specific
type of business already.
So website which is selling.
Website which is
only for social purposes.
Like Facebook or
you name it. Twitter. Anything.
And they are
already
having specific
bunch of
extensions or
specifically designed, tweaked
theme of Drupal.
Which will
already be faster way.
For someone to create a business
on top of it. Or with it.
If I want to
sell something.
And I want to use Drupal for that.
I should consider distribution first.
Instead of doing it from scratch. Because it will be
faster.
It will speed up things.
So for example
learning management system.
If I want to create a website on which I'm going to teach
people something.
Go for the distribution.
If I want to be just
generic and create something
on top of Drupal. I should go for this
distribution.
It's like for
I can configure something and then I can choose
from it.
Agricultural management
related to farming. There is a
distribution for that.
Instead of struggling and creating it from scratch in
Drupal myself. I can just go for the distribution.
Some of them are paid
distributions.
No longer just open source based.
Some of them are paid distributions.
But ok.
If I have resources I can just
buy help.
And already people behind it.
And just use it.
I'm going to invest in
my business. So I can just use
distribution instead.
So these are distributions.
Simple. Another thing
is Drupal module.
Drupal module.
Which is smaller than distribution
and it's like one small
plugin.
For example
my favorite one.
A long time ago
in Nobleprog
I was assigned with a task.
We were
migrating from Drupal to external
systems.
And it was
all about invoicing.
Accountancy.
You can imagine that we had
as Nobleprog as a company
everything in Drupal.
The whole business was inside.
So also invoicing.
We created content
in Drupal called invoices.
And then we just issued invoices in Drupal.
For our clients.
But sooner
very soon
very soon it became
slow
unmaintainable property and we decided
to subtract it from Drupal to
external system. And this system
was called like that.
Zero.
I'm not doing any advertisement
now. It's a very popular
tool which
plenty of people in the world
English based countries
they use this tool
just for accountancy.
Really?
See? Come on.
Come on. So you know it already, right?
And then I was assigned to do the
task. Simple task.
Well I thought it was simple.
Integrate this program
this tool zero with our Drupal website.
So
because I'm a programmer, I'm a coder
what did I do?
I started my own Drupal module
for that. Writing it
in PHP. And I
spent like couple of weeks on that.
I got one fifth
maybe of the job done.
So I was
creating the code. Writing PHP.
And then I realized
after couple of weeks
oh my
gosh. Look.
What did you do?
Why? Why did you not
think? Why did you just go for the
code? I know you love
the code. It was like talking to myself
in the mirror. I know you love the code.
But Drupal is different.
You're supposed to always consider
to install the plugin instead of
coding it, because it will be faster.
And it will save the time and monies.
Now I'm gonna code it
because I love the code.
And then I realized
I'm gonna stop. I'm gonna
do it differently. So I
stopped coding. I went
for Drupal website.
I went for
modules.
It was long time ago.
I went for modules.
Well actually
I did simpler thing. I went for
search button. And I typed
zero. Just like that.
And I hit enter.
And then after
searching I
filtered by modules.
Here on the right side.
At the time
in the past it was just only one
result. But that was
good enough.
More than enough even.
Because I was able to finish my job
my task in
two days.
In couple of
weeks, I think it was three or
four weeks of coding.
Weeks.
Five days, seven hours per day.
Okay. Five to six hours
per day.
Three, four weeks.
Five days in a week.
I was coding it.
So I did one fifth maybe
of the job.
I found this zero
simple module there.
Zero API.
I went for it.
And I finished my job in two days.
And most of it
was testing. Not writing
the code. Just testing the website.
If it works in my business perspective.
In my business purpose.
Just like that.
I just reminded myself
I should start
with searching for the functionality
in the website instead of
doing it myself.
Even if you don't want to code it.
Even if you want to click it.
Let's say we have a business function
like
I want to have
a survey on my website.
The form
simple form. A survey.
Which I'm going to give to my users.
And they will fulfill it for some business perspective.
Like before Christmas
we want to provide a
survey and ask people about some
maybe
simple questions. How should we
proceed with integration meetings
before the Christmas or during
Christmas for all of our
workers in the company. Simple
survey.
Instead of clicking it in Drupal content
we should search for survey
in this website and install
plugin which will do the survey for me
and then just provide the questions themselves.
That's it.
Speed.
If you want
new functionality in Drupal
which is not in it's core
yet.
Go for Drupal website. Drupal.org
Search button. Search for it.
And then
carefully read
the results.
See if it's really the thing
you want. Install it
or not.
And that's the way. Extending Drupal.
But of course we should start with the core of
Drupal. So
I'm just going to start with the core of Drupal.
So I'm
in my Drupal website right now.
When I install
Drupal by default it has only
couple of things. Well plenty
of them but just the
basic setup. Basic configuration.
Basic set of modules.
We call them core modules.
And only really some
simple extensions.
Now
when I use Drupal for the first time
of course I should log in. So I'm going
to start in the very beginning.
So at the beginning there was Chaos.
From Chaos
there came
Sky and the land.
And then there was Drupal.
God created
Drupal. And then
people started using Drupal.
And we do it
today.
So when I log in to my Drupal
website
I need to know the username
and the password.
If I don't
I cannot use it.
False. Wrong.
Not true. I can use it without user
account at all. Obviously.
I can be an anonymous user.
But obviously of course if I really want
to use it I need to log in. So I log in.
And then
I have this menu at the
top.
Powerful menu with
plenty of options.
My user is there.
My user has his own shortcuts.
And there is manage Drupal.
Many.
And this is huge.
Because it has like
literally millions of options already.
And it's just the basic core of
Drupal. And Drupal has its core
in this extend
section.
And it's called surprise
core.
Then we have some experiments.
This is the way in Drupal world.
They provide some experimental
functionalities.
And they might or not
be part of the core in the future.
But they are separate.
Experimental.
Then we have some extensions.
Migration section.
Then we have
translations.
And anything else which we install will be there.
In other section.
And then we have web services.
And this is Drupal. That's it.
What is core?
Core is like heart of Drupal.
It's also stomach of Drupal.
The whole body of Drupal.
Head in Drupal.
The whole person.
That's why I told you
we will have to learn new language.
How to talk to Drupal.
Because Drupal is like a
person.
Yes.
And it's alien.
It's not human being.
It's an alien person.
So you might say not person but
creature probably. It would be better.
We don't know yet.
You will see. So Drupal can be
extended.
With more creatures.
Or let's say mutations of them.
We can clone
things in Drupal. Literally.
There is a clone module in Drupal.
Yay. We can clone.
We can do plenty of things.
Let's go back to presentation.
So we have
distributions. We have modules.
We also have themes.
What is theme in Drupal?
I might need that one later.
I need to do some cleanup already.
This is API.
I don't need it for now.
I need that one.
If I say module
I'm going to see this.
Project
and the name of module in the URL
address in Drupal.org website.
Project and then name of the
specific thing.
If I want to install this module
which I'm going to show you later
I just need to read carefully the
instructions. How to do it?
What does it do precisely?
What are versions of it?
Is the project
safe
to be installed?
Stable release. It has a badge
like this so it's safe.
It has some versions. Well
it looks like it has no stable
version at all. Only alphas
or some
unstable versions. But it says
well
it passed
all tests so it's
sort of stable but it's still alpha.
It's not even release candidate.
It's just alpha version of it.
It's not stable version.
Should I really use it? Only 52 sites
are reporting using this
module.
But it's still
okay.
It just happens that I know it's okay
because I tested it.
But if you fight for something new
you never know. The only
way to find out is to install it and test it.
Install it and start
prayers. Please work.
Please work. Please work.
This is extending Drupal.
Open source tool for free.
But. This but is here.
You install it
and then you have to
consider, be aware of
struggling or not.
You might be lucky.
Just like that.
But of course you have your admins, you have your
colleagues, probably in the company
who will maintain
this for you. This part of Drupal.
Administration
that probably you are going to have to use it.
Or not. You will see.
They will tell you.
But you should be aware of
extendability.
Flexibility of Drupal.
Drupal is really
easy to extend, to
improve through time
with new functions. Business
functionalities.
Now another thing which is easy to do
in Drupal is skin.
Changing the skin of it.
But I'm going to
start with module and I'm going to show you.
Let's say I really want
something.
I'm going to
show you an example.
I'm not
happy with just core of Drupal
and I want to extend Drupal with another
thing.
My job is
should I choose
to accept it. My mission
should I choose to accept it
is to search for the function
first. In its core.
In its stomach. In Drupal itself.
So let's say I want to
have
ability
to provide phone number
in my website.
Let's say I'm going to prepare my
contact form in
Drupal. And I want to
allow
users to provide their
phone numbers.
When I create first form
or if I look at existing
forms maybe
contact forms
I have one already.
It's called
website feedback.
I can edit this form
and this form will have some fields.
Or not.
My default is really really simple.
And there is no
such field like phone number.
And I really need it.
So instead of
creating it from scratch myself
I go to Drupal
extend
and I search for it.
Well, not really.
Maybe it has a different name.
So I look at the core.
If it's there
it's supposed to be visible.
So I carefully search for it.
And I might find something or not.
Not really, not really.
But if I go downstairs
to field types
Telephone!
Ugly long name.
It's so old.
Who uses telephone
today?
Alright, but we have to remember
Drupal is created by people
from the whole world.
People who might have English
knowledge, English language knowledge
or not. They might
think they have English
language knowledge. And they will say
Telephone! Come on!
It's supposed to be just phone or mobile, right?
So I might be surprised
how people name their extensions
for Drupal. But it's in the core
already, field types.
So instead of inventing it myself
I can just install it.
Just like that. Enable.
Click the checkbox, go downstairs
and install.
And then I'm gonna be able to use it later on.
Just like that.
Without even downloading it,
installing it from Drupal org
website.
And now I have module Telephone
installed. And then I can
use phone number field
in my form, which I'm gonna prepare later on.
Very easy way.
Clicking.
But I have to think about it.
Search for it. So first,
best practice you're supposed to remember, guys
is what?
What can you conclude from that? Tell me.
Paris.
What do you think?
First best practice.
About Drupal.
I'm sorry Paris.
Thomas was faster.
He answered already.
Thomas, thank you. Good point.
We're supposed to search
for new functionalities.
Never try to create them from scratch.
No. This is
very important.
Number one best practice in Drupal, actually.
Number one best practice.
If you remember that, you will be fine.
If
you know your business needs some new
function to be mapped into
Drupal, never create it
from scratch. Search for it.
First best practice.
Thank you, guys. Good.
That was nice discussion.
Simple yet meaningful,
I hope.
Now, another topic.
Theme.
What is theme in Drupal?
It's also extension.
It's similar to module.
Very similar to module.
We go to
Drupal website.
Drupal.org.
We go to download.
And we go for themes.
This time.
And then look.
For all
the versions of Drupal, we have
more than 3000 of them.
That amount of themes, skins,
different layouts of Drupal.
Wow.
Huge choice.
But.
I need to think. I need to be smart.
Drupal planet
has plenty of aliens
and not all of them are friendly.
Some of them might gonna try
to kill me. Literally.
I'm not joking.
So, I say works
with. There are filters.
We have to filter a lot.
Not only click, but filter.
So, first friend in Drupal
is click.
Second friend in Drupal is search for
existing functionality.
And the third friend in Drupal is filter.
Filtering.
Filtering and again filtering.
So, I'm gonna say works with
Drupal 11.
So, I'm gonna speed up my searching.
Just like that.
And then search again.
Now it's
really less of them.
Isn't it?
Drupal 11 is the newest
stable version of Drupal.
Now I'm gonna show you something.
Just to compare.
Drupal 7 has
700 of them.
Above 700 of them.
Which is lot of times more.
Just to compare.
Drupal 10.
Just previous stable version of Drupal
has
also more of them.
So, what about the rest
thousands of them?
Is it Drupal 8 or what?
Let's check.
Not really. It's like spread
through the environment.
Plenty of them already updated.
We should not bother
with them. We have to be careful when we search
for something. Obviously we are in Drupal 11,
so let's go back.
And there we could also filter by other things.
Like maintenance status.
Actively maintained
maybe. Obviously I don't
want things which are unsupported
because I'm
gonna have to code them instead of
other people.
So I'm gonna say actively maintained.
Then
if I say development status
under active development
maybe.
And then status.
I want full projects. Maybe.
Stability.
Well, I usually
don't touch that one because lot of things are
unstable, so I'm careful
with this filter.
Security. Very important.
So probably maybe has security advisory
coverage.
But that might also significantly
change amount of them, but yeah.
And then relevancy
maybe not. Maybe just that.
And then I'm gonna say search again.
And I see 88.
Not bad. Not bad.
And then I go downstairs.
And this will be already automatically
filtered for me from the most
popular to less popular.
The most popular things will be
at the top.
And then
I need to find an example.
I'm gonna use that one.
Cooperate clean. Why not?
I'm gonna open it in the new tab.
I'm gonna show you how
can we put it there.
So I need to carefully
read all the descriptions.
I need to go downstairs.
Scroll it down.
Double check.
Does it have stable release?
When was it?
So if it's like this year I'm happy.
If it's like
3 years or 2 years old
I should strongly consider
not to use it.
This is open source world.
I have to be careful.
Yes.
But this one is okay, so I'm gonna do it.
So I'm gonna follow the instructions.
And then it says something weird.
To install you have to use
command line with some weird
program called composer.
Oh my, oh my.
And this is the first
problem Houston.
I don't know how to do that.
So maybe, maybe
Drupal has a way
for that instead.
Alright, so I can
go and search for something related
to Drupal theme.
And if I look at this manage
I see nothing.
Theme? There's no such keyword
there. Skin? No.
But there is something. It's called
appearance. Appearance.
Beautiful name.
So meaningful.
Okay, so I go there.
I'm not complaining about Drupal.
Not at all.
Not a single complaint, no.
Now I see appearance
and I see some install themes. Finally
I see the name. Themes. Oh, so I'm probably
in the good place. I'm probably
in the good place. And then it says
if you want to install new theme
if you want to install new theme
there is no button for it.
There's no
field to search
for. It says
for a website.
You can find alternatives there.
And if I hover this
link without click and see, oh, it takes
me there again. Project themes.
So how can I
install new theme?
No easy way to do so.
I have to go back to the website
and learn how to do
it.
No, you don't have to. I'm going to show
you. The only thing we have to do
is clicking again.
So I'm going to click
the copy button.
Copy to clipboard.
So I copied
this command.
I'm going to go to my
command line.
I'm going to make it bigger for you.
I am in my Drupal website
folder.
So I can see what's there.
I'm going to go
to its web folder and
I'm going to paste this command there.
But because I'm in a
special environment, I need the
prefix, the dev prefix.
I told you. I'm going to teach you
the best way to
install Drupal and then play
with it. I go there and I do
this command here. Now I'm allowed
to hit enter.
But this is just the beginning.
Yes.
You can do the same exact
well, not exactly, but very similar.
Same thing.
Sorry, not same. Similar thing in
PowerShell in Windows. And you will be fine.
Yes. Exactly.
You just need to install Composer in Windows.
You just need to install Ddev in Windows.
And then just use them.
Or you can be smart
and you can use built-in Ubuntu
in Windows. So you can have Linux
inside of Windows because it's built in already.
Starting from Windows 7. Yes.
And then it will be
even better. You just follow
the instructions how to install it.
Where? It's quite easy.
You have a link in my presentation
to Ddev. Or you can just go for
Ddev.
Get started and you have plenty
of options. Windows with Linux?
Yes.
Just traditional Windows? Yes.
Linux? Yes. Everything is
there. Easy.
Follow the steps. Simple.
It will take some time
at the beginning. Yes.
Always something for something. You have
free...
Oh yeah, my reminder says
Lucas, do the break
otherwise they gonna hate ya.
So I'm gonna do short break in a moment.
Just final explanation.
It's very easy to install.
I strongly advise
for you to
use this tool Ddev.
Or not. Maybe someone already
prepared testing environment for you
in the company.
Some coder, maybe external guy.
And you have it already. Maybe
someone did the thing for you.
So you don't bother. You just use it.
You might already have some
initial point. Oh, who's that?
We have another participant.
Does it have a name? Maybe?
It's a dog, right?
Missing you, right?
I also have a dog and a cat
but they live outside.
Outside of the house. I live in the village.
So yeah.
Good. Hope
she or him were gonna like
Drupal too.
Yeah. Drupal
can be installed easily. Also Windows
wherever you need it.
Guys, we should do the break.
After the break we're gonna follow this
installation of this
program. This additional extension to
Drupal. Which is called Skin
theme. I'm gonna show you how to
easily change Drupal look.
The look of it. Layout.
A quarter break.
A quarter break.
15 minutes.
We will continue in 15
minutes. Which means
11am in your case, right?
11am in your case.
See you in a bit.
on 2025-06-11
language: EN
WEBVTT
okay so for those of you okay let's wait for that for everyone let's wait for
everyone so it already also did open the website for me it opened Firefox so
the default browser for this system in this Linux Firefox is the default one
it opened another tab in this browser web browser and it awaits me for
password so I'm going to provide it now here comes the very first important
aspect of installing Drupal guys this password for the main admin user
supposed to be really like really really proper one safe long secured password
okay if you do it for the real-life organism production example production
version of let's say Drupal the website which we're going to use later
on for real people users in your business real company business with
Drupal make this password really like really secure because this is God user
admin user it can do everything on this website like literally everything
which means totally killing the website if necessary but for the sake
of training we're going to have something simple so I strongly advise
you to use ASDF very weak password I know ASDF I'm going to type it on
teams like keys in order on the keyboard everyone knows it the whole
world knows this password and I use it always on my testing environments
obviously because I don't want to forget the password because if you do
then the only way to log into your Drupal website will be to hack it
from the code perspective yes there is a way to fix it if you
forget your admin password but it's not easy so make sure you do it secure
and remember but now I'm gonna say just ASDF I'll make it really simple it
will tell me it's a weak password yes I know but I know what I'm doing
now my dear Drupal so ignore it and it will allow me to Drupal will allow
me to use such a weak password of course I could extend my Drupal with
a plugin a module or the module specific one which will not allow my
users when they create user account on my website to use such weak password I
can restrict it let's say to 10 characters you know the usual should
have at least one number one special character one big letter etc etc
whatever I need easy so when I provide the password this is the part of the
setup this is also a good moment to provide a proper email address because
if I'm admin I'm gonna have some feedback from Drupal automatically
provide it to my mailbox for now we're gonna skip this part don't
bother I can also still at this very moment change the name of the
user well because I'm a programmer I know that usually we should avoid
using admin as the main admin user because often the hackers were gonna
try that as the very first one so I usually change the name of my admin
user to something like this should I tell you that or not would be
already a security hole hmm so I'm gonna give you a different example not
mine got it properly for example you could do it like this ADM NP or two
capitals NP or just NP because this is related to noble pro website for
example if I'm gonna do the noble pro business perspective yes always
mapping the business perspective into code into Drupal is the most important
part so naming things supposed to be related to business perspective so ADM
NP and maybe something specific like if it's a website about maybe only
Australia so I'm gonna say a you for example and now this name is not easy
to find out for my hackers who will definitely will try to hack my
website later on because it's Drupal and it's open source so plenty of
hackers are focusing like on that wordpress Drupal, Joomla you name it and
they will definitely try to hack newly created website on the market because
it's Drupal so they know how to open source code but if you do the
proper password and you never write it anywhere you just remember it and
you never tell it to anyone not even to yourself when you sleep allowed
then you secured sort of or not it's a no person's world so from time to time
people community find out how to hack Drupal and they very quickly provide a
fix on Drupal website and then they will tell you owner of your own
website please quickly we strongly urge you to update the Drupal core
with this security hole fixed for you automatically you don't have to do it
yourself you just upgrade that's a couple of buttons to be clicked so
these are the this is the setup at the beginning you're supposed to set
it make some choices because I'm an admin now I usually tick also content
editor just in case so please do the same on your own screens okay
mark this checkbox which says content editor if I have any picture I would
like to use for my user I can do it now or later so I'm gonna ignore this
bit I want to have my personal contact form so I'm gonna keep it like
that contact form the default form for my website and then another thing
which is related to time zone straight there if you forget you can change it
later of course let's do this now so I'm gonna search for where are you now
guys precisely in in Australia
well I bet it doesn't find it so I'm just gonna go for that manually I'm
gonna choose camera let's say hey what interesting it's not there come
on let's say I'm gonna choose Brisbane why not Brisbane is nice looks nice to
me and that's it this is the simplest setup okay I'm gonna say save it will
you know the browser will check if I want to save password never save
passwords in browsers please I'm just saying it's up to you of course but
please don't and it's okay the change can be saved and I have my admin like
this and I'm ready to go that's it just like that see simple script simple
setup done and I just go to the website itself
yes I want to say home maybe in this break Trump at the top and I'm ready
to work let me check the progress on your machines looks like everyone is
there hey welcome welcome welcome welcome all right guys don't worry if
you forget your password for this training website don't bother we will
just create another one with my script all right if you forget the
password all right do you have questions so far regarding what we
covered no questions let's continue then please focus on my presentation
and my sandbox machine we will go deeper and we will do the exercise first
exercise very soon I'm gonna go downstairs to modules before we go for
modules let's talk about Drupal core versions actually yeah I don't have
11 here yet because it's a fresh thing and I think I don't need it just to
say just to compare from time to time usually one or two years between one
or two years there will be big new version of Drupal in our job as
Drupal users will be to upgrade it as soon as possible why simple reasons
it might be better faster even more user-friendly after upgrade it will
have some security fixes for sure it will be simply better and because it's
an open source world please do not hesitate with upgrades between big
versions make sure you're ready of course and they will help you it's very
easy to migrate between big versions in Drupal today we just disable anything
which was experimental and community decided not to put it in the core we
keep things which were experimental community decided to keep them in the
core if we have our very custom modules written by us in PHP then we
follow separate instructions and that's it this is migration between versions
and to do so to do so we have even specific built-in module in our
website if I go to extend and if I search for migrate I have it it's
called this has its own even category section of modules called migration so
if I want to you have if I have something really specific which is not
following maybe some best practices or instructions from Drupal website Drupal
docs then I need those modules or not if I just follow all the solutions
rules instructions best practices migration would be easy now how do I
know I supposed to migrate or upgrade well Drupal has its specific menu in
at the top and there is some very interesting link in it called reports
I'm gonna go there now and have plenty of the status available updates with
some log messages list of available fields I created when I was hacking
Drupal with my content top search phrases of people searching on my
website etc but the most important one is the first one status report so I'm
gonna go there and after clean installation of Drupal I will have a
warning even if I didn't do anything yet I have no my custom content there
I have one warning there it's a common warning we should not worry
about this warning because it says well because you are playing with Drupal you
disabled some protection before going deploying for production level of it
so something real hosted and other people were gonna use it you should
consider to save close change security for those specific files but for now
we don't bother now what was checked the version of Drupal when the Drupal
was executed for the first time lastly supporting libraries databases web
servers details about the Drupal itself Mary DB SQL databases under the
version of it some security like this stuff updating of is my Drupal the
newest core version are my extensions which I installed download and
installed in my Drupal are up-to-date what kind of picture support pictures
media support I have already installed which version of PHP language which is
the language in Drupal in which Drupal is written some caching enabled or not
modules related to speed in Drupal yeah they this is the moment the
place you probably are more interested with aware before what kind of web
server this version of Drupal is using and by default it's engines today
previously it was Apache if you really want you can have IIS or something else
but these don't engine is probably the best choice today don't bother just
use it is fast efficient powerful web server and this is about your Drupal
of course you will see such information if you have access to such
information if you are kind of admin or if you have a role administering the
website you might not you might not see this you might see only the
structure or content or that's it maybe a bit of appearance nothing else
if you have no permissions but that we're going to talk about later in a
let me go back to my presentation I'm just comparing two versions of Drupal in
this slide just to show you what is the way of progressing in Drupal we
should focus on extensions so modules I would already show you an example
with zero zero module module in Drupal which will allow me to integrate
my Drupal website with external program called zero accountancy based
accountancy related invoices banks monies I don't have to do it myself
it's already there so thanks to modules we can extend and customize my Drupal
website functionalities business functions just services which are
in my Drupal website and we have different types of modules contributed
custom and core I already explained core modules to you I showed you how to
enable telephone module the name we what telephone module is like core
module but we have contributed modules and this zero module is example of
module custom module is totally whole new different story probably you will
never have to touch that part because custom module is PHP it means I write
my custom plug-in for Drupal from scratch and we do that as a very last
result never do this at the beginning always search Drupal.org website or
own website for existing module functionality theme plug-in extension
if there is no such thing in Drupal community which will fulfill your
business perspective your need your expectation then and only then write
your custom module okay last result
some modules are humongously big bigger than Drupal core themselves be
careful with that or just be aware of it I'm talking about size of in
kilobytes in bytes or megabytes this is the size of module one module can
be bigger than Drupal itself because it will do a lot of things for example
like selling e-commerce modules such modules can provide specific
forms for items I want to sell or services I want to sell shipping
companies connected already to my Drupal website like DHL etc payment
gate payment gates or gateways like PayPal or whatever you need
everything is already most of the most popular payment ways are supported in
Drupal already today so don't bother to write it yourself just install
extension now what is important from module perspective version of it
supporting so always double check when you install version of module if it
if it's if it matches the Drupal version always carefully read
documentation about specific extension check the help after installing look
at security upgrades and periodically my in my opinion at least as an absolute
minimum once in a month update Drupal core and all the extensions look at
issue statistics documentation about specific module and of course I'm
going to do an example and then you will do the exercise later on right so
as an example I'm gonna do installation of this module
which one which one I don't think too much I'm just gonna go upstairs
download modules and we'll look at some of the most popular of course I'm gonna
check workspace 11 53,000 modules 53,000 modules of course if I said Drupal 11
the amount will be significantly smaller because 11 is the newest
version of Drupal so see look at that but still more than 6,000 modules
extensions it's like come on for free people did it already so I can just
search and use it and be happy about it so I'm gonna use them the one I
was actually wanted to which is
as an example I see install capture very popular thing so avoiding spam
on my website captures you know captures even if I search in Google in
Google Chrome web browser for the first time it will ask me if I'm not a boot
like the program automatic program so I have to click and find the bicycle
or you know the car on the pictures and then I have to do ten times
because Google wants to know I'm the human being come on this is
capture so be careful what you do to your users in your Drupal website
do not exaggerate with captures I'm gonna try this one I'm gonna try to
install it before installing such extension to Drupal I have to read
carefully the instructions dependencies look at the bottom of it and see how
many people are reporting to use it well a quarter of a million come on
which means it's popular and it will probably never disappear from the
market of Drupal extensions so I'm safe it has this badge if the module
has no such gray badge do not install it means it might mean security risks
holes unpredictable behavior unstable instability don't bother always search
for only stable stuff and then I see different versions downstairs in
releases section now I'm confused right there well which one I supposed
to install to my Drupal 11 well it's not that confusing if you think
about it you look at this section works with Drupal versions this one is
weird because it says 8 at the beginning which looks like Drupal 8 to
but it says works also with Drupal 9 5 10 11 okay so I'm still confused both
versions are working with Drupal 11 so my dearest website Drupal.org please
tell me precisely which one I supposed to install well as a rule of
thumb and another good practice we should go for those the top versions
I should also check the time of the release this is not so old actually
just previous year in November so not so old couple of months so it's okay
okay if I know what I'm doing I could also take a development version of
it just click here on this thing but be careful of that usually simple
users are not not allowed they are not allowed to use development versions of
something yes it's on the edge of the knife yes it has all the quick hot
fixes back fixes yes but it might be unstable so stable versions only and of
course you know the way already because I showed you with a theme
example I choose that one I see install link I copy that and I do it
the command line or I might be curious and search maybe on my website so not
that one I should use from now on the trainee one together with you so I
go to extend and maybe maybe there is another way there to install
something and actually they say no if you want to add module go to the
website and do it from the command line in previous versions of Drupal
okay in previous versions of Drupal like Drupal 8 even Drupal 9 definitely
Drupal 7 there was a way to do it from a user interface there was a way
to install additional Drupal extensions from user interface without command
line at all just with clicking and copy pasting the links from Drupal.org
website but for security reasons not allowing too many people to spoil the
whole website and also to automate things they decided to remove it from
the core so it might still exist as a separate module extension so if you
really want to have that just go to Drupal.org and search for the module
which allow you to install modules from the website not from the
command line but be careful with that because it might be problematic so
I'm gonna follow the best practices I'm gonna go to the command line and
then I'm gonna go there you have to be inside so I'm gonna double-check where
is my trainee another folder called trainee okay I'm gonna go there and I'm
gonna go to the web folder because that's the way and here I'm gonna
paste this command and because we are in a special environment I need to
fix it with this DDEV command and then hit enter and observe what will
happen it took some time not so long not too long and it explains to me
in nice green colors looks like okay no problems no issues no spoiling so
far so good but this is just installing new module from Drupal
command line perspective which means it's not enabled yet so it's not just
it's not truly installing it's just downloading physically the module
itself extension itself so I just realized I forgot to turn on the
lights
so it's a bit better isn't it no so how do we truly enable the module in
Drupal let's check the website first and I'm gonna search for it cap not
hmm so did I really install it they really downloaded not really or maybe
I just forgot to do something how should I know Dave you were saying
something because you're muted to refresh exactly at least I have to
refresh the page in the browser or if I know what to do I can go to
configuration search for performance which is in development section and
there will be magic button called clear all caches I told you Drupal has
caches and because it's a common place to go sometimes just refreshing
the page in the browser doesn't help so I need to know this place and
another best practice in Drupal clearing caches of course if you have access
permission to do so so I'm gonna because it's important because it's a
really important topic clearing caches in Drupal I'm gonna put it into my
shortcuts list in Drupal how do we do that look at this star on the
right side of the header the title of this page there is the star there
when I hover it without clicking it will tell me this add to default
shortcut so I'm gonna click on that it will become yellow now it will give me
the message Drupal will refresh itself in the background and it will tell
me added a shortcut for performance to your shortcut lists the default
shortcut list which is at the top see shortcuts and if I go there I'm
going to have this
performance clear all caches Drupal is refreshing itself status message
caches cleared and look guys with those messages at the top black
background white text Drupal will talk to you Drupal talks to me never ignore
those messages carefully read all of them at the beginning when you learn
Drupal it's a friend one of the best friends status message messages at
the top of Drupal Drupal talks to you okay now I can go back to my manage
manage manage sometimes it's not responding well because it's open
source and it's JavaScript which is dynamically changing the menu but
straight there you can see the many is not the best you put in this mode in the
top one line horizontal line I have to click a lot and I don't like it so
can improve our life straight there and there is a special button which
looks like logout it's very misleading see this button there right
upper corner looks like logout but it's just changing orientation to
vertical of my many if I click that it would be way better because look I
have those I can quickly go there and click the proper thing without
clicking too much because in Drupal you're gonna click million times per
day I want to save your time less frustration faster more efficient way so
I prefer left side you can always go back go back to this horizontal one
but I prefer this now extend insert for capture again finally we can see
it and if I really want to use it I need to enable it so to finalize
installation of new extension to Drupal you have to either go to the website
refresh it somehow search for new functionality and then just tick the
timebox and install or or if you like command line like me well you
can go down back to the command line and you can do this VDEV and there is
a very powerful command called drush then if you want to say something
please unmute yourself because I can't hear you you might you might say
something interesting to everyone so just memorizing just memorize okay
don't worry forget about it just ignore me then all right guys if you
want to say something you might have you know something interesting to say
some meaningful points maybe doubts maybe remarks just say it all right if
I if I'm gonna let's say think that it's not appropriate for the moment
I'm gonna postpone it but just try right thank you thank you I just
need to get to know you guys I don't know you yet properly so this is
a way to memorizing okay I accept that so drush is a program command line
program which can do like a lot with Drupal in a very fast way it's ten
times faster than clicking Drupal guys okay I know that so I like this
program now if you don't know what it does just run it without options
just like that and then it will tell you the whole long list of options for
drush is like this there are dozens of them so I can scroll up and see
that they are grouped into sections user related commands database
template which is PHP twig template related views related which are like
data organized in specific groups theme related commands state SQL site
related commands role process management related so enable one or
more modules you can do with the command which is called PM install
longer way or I am en install PM enable or PM enable plenty of shortcuts
one of them which I prefer to use is en so I could do it this way the def
drush and then en enable and then because I remember the name of the
module I could say I could start typing capture all the problem is I need to
know the name precise name of the module well I just install it so I
remember it's capture and in this way I'm gonna enable it just like that
instead of doing it on the website so instead of searching for it taking
the checkbox clicking install maybe after that refreshing some caches
because sometimes we have to instead I can do just one single quick command
in the command line I'm just saying you might not have access at all to
command line way of using Drupal in your business perspective later on
after the training when they give you the Drupal to use it you might
not so forget about it okay but my job is to tell you the ways okay the
responsibilities what Drupal can do for you and how what are the best practices
this is my job second job of mine is your understanding if I have that if I
achieve your understanding of Drupal at least a bit I'm happy I'm gonna
try to give it up okay so I'm gonna enable it from command line
D.Rosh EMCAPTCHA now it says module capture has been installed there are
some permissions so if you like you can configure them so go to the website
and configure permissions related to this module it says success just like
that so now I go back to my website I'm just gonna refresh it now Drupal
warning message there was a problem checking available updates for your
modules or themes so you probably have to do it manually but I'm gonna ignore
it because it's just yellow yellow messages you can postpone ignore them
if you are in a hurry and if you want to finish the job with clicking
Drupal but if you see a red message please never postpone it never ignore
it always react to it red means problems serious problems if you can't
fix it yourself tell your admin I got this red error help please help now so
far it's just warning and it's yellow so I'm gonna postpone it and I'm gonna
search for CAPTCHA again and I'm gonna see oh it's enabled it's
enabled is it really enabled it looks weird it doesn't have this small
thingy inside of the square box it's just gray okay so I'm actually
nothing some problems now let's check let's look at the details it says
required by image something it has some permissions I can configure this
module and I have help oh help so just after installing I have some help so
I'm gonna go for help and see what does it say and it will tell you what
does the module do what are the related pages in my website which I've
just installed this module in see if you lost in Drupal always go for
help and most of the properly written modules in Drupal they have
their own help just like that if you want to see the whole help go for
administration section click help and you will see every possible available
help in your website if you want to learn Drupal by yourself after the
training because obviously you will never remember everything because it's
squeezed knowledge compressed from a lot of things in two days you might
forget you might you know easy forget what we did even if you have
recordings so go for help and there are topics spend five minutes per day in
this section in your own website done in Drupal and you'll be fine you
master so no later five minutes per day make it as a habit okay so let's say
if I don't know how to extend and modify my site functionality I go to
topics to help and I click extend and modify my site functionality and it
will explain what is module what is experimental module see the things I
already they are there in Drupal itself so Drupal is sort of self-explanative
isn't it you don't have to Google just use your own website and learn from
this if there is something meaningful it will give you the links this is
outside world link Drupal.org project project module all right so
this is help now if I want to enable the module from the user interface I
just go to extend I go for capture again see now it's interesting
remember before I went for help it was just gray square box without the
inside without this little bird inside true what I blind no you saw that with
me it was empty yes grayed out different than that one this one is
white not enabled now it looks like enabled well it might be simple bug
of this module or Drupal itself Drupal can behave it might not
refresh properly each time we refresh the page it might not refresh caches
properly it might do mistakes by itself it's a creature living organism
so be aware of that okay it might behave weird sometimes you're gonna
have to refresh couple of times to make it work do not panic okay do
not go in panic mode try to refresh try to clear caches try to click in
configuration places go for help go back and see if it's really working or
not don't call your admin yet try it try to troubleshoot fix it yourself
all right so I'm gonna enable the module right now from the website
perspective not from the command line perspective this one install status
module image capture has been installed now if I want to configure it and use it
well I have to search for it again and check what does it configure exactly
but maybe I should start with the default one configure now it says
capture can be added to view to the Drupal any Drupal form through
adding an affiliated capture point etc etc I'm not gonna do it now we don't
want to use it I just wanted to show you how to extend Drupal with new
functionality look there's plenty of options a lot of text to read it's not
about clicking only as you can see right now using Drupal is also
reading a lot on the fly when you start using it at the beginning you
have to click a lot and read a lot okay or you can find some videos on
YouTube how to read how to do it but be careful people who provide
instructions on YouTube or Drupal even itself website docs or forums or
wherever wherever they might have specific context something slightly
different than your website and then when you follow exactly precisely
their instructions who might be doing something wrong so be careful if I were
you I would try to read it yourself first in Drupal if you don't know how
to do it if you're still confused then search for help but first search
for help here in Drupal itself I showed you already how help help is
just go there click read and try to do don't be scared of Drupal just try it
okay I'm not 100% sure but I believe your people in your company after the
training they will give you testing environment I hope that for you okay
if they don't tell them to guys give us testing website the one we
can spoil totally and don't bother without stress train them and after
that try it on production level they're real thing okay because if you
click on Monday 2,722 times and after four long hours of clicking Drupal
you decide well it's wrong I need to fix it now how to go back do I really have
to do this undo those 2,722 clicks maybe not maybe I can just
discard changes with one button well not that many amount of clicks I'm
afraid so going back is also important how to do it in Drupal going back
undoing things sometimes you're gonna have to just repeat some steps and do
another two or three hours to undo the things you did in the previous four
hours of clicking but still it's way faster than writing it in PHP okay so
clicking still faster for you I'm just saying be aware of that clicking
reading sometimes you might forget to click the button called save then you
log out from website you go home you come back on Tuesday and your job is
lost so the whole Monday of clicking might be lost if you forget to click
save button at the very bottom of it be careful in Drupal you might do
that and then you will be really angry losing the whole day of clicking
doing it again oh my goodness and just because I forgot to click the save
button well I want you to avoid such feelings that's why you have this
training okay but still you might forget so never forget to click the
save button or discard if you're unhappy with all the changes there is also
preview preview button my preview button sometimes in Drupal guys your
exercise will be now so if I go down there is exercise number one
we're gonna do second hyphen first and then we'll go back to the first
hyphen I'm gonna change the order of them slightly why not to change some
routine of mine also first exercise installing modules second hyphen I want
you to create simple blog in Drupal really simple but first install the
module called blog okay this is your job this is your first mission should
you choose to accept it please do accept it it's not difficult it's not
dangerous no one we're gonna shoot at you only me try I'm gonna observe your
spy on you if you have questions do not hesitate to ask Dane let's say three
three minutes for that exercise I'm gonna observe you if you need more I'm
gonna extend it don't worry you are not allowed to have questions just
try just play with it no questions try if you spoil it don't worry we're
gonna fix it yeah about that how to do it what would you do okay let's discuss
it first maybe maybe you need it because it's your first time so think
about it I want you to create a blog in Drupal you it's your first time
with Drupal you don't know how to create blog you could search for
content create some content but really it might be too slow too slow you
can do it faster better and we are exercising right now and discussing
modules extensions so probably you should install such module but the
first question should be probably is there such module named exactly blog
in Drupal maybe and I already showed you the way go to Drupal.org search
button and search for blog module please do that that's your first step
I'm gonna hint you a bit don't worry open another tab in your browser in
remote sandbox your own noble proc sandbox machine of course because this
would be the easiest way and the fastest probably click the search
button on Drupal.org website and search for blog module module by to
the best practices so don't don't you forget about filtering it by Drupal
number version make sure it's 11 and so let's sooner or later you're
gonna find exactly the name blog on the list so in Drupal.org website
search for modules choose the version of Drupal and find blog go there
read carefully the documentation about it what does it do does it have stable
version how to install it properly does it need any dependencies by
itself or not and then do the job with the command line
okay Thomas I'm going to your screen I'm gonna make it interactive I'm gonna
check what is happening there so coming there coming there and I'm there okay
so yeah um the easiest way will be like this type CD no no don't know
start typing with capital D and then OW and then hit tab key on the keyboard
tabulator tab key see hit enter now and you're there just like that and then you have
to go to the website so CD trainee probably or just LS enter and you
will see all them choose trainee so CD trainee and you're there and then of
course well we have to do one last step CD web the folder is called web yeah
I'm going to show you that on my screen guys because you might not
remember obviously so to go there when you open the command line for the
first time if you just there you just need to do a CD downloads you know
I'm gonna start from scratch I'm gonna say CD and this place and then the
OW and then hit tabulator and then I'm gonna hit tabulator twice so it
will show me everything which is in downloads folders tabulator is your
friend and I'm gonna start typing training and then hit tabulator again
it will give me the name and then I can do LS and show folders we need
web I need web also we have to be there and stay there for a while
because we might install other things during the training and of course you
paste the command there
well you're supposed to create a blog that's your job
well of course well the first step is installing so I'm doing it with you
at the same time on my screen just in case you need my help so in this
web folder we have to say DDEV at the beginning and then paste the thing from
the website composer requires a blog and then version of this blog so
don't forget to say DDEV at the beginning we have to be in web folder
we need this DDEV program and then we do this extension and then I hit
enter if it's okay it will say everything in green after this we have
to enable the module yes it's downloaded it's also already in my
Drupal folder physically as a bunch of folders and files yes but it's not
enabled so either I do it from the command line like this or I go to
website my own website Drupal website and then I go to extend section from my
manage perspective in the top menu manage extend and I search for my
and it's there it says enables multi-user blogs so each user can have
its own blog on my website and it says no dependencies really or let's say
it requires some modules but they are already all of them are already there
in the core Drupal core that has some requirements see this specific blog
module depends on those modules plenty of them so they must be enabled
before I'm able to use it so if I tick the checkbox there and install
or if I do it from the command line if any of those are not enabled Drupal
will tell me well blog module needs something so they enable it so they
proceed let's try to do it from the user interface they they all were
enabled before so it's okay Drupal will not ask me about anything
Drupal will try to be interactive now it says module blog has been installed
but it's not the end of the story the exercise says create simple blog
create simple blog which means we have to do something in Drupal after
installation okay now how would you do that part of this exercise of all
any ideas let's say you don't have me someone placed you in the deep waters
of Drupal and they told you exactly that create simple blog in Drupal you
already know only how to install this module that's it how would you
find out how to do it by yourself tell me might be but I told you
if you don't know if you lost where should you look at where's where should
you look at
don't worry if you need if you if you struggle with anything just let me
know guys tell me Lucas I cannot do it I'm searching for something I'm
struggling with it tell me I'm gonna show you don't worry
come on line okay
Yeah, these are the steps.
Just in case I'm going to repeat it on the on the screen in my machine.
So what did I do? I went for the folder, right, and then I pasted the command.
Paris, do you need my help? How is it going?
Okay, good. You made it. You made it. Done. Now we are discussing actually together how should we
proceed with this with this next bit, because in the exercise I said create simple block.
It's not only in studying the module, you have to do it. And I asked the question how would
you proceed now? Let's say, you know, truly someone gave you this task and they didn't tell
how would you proceed yourself? This is part of the exercise.
Okay, so you try it just like that. Very good. So we would go for content.
Maybe add content. And then there is blog post here. Or you go for help.
And then you search in help blog. You search for it. And maybe there is some kind of sorry.
But I don't know, depending on the business perspective.
No one said any business perspective yet. It's just saying create simple blog. If I know more
about what are the expectations about this blog, then I can configure it, you know.
Keep it simple, stupid. Do you like to kiss?
Keep it simple, stupid. And I'm not joking right now, no? This is common best practice.
We're supposed to be, in my opinion, the number one practice everywhere in the whole world.
Not only Drupal. If we could, at least once in a week, every human being in the whole world
try to things, to keep things simple and stupid, there will be no wars, no problems.
There will be love, fun. That's it. But people spoil things. We are nasty creatures.
We are worse than aliens. I'm joking. Now, but to be honest, keep it simple, stupid.
If I have a task for my boss, I try to do it as simple as possible. Not only by the ways,
but the thing itself. So if you want to configure your newly created module, yes,
you can go play with it. I usually do that. I go for help. So in manage, we have a menu.
I go for help. And then I don't use the search field. Instead, I just do left control F,
left control F like Ferdinand or Fiona. No, Fiona has a different
letters at the beginning. So left control F and I search for blog. And then I see module
and there is a blog there. Oh, okay. I click on that. And then I'm in configuration section,
maybe, or not yet. I'm just going to see help about blog module. So it says allows users to
do blah, blah, blah, blah, blah. And then it says when and how we could use it. It says
uses, uses of it. I can create single user blog, multi-user blogs. I can put my blog
into navigation section. So there is a menu in Drupal and I can put my own blog into this
menu so everyone can see it. Or maybe some people, only some users can see it. We can
restrict it, et cetera, et cetera. From one option, from one configuration perspective,
we're going to have widely opened hundreds of them. And then I'm going to be lost in
configuration instead of doing the job. You know what I mean? That's why I said keep it
if I start with the configuration, I might spend five hours there instead of doing the job,
which means creating the blog. Be careful with that. In Drupal is like that. I can be sucked
like a plum in the cake, you know, inside of the configuration and forget about the real job
doing the blog. That's why I designed this exercise this way. People openly go to the
configuration and they waste time. So I start with the help and I see what can I do with it
and then I do the job, focus on the thing. Because otherwise I might waste a lot of time
with Drupal. And it says at the bottom, visit the blog change module project page
or if you really want to learn more, there is online documentation for the blog module.
Well, but it already gave me the info.
There's also online handbook entry for blog module, which is there.
If I go there to another website, so another tab, sorry,
I'm going to see blog module overview. There is documentation about this thing
and it says how to do it.
You can read your blog via your user profile at my account
or you can post a blog at content, add content, blog entry. See, we found it.
This is exactly what we were searching for. It's not always easy in Drupal to find help,
actually. Why? Because plenty of people design it. Thousands of people from different
countries, different languages, different cultures, different backgrounds, knowledge,
experience, they create descriptions of how to do their module, how to use it, how to configure
it. And it will be different because it's open source. It will never be unified in one
simple way, I'm afraid. So it might be difficult. But now we know, content,
add content, blog entry. Okay. So let's follow that instruction. Let's do it together.
Maybe it's a live coding. Please do the same as me on your screens, all right?
Small steps, guys. Please do the same as me on your screens.
So we go back to our website and we go to content, add content, blog post.
Content, add content, choose the blog post.
Okay. And here comes the first time we use the form in Drupal, but internal form.
And itself, we're going to have a lot of options. This one is still small.
There are forms in Drupal which has by themselves hundreds of options.
Not 100, but hundreds of options. This one is still simple. Now, title of my blog. Wow.
We don't know. Lucas told us, create simple blog. We lack of information. We lack of
proper business perspective. Because of that, we have to invent it ourselves. So
let's go. Why not? Joke inside of joke. Double joke. Right? Right. Now, the body.
That was title. Title has this red star, which means it's the required field. Without it,
Drupal will not allow me to save this blog later on. Some of the fields are optional
if they have no red star. So maybe just to test Drupal, how Drupal works, I'm not going to,
you know, focus on millions of options and then stay there two hours, still having nothing
saved, nothing visible in my website. Another trap focusing on options. So I'm just going to
and I have my blog. Time to kill one stone with many birds. Blog can have comments.
Blog was created by me on this specific date. If I log out,
it will be visible on my home page because this is the first thing I created.
And Drupal works like that by default. And I go there. So I see, oh,
this is blog about something. Weird trainer did weird blog in weird Drupal.
So, well, there might be some comments, but now comments are not enabled.
You have to log in to post comments. Okay. This is how this blog works. Okay. So I'm going to log in.
Oops. Oops. Houston, we have a problem. Forgot your password. No, forgot your username.
So what was my username? Do I really remember?
No, no. ADM, NP, NobleProg, and then AU. Remember? Be careful what you choose for the
not even the password, not yet password itself, the username. And then let's pray
if I really remember. Yeah, no, I'm relieved. Okay. No, I can, you know, I've always double
check, hack it from the database perspective and see what was the username. I know the way
so I can fix it this way. But imagine that you have no access to database. You have no
admin rights and you forgot your username already. Come on, you have to call the admin.
You know what? I forgot the username. Please help. What? You're not asking about password
username? Of course users, bloody users. Admin will complain and then we'll give you the name.
So be careful. Now I go back to this website homepage. I see this blog. I go there
and then I can put some comments. Subject of my comment. What the hack is this about?
Please remove it. Now.
And then I have some options. First of all, because I'm a login user, I have what?
Reach text editor. Oh, yes, this is awesome. Because I don't have to know HTML, I don't
have to know CSS to make it pretty. I just need to know how to use Word from Microsoft.
Microsoft Office package. 365 package. You know them. Every person in the world,
starting from four years old people, they know how to use Microsoft Word, do they?
Usually. So it's like this, but simplified. I have big italics. I have put links there.
I can make it dotted. Yeah. And if I have power, if I'm powerful enough, I can say,
well, full HTML. Oh, I have more options. Hey, of course, if I'm
allowed to, if I have permissions to change this text format. So I can have a table like this.
Maybe three columns and six rows. Why not? And then inside of this table,
I can have headers or not. So header one and then header two. And then maybe some
summary of it. And then I could put maybe something there.
Not zero. And then I can leave the rest of it empty and then just save it and observe what
happened. And then the skin, the theme of the Drupal website will make it pretty or not.
It's a table here. Well, okay. Let's say it's pretty. I can go to my appearance now
and then I can say instead of this default theme, I want to use
this. Maybe that one. Stark. Will it be about the Avengers? We will see. Probably not.
So now I go back to my website and it will look like hell because this Stark theme
has no nice CSS at all. No nice beautiful layout. Table looks like this, even worse.
I don't like this theme. I go back to my theme, which was nicer, which was Claro
or maybe Oliviero. Sounds like Spanish or maybe Italian. Come on. Drupal guys are Italian? Nah.
Set as default. Go back to website and it's better. I know I did a lot of things,
but I wanted to show you. I wanted to show off about Drupal. Drupal is like clicking.
Now you know why it's so popular and why still plenty of people hate it.
If I want to change it, you know, I have to go and edit this specific blog maybe.
How to edit this specific blog? Well, I have this title and there is something like this,
but it's just title. It says blog. Come on, what's that?
And if I hover this, it's still how to edit this blog. Well, I have a top menu, edit,
and then I can change it again. But that was only a comment I made.
I want to edit the comment. Oh, I was wrong. So I go back
and this comment downstairs, it's supposed to have its own edit. Yes, it does. Edit.
And then I can fix it. Yeah, I just wanted to show you what are the possibilities, right?
This is how we do blog in Drupal. We install module, we learn how to use this module,
maybe configure it a bit or not. And then we create a blog. So I go back to home,
I go back to blog, and then I edit this blog because so far it's like,
well, yeah. So I'm going to put some description about this blog. It's a blog post. It's a
blog post. Okay, so I'm going to say my very first blog. Hey, people. And then again,
I can say maybe full HTML. Maybe I want to provide something nice, like
nice, and then do the nice mice. So I could play with, what could I play with?
Uh, block, quote, maybe I could mark it.
That would be nice to have some colors. Where are the colors? They're not visible. Are they
there? Not really. What is color? No, not enabled by default. Maybe you should find
how to enable it. I could have a horizontal line if I really like this. Then I could say
not nice. And then I can have preview without saving. Maybe I don't want to post it.
Well, looks good to me. So I can go back to content editing and finally save it.
Now, another thing. Blog can have tags. So look was here and also maybe stone
and maybe bird because it's about stones and birds. If I properly tag my blog
later on, if someone were going to search in Google or Baidu in China, they will find
my blog faster because my blog has meaningful keywords from the SEO perspective, right?
Right. Let's maybe put another item of tags.
Why not? Another item of tags.
And then I'm going to say save it. Now, where are the tags?
How can I search for it? Downstairs.
If I create another blog and it will have same tag, like bird tag.
Oh, this one was very simple. It was not like a couple of them, just one. So I spoiled it.
See, I thought it was automatically. I'm so used to coma as a separator of different tags,
but I just created one tag, which is not actually nice. So I need to fix it.
But if I just look at those magic pencils and if I try to fix it this way, because
I'm thinking this is the proper way, it will redirect me to some weird place in
different configuration part of Drupal and now I'm already lost. What the heck? I just wanted
to change the tags in my blog, in my thing. What is my thing? It's like I'm already lost.
And I was using shortcut, which looked like shortcut to editing my blog,
which is not. Because it's like magic pencil, which is changing something really specific
in Drupal, which is called blog, which we didn't talk about it yet. Guys, we could talk the whole
month, the whole month about Drupal, not two days, whole month, how to do things in Drupal,
seven days in a week, seven hours per day, the whole month, and we will never finish it.
It's never ending story. So let's go back.
Now I want to change this. So I should edit my blog and feed the tags.
Right. But now it says edit term. And I'm lost again. So I should sit, enable panic mode
and start crying because I don't know how to use Drupal anymore. I'm already twice lost.
Okay. So again, now where's my homepage? Well, there is no no go back button, go back to page
C, go back to website, but the button has disappeared. Is it wrong that I did something
wrong? Maybe Drupal interface is like buggy and it's hiding this button from me. So I have
another way, bread crumb at the top, bread crumb. Oh, I just want to go home. Come on,
Drupal. Okay. Again, blog, edit. Oh gosh, I found myself finally. I'm in the proper place.
See, it can be so misleading. So many buttons, so many links, so many shortcuts that it's
overwhelming. And they say Drupal is user friendly. Is it? Sort of. And it's one of
the best choices in the market. The other guys are worse. Well, actually, probably
WordPress is simpler and also nice. WordPress. You might heard about that one, WordPress.
Did you? Some of you, yeah. Okay. So now I'm going to change my tags because I
obviously. So bird, stone. Let's keep it simple for now. And then I'm going to save
it. Now, finally I have proper tags at the bottom, hopefully. And if I click only one
tag at a time, bird, and if someone else or me myself created another blog post
or something else in Drupal with the same tag called bird, I'm going to see all the
content related to birds downstairs under the bird tag. But it's a taxonomy. It's
a category in Drupal. It's no longer my blog. It's a different type of content in
Drupal called taxonomy, categories, tags. They are so useful. See your perspective.
Searching search engines like Google, et cetera. So under this bird taxonomy term,
category, tag, I see so far only my blog. And then anyone who likes my blog, they can
subscribe with this feed. So add this shortcut to the browser and they will be always
updated about my blog easily. And Drupal gives me that, just like that. I just created
the blog. I installed module. Let's go for it. Now I have a blog. Let's say I want
to create another post of my blog. I want to post another blog entry, another message.
Let's say it's the next day and I want to create another blog message, blog post.
So I go to manage, content, and then I create content.
Add content. Because add content is really, really important.
It's already in the shortcuts by default. You don't have to add it there.
Because oftenly people do that. They go to shortcuts and they add content.
So I'm going to do another blog post. I want to say
my dearest diary.
I killed the car today. It was
because I'm crying now, so I do a couple of S's, a couple of them. It was an accident.
I'm sadness.
And then blog tags. Kill or killer, obviously. And then I'm going to save it.
And then I have this my blog there. See my blog there in the menu, which mysteriously
happened to be there after installing module and creating a blog. Remember, by default
it's per user, per user. We can create multi-user blog. So the same blog can be maintained,
supported, updated by plenty of users. The same blog. But this is another option of this
module. By default we have one blog per user. So if I click on my blog, I'm going to see
all the posts in my blog. Oh, nice. As easy as that. The link is already there in the main
Drupal menu. Just because I created my blog posts. Two of them so far. And it says
admin post blog. Well, definitely I should change the username or maybe show something
different instead of admin post blog. Because it's really not meaningful right now.
Whatever you do in Drupal, think about it before you do it. Because later on
some things cannot be changed. Well, let's see if my username can be changed.
Come on. Come on, user. Edit profile.
Username. Oh, I can change it. Do I? Am I able to do it? Let's say, look, the
Valdeman. All right, let's see.
Awesome. So do I have to go there and change my blog name manually? Nah. Drupal will do
it for me automatically. Look. But where is the, you know, go to the website button.
It disappeared for good, right? Drupal level is so buggy. I go home page and I see
my blog and it says already, look, the Valdeman's blog. Awesome. I change one
thing in one place and it will be automatically changed in hundreds of them other places in
Drupal. That's the beauty of it. The simplicity, the speed, right? I change in one place,
everyone else will automatically refresh it for me. Just like that. Now your job,
because we have five minutes to the lunch break, is to do the same as me if you
didn't yet. Create a blog, do at least two posts in it, play with it, comment something,
do it now. You have five minutes. Or let's say, yeah.
I don't know. I don't know. So I'm going to answer this way. Look. I'm going to show
you. I'm going to show you. I'm going to show you. Yeah, exactly. I know. I know. But,
you know, I wanted to actually encourage you to search it by yourself because this is the way
you're going to have to learn Drupal without me later on. So of course it's about
permissions, but this specific module might not have such option at all. And if you really want it,
if you really want it, my precious, right? Then we have to search for another module,
which will do better blog, which can do the thing which I want. Because there are hundreds of,
maybe not hundreds, but at least dozens of other modules in Drupal.org, which can create
a blog for me. Or if I'm really unhappy, I can create my own one with my custom forms
and configure Drupal to create my very own blog without this blog module at all.
Because Drupal by default itself is a blog. Any content I create by default will end up
on the front page, the newest at the top. So it looks like the blog itself.
They, the comments allowed, when I change permissions, they will be able to do the
comments without logging in, instead of using blog. But we can go there, manage,
and go for configuration maybe. We should start with configuration,
then permissions, not the opposite, all right? And then we should search for blog here. So
I'm just gonna do the usual left Ctrl F, and I'm gonna say blog, no options in configuration,
oops, not good, not good, which means only permissions maybe, or maybe not true. I go to
extend, I search for blog, oops, and then I see, oh true, there is no configuration related
blog. So I cannot do it through configuration management in my Drupal, which means I have to
go for permissions maybe. Now where are the permissions? People section, people, permissions,
and then I filter by blog,
and then I see, oh, who can create new comment?
Are the comments here, are they? Create new content, delete any content regarding blog?
Not really, not really, not really. So maybe I should check not the blog keyword, but
comment keyword, and then who can post comments? Only authenticated user,
right? But if I search for comment, I need to consider it. Well, if I do it now,
for anonymous user, so post comments, like this, and if I save it,
don't forget to save permissions table. Remember this, not forgetting about saving changes,
and then if I go back like this,
I mean go back, so log out, and then I see this blog there. Well, first of all,
first of all, where is the blog in the menu? It's not there, it was there when I was logged
in. Well, but let's say I'm going to give us the array,
and let us like look the body man's blog. Okay, so finally I can see it there,
and then maybe I'm going to be able to do the comments.
Yes, or not?
See? Look is commenting, even if Luke has no
user on this website, and Luke did the comment.
So your comment has been QE for review by site. So yeah, we have to probably do another
permission, so it's supposed to be visible without it, but please don't.
All the comments supposed to be moderated, right? Because people can put offending words
there, curses, you know what I mean, right? Hate, hate will go there straight there,
so be careful if you enable this permission. But of course, if it's a blog, well,
maybe I want to know what people think about my posts in my blog. Then I need to allow them
to create user accounts, or at least allow them to do the comments if they don't want
to create a user account. But decisions supposed to go from the big picture perspective,
your business perspective, obviously, but of course it's doable. So yes, I'm going to say,
yes, you can allow people to comment your blog without creating an account.
Okay, what do you think? Questions, remarks, because we're supposed to do the lunch break.
What are your thoughts? What do you feel about it, maybe also?
Thank you. Anyone else? If you repeat the steps, a couple of times per day,
you will remember how to do it. Sooner or later, you will get used to it, and you will
even have habits how to use your Drupal. And then one of your colleagues will change the theme.
Everything will be in different colors, in different places. But the configuration theme,
administering theme in Drupal will be the same, because it has its own theme. So even
someone will change the main look of the website. Don't worry. If you edit things,
it will be the same, as long as no one will change the administering theme to the
one, obviously. But yeah, I'm just saying. So it's quite easy to get used to Drupal.
And the only suggestion, actually, the final suggestion, which I could provide to you is
like, just try it. Just do it. Don't be scary about it. Don't think too much. Sometimes
even do not think too much. Just click it. Just try it and play with it. If you spoil
it, you can try to go back. You will learn from both doing it and going back. The more
you train it, the better you become in Drupal. That's the only way. Any other remarks,
doubts, questions? Nicole, maybe? What do you think? Oh, I'm disappointed. You still
like Drupal? You still like it? I need to make better. I need to make myself stronger
somehow to make you hate it. Joking, joking, joking. Thank you, guys. I see.
I see. Yes. More often that's the scenario. That's the case. Because installing modules,
first of all, by itself is dangerous. Because it can spoil the website. It can make it like,
stop working. Deathwise scream. The whole website. That's the most important reason.
Secondly, security issues, obviously. The third one is like, if you give your users too much
power without responsibility, sooner or later it will be broke. It will be somehow spoiled.
People overuse the power. Always. So either give them smaller one or only to the trusted one.
So at least two admins supposed to be in per Drupal website, in my opinion. At least two
admins. Well, the main admin who is responsible for the whole thing. And even for this guy
or girl, we should create another account. As a good practice, we should actually avoid using
the main God admin user, the one we created the website with. Because that user is like
too powerful. That's why we create different roles. By default, we create another role
called admin. And then we assign some specific permissions only to this admin. Not the whole
thing. Because too much power will revenge sooner or later, somehow badly. So I would
answer this one. I'm not sure what would be your setup, because I have only a brief talking
with one of your colleagues or two of your colleagues, actually, I think, before the
training. And they told me only that you will have a Drupal website. You might already
have one for tests. And then you're going to migrate from some old school way into Drupal.
So now I believe you. You like it because your previous experience might be even worse
than Drupal. So I understand. So yeah. Okay, guys, let's do the lunch break. An hour. We
have 5 past 2 p.m. And then enjoy your meal. Refresh yourself. Open the window in the
room, maybe if possible. Yeah, exactly. Yeah. For me, it will be an early breakfast.
Thank you. Cheers, guys. Take care.
on 2025-06-11
language: EN
WEBVTT
Okay, it's about sad. I'm gonna go to your screen, let us look together, only on your
machine. Okay. I'm gonna make it interactive. And hit refresh to me. So, what exactly
do you want to do? Same thing. Look at the extensions, which are in the core already.
I'm gonna stay with you and I'm gonna see if you go to the proper thing. So,
manage, extend and search for... maybe there is a filter at the top. Try to use it and type
Looks like you enable them all and there is content translation. So, it says
show language selector to create and edit pages. Yeah, and then it's still not
translated, right? Yeah, but think about it. If it's your own content, the one
So, how Drupal could do the translation for you if it doesn't understand? You have to
tell it. You have to provide your own translation. So, go to your user
interface translation on the left side in this manage left sidebar. There is
user interface translation. It's already opened. Oh, it was. No. Regional
language? No, you're not. I'm blind. I'm minus four. So, yeah. And then search for
this string, which is already in English, which you would like to translate into
Dutch. Yes. If it's your own one, well, you could do install... try to
install... find an install module, which will automatically try to do it.
Like, you know, maybe a Google API with Google Translate or anything, but don't
try manually first, you know, because it might be better. So, you have to
first of all, in another tab open the page, which is showing your new content
in English. So, it's supposed to be opened and used by you in a yet
separate tab in the browser. And then in another tab in the browser, go to
configuration and then try to translate. That's the way. Yeah. And you
know what? Can you stop for a sec? Can you stop for a sec, because I think it
might be meaningful to everyone else. So, I'm gonna share the screen and we
will show them, alright, how do you work on it, if you don't mind. Can we?
So, I'm gonna connect your machine separately and then share the screen,
which is on your machine. Guys, I'm about to share Sebastian's machine,
Seb's machine, and then Sebastian will show you how to translate your
user interface, if you have something really specific. Yeah, you copied the
thing which you want to translate, right, which is a title. Good. You
can just, maybe you can filter only untranslated strings and then filter.
And it says no strings available, which means probably you should search
for something shorter. I would say just Dutch, maybe. And it says, it
still says nothing, no strings available. So, either Drupal didn't refresh
it properly, or we are not specific enough, or... See? Finally, you found
something. But then, is it exactly the thing we needed? No, really, it's
something different. It's not yours. That's not the one. So, I said it was
doable, but it's tricky. It's not that easy. You have to be very
precise. So, can we go back to this content in another tab, the one you
wanted to translate? And this one, you are looking at it in, yeah, English
version of it. Good. Copy the whole string again, the whole thing, go back
to this user, yeah, and then search again for the whole string, but this
time, yeah, do not change this, search in, yeah, just everywhere. Good. And
the problem might be related to either missing modules, or try to also...
Actually, leave blank, leave blank and click filter again. We will see
what's available, maybe this way, yeah. And then scroll down and let's
see what's available. Or that maybe now you could say left Ctrl F, left
remove, maybe keep one blank only there, single blank, you know, not
ready. So, it looks like it doesn't see it at all. So, it's not really
clear enough. Do we need to configure something more, or is it like
Drupal is not refreshing? You are 100% sure you ticked all the check
boxes related to blog, right? Well, there is content there, right? So,
it should be fine because it's part of the content, right? So, it
should be fine. You did save the configuration, right? Yeah, and yeah,
okay, okay. So, leave it like it is now and then go back and search
again. One last time. If we don't make it, then it means probably we
should try refresh caches and then play with it again. Okay, but no,
no, I mean you have to still go there to the configuration, which
says translate interface. So, manage, configuration, there will be
languages there and then user interface translation. Wait a sec,
user, no, content language translation, right? We were in the
wrong place, I think. Oh my, we were trying to translate user
interface. But wait a sec, user interface. No, it's supposed to
be content, right? But then where is the filters? It's like
just, yeah. Well, the default language for when you, well, this
is like content language and translation. So, the default
content language will be the one you choose here, right? Yeah.
So, each time you create blog post, it will expect from you, or
let's say it will be visible in the default language we choose
here at this very moment. So, this is default for showing only.
Can I actually, you take the mouse for a sec, I just want to
double check something. So, first of all, we have this, yeah,
this is just config. If I really want to translate it,
yeah, this is for interface. Well, we could check for this
also. Content translation is enabled. So, if I go to
configure that, I still have the same thing. But it looks
like we have no simple user interface to allow to
translate. So, if you go back to that one, so translate
search for specific audio translations. Well, it looks
still good to me, but this is still like not seeing the
same from your perspective, right? Okay, let's try again.
It was blah for sure. I don't remember if it's actually,
yeah, yeah, filter. If I say, if you do what, sorry?
Just blog, okay, yeah. Yeah, because it's case sensitive,
you have to be very precise, but at least we have,
well, let's look at that. Yeah, this is not the thing.
Looks like it doesn't see the thing, right? Because we
checked all of them. And if I search there for this,
it's not there. Yeah. So, it's not really about the thing
we want, which means either we need the module because
it's not by default there or we did something wrong with
the main language configuration. Let's see languages,
maybe this. No, that's okay. Your main language is
English. Okay, let's go to your screen and we will see
if you are truly having the same thing. Yeah, let's see.
You did install Dutch. You did the content in English
and then you translated into Dutch. So, the process was
fine to me. Show us. But can you show us the, yeah,
but can you show us the content? Can you go to
your own blog post. And look, you are in English.
Now, switch now to Spanish. I believe really another
blog supposed to become Spanish language, magically,
if you did it. So, show us. Yes, but we were talking
about, well, the question, I mean, Sepp had a question
about the content itself. Can I click on your screen?
I'm going to show you what we mean about that. We are
here. First of all, where is your language switcher?
You didn't provide it. Okay, no worries. I'm going to
do it. Now, guys, please focus because Sepp did it,
but some of you probably not. So, we go to structure
and log, log types. Let's just start with that.
And now we can create blog. Blog is a specific type
of Drupal creature. It's different than just
content. It's a special way of creating content.
Blogs are placeable. In blog layout, we can see
what are available blogs or regions in our theme
in Drupal. You see those yellowish, or it's like
yellow, I think, sidebar or social bar, small
sidebar, main content, content below, header,
primary, secondary, and then footers. And then
the language on my website is supposed to be
easily switchable. And for that, we have blog.
So, I go for blog layout again. And then, for
example, if I want to have my switcher like
you did, Sepp, in the footer. So, you say go
to the footer and then maybe place the blog.
And I'm going to search for language. And it
will be like this, language switcher. I'm going
to say place blog. I'm going to say allow to
change all of the languages. Save blog. And
then don't forget to save blogs. And then I
go back to site. We will look at your, we
still are there. And then downstairs, I should
have the language switcher. And the thing
Sepp wanted to have was like this. If I
click Espanol, this also supposed to be
Spanish already. So, no, you don't have it.
Now, we are struggling with doing that. So,
I'm going to try to do it on this website
together with you. Or let's say I'm going
to go this way. You know what? I don't
know Spanish, so I need to go back to
English, definitely. Especially for that. And
I go for the language itself. Languages. And
then the default one is Spanish. So if
this one is default and I want to
translate, I can, for example, find
something in English. That was original.
And then I have edit the Spanish one.
So this is like just name for this
specific one. But I already have it. So
this is not the thing I want. So let's
say I want to maybe do it this way. If
I'm in the blog and I go edit, in
this mode it will look better. And then
I have translate. And then it says
English. See guys? Sometimes things are
a bit hidden. Well, we could try to do
it in general and search for the
specific string, which is also
working, but it has to be configured
properly. Or we can go for this
translate bit. And because that's the
original one, I'm going to go for
Spanish. Then I'm going to add
translation, because it's not
translated yet. Now I'm able to do
it. Well, do I know Spanish? No, but
I'm going to test it this way.
Spanish. Let's keep it in typos. It
will look more than Spanish also.
Spanish translation of this very
title. And then let's say that one.
So really not a blog. Actually,
it could go and be really precise.
I'm going to copy that. I'm going
to pretend that I know Spanish.
Let's do it quickly this way. Why
not? At least once. And then we
need Spanish. Right. Awesome. I
had it. Got it. I'm just going to
replace it. Maybe the whole thing
because it's already with some kind
of, yeah, at least that. And
let's say I'm going to remove this
bit. Just to make it simpler. We
have title, which is Soto
pretending to be translated. The
content is truly translated. And
then I'm just going to say save
it. Then when I speak between
languages, it's supposed to show me
the difference. So I'll go back to
English. It says really another
blog. And then I go downstairs to
switch it again. And now it
works. So that's the way. Or
let's say this is the way which
will allow us to translate the
whole thing. One single node in
Drupal. In this case, it's a
special one because it's blog
post, for example. So either we
configure properly the one string
at a time and we still can do it
this way. But then it's like it
has a weird process. We have to
be. That's why I told you,
Sam, to be on the page in the
language you want to translate
into another one and then go
back to this user interface,
search for the string. But
sometimes it doesn't work or we
just didn't configure it
properly yet. I'm not 100% sure
because this is your website and
I didn't think you did
configure it. You could click
something else in the meantime,
but doesn't matter. From let's
say better practice
perspective, I would go this
way. Translating in this
additional time. And then I
can quickly see, well, is it
available actually or is it
translated or not, et cetera,
et cetera. So I would answer
your question, Sepp, this
way. All right. This is the
best way to try to translate
things. Guys, do you see it?
The other guys. Sepp, are you
happy with this answer? Okay.
I'm going to stop showing the
screen, guys. I believe at
least all of you did enable
languages. And the next thing I
want you to do, if you
didn't yet to try by yourself
to is to add this language
feature. So I'm going to show
it again on my screen, right?
On my machine. Well, of course
I'm going to do the same with
you. So I'm going to do that
one, interface translation.
And also I'm going to search
for translate. So
configuration, content
translation, the whole thing.
And then I'm going to install
all those modules in one go.
Good. Now I need some
configuration to be done. So
I'm going to go there. Then
regional language. And of
course I need to add some
languages first. I'm going to
start with that. Let's say I
need Polish language. Why not?
So we can learn Polish too.
It will add some predefined
translations, which are
already available for the
system, for the
configuration, for the
interface in Drupal. It will
take time because it will
literally download
translations available from
Drupal website. Yeah. And
then I'm going to need another
one. Let's say German. Why
not? You could have different
flavors of English if you
like. There is British
English, US English, even
that, even that. And then I
decide which one's supposed
to be default. I'm going to
keep English as default. And
then let's go back to
content. So my idea is
diary. Now I should have
translations also if I
truly do the job. So first
I'm going to put in my
structure the same. How do I
know? Well, if I go to
languages, I don't need to
search for it. It will tell
me if I go for languages,
it will say this. Well,
actually Drupal told us
when we installed that you
can add the language
switcher. It was at the
very beginning. I think it's
also, I think it will be
also in the help section.
Let me check quickly. Yeah,
that one. Yeah, it doesn't
say directly what's
supposed to be done. Not
here. But then, well, we
can sort of conclude it
from here. We need to
provide something which will
allow people to change the
language. Well, we can say
every user, even anonymous
user, but it's about blocks.
So it's sort of hidden
here, but we have to go
there. Structure, block
layout. And then I need to
know something about
blocks. In my case, I'm
going to put it in the
header or maybe in the
place where it has the
menu. Yeah, maybe here. So
primary menu maybe. And
I'm going to place block
language switcher. And I'm
going to say allow
everywhere. Now roles. I
content type. So this
language feature supposed
to be visible only maybe
on blog type of content
may be related to the
response from the server
perspective. Like if it's
success, then and only
then show the language
switcher. But I'm not
going to restrict it by
now. I'm going to keep
this long, ugly name
language switcher. I can
change it later. I'm going
to say the block and this
is important. Say the
whole configuration of
all the blocks and then
back to side. And then
I have my language
switcher there. Well,
it's in the menu, so
it maybe doesn't look
good. Yeah. Do we
really need this
language feature? If I
see languages, probably
not. So I can do it
this way. Configure
block and then not
display the title because
I really don't want
it. Say the block and
now it's better a bit,
sort of. And then I
can switch to polish,
for example. Obviously
this is still English,
but we already know
how. Yeah, I need to
edit and then would be
nice to have this
translate, but I don't
have it there. So what
is the difference between
mine and for example,
damn yours. Did I
missed some module or
did I configure it or
what? I didn't
configure it properly.
I go to configuration
again, but of course
now it's Polish language,
so you don't want it.
You prefer English
guys. I'm going to go
back to English,
obviously. And then
again, configuration,
regional language,
languages and actually
content language and
translation. See, I
have this content
tick box ticked. Then
you did have also
said you did. I didn't.
So if something doesn't
work, if something is
not visible in your
Drupal, it means
either you forgot to
refresh the page,
refresh caches or just
enable the
configuration. Enabled
works better. So
obviously I forgot. If
I take the content
now, maybe taxonomies,
I'm going to have this
nice thing, but of
course I need to check
which one I want to
say article, blog,
post, and then basic
page. Let's say for
everyone, everything,
and I'm going to say
configuration. And of
course, going back to
the site will give me
the translate tab on the
content level. Only
I need to know when to
configure things, how
to configure them,
which part, a lot of
clicking, not only
from content
perspective. So let's
go translate it.
Polish, not translated.
Let's add one.
And then the title
itself.
Now I'm speaking
Polish proper one. And
then of course I killed
the cat today. All
right. At least one
line. Zabiłem. I'm
going to change my
keyboard to Polish.
Yep. Dzisiaj kotka.
Gosh, that sounds
even worse in Polish
language. That would be
nice to also, you
know, translate the
blog tag, right?
Because it's supposed
to be there. So I
could consider to do
it on this level and
see if it will be
translated or not. So
I'm just going to do
it. I'm going to say
Zabójca because this
is killer in Polish.
Yeah, we've got the
weird characters from
Polish language. And
then I'm going to save
this translation. And
then we go to English
again. My dearest
IRA. So I killed the
cat today. Now Polish
supposed to work.
Mój drogi pamiatniku. Zabiłem
się kotka. Awesome.
Works. Done. This is
how we can translate
to very detail.
Everything. The whole
interface in Drupal.
All right. Now it's
in Polish. Wylokuj mój
blog, moje konto,
publikacje, edytuj.
This is all Polish
language. Even that.
Zawartość. Now it's
not only a content,
it's zawartość now.
Let's check German.
Inhalt, struktur,
n-weiteren, konfiguration,
benutze. German.
And look, guys, you
don't have to spend too
much time. We don't have
to download it manually.
It will download the
translation from me.
A lot of things are
happening automatically.
That's great advantage
of Drupal. Just like that.
Gawol. Exactly.
So let's go back to English.
Do you have questions?
Well, depending on the
size of the content
probably, and if I'm
happy with the automatic
translation, because
sometimes automatic
translations might be not
the best. So if I
well, if I don't care
too much yet from the CEO
perspective, I would
probably go for automatic
translation. And then,
of course, we should tell
our users this content
was automatically
translated with Google
Translate, chat, GPT or
anything else. I just
need to inform the
people, tell them because
they will, otherwise they
might complain. Well, I
was trying to buy this
course and I saw this
I can't stand it. It's
not proper English. Guys,
please change it. And I
saw it. There is a
polite message under the
bonnet that's automatically
translated. We are staff
outnumbered. Half of the
people were just fired
because we are in the
crisis. The whole world
is in the crisis. And my
dearest lady, please go
and hack yourself off.
Hack yourself off so you
can hack it yourself. If
you don't like my
language, English on my
website, if you are so
British to fix my
English, please do it
yourself. Or I'm going
to be polite. I can't
change it for you
because I'm a foreigner
and I don't know
proper English. You can
complain in this form.
Click there, complain,
please. It's up to us.
But I'm going to answer
this way. If I really
have big content to be
translated, I would
probably go for the
automatic way first and
observe what will happen.
If it's good enough,
not too much problems,
then I'm going to use it.
And then I can tweak it
in the meantime, if I
really want something
from the CEO perspective
to be properly
translated, which means
visibility in Google,
maybe by phrases, not
just keywords. So
probably my answer
depends on the business
perspective strongly.
But yeah, if it's a
small website, no big,
let's say hundreds of
pages for the content,
I'll probably translate
it manually, precisely
like this. Okay. And
then have proper nice
content. Because if I
translate it as a
human being, I'm going
to triple check it.
And I'm going to be
100% sure it
translated properly. If
I allow an automatic
tool to do so, it will
always do something
wrong, probably sooner
or later. Even chat
GPT can translate it
in a bad way. Sometimes
it will lose some
context. You know, it
will, it will change
some small details in
a way I don't want to.
So be careful with
any optimization, but
probably it's a good
idea to use it.
Always at least try.
Yeah, we could actually
do it together now.
Let's say, uh, how to
note translate. Yeah.
Might be the useful
thing. Let me check
not to want. Yeah. See
one of the modules, which
could do the job for you
straight there and
triple hazard. I believe
we still use a noble
proc. Um, at some parts
of the website,
automatic translations.
Yeah. Because, you know,
sooner or later we have
like more than 900
different trainers at
the moment and more than
1000 different course
outlines and each new
trainer is adding his
own outlines for the
trainings in noble
proc. And then if I
want to translate it
myself, come on, I
will never do it
properly because I will
never have enough time.
So I need to allow my
people to do it
themselves like
trainers. They really
want to put it in
different languages.
Or maybe I can allow
my franchisees in
noble proc, people
who maintain one
website per country
to do the job
themselves, and then
they can do it manually
or automatically depending
on the story. And then
CEO is on top of it.
So I would say CEO is
the most important one
because if there is no
CEO, there is no website
visibility. If there is
no website visibility,
there's no monies
because no one is buying
courses. Simple. So
if I can make it
better when I translate
manually, then I'm going
to spend time on it.
If I don't bother
because the keywords
are separate thing,
which will be something
to Google and just some
parts of the content
are okay to be
translated automatically
that I'm going to allow
to my people, to my
users, to my franchisees,
etc. So yeah. But that
was a good question
actually, Thomas. Thank
you for this question.
All right, guys. Any
other questions,
remarks, thoughts? I
believe we're ready to
go further. Let's go
further. So we did
exercise number one.
We translated website.
We created simple blog.
So we know now how to
install new module in
Drupal, how to enable
existing modules already
installed, downloaded,
how to change
configuration in Drupal,
how to place a block
in Drupal. See how
many things we found
out in this small one
exercise and also how
to do, how to cooperate
between real changes
and configuration itself.
Now you see it's strongly
related, strong
relationship between the
content itself and what
does work or not and
the configuration. All
right, let's go deeper.
Let's go deeper. Themes.
We will go back to blocks
later on more and the
content itself. Let me
think, should we go for
themes or should we at
least create the content?
No, we will focus on
content later. Smaller
things first and then we
will go for the big
guys. Themes. Theme is
like module, very
similar from its
construct. It's another
extension to Drupal. We
install it in the same
way. We just switch
it, enable it in a
slightly different way
than module, right? I
already showed you the
way, but let's look at
it again one more time.
We have contributed
themes, which is like
open source available
themes for free. I can
create my custom theme
and this customization
one can be really,
really detailed to the
very small single
character in my website
and starting with the
regions. Of course, we
can use so-called sub
themes. It means we
install predefined,
pre-configured schema.
And then on top of that,
we build our custom
theme, but for that we
need to have some
skills like CSS, a bit
of JavaScript, UX
designing, front-end
designing, prototyping,
you know, knowledge
about colors, pictures,
things like that,
graphical stuff,
graphical skills. Or
we can just find the
proper contributed one
and then choose from
plenty of them. There
are also so-called
gardens of themes or
theme gardens available,
findable in the
internet like this.
And then on such
a website.
Oh, come on, where are
you? Oh, it doesn't
work. That's a shame.
It was working a couple
of months ago. Okay.
So actually I need to
find something better.
Closed after five
release template
toaster. Maybe I want
quite old also, but
let's see.
Yeah, you have some
free templates. You can
buy from them. Yeah.
If you don't want to
do it yourself, there
are so many choices
today to let other
people do it for you.
Plenty of free templates
or you can buy one
from them. One of
my, let's say
colleagues asked me to
help them with the
website. They do
videos of events like
they have a company
owned business and they
do video. They do
record events like
weddings, first Holy
Communion event,
you know, things like
that. And they wanted
me to help them to
create website for
their business. And they
asked me to do it
in Drupal. And they
already told me they
bought a theme from
a company. So they
already invested some
monies. They gave me
all the information
and I just did the
whole thing. I did
install the theme. It
was already nicely
done. And I just
configured it for them
and they were selling
their services through
Drupal website. Thanks
to predefined theme,
which they bought from
external company, not
from the Drupal.org,
but they bought the
theme from someone else.
Someone prepared the
theme, which they liked.
And it was precisely
about website, which
sells the video,
doing videos of photos
from events like
weddings. I think
their website is
already dead because
they left the
business. Yeah, I
think they stopped
it. So I'm not able
to show you, but
yeah. So it's very,
very easy to find
solution. Now I'm
going to go for first
off, I'm going to do
some cleanup. You
don't need that one.
Actually, I already
have that one. I'm
going to search for
the theme and install
it, and then you
will do it. Similar
exercise. So download
themes and then works
with Drupal 11. Don't
do it yet. Just observe
and then you will do
it right. And then
I'm going to say maybe
just this. So quite a
lot of them and I
want to find something
simple.
Let me check.
Follow.
Yeah, maybe that
one looks nice.
Let's see. How does
it look really? Hey,
there's a picture.
Yeah. Looks good to
me. So I'm going to
use that one. Now
let's check the
stability of it.
Looks like it has
plenty of advanced
things. Works with
Drupal 11. Okay,
let's try.
Okay. And then of
course DDEV.
And now I'm going to
try to enable it.
Yeah. See, we
cannot do that because
it's not a module.
It's a theme. But
how to do it with
Drush to enable the
theme, it will be your
homework for tomorrow.
Okay. You need to
find out by yourself.
Now let's do it from
the website perspective.
Appearance. It's on
the list, but it says
uninstalled theme. So
I'm going to say
install without making
a default because I
want to play with it.
And then I'm going to
look at settings. And
I see there are some
simple settings
related to CSS, layout
settings, breadcrumbs,
author date, search
engine optimization.
Nice. They have plenty
of options. There's
kind of slideshow there.
So rotating something,
maybe pictures, social
media links already
there, and even some
other things which are
miscellaneous things.
All right. So I'm just
going to enable it
now. I see it's okay.
So I'm ready to enable
it. And then set as
default. And first check
will be like this. Back
to site. Oh, interesting.
Now you're talking.
Looks better. Looks
better. Straight there.
Facebook thingy,
Twitter linked in
Drupal itself. If you
don't like this powered
by Drupal, you can remove
it easily. All right.
I'm going to keep it
for now, maybe this
way. And this is your
turn now. The exercise.
I want you to find,
let me check. Maybe I
should. Now I said
choose and install a
suitable Drupal theme.
Okay. Find the same
one. ABC. Install it.
Please do it now.
This is your exercise.
So the same one as
me. ABC.
I'm going to close my
window.
Guys, after installing,
try to play with the
options and observe what
will change when you
change something in the
configuration, switch
something in the
configuration and observe
what will, how it will
reflect the changes to
the skin, the theme
itself.
Hmm. I'm still changing
mine because plenty of
options. I'm trying to
change as much as
possible, actually.
And then in one
refresh, we will see
the amount of changes
in a sec, in a couple
of seconds, maybe many
item colors. Okay. So
dark gray, then black.
Last item should be pink
and rollover maybe dark
gray. Yes.
Uh, we'll be with you
in a sec. Um, this is
almost okay going to
screen.
Make interactive resizing
waiting for the refresh.
Hmm. Okay. I'm
connected. So yeah,
because probably, um,
it doesn't use tabulator.
Yeah. And then hit
enter. No, no, no,
no, no, no. You have
to go. You do too
much. You have to go.
City is one command
and then, uh, yeah,
see you were doing
good thing, but remove
DDEF and it should be
fine. Use tabulator.
It will help you with
the names. Um, but not
this way. Single empty
space. Actually, well,
my, it might kind of
work eventually. Just
hit enter now. No. See
go arrow up and remove
the first slash. So you
have to go to the, no,
no, um, use arrows
only. So go to the
left or just hit home
button and then remove
this slash. Yeah. And
then hit enter. No,
no, the slash and just
entered or you are in
the proper place now.
And then you can paste
the whole command. DDEF
composer, et cetera.
Yeah. Even if you do
it in windows, you
still have to do it in
the command line and you
still have might the
same problems. So it
doesn't matter if you
are in Linux in
windows, but well, it
does. If you want to
speed, if you want to
make it faster, it will
always work a bit
slower on windows. I'm
afraid. Yeah. Good.
Go. So many options.
I'm already into bread
crumbs, but so many
are waiting. Okay. Let's
see that one. Good.
Display, author and
date. Maybe just
author only. Oh,
interesting. My
reminder says do the
break Lucas. If I do
it now, they're going
to have an hour and
a half. Okay. Yeah.
In a moment, in a
moment, let's finish
this exercise at least.
Good.
Right.
Yeah, this is just
so slight. So on all
pages. Good. Full
page image, half
page image.
Let's say
50. Yeah. And then I
need slides. So
okay. All right.
That's fine.
And then social
media links. Yeah,
we could have more of
them as you can see,
Telegram, Instagram,
Pinterest. Oh my, oh
my sky profile. Well,
Skype is dead. No
longer Skype teams is
replacing Skype. That's
okay. Oh, there's
social custom one. I'm
going to put my own
website. Why not?
And then all the
things disabled cash for
all blocks. Hmm. That's
okay. Logo per
language. Hey, that's
nice. So if we change
language, we could
have different logo.
The main logo at the
top of the website can
change the language.
Interesting function.
Nice one. Actually.
All right. So I have
configuration. Now
guys, can you look at
my screen? I'm going to
show you what I did with
my changes. So focus for
a moment. This is the
previous default version.
Okay. And I changed as
much as possible. Actually.
I'm going to refresh it
now because I think I
did save the
configuration. Now let's
see. Let's see. Oh my
gosh, it's way different
now. Wider, different
size of pictures. This
slideshow is already
nicely changing. The
search button is like
this, not an icon. I
made fonts bigger,
stronger, and the color
is green because I love
green. Hey, I like it
now. I like it better
actually. Orange titles,
black. Yeah, good. I'm
going to leave it like
this. So installing your
theme is easy, like
module. Let's summarize
it. Playing with it is
also easy. You just
need to go to
configurations,
appearance, configuration.
And look, if you go
to settings, every
theme has its own tab
there. So I can
configure my website
per season, specific
occasion, and just with
one click change it
later on, which is
really nice. What else?
I could actually make
it really simple. I'm
going to show you
something really,
really simple. Where's
my social media stuff?
Yeah, I changed even
this. Awesomely
spoiled by. So just
very simple thing. If
someone is doing
something in my
website, it will have
always this prefix
awesomely spoiled by.
Nice. And okay, I'm
going to go for the
homepage and then I
should have maybe on
the homepage, my social
links. No, they were
in the sidebar, I
think. So yeah, I
think I exaggerated
with sidebars, made
them too, too big.
Okay. What if I log
out? Let's see. Guys,
I'm having fun with
you here because I'm
using this theme for
the very first time in
my life. That's also
fun for me. Oh, where
is the social media?
Yeah, definitely
spoiled somehow. Okay.
Doesn't matter. I can
still show you. This is
my custom website,
which I use for my
company. I'm rarely
using it. It's just
for the sake of, you
know, keeping business
conscious. And this is
like Drupal, of course,
right? This is Drupal,
but very basic one. I
didn't change much, just
some colors. I made
this content visible.
Only my email address
on the left side. No
many at the top at all.
Yeah. Very simple
footer with some
collaboration stuff.
Some, you know,
charity things. Yeah,
very simple. Just like
that. And this is
Drupal also. This one
Drupal 10. I didn't
migrate it to Drupal 11
yet. I don't have
enough time. All
right. Questions,
thoughts, doubts,
complaints, ideas. Do
you like it? Do you
hate it? What do you
think?
Something didn't work.
What do you mean by
didn't work? You mean
yeah. Oh, you mean
yeah. So, okay,
Drupal themes. Just
like that. So obviously
org is the first one,
but there is theme
forest. I think that's
the proper one. There
is Drupal themes IO.
Yeah, so that one has
it like corporate maybe.
So you can quickly
look. How does it look
like? What does it
have? What the price
of it? And there is
another one Drupal themes
IO, which is also a
nice one. And we can
compare plenty of them.
I can even use demo.
It's a healthcare plus.
Let's see. They even
have variants. Nice.
So maybe that one view
demo.
Yeah.
Under the bonnet,
probably they're using
some kind of virtualization
also. See? And I can
play with it. Nice many.
Look how nice this
many is at the top. I
just hover. I see that
it's changing the
background, moving the
link slightly to the
side.
It's loading a bit
longer, but it's something
demo on top of another
website. So it's supposed
to be like this. Yeah.
It might be, might be,
especially because of
this. Good question.
Very good question,
especially because of
this. Look, each of
those teams might have
slightly different block
layout.
Exactly. So for each
of the teams, we have
to properly assign the
blocks, structure, the
sidebars, the menu,
maybe the footer stuff,
links in the footer,
maybe somehow differently
because they might be,
might have different
size, flow, floating,
colors,
ranges or spaces between
links, spaces between
columns. It might, the
whole thing might be
different. And then I
have to carefully tweak
it.
Let me log in again
because I logged out.
And then I wanted to
show you actually this
because this is important.
So structure and then
block layout. So
demonstrate block regions.
This is important. That
someone will tell me, for
example, this ABC team
has slightly different
amount of regions and
they are organized in a
different way. So
actually two menus,
header is there, some
top links, top region,
bread crumb, some users,
spaces, sidebar first,
sidebar second. So it
has two sidebars and
then three different
footers. This is just
demonstration. Of course,
if I want to put
something in, in those
regions, then I have to
go out of it and then
literally put something
there. So maybe I could
put my language switcher
somewhere else, for
example, to my bread
crumb and see how it
will look like. Well,
of course I need to
remember to save the
blocks and then just
refresh the page and
see how does it work
now. There doesn't look
good. So I'm going to
again and again, as
long as I need, when
I'm happy, I'm going to
leave it there. I can
just go there to the
specific one block at
a time and use this
magic pencil, configure
block. This is
shortcut. And I would
say maybe for this
specific theme, right,
for this specific theme,
I want to put it not
in the bread crumb, but
maybe footer right.
Save the block. And
then I go downstairs and
I see, oh, well,
almost there because
these dots are really
far from the name. So
I really don't like
that. Well, I know how
to tweak it as a
coder. I hide it
totally from the
program programming
perspective, but we
prefer clicking, right?
So, but this is the
way, right? This is the
way you place it in a
different blocks and
see how it looks like.
If you don't like it,
you go put it
somewhere else. So
from my perspective,
what is important to
remember for you,
what you should post
supposed to remember is
this go to structure
block layout and then
demonstrate block
regions. If you
remember that this is
important. Try to
memorize this, this
place because it will
show you. Yeah. So
if I go and switch
maybe the theme again
to something else,
like maybe Claro,
I'm going to set it
as default and then
I'm going to go back
to structure and block
layout, demonstrate
block regions. It's
way different now.
See only small amount
of regions, very
simple regions, not
much of CSS work,
the same size. Well,
that's okay. If I go
back to site, now this
will be actually weird.
See now it looks
really bad because I
changed my main theme
to the same one,
which I use only for
administration purposes.
So it looks okay,
but well, I don't
like it. So I'm going
to go back. Obviously
and change it to
YBC. And after that,
we're going to do
the short break,
last break for today,
guys, a quarter break,
15 minutes. Okay.
We come back at
now I'm going to be
lost. Yeah, I knew
it. Yeah, exactly.
Thank you. Last short
break, a quarter,
15 minutes. Okay.
See you in a bit.
on 2025-06-11
language: EN
WEBVTT
Let's do this together on my screen.
Some of you did it, some of you tried to do it in different ways.
So, I want this blog tags field to be visible each time I go to every blog post at the very top of it.
So I'm going to manage display, but this time not of basic page type, but blog post.
And then I'm going to say tags supposed to be at the very top of it.
And then I'm going to save it.
I'm going to go back to my blog and I'm going to refresh it.
Now it says at the top, but this one is still there.
Before it.
And I said try to do it, try to put it actually differently.
And we want this one also to be below.
Blog tags supposed to be at the very top of it.
Now, is it possible to do it easily with clicking or not? What do you think?
Well, if I just edit single blog, not really.
Well, I could say in this authoring information something, but then still it's like just changing who's the author and when.
So maybe not there.
OK, so I'm going to go back to the viewing and looking at it.
Then I could try to change the display over.
I click too much.
Now, here I clearly see that manage display has my blog tags at the very top of it.
There is one mysterious field which is called links, which actually looks like the thing, but it's still in Drupal in this specific skin.
It's provided at the very top.
So there is some place which is overriding my changes, apparently.
Well, maybe not. We don't know how to find out.
We have to either go for help, search in documentation, maybe look at the code later on somewhere in PHP.
Maybe there's something which is spoiling it, but it's not that easy to move it literally above it.
We have to configure Drupal in a way to make it working.
So let's see. Maybe there is something in custom display settings.
And it says Drupal provides view modes.
So we have not only modes themselves like form mode, view mode, edit mode, update mode, creation mode, but also view mode has its own modes.
See? So many options, so detailed options.
And it says full content, teaser, some RSS feed, etc.
If I say also do it on full content and save it, it might change or not.
Let's repress it.
Well, actually, this is full content. It's not a teaser.
Teaser would be in the places like views or front-end page.
If I go back to the previous approach, teaser is like shorter version of the main content.
So it's still upstairs.
I could try to find out what's behind of it this way.
And it's a small div element, which is inside of the footer.
Footer in the main content.
This is weird. This is header, article.
So this is like HTML behind the scenes and I'm already too much.
So it's the specific thing, which is just behind some element in this article, because this is pure HTML.
And then I could probably search for it by specific name maybe.
Or class.
And eventually I'm going to find it somewhere in the code.
Something which is responsible for that.
But in a clickable way, just like that, on the first level of configuration here, I cannot change it.
Well, I could go for full content maybe.
And then try to do maybe this.
Hide the links.
I'm going to save it.
Go back there.
Hopefully this will disappear, because this is link.
Link to author.
Let's refresh it.
But it's still there.
So there is something which is overriding it.
Definitely.
Well, maybe I should just clear caches and then it will work.
Let's check.
Clear caches.
Also we could do this.
From the command line, obviously.
I could say drush.
And then I think it was like this.
And then I can choose which of the caches I would like to clear.
Rendering, container, views.
Well, let's say rendering.
So from command line is also doable.
Now I'm going back after clearing caches to my page.
Which was part of my blog.
And then let's say that one.
It's still there.
So it's not caches.
Something in the code is keeping it there, because it has priority.
How to change that in ideas?
How to redesign the content to make sure I truly want this to disappear?
Mm-hmm.
Mm-hmm.
Mm-hmm.
Mm-hmm.
Yeah, that would do.
This will make it, it will hide it, yes.
But it's not what we want.
We want to move it downstairs or just below blog links.
Sorry, the tags field.
So yes, I was actually going to this direction.
So I wanted to share that too, but this is not solving our problem.
It's a workaround, yes.
Let's do this actually, let's do this.
But I'm going to do it for the whole content type.
So it will disappear everywhere in this content type blog post.
Which might be not exactly what I want.
Now if you refresh it, it's no longer there.
It's okay.
Well, sort of.
I made it at the top.
So yeah, very good, bravo.
I'm proud of you, Sepp.
That's sort of a solution.
Yeah.
Now there is another way, of course, to make it still visible,
but below the tags or somewhere else in the structure.
But then we have to involve another approach.
Which is simply this.
I'm going to show you the full thing.
Because it's like advanced topic already.
But at least I'm going to show you what to do.
So we go to Extend.
And it's here in the core.
It's called Layout Builder.
Look at the description.
Allows users to add and arrange blogs and content fields directly on the content.
If you enable that, you will be able to move this specific authorized by thing
to any place in the regions in your content you want.
But only then.
Just like that, it's impossible.
But if you enable this, then it's like a long thing to do.
Maybe not hundreds, but around hundred clicks.
Just for that one thing.
You have to organize it properly.
And it's like the whole story behind it.
It's strong, separate API.
And that I'm going to show you tomorrow.
Not today, because first of all, we have only half an hour.
Secondly, if I do it now, I'm going to do a mess in your hands.
I don't want to.
One thing at a time.
So thank you, Seb.
Good. Good.
Nice point with this disabling.
The whole thing.
Now, let's summarize this exercise and topic.
We were comparing.
Content and type of content.
Content versus content types.
This is data itself.
Real data in our business.
This is structure, which is describing that data, controlling it, managing it somehow.
And as you can see, we have plenty of options.
All right.
OK.
We talked about managing fields themselves, different types of modes.
Different view modes.
Editing the whole content type.
Let me talk about that.
I believe we're ready to go further.
So now we know the difference between content and types of content.
There is another important thing.
Fields themselves.
We have field type.
We have field widget.
We have built-in types.
We can make them visible in different display modes.
And also we can extend Drupal with different types of fields.
Either from core perspective, like I showed you.
Telephone field, right?
Or via searching additional plugin module.
So.
I want you to do the exercise.
This one will be simple.
I want you to create content.
Two or three content pages.
Basic page.
Let's do it this way.
Home page.
Make it your front page.
About us.
Describing the whole, let's say, company a bit.
And then contact.
And we want them to be visible in the main menu.
I know I didn't show you how, but I believe in you.
You will find a way.
So five minutes for that.
Create three basic pages in Drupal.
Home page.
About us.
Contact.
And contact supposed to be simple.
Not a form, just simple page.
Try.
Five minutes for that.
And of course make them visible in the menu.
And I mean this.
Here.
For example.
Or actually you know what, let's do it in the main menu.
On the side of home link there.
This is main menu.
Put them there.
About us.
Contact.
I already have home.
Try.
By the way I must say I love your customizations.
Especially yours.
When Drupal meets dreams.
When dreams meets Drupal.
That's a nice one.
Good one.
Thanks.
Guys I'm going to give you.
Guys I'm going to give you another example.
If you like you can stop or you can proceed.
If you know the way.
So I'm going to do one for you.
And then you do the rest of them.
I'm going to create about us.
I think I already did one.
Yeah I did.
So I'm going to create contact.
I want to say add content.
Basic page.
Contact details.
And then I'm going to say.
Now.
Before saving it.
Before saving it.
I have some options on the right side.
And one of them says menu settings.
I say provide a menu link.
Supposed to be shorter.
Just contact.
Description might be longer.
So who are we.
And where are we.
And parent links supposed to be.
Main navigation.
Just after home.
And because I want to do it on the right side of home.
I'm going to change the weight of it.
With lower weights are displayed before links with higher weights.
So I'm going to say one.
Because probably home has a zero.
As a link in my case.
Then there are other options.
But for now.
OK let's do it properly.
URL 80s.
I'm going to say.
Contact.
So this will be visible.
Instead of node slash something.
The number.
So it will be better from what?
SEO perspective.
Search engines.
Perspective.
And then maybe that's it.
I'm just going to save it.
Now it says the 80s part has to start with a slash.
OK Drupal.
I know.
But this is error I wanted to show you.
First of all Drupal will tell me with this red.
Stop.
Picture.
Error.
And I cannot ignore it because otherwise it will not allow me to save it.
I will never be able to save it unless I fix this error.
So it also wraps the field in the red color for me.
And it says this field is problematic.
Also the labor will be in red.
OK.
I was.
Ignoring the descriptions under the field.
Right.
I should read carefully each description below the field.
And it says precisely slash something.
OK Drupal.
Now it's supposed to work.
Hopefully.
Finally.
Drupal please don't stop me anymore.
OK better.
Now I have my contact details.
It looks like this.
Actually because I spoiled the body.
And then I have my link in the menu.
Just like that.
And also the URL address has contact.
Which is better from a lot of perspectives.
Not only SEO perspective.
And I did it with just one change.
Small change when I was creating this contact thingy.
I need to fix this page structure.
Give me a sec.
You can continue.
Thank you.
I just wanted to show you another example how to create it.
Please continue.
You need home page without us contact.
All of them supposed to be basic pages.
You.
You.
You.
You.
You.
Which menus?
So if I understand properly the question you won't put this menu in the sidebar.
Let's say there, right? For example. Okay, I'm going to show you in a moment, all right?
Home contact about us, looks like I did it.
Okay.
Okay, so far so good. Okay, are you ready? Did you finish? Do you have all three pages, guys? All of you?
Okay, all done, good. So the question was can I put this main menu here in the sidebar?
Well, let's look at the appearance and the theme itself.
I'm going to search for menu keyword.
There are some settings in this specific theme called ABC regarding menu.
So there are some colors, top menu colors, main menu item colors,
which is top menu. And it says main and secondary menu position. Well, I did, I said left.
This will change only the position, but it will be still at the top, not in the sidebar itself.
So that's not the thing I need, definitely. And no more options regarding that.
So maybe there is another way. If I go to struct and I say block layout,
I see top links, top written, user account menu, header, side branding, primary menu,
block, and there is main navigation menu there. So the only thing I need to do is to move it
to my sidebar. So I'm going to say main navigation, configure,
and then change the region. Let's say we need sidebar second, which is on the right side.
Say block and enjoy. Well, let me check if I... Yeah, it's there. See, it's there.
Because there are two menus there, maybe. Well, the tools one is okay,
because when I log out, it will disappear. Look.
Tools is only like this, user login for now. And I have my main menu at the top, which is fine.
Is it exactly what you wanted, Dane? Great. As easy as that.
What can we conclude from that, actually? Menu is a special construct in Drupal.
It's done as block. Let me log in again.
I definitely should put shorter login username.
This one is nice, but too long. Definitely too long.
And then if I just hover this menu with my mouse, I'm going to see this magic pencil.
In the right upper corner. If I just hover it without clicking, it might tell me something.
Or maybe not. If I click, it will give me some options, small menu. Edit menu and configure
block and maybe remove block. Block. Now, edit menu is a separate option. Let's go there.
Now look at the URL. Admin structure menu. I'm no longer in admin structure block or blocks,
but menu. So menu is a separate Drupal construct. Separate specific Drupal creature,
which can be configured, prepared, and it has its own rules like links, sub-menus,
but plenty of Drupal constructs, creatures, are available in Drupal as blocks.
So block is a special way of structuring the website. Block in Drupal is a special type of
thing. Plenty of things. If you install new module like blog or anything else,
each specific addition plugin module, contributed module, can have its own list of blocks
and its own entities visible or not as blocks.
So menu, it's specific in Drupal. How do I find it? Manage
structure menu or menus. Plural. So Drupal has nodes,
taxonomies, menus, views, blocks. Also comments and separate creature, which is called contact
forms. It's a separate entity in Drupal. Another entity is theme. So appearance,
modules. Configuration is a separate entity. Users, separate entity. Reports is a separate
entity in Drupal. Help, another entity, type of entity. Now you know what's general entity in
Drupal. Entity can have bundles or subtypes. Menu is like that.
So by default in Drupal we have those menus related to administration,
footer, main navigation. There are some tools maybe and user account related menu.
Does it relate somehow to the theme? Maybe if I switch theme I'm going to see less menus.
Let's see. I'm going to go to appearance and then go back to oliviero.
And then I'm going to go to structure menus and we will see still the same amount of them.
So they are transparent to theme. Of course the theme can
change the look of those menus in its own way. Each theme is per theme, but per skin.
But the menu itself is a separate additional Drupal construct, part of Drupal language.
I usually cover that later on. Why not? You are Swift learners so you can do a couple
things in one go. Good. Five minutes to go. Okay. Let's do the summary of the whole day.
Well, we have a good timing. We covered plenty of things,
a bit more than I planned even for the first day, so I'm really happy.
We have a good flow. That means we have a good flow. Now let's summarize the day.
We know what Drupal is. We got the first impression hopefully.
Drupal is new language. Drupal is website. Drupal is framework. Drupal is a lot of things.
We have different
parts or blocks in Drupal.
Extensions, users, structure, content. They are divided into even smaller
constructs or types or groups of Drupal creatures. I call them creatures because
I think I believe it's like a life organism. So again, blocks, comments, contact forms,
nodes, menus, taxonomies, so categories in the website, views. We will cover views
tomorrow. Very important topic too. We have themes, skins, modules, plugins, toys,
extensions, Lego, configuration as a separate, users also tomorrow. We already touched some
points so far in help. This is Drupal language, the default setup, basic stuff. During
lifecycle of our website, of this website, of any business website related to any business,
this might grow. When I install new module, it might provide new link to this structure
somewhere, to those to this manage menu. This is admin menu at the top.
This is breadcrumb, home administration structure, content types, basic page,
track of links, history of places I was traveling in the website. Very useful.
We have shortcuts. If I want to manage display of this specific basic page oftenly,
I know I will, I can put it in the shortcuts just like that. Now it says access denied.
What is happening? Did I log out? No. So why access denied? Let's go for shortcuts.
Looks like it's available only to admins. I am admin, so Drupal is buggy. It doesn't allow
me to. See? We have great example how buggy Drupal can be. It's supposed to add me this
shortcut. It didn't, so let's go back and try again. My idea is Drupal, I really want this
shortcut to be there in structure, content types, and then basic page manage fields.
I really want to add this to shortcuts. This time it worked. So it was one time bug.
Weird behavior. Now in my shortcuts I have another link. Manage fields for basic page.
As easy as that.
All right.
Okay, guys. Thank you for the first day. Give me some small feedback if you don't mind.
What about the pace of the training? Should we go faster, slower? Should we keep it
like it was? What do you think? Okay. What about amount of exercises versus theory?
Was it okay? Should we do less talking, more doing, or the opposite? What do you think?
Good, good. Thank you. Do you have any other thoughts, remarks,
complaints? Should I change something in my approaches? I don't know. More discussions?
Less life coding? Tell me. Any ideas? We can improve. I can improve myself.
Have another day. I'm just saying. Less jokes, maybe?
Okay. Sleep with it. If you have something in mind, maybe tomorrow morning,
tell me. Any changes, any suggestions to me so I can make it better for you.
If not, then we'll just proceed. Plan for tomorrow is like this.
In short, we will cover properly content in a stronger way. We're going to look at
workflows a bit. We will look at views. We will look at people, permissions, handling
users in the website. If there will be enough time, I'm going to show you in a
stronger way this layout builder, which is really powerful, as I promised. I'm going to
try to show that. Anything else which was left from the agenda? Yeah. Thank you again.
Have a great afternoon, the evening, and I'm going to go to sleep right now, straight day.
Thank you, guys. See you tomorrow. Bye. Thank you. See you.
on 2025-06-11
language: EN
WEBVTT
Alright, I believe most of you did it, or you are still almost there, you're finishing
it almost there.
I love your inventions, Dane, is it really part of your business?
Coffee machines?
Okay, okay. So what do you think? How was it, this creation of article
related to your business? Was it okay? Are you happy with it? Would you do it
this way, or rather something else is expected? Mikol, what do you think?
But is it efficient, mapping your business into Drupal this way, with, for example,
article as a content art? What do you think? Okay, thank you. It does.
Okay, okay. Okay, so I'm going to connect your screen to Paris separately, and if you
don't mind, I'm going to share it, so we're going to work together, and other people
will have a chance to also see it, instead of me just helping only you, right?
So you did this article, it's called, let me share the screen because it seems
like sort of, yeah, okay. Can you see it, guys? Don't worry about the silliness
of it, it's like, it's just for the sake of, I just wanted to give you a chance
to try, at least try, at least once, to truly use Drupal for your perspective,
your business perspective, your own, something of yours. So process
automation and AI, the stages of implementation. And then you have some
subscription to points, can you scroll down a bit to show all the tags?
Automation roadmap, awesome. Guys, can you see this in this shared mode in Teams?
Okay, so first of all, your website is still configured to show everything
in the main homepage. I did change that yesterday. If you like, you could do it.
So the difference is now that your article is at the top, because this is the
newest thing, the news on your website. And by default, Drupal works like that.
It shows in the front page, in the main front page of the website, all the newly
created content, and it does it by date, by default. It filters it by date,
and it's called view, Drupal view. Now I'm going to use mouse on your
screen, okay, and then if you go for homepage, you will see the whole thing,
right? And I'm going to show you what I mean. Can I use the mouse on your
screen for a sec? So it's a view. It shows all the content you created so
far. And then at the top, in the right upper corner, we have this magic
pencil, and then I can edit this bit. And if I edit, it redirects me to
this specific content, yeah, this specific content. Let me go back.
There is also, probably it will not gonna show me the view pencil. Yeah.
It takes me only for the one. But because I know it's a view, I'm just
Oh, yeah, definitely I should change that. That's interesting, because
probably the configuration will always drive me to French. No, it's
EN now. Okay, good. So I'm in views. See, this is how Drupal can
truly confuse you. It can confuse me straight there. We just created
translations, and I'm using the user interface in English. And when I hover
the link views, it says EN, admin structure views, but still it shows me
that in French for some reason. Yeah, but that's okay, that's okay.
Let's find the thing I need, which is content. No, this is not the
thing. This is the one, node, node. So front page, see, front page.
So if I just edit this view, I know I'm actually hoping to the bigger
topic, which I supposed to cover later on, but just for now you have to
trust me. And this specific view is showing, as you can see, because of
its filter criteria, content. All the published content, promoted to
the front page, and maybe some translations. So the whole content will
be visible thanks to this view, specific Drupal creature. One of the
most important, yet difficult, yet misleading creatures of Drupal
world. Views, we call them views. I will explain later what exactly
views are. But this is the thing you have on your front page, configured.
So to change it, I want you to go to configuration now, please.
You drive it. Can you drive it, please? This will be your exercise,
of course. I don't want to spoil it. And then find, just click on
configuration, maybe then. And then in the system section, there is basic
site settings. Go there, please. And then in the front page, category,
section, you see node. Now I want you to reopen your site. I think you
already have one in the welcome. Yeah, you can do it there. And then
just find the page you want to put as your truly home page. Do you
have something like that? OK, so you have to double check what number
this node has. You can do it the easiest way if you hover edit without
clicking. Edit without clicking. At the bottom you see node slash three
slash edit. Do you see that? Yeah? So this is number three. Go back to
previous tab, basic site settings, please. And then after node, say slash
three. And then go downstairs and save it. It can be about us,
but then imagine that in the future, later on, in three months in the
future, you will change the URL alias of this node three. From about
us to about me or about our company or to anything else. And then your
page will go down very quickly. Not page not found. And then your Google,
then Google will suck the change and then Google will complain and then you
will go downstairs in the search results and then you are going to die
from market perspective. You will stop selling your services and you're
going to start losing monies. Just one change made unconsciously in
Drupal configuration. Do you see the point? Well, that's why we say
node slash something because that will never change to this specific,
very specific page you created. The URL address can change because we
can make it pretty, but node number three will never change unless or
as long you don't remove this specific page because you can still
remove it and then node slash three will also stop its existing.
So can you save it at the bottom now? Please. There is a blue button,
save configuration. And then now go back to home page, straight from
the breadcrumb here maybe or back to site, yeah, back to site. See,
now your about us is your home page. No longer you see this view with
all newly created content. Simple change, but meaningful. So this is
how you can differentiate your pages, right? Somehow, yes, exactly.
You can put it in the menu, you can create a view with all the
articles or only articles filtered by some business menu. We're going
to do that later, we're going to do that later. Did we clarify your
question? Did we answer it properly? Great, great. Guys, do you have
other questions regarding what we did with Paris? Okay, I'm going to
stop sharing my screen. Now please come back to my machine guys,
focus on my sandbox because I'm about to do another thing for you.
I believe we have to, well let us cover revisions and then we will
go deeper into content. Okay, so of course we will go back to fields
later on in a stronger way. But revision is something which is
special, specific, also very useful. So I'm going to talk about
revisions, I'm going to show you what are they, how can we use them,
improve them, and then we will do the exercise after my examples.
So what is revision in Drupal? It's another creature, another part of,
another element of Drupal syntax, Drupal structure, Drupal terminology.
So I'm going to go to my Drupal and then I'm going to look at my
content. So I'm going to go manage and then I'm going to click
content view. It's a specific view which shows me the whole content
I have in my website. And I can easily filter it by title, type of
content, is it published or not, which is already a sort of like
basic workflow in Drupal. Maybe because I can have it published,
unpublished, or any both. And then of course language because we
can translate it already. And then I have blogs view. If I have created
blogs, comments, I'm going to have some comments there because I already
did one to my blog yesterday. Also files if you upload anything
to the website. So Drupal by default have some views of specific
types of content which we are able to create on this website.
I'm going to go back to content and I'm going to choose my article,
one of them. I'm going to need this one. I want to change it a bit.
So I'm going to edit this article and I'm going to change the name of it
because I want to make it more funny. So this will be not leading
something but done very heavy lead modeler. Why not? Made from lead.
And then I'm just going to make sure this revision will have its own
specific log message because I'm about to change an existing content
in Drupal right now. Something already exists in my Drupal website
and I'm going to change the existing page. So I'm going to put
some revision log message. Specific business perspective. It says
briefly describe the changes you have made. Okay. And then I'm just
going to save it. Just like that. And then in this section called
revisions, when I just look at my article, I'm going to have two
versions of it. So it's like time vehicle. Time vehicle. Backup
of the changes I made to any Drupal page available to have revisions.
Able to have revisions. Not every content type should have revisions
because they grow through time and that makes website bigger. After
three years I might have thousands of revisions which means not
necessarily the best approach. So then maybe once in a month or once
in a quarter of the year I should clean up my revisions probably.
Or I can install module, Drupal module which can do automatically
periodically clean up of my revisions because there is such module
Drupal, right? Why should I do the monkey job? I don't have to.
So I can look at my revisions. I'm going to do another addition of
this specific thing and I'm going to change something. Maybe I'm going
to provide another question like number four. Why the heck this
content was changed? And then save it. And then I'm going to have
another revision. And let's say I moderated this content and later on
someone else, my boss, my colleague, maybe one of our users, clients,
they found out a mistake in this change of mind. Somehow I made a
mistake and then I would like to change it quickly. So instead of
editing it and spending half an hour of changing all the mistakes,
correcting all the mistakes, I can go to revisions and then just
check it out. I can delete a revision of course. So let's say the
first version was the best one. So I'm going to quickly revert that.
It will double check. Are you really sure, Lucas? Because, well,
there is going back. Yes, there is going back but you are about to
change something real. So yes, I'm sure. And then this reverting to
the previous revision will create another revision just in case for me.
See? It's a safe way of going back in time. Now if I look at it,
it will have no question number four at all, easily. I don't have
to manually spend too much time to remove it. And then it will have
the previous title, lead, not lead. Do I say it properly? Lead?
Yeah, it looks like I do or maybe not.
Lead, lead, lead. Yeah, I know, I know. So this is,
but yeah, at least you can see revisions are useful. Do you?
See that? How useful they can be. But thank you, Nicole.
So this is revisions.
Look, revision has its own log message. It can be reverted.
And also, this is fun. This is powerful. I can compare revisions.
See the differences between them easily. But to do that,
I'm afraid I have to install a new module extension.
Because if I go to revisions, just like that, there is no div option yet.
It was in Drupal Core long time ago, but they decided to remove it
for some reason. So how to fix it?
How would you proceed with that? I need a volunteer, otherwise I'm going to have to find a victim.
How? Tell me. Drive me.
Maybe if I know div,
if I know the name directly, I can just put it, search modules div.
And the very first one would be the one I need.
Well, the most installed one is div.
And then after that entity, because by default it will, you know,
try to, this filter on Drupal.org by default will try to show me the most popular.
So the most popular is div. And just after div, the next one is this one.
Oh, so, okay, you did. So,
that one, yeah. Okay, so most installed.
Yeah, true. Okay.
So this is the most installed. Yeah, very good. Very good.
So, but this is not the one we need, of course, but yeah, that one is the thing we also might need
if we know what entity is, what reference is, right?
And then, of course, if we keep revisions for those. So, yeah.
Good, good point.
So the filter can behave in a way we might not expect exactly,
actually. And this sort by is, well, the default was relevancy.
The default was relevancy. So true, yeah.
If you really want to make it, let's say, better from your
searching perspective, probably most installed would be the good one. Yeah, true.
Okay. Okay.
We found it. We found it. We go for it.
And then we install it. Of course, we should carefully read
the description, check if it's a safe one, if it's stable,
if it has security the way we want.
And the thing is, it has two versions, one which says
4th June 2025, that one is blue, that one has stable version
without beta suffix. So probably we should go for that one
because that one is 1111 aware. This is something new. It has back squashing
attribute plugins and new table headers. If I want that one, which is still beta,
I have to be aware of it, I have to be prepared for some problems on production level,
then I can install it. But probably I should do instead
that one. So I'm going to go for that one for now.
And then I'm going to install it.
Well, I should use mouse because I
started with it.
And then I should expect no problems.
But look what happened. It says 4 installs.
But I said install only one module, diff.
And it did 4 installs for me. But if I read carefully,
it will have its own dependencies.
So diff module has its own dependencies. Well, now I need to go back and see.
Okay, so what are the dependencies of this
specific module then? Because I definitely didn't read
properly the documentation. And it doesn't say just like that,
what are the dependencies. Not directly there, does it?
Not really. But these might be dependencies from composer perspective only.
So let's look at it from the command line
perspective again. And then I see
3 package suggestions were added by new dependencies.
Use composer suggest to see details.
Okay, so it was from composer perspective, not necessarily from Drupal diff perspective.
So it has searched,
this composer searched for useful
stuff. It saw something supposed to be there. So like HTML
purifier, PHP HTML diff. Oh, so because of that,
it's needed. And then another some advanced stuff, and then
diff itself. So this command
installed diff, the module I wanted, plus 3 additional dependencies.
But not from Drupal perspective, but from composer perspective.
Probably. Because now if I want to enable it,
let's say from my user interface,
and if I search for it,
not command Drupal,
I might see what are the dependencies.
And it says none. Not from Drupal
itself perspective. And that's the difference I wanted to show you.
Because for example, use module, it has some dependencies.
Filter, user, system, from Drupal module perspective.
It might have just composer perspective dependencies.
Only from PHP language perspective dependencies. But for now
it's not that relevant. But the diff one has no
Drupal dependencies by itself. But still, yet, it did
installation of additional 3 dependencies from composer perspective.
Now you know why we have to do it from the command line instead of from Drupal interface.
Because it has specific PHP only dependencies.
And composer will be smart enough to do it for me automatically. If I don't
have composer, and if I try to do it really manually, then I have to manually
do those installations, which I might make with states, with version, number,
lot of issues, unnecessary issues. Instead we should use
tool for that, which is composer.
I'm just saying. But it might be not your job later on, so let's keep it maybe.
And I just need this module. So again, if I look at my revisions,
so far I cannot compare them easily.
When I enable the module,
see,
it will update translations related to this module. It says
was installed, some translations, and then configuration was updated.
About 300
configuration objects were updated. Wow. Just because I added one single
module. But okay. And then I go back to my revisions. I'm going to refresh
it and magic will happen. Look. Compare
selected revisions. Exactly what I wanted. So I want
to compare the last maybe with
that one. And I'm going to compare. And look what will happen.
I see. There was a change
in the title. So with the red background
I see the previous one probably.
With the green I see the current one.
And also it says
Actually that's it. That's the only change.
I changed only the title. So this is diff
showing me how two revisions are different. Which is exactly what I
wanted. How to go back? I can just click revisions again.
And then I can compare different revisions if I want.
So this is revisioning in Drupal.
Time vehicle. Going back in time to my content. How it was.
Oh. We have another friend. Hey. Hello.
Alright. Yeah. The very best timing.
They love it to do so. Alright.
Any questions regarding revisions? This is simple.
We don't have to exercise it. This is really simple. You create another version after editing
your specific page. And then you can compare or differentiate.
Of course if you install a new module. Now let's go back to my presentation.
So this exercise number
Because it's really simple. This is your homework after the training. Try it.
Yourself at home. Now let's talk about
Well I believe we talked about comments already. We can moderate them.
They have their own status. It's quite simple. So this will be also your homework.
I want to go with you with something more interesting.
Workflows. Workflows is also very simple. We already talked about that.
I'm just going to show you the way.
So I'm going to reuse the same thing actually.
By default this thing is published when I create it for the first time.
And it has this specific thing about publishing
or not there. It's a simple checkbox.
Let's say we realized it has offending content.
Someone felt offended by the content.
Somehow. So for now I don't want to remove it.
Let's say I'm not the creator of it. I'm just a moderator.
And I want to still allow the author of it
to be able to use it, change it later on. I don't know how to change it.
Or let's say I'm not allowed to change it. I'm only allowed to unpublish it.
I'm that kind of user in this Drupal website. Type of user.
So I'm going to unpublish it this way. And look what will happen.
It has pink background.
Is it pink, Nicole? I need help. Is it pink color?
Sort of, right? Yeah.
So how can I quickly see something is unpublished? Pink background.
And then if I log out
This article will not be available by any means to me
because I'm an anonymous user. To anonymous, not logged in users
unpublished content is invisible. Fully. 100% invisible.
That's the point. This means
this means I'm publishing. And publishing means that.
I'm hiding something from my not logged in users.
Let me look it back. This is very simple workflow. I could have different workflow.
Like training event, course event
can be public, private, remote.
So three different types of workflow.
The
the booking form in Nobleprog can have its own workflow.
Like it can be quoted
with a quote, only with a inquiry
or general. Three different modes in the workflow.
By default in Drupal we have only simple workflow. Published or unpublished.
Two options. But we can create our custom workflows
based on fields, based on big module called
workflow actions. We can provide actions related to
workflows.
You know what?
I'm going to change it.
I hate the longishness of it.
I love it now.
Awesome.
Now the workflows.
I already showed you how I can unpublish things.
Now let's see something stronger for a moment.
In the core
section of
Drupal we have a couple of things
which are somehow related to workflows or
workflowing the content. Guys this is important because this is about
managing the content in Drupal. Not just creation of it, not just addition,
updating, but managing of the content.
I can enable, because by default it's not,
content moderation. Additional publication states that can be used by
other modules to moderate content. This is how we manage content.
Also, I have something called
workflows.
It's a stronger thing than the previous one.
The moderation one. It provides bigger interface to create
my custom workflows. And I can even transit between them.
Publication or user status.
And also other modules can use that.
Also we have another thing which is sort of similar to workflowing. It's called
workspaces. Staging and previewing content
in a full site context. We could have stages in our business perspective.
Stages like this. Moderated, confirmed to be published.
Also scheduled for
deletion. These types of modes or stages. We call them stages of
processing the content in the business perspective.
Or maybe scheduled to be moderated. Things like that. I'm not going to enable those
because it takes a lot of time to configure them and we don't have that time.
I'm just saying about possibilities Drupal provides. You should be aware of them.
I'm like 90%
sure if you have already Drupal website prepared by someone else, it will have
workflows enabled probably from your business perspective, because most of businesses
use workflows or workspaces.
Previously workflows and workspaces were not in Drupal core. But people
through time they observed, they saw that it's so useful
they decided to keep it in, put it in the core and then keep it there.
These are powerful modules. Alright.
This is about workflows. Now files.
This is also very simple. This is really simple. I just use my
content like this.
And upload some files. So maybe let's go back to my data lead modeler.
I'm going to edit it. I'm going to provide some picture.
So let me see. Probably I don't have any.
So I'm going to say
like this.
And then obviously I prefer that one.
What?
And then just save it.
Bears don't dig on
dancing. Does it ring the bell?
Do you know Tim Minchin maybe? Famous comedian.
I love the guy.
So we're going to have just that and I'm just going to browse it.
And I'm going to provide alternative text. Tim
was here.
Ha ha ha.
And then I'm going to save it and publish it obviously because now it's ready to be published.
And this is how by default Drupal will show me the picture.
Maybe in the full size mode. Maybe I can play with it, do something with it.
Also later on when I go to my content
and I click files I'm going to have it there because that's the first file
I uploaded to my website. This is the way.
Also we have something like media
in Drupal. Stronger thing. Okay let's search for it.
Ah this is a stronger way of
handling binaries, binary files in my website.
Now this is very important. Manages the creation, configuration
and display of media items which means I can create my custom world gallery of my
pictures in my website. An example, quick real life example.
This is website of my
Paris which I'm
connected to in my local place, in the place where I live.
It just happened that I created this website
for my Paris and I maintain it and I manage it.
It's in Polish language, no English version yet. But there is gallery
with pictures. Actually
two galleries. And this if we do it in Drupal
it's like very easy to create. And then I can click one
and it will show me nice view. I can go direct
there is this driver which can help me to play with pictures or just look one
at a time. And it has like a specific fading out effect which is
not maybe that visible because it's a remote machine. Very simple gallery.
You could put videos there, you could put any binaries you want actually.
Maybe PDFs. You name it. And in Drupal
we do it like this with those modules. Media and media library.
I'm just gonna quickly show you. We don't have enough
time to do that but again it's a possibility which Drupal has by default in core
which is powerful.
Those two modules have that amount
of configuration objects in Drupal. A big one but that's okay.
Now from now on I have something new.
In the structure I'm gonna have
media types.
So I did enable the modules so if I just go for the configuration
maybe I'm gonna have something related to media there. Let's search
for it. Media. Now I have media library settings.
Media settings. Image toolkit.
And maybe something else related to media also. Let's see what
it can do for us. Media settings.
Not much there actually. Let's go back to configuration
and then media library maybe because this is the more powerful one.
Not really. I need advanced user interface. I'm gonna
enable it. So users will be able to do something with
additional stuff. Awesome. And then I want to create
some media so I'm gonna go for my content.
And I'm gonna add content and look what happens. I have
nothing else there. Oh, so how do I create my gallery if I have
no content related to media? Maybe there is something in the structure.
Yeah, I didn't create any media types yet but by default this
module provides them. The default stuff we usually want.
Just documents like PDFs. Images. Remote videos.
So links to obviously YouTube or anything.
Video itself. Etc.
And I can add my custom media type. Name it.
Provide some specific fields related to my specific
media from my business perspective. But that takes a lot of time to prepare.
I'm not gonna continue but you should be aware of it. You can have your own media type.
It might be a combination of those.
Or something really specific of yours from your business perspective.
From my business perspective it could be invoices for example.
Specific type of media. It's a binary.
It can be PDF or not. It can be something else. Very specific binary
file. So media in Drupal Core are for that.
Specifically for that. Alright, let's go deeper.
We definitely need this exercise.
Number 6. But before that I need to explain it
and show you. So guys focus please because this will be really, really
important. And I'm just realizing at this very moment that in 5 minutes
we're gonna have a break. First break. So I'm gonna explain. I'm gonna do the exercise.
Then we do the break and then you do the exercise.
Sort of.
So let me explain.
Now you will see why it's really important to understand
the difference between Drupal content and Drupal content type.
Because I'm about to create my custom type of content. Not just content yet.
So I'm gonna say structure.
Content types.
And I'm gonna say add content type.
I'm gonna create PCQ content type.
Log a description.
Pre course
questioner.
Obviously I made something there.
Double N not R.
Interesting.
Pre course questioner.
We use it to improve the
overall client's
experience.
And this is very important now. This is very important now.
To provide as much descriptions as possible.
Because later on if someone else were gonna use my type of content to create
final content they will have less issues and they will stop
bothering me before they start bothering me.
So it's a prevention mechanism. The more descriptions you provide now the better
your own life will be later and your other colleagues in the company too.
So I'm gonna say if we're gonna have title field why not.
Preview will be optional.
Explanation or submission guidelines. Now it says this text will be displayed
at the top of the page when creating or editing
content of this type. Oh so definitely I should provide some information there.
So my dearest user
please do not
with me
and stop asking so
silly questions
because you have
now this very
awesome description.
Obviously I'm joking but you should put as much meaningful
keywords, explanations here as possible.
There is no exaggeration here believe me. The more you provide the better later on.
You will see. I'm gonna give you also bad negative example in a moment.
This is positive one. The proper one. Good practice one from Drupal perspective.
Guys this is best practice. One of the most important things you're supposed to remember from the whole training.
So make a note now in your mind palace or type it somewhere.
If you do notes from this training.
When you create custom things in Drupal provide as much
descriptions as possible. It will revenge positively on you later on.
You will see. Well now you have to trust me. You have to believe. Later you will see why.
Now I'm gonna say something about publishing options.
May be sticky at the top of lists. By default published.
Well do I really want to have it published?
Do I want to see everyone prequest questionnaires? Probably not. I want to make it
private and then publish it only if I want.
But I'm gonna keep it for now. From real business perspective this is very
internal thing. I should not show all the prequest questionnaires to everyone.
May be I could only show them only to the client after the training when the expectations
were not met. Because may be in the training evaluation form
someone was complaining about the trainer. He was so
ugly. So baldy. He was so exaggerating in jokes
instead of focusing on the subjects. Come on.
Now language settings.
There we know the way. Display settings. Author and date information.
Probably we need that. Menu settings. And this is good moment
to decide. Well may be it would be good idea to allow
people to put links to prequest questionnaires
in tools. Because later on other users were gonna use
tools for some business perspective. Because that's the common way.
We could create our custom menu in the meantime or later on and add it later.
This specific content type to this menu. If I don't do it now I can
fix it later but I need to remember about it. So menu settings
this is very high level of abstraction. So I'm gonna save and then
it says manage fields. Oh so there is another step when I create the content type.
And this is the hardest part. Designing.
Designing. But I already have a hint.
Cheat. I can cheat a bit. Because in my content
section I already created something which is useful.
PCQ. And I have some questions there.
Finally. Finally I have some questions there.
So if I really want to make it better
I should create those questions as separate
fields in my custom content type. Then it will be more manageable,
reusable, better. More efficient.
That's why I asked when you called before. Do you see it as good
or efficient way of creating such article?
It was okay but not the best way. Now I'm showing you a better way.
So I'm gonna take one question at a time
and create a field for each of those.
Now I'm ready to do so. So I'm gonna copy that
and go back to my manage fields mode of creation
of type of mind. And I'm gonna say create new field.
And now Houston we have a problem. Drupal becomes huge to me.
Oh my. Now we have plenty of options. We need to think about it properly.
Take a lot of considerations.
Okay. So. Hmm. Now I should properly know
my business perspective.
What is your experience so far with Drupal or other similar frameworks?
Well. Do I really should keep Drupal in it?
I should make it generic because later on I might ask the same breakfast questioner
for other trainings, different events.
Different companies will buy different courses not only about Drupal.
So I need to think about it in a smart way. Make it more general, more reusable.
So it's about reusability not just efficiency.
Think about it guys. This is crucial moment. So I'm gonna obviously remove Drupal later on.
But I need to think about it. What kind of field it's supposed to be from business perspective?
Tell me. What do you think? What kind of field it's supposed to be?
Because it will be a form and I'm gonna take it from people.
Text. Exactly. Just text. Very good.
But should be one line only or maybe bigger text? Maybe text area?
Field. What do you think Paris?
One liner or something bigger?
Yes.
We'll see. Let's experiment with it. So I have plain text.
I have selection list, numbers, references, formatted text.
Text field with markup support and optional editor. No, I don't need that.
Obviously I don't want people to exaggerate in their previous question.
It's supposed to be simple probably. Do I need comments? Not really.
So I'm gonna say plain text and I'm gonna continue. Exactly as you said Paris.
I agree with you. So I need a label. And this label is exactly the thing I copied.
But now of course I need to be less precise because we don't want to say
only about Drupal. So what is your experience so far with?
And then here comes another confusion or maybe problem.
It would be nice to have some automatic tool at this very moment to be able to take
something from me when I create the course event.
I don't have specific related to some topic, category like Drupal, like JavaScript,
like you name it. But I don't have this tool now.
So I have to work around it.
So it's like whose line is it anyway? I need to improvise now.
Do you know whose line is it anyway? Very funny guys.
Now I'm gonna have to improvise. I'm gonna say what is your experience so far with
the course subject maybe.
And I'm done. Now I need to decide. Is it just text plain or
a bit longer one? I believe that could be a longer one
because people might have big experience and then one line will be not enough for them.
So I'm gonna decide plain long, longer text.
Titles and names only.
Short text. This type of question probably will be longer to answer.
So I'm gonna say continue now. Do you see it now, Parys? We have to
investigate it. We have to brainstorm it.
Maybe scram it even with other people in the team about this specific form
I'm actually creating now. Now it says field storage.
Settings apply to what is your experience.
I cannot change it later. So well, should I make it
limited number of values or maybe should I provide couple of
empty boxes for one question? I need one.
So I don't have to change that. And then very important moment.
Helper. Description. Told ya already. This is one of the most important
Drupal best practices. When I create my customizations,
I should provide as much as possible descriptions.
Well, the question itself is sort of self-explanative.
What is your experience so far with the course subject or the seminar frameworks?
Well, I need to rethink it again. What does that mean? Are there seminar frameworks?
What the heck? This is still about Drupal.
So my question is not general enough. I made a mistake.
Oops. Should I go back? Obviously.
But can I go back actually? Let me try.
I'm gonna go back in the browser and I'm gonna try to change the label now.
Let's see if it will allow me to.
So what is
your experience so far
with the course subject? That should be general question.
Let's continue. And I will say
sorry mate. Too late. I have to go back a bit.
Okay, so I'm gonna say plain text again. Continue.
Because I went back. I didn't save the configuration changes.
It rolled back the whole transaction for me, like in the database or something.
And now I have to do it again. So I'm just gonna remove
additionally the bits. Guys, this is very important. I'm showing you the way.
And I'm showing you the best practices. You're not gonna find it in Drupal documentation.
I'm afraid. This is from my experience, from my business perspective.
Mostly, but yeah. So with the course
subject.
And of course I removed the question mark. Did I? No, I didn't.
Okay, that's good. Now text plain loan. Continue.
And then the helper text.
It could be like this.
Or I don't have to think too much. I could copy something which I already have.
But if I don't, if I have to brain it, I should stop and ask other people.
Communicate that if I'm not sure. But I'm gonna do it simple for now.
Just like that.
I'm gonna say
required field maybe.
We should be careful with requirement. If I provide too much requirement
to my form, my users might gonna hate me later.
Because sometimes they don't know.
So actually in such a survey I should not require them at all.
Because I want to be polite to my course participants, delegates.
And I want to make sure they will be happy about the whole process.
So if I just say required to non-necessary fields maybe.
It's supposed to be anonymous. Sorry, not anonymous but
just a survey which supposed to help the trainer.
I could make it stronger at some point and say required
if I really know that we really need feedback from the delegates.
Because we didn't talk properly to the client yet or maybe the client was
hiding himself behind some security
circumstances or reasons. They couldn't tell me yet.
But now in the form, because we already signed up the contract, they are able to tell me.
But only this one. I said then I have to require it. But for that I probably
supposed to create another content type which is specific per client.
So I'm gonna make it general now without requirement. I could put some default value like
this.
Right.
And then I have this field.
And now I realized I could put numbers.
So one maybe. But I don't want to. But now I'm gonna
one dot and then what is your experience. Now I need another field at least.
So let me go back to this bit. Yeah, in three minutes I'm gonna
do the break. I didn't forget about it. I promised the break. I'm gonna put it there.
Sorry for extending it. I just wanted to make sure you will fully understand what we need here.
I'm just gonna maybe do two questions only.
To make it simpler because it's just example. But now you see it takes
a lot of time in Drupal sometimes to create something. Because it's not just about
clicking anymore. It's about proper business mapping into Drupal.
Which might be really difficult sometimes.
But Drupal will do the job quickly for you. It's just clicking. The clicking part will be fast.
Thinking, designing, prototyping will be slow. So I'm gonna create new field.
It will be very similar. Plain text.
Now I need to think about it again. What do you exactly expect from this course?
I believe it's supposed to be also long, just in case.
And then continue. Now we know the steps.
Be honest here. Provide
as much as possible. So we can
later on avoid
your complaints.
Made. Of course I should not put that
in the professional company content type. But I'm joking a bit.
Because I love to joke. Now I'm gonna save settings without default value this time.
And just like that. That's it.
Now that was first part of the process.
Creating of content type. Now I need to create one
maybe instance of it. So I'm gonna go to content.
Add new content. And now on the list of all the
available content types, I'm gonna have my own one. Now you see how
important was the description. Because if I put only PCQ without any
description, who are gonna know what that means? PCQ. Or what does it
do? How do we use it? Why do we need it?
Nothing. So description is really important right now.
I'm gonna just create one. And I see the questions.
But maybe we really don't need this title now. I can see it. Well we don't need the title.
At all. But it's too late. I created it. But that's okay.
It's the only one which is required. But see, what is your experience so far?
Anything really. These are the descriptions. And now the whole thing is self-explanatory.
If I don't put descriptions below the field, the question might be
misleading or confusing to someone. So the more I provide, the better.
Good. My reminder says do the break.
First quarter break. See you in a bit.
on 2025-06-11
language: EN
WEBVTT
Okay, I was about to create an instance of my new content type, oh hello!
We have a new participant. Hello, girlfriend! She probably can't hear me, right? Hi, hello.
Okay, so you will drive the next exercise. Don't tell her that, okay?
Now, this is Precos Questionnaire. We have some descriptions. The top one, see?
The top one is also important because it describes the whole thing in general,
what it's supposed to. And then we have smaller ones
telling precisely for each field what's supposed to be there or what do we expect from
the final form, Fulfiller, someone who will do it. So let me create one.
And then I have it just like this. PCQ has been created. Not basic page, not article,
my very custom type of content, which I map from my very real business perspective.
You know it because some of you did it before the training. Now, this is how it looks like.
Let me create another one.
Why not? Now you will have a better context because probably you might have guessed or not
what that means. Now, what do you expect from this course? This is another person,
second Precos Questionnaire, another person. So I'm going to have two. Later on I can create
course event and connect related Precos Questionnaires to this course event.
So another content type and I'm going to do that later. That's why I'm preparing this.
I have something in mind to explain properly relationships between business types.
Often we have different types of business or let's say different types in business and they
may have relationships or not. They may relate or not. In my case I have plenty which relate,
which are related. Course booking, course event, Precos Questionnaire, training evaluation form,
training evaluation form for trainer. Yes, they will send me a link to another form
which I'm gonna do as a trainer. So they will have full picture feedback from you,
hopefully feedback from me, etc. And then after that we could have another form to the client,
general form to your bosses, to the manager who bought the training for you.
And plenty of other types of content related to the business and they can be connected together
with one relationship which we call training process in OmuClock. One specific course
process or training process, etc. You name it from your business perspective. I want to
really important. So let me put something there also, slightly different maybe.
All right and then save it. I have two Precos Questionnaires,
two Precos Questionnaires. I'm gonna stop, I'm gonna repeat some of the steps because I want you
to truly understand before you do the exercise. Because your exercise will be like this.
This will be your exercise.
Meaningful. You are gonna use Drupal to create something meaningful. This time I want you to
don't create anything about coffee or something simple. Supposed to be strongly related to your
company business perspective. Don't worry I don't need this data. I signed a lot of
safe documents in OmuClock. So I'm supposed not to share my knowledge about you,
by any way with anyone. So you can you know provide something real. This is for you. Think
about it like proper exercise which supposed to prepare you to the real life Drupal website
which sooner or later after the training you will have to edit, moderate, maybe create
things. So try to be serious about this exercise from this perspective. But before you
do it I'm gonna explain one last time. So we go to structure, not content and we say content types
and then we add our custom content type. We should name it from the business perspective
in a short but meaningful way. Provide as many as possible and as strong as possible
descriptions about everything related to this business perspective. The more we provide the
it would be later on for final users creating content of this specific type.
But this time I'm gonna do the bad
case scenario or negative example. How you should not do it. How you should not do it.
Just to show you the whole process again but from different perspectives like this. So
not provide too long names here because it will be
really wrong. I'm gonna keep that empty.
I'm gonna say
So too short description, nothing there. It's so weird to do it this way because I'm so used to
do the proper thing. Now it's like my brain says no don't do that Lucas. But I know I need to
change my mindset. It's a negative example Lucas. So you should do as less as possible. Okay
good. So don't provide yeah actually yeah so not published not promoted nothing
and then display settings don't provide author language
maybe only polish which will be really bad only one language and then menu settings
no menus at all. Yeah save and manage fields. Now I'm gonna put some fields obviously but this
will be wrong. I'm gonna say number and the field will be yeah very general question why are
you no specifics at all and then I'm gonna say number float to make it more fun.
So obviously I'm making a mistake while I'm asking the question which
supposed to be answered as text but I provide type of field number so even more confusing
and then I'm gonna say why not unlimited so plenty of fields no helper text at all
you're supposed to be required now no minimum no maximum prefix should be like
dollar why not and then set default value and I'm gonna say
zeroes nothing meaningful yeah save settings I'm gonna stop one field one ugly content type
yeah and then I'm gonna try to create something we will see the difference okay add content
now there is a content type which has no description weird name too long nothing there
and if I choose it and it has weird title and weird question weird prefix weird default value
but at least I'm gonna try so trying to do
do what and then explain why are you well how can I explain it with numbers
I'm gonna do my best I'm a good worker I'm not gonna ignore this question so I'm gonna say
one I'm number one numero uno why not safe and that's it so bad example negative example
how you should not create your custom content type but now you know the way again
the process at least you saw it twice your job is to do the exercise
I'm gonna give you five minutes for that two fields okay two fields at least no let's say
more no less two fields try five minutes and be specific please choose something real from
your business perspective the company you work for now this is your important exercise
one of the most important exercises from the whole throughput training thank you
right
so maybe you have noticed or not I was trying to disrupt you probably unsuccessfully
with my toys and you know dancing a bit because we have a party right now
it's a business party and it's like integration socializing with teammates
so or let's say inmates if you think about it because Drupal can be like a prison also
right now question did anyone finished already the whole exercise no not yet okay so uh what
are you at at the moment which part of the exercise Nicole what do you think okay
thank you Paris I'm afraid you mute it why do you think so well not necessarily
try to create another one so add content blue button yeah then choose your own type
yeah so this is the form you provide to your users and that's the moment in which they
answer the question you know what I mean we could do it yeah you give them this link to
this form then later on you just look at the final content which ended up in the database
after they do it that's the that's the point exactly very good very good okay so you did
nothing wrong it works as we as we as I wanted from you in this exercise very good you can
continue thank you Seb how is it going did you make it did you make it unpublished by
default added to the front page and sticky this is the final step try to do that okay thanks
um Tom how is it going
exactly very good question very good point when we adapt that that um is related to
proper understanding between content and type of content when you created your content type
probably you allowed in options to be visible in menus like tools etc but you allowed the
visibility you didn't put it there yet okay we put it in the menu either when we create the
content dynamically at the very moment of creation or we can place it later on we can
create new menu or just use the existing one so actually can you look can you stop all of you
for a sec thank you please go back to my sandbox machine and i'm going to show you something
because make it appearable in menus means only that and nothing more participating in the menu
being part of the menu is another step okay which has to be done by someone the user owner the
author of the content when he creates it or her or later on by someone else so i so far created
it
yeah so far i created content and i i never placed it in the menu well the one
which i lastly created i placed other things like home contact about us and let's say i want
to put in tools one of my previous questions so i have to add either edit the existing one
and say it in this sidebar menu settings provide a menu link i'm going to say bcq
this is which one this is the wrong one sorry this is the wrong one i wanted the new one
so just content and that one from look maybe so i'm going to edit that one
i'm going to provide the menu
yeah and then i can say which one
either navigation or tools this time i want tools so i'm going to say tools and i'm going
to say maybe number two just in case so it will be downstairs not at the top or maybe the
we will see okay so i'm gonna save it now
and then going back to site am i supposed to see it there look i said two which means
we go downstairs now because this many is like top to down if i have many which is left to
means to the right or minus two means to the left and this is weight in drope all right
so this is part with many did i clarify to tom
so
yeah this is one way very good so just saying here on this level of structure
when i create my type of content just saying something about menus doesn't automatically
put it to the menu it's not this is important difference also another way to put it put
something in the menu usually we provide links in many is to go to many so structure menus
and i'm gonna use tools for example i'm gonna provide links i'm not gonna edit many
because this is about many itself i want to put some new links i'm gonna say add link
from this perspective and i'm gonna say title of the link supposed to be for example rob
because that's another pcq i provided records question never mind and then i
should put the link now the description says well it has to be existing one
so i'm gonna say slash node and now i need to make sure it's supposed to be the one
or i could search for rob like this and it will find it because it's an autocomplete field
with this searching option this time it's better so i'm just going to search for
rob because i know that's the one i need and then when i save it it will provide this link
in the menu because i didn't say about weight anything it's just before look and then if i
said there it would be just like that rob before look when i hover it it will say note
slash 10 even if i said rob the name the title of it when i was adding it to the menu
see when i'm hovering without clicking it says in the left down corner note slash 10
note slash 10 because that's the 10th content i created in my jupyter website
if i click on it it will just go there
and that's the whole point of keeping something in the menu making it visible
to my users quickly
so yeah now the final bit the final bit of the exercise guys
yeah this is simple you already know how this is simple you already know how
should be unpublished by default added to the front page and sticky unpublished by default
these are just options just options so oops
so i'm going to go to my structure content types and we're going to make sure my newly
created content let's say that one thank you okay and manage so edit the whole thing edit the
whole thing and then there is option which i need supposed to be unpublished
but still promoted to front page sticky at the top of lists and there is nothing about revisions
nothing about revisions i'm going to keep them available
that's what i needed from you should be unpublished by default added to the front
page and sticky so clicking the wrong button continuously come on so i do it on the level
main content type edition i'm editing the whole content type itself and there is publishing
options and i wanted this promoted to front page sticky at the top of lists
now how that can be reflected later on
i'm going to save it first and for that i need to change my front page again to make it
visible so i'm going to go to configuration
basic site settings and i'm going to remove this number four
for now temporarily just to show you what i need
just slash note save configuration and then when i go back to my website
look what will happen when i go to my main page
page
yeah i need to refresh of course the caches
come on dropo did i save the configuration i did supposed to be slash note which is okay
so somehow dropo is not clearing its own caches so i have to do it manually
now we need this nice shortcut right
good and then i go back to the website and it still doesn't work it still gives
me one thing at a time which means maybe i created my content type available only to one
language let's check structure content types
pcq edit the main thing and let's check the languages
it says
uh such default language english oh so if if i am on polish translation obviously this front page
will be different so i need to change the language let's change it then to english and
then it's supposed to change my front page and it does look this is front page and sticky
at the top of the lists both are at the top because i said so in my type content
not just type just the content itself type content but i could also say it in the content
itself yes i just need to go to one single node edit it and i can say the same
option if it's possible
promote promotion options i can still disable that one specifically and keep the general
setup in my the whole content type this is very useful also per one specific page i can
change this promotion and being sticky or not and i in the same time i can keep the whole
type always available at the top do you see it guys is it clear now what i wanted from you
in this exercise at the end of it
let me go back and show you the thing so home and now i see again list of content the whole
content all of the things so now it looks like blog by itself right
and then at the top of it i see this drop and look
two pcqs because i said so they're supposed to be sticky at the top of front page all right
are you done all of you i'm just double checking did you at least create content type two
in it and add some pictures
okay let us fix it together but i'm gonna share the screen because it might be useful
to know how to do so for everyone right guys would be nice to know something
disappeared and then we want to go back right let's investigate it together i'm
gonna share the screen tell me if you see it in teams okay now
then what disappeared can you explain again please first of all i'm gonna click on your
machine thank you and i'm gonna try to look at one specific thing at a time maybe the
tools will be back there it's back there i'm looking at one single piece of content in
and tools is back there when i go to the front page tools disappears right
so it's a default behavior actually maybe of this theme let me show you the same thing on
my screen okay because if i go to the home page i am there it says tools stays there
i'm on my home page and tool stays there so mine is slightly different so it means maybe
if i configure the tools itself maybe you did that accidentally or maybe on purpose
yesterday and you forgot because it says visibility i have no restrictions so far so
everywhere let's check yours so i'm gonna go back to i'm gonna do it okay
and then the tools and then configure blog and then we let's see the visibility of it
so like on so for english only not restricted per status not restricted to pages
roles content type oh you did that see you restricted only to those content types
which means should be only there so let's undo it maybe
and then we will see if it works and then we go back to home page
and it's still there see that was the reason busted
that sorry can you repeat the question sorry
so it might be because of the language it might be because of the language
let me check maybe you did it when you were on some different language where is your
language switcher oh you don't have language switcher oh sorry that one good so if you go
down with something else in tools well actually yeah because also you have restricted to language
only so tools is fully not there actually so it means probably not but let us change it again
so go back to english but you do it it's your exercise now if you don't mind configure tools
like i did and then and then put all in all languages or antique everything yeah and then
same block yeah probably yeah and then save it so it's back and then switch to espanol
we will see if it's different or not really so i'm not sure what did you do but if you
if you had other things in tools menu and you don't have them now it means you probably
edited the menu and then remove them either manually or you hit them yeah that might be
one reason so if you really want to have this indentation available visible then you have to
change the menu itself right you found it see i'm so proud of you now welcome guys questions
do you see it what happened to dane is it clear how to fix it to everyone
okay i'm gonna stop sharing the screen nice question nice point dane thank you that was
nice one okay please drive thomas someone was explaining was it you dane or someone else
just in case i'm without dot just like that yeah just in case i'm screen sharing again
so guys you will see what what's how do we fix it just like that exactly and scroll down
a bit see it's back now very good thank you thank you dane i'm gonna stop sharing the
screen so now you can see again that this is specific configuration problem or issue
yeah we can put on our front page either everything with this specific just slash note
path or something really really really unique just one home page yeah it's up to us or let's
say it's supposed to be up to our business rather than us probably yeah so the business
will probably determine what's supposed to be there on the home page
like here on my home page in my private website if i just go there i have a slideshow
slideshow rotating newly created content slowly with some hiding and hide out and
sorry fade out fade in effect one at a time but slideshow that's it some links at the top
to bible and then in the footer i have search and then actual yet another charity now
for example in noble proc if you hold the home page we have some something different
and this is an example of yet another way of creating the homepage because this is layout
builder the second way i promised yesterday to explain remember i mentioned yesterday
layout builder very powerful jupy tool which was one of our next topics today
so here i have a layout builder because i have specific slideshow another slideshow
below i have some regions so what do we do in those regions and then i have another thing
which is part of the the page and that is not footer yet and then we have list of popular
courses some kind of newsletter which has different size not just small things popular
articles and then finally we have the footer so the main content main content on my home
it is divided into smaller regions just to make it better more flexible even resizable
okay good let me think
yeah i believe we should talk about users and then we go back to content in a stronger way
so that way i'm going to make sure we cover most of the important topics
and then we can go back to stronger drupal elements like layout builder views
and management of content in a stronger way so users it might be surprising to to people
to you to someone that user in drupal is another entity it's another type of content
just just like that that's it user is another type of content in drupal
but special one very special because user have account and user can be logged in or anonymous
so we can have per user some differentiations like just very one specific email template
specific fields per user we have we can install additional modules from drupal like profile
too or just profile which will give opportunity to describe the user even in even better
stronger way because by now we have only the default stuff there i go to my user
and i have only i can view profile
and i see only this remember for one day not much so i could improve that
with profiles i can edit my profile and i see only username email password some status roles
the usual pictures language settings contact settings and then time zone if i want to extend
i can install module which will allow me to create another sub page here specific user
details i'm going to show you a real example we don't have enough time for that but i'm
going to show you a real example maybe maybe there just stay with me
this is one of our backends
okay i need another
thing so just give me a moment
this is also a good example so i'm supposed to explain it
this is an example of how to integrate drupal websites
drupal websites a couple of them together with one centralized way of registering and
logging in users i was typing this website you might remember not
noble porg
almost 20 years in the company and i still misspell the name yay so i i went for this
website to the noble prog.com and i was redirected to another one user noble prog.com
they both are done in drupal but they are configured in a special way we have centralized
way of logging in if i log in into one specific centralized website then i can go
other websites which we have hundreds of them different in noble proc and i don't have to
again repeat my login name different password come on that would be too much 50 times per day
to 50 different systems no it's a waste of time and frustrating users so we have centralized
system and drupal has modules for that they are called open id authorization modules you
slide up
what oh yeah of course i made a mistake
done and here if i go from my user i'm gonna see i might see something interesting
if i just edit this user other things it's a drupal
yeah we have slightly different roles like training coordinators franchisees
this is about users i have home page preference maybe which is part of profiles
yes if i want to have my custom home page yeah i could differentiate slightly
we have also development perspective look at that i can see at the whole thing user object
from programming languages perspective and this user object has plenty of features which are
not visible just like that yeah for example roles it's an array from program programming
perspective which has some parts in it
and i can play with it from the development perspective or i could show you another one
this is another website we keep for trainers or all of the users actually
and because i already signed up with one website with a secure connection i can just hit stuff
login and it will automatically log me into this another website and then if i go for the
user profile which i wanted to show you actually i'm gonna see things this trainer is connected
those categories so now you can see precisely what do i teach this is me
and some part of my cv later on related stuff to to to my let's say sort of expertise
courses delivered lastly yeah something which is processing your previous questionnaires
right previous courses and the whole thing is like page created with layout builder
in drupal specifically and it's participating also user profile if i want to edit this
profile i'm gonna have form mode of it and then i can change it this is my cv etc all the
fields see categories of courses i want to provide specifically named courses i want to
provide and then when some training coordinator franchisee will search for the trainer they will
see i'm there they will maybe decide well we will ask lucas because let's say he's a senior
trainer and we trust him or maybe lucas doesn't have this in the category so obviously we're
not gonna ask him so user profile is for that to manage detail improve user handling in drupal
end of example let's go back to our side we were talking about users
so we should also focus on roles and permissions
manage
so
people that's the place so far we have one user this user is a god user in this website
the main admin the very first user which was created in this world so um imperator
like in dune you know the movie do you like the movie do you know the book
you're old enough as me to know it the book not the movie only yeah so i have one user
and this user has roles main administrator content editor he has status and we can
disable users for now we don't have to necessarily yet remove them maybe they were
spoiling something and we have to we have to only investigate or double check
yeah so i can see in this specific view when he logged in for the last time
and i can play about this user edit this user somehow and we're back on progress i can let's
say grant access to something or remove access now permissions this is very important section
as simple users you might not have access to that at all later on in your real life
drupal website after the training when you go for it you might not have access to that at all
but i'm going to show you permissions we can search them this specific filter searching
inside of their permissions was not part of the drupal core in the past today it is because
it was so useful so they decided to put it there now i could search for my pcq
easily and then see oh my content type has its own amount of permissions how is that so
when was the moment i created those permissions for this content type magic no just because
i was using drupal structure and the main drupal class called node for that drupal did behind the
scenes hundreds of other useful things just in case i need them later on and one of those
things was creation of permissions and automatic assignment just to administrator at least for
permissions so user can have permission to create
delete something about revisions maybe editing any content or own content only
so the grid of permissions can be very specific very detailed if you want we could even have
specific one single permission related to one small field in my content type
if i really really want and it's specific module in drupal
let's check if it's in the core or if we have to install it maybe
not really
we have something related to permissions from this perspective
no so i have to search for it let's do this together on my screen
i could search for it this way
then filter modules only three
which actually is not helpful not much so maybe
well i think i remember the name but i'm not 100% sure so i'm gonna try
this is how we can you can cheat drupal if you know how most of the modules have project
slash name of the module in the url so if i'm bored with searching if i remember the names i
could say this i'm already in diff module i just need to know the name so i think the
module is not 100% sure
oh my goodness it's working actually i remember that wow it was so long
time ago i was using it on my production but that's the thing i wanted to show you actually
oh i'm disappointed it's working come on i'm too good in memorizing drupal modules yeah
but okay joking so as you can see it's also good because it has drupal 11 version
and it's not that old in july 2024 so it's okay and look about 70 000 sites reports using
of this module which means plenty of people are using it there are plenty of sites not
reporting they are using on this module behind the scenes so this module can do what for me
yeah i can have permissions per specific field in my content type
i have a field nationality and i can say someone can edit this field or not it's
a very very specific detailed permission and it has consequences if i install this module
and if i enable those permissions then i have to maintain them
through time and if i have 200 users okay it might be problematic later on it also might
be what performance perspective or performance problem it might be one of bottlenecks in my
performance so speed of my website can go down significantly just because i installed one
such specific unique module field permissions so something for something
advantage of it is very detailed grid of permissioning yeah i have power to
in a very detailed way allow or not some of my users or some types of my users
of addition update or division of some content from some fields in my content
really really specific thing but this advantage is it might be it might become too
advanced too complicated over complicated and too slow later on because periodically we have
to rebuild table of permissions to check if someone changed the ownership etc
all right is it clear how can we improve permissions and what are the possibilities in drupal
okay now i'm going to create a role i'm going to grant some permissions and then you
will do the exercise so just stay with me a bit more a bit longer then you will do
the exercise so again people
so roles this time
and i have by default this anonymous user authenticated one content editor
administrator i'm going to create one role i'm going to say why not trainer
okay doesn't look good because all the other roles have capital letter at the
beginning so maybe i should keep the convention
better and then i go for permissions i could do it this way i did permissions per role
which will be easier and faster and for the trainer now i have like long list of
all the permissions in the website and i have to do it manually i'm afraid but that's okay
when i create new role i have to be very specific and careful and this is the moment
yet another from many in which i map a mapping business perspective into drupal but this time
from users contexts or in the user context so for example well obviously trainer should
have access to pcqs because he will use them later on right like i did before the training
i sit and read your breakfast questionnaires at least once because my training coordinator
she came up she sent the link to me these are breakfast questionnaires from participants
please read them carefully because this is part of our process quality assurance so the whole
process will be better the business will work better just because we created proper content
in drupal and then we did some surroundings surroundings like links like put some people
in the roles and they behave properly but drupal helps to create it maintain it update it
manage it just from the permissions perspective also so i'm going to assign
everything related to pcq to the trainer role how how can i do that
easy i have a filter at the top so i don't have to be slow
do the monkey job only pcq no problem with that only trainer no problem with that
and then let's say trainer should at least be able to what
let's say create let's say everything
and then i'm going to save permissions
and then i'm going to create another user this will be fun so i'm going to log out
and do it this way let me check if you can register or not let's try
login see by default there is no way to create an account by yourself and that's supposed to
be like that the default thing we don't want to be spammed we don't want to be hacked
see there is no way to create an account no link nothing
and that's okay admin can do it this is the default setup of course i can change it and later
on or actually let me change it for you yeah i'm gonna do it
so manage
that configuration
and then use the interface or something related to users
now because i don't remember would be nice to quickly find it so maybe basic settings
settings already so maybe settings about users so i should go to people
and there will be some settings but this is only for role
so where are the settings related to users how can i change that maybe in reports
not really so how can i find that well i have help i want to change something very specific
allowing users to create an account themselves yeah so i'm going to search for users on this
managing user account and yeah so there is something actually
okay now how can i make them doing it
see configuring how user accounts are created and deleted awesome
and there is an option which i needed
account settings okay now we are talking
about now who can register account on the administrator see we found it
i forgot how to do the thing and i just used what helped i didn't google
i'll have to everything is there inside of drupal website i just need to know how to
search for it that's a beautiful so drupal is like what sort of self-explanative and
i don't need anything else not even the documentation of it because it's already
part of it drupal documentation is partially embedded in drupal itself so i'm going to say
visitors
this is dangerous option if you have access to such option be careful when you change it
dangerous one because now everyone can register okay but at least we require
email verification whenever the third creates an account well i'm gonna make it really dangerous
now that's not of course don't do it never do it because this is really dangerous now
and another very dangerous one is enable password strength indicator if i disable that
then i'm screwed up totally because in a very moment in couple of minutes if this website is
live really believe me in couple of minutes you will be hacked because it's drupal never
untick that one please this is screwing up the whole thing in couple of minutes your
website will be hacked and you will have data stolen i'm not joking one checkbox
weak password that's it so i'm gonna do it why not let's spoil the drupal today
fully okay actually no i should not i should show you something more interesting so let's
go downstairs save the configuration and then we're gonna log out and do it again
now login says create new account hey finally we have something new
so email address i'm gonna provide the real one which i always use to my
experiments so i use this email box only for that for spam literally so we can see the name
of it also that's a real email address now username these are required so i have to say
so rob this is my second name password no he will he will be fun he will gonna have
a fun so i'm gonna say asdf again and it will probably not let me we will see
asdf
maybe not it says recommendations okay
okay yeah let me create new account
the value you selected is not a valid choice which one now drupal doesn't say
or maybe it does would be nice to see some colors not really maybe this theme is spoiling
i think it was about passport now
hmm maybe not okay so let's try
at least 12 characters oh my oh my so asdf ghjkl
okay one two three four and then the first one will be big
and then at the end we're gonna have dot
so asdf ghjkl one two three dot
and i already spoiled it password matches no
uh i think i said four
yes exactly so a to l a is big at the end dot and after the text we have four numbers one
two three four so i'm gonna okay i i remember it now good let's see if it now allows me to
create new account it's supposed to or not really something else is wrong
so what did i do wrong that one is fine maybe the username is too short
all right so robin
hmm the hoodie man
one more time
come on drupal let me in
so
now i'm pissed off i don't know what's happening i did everything as supposed to be
hmm but it's not required see there's no star there
okay let's do something different then
maybe this underscore but it's not a well underscore is okay email address right
let us test it
so
no and that's the problem because it says the value set is not a valid choice
and i don't know what
yeah i don't know what so probably when i was allowing this thing i just
the configuration somehow so let me check it one more time i knew it i'm gonna spoil
it somehow but that's okay we can learn from that right right
okay okay so um one more time we need to go to
people
was it done no okay so
so
accounts yeah admin config people accounts very good this is what we needed exactly
and let me think so
i said visitors
is
well not much i think i think it was okay
something is something weird small is happening what did i do wrong what did i do wrong
hmm i don't need that let's make it really simple
so visitors
this is okay
this is just about emails okay i'm gonna try maybe i should refresh caches after that
see
drupal can behave especially the newest version so
let's try
all right
i didn't add capture so you should not complain about that okay let's try let's try so look
so come on look log out
and i'm gonna refresh it maybe again and maybe
i'm gonna do it in incommito mode why not
just in case
create new account
so
this is real email address now robin again and then password asdf obviously because now
now no one will complain and then create new account
this is weird can one of you try to do the same as me
create new account if in your case it would be the same it means the installation of
this specific installation of drupal was somehow broken but that's very unlike
i'm very unlucky now it should not happen like that
actually guys try to do the same create another user because
this is your exercise also so all of you try to create a new user now doesn't matter how
you have you try to achieve it i i couldn't drupal says drupal says no to me come on
of course i can create one from admin perspective but what is fun enough
try to register if you also can't do that it means it's a real serious drupal 11 bag
i'm gonna definitely tell them about it i'm gonna reclaim your issue
so
yeah you have the same error set the value you selected is not a valid
choice so exactly same as mine well nikol you created it from the admin perspective
which supposed to always work right well that's okay the point was to try to register
from the outside world
okay so sab you confirmed drupal has a bag drupal is buggy bug bug drupal is buggy
buggy buggy buggy all right so let me try another way let us try another way i'm
the configuration
we will see which part is really buggy
what how could i make a mistake in such an easy password
see told ya drupal is buggy now i'm gonna try change the configuration again
so
this time i'm gonna say visitors but administrator approval is required
and maybe you require email verification when a visitor creates an account we will see why no
so
but did you register did you register so what what kind of setup you did you have was it like
with confirmation from email or without it or the top of it the top of it the top of it
account settings yeah it was working for you okay so yeah guys so we have
one which is working and couple which doesn't so yeah so yeah exactly so um that means we
have a proof now that means it's a bug and drupal has a bug and this bug is specific
and really weird well about that yeah that definitely is another bug
yeah the translations are always problematic a bit but you might consider to refresh caches
of course okay remember how you have to find performance and try to do that i'm gonna stay
with you yeah and then go back to back to yeah yeah this is great now go to go to
configuration configuration please and then region yeah so you still have translations i'm
afraid even if you've deleted the language translations are there yeah yeah so we have to
uninstall the modules and then it will be probably removed you know
go to extend but wait a sec wait a sec i need to show that to everyone else because
i think i didn't show you how to remove module right i didn't show that yeah i didn't so let
me connect to your screen this is paris okay and then guys i'm going to share it because
i think it might be useful also for you to know how to do so because it's a special
thing and you have to be aware of consequences properly so can you see the screen shared in
okay go to extend please paris
and then search for transl and now if you try to untick the checkbox you can't click there
right it's blocked you can't do it there exactly there is uninstall go out and do the
same searching don't bother just search it's a waste of time if you scroll down and try to
uninstall all the modules related to translation all of them okay but yeah but hit uninstall
please hit uninstall and now don't no no not yet not yet read carefully on the very top of it
can you can you read it aloud for us the first sentence everything related to those
modules will be deleted and then there is no going back from that unless you have backup
of the website which we don't okay we don't have a backup now so guys if you uninstall
something be careful because it will remove everything configuration database content
types types of content anything you yes no click uninstall now we want to train it we
want to properly kill it so why not give it a moment nice now now do uninstallation
of language also the module called language you can't tell me why please uninstall interface
translation the top one yeah please do and then type language again and now you are able to
uninstall it see because locale locale was machine name of the previous one you've just
uninstalled sometimes drupal provides machine names of modules which which might be really
misleading because they might be different than the description itself and that's another
thing i wanted to show you that drupal can be really misleading and confusing sometimes
but okay please some look look now how many configuration elements will be removed or
touched changed but that's okay we want that please do clear crashes after that thank you
and then check your commonplace in which you saw french language if it's still there that
means group 11 is truly screwed up not really manage manage this content type please manage
this content type so not huge but the whole thing no no yeah arrow down that's okay edit
please and then yeah so where is this description scrub scrub please
no i want you to go to our content types article you have a breadcrumb at the top
yeah and then see somehow it kept the french version of it only i don't know why okay now
go to configuration please let's check that before we remove that because it's there it
will be still there i'm afraid but i think it's a bug from drupal yeah so just in
configuration you go for regional and language yeah go for them then regional setting we need
to make sure there is no nothing related to french language can you scroll down to the
bottom of it see nothing related to french language but for some reason people kept
french translation of this because maybe maybe i think that was the reason you will tell me
if i'm right or not maybe maybe you change the default language at least once from english to
french is that true you did so now we have explanation but still when we uninstall this
the whole translation stuff it's supposed to clean up after itself and it doesn't which
means drupal is open source truly because it's buggy see guys you have to be aware of it
and now you have to manually change this description if you want but please don't
now we i'm happy enough because i explained we tried to investigate now we know okay
and also we saw let's summarize it also we saw in action
how do we uninstall modules and we know it's what dangerous questions guys any questions
no questions i'm going to stop sharing and let's go back to my machine guys my sandbox
so your exercise is to create a user doesn't matter how i'm going to try to register one last
time with new changes i provided and if it doesn't work i'm going to do it from admin
perspective this is interesting to find out that newest the best they say version of drupal
buggy so much you see
but okay so i'm going to try to create new account one last time
well that's interesting browser remembers wow this is nice
now where's my password oh because i said verification from email okay
so no drupal says no again even if i do it more secure okay i'm going to ignore it for now
this is nice you know what wait a sec i need to investigate it properly i'm going to show you
if you if you won't truly help drupal community to fix the problems for you later on
so you don't have to do it yourself give them feedback so you can do it like this
when i hit create an account
straight there there is some problem like this so this is javascript so we don't bother
when i try to create new account it will complain with that the value you selected
is not valid choice and then here the console from programming perspective i can see well
the same error so i should do what
unfold it do the print screen show this error message and tell drupal community it doesn't
work but before i do that i should search okay in drupal community in drupal website
for this specific error first and check if maybe someone else found it already and
maybe they are already working on it but it's it will be fixed in the next incoming version
very soon hopefully so if you really want to give some feedback and make sure you
will have a fix quickly you should participate in community that's why they call drupal
community tool because there are hundreds of thousands of people giving such feedback
per day and participating yes
might be related actually good idea i'm going to disable it and let's see
oh so that's not the reason we have we have ancestors thank you all right see how quick we
can debug drupal now i'm gonna go here so where is my website about drupal i think i
is already closed it okay so i'm gonna find another one
drupal.org and i'm gonna search for this problem there directly
just like that oh come on okay
and i'm 100% sure i'm gonna find something
interesting this is very old one
integer lists
okay just short searching now i'm going to filter it by maybe modules
so filter direction
not really so filter by
actually no so it might be a really fresh thing or by exaggerating with filters
a lot of results actually
yeah but that's the way you have to search if there is no such thing you go and
you tell them there is an issue that's the way one of the good practices too
tell the community there is an issue so it will speed up things it will speed up things
it will speed up fixing it the issue for you directly
all right but for now it's not that easy to find so we have to skip it
at least i showed you the way right that's the point so i'm going to create an account now
as actually as the admin of course so manage
this people and i'm gonna add user
everyone else did you created new user at least one more user one another nico
okay that is tom okay so this is only me who's still not having another user
so i'm just going to quickly do it now
rob isdf isdf
now good moment to say i'm gonna say trainer only and authenticated user
for now and we will see the difference yeah because i created this wrong trainer
um okay okay okay i'm gonna create new account
okay nice now i'm gonna go to my another thing and i'm gonna log in
now look
rob is logged in and rob can see the home page
and if rob will go for
for example my dearest diary rob will not be able to do anything with it beside comments
so rob cannot edit this content because he has no permissions to
yeah now but if i go to home and check pcq rob has full access to pcq he can view edit delete revision
it's simple if you think about it yet
well meaningful in drop so i have two users one has less permissions and that's it just
so if i go back to people i can fix it easily i can take rob user
edit this user and for example say administrator or maybe content editor
and after that it's fixed with one checkbox
good guys i want you to continue with this exercise of course
so um yeah maybe just do that
this is your exercise now
let's say
three minutes for that we will see if necessary we'll extend the time for you
so
how's it going is it done exactly and then if we we didn't have this filter field that would
you know really monkey job to find them search for them and tick all the checkboxes so let's say
sometimes it's easier if we do this
let me show you on my sandbox machine
so i go for permissions and then i say maybe for the oh there's no bulk update uh yeah
so yeah and this is really let me check the very bottom of it true
yeah i just forgot in drupal 11 it's not by default there
which is really pain in the ars sorry well i could look at the role settings
but they are not really roles themselves so if i go for that one
so no there is no bulk update
which means it's probably another module now because there was a bulk update bulk update is
like this i have another box here and i say mark them all in one go sometimes it's easier if i
mark tick all the checkboxes in one go and then unmark only those which are not necessary
yeah but it was in drupal for example seven drupal eight and they removed it because it was
somehow problematic from a different perspective
but what was really useful thing let me check if it's just disabled maybe
so
not really actually no it's not over there but i think i think
it might be related also to views so let me check one last time and then we will see
so
because this is the view with permissions actually
but this is it's a built-in one so it might not be that easy to change it yeah
so
yeah there's no just default access to that just like that
okay i'm just going to do some small improvements for the data good but no we don't have that we
also have advanced stuff which is just caches yeah nothing there which means it's really a
separate module okay
because i cannot you know even edit this view this specific view is special too special
yeah all right
one more thing because that's something i should show you later on too
but so i think aloud because this is important yeah no help here not everything is
properly described but yeah by bulk update i mean this i'm going to show you from this
have it so there is a header column sorry row with column headers so this is header this
is header and let's say i want to find all the blog posts only and let's say only published
blog posts
and i want to delete them all imagine that you have 500 something of them deleting one
at a time would be really really waste of time so we have this bulk update here i
tick this checkbox and i rule them all and permissions had this exactly before now they
in drupal 11 which is well i don't like it but you know community decided
not me that's the problem with open source world also if there is something in drupal
which you really like and it's part of the core it might disappear in the future because
the whole community decides not just one person even not the creator of drupal mr
is but yet okay let's um let's let's go back to the exercise i think you did it did you
is it done did you test it
oh wait a sec wait a sec wait a sec wait a sec let's do this together i'm going
to share the screen in a in a sec uh so that is we could learn from that all of us
okay uh can you see the screen share guys okay please continue oh my gosh okay try that try that
please you can use mine you know that doesn't have to be something guys memorize it you can
hack it later no no you have to change the password no it's like do you really you want
to change only the role right not really interesting can you scroll down i'm just
copies nicely screwed up because you still have french everywhere see editor or something
i don't know french obviously so but that's really interesting it allowed me to do the job is
there anyone else in the group who had same issue like paris no so drupal is really buggy
yay i'm happy because i can show you that yeah drupal is not ideal plenty of problems as you can
see and it's not easy to fix so try to do the second row yeah and then without yeah
and then say the problem interesting go for your main admin user you have it at the top
but yeah yeah and then do the same for admin try to apply admin with another role and definitely
oh wait a sec what is happening right now is this your main user and it didn't have admin role
take the trainer also take them all all the roles and try to save it i believe it was not
gonna work yeah your website is screwed up totally can i show you something guys i'm
trying to fix it but don't do it yourself at home never by yourself always seek for some
supervising and especially you should take your 12 years old child because he will know
how to fix it right they are prodigies today joking so i'm gonna try to fix it this way
i hope i will be able to well during an installation of modules or something really
weird happened in the meantime because your admin has no admin rights now which is weird because
he can still do the job so definitely something wrong is happening either on the database level
so low level in drupal or something else yeah interesting i'm gonna log out also uh
the sec i was using oh i think i might know what did you do
why it doesn't work for you let me double check but it might be the reason too
i need to check all of your command lines because that might be the reason
so i believe that one didn't work and then you place that one right
you might not remember but yeah so you did it in the proper folder okay so that's not
the okay i was wrong that's not the reason all right let me go this way okay
okay
okay
typo
really interesting
okay look this view is showing that you have administrator wrong that one is lying do you see
it guys no administrator administrator yeah definitely something is wrong with this
thing and it might be related to translations in your case or not really because other
people have same issues okay or similar issues with the same error message and i believe this
error message is crucial the one i got for the first time when i tried to create a new user
from the outside world which i didn't manage actually okay now we know thank you for staying
with me on that guys uh yeah in a minute we're gonna have a lunch break so i'm gonna
stop sharing the screen for now paris don't worry let's keep it we can't fix it easily
it will be a waste of time because we don't have five days training only too so but at least well i
i might know how to fix it from code perspective but that's too long too long
i don't want to waste your time guys you are users of drupal so we should proceed um we
still have good timing yeah we are progressing well so don't worry officially we have a lunch
break right because it's 1 pm in your case
uh you wanted an hour okay so after that we will go back to
drupal and we will talk about
menus a bit more
and then views which is really important and after that we will talk about layout builder
and then the rest of it as i promised enjoy your meal see you in a bit
thanks
on 2025-06-11
language: EN
WEBVTT
Okay, so, you know what, I'm gonna try one last time to do one specific thing because
I think you could also get something interesting from that. I'm gonna need this error message
to be available to me again. I need that one. And yeah, so Drupal, Drupal is like this.
This is the installation of that. I just need to refresh it now.
And then I'm gonna close this bit. And then we need
to search. So I'm gonna search in Trainy for this specific error message. Well,
this is what I usually would do as a programmer, Drupal coder. If I can't fix it by a clicking,
then I have to look at the code, I'm afraid. That's the only way. So let's see what we can
find. Search failed. Hmm, interesting. So maybe without the dot at the end.
What would you do? Not really. So maybe the web instead. Okay, sensitive. Requesting
founders. And that should do. Finally, we are talking. See? We have plenty of results,
19. And then in those results, we should probably search for user related stuff,
right? Because that was when I was trying to create an account. So this is
this is node user config validation test user config. Yeah, so this is the one which I
would probably check first. Provider test user settings, which is somewhere there.
Where is it with the path? This is web core modules user. Yeah, that's tests. So it looks
like the kernel of Drupal is complaining, but it might not be exactly the same. There is
another place which is very similar. So you have two cases, invalid register, invalid cancel
method. Yeah, so that's the one we need. Invalid register. For some reason it doesn't
work. This bit is complaining. So I need to later on check what is calling this thing.
And look at the whole stack of functions behind the scenes. And then we might know
why this invalid register is complaining. That would be the way to find out. I just wanted to
show you this. So probably that's the moment in which my user registration is falling down,
spoiled, and then I can investigate more. All right, this is from code perspective.
So let's go back to our clicking. Okay, so in this exercise I said create a role for only one
specific content type editor and assign all necessary permissions. That would be like this.
I go to people and then roles. And I'm going to create a role only for basic page editor.
So I'm going to say basic page. And then I'm going to assign it to my newly created user.
But first I need all permissions related only to basic page. Okay, so again,
edit permissions. I want to search for basic page.
I'm going to assign everything related to this role specifically.
You know, I think, yeah, there is another way, which is really simple. I think it will
going to work even in Drupal 11. There are plenty of those. Well, in the past I was
hacking it this way. When I tick the first one with the shift key,
so it doesn't work even here. Well, that was interesting. In the past, in Drupal 8,
I think it still was working. Definitely Drupal 7. When I was making the control,
yeah, it was working with shift key. When I marked that one with shift and then I marked
the last one, it was marking all of them. But it's not working as I expected. Yeah,
so I have to do it manually. Or search for the module bulk
action regarding permissions, something like this. That would be related to that.
These would be the keywords. Save permissions. And now I'm going to assign my user
here. Rob with this role. Yeah, in my case it did work. See Paris? It worked for my
case, which means somehow either your website is spoiled in a stronger way than mine,
because in my case I have the same error message, but only in different circumstances.
Let's say maybe the same as yours, but you have another one, instance of the same error
message in different circumstances, but still related to users. So definitely user module
in Drupal Core in version 11 is somehow spoiled, broken. Good. So this is how I assign
to my Rob user. It means Rob should be able to also have access to basic pages from now on.
Let's see. So if I look at the basic page like about us, Rob should be able to
edit it and it does work. Awesome. And that's the end of the story.
So let's say this is the first part of the exercise. Second part of the exercise was
like this. Set permissions so only authenticated users can command and create your content type,
the one we created. So I want to make sure that only authenticated users can
command and create my content type. All right. So I'm going to go there as
main admin, and then I'm going to look at my permissions again from this perspective.
My own content type was, for example, PCQ. Now I want to make sure that only
and only authenticated users can command and create.
So I search for my own content type and I should say only authenticated users can
command and create. So create new content. Authenticated user,
which means actually also the other roles, right? And then
can command and create. Okay. So create and then comment.
Actually, yeah, I think my PCQ has no comments, but I'm going to check this way.
So
this is already actually assigned to authenticated user, also anonymous.
So, but there's nothing about my custom content types. I need to be precise now.
So I'm going to go to content types and check if my content type has comments
enabled.
Not really,
which is a bit weird because,
for example,
yeah, look, no, well, this one is post, block post, added via module. So I didn't touch it.
I didn't spoil it. And that one, yeah, has also not much regarding the comments from this
perspective, from this perspective. But if you look at fields, it will have comments.
So that's true. So you are of course right. If I really want to play with comments
and assign permissions related to my content type, I should add comments,
literally that type of field to my content type. That's why I cannot change it in my
own content type, because it doesn't have comments at all. So to fully finalize this
exercise, I should add comments and then play with permissions. But you know already how,
right? I told you we found out together. So of course you're right. My PCQ has no
comments field. Yeah, I could add or reuse an existing field,
comment like this,
and then just assign it.
And then if I go back to permissions,
if I say PCQ,
content, content, content revisions, it still does nothing there. But as I told you,
it's not related. It's a separate field. So I need to again set for comment,
but it's already enabled. Authenticated users should be able to post comments
and we want it to do what? Can comment, yeah. Good. So it's already done.
And then only authenticated users should be able to comment. So I need to check
as Rob. That will be final test. I need to check as Rob if Rob can comment on
PCQ.
Why I can't go to homepage, interesting.
Okay, I can. But now it says, no, it's okay. Good, good. Now it's good because I see comments,
see? And Rob can do comments. Let's actually check if he really can. So
let's check. Yes, I can. Done.
Which means if I log out, I should not be able to do the comment. So let's check.
Actually, I do because I said
previously, when I was spying yesterday, I think that everyone anonymous user. So now I
should do that. I'll comment it here, set permissions, and then test it there.
Now I should not be able to, which is true. I cannot. So it's working. Done. Exercise done.
I made sure that my custom copy type has comments.
And then only login users can do them, the comments. All right, done. Questions?
Thoughts? Nothing. All good so far? Understandable?
Okay, so let's go deeper. We talked about blocks, but I promise that we're going to look at them
in a stronger way. We know what block is in Drupal. And block is special type of structure,
not content itself. It's slightly different Drupal, creature, syntax, element.
So I cannot just like that. Do the searching. Block has no revisions.
No publishing, no publishing. Well, if we try it like this,
I'm going to go to structure and block layout. I'm going to try
to create my custom block. Now I'm going to try to create my custom block.
But first I'm going to try to change one.
So for example, block which is doing language switcher. Yeah, I can just do this. Configure
it, disable, translate, or remove. If I click configure,
I can see. Well, there is no ownership about this block. I can provide some visibility,
restrict the visibility of this block and placing of it. But that's it. So true.
If I go for block types, there is a basic block type. So it has only title and body.
I can add my custom one. I'm going to say
and let's say noble prog block, specific type of block,
not content for noble prog reasons.
I say you can have revisions actually.
So by default, there are no revisions. I need to enable them.
So I said no revisions, which is true by default, but you can enable them.
Simple block has no revisions, but I can enable them. It wasn't like that in all Drupal
versions. It started to be available actually in Drupal 8.
I said no fine grained permissions for editing blocks. That one is true and not really proper
support for indexing and searching. So block is only for structure. Block is only to
organize my content in a sort of better way. But special type of content, which is
special Drupal element, not content, element. It's about structure, positioning,
layouting, regions, providing better grid of my structure of the page. Good. Now I said
block type, and then I said create new revisions, language settings.
I'd say default language, but I'm going to manage some fields in my custom block type.
So now it looks like content type, but it's not content type. It's a block type.
Block content, different type of Drupal element. It's not just content, it's block.
So I'm going to add a new field to my block. I'm going to say,
because it's mobile private related, it's supposed to be
selection list, let's say,
a type of field. And I'm going to say NP.
What we could put there from business perspective,
NP franchisee, because this is something which will repeat it. Yeah, why not?
Okay. And then I have a choice integer text or float.
Well, franchisee means text because franchisees have names. Usually
they are assigned to countries in normal product. So I'm going to say list text.
Values will be stored as text. I might have some keywords.
So I'm going to say continue and I'm going to properly do it.
We have some allowed values, for example,
and I could have also more items than one.
I could say it's a required field, the usual, the usual.
So the more descriptions we provide the better. So I'm going to say
list of available
franchisees to be assigned.
Just like that. And now I'm going to say,
yeah, so this is list field.
Save settings.
Yeah, it needs for me this actually.
No, I wanted to show you something interesting from this type of field perspective.
Now it's not exactly what I wanted, but okay, we can do this way. Yeah,
we can do this way. So it will be like this.
Let's say PL. Okay, this is general one. I need to think about it. This is general one.
So pair specific content. I might use it later on. Okay, but I really need it to be stronger.
So let me think.
Yeah, so it's supposed to ask me for those.
Pairs, key value, key value, key value. Okay, all right. So why it's not?
This is interesting. It's weird. Come on, Drupal. Now it's hanging. Hey, I killed Drupal again.
Drupal, Drupal, Drupal.
Why are you not listening to me? Okay.
Okay, many fields. Yeah, let's start from scratch. Definitely 11 is buggy like hell.
So again, list, because this is important field. You should understand this field.
One more time. NP, franchisee.
Pro, better. Yeah, okay.
Okay, PL.
Another one. Let's say, are you
I don't know who's the role here.
Which is even more interesting because
that one didn't do the
Oh yeah, because this is just the default thing with the requirement stuff.
Okay, I'm gonna write another one, like the E, Germany.
Let me type because it says this, but sometimes it prefers this.
I'm experimenting a bit because it's like
yeah, mapping
the business on the fly, but yeah, should be fine.
Okay, let's say three for now. We will see.
Okay, now if I, if I want to create instance of this block type,
I have to do it in a special way.
Let's say in my sidebar
this time on the left, I would like to place the block.
And then, for example, Poland and then save and configure.
Okay, good.
And then save block.
And then save the whole thing, but at the end of it.
Okay, sorry to
the final setup. It will be different than content and that's what I wanted to show you. So
now I need to just look at the website itself.
Choose the franchisee, side franchisee. And the problem with blocks is this.
I have to choose one during block creation. So it's different than the usual field in the
content because the usual field in the content will allow me to make the choice
during creation of content and block is not like content.
Yeah, so it's way different. So I have to make a choice and it will be one time choice.
Just to compare, I'm going to improve my PCQ now.
And you will see what I mean.
Yeah, manage fields.
I'm going to say selection list.
I'm going to say this text.
I'm going to say unlimited.
And I will say again.
Yeah,
Poland.
And then another item.
You Australia like we had before.
And another item.
The Germany.
The franchisee.
Now, if I say default value, it would be, for example, Poland. Why not?
I'm going to save this filter. I'm going to try to maybe create new content.
Of type PCQ. And then it will be like this.
Dorothy.
Why not? And then I can choose. Let's say Dorothy is from Australia.
No, I'm going to say published.
Now I have this specific field, but it's downstairs below comments.
So it's not good. I want to put it upstairs before comments.
How to do that? I'm all ears.
You tell me. You should know that.
I want this field to be there at the top. How should I do that?
Okay, I'm going to give you a hint. We go to content types.
Now, where should I go to move this field upstairs? Nope. Manage display.
But you were close. And now I see it's upstairs. Sorry, this is the last field.
And I want to make it as, let's say, the first one again.
Right. So I'm going to put it at the top. You have unsafe changes.
So I'm going to show you in the same time the thing I wanted to also.
Because it's just today, so I need to squeeze a couple of things in one go sometimes.
So now we know how to change it. But let's say I forgot to save, to click the save button.
And I'm going to say, well, I have to go for now. I'm going to be back tomorrow.
And I'm going to close the browser to make it even stronger.
So it looks like all the caches will be gone. Well, browser caches, probably not.
Not at least some of them, even though I don't have a setup. Clean them out if you close it.
Plenty of people in offices, in companies, they set up admin, set up computers for people like this.
Everywhere browser should clear the caches after closing it. For the security reasons.
But let's reopen it.
And I'm going to log in again.
As look.
And I'm going to go back to my setup.
Which was structure, content types, and then pre-cast questionnaire, manage display.
Will I have it there and save changes or not? What do you think?
I'm afraid not. Now imagine that you clicked the whole day on Monday, literally around six,
seven hours of clicking in Drupal. And then you forgot to click save button and then you
log out and then you come back Tuesday morning and you think it will be there.
And then you've lost the whole day because it's not.
See? Don't forget to save your changes. Enabled works better, as usually.
So I'm going to move it upstairs and now I'm going to save it without forgetting about it.
And now I'm going to test it. Let's refresh Dorothy,
Dorothy's content and franchisee is at the top. Good. So now you can see the difference.
When I create new content of type pre-cast questionnaire,
I'm going to be able to choose the franchisee like this.
And it's visible as content, not as block. So it's slightly different than block field.
All right. Any questions?
No questions. We did that already, actually. And we positioned some blocks. We positioned
language switcher block. Remember, we tried that. But let me think. Should we do that exercise?
Now we also see the restriction. We were fixing, I think we were fixing your
or your tools day, remember? And then that was related to positioning block
regarding some circumstances. So we know that. Let's skip it. Let's go deeper.
We already talked about menus. Guys, if we skip an exercise, just do it as a homework.
Now many, many. What is many? We talked about many already.
We did already that exercise. We did it from content perspective.
But now I want you to do it at least once as an exercise. In the menu,
let's say tools.
Here in the tools menu, I want you to put at least two more links.
But do it from this perspective. Structure, menu.
So we go for structure, menu, tools, and then add link. Do it this way.
You have three minutes for that. Try now.
So add one or two links to tools from a new perspective, not from the content perspective.
Okay, effect. All of you did it. Nice.
So I'm going to give you another task.
I want you to create your own menu from scratch.
Okay, and then I want you to make it multi-menu. So it's supposed to have sub-menu
and it's supposed to be visible, foldable, unfoldable. So we should have two levels of
It's supposed to be your custom menu. Okay.
And yeah, try to do that. I'm not going to show you an example. This is your
slightly different exercise. You have to find out by yourself. Do not Google it, please.
Try to do it only with Drup. So another three minutes. I want you to create new menu.
Okay. Right. So create new menu, put it in your left sidebar. Okay. Put it in your left sidebar.
And this menu supposed to have at least two links and one of them supposed to be a sub-menu.
So when you click it, it's supposed to open another sub-menu with at least one link.
So the structure is supposed to be like this.
Okay.
Oh, come on.
Okay.
All right. That's interesting.
I wanted to use my favorite flip chart, remote flip chart, and I was not able to.
Hmm. So maybe now it will work. No.
So I need to make a little hacking.
Finally explained. Okay. I have it. Is this the one I need? Hmm.
Okay. You're trying the meantime, right? You focus on the exercise.
I'm going to show you the structure shortly in a moment.
Okay.
Okay.
This is definitely too slow. So I'm going to do the text.
Oh, come on. I just need the text.
Okay.
No, it's not doing the thing I want. Okay. So this paint sucks.
Okay. Doesn't matter. I'm just going to do it differently. So
my menu is supposed to be somewhere in the sidebar and it's supposed to have one link.
Okay. So link one.
And when I click it, it's supposed to not redirect me, but just show me a sub menu
with at least one link. So it will be sub link. I'm going to name it as
L. And then secondly, it's supposed to direct me somewhere.
Okay. Link two. I want you to create that kind of menu in Drupal.
I hope that's clear enough.
Yeah.
So you have it already. Nice. Proud of you. And Tom. Yeah, you also have a sub menu,
right? It's working for you. Okay. And then you also have one. Nice.
That is doesn't work for you. Does it unfold additional links? Well, it's supposed to,
if you have any sub menu link there. I don't know. It's your job to find out.
I'm going to show you in a sec, of course.
Okay.
Play with the options. I'm going to give you a hint. Play with the options.
Okay. So last two minutes and then we're going to discuss together.
Okay.
Okay.
Okay.
Looks weird, of course.
Okay. Time's up. I'm going to show you an example. So I added,
now it looks really bad. Well, it's there. See, I added look hacking link,
which is not linking anywhere and it's a child thing. So how did I do that? I just went there
to structure and then the knees and I found administration menu and then I edited it
like this and edit menu. And then I provided my custom child link, which is called look
hacking. But the link is not providing anywhere. So I'm just going to change it slightly.
This time I'm going to say, actually, no, let's keep it like this. It will not provide
anywhere, but I'm going to add child to that one. Yeah. Why not?
So I'm going to add child to that one. Child. So it will be on the right side.
And this one's supposed to take me maybe to look and then PCQ with the same name. Why not?
I have some display settings also there. And this is magic. Display settings. Wait.
And then the show is expanded. If selected and this menu link has children, the menu will
always appear expanded. This option may be overwritten for the entire menu tree when
placing a menu block, et cetera, et cetera. But for now, so far so good. I'm going to just
save it. And then I should have it there. But it's not. Well, it looks like it does work.
I should definitely change the order of them. So I'm going to say edit again.
And I'm going to say display settings. I'm going to say,
sorry, minus minus. I should have it at the top.
Let's see if it will work that much.
No. Save it.
And then I should see it at the very top. And I do. It's there. When I click on it,
it's supposed to unfold something for me. It still doesn't work. So I need something more.
So I'm going to add it again. And I'm going to say maybe this time not just no link,
I'm going to say maybe Rob. Now it looks better and it will unfold. So now it's working.
So to make it unfolding in this position in admin menu, it's supposed to be true link,
having some URL directing somewhere. But I set my custom menu. Okay. Okay.
Enter menu.
And now this menu is empty.
Now this menu is empty. So I need to write some links. I'm going to say something there.
Look. Then save it. And then I'm going to add another one, because that was the flow.
Remember, I wanted you to do this. Two links in the main level and then one link in another
level. So I'm going to provide another link. Maybe Rob again.
Save it. And then I'm going to put another link, but from this perspective. To look,
I'm going to add, because I wanted this flow, the first one should have sub menu.
I'm going to say add child. And this time I'm going to say Dorothy.
And just save it. So it looks good so far. I'm going to save the whole thing.
And then I need to place my menu somewhere. I set in the left sidebar.
So you know, it's structured block layout. I search for left sidebar.
In our case, it's named sidebar first. I'm going to place block. And because many,
it's part of Drupal structure, it's yet another type of Drupal entity, not content entity.
So I'm going to search for it. And then I'm going to place the block.
It has some many levels. Initial visibility level. Number one,
number of levels to display unlimited. I could say expand all menu links by default.
I could say number two, maybe. Let's keep the default set up for now. And then the whole
visibility. We will see what will happen. And of course, I should not forget to do what.
Maybe put it at the top in the left sidebar and then save the whole configuration.
Again, enabled works better. Now I'm going to test it.
Well, I clicked look and it expanded for me. Now it works.
Well, it would be nice to have it already visible. So I don't want to click on look
to show Doro. That's a waste of clicking. So now I have a couple of options in this magic
pencil. If I say configure block, I could say number two, just like that and try
what will this option do actually.
See? Now I spoiled my money. So that's not what we want
because I see already Doro. Where is look? Oops. Nope. So let's go back.
That's not the thing we want.
So maybe expand all the links. Maybe that's the option we need.
I've, of course, turned back the previous one and now we have what we wanted done.
Okay, Paris.
Questions? Remarks? What do you think about this money system in Drupal?
Is it useful? Is it confusing or not? Any thoughts? Too simple or too weird?
Easy way to have a menu for specific page. I think I don't get the question
what do you mean by that? Can you rephrase it for us?
So if I understand properly, you won't have a menu which will show only on specific page or?
Okay, that's very easy. Let's say I choose my
my about us. If I go to about us, this menu is supposed to be visible only then.
So I'm going to change the visibility of it this way.
I just need to find out one more thing.
This is
Note 3.
And then I go for home page and menu is gone.
I go for about us and menu shows only when I see about us.
Which is, for example, same like on my private website which I already showed you.
There is a menu but it's not visible when I go to the home page.
I wanted to make my home page really simple. No menu in the sidebar.
But if I choose one thing at a time, we're going to see the menu, actually a big one.
Each time I go for one single thing, I'm going to see the full menu.
Also I have another gadget in my menu.
Accordion effect.
Small simple animation. This is related to jQuery, JavaScript library,
external module which I have to install to have such effect for my menu.
Now, what if I want to have powerful menu?
Not just simple like that in Drupal.
I want to have powerful menu, better menu.
Well, you know the way already.
Yeah, I didn't close it.
We go to Drupal.org and for example, we search for,
because I remember that.
There is a specific module called MegaMoney.
They even created the better MegaMoney.
So maybe I should go for that one because it might be more relevant for Drupal 11.
And it looks like this.
Nice money.
From the very top I have links.
Probably hovering we're going to open instead of clicking.
So this would be really nicer one like maybe this example.
Better money.
Okay, let's try that one quickly.
Let me see.
Okay, branch three will support.
Okay, so probably we should go for branch three.
Yeah.
But this is alpha.
Okay, I'm going to try this alpha.
We will see.
Let's spoil Drupal properly.
No red messages.
So far so good.
TB underscore MegaMoney.
Yeah, just license on this thing.
Looks like success.
Okay, I enabled the module.
I should be able to use it now.
Let's check.
Now add money.
Not really.
Let's check the configuration then.
Not really.
So maybe I did enable the module but maybe I should configure it in a better way.
So I'm going to check in extend section.
The better MegaMoney.
Okay.
Configure.
I need to create one but from this perspective and it's hidden in structure
but Drupal didn't show me that.
I had to probably either refresh Drupal page or caches.
See, it was not there.
Now it is.
All right.
I'm going to add MegaMoney.
I'm going to do probably something better because I need my money to be done like that.
So I'm going to make a permanent as MegaMoney.
And then seems supposed to be maybe ABC.
Why not?
Same.
Now look, Rob.
It's a small break point.
Okay.
Yes.
Animation.
Slide maybe.
And then save.
All right.
Let's see if it works.
Let's pray.
Hopefully it will.
Yeah, I said about us only.
So where is my MegaMoney?
Yeah, probably I have to add it there from block perspective.
Let's see.
And I'm going to put it maybe to make a nice effect
in the primary money region.
Yeah, that should do.
Let's see.
Not really.
All right.
So maybe just this way.
Okay.
We'll see.
I'm just experimenting with you.
I didn't use this module before, so I'm learning it with you.
See, it's not the easiest way, but yeah, let's try.
And then refreshing it.
All right.
So we need to check the configuration again
and see if we can play with MegaMoney somehow.
Well, that's not the thing.
It was structure.
TB MegaMoney.
Edit.
Well, it looks nice, but I want to use it now.
They don't tell me how to use it, right?
I want to have this.
This looks nice.
It does, but where can I use it and how?
They didn't tell me.
So maybe that's the thing or maybe not.
And editing links.
So it directs me to this perspective.
I just want to use this money in a nice way.
So maybe it's about refreshing the caches.
Let's see.
One last check, I promise.
If we don't manage, we won't bother because, you know,
it's like experimenting.
I don't know this module, so it can behave in a very unpredictable way,
especially because I did install what?
Beta version of it, right?
Beta.
So it's not stable, but okay.
One last check.
Well, sort of working.
See, finally.
Not so bad.
Without clicking, it's just hovering it downstairs.
And then, yeah, because this theme is also seeming it.
In the meantime, let's see how it will look like in another theme.
So final test.
Obviously, I have only one link inside.
So yeah, but let's check another theme.
I don't have so many of them.
So just Olivia or maybe we'll see.
Well, I think I did it only for ABC.
So if I just go back, that won't gonna work.
Okay, but okay, that's totally fine.
I'm just gonna go for this also.
Structure.
See, lots of clicking.
And then place the block, which is my navigation in the primary menu.
So why not?
That was better.
Don't forget to save the whole thing.
And then check it out.
So where is my menu?
Am I blind or something?
Or it's not there.
Okay, let's crash this again.
Or I have to totally configure it for this theme.
I think that would be the reason.
No, it's supposed to be there.
So manage, one last check, and then we go for next topic.
Yeah, ABC.
Maybe let's use something more, let's say nicer.
I have bigger menu, which is administration.
I'm gonna use it again.
That's why it's supposed to look nice.
And I'm gonna say, yeah, Olivia, save it.
So I have yet another instance of it.
Yeah, and then save it.
And I want to have animation, which will be zooming maybe.
Yeah, 200 milliseconds duration, 400 milliseconds.
Let's make it a bit longer to make it more visible.
600 milliseconds and then 300 milliseconds.
Save it.
All right, now let's check if it works.
Of course, I need to put my menu there.
So I think it would be nice if I'm gonna have it in footer.
Why not?
I'm gonna put it there.
Structure, block layout.
And then we go to footer.
Yeah, place block, administration.
Okay, administration, let's see.
Save blocks.
And then let's do it.
No, really.
Come on.
No, maybe because of theme, we don't know.
We have to play with it.
Yeah, we have to play with it.
But at least you have an idea.
If I need specific functionality like this one,
menu would supposed to be nicer, nicely formatted,
not just the default way.
I need another module.
And then configuring, it takes time, for sure.
Testing it.
I need to be careful with this.
Well, only beta, which is like here, we have beta.
So this one is alpha.
Still alpha might behave.
Alpha might behave.
But at least we made it for one of our themes.
So I'm gonna go back there.
Okay.
ABC says default.
Go back to the home page.
And that one works or not.
I need to click it at least once.
And now it works.
Questions, remarks, doubts, complaints.
No.
Good.
This is, yeah.
Let's go deeper.
I told you about text formats and input filters.
We already saw them in action.
We saw them in action.
For example, there.
When I edit my look, I can do this.
Sorry, not that one.
Yeah, basic page will do.
Contact, for example.
And I have those text format.
Format inputs, formatting inputs.
If I say full HTML, I'm gonna have warning.
Because it will remove the content which is already there.
So I'm gonna actually take it.
And then change it.
Yes, I know.
That one looks like it didn't remove it, actually.
But that's okay.
And then I can do a lot of things at the top.
We play with that already, right?
Also, if I really want, I could do JavaScript there.
So let's see if full HTML is secured enough.
Why not?
I'm afraid not really.
So be careful about full HTML.
Be careful if you assign roles
or if you give access to your users to full HTML.
Because now I did what?
Look, where's my website?
I just hacked it with this ugly pop-up message.
I could put this pop-up message in the loop.
Endless loop in JavaScript language.
And then I'm gonna kill the whole website.
Just like that.
Just like that.
So then later the browser will complain
because it will be locked.
It will be lacking memory.
And we don't want that, for sure.
And fixing that is not easy
because the admin have to do it.
And then plenty of people will look
at the same page in the same time.
If you have problems, Houston, we have problems.
Now each time I open this page,
I'm gonna have this pop-up.
And it's really simple hacking.
I could do something even really bad, worse.
And so obviously we should not allow that
because it's not visible there.
Do you see this?
No, you have to go to source to see this
because it's a script.
So be careful with the full format.
All right, I'm gonna fix it now quickly.
And then we go back to the presentation.
So this is input filters.
We talked about already display modes.
We're gonna look at them in views.
Now let me check the time.
Well, we have the time to talk about views
and then layout builder.
Which is more important?
Interesting question.
I think views are more important
so let's focus on them.
Guys, we made it.
We are in last two big topics.
Views.
Please focus because that
is really, really, really important.
Now why is it so important?
Because this is one of the most powerful
Drupal inventions or inventions also.
Views.
They were a separate module
in previous Drupal versions.
Starting from Drupal 8,
they are part of the core.
Now you don't need to know SQL database
to show properly things in Drupal.
You have to know how to click it.
But view in Drupal is like
clickable representation of SQL query
to the database.
Did you hear about SQL language before?
Any of you?
Some of you, yes.
Some of you not.
I'm gonna show you.
I'm gonna show you.
So views can grab
and take for me similar content,
somehow similar content,
and show it as a list of
unformatted elements.
HTML table nicely formatted
and plenty of others displays.
We have types of displays in views.
Even JSON document.
If I want.
Here comes RESTful API.
Hello.
Or, for example,
we can have slideshow like this.
It also can be a view.
A view can have mode like this slideshow,
which is periodically changing,
replacing the content in it.
This is view.
In my private website,
on my home page,
I have also a view
which is rotating one item at a time,
but eventually it will go through all of them.
All content from my website.
It's changing it.
All right, let's go deeper.
This is theory.
Use cases.
New functionality to administrating my website.
If I have some contributed module,
I can put my specific type of content,
which I created programmatically in PHP
and wrap it into view.
Better accessibility to data.
I can put one view per language,
which will show something differently per language
or per user or per you name it.
Specific circumstances, business cases.
And conditional, conditionally rendering something.
Now let's look at the exercise.
Before you do the exercise,
I'm going to do the example, of course.
I want you to create view with notes only
from your own content type.
And you should allow your users to filter it
via one of the fields.
So basically, we want this.
We want something like that.
I have a view which shows something
and then we can filter it with such filters.
So as an example, I'm going to create view
of basic pages.
Yeah, I have plenty of them.
Now, please concentrate, guys.
Pay attention because this will be huge.
Views are one of the most powerful,
the biggest Drupal elements.
They are part of structure.
It's about structure.
So I go to structure and there is views at the end of it.
And I'm going to create new view.
I'm going to name it
basic pages, plural.
Because view usually shows more than one thing.
So plural.
I'm going to describe it.
And then I'm going to have some settings.
This view is supposed to show me something
and I have plenty of choices.
Maybe blocks.
Maybe all uploaded files.
Maybe just log entries.
Maybe all media.
Maybe some taxonomy terms.
Or maybe just users.
In this case, I need content
because I'm showing only basic pages.
And another filter.
Of type, only basic pages.
So I'm going to choose only one.
And then I can sort it.
I can sort the result, order it by something.
I'm going to say maybe title.
Well, I can have two main displaying modes for each view.
Or more if I want.
And then specify them or restrict them to some contexts.
I'm going to say create page.
The page supposed to have title like this.
Basic pages.
The path from CEO perspective.
I'm going to keep it like that.
And by default, I'm going to say unformatted list.
But it can be grid, formatted list, responsive grid,
mobile friendly, table.
But for now, I'm going to keep unformatted list.
I'm going to change it later
just to show you the difference.
Default amount of items to display.
I'm going to say two.
Because I have three pages,
I'm going to show you pager.
How we can create pager.
Obviously, I want to use pager.
My view supposed to have a link in the menu
because it's the common way.
So I'm going to do it now.
Not administration, obviously.
I prefer maybe tools.
And then link text supposed to be basic pages.
Now, I might want to have a block representing my view.
So I'm going to say yes, create one.
And it will be definitely grid of things.
And just titles may be linked.
So smaller version of my view,
which I can place somewhere which is small.
Sidebar, footer.
And then I'm going to say items per block.
Let's say five.
No pager.
Save and edit.
Now, here comes the adventure.
Because I can still play with this block.
I have main two displays, page and block.
I can add more.
And it can be like attachments, embedded stuff,
feed from RSS perspective,
only entity references.
Or if I want to have, for example, JSON, I need to enable it.
It's not available so far.
Now, I have plenty of options.
Simple options and advanced options.
Even more.
Context, relationships, exposing and other more specific options.
And I can say do it for view page, duplicate page.
I could create more from this perspective.
And also I have a preview downstairs.
And in this preview, because I enabled the option in configuration,
we see what exactly view is.
And as I promised, view in Drupal is like SQL query.
But I don't have to know SQL at all.
I don't have to do it manually,
which might be really long query.
And I can make a lot of mistakes if I type such query in SQL language.
First of all, I need to know this language to do so.
Thanks to Drupal, I don't have to.
Drupal under the bonnet has
MaryDB, SQL database related, relational database.
And I have some debugging stuff.
How long the query was building?
Quite fast, six milliseconds.
Rendering was a bit longer.
Rendering means in PHP, from PHP to HTML to my web browser.
And then I have a preview downstairs.
This is how it all gonna look like.
A list, unformatted list with pager of teasers.
Well, not exactly as I wanted.
So thanks to this preview downstairs, I can change it easily.
And I'm gonna say, I want unformatted list.
Yes, or not.
And then it says all displays, all displays.
Well, I don't want to change all displays.
I want to change only page.
So I'm gonna change it again.
Settings.
And I'm confused now.
What?
I click settings and where is my choice?
Where are my choices?
Well, I click the wrong button.
Not settings.
This one supposed to be clicked.
And I'm gonna say, maybe I'm gonna say responsive grid.
And then I apply.
And I just find out, oh, I applied to everything.
So I'm gonna cancel.
I only wanted to change page, not everything.
So I'm gonna go back.
Not all displays, just this page.
Apply this display.
And then if I go for block, it should still have its own simple grid, which it does.
So, okay.
Yeah, so my page is okay because I have responsive grid.
Now, it's eta leaks because it's not saved.
It says this star and it says you have unsafe changes.
And this is really important, guys.
Because in views, we often need click like a lot.
We spend a lot of time in manipulating, tweaking the view.
And if I forget to save it and if I log out, again,
the whole work from the whole day might gonna disappear.
So always remember to save the view when you change it.
But I don't want to save it yet.
I want to look at the preview at the bottom and see if it's what I wanted.
Well, sort of better now because it's a grid.
It's supposed to be responsive.
We will test it later.
But still, it shows me maybe too much.
But okay, for now, I'm gonna save it finally.
I'm gonna try to use it.
So this is my view called basic pages.
It has pager because it's another one after the last one.
And I can page it to the left.
And let's see if it's truly responsive.
So I'm gonna log out.
I said it's supposed to be in tools.
So it's there.
See, the link is there already.
Basic pages.
I'm gonna go there.
I wanna see if it's truly responsive.
Let's see.
Well, this is iPhone.
Let's check for something different.
Maybe maybe maybe something smaller.
Do we have something smaller?
Maybe that bit.
Yeah, a bit smaller.
But still, it shows both of them.
It rounds up the fields in it.
So it's sort of responsive.
But if I want to really make it small,
I could do it this way.
And now I see it's truly responsive
because it moved second basic page to the bottom.
No longer on the right side.
If it was keeping it on the right side,
it would be already very ugly.
Yeah, well, what can have such small
uh, pixels?
Yeah, the watch.
If I have a watch which is mobile friendly,
it can open websites for me.
But it has very small size of it.
Of the screen.
So it will be really small.
So it is truly responsive.
Hey, we tested it.
We have a proof.
So let's go back to the full mount.
And this is view, guys.
If I want to change this view,
it usually has a title.
So somewhere on the right side,
there will be magic pencil.
When I'm logged in, obviously,
because I'm not logged in.
So I'm gonna log in.
But this is view.
So far, any thoughts, questions?
A million of options, a million of clicks.
You already forgot where I started to changing it, right?
So many options.
I know, I know.
Let me log in.
In a minute, we're gonna do the last break for today.
But let's look at the view from this perspective.
So I created the view.
I'm logged in.
And then when I move the mouse to the title,
I see this pencil on the level of title,
which I click it.
When I click it, it will say configure block,
which is not exactly what I wanted.
So if I go downstairs,
I'm gonna have another pencil on the level of grid.
And then it's a view.
And I can edit it from this perspective.
So I don't have to search for it in the structure,
et cetera.
Okay, we'll go back to views after the last break.
A quarter break.
15 minutes, guys.
I'm gonna see you back at 4 p.m. this time, right?
4 p.m.
Oh, hello again.
Hello again.
Now, you were talking about views.
Are you enjoying the views in Drupal?
Yeah, I hope so,
because this will be powerful tool for you guys.
One of the most important things in Drupal.
Sooner or later, you're gonna have to touch them.
You're gonna have to use them.
Now, let me do the one final thing,
because I forgot.
Regarding our goals here today.
Actually, I can show you that.
Yeah, that would be nice example from Drupal perspective.
So let me share the screen quickly.
So guys, look, this is Drupal.
Drupal website.
And this is course event.
Our custom content.
We also call it course coordination in LobbyProc.
Can you see my screenshot?
It will be a real-life example from my business perspective.
So this is special view,
which shows things related to that event, Drupal 11.
Yeah, so this view has plenty of nice things,
like equipment related, payment might be related,
some templates, pre-course questionnaire,
training materials, if necessary,
joining instructions, which is for trainer and for you.
You should receive joining instructions.
Later on, training coordinator will mark all those check boxes
or select list just to confirm
and then conclude this lead, this specific event,
this part of the LobbyProc process.
And then we have templates.
Templates is very useful because this is like predefined email
with content which is automatically hopping to specific context,
like request for the trainer,
they search for the trainer, setup related,
joining instructions for online course, classroom course.
So you receive such email probably from Karmla.
Then pre-course questionnaire link,
which you will receive before the training.
I'm going to give you training evaluation form now,
which I wanted to show you.
Actually, I'm going to copy this thing
and I'm going to open it here in another tab
and you will have such training evaluation form in a moment.
I'm going to send this thing, right?
Please be honest in it.
It's an important feedback for us, but this is Drupal form.
I'm logged in so you can see how it looks like from login user.
You will see it from anonymous user, very simple form,
but yet powerful because created in Drupal and we can manage it.
And thanks to templates we prepare.
And Drupal itself, so we have predefined email template
so they can send it to you or I can just take this link
and give it to you at the end of the day.
And this link is automatically generated from specific data
related via relationships, via relations together,
bridged together, couple of content types,
booking, course booking, course event,
pre-course questionnaire, training evaluation form.
The whole business process is wrapped into different forms in Drupal
and they are connected via entity references,
which I'm going to show you in a moment together with view.
End of example, I'm going to stop sharing.
So Drupal is really powerful if you think about it.
I just saved this link in my local notes
and I'm going to send it on chat here in Teams
at the end of the day today.
Now let's go back to my machine.
And yeah, I saved the view.
I have a preview and I can play with this display mode
or to be more precise, it's like a format.
It's a format of displaying my content.
Instead of responsive grid, I could put table,
which is very popular one.
Look what will happen if I change that.
First of all, I have plenty of configuration.
Again, plenty of configuration again.
So I can say default sort should be by maybe title
or something else.
So far I see only one field from this type of content.
I can say group.
Yeah.
And this is like group by in SQL, if you know SQL.
And then I have other options, plenty of them.
Should be responsive?
Yes.
Highly responsive.
Just medium, maybe low, depending on the final users
we expect them to.
Maybe they will use phones to book trainings
or maybe they use phones to look at the breakfast
questionnaires or basic pages or et cetera.
I'm going to apply that and I'm going to go downstairs
again to preview this table.
And it looks actually not nice.
I see only title.
Would be nice to see the whole thing.
Like there, look.
Here, if I say prayers, I'm going to see table.
This is table.
Or maybe poems.
It would be slightly different table with the title
and three columns.
All right.
Let's go back to our example.
I'm going to change it.
How to improve that?
I go for settings regarding this format.
Now the settings will be different.
You saw that already.
So I can see, oh, okay.
I can play with structure, metadata from this table.
So that's not what I want.
I want to provide more fields to this table format.
So there is a section called fields.
I want to say add and I'm going to search
for basic page only.
Maybe.
Well, not really.
So all displays.
Well, I want to say only this page for now.
First of all, and then category.
Supposed to be content only.
And then in this content category,
I'm going to search for basic page.
Come on, this filter is not the best one.
What do we have in basic page?
We have title, we have body.
Definitely we have body.
So I'm going to have body in my table.
And also I want to have something else.
Maybe language.
Original language, translation language.
Maybe just original language.
And then I would like to have what else is in my basic page.
I need to double check now.
So I'm going to go for the refresh this one.
I'm going to go for my basic pages.
And I'm going to look at one of them.
And I need to check.
We have title, we have language.
Let's add it.
Let's see what's there also.
We have body, we have title.
We have language and that's it.
Not too much fields, but that's okay.
I could say also if it's published or not.
Why not?
This is also a field.
Okay, so I'm going to put it there.
I'm going to search for published.
Yeah, it's there.
I'm going to say apply this display and it will give me some configuration
for all three fields I want.
So I want the create label for this field.
I can exclude it from display.
I can do plenty of options, even from styling settings.
Come on, see?
From HTML, I don't need to know the language, but yeah.
We're writing results.
What if there is no results?
Some condition, I can put some default message.
Oh, sorry mate.
We didn't find anything related to this content.
I'm going to apply this display and I'm going to have a second step
because I chose three different fields.
So I need to configure each one of them.
So now I say this is another one.
Original language.
Let's say I'm going to keep it like that or maybe link to content.
Why not?
Also, maybe display in native language.
Why not?
Apply this display and the final field published.
Format and boolean.
Yeah, I cannot change that.
On off.
I would rather say maybe this way with nice characters.
Why not?
And then I'm just going to apply.
And then I go downstairs to the preview again
and I'm going to see something different.
Oh, now it looks better.
It's a nice table.
It has headers.
But the title has missing header.
Oh, so I would like to see this title header there.
How to fix that?
Well, I need to go for the fields.
There is a field called title.
I'm going to click it and it says no label.
So I need to create the label.
And now I'm going to say title.
Obviously, let's do it in English.
You don't want to learn Polish now.
And then we go downstairs and we see, oh, there is header now.
I'm happy with the preview then.
And only then I'm going to save the view
because I'm happy with the preview.
So I'm not going to bother.
I'm not going to disrupt other people yet.
We're saving the view too early.
Now, if I look at the view, it looks like that.
It has format of table published or not
with nice marker, language, body, and title.
But in our exercise, we want to have a filter
exposed to people so they can choose.
Well, that might be interesting.
This will be probably something advanced, you might think.
Oh, really?
Let's look at the view again.
And then we're going to change this view again.
And then there are some things like filter criteria,
sorting criteria.
I'm going to look at the filter criteria
because that's what I want.
Filter it via one of the fields.
Okay.
Okay.
Oops, that one.
So I'm going to say filter criteria
and I'm going to maybe add one.
I'm going to say maybe by title.
Content, not revision content.
I'm going to apply, but not all displays.
I want to only that on view, not on blog.
And then it says just like this.
So supposed to be equal to something
or maybe contains any word.
And then I can put the value later on.
But I said show this filter to the users.
If I just save it now, it will do this.
Maybe just filter or not,
because I didn't provide the value.
I want to show this filter at the top to my users
when they use the view finally.
So I go back upstairs.
Filter criteria, title.
I'm going to say expose this filter to visitors
to allow them to change it.
That's the thing we need.
And we can have group of filters, not just one.
Which is powerful.
But for now, I'm just going to keep one.
And then contains any word.
If I do that only without exposing the operator.
All right, they will be able only to apply.
So if I want that, it's okay.
If I want them to be able to change the way
of searching through this filter in this view.
So make it really specific.
And I'm going to give them more power
to my final visitors of this view.
I need to expose the operator also.
So I go upstairs again.
Click this filter criteria title.
I'm going to say expose the operator.
And then I'm just going to save it.
There are other options, but let's preview it.
And now I can change the operator itself.
So not only contains any word,
but it can precisely say does not contain.
Which is really useful is that if the view is
like showing thousands of elements.
So this is powerful now.
Now I'm happy about it.
So I'm going to save it finally.
And then we will see how powerful is this view
for my final users.
I want to search through all the basic pages,
but I want to specifically have only titles
which have details.
And then I'm going to apply.
And then I'm going to see only one row in my table
because only this title fulfills this pattern.
Isn't it powerful?
Yes, it is.
And very useful if you think about it.
You are not allowed to have questions.
You should do the exercise now.
And if you need me, let me know.
Yeah, it's quite easy.
But your exercise is like,
there's a lot of clicking on it.
Think about it.
There's a lot of clicking.
Create the view, but only with your own content type.
So if you have only one instance of it,
one page showing your own content type,
create at least two more.
Create at least two more.
And then create the view which will show
only notes from your own content type.
And then do the same as I did.
Filter, allowing to filter by one of the fields.
And the filter is supposed to be exposed to them
with operator also exposed.
So it's supposed to look like this.
Let's say it does not contain details.
So I should see two about us all.
True.
And I want you to make a table like I did
to make it more fun.
I'm going to give you initially five minutes for that.
If you need more, if I'm going to see that
you need more, I'm going to extend the time.
Try.
The starting point, of course, will be there.
Structure.
So manage, structure, views, which is the last link.
Add view.
Okay, play with it.
Don't forget to create at least three pages,
three notes, Drupal notes, of your own custom type
you've created in it.
So find your own custom type, create at least three.
You already have at least one, I believe.
So two more, at least.
And then create a view similar to mine.
So yes, that is in your case, probably, I think
it would be if you choose of type
and then optimization question maybe.
Yeah, you don't need block.
Page would be good enough.
Make sure you put it in the menu.
Make sure you make it a table instead of unformatted list.
Yeah, good.
And then create a menu link.
Don't forget about that.
And you don't need to use block.
Let's make it simpler.
You don't have to use block.
You can create block, late, root.
I'm extending the time by another three minutes.
And then we will discuss together.
We still have time, but I just want to warn you
in a moment, each single of you will present your work
to everyone else, okay?
You have to present your view and explain
and brag about it so we can clap
because I want to be proud of you, all right?
Don't worry, Paris, I'm going to help you a bit.
Did you manage to filter it somehow?
Almost, yeah?
Okay, I'm going to help you go back and edit the view.
Good.
And then go to filters criteria
and then search for title.
And then, yeah, add and configure.
And then change is equal to into contains.
Any word, maybe.
Don't put anything there.
Tick the checkbox, expose this filter to visitors.
And then go downstairs and then expose operator.
And then just apply.
And then go downstairs and look at the preview.
More, more, see?
You have a table, it has title, it has couple of things
and then it has this filter.
Now we can save it.
So scroll up, save the view
and you should be happy in a second.
Ta-da!
Now create another instance.
So go for content.
No, no, just content.
And then add content.
And it's supposed to be off-type optimization question.
Create another one at least.
And then you will see two rows in your table in a moment
after creating this.
Proud of you.
Okay, guys.
I believe everyone at least managed to create one view.
So, Dane, would you like to present your view as a first one?
Well, that's my point.
Well, I was joking a bit.
I want you to feel more comfortable with views in Drupal
because this is very important Drupal topic.
So that's why I wanted to work with every single each of you
just for a sec to make sure you will be not lost
but I want you to find yourself in Drupal.
So I'm going to share the screen in a sec.
Dane, okay.
I was observing and I thought it was okay for you
but let's see, let's see.
We will see.
Guys, in a moment you should see screen share.
It will be Dane's machine.
Can you see it, guys?
Okay, so click on views and find the old one.
Yeah, edit it.
Very good.
Now, oh, you know what?
I'm going to ask you to do something else in the meantime.
Go for appearance, go for appearance
and then go to the very bottom and change the administration menu
to claro, claro, yeah.
You will see why.
Now, go back to views again.
It will be way simpler for you.
Trust me.
See, now it's better.
Isn't it bigger?
Isn't it beautiful?
Isn't she beautiful?
Nice.
Now, okay, don't worry.
Let's go for the preview.
Preview will tell you the truth.
Preview, no, no, not that one.
Don't worry.
Just go downstairs.
Yeah, it says publish status.
Yes, there are some problems.
So how to clean up the thing?
Scroll up, please, and then go for filter criteria.
Now, there is arrow down there.
Click on that, add or rearrange.
And I want you to remove everything beside content published.
Content type.
Okay, we're going to fix it later.
Keep the published one.
Yeah, good.
Now, apply.
Now, go downstairs to the preview.
See?
Already fixed a bit, isn't it?
Drupal is powerful.
You can do plenty of things.
We just need to know where are they?
Yeah, the old little creatures which are clickable.
Where are they?
Where are they?
Yeah, exactly, exactly.
Instead of, you know, saving the view and spoiling everyone else's view.
All the visitors.
So scroll up.
Let us finalize it.
Scroll up, please, and go for filter criteria again and add new one.
And then say type.
Just type type and choose content type.
The middle one.
We're going to fix it.
And we need only yours, which was, I believe, what?
Established process mapping, right?
Yeah.
Apply.
Good.
Now, don't save it.
Go for preview.
Save it at the very end of it.
Yeah, sort of good.
A bit better.
Now I need to make sure it will have it.
So can you open another tab in this browser but with content type description?
So structure, content types, and then go for yours.
Manage fields.
Very good.
And we see there is field called are there any attachments?
Copy franchise established versus processed.
That good.
So we need to search for those fields in your view.
So go up.
Then go to format.
No, no.
Go to format.
Change from unformatted list.
So click unformatted list.
Change it to table.
And then just apply.
Don't worry.
Just apply.
And then go to preview.
It will be probably still empty.
It's empty.
Now go upstairs.
And then go for settings of this.
Sorry, not settings but fields section.
And then click add.
And then search for those fields.
If you don't remember, you have another tab which has names of them.
Good.
Are you sure that's the one?
Yeah, that's the one.
Very good.
And then no, no, no, no, no, no, no.
Just remove the search and then search for another one.
Why should you click too much?
I want to save your time, right?
I want to make you're working with Drupal smarter.
That's my job.
To give you best practices, right?
So yeah, exactly.
Exactly.
And then apply and continue for all of them.
Don't change much.
Just apply.
It will be.
And then preview again.
Update preview.
Click the button update preview.
It doesn't work.
I know.
So scroll up.
And then let me think why it doesn't work.
It's okay.
It's supposed to be.
It's already there.
It's already there.
But wait a sec.
This is coffee franchise on the end attachment.
Can you go to this tab which shows the content type and manage fields?
It's the next one just at the top in the browser, web browser.
That one.
Just the next one.
No, no.
That one.
Don't worry.
We need only those three fields for let's say.
Only those three.
And I believe you have them already, right?
Coffee franchise establish are there.
Okay.
Coffee franchise establish.
Good.
Now in the fields section, you have this arrow down on the right side of add.
Fields section.
No, fields.
That one.
Don't be sorry.
We are learning, all right?
This is like experiment.
Now remove the thing which we don't need.
Title we don't need.
And then we don't need this delta.
Delta is something specific related for programmers.
Now we have what we need.
And now scroll downstairs.
We still don't see anything.
Even if you update preview, we will not see anything.
Now what do you think?
Why, guys?
Remove this published one.
But keep the type.
Type should be there.
And apply.
And then look at the preview.
Something has changed but it's still empty.
Scroll up.
Scroll up.
And then go to manage fields.
The second tab like we second tab in the browser.
The one we were playing with.
No, no.
In the web browser.
That one.
Yeah.
And let's think about this.
Type has name coffee questions.
Coffee questions.
Go back to your view.
Look at the filter criteria.
And what does it say?
Does it say coffee questions?
Exactly.
No, no, no, no, no, no.
No, no.
Cancel, cancel please.
This is too long.
Just click the link.
Content dot.
See this is faster.
But then you need to choose the proper one.
Which is you have to scroll down probably.
Do you have the coffee something there?
Where is your coffee?
Part of that.
How is that so?
Can you explain?
Okay.
If it's okay.
I'm gonna click.
I'm gonna click.
Can I?
So let's look at the content types again.
Okay.
This thing has those fields.
I'm gonna copy machine name now.
And then we go back to views.
So maybe that's the reason.
But let's see.
Where is your?
Which one is yours?
My custom view.
That one.
Okay.
There's no page.
That might be problem also.
It's just default.
So.
Okay.
Better.
So we have a path.
But the path is not set.
So we're gonna say.
Uh.
Me.
Why not?
Just make it simple.
And then the preview still says nothing.
But okay.
Now.
Let's look at this filter.
That's supposed to be the thing.
But let's say maybe articles in the same tab.
Just in case.
Okay.
Maybe you did create articles of those.
Is one off.
Yeah.
And then if I go downstairs.
It's still empty.
Yeah.
So maybe not.
We will see.
But for now at least we have something working.
We have a page.
Now.
If I look at fields perspective.
I'm gonna search this machine name.
And it's not there.
For sure.
So.
I need to change the category.
Content.
We need content.
Again.
Machine name.
It's not there.
So.
No.
What's the name of them?
Ah.
Attachments.
Okay.
So at least we need this.
Attachments.
Frontize.
And then.
First.
Okay.
Yeah we still have roughly a couple of minutes.
Okay good.
So.
But it still sees coffee questions.
You did something nasty.
Which I don't know about.
Don't worry.
Don't worry.
This is like we can learn from that.
We can definitely learn from that.
Okay.
So let's look at the content instead.
We're gonna fix it in different way.
All right.
We're gonna fix it in different way.
So.
This is like content type.
Let's say that one.
Let's see if we have anything.
Let's see.
Only one.
Only one.
Only one.
Okay.
So at least that was supposed to be visible.
But it's empty.
That's why we don't see anything.
It was working.
But it was empty.
So empty.
If it's empty we will definitely not gonna see it.
We have to choose something.
Published.
It's not published.
You got the filter which was published.
Let's look at the view now.
Where is your view?
Did you provide many link?
For the view?
Probably not.
Let's see.
No many.
That's why we don't see it also.
Let's provide the menu link.
Let's say normal menu entry.
We're gonna say me to make it simpler.
And then main navigation.
Yeah. Why not?
And then let's look at the preview.
It's still empty.
But at least we know why.
Right?
So let's update it.
I hope that's the reason.
Yeah.
It's no longer empty.
We have one row.
See?
It was working but all of your data is empty.
Fields.
You just created it without fields.
We see the rows but they're empty.
Okay.
We fixed it.
We managed.
It's already done.
Let me save it.
And then we go for home.
Good.
And then look at the...
Where is the link?
Supposed to be there.
Me in the main menu.
And then it's working.
Hey.
And then of course filters.
But you know the way already.
All right.
Dane.
Now we know what was the reason.
You did a couple of things in the meantime.
And the content itself was empty.
The fields were empty.
So that's why it didn't work.
So your view was okay.
Good.
Thank you.
Next one.
Next one would be Seb, maybe, if you don't mind.
Show us your view.
Oh, you wanted to share your own screen.
Okay.
No, no.
No, but it's still okay.
Guys, can you see the screen?
Oh, you want me to do it.
Okay, I'm going to share it.
Don't worry, don't worry.
That's, that's...
Okay, that's okay.
So show us your view.
Very good.
Nice.
The easiest way would be to change the format.
I believe.
But if you really want to do it here,
then you can also do it, but it's not that easy.
You can hide them.
Yeah, you can hide them, but it's...
We have to go for options.
Yeah.
Can I show you something?
Can I show you something?
Can you go back to the view itself?
Uh-huh.
Yeah.
And then hover the second pencil from the top, yeah.
And click on that and click edit view.
Isn't it faster to go there this way?
What do you think?
You don't have to always go to structure, views,
search for the view, too many clicks.
In Drupal, we have to think how to speed up things,
how to shorten the clicking, even that.
Good.
Now, if you change unformatted list, for me,
from format section to grid, just grid,
and apply this display, and go for the preview.
Just apply, just apply for now, just apply.
And then scroll down.
See?
No comments.
Or maybe they are there, but it's now slightly better.
Yeah.
Because it's organized in a better way.
And then you can go back to the edition of the view again, please.
Now it's like huge, but yeah.
That one, very good.
And then look at the show in format, no, show.
And then it says full content.
Click on the full content for me.
Full content.
And then change it to maybe just teaser.
And then apply.
And then go for the preview downstairs.
Isn't it better now?
No comment field.
The easiest way to hide them is this.
Awesome.
And then if you, for example, in this view,
would be nice to make it better.
So if you go for this view, I got the final task for you,
if you don't mind, all right?
Hide tools and super cool menu, but only when we go for the view.
No, no, no, no, no.
I don't want you to do that.
Go back, go back.
And then configure it.
Configure it, please.
And then there is pages.
Pages.
And then provide hide for the listed pages.
And then list the page.
What was the path for your custom view?
Copy it.
Don't type it.
Copy it from the top.
Copy it from the top, from the URL address.
No, no.
You have this in the browser URL.
Yeah, the field, yeah.
Just the bit with, yeah, exactly.
Together with slash.
You will need the slash also.
I know, I know, I know, I know.
Don't worry, don't worry.
We have the time.
We have the time.
And paste it there.
That should be fine.
And then don't forget about the slash.
Uh-huh.
Save it.
Uh-huh.
And then we will see if it works.
And look, straight there, just with this removing of the sidebar,
your view is better because it's not, you know, squeezed like it was before.
Do the same for tools and it will be way better.
See, guys?
This is how you can improve even without any knowledge.
Pages, very special view.
Yeah, hide for the, yeah, exactly.
See, now it's way better.
Now hide manage maybe.
I mean, if you click on manage, it will probably disappear.
Manage, the menu.
Then if you hide bookmarks, now it's way better, isn't it?
Very good.
Thank you, Sepp.
Guys, I'm afraid we cannot go for the other views of yours
because I wanted to cover last topic.
But I'm happy for what we did because this is like,
you know, debugging together the things
which you might be confused with inside of Drupal world.
View is huge.
View is like one of the biggest Drupal aliens.
I'm going to stop sharing the screen
and I want to show you something even better,
even stronger than view.
Just stay with me.
I mean, go to my sandbox machine.
Last example for today.
You will not be able to do the exercise, I'm afraid,
but at least you will know an opportunity.
So I need to go to modules
because by default it's not enabled.
I'm going to say layout.
And the thing I wanted to show you
for which I made pinky promise yesterday
is layout builder.
Layout builder.
Previously it was experimental.
Today it's in core.
Look, allows users to add and arrange blocks
and content fields directly on the content,
which means basically we can take the content itself
and make it regionalize.
We can provide smaller regions and make it more flexible.
So I'm going to use that one.
We also need layout discovery,
but if I say layout builder,
it will probably also enable that one.
Required by, yeah, exact.
Also this one is experimental,
but field layout is also useful
because we can configure the display
and form display by arranging fields in several columns,
which is another thing.
Two different things, but they are really powerful.
So I'm going to enable both.
Now it says, well, the modules you want to enable
have dependencies.
So we want to enable also dependencies for you.
Would you like to continue?
Yes, I do.
This will be a bit slower
because this is like a lot of changes now.
One of them is experimental.
If it says experimental,
we have to be careful because it might behave.
If anywhere in Drupal you see experimental, be careful.
Now I'm going to go through the content again.
And I'm going to show you first how to change one page only.
One page only.
So I'm going to go for my basic page, contact details.
I'm going to edit this thing
and I'm going to search for additional options.
Nothing there.
So it means it's not configured yet.
So, okay, I'm going to go to structure, content types.
I'm going to say basic page.
I'm going to say edit this content type.
And there will be new section, okay,
in, for example, manage display,
which is called layout options.
Also I'm going to have manage layout.
And there is a checkbox,
allow each content item to have its layout customized.
So I'm not going to only allow
the whole content type to be customized,
but just each single node by itself,
which is really useful
because I can provide differences
between general, all basic pages in general
and one basic page at a time.
Now I'm going to save it.
And I'm going to manage layout.
Now behold,
all the basic pages, configure section.
This will be powerful.
I have sections and blocks in them.
So I'm going to say like this, add section.
And then on the right side,
I'm going to have magic.
The main content of my specific type,
business type, type of content in Drupal
can be divided into smaller regions.
So for example,
I need layout which has two columns.
And they're not 50 to 50 percent,
but let's say smaller.
One will be bigger,
one will be smaller
because I would like it this way.
And I'm going to say add this section.
So I added section and it has two columns.
I don't like that one, so I'm going to remove it.
And then that's it.
Inside of this section, I have a column.
Inside of this column, I can add block.
And this block can be something really specific
like authored by.
Remember, I told you we can,
we could move this authored by somewhere else.
But this is small one,
so I'm going to put it not here,
but to the smaller column.
But in that one, I'm going to need to have maybe,
this is basic type,
so I'm going to say title.
And I don't need the label,
so I'm going to say hidden label.
And then just plain text.
And of course link to content.
Do I need that?
No, because I'm already looking in this content.
So I'm going to add block.
Now also in the same column,
I'm going to add another thing,
which will be something smaller.
What do we have in basic page?
We have language, yeah, language.
So I'm going to say language
from content fields perspective.
Label not needed because I want to make it smaller.
And this time link to content
and display in native language.
I'm going to add block.
Now on the right side,
I'm going to add another block,
but this time in this column.
And I'm going to say this author,
authored by.
Label not really,
or maybe I'm going to keep label above.
Formatter, yeah,
just let's say label.
Unblock and then I'm going to add another one.
Authored on it will be date this time.
When right and I'm going to say
I could change time zone,
date format if I like.
Let's say I prefer.
I prefer that way only month and year.
Why not unblock?
And then at the very bottom section,
I'm going to say just one column.
And I'm going to put body there as a block.
So body will be downstairs.
Body of my basic page.
Label without it.
We don't need it.
And then formatter default.
So the full thing.
And now I have a layout.
This layout is applied only to my basic page content.
So I'm not touching the general regions from theme.
Let me save it now.
Save the whole thing.
And then I'm going to go to my basic page.
And you should see the difference now.
Look was the thing we wanted to move to the very top of it.
Remember, we couldn't do it easily before because there was no way.
And layout builder allows to do so.
And my basic page looks like this.
This is 75%.
This is 25%.
And this is body downstairs with one, the whole wide column.
And this is powerful.
This is powerful.
But let's say I want to change the layout for my specific basic page, which is contact.
Contact because I don't want to make it the same way.
I want to change it differently.
I want to I prefer different layout.
So I'm going to say for layout here, straight there.
And it will.
It's buggy.
Yeah.
Okay.
I see.
But I'm going to change this layout.
I'm going to change this layout.
So instead of those things, I would like to keep everything maybe there in this.
Come on, I need to scroll down now.
Okay.
So that one I want to drag and drop here to this section.
Why I can't drag and drop it?
This is interesting.
Come on.
Oh, because I'm not in the drag and drop mode.
Right.
Okay.
So I'm just going to.
Yeah, I'm just going to do it in a simpler way.
Can you stay with me like five minutes longer, guys?
So I'm going to finalize it properly.
Okay.
So I'm going to remove this one or just move it.
Oh, I did it this way.
Now I'm going to move it like that.
To section two.
Yeah, move.
And exactly as I want it.
Yeah, exactly as I want it.
Now it's downstairs here.
Awesome.
Then I'm going to move that one too.
To the section two, same region.
And yeah, can be downstairs.
Move.
Good.
So now that one will be empty.
And also I want to move actually everything.
So this one also there.
Move it to the final one.
And the last thing which is there, which is contact details.
Move also there.
And I'm going to remove this section totally.
Because I want to.
But only for this specific one single basic page.
Not all the basic pages.
And then I don't like this section at all.
And at all, I'm going to remove it.
And I only have one section like this.
And in this case, again, I can move this one around as I want.
Now I need to just save the changes.
Yeah, and it's working.
The layout override has been saved.
But if I go back for about us.
It will be still keeping the previous layout.
And only contact has its own layout.
Different one.
Yeah, so this is like providing regions per inside of one existing region.
Which is this region.
Inside of the theme region called content.
I created my custom smaller regions.
And I can flexibly move them around the way I want.
And then I can create sections inside of sections inside of sections as much as I want.
It's really, really powerful.
Good.
Guys, thank you for your patience.
What do you think about this tool?
This layout builder?
Any thoughts?
Okay, all right.
Let me quickly check.
We talked about views.
We talked about, yeah, this is like the end of the story.
I have some additional exercises section, which is your homework also.
See, there is last point, which is called additional exercises.
Play with it after the training, of course.
Now, you could ask me, how can we play it after the training?
We don't have this machine.
We don't have this locally installed.
Well, it's up to you.
You can either extend this machine, remote machine.
I'm going to show you how.
But you have to actually, can one of you share the screen, please?
Seb, can you do that for me?
Can you show your screen in Teams?
Guys, can you see Seb Sebastian's screen shared here?
Can you go to desktops?
See, you can clone your own desktop to standalone.
Or press start.
I'm fine with it.
I would clone your own desktop to standalone.
Yeah, also you have this check enable.
And it's supposed to automatically, wait a sec, wait a sec.
Good.
It's supposed to automatically probably do it for you.
Can you hover this information?
I button without clicking.
Does it show anything?
Okay, click it.
Yeah, this is just explanation.
Okay, go back.
Sorry, I was wrong.
So I think the system will create automatically the thing for you.
Or you can do it manually, but then you have to stop the machine.
So can you stop it now?
I'm going to show you how to do it manually.
Your own machine.
Can you just hit the stop button in the middle of your screen?
Yeah, there we go.
Don't worry.
In a moment, you will be able to clone it to the standalone.
And then after the training, I believe by default you will have some balance.
I'm not sure.
You have to double check with Carmela, okay?
I mean our coordinator on our side.
And then if you click this wheel button on the right side of your own machine,
it says clone, clone to standalone desktop.
Click on that.
Just you can change the name if you like or just click clone desktop.
Give it a moment.
And then if you go to standalones at the very top menu, that one.
See?
You have your machine now.
Because when this course will end, okay?
When we finish this training, Carmela probably will do it.
Carmela, the whole thing will disappear.
It will be removed.
All the machines will be gone.
So if you like to keep the machine, you have to do it in this standalone mode.
But you have to talk to Carmela because usually after the training,
I'm not sure how Carmela proceeds.
Some of the franchises after the training, they provide free balance.
See this balance at the top in the right upper corner?
Free balance in euros.
So you can for a while use it for free, all right?
And then you can keep the machine available.
The second way, you can stop sharing this screen.
Thank you very much.
The second way would be to create your custom Drupal environment.
But for that, we need to follow instructions from this.
Look at my machine guys now.
From this DDEV thing.
DDEV Drupal.
So in Drupal.org, you're going to have this instruction.
Install Drupal using DDEV or local development.
And it's quite easy.
You have steps.
You need to look at the requirements.
You can do it in Windows whenever you want, wherever you want.
And you will have exactly the same as we did here.
And then you can do from scratch all the exercises again, plus the homeworks.
If you like, if it's up to you, right?
Now, let's summarize the whole training.
I must say I enjoyed it.
And it was fun for me, even if it was in my night hours.
I like you guys.
You are young.
So I like your attitude, okay?
You were doing exercises.
You're cooperating with me.
I really like that.
This is a great way of learning and teaching from me.
I just enjoyed it.
All of you had cameras enabled.
Often people don't do that.
So I talked to Blackwall.
So I appreciate that a lot.
Thank you for that.
I'm proud of you.
You did most of the exercises without big problems.
And you will have me as an in-way consultant next month or even longer, okay?
Even longer if you like.
Just ask if you need my help.
And yeah, the final exercise which I promised to give you
is this link to training evaluation form, which I showed you already, right?
You can copy it and do it now or do it later if you like.
Please be honest.
This is important feedback for me.
Noble from the whole company.
You can say something nice or complain about the environment if you didn't like it.
Tell us the truth, okay?
It's anonymous.
You don't have to say your name in it.
And yeah, I'm going to send an email with the summary of everything.
All the presentations which we covered.
Then also maybe some simple instructions how to do the group environment
just in case you need it.
Yeah, thank you very much.
Okay, thanks again.
Good luck with everything.
God bless you.
Have a great adventure with Drupal, guys.
Bye-bye.
Cheers.