Welcome everyone to the second session of the KitLab Hackathon. I'm thrilled to be joined here by Tony Klaas from the GEO team. He's going to be doing an introduction on the GDK, the KitLab Development Kit, to essentially tell us how to get started, how to do your first merge proposal, and how to essentially make sure that you've got all the tools required to run your code. He'll be doing a live session, and in the end we will have some time for questions. If you have any more questions, you can always ask them on githubhq.im.com and we'll be happy to answer them. And with that, Tony, I'll let you take the stage. Yeah, good morning, or good afternoon, or whatever where you are. Welcome to the session. I'm going to quickly try to set you up with GDK and show you how easy it should be to work with GDK. So I'll be sharing my screen to just show you that. Okay, normally you will be able to see my screen showing the welcome page of the KitLab Development Kit. That's good. So let's just head over to the readme and see how to use it. Basically, there are two steps.  We have documentation on various operating systems like OSX, still weird that's OSX, you may get macOS or whatever, and also different Linux distributions, and I'm not sure about Windows. I don't think that's how it's experimental to do that with a subsystem for Windows. There are different setups for all those. Among the team, we have different people using different OSS, so most of them should be supported really good. Next up is to set up your GDK. This is basically just a few commands to get you started. So I have to install the gem that we are using to use for the KitLab Development Kit, and it's basically just a gem. So when you have installed your when you have you prepared your computer, you make sure you have Ruby installed, and with Ruby installed, you can easily install the gem. So this would be the basic command to install just any GDK. If you want to specify the directory where you want the GDK to be, then you can use this command. So I'll copy that. I'll make just a demo directory and go there and create my GDK CE to develop on KitLab CE. After that, you need to go in there. I'm not sure that might be documented not too good. And what you will do then is to clone the KitLab CE project for yourself. And when you want to contribute, you have to fork the KitLab CE project. If you go to the KitLab CE project over here, you can press the fork button. Select for which user you want to create a fork. And then KitLab will create a fork on your name. So now don't get lab CE will be created. That would be the repository you want to push your code to when you're done with your GDK, with your changes you've made. For the purpose of demonstration, I'm going to use a quick variant of GDK install. And we're just using a cloning from a local directory. So that avoids me from cloning from the web, which is from local directory is much more faster. But usually you will just use this command to run it from your fork. So this takes a while. So let's not wait for that for this moment. So it does run the installation. For some reason, this is complaining about my Ruby version not being correct. I think we have a bug there that was recently introduced, but we can skip it for now. I'll be working on this later this week, I guess. And what it does, it sets up like everything, all the services you need for your GitLab to run. So it will prepare this part, it will pair your GitLab.yaml configuration file with some same defaults. It will install all the gems it needs for GitLab CE. After that, it will also install the NPM dependencies using yarn. And at this moment, it's compiling the internationalization files for all the different languages, which I think we have another session about internationalization later on. So if you're interested in that, please join that. And it will also set up other dependencies like Workhorse, which is basically some web service we use in between GitLab CE and the web. But this installation also takes a while because the installation is not that slow, but later on it will also seek your GDK with some testing data. So you don't have to create everything from scratch, it just provides you with a setup that's not empty. So at this moment, it's creating a database schema. So to skip that, we don't have to wait for that. I have another GDK I have already running here. Maybe I'll just be not too fast and just look at the readme first. So yeah, when you're developing in the fork, also run this command. And this will ensure that you set the upstream remote in your repository. So your origin remote will be your fork. And the upstream remote will be the canonical repository that is the official one which you want to eventually have your code merged into. And this little command will help you with that. We're not interested in GitLab enterprises at this moment, so let's go back to the readme now. Meantime we see that the schema was created and now it's seeding all the data for GDK. So how do you use that GDK? So when this command would be done, it will be finished and you'll be able to use it. So how do you use it? It's not in here. I expected it to be here. It's weird I expected it to be here, but basically it's very simple. You just, it will show you how you basically would just run GDK run in the directory GDK CE. And then it will sort all services you need like Postgres, like Giddly, like their background processes, Webpack is also providing you for your JavaScript dependencies and things like that. And this also takes like a minute to start because there's some dependencies and it needs to load the whole of the Rails app. But when you do, and that's what it also says at the top, it will make your GitLab, local GitLab available, local host port 3000. So when we go there, you have the GitLab running on your local host. And basically it's that easy.  Yeah, the password is not listed here, but you can log in with root and the password is five live, which is documented everywhere in the documentation. And then you'll be able to sign in in your local, I made a typo. And that's it. See, here are some projects that's being seeded by this process over here, like a GitLab test. So it has a code for GitLab tests. It has some issues and some word requests. So you have some data you can get started with to test out your local GDK. That's what you need to develop on your GDK. Now, when you want to develop something, you start off with issues. We already shared the link for the accepting merge request issues somewhere already. And basically, this is a list of like 500 issues that should be really easy to pick up.  We have another session later today about contributing to the documentation, which you might be interested if you want just to documentation because it's really easy and you probably don't need GDK to contribute to that. But in this case, we really want to make a code contribution. And I've picked an issue that is hopefully fairly easy to demonstrate. So this is an issue that already also has the accepting merge request label. And let me quickly explain what the problem is. So there is a slash command or a quick action, sorry, that allows you to do copy metadata from one issue to another or to merge request. And I can demonstrate it over here. So I have issue one, and I can label it. Oh, we don't have labels yet. Okay, just create some labels first. Generate the default set of labels. Okay, back to the issues. So issue one, let's label it with a bug. Command is applied. So when we refresh the page, we'll see it as the label bug. When we open another issue, so we added that issue one. And for sale, like it has the same labels, it has to have the same labels as issue one. We can use the slash command copy metadata, list the issue like number one and comment that. When we refresh the page and see that the label bug is added because it was also added to label to issue one. Now, in case we want to create a new issue, we say this is a new issue. Copy the data data. You see the copy made a data command is not autocompleted. So that's an indication that it's not working. And when we just type it anyway, we submit the issue. And we see this issue doesn't have any labels. So that's the bug we are trying to fix now. Now you're interested in, luckily for us, in this issue, Sean McGiverin already posted where the change should be made. As we can find the link again. So over here, here's a link to the code that handles this. So you can see the copy made a data comment. Only can be executed when the issue bull, so the issue that you're creating is persisted. But because you are creating a new issue, it's not persisted yet. So that's why that command, the copy made a data command, is not enabled when you're creating a new issue. But in fact, there's no reason that it should be persistent at the time you're creating the issue. So we can just remove this line. So let me just get started. Copy. As you can see, when the server is finished, you also see gdk run is being mentioned also. Sorry, for my context, which but back to my gdk. Now that's this gdk that was still seeding, which has completed. And now at the end, when it has done installing, it says you how to use your git lab, you get gdk. So you can just run gdk run or only the database when you just run the test or the app when you want separate processes for the database and the app, which is the Rails app. Another interesting command here is gdk update, which updates all the dependencies in your gdk setup. So all the services and git lab rails, everything is being updated so you can continue when you haven't been using gdk for a while. Sometimes you also need to run gdk reconfigure when you mention after the updates some things are going wrong. It might be safe to just run this and then it will update your settings back to how gdk expects them to be. And over here is also the login for the root account on your gdk. So let me just move over. So you want to develop your git lab directory. So let me just open the directory in my editor. So over here, this is the coach tree of git lab, the Rails part of it. So if you're familiar with Rails, you'll recognize the app directory, the library directory, and for specs, for tests, your inspect directory. There are a lot of different interesting directories, but we'll focus on those right now. So for chains, you'll probably want to start off creating a new branch for your feature. Just take it, branch, check out and then B to create a branch. So we created a new branch because we wanted to push that branch later on to git lab. Then the file was this one. I linked it from the ishable with this button. It copies the popular clipboard and then when you search, copy metadata, here's the command and here is the line that was the problem. So it's very easy. There are just one condition. If you can update the issue, just, it's good enough for the condition. I'm not sure why that happened, but whatever. So I removed the line and git lab reloads those things instantly. So basically, I mean, just when we create a new issue, I'm not sure why actually. Okay, we're here now. So let's just create another issue. Let's copy. You see, at this moment already, the command is completing. You can select the issue you want to copy from and submit the issue. Let's see if that works. We have the bug label. Yay, the bug is fixed already. But we won't accept these things like this because we really like to have some tests on this code. So this is important to have tests on it. So we're in the directory app services, quick actions. And basically, you would find the same directory structure in spec. So in spec, that's the directory. In your git lab, you find it's also the service directory and the quick actions directory. And also here's already a file for the interface service. Let's see if there's also a test for the copyrighted data command. Yes. Oh, seems to be more complicated than I expected. But oh, no, this isn't. So this set of shared examples, because we are using these tests on issues and on merge requests. So we want to we use those tests for both things. So you don't need to duplicate the code. Let's see if there's something that tests if the issue could persist. And maybe it's just easier to see if the the tests are present already. Do they succeed without like without doing changes? So if I do bundle exec spec, our spec, so bundle exec, our spec, back services, quick actions, this file. And that's the command you have to run to run a single file for tests. And it's a little bit of time to set the start get started, to load the Rails application, and then it will be running our tests. And because it's first time is to set up git lab shell from scratch. And after this also gaitly, I think so it will take like a minute or two. In the meantime, David, are there any questions or something we want to get into or other participants or we want to raise a question or something like that? I haven't seen any questions on GitHub, but I actually have a few. So I mean, first of all, I'd be interested to know, I mean, is the gtk something that's used on only on particular cases? Or does the whole team, the whole engineering team at git lab use gtk when developing? Well, that's a good question, because I, and that's very interesting. I think, like, most of the developers or most people who write code in git lab use gtk. So that's a good thing about it. It's constantly maintained, because it also has to work for itself. So it's not a side project that outside contributors sometimes use and that breaks very often. No, that's not the case. It works because we use it ourselves. Cool. So yeah, I mean, that's, yeah, I mean, I think that's also good for contributors, contributors as well in the sense that, I mean, not only what you're saying, but also they're using consistently what you guys are using for, for the development. That's good. So when you get started, you mentioned a couple of commands. It's essentially gtk install, gtk run, and then perhaps gtk update. Are there any other commands that you can think of that might be interesting for developers or for new comments? Well, those commands do most of the things you need to do, especially when you're not a contributor that consumes a lot of time. Let me just quickly check which commands there are. So there's like a database, you can run geodatabase with that only applicable for geo when you're, and that's an enterprise edition feature for premium. So you're probably not interested in that. I haven't been using myself on my gtk yet. Ten is something else if you want to run web servers. Some people use it, but that's not, yeah. So most things here are not that important if you want to contribute irregularly. There are some things because gtk uses a make file and there are a lot of commons in there. You can run them individually, but most people don't need them. Okay, cool. And then on the, so in terms of other things that you might want to run, I mean, I think quite follow how you run the test, the testing here. You run just an individual test or did you run the whole test suite? No, no, that's it. Yeah. So I just run one file. Okay. So basically for each file in the application directory of Rails, we also usually have a file in the Spectre directory. So basically just a one on one mapping. Also for like more front end stuff, there are also integration tests who are just using like really pushing buttons on the UI to test if the flow is working correctly. And those are more like feature-wise and not so file-based, but that's something else. The merchant coaches will help you out if you need it. Okay, cool. But that would essentially run all of the tests on that file, right? Yeah, this does. So in this case, I want to use the copy meta data command command. And you can run a subset of tests in that file by using the column syntax. Let me just find a good line to do that. All right. Yeah, it doesn't test the changes on the issue itself. So don't test updates. Just copy some stuff over. So I see for MerchantQuest, that's not persistent. So that's not yet created in a database. You cannot use the slash quick action, which totally makes sense because yeah, you cannot merge the MerchantQuest test not created yet. So it has to fail when you do that. And it creates, it does that by creating an issuable and it builds that issuable. So it doesn't create it, but it builds it. And the difference between create and build is that it does not, when it built, it does not create it in the database. So I can copy over this line. And then back to the copy meta data command. The haves like empty. The haves like not sure. So when I go back to my, so let me just bevert my change at this moment. And I think so I added this piece of test. And this is the piece I want to test. And it's at line 863. I can run it like this. So specify the line you want to test behind the column. And I think at this, I hope at this point, my test will fail, will succeed, because I want to have, when I do copy meta data, to do nothing, behave like empty command, when the issuable is not persisted. So when I'm building a new issue, and it's not safe to the database yet, and I'm having the copy meta data command in the issuable, then it won't do anything. So this succeeds. Perfect. With my change, so let me just convert it, save this file, go back to the test case, because I don't specify the issuable source issuable. I have to do it like this. So I did use a copy meta data command, but I didn't specify an issuable, so it couldn't copy any data. So that's the reason why it... So let me just rephrase it again. So I create a source issuable, which has a few labels. I run to run the copy meta data command from that issuable and I'm doing that on an issuable that's not persisted in the database yet. And this succeeds. That's very weird, because it shouldn't. Okay, I'm not doing very well here at the moment. No worries. I think it's good for people to see the iteration process as well. So the issuable, it should update the label. I'm not sure why. At least this should also succeed. I'm doing the exact same, then this case. So why don't we imagine it can be converted to a good mill. It's probably because my issu is not persisted yet. So this shared test is not built for that to match the way it updates. Okay, so it's the process. So what I'm will be doing now is do a binding to apply here and that will stop my debugger at this line. Which will make, which will make it easy for me to see what's happening here.  So in our doc directory, there's development directory, which has a with me.  There's a lot in there. So if you're interested in some topic like database debugging, there are different documents about that. And there's also a topic about prior debugging, which is basically the debugger we use for Ruby for our Ruby on Rails project. And like it says is place finding the price somewhere in your code. That's what I just did. I just placed it here inside my test. So now I'm running the test and my debugger did not stop there. What? Because I added a line also that changed my line where my which piece of code I want to run. That's the downside of specifying a line of code in your file. And prior is very extensive. You should check out the prior wiki page because there's really, really, really a lot of features and there are some listed here in this document. But if you want to see them all, then you'll probably want to browse through the wiki of that project. So at this point, here is my debugger stop. So I can run this line by doing the next and my debugger will step over it. No, it doesn't step over. Okay, it's step into whatever. That's also good. So the issue is the issue I just created. But as you can see, it doesn't have an ID. So it's not persisted in a database yet. And then you can finish this function. And then it steps back into my test. And now I can see the updates. They're empty. For some reason, the service does not include any updates. So it would have been useful if we would have done this. So let me just stop this test and want to begin and step into the service execute. And that's the reason why the test did fail because it wanted the key had label IDs from updates. And that's an empty array. That's a nil, so it filled in that. So next, let's step into next, next, next comments. There's one comment in there and it says copy metadata issue one. Let's step into the extra updates comment. Let's step into each. And next, what is the definition? You can print the value of that here. Copy. So that's that's a quick action for copy metadata. And you have to specify an issue or merge request. And our demands is issue one. So basically that should work. So why isn't it working? Step into the execute of this definition. Is noob set? No, it isn't. Is available context. So we have an exit here, I think, because it's not available. So step into the move. Step into available. Condition block was the value of that. It's set. So it's next context instance. So it will run the condition block to see if we can run this. And I think I've figured out why it's failing now because I probably don't have access to update the issue. So in this, the condition still is user can update the issue. And that's probably failing in my test right now. As you can see also this is false. So that's the reason why it didn't update the issue. So it didn't run the command and nothing happened. So my test is failing. So I need to make sure that during running the test, the user that is running the test is also able to update the issue. And it's because this issue is created, it's probably in a project that the user has access to. So we have to look up and see the issue is created in project project. And I'm building the issue somewhere else in a project that the user does not have access to. So now I'm adding here that the issue we are building, so not persisting in database, belongs to this project. And in that case, I'm pretty sure my test will succeed now. So let's move over and run this again. Prey, this succeeds. So now we can also check when we revert our code, run the test again. Now we'll see that the test will fail because it was succeeding previously, but now because it didn't have access, sorry, because it didn't have access to update issues. So now it will fail because the condition is not met. The issue is not persisted. And we are testing if it should work without being persisted. So that fails. Let me see if everything is okay right now. So we have made our chains. Let me revert along. Now we want to submit this to GitLab. So we have GitLab in Git status. We can git add those, git commit. So git commits. Why the commit message? Allow copy data for new issues. It's easy if you also, when you do this, you also the issue again. Copy in the link of the issue. So closes. And we create a commit. So the commit is created. Let's go back to our source tree. One thing I didn't do yet. One command over here to create at the upstream remote. I didn't do yet on this repository. So if you see git remote, okay, yeah, in this case it's already set. But when I would run, when I would run the command over here, git remote. So you can see upstream is being set, the fetch upstream, but not the push upstream because normal GitLab outside contributors don't have push access. So you can push to there. And I have to cheat a little bit. So for my fork was created. So copy. Because I've been speeding up things a bit. So back to my code. So this is what you would usually get. So your username with GitLab CE and upstream is GitLab or GitLab CE. So I will be pushing git, push current branch to origin. Sorry. I want to use git for this. That's usually changed. You don't need to make so sorry about that. Yeah, running Rubikop. That's a hook I've added to my git pre-push to ensure all the files match with our Rubikop guidelines. But CI will also running those for you. So don't need to worry about that. So when you've pushed your code, you can create your merge request. And on the CLI, we create a link to that. Just so you can open that link. So let's go over here. And this creates pre-fills in the merge request title. And I'm going to describe here. This is not possible to use copy made of data when you are using a new issue or merge bit. We specify over here the link of the issue, closes this one. So let's assign it to me right now and remove the solid branch when we create it. You probably also want to check this box if you want. Let me just edit it. Sorry, it was a bit too quick here. So this checkbox is convenient for the merge request coaches when they have small changes they want to do to your fork. With this checkbox, the coaches can submit changes to your fork to speed up the process of getting things merged. And then this is your risk request. It's created against GitLab or GitLab CE. It closed the issue. So it's detected when you specify it like this. It's detected that when the merge request is merged, it will close this issue. Over here are a few acceptance criteria. So the change log entry and that's something we really want to encourage people to do and just visit the link here. It's to spell like what's the changes which merge request was and who you are. So for this, we have a convenient command and it should be over here. Bin change log. And you can run that locally. So let's do that. Bin change log. That does work. You have to provide a title. Let me just copy the title over. Copy. Better put it in MRs. Better put it between quotes. And then I'll ask you what the category is. I consider this a feature change. So even this is not working. I again have something wrong with my terminal at this point. Change log. And created my change log entry over here. But it doesn't specify a merge request. So you want to add the merge request link there also. So copy the file. Edit it. Merge request. You need to copy that from the merge request we created. And basically you probably want to also fill in your name here. What I usually do then at this point is hit this. This new change log. Hit edit. Hit commit with amend. So it observes previous commit and adds this change to it. You can preview the commit message. Go back here. And then you want to force push. Hit push. That's what's happening. It was pushed. That's where the page changes here. So we have the change over here. We have a change log entry and we have the test. Yeah, my edit is but don't worry about it right now. So for these changes now we have pipelines running. We can stop the old pipeline because you only need the latest one. And it will run all the tests for you. So you can see later on if those tests did fail. So I guess we can complete this one. Documentation. Like I said, we have a session about documentation data on. You might want to check if there's documentation about copy metadata command. So let's go to doc and just search for copy metadata. Use your quick actions. It doesn't really say if it's enabled or not enabled for new or new messages. So there's no need to change the documentation at this point. So we can check this one. We already added a test. So that's good. Code review guidelines. I encourage you to scan through them to see if you do fine. But with these changes, it's okay. Most requests the same style guidelines are enforced by Rubikop if you're talking about the real part. So CI will complain about those and we didn't make database changes. So this is good. So basically you have a finished merge request at this point and you just have to find someone to review this. Now David, I'm not sure how we are encouraging people to find the merge request coach. Do we have that documented somewhere? Sorry, I was just trying to unmute myself. So first of all we've got a session tomorrow on introducing merge requests. We do have we do have a place with direct people too. It's the when they're trying to get in in touch with the merge request coach. So let me see. It's about gitlab.com jobs minus families slash merge slash request coach. So what I would recommend is if you guys have looked at the kickoff session, we've talked about them and we've got those URLs in the links. I've just pasted it through Slack to tone to you. So you can exactly that's the page. So that tells you what the merge request coach is. What they do and then if you go to the team page of gitlab, then we generally ask you to search for merge requests coaches and essentially you can get to see who they are and you can ping them by person. Yeah, essentially you can just search for merge request coach and then you can ping any of them on the issue. Correct. So Remy would be one of them. Correct. And then if you click on the names of each one of them then you'll see their gitlab handle. If you click on the gitlab icon then you'll see their gitlab handle and you can add that their handle on the on the merge request that will ping them essentially. It would be really convenient if you have a drop down over here for the merge request. Absolutely. I'll file a merge request for that. That would be really convenient for a contribute just to find one. Excellent. Yeah. But basically that's it for my point. I'll stop sharing now and I'll open to any questions at this point. I'm just within the hour. I didn't expect it to take this long but it was a bit of iteration on finding the right way to write the test. So that's good I guess. Cool. Yeah. Absolutely. I'll have one quick question myself. Let me just check if there's any right now on Keter. Is there anyone here in the session who has questions for tone? Okay. So I think as a wrap up I mean there was quite a lot of content and to me it was really easy to see. I've learned actually myself quite a lot in seeing what you are doing. But could you perhaps give us a summary of the steps in doing this whole workflow starting from installing the GDK until you have submitted the merge request? Yeah. That's a good point. So basically for GDK instructions are in the readme how to set up GDK. Basically it's just run GDK install. That's the short version of it. After you have Jodi GDK installed you can run it with GDK run and when that is launched you can browse your GitLab on your local host on port 3000. From that point your GDK is running and you have GitLab running on your local machine. Then you want to start hacking an issue and yeah probably the hardest part about this is finding the right piece of code where you want to contribute. For the issues that are marked with the label accepting merge requests those are most of the time pretty well defined how you can contribute to those. So what are changes it should be? So normally the people who have labeled it has made sure that it's easy to find them. If not please ping them it's no problem to ask for questions on that point. So then you just start writing codes making the changes in where you want to. You probably also want to write tests on that especially for backend code that's pretty convenient to do that. You commit the changes, push them to your fork and create a merge request and from that point on it's let's hope some of the merge request coaches stick over to help you further with it. As like David said in the beginning of the session don't hesitate to ask early for merge request coaches to help you out. If you're stuck with something or you're not sure about the direction you want to go with some change please ping someone and we'll happy to help you out on that. Excellent. So I think unless there are any more questions we can wrap you up here and have it nicely fitted to nearly one hour. So again thanks a lot Tone. That was really really good. I'll be uploading the recording to YouTube and share the link with you guys on the YouTube page for the Hackathon and with that just a reminder that we've got the next session in a few hours time. That's going to be sorry. So that's going to be documentation with Mike Lewis and yeah so looking forward to that and looking forward to seeing you there. Thanks a lot everyone and have a nice Hackathon. Bye.


with the Judas presentation for the planning enterprise path for your Drupal 9 journey. So just a key introduction about myself. I've been working for TCS majorly from India, Mumbai and I've been doing Drupal since 2009. We started from Drupal 6 and so on. And it's so far a good journey. Since last year I've been trying to play around with Drupal 8, more on the Drupal parts and so on. So during this particular presentation I'm going to walk you around my experience about planning the journey or planning the Drupal 9 upgrade path for my set of organizations, which is the take away I'm going to share with you guys. It's more about the strategies, how we build and what are the key action items we should be taking for planning Drupal 9 upgrades. So we will walk around on the current states of Drupal 7, 8, 9 and then we will see what is all about Drupal 9 and why it is in a place. And then we will think about what organizations should look towards Drupal 9 in terms of the futuristic implementations. And then we will see what are the prerequisites we can have for the upgrade path and then what are the methods for the same. So if we see about the current Drupal 7 strategy we have the Drupal 7, 7.67 in the place. However since the Drupal 8 is currently already in progress with 8.8 to be come in the early next month. So the Drupal 7 is going to be end of life considering that we have both Drupal 8 and Drupal 9 branches currently in a place. And so once the Drupal 9 gets stable and it gets released we more or like don't have the Drupal 7 supported anymore. So that's basically sounds like the end of life for Drupal 7. Considering that still there are a lot of many sites our organizations or vendors may have in Drupal 7. So it's really important to know what this particular breakthrough means for the organization. So what that means is basically we may not have the automatic coverage for the testing on Drupal 7. The security window, security advisory which gets released for Drupal 7 over the venus days may not be available after the end of the life of Drupal 7 and so on. So it's really key important to you know make sure that we have we don't have unsupported code which does not support security fixes and so on. So that's how the end of life structure for Drupal 7 look like. However all we know that Drupal 7 is already supporting 7.2 and there are life cycles for 7.2 as well. In going ahead till the time of end of life we might have to support the upcoming PHP versions. What basically happens during the end of life is we may have the extended support just like we used to have in D6 but that will be something which yet to be announced or yet to be finalized. But yeah it should get extended support till 2024 and after the end of life. Now moving to current state of Drupal as we all know like 8.7 is already present and 8.8 is about to you know get stabilized. So let's have a quick look around what are the different versions we are upcoming in Drupal 8. So the first alpha release is for the 8.8 and 8.9 is already in place. So that's basically founding the baseline for you know upcoming Drupal 9. However the 8.7 it may you know have the critical supports till the next month which is the first Wednesday of the November and meanwhile like the 8.8 beta is expected to also come in the November. So saying that the 8.8 will get stabilized by December and that's how we will move one step more closer to 9. At the same time we since we know that during this month there is a branch for the 9 next day. It's been expected after the six months we may have the 8.9 release as per plan in June. So that's basically based on the current six month life cycle release cycles which we have in Drupal. So considering that the 7 is on one particular versions over the Drupal 8, 8.8 is about to release and then you know Drupal 9 is branch is already in place. What does that mean for the developers is so the 8.x is basically in preparation right now and the support for 8.7 will continue after the 8.x. However the development for the 9x and the 8.9 will continue as in a parallel thread. So what we're expecting is the 9x will be nothing but your Drupal 9 which will be you know get turned to 9.1, 9.2 instead of the releases. At the meantime whatever the things or the issues which are present in the 8.9 version it will get tacked to the 9x and the contributed and basically the experimental modules from the 8.x will be removed to make it more stabilised and you know as support till its end of life. So what makes Drupal 8 so far is like you know we're going to have a quick look around on different versions of 8 and then we will move to Drupal 9. I'm not going to spend more time you know explaining the Drupal 8, 8.1, 8.2 but we will still have the look around on that. So as of now as of now like we know the Drupal 8 is supporting the semantic versioning so that's basically is allowing us to add new features in the minor releases as well as keep it more compatible in the backward compatibility mode. So we can have more features and the backward compatibility is maintained. At the same time we have schedule release cycles of every six months so we have more predictable changes for organisation which are planning for large number of projects it will be easier to know like what is upcoming and what how they can strategise their goals and the same times over the evolution of Drupal 8 we already know that we had lot of experimental models coming in each version of Drupal 8 and how those models also get stabilised in the next versions upcoming versions so that's probably is going to continue that is what I expect. So we're going to have just quick look around on the different Drupal versions so 8.0 almost by four years back we got it available with the PHP 7 compatibility there were a lot of new changes like the in-line editing the blocks which got more setting stray icons there were quite developer friendly features like the configuration management then mobile first responsive UI all those been added with the 8.1 we see that you know the CK editors enhancements got added along with the big pipe and the migrate UI model so it was the first time that there was efforts made to make the major version of Drupal compatible for the migration with the lower version that is 6 and 7 and so on. With the 8.2 we see there were you know good enhancements for the content authoring and that's how the adoption for the organisations which rely on the content modeling and the save service experience that you know starts adopting more versions of Drupal. So saying that the content moderation earlier it used to be in the contributed state with the workbench and that's now got part of Drupal codes to make the content experience more easier. We also got the out-of-box REST APIs to make it more API friendly or the API first CMS with the the next versions till the 8.3 and 8.4 it was more about you know stabilizing the existing features and adding a bits of experimental models so the models like the you know the layout field layouts and the layout APIs were added which helps in terms of you know not just the editing the content part but also making the UIs more friendly for the content editors. With the 8.5 I will say it was most stable release and the most advanced release in in in the Drupal's history with that the addition of the media APIs the content moderations and the workflow the migrate becomes more stable by speak a model become more stable and helps into the performance. At the same time layout builder keeps adding the new features so that's something you know when I was developing Drupal it was this particular points I considered as a major take-aways for the adoptions and strategies like what set of you know self-service strategy or what set of content authoring strategy I should have. With the upcoming versions we got couple of features like the out-of-box demonstration profiles which is very good example for you know evaluating Drupal. You know similar features organization can also think about you know having their own set of profile where you know if they are serving a media domain if they are serving healthcare domain just have some you know simpler profile and then build evaluation version to you know for the marketing people and so on. With the workspace is one of the breakthrough I will say for in the content editing experience where we get the admin content part whichever the contents entities are present all available in the workspace where they can the editors can edit the content and you know deployed across the different environments and different workspaces. At the same time the testing's ability is got more developer friendly we got a process for reporting all simple tests to PHP unit test. Support for the JavaScript best testing a browser best testing was announced and this is like the current Drupal version which we are right now which is more provided with you know key features like the layout builder. JSON API is one of the best feature I like in Drupal. I like to play more around with the decoupling part using the JSON API but this is something which if the organizations are looking for more you know mobile friendly experience or exposing content making as a content hub this is something key features going ahead for both Drupal 8 as well as Drupal 9 and then we have some of the very key features which were demanded since quite long ago something like making a taxonomy and the main news revisionable which earlier we used to have you know some contract modules and to support it but this is something like which is coming in a call. So that's something which I feel that the 8.7 currently we have. Yeah funny. So now what we are basically in the state of Drupal is 8.8 where we even I was pretty much excited to see like what set of features we're going to have as a part of 8.8 but this is like some amount of summary which I tries to you know summarize for the 8.8 take a ways so something is like the media management it's getting more improval we can have inline editing of the media content in the CK editors we have going to have a brand new admin theme which should be more easier and more accessible friendly then it's going to be a very key features that Drupal 8 becomes more composer friendly with the composers cap holding plugins what that means is currently there are contract models and there is Drupal code few contract models are compatible with the composer if you are not but this is something which is going to make it as a standard and it will be make it very easy to maintain the Drupal project using the composer and it's dependent is going ahead then there are a couple of good implements in the content modulation workspace earlier it does not used to be have you know exist in the same time but going ahead we expect that it both can go at the same time maintain the revisions and so on so forth the jqui UI is something which people has since very long it it probably is going to be get duplicated with going ahead and then there will be a good support for configuration management which should be based on the environments say something like Dave and fraud it should become more easier in terms of the configuration management going ahead and then last but not least the thing which I probably like most is the path aliases will also be get revisions so saying that it will be easier to maintain and track what are the you know it should be very it will be very helpful for the content authors so so far like we have a recap of what we had in Drupal 8.1 to 8.8 but same when before jumping to Drupal 9 let's have a look what has you know bring Drupal 8 to this particular stage and then we will see how this may affect Drupal 9 in future so with with the strategic initiatives is something which is you know very had played very key role in terms of what features should go in Drupal and what should how it should get evolved so there are most of the features are already in place as a stable model there are few things which are still getting is more stabilized out of this I will say the admin UI and the JavaScript modernization is still have a lot of scope in upcoming Drupal 8.9 or say 9 releases what we mean about the admin UI is more about you know the features like you know auto-save and then there is something like more design friendly and accessible friendly theme which should leverage most of the Drupal 8 APIs or they out be the APIs and so on the API first is almost good have good stabilized model in Drupal 8 however there are still few things which should be targeted in the futures say something like you know achieving full decoupling or progressive decoupling in a code which most of the organizations are looking for so adding support for that then there are chances that in the for the admin section as well there should be a decouple admin driven the database user interface should be made available then in terms of where the breakthrough is one of the automatic updates initiative so it's depending on how we can make Drupal more update friendly so that organizations can reduce the cost of upgrade and maintaining the Drupal websites as of now like it's been very pain whenever we received any new security releases and getting it applied to your large number of sites so with the automatic update what we expect is that there should be more easier path when you are maintaining the project using the Composer so the Composer based project should able to get update based on the automatic update plugins after that the configuration management however it's quite stable there should be few more additional initiatives may get added considering Drupal 9 in future role while the layout initiative is still have lot to come I will say already we have good set of APIs however there should be good set of ecosystem of contract model should leverage this set of APIs and then we have one of the key initiative which is media I will say it's almost stabilized so organizations looking for adopting you know CMS for the media domain would surely try to leverage this particular capabilities in Drupal 8 and 9 after that the most key which I'm looking for is the migrate initiative it has quite good stable models in Drupal co however there is still bit of work which should happen on migrating the multilingual site from Drupal 7 to Drupal 8 and so for once you migrate it should be easier to migrate in Drupal 9 but yeah when it comes to multilingual there is some bits of work we should expect in upcoming next six months to make it most easier for migrations so let's have a quick look on the current state of Drupal 9 so currently we are you know expecting Drupal 8 to be get released in December however the Drupal 9 branch is already in place so saying that once we have Drupal 8 release we should be having Drupal 9 in June 2020 and then the release cycle should follow you know two releases every year starting from the first release which should continue the trend should continue like that so you know when we have Drupal 8 and Drupal 9 in place which is already having a lot of you know dependencies on the third party components as well as a support for latest PHP versions what we should remember is on the same line is how the PHP versions are getting released and how they are getting unsupported in a future so far like the 7.1 is already you know under the security fix category but in future like we should focus on both 7.2 and 7.3 since it may get unsupported in near future so that's something which we should keep track for those who already have Drupal 7 sites and in terms of the dependencies like so in terms of the dependencies like we have Drupal 8 having a major dependency on Symphony 3 and the Symphony 3 has its own lifecycle so as the Symphony 3 get unsupported we might you know have Drupal 8.x should have a provision to update the next version of the Symphony and that's how we are looking forward with Drupal 9 so somewhere in 2021 and 2022 we expect the end of lifecycle for Symphony 3 and that's how the current Drupal 9 may progress to end of lifecycle and saying that in 2020 we have Drupal 9 if the Drupal 7 is or will go end of lifecycle in 2020 so which will get supported till this particular period so that's something we should keep track if we have large set of sites on Drupal 7 so coming to the points what is Drupal 9 so for me as well it's like you know we already have Drupal 8 we are building sites in Drupal 8 but how does it change our you know life if Drupal 9 gets released so it's very important to understand that you know what it's going to have so it's basically set of Drupal 8 APIs and you are basically taking off the duplicated parts of that and then or whatever the dependencies you have in Drupal 8 you are just going to update those dependencies for their next major versions so something like Symphony 3 will get become Symphony 4 or 5 or tweak 1 will become tweak 2 and so on so that's something we are looking for Drupal 9 which is the duplicated code will get removed and so on so it's not going to be have major change for the developers but it's something if we are already doing Drupal 8 with lot of custom models we should be aware about these changes with Drupal 9 the release cycle we have already seen that's from the June 2020 it should have the possibilities but considering that at the same time we should already we should also know that the whatever the versions we have in Drupal 8 which is 8.7 8.8 it's still going to be there as 8.9 but with all the duplicated codes more or less it may not have the experimental modules in that phase those models will get more to Drupal 9 that is what I'm expecting out of it so why we basically call it you know 8.9 as a Drupal 9 so since we are just removing all the depreciations, duplicated codes out of it so why we basically need to move to Drupal 9 so most of us or the organizations you know questions whenever we want to have an upgrade for the major version so it's really important to convert the good message and make them educated about what changes are coming although there is nothing much is going to change for the developers so this is sort of summary where the basically we're going to have you know dependencies changes for symphony tweak the lab is like guzzle and then the lab is like ck readers will get updated and saying that it will also have the you know the support for the security updates of the dependencies in future so how as an organization or how as a developer I should look towards Drupal 9 so this is something which I always like to figure it out what are the capabilities we have out of using a Drupal so it's something which I would like to summarize is in Drupal 9 or latest version of Drupal 8 we expect very easy migration which should be from 6 to 7 7 to 8 then we should have more innovations in terms of the core features something like you know decouple modules like just on apis and this is in code and then there is the admin interface which is also getting the react based component for the decoupling and so on and we already have a lot of good support for the content editing so there is a good scope for content innovation and you know having used as a content repository one of the things I look forward is you know using the web forms more that's something which may happen in Drupal 9 so organizations may like to use it as a web form hub or you know translation as a service and so on they may like to expose their content paragraphs over the rest apis so use Drupal 8 as a content editing hub and expose the content over the apis and then have initiatives like the component based UI after consuming those content and of course like it's it's we are expecting it will be more secure because you will able to monitor the versions monitor the outdated modules and so on and supporting latest php versions mass equals and that's how we expect it more you know develop a friendly sector and easy to update so what are the upgrade paths if we are on 7 or 8 and how we should move to Drupal 9 so first thing first like if we are already using Drupal 8 we don't have to worry it's just that we have to mention the regular releases and roll out the latest versions so if that should help us to keep 8.7 or 8.5 website to latest Drupal 8 version and whenever the 8.9 gets available you should be okay to move on that because it should have it should gradually remove the duplicated codes going ahead then what we should be doing as as a part of you know the developer activity or you know the refactoring activity is check for the duplicated codes use the better IDEs or there are tools like Drupal check which is a Composer based plugin so you can just install it and have you know command line checks to see what are the custom models which are using duplicated codes in your Drupal 8 sites and then try to remove those duplicated codes over the period of time then then there is the upgrade status for your site supporting so over there we should at this moment like it this is more about the contributed module upgrade status but we expect it to be more stable and it should help us to leverage which are the versions probably going to have better support in Drupal 9 so we may have the models contributed models supporting both Drupal 8 and Drupal 9 versions but going ahead it should be you know we should able to add a check using this then we may like to you know have some checks during our build life cycle so whenever we are doing CI-CD we may like to add checks for the duplications and there are different strategies which we can adopt we may have Drupal check a plugin you know configured over there or we may have PHP-SAN we may like to check for which when the duplicated code is glitched in your our custom models or you know contributed models we may like to you know get those things highlighted in terms of the our CI-CD checks then there is something called Drupal 8 reactor which I found very great helper earlier like in the if you have heard about the PHP CS plugin which is a command line tool helps to you know find or beautify your PHP code so Drupal 8 reactor is something similar to that it helps you to you know fix your duplicated codes in your custom models or if it is in a custom model so we should leverage such tools in terms of repairing our existing Drupal 8 sites now moving to what are the upgrade paths so you know Drupal 8 is already having set of migrate models in a code and which are more compatible with both 6 and 7 for the content migration it's not for the yet having a very good support for the configurations but obviously the content migration is quite content migration is quite well supported so what I expect is the organizations or teams can try to leverage these models as well as a set of concept models to migrate the content from older sites to D8 and then keep the D8 site updated going forward for Drupal 9 so when we when we basically you know doing this upgrade path there are certain things we should you know take care of it and also do artifact you know for our sake of purpose to keep track where are we in terms of upgrade so we should assess do the assessment of our Drupal 8 code whether it is patched or not we should not have a patches in Composer to you know update or you know patch Drupal code similar things if concept models are patched we should know if whether it's the latest versions are used in your Composer dependencies then we can use the upgrade web interface which is available in Drupal 8 during to check to check with Drupal 7 sites what are the entities we can easily migrate so earlier in in Drupal 7 we used to have the concept model and we used to basically have different source plugins we may use to connect to a database we may use to connect to CSV or JSON and so on with Drupal 8 it's similar but we have more better options for that and when in terms of upgrading or checking a models which are compatible it gives us a clear understanding which are the supported versions in Drupal 8 which are the entities which are available in you know Drupal 8 and so on so something like the address field is in Drupal 7 if it is not is present then probably at the some point in Drupal 8 it is not supported but the same time if you have a concept model in Drupal 7 for the date so that is already supported in Drupal code so this mapping we should able to do in terms of both content as well as models to keep track what are the things available in Drupal 8 then I will say there are a couple of prerequisites which I personally used to have are going you know still mentioning it is something like the contract tracker to see what are the latest and stable releases in Drupal 8 then is basically the Drupal 8 multilingual model to support the multilingual but at the same time we don't have better support for the migration so it's very good to track these updates so that in future we should able to know like whether we should able to migrate Drupal 7 multilingual sites very easily or no when we are using this migration models there are certain things we should provide or you know there are ways we have we should give a provision to connect Drupal 7 database or you know have access to Drupal 7 files folder so that's something we should evaluate we should check whether our development environments are able to provide or not so that is something which is important and then the there are things like you know certain dependencies I will say whether you are upgraded to Composer you are using latest version of Dlish and so on so those six are still there and then you know in terms of the upgrade approach what I deal down is you know these three steps or these three approaches which suits to migrate the sites from Drupal 7 to 8 and then I hope in future it should work so the first one where you know we have D7 sites we would like to you know upgrade those sites include the D8 maybe we should able to use the content migration but the configuration is something which we have to do after the content is migrated and the configuration once we do the configuration on the new D8 site we should able to move it to beyond dev stage and so on so in the first approach it's very simple procedure you just focus on the content migration using the migrate apis migrate models and then do the configuration as a fresh build for your Drupal 8 sites the second one is like you already have good set of content and the configurations migrated in Drupal 8 then it's more or less you are looking for you know next batch of the content as well as the migrations to roll on the new website so that's how we can think that you know Drupal 8 can keep updated with the you know the latest versions of both Drupal as well as the new content which is coming from Drupal 7 and then you know it's something which I'm still figuring out for more explosion is the third option where we are migrating content from stage and plot environments so we may have multiple environments in Drupal 8 for during the migration so we may migrate the content from the source website to the stage or plot of the stage site of the Drupal 8 we keep the content available there and then keep doing the configurations from dev to stage and have more iterations around that so that's something you know it's these are the things which I probably look forward for you know migrating the websites to D8 and the next part of this is probably just keep the D8 site updated with the latest version so that whenever the 8.9 gets released we should be on the latest version for the welcoming Drupal 9 so that's it like you know this is something which I try to summarize from my own experience but let's have some more discussion in terms of questions like what are your experiences what are the challenges or whether this one is helpful so open to you guys to have questions or you know feedback and questions so how many of you are already using D8 any versions and how many of you are on the latest version of D8 good okay all right so thanks a lot for attending this session and I hope you too have a great Drupal con have a lovely day going ahead can we have one selfie together


It's a Corbin. I'm Rick and he falls to Instagram You don't need to do it. I'm all juicy Not that juicy. It's so juicy And uh follow us on patreon and uh follow us on our official twitter account Yeah, subscribe if you haven't hit that like button, please Um Anyways, oh today we got a treat rick. We do Oh, no, what is it? It's uh, I think the teaser For bull bullia too If you don't know why i'm laughing we've seen the first one We did not get it or enjoy it at all But obviously I know it's a big film obviously because maybe this one will actually be funny to us. Who knows But I don't know if you'd like to see the review for that But not if you just want people to like stuff that you like But to actually see our analysis of it. Please go watch it. Yeah, we actually give analysis But apparently taboo's in this one. That's great. So you'll get some good acting. That's great But anyways, uh, this I think just it's probably more of an announcement kind of teaser and then the actual teaser teaser. Yeah Um But and also we never saw the original malayalam, which we probably should have Saw them original malayalam. Yeah, we've tried to do that. Uh again availability accessibility I apologize, but I we when we saw it we were still kind of new Um, but yeah, hold on What happened? Is actually even in this one Well, I don't see him on the credit up there Official bubble set to release may have to be 2022. Well, he doesn't have to be in the in the In number two, you could just take the premise and move it on It could just be the same location. Maybe it's a prequel It's just weird because obviously he was the iconic for indian cinema, uh, hindi cinema not indian cinema Um For for that film even though. Yeah, the best part of that film for us was the very end with vidya and her dance Yeah, we did a phenomenal job at that dance. Uh, but anyways, let's just get into this and see what this is about That's the dance Is that shria? It looks like oxy. Is it a prequel? Who is that? Releasing may okay. It looks like a prequel. You think so? I think he's playing young oxy It almost looked like oxy. I mean, I know it's not I think it and I could be wrong, but it looked like that looked like his eyes Also, I could have swore That I remember an announcement For the second one and oxy was attached. Did something happen to that you dreamt it did I yep All the dreams you have about I saw it on twitter and everything on twitter is true. Yep You all know that right everything on twitter everything on the internet Okay RRR Kgf2 I don't recognize him. Do you Is that That's who that is right um well Artist actress that's so funny that they just yeah I guess that's they don't want to give any character names away or something where they don't put the character name that the person's playing on the Breakdown there on So it has a director and a co-director It's taboos in it who obviously wasn't in the uh the casting mokesh chabra I mean he just does everything though. Yeah a sequel to the original So no information no information. It's a son Maybe it's it maybe it's the future and it's just it's this guy's oxy's Son and he's carrying on the family business um This name confuses my dyslexia. I know amatab But the charia every single time i'm like lyrics by amatak bachon Why is he writing the lyrics for it? Um, this obviously there's not much I could say outside of I didn't why isn't oxy in the film Yeah, um, I mean it's not a bad thing. It's not like he I mean for us It's not like he had an amazing performance now But obviously that we know the kind of film wasn't trying to be it was supposed to be a funny film We didn't laugh No, and one of the issues with it was for us Is that obviously with the subs that we just we there was like a two hours 30 and we was I I don't think I laughed once From what I remember from that film. Yep That's true But um and a lot of but it's always funny because when we watch stuff, right? Before you watch it. It's always like oh watch this.  Yeah I don't know Yeah, I guess before you watch it It's the fans that want you and after you watch it It's the people that think that film is awful that They just don't watch it anymore. Yeah, but anyways Is there ever been is there ever been a sequel? That you liked but didn't like the original not a remake It was the part two and you liked the part two, but you didn't like part one Let me think yeah, I have to think about that too Is there a sequel that I liked but I didn't like the first one, right? Because more than likely if you didn't like the first one, you're not going to see the sequel Does Jumanji count? It's a remake. Well, I also I love the first one. So I guess that doesn't count. It doesn't count No, it would be like for example, if there's anybody out there I don't know that they exist who didn't like the godfather but liked godfather part two I don't know why they're just kind of the same film. This is the first example that came to mind Oh, that's what it is Grease two you liked that better than the original A lot of people said Terminator 2 was better than the original Oh, I well, but no, she didn't like example like completely empire strikes back is better Than episode four. Hmm without question. Yeah, it is a better film. It's for most people their favorite of all of the star wars diehard fans empire is like The the the killer one but but I don't know anybody who loved the empire strikes back and disliked Star Wars a new hope I'm trying to go through them here. I was there not an Indian film It's like I didn't like fellowship of the rings, but I loved the two towers I don't Star Trek Don godfather good bad and they ugly You know what would probably be the closest right of frankenstein I bet if you ask people I think I figured it out Yeah, usually you don't I think I figured it out usually you don't go see the sequel if you didn't like the first one I think I I figured out what dark night The first one's good though But I guarantee there are people who probably didn't necessarily like the first one, but love dark night I don't think so what Batman that dark night is so much more beloved than batman begins But batman begin was beloved but the likelihood well Obviously now but obviously at the time before dark night came out Everybody had already was loving batman begins everybody. That's that that's that's true. Everybody did like it when it first came out Everybody's like, oh, this is better because of he's like yeah, that's right. Yeah, I'm that might be a weak argument I don't uh, I can't think of one. Yeah me too You guys can let us know so the odds aren't The odds aren't But highly in our favor honestly this looks more like a remake than a sequel If you don't have the original cast I know but how could it be a remake based on what we just saw there It's a remake because you don't have the in terms of a sequel I think you have to have the original people at least most of the original people It was a remake. Why would you call it two? More money grease you just grease two wasn't a remake I don't think any movie with the with a two is a remake. It's a sequel It's not even called a sequel to the original not a remake of the sequel. It's not the same director It's not the same stars. I know rocky two is not rocky But the same stars. Yeah, but that doesn't mean it's a remake No, this is a remake because it doesn't have the original people How can this be a remake if it's a sequel sequels can't be remakes. I understand what they're calling it I'm saying. I don't think that's what it is. I think they're just doing that for money So you think this is a complete remake of the first one with a new cast and calling it two You heard it here folks. Yeah Um god, is it is that slanted? I swear to god it looks slanted. Does it it does a little bit. Yeah I'm trying to fix it multiple times now and I don't know if we've been if we've been a little crooked Sorry, we're if you've had to watch it like this. I apologize Tripod. Yeah, it's but yeah, let us know what you thought about this one. Um, and uh, Let us know Let us know Uh I'm looking forward to the mad max sequel.  Yep Just


Residents of Saint-Mont-Abio-Couta and Au-Gon-State took to the streets to demonstrate their dissatisfaction over the scarcity of new narrow nodes and the attendant excruciating pains of the new narrow policy and petroleum products. On Tuesday the 7th of February 2023, the protesters were seen chanting protest songs on Aladeh-Charmie, Fajol and Chomori in Obatoko area of Abio-Couta. Protesters blocked the popular moor in Asheri area in the state along Abio-Couta-I-Baron Road while another protest was witnessed at Panseke area. The scenarios forced some business owners to lock up their stalls over the fear of being attacked by angry residents who cannot access their monies at various banks. Protesters set fire on unused tyres at moor junction, thereby obstructing traffic and inbound Abio-Couta-I-Baron express. They did this because of their displeasure over the current situation across the country. We all recall that the Central Bank of Nigeria last October announced that it was redesigning the 200, 500 and 1,000 narrow bank nodes. Governor Mayfield, the CBN governor, had announced 31 on the 31st of January as the deadline for the expiration of old bank nodes. Due to public outcry trailing the currency scarcity, Mr. Mayfield extended the deadline till February 10. He added that money-deposited banks would continue to receive the old bank nodes even after the deadline, despite the deadline extension. However, the scarcity of the new nodes has persisted. Joining us to discuss this and more is Ambrose Igboke. He is a public affairs analyst. Mr. Igboke, so good to have you join us. Good evening. Good evening to you. Good evening. I'm sure that you, just like every other Nigerian is feeling the pain, I'd like to add excruciating pain of not being able to access your money. You do know that you have money, but you're unable to get access to it because of, you know, the situation of mopping up all of the old nodes. And now, just as I said in my intro, we're seeing a lot of public outcry and some people have resorted to violence. Did you ever see this coming when the CBN first announced that these monies were going to be taken back in and of course new monies rolled out? Well, first of all, most Nigerians depend on daily subsistence for survival. So they make their money daily, visit to feed, they go out the next day and so they live at that subsistence level and they go to a Nigerian's live at that level. So they need cash to trans-back. Now, you have denied that of that. A lot of these netizens have closed. You have denied families you're going to call. You have smocked up small businesses. Change of design or quality is something that comes off, you know, from time to time. CBN cannot be senseless to know that it has the power to change money from time to time. And therefore, plan for it. You don't just make a purchase, you have stung by a deal. And then you drop off from the bed in October. And now, facing out of the new Naira notes, I mean, almost Naira notes in three months time, they introduced the new word by December 15. And under 40 days, you expect those new words to be lit for December 15 to January 35. I don't know who is telling the senior governor of these fairy tales. I don't know whether I know the sheer volume of a lot of logistics that goes with this.  There's something fundamentally wrong with either the processing or the money itself through the senior governor. So, Ambrose, you're saying that this wasn't a clearly thought out plan? I'm sorry, do you not think that this was a clearly thought out plan before it was rolled out? Do you not think that they did some feasibility studies before they decided to take this stand? Yeah, there was no plan. There was no plan. It was, I think it was enforced. Because if you plan, conceptically, logically, you know that this would work. Now, the CPS, I thought they were planning very well initially.   Now, you went ahead and showed that the people who were scarred of the new Nara notes just sent back the old Nara notes, they circulated back to the ATM and across the counter, and the banks, they were not doing it. During the panic measures, just before Christmas, you couldn't release the money in churches to banks, so you are controlling it.  Yeah, I agree that some commercial banks, they, you know, they are involved in some, or wholesome practices. But the problem is caused by the CPS. Common sense says that you cannot move up to over two trillion Nara, and you pay them nearly 300 billion Nara. If you want that, you need to circulate. So, which do you mean absorbing CPS of improper planning? I'm curious. Why do commercial banks have their own blame system? The CPS should be ready to take black portion of the grain, like on foresight. I totally understand where you're coming from, of course. Every Nigerian is feeling this pain, but I'm trying to understand to what end would the CBN government, of course, under the purview of Mr. President, what do you think the end game would be if you're saying that it's not about fighting vote buying? It was a, you know, an impulsive thing, you know, it was a spur of the moment plan. But why would they want to put us in this kind of, I mean, look at what we're going through as it is, look at the kind of uproar that it's getting. What do you think the end game is here if all of this wasn't thought out and now this is the blowback? What do you think government is trying to get out of it? Now, some people have started saying and it's a school of sorts that imagine that maybe, just maybe, that this is deliberate to cause confusion in the land because there's nothing else that explains this bedrock.  On the other hand, you are ensuring that there's no special approach of collecting, people cannot buy kerosene to cook, people cannot buy fuel for their generators, cannot buy fuel for their cars, and other vehicles. To motion out of the elections as such, she will say, wait, order to be made without deliberate. So many Nigerians have started saying it's very deliberate because it has never happened this way. It is not deliberate. They want the actions taken. We can't have the national security mention and the Republican property make small money to make the demands of Nigerians or they allow the old people and they don't know to circulate for some months. So that we spoke what is the price that we are putting Nigerians on that. But that's what banks cannot say so much. In fact, I want the price of my bank all for the best. I can't know who yet. A lot of some of the bank branches have closed. People have finished getting angry. We have seen videos of bank staff in their neighborhood did attack. They've been there all the day. Today the bank advance has went to the Secretary of the United Nations. They were not seen or seen being lynched. We don't know what to say to society. But if they go back and forth, they should go back and forth. But if they go back and forth, they should go simultaneously. Very soon this year, UK will change out their currency. And then it will circulate with the old ones for years. Okay, like three years. Let's talk about some of the positives that some sudden pundits have pointed to. Many people have said that the new Naira shortage has triggered a lot more online banking and digital banking. Making people resort to transfers. But then of course we also have the situation of the bank transfers also having a problem. The platform is all crashing as a result of the fact that they've seen the kind of traffic that they've never experienced before. Well let me tell you, all this is a cosmetic explanation. I wouldn't have to talk about Naira before. First Naira's were not being tracked because there is a failure of the agency that is responsible for that. They should not be using the excuse of that deal or in the future, to cross cover for Nigeria. Our Naira don't suppose to be tracked. Each Naira has its own tracking number. They have security features that can be tracked. If someone is not tracking it, then it is the agency that is responsible for that. So what will I say for another person's failure? I want to talk about online banking because you have moved within a short while offline banking into online banking. All the bank apps are crashing. Online banks are crashing Nigeria in the last one week. You take it, the money keeps hanging from one week from two weeks, it doesn't drop. Today in the bank I want to say this is only their own bank they can transfer to. You can't move your money to another bank. You can't go online banking. You don't allow the system to crash because it's taking all the money that it's supposed to take. It wouldn't be so good an advance economy to a company like China and the United States. They are still using cash trading. Okay. Let's talk about... Let's talk about the fact that three APC states have sued the federal government over the scarcity of new Naira nodes and many more people are still pushing for an extension of the dates. Mr. President's party members saying that this particular move is targeted at them and the presidential candidate but generally looking at the situation of things and also as an analyst what do you see all of this going knowing that we are just 18 days away from elections kicking off in earnest and what do we really go from here and also come up to say let's give him seven days and he's going to turn things around. Is Mr. President's words anything that we can go by? What the party members should do is they are fighting both sides to ensure that the limit the draw a limit that was made by the city and it's obeyed by the commercial banks and even by the city and the states because today we got to do and this is the so-called big way to have access to this thing we also need to get back to the Christmas what if we were forced to leave Naira nodes and bond nodes, if we were able to see the campaign and the poor man cannot even access his own money so there should have had three clings to the limit the first to the draw a limit because if I just choose to draw a limit then the second cannot actually have access to that cash and there should not be people to have more to do account so sooner they will draw like that and then they can call the technology agencies to track them off so in that way you can figure out both sides so I need to say you want to achieve that the other money the old money was not technology so what do you say, how can you do that are we giving the bank prices or the money the bank prices are saying they don't have cash they say we don't have cash they say we don't have cash they don't have cash and the Fed is too close because CBA is a regulator and they land the hammer grant said there are some other bank managers that are trading on the card so when you open those words where you do not have anybody trading on it because you want to do what is available this way you don't have to have to label that is creating like a clarity so CBA should make it available and stop all these nonsense and go back to the bank bank and say, we saw something wrong, we don't see something wrong. It's a rival of the world we are in this universe that I can tell you too. We also saw that the EFCC arrested a certain bank operations manager from us, you know, and what we see is that there's no name for the bank manager. We do not know what bank it was. But then many have queried the CBN and the motive, if you really want to deal with this situation as you say that these people are hurting this money, why hide their names and the name of the banks that they are operating in, why don't you make it public so that it would be a name and shaming thing and so that every other bank, as they say, who is holding these monies would do the needful as opposed to just saying Mr. Nobody was caught at Mr. Nobody's bank. I mean, how serious do you think the CBN is dealing with these so-called banks that are holding onto monies and not dispensing them to the public? We should also change the shadows that need to be solved first. Some stances, by this time last month, nobody was buying off Naira notes. By this time two months ago, nobody was buying Naira notes. Or three months ago, nobody was like a carry on Naira notes. It is because of that access that is properly solved then. So deal with the root cause of the problem and solve the CBN shadows. CBN is changing shadows. When Naira is available, nobody will be raking out with things. Okay. So what are you, you are treating the signal, you are treating some stuff. That's what we call root cause analysis. The root cause analysis of this is that you meet anybody that cannot go around the world with a criticism to start for them, for their economy. And because it will start, it will be more than, and it will be changing. These COS people that are selling monies, because they don't have money, they were collecting for one, ten thousand. When the money was available, nobody asked you for money, when you go to bank, before now, when the bank is telling you that they don't have those people now, it's because of the scarcity. So that's the root cause. All right. So when you meet the people that are selling more, and there's so much scarcity, nobody will hold the money, nobody will sell the monies, and nobody will rake out with Naira. Well, we live in very interesting times where Naira is being bought by Naira. Well, I want to say thank you. Ambrose Bokeh is a public affairs analyst. We're hoping that we're looking forward to better days. Hopefully this eases off before Election Day, but we'll keep our fingers crossed. Thank you so much, Ambrose, for speaking with us. We appreciate it. Thank you for having me. All right. Well, we'll take a quick break. Thank you for staying with us. When we come back, we'll be discussing Dogara's comments on the North completing 14 years to meet up with the South. We'll be having our guests join us right after this break. Stay with us.


All right, yo, let's get everyone Nick Smith is back. So in this episode I was meant to be facing up against the box and the mind me heat in this episode But the recording messed up and it turns out that I didn't actually record the video I was an idiot. I forgot to press record But it doesn't even matter because now we're facing up against our rivals and the Boston Celtics And we're facing up against the Los Angeles Clippers in the Battle of LA So yeah, Randall's back Coby's back Roxas back Let's get into this game and the other game as well So the first game that we played up against was against the Boston Celtics these guys During trade deadline a quiet Andre drummond. That was such a good pickup for them And look at this hand down man down. You're too small. Isaiah Thomas No, I like Isaiah Thomas. He shows part. He shows dedication That's what right there just says it all five feet nine or however tall he is It doesn't ever matter and look at this David Lee. What are you trying to do? Not in my house not today anyway Randall from downtown, I mean not Randall What am I talking about? Get dunked on though boogie is a beast But the thing is what I was trying to say before I got to stop talking so quickly What I was trying to say before is that these guys the Boston Celtics they got Andre drummond That is such a good pickup for the Celtics because in the week conference that they are in They they can easily make the playoffs and getting someone like Andre drummond to help them Because they they made it to the playoffs last year in real life Without a guy like Andre drummond. They had Isaiah Thomas for about half the year these guys seriously I don't know just because they're in such a weak conference. They can do some work and in this my GM series Since they acquired Andre drummond. It was such a good move for them So I'm eager to see if they can actually play really well in this my GM suits because I wouldn't even be surprised Isaiah Thomas Andre drummond J Crowder Marcus smart sort of bad team Obviously they have to get rid of David Lee because he has a huge contract, but I don't know man These guys in in this my GM series. They could be something else Getting Andre drummond was a big pick up for them It is what it's what they need if I had to choose a position for the for the Celtics to get in real life I'd have to say the center position is struggling. I mean they have Joe Solinger, but he runs the powerful position. So Yeah, I mean Boogie Drummond someone like that in real life That'd be a nice pick up for the Celtics and it's exactly what they did in this my GM series But as you can see we're in the last quarter right now. We're down by five points It's time to come back in with this game could be bright up against the Celtics He needs to do something special. He does that right there He didn't that three and getting that to fall boogie dunks it on Andre drummond right there I really like Andre drummond for those that don't know. I'm a fan of Andre drummond. I don't know I like his puzzle. I like his defense and talk Not in my house you might catch me on the road and one but yeah agent zero got that song stuck in my head He was singing it the other day and I was like, that's a pretty good song That reminds me of some Ben Wallace action right there But uh, yeah, all the depot gets the M1 to go this man DeAndre Russell with the steel and and one to Julius Randall The rookies or the second-year players are coming in clutch right now It's a really clutch moment for for Randall and Randall is somebody that you guys need a gap His stats might not look good in this game like I don't know that they're not bad But they're all kind of average all of his stats or attributes in this game are just average But when you play with him, he's a beast. He can play defense. He can do offense.  There is a link in the description to go subscribe to his channel crazy my GM videos He's trying to you know grow his channel out So be I'd appreciate it if you guys could go to over to his channel check out some my GM content of the box and Celtic He has boogie on his team and he's a beast with boogie, but how could you not be a beast with boogie and oh my goodness? I'm a depot. He killed this man. I say Thomas. I'm sorry. I say Thomas. I didn't mean to kill you right there I was trying to be nice, but you got in the way son You got in the way and I had to murder you that was some random night stuff right there But uh, yeah, that was crazy, but I guess the Celtics man They're a pretty good team although I say Thomas absolutely got murdered right there They're up by four points Randall Joseph L almost in that one Well, this is probably the biggest free throws of his career He makes the first and the second and look at this It's a two-point game six point seven seconds. All we need right here is a steal It's a clutch situation and we get a miss. How do you miss the ball? How did he miss the ball? You should have seen my live reaction. I was screaming like crazy He misses that free throw. We have a chance to tie this game I mess up the controllers and I pass it off instead of having a shot But how did he not even get that steal? That is some Hall of Fame 2k cheese right there It's annoying. It's annoying if this was not on Hall of Fame. I guarantee that would have been a steal We would have gone the other way and tied up this game But I play on Hall of Fame and that proves it right there But now we're up against the Clippers in the battle of LA and you know the Clippers like to dunk the ball, right? But we're going throwback. We were the Showtime Lakers now forget about the Magic Johnson Jane's worthy error With it with a new Showtime Lakers now, all right, you got it. You got to deal with that Randall not Randall Russell It's I'm getting confused between Randall and Russell, but Russell putting on the moves right there up against CP3 getting the lab to go He he was crossing him up, but the Lakers are the new Like I said before where the new Throwback throwback whatever Showtime Showtime where the new Showtime Lakers that proves it right there Oh a depot throwing it down and you're gonna see Joe Green go to some monster dunk This game was just full of dunks. I'm not even gonna talk about it. Just watch.  I'm still the franchise players of the Lakers need I'm still the old black mumble that we want to see Not in my house. Well, not today at least not until our attire Kobe sends it back and green throws it down over Deontre 3000 and you're gonna see this wasn't the first time he throws it down in this episode not even close and One well at least that should have been an hour one for Joe Green But this is an hour one right here get dunked on that is young place for the Clippers in this series, but Man, he got to play better defense if you want to play for the Clippers otherwise, I'm gonna trade him But nah, I like that he's shun. I'm a huge that he's young fan for those that don't know I don't know why he's not even that good. I just I just really like that he's shun But anyway, you know how we're gonna do it simulate to the fourth quarter and now As you can see we're down by oh, we're up by two actually Joe Green throwing it down again Cuz he is our beat Deontre couldn't stop him even could the four guys in the paint But this was where the dunk game started Griffin on one end random on the other end Deontre on the other end. This is like the only shot that gets taken in this last quarter Joe Green makes it a tied game 77 to 77 Deontre throws it down We get a lot with Joe green cuz you know like I said where the showtime lake is green throwing it down Look at this Kobe with shot clock wanting down boogie on the boards throwing it down That's like a Kobe and Shaq type thing right there You know you got Kobe taking that last second shot if he misses Shaq's got his back Demarcus is like a mini Shaq in this episode Not just that he's like a mini Shaq in this series and in real life and won This man boogie Draws the contact goes up with it gets the foul And won and he makes the free throw because it's Demarcus cousins Chris Paul with the game on the line You know, he's gonna come out clutch.  Are you kidding me right now? So I had to call a timeout. I had to win this game 5.8 seconds left Kobe Bryant the black mother. He says, you know Randall. It's your time That shouldn't have been a foul. It was a foul and this is Julius Randall's Clutches moment in NBA history in his young NBA career. He ties up this game So this is pretty much for the win Julius Randall for the game Is cash Julius Randall is something else. I'm telling you not in my house Not today at least the lake has come out on top. We win this game I hope you guys enjoyed the video if you did leave a like on the video Joe green went off. He's a beast I'm so happy we picked up Joe green, but if you guys enjoyed leave a like subscribe if you're new Let's see if we can reach 600 likes. I'm out. Peace