In Cross River State the issue of zoning causes division among stakeholders as 2023 gubernatorial elections draw near and the Independent National Electoral Commission INEC says they might have to postpone the 2023 elections if President Mohammed Abdel Buhari fails to sign the Rewalked Electoral Amendment Act bill by Tuesday. This is Plus Politics. I am Mary-Anna Cole. The buildup to the governorship race in Cross River State is generating diverse interests among stakeholders across party lines. This is in view of the realignment of interests probably caused by the defection of politicians between political parties. The all-progressive Congress APC seems to have resolved the controversy about its zoning agreement as the state governor Ben Ayadeh stated that the rotational principle in the state would be retained. On the part of the People's Democratic Party PDP its state chairman Venesha Sikkim disclosed that the party will decide on where to zone its governorship ticket to at the appropriate time. In addition, stakeholders in Cross River State have published the Calabar Declaration advocating for power to return to the southern part of the state. Joining us to discuss this is the all-progressive Congress chairman in the state. Thank you very much Mr. Abdel Buhari for joining us. Thank you very much my pleasure. Good evening Nigerians. All right also to be joining us later will be the People's Democratic Party state chairman Mr. Venesha Sikkim. But I'm going to start with you Mr. Abdel Buhari. Let us look at the issue because of course you're the party chairman and you are the ruling party in Cross River State. We have heard that the governor has said that the zoning and the rotational government will stand. Is this the position of every single person within the APC or are there people who are against it? Thank you. To answer your question directly congruity of opinion does not exist in human life. When a question is asked in a gathering of about 10 is everybody in support of this you will find at least a dissenting voice. So to say whether everybody in Cross River State agrees with the issue of zoning as postulated by His Excellency and several opinion leaders in Cross River State. I will only answer you by saying that majority of Cross Riverians are in agreement with that position. I sit down here as Alphonsus Ogaeba Esquire. Not first as a decision of the party yet but as Alphonsus Ogaeba Esquire I believe in zoning because I am a product of zoning and because my whole political life from 1999 when this republic started zoning was an integral part of the party where I belong and zoning also exists in the party where I am now. So to say and to answer your question majority of Cross Riverians are in agreement with the position of the governor for power to rotate among the three senatorial districts and for 2023 that position that power should go to the south stands very popular and acceptable by almost all except the few who may have their good reasons based on perhaps their own ambition too. A lot of people who are saying that the APC is towing the line of zoning because they want to retain the seat of the governor being that recently the governor moved from the PDP to the APC and of course he does not want to lose that power that he has over you know the governorship seat and of course the power that he has in the state being that the state is led by the APC as we speak. Is there any truth to that? The decision of the governor calls only a reflection of who the governor is, a man of integrity, a man of fidelity. I recall in 2019 I was among the team of his excellency that went before the southern senatorial district leaders called the Seven Alive Movement. We had that meeting in Haikief, Etienne, Asukua, Ekpaion house. The who is who in the politics across the state from the south across party line gathered and the governor made a statement that in his own view he is here before the southern senatorial district to ask for their support to enable him complete his remaining four years tenure so that at the end of 2023 power will return back to the south. Knowing that in 1999 his excellency Donald Yook was governor till 2007 and in 2007 to 2015 his excellency Senator Leah LeMocchi was governor and now that he has been governor from 2015 to expire in 2023 power ordinary should return to where it starts. To him that is an ordinary natural free flow because it is not just about rotation. The consideration of a senatorial district which has waited for 16 years should know that after 16 years power will come to my district. To us what that has achieved is that it has kept political harmony across the state. It has reduced social and political tension. It has reduced financial recklessness because you do not need to jump into the context when you know that a time for you will come. Like people were saying that this thing can start from the nuts knowing that everybody has had it and somebody asked me you are what person the governor likes so much is stood by you to become state chairman of party don't you think is an opportunity for you to accept that I can start from you okay I say if there's anything I have learned from the governor in addition to my natural in it is not to be greedy it's not to be selfish I would not accept even if the governorship ticket is thrown on me the natural thing is I should go back to the south and I think that is the position that is popular it has to do with the fidelity of the governor and not setting sentimental interest or political underlining as you have just started okay well we're being joined by the PDP state chairman in Kosovo Mr. Venashasek and Mr. Kim thank you very much for joining us Mr. Kim can you hear me great well I'd like to hear from the PDP on the issue of zoning being that there's been some a lot of people within the party in fact the party has been divided between two different people on the issue of zoning where does the PDP in Kosovo state stand as to the power shift come 2023 is zoning on the table or is it to be jettisoned as some politicians within the party have said I'm sorry hello I'm hearing very well but I think that from here you say things like zoning and whether it's on the table yes yes all of everything is on the table but it remains that we have not been practicing zoning in that sense in which you are there when we are starting we must basically put an end to this before and that's not what we're doing but again it's something to be jettisoned Mr. Kim I think that we're having connection issues with you can you can you again say what you just said you're saying that you have not necessarily practiced zoning in the sense that we are looking at it from what sense do you think that we're looking at it from and what kind of zoning has the PDP in Kosovo state been practicing that who practices it well I'm asking you said you're not practicing zoning or rather you're not looking at zoning the way we're looking at it so I'm asking what type of zoning has the PDP in Kosovo been doing yeah yeah what we what we have been doing is that after every election when a candidate images from a particular zone we eliminate that zone for the next election that's how we arrived at the point where we were able to do each zone for eight years to where we are I think that if you work for us so there is there shouldn't be any apprehension about whether we are now throwing away zoning or not so that sense in which we applied zoning we never start now at any point and say uh yeah this time when he said he's going to the south the next time he's going to central and then the last time he came to the north no that's not what happened Donald won and defeated Tanoa Gabi in the fair and pre-primary went ahead in the elections he served two terms to him okay contested with uh water energy who was dedicated to Donald you come from the north he defeated him and he became and there was only the north left so it was only fact to say okay the north there was no problem for anybody else with the north so that that's the sense in which I mean that we have been practicing zoning so if for instance we go for the next round and a candidate emerges from the south or maybe from central because the north is actually not in the race we cannot say okay that south or north or central that took it this time has been eliminated we were going for the next round then they will be choose two to contest if they contest and one again with that one is eliminated then there will remain only one and then they'll be lonely for anybody to contest with them so at the point it's this and sense in which we put this zoning out there we are going to disenfranchise any but on the basis of so-called zoning is not a sense in which we understand it but everybody can practice it the way that he understands all right you were quoted to say that zoning all right that governor I add a apparently because the governor has taken a position on the issue of zoning and he's saying that it needs to ticket needs to go to the south you were quoted to say that his position was unrealistic and he was not being realistic with the issue of zoning as opposed to what you have just said to me that you know whoever wins is practically eliminated and that's how the turns are being taken but this is as this is being opposed by so many people and this has led to the calabar declaration where they're saying parties who are not going to field candidates from the south will not get any bulk votes what's your reaction to that honestly I'm struggling to hear you but did you hear me when I said what I said about the calabar declaration the fact that these people have said or they've come to an agreement and these are people who are from the southern senatorial districts most especially politicians they're saying a bulk vote will not be given to a political party who does not field a candidate from the southern senatorial district I'm not in APC I don't know whether you're talking about APC I'm talking about the calabar declaration these are people from the southern senatorial districts whether APC or PDP people of calabar are entitled to agitate for what they want agitate for their interests and they are entitled to that absolutely it's democratic even the people from the north where here they come from are entitled to agitate if they want now when the delegates are approaching that it remains for them to be influenced by those agitations or the sense in which they are preaching their equity or whatever you call it now now you cannot understand like what the governor said I can imperil pronounce from the beginning that you have zoned to the south thereby criticizing everyone who may have had an interest to contest that is the antithesis of democracy people should have a right to choose they can even decide to choose from where the president governor comes from because it's democracy it has happened somewhere else where in Nigeria and nothing says it can happen anywhere else I don't understand this hanging on to these chains of zoning democracy it doesn't work that way interesting now there are also people who have said that most the APC the PDP are taking these stands and the different stands that you your parties are taking is because of selfish reasons and not necessarily in a democratic way that would benefit the average crush variant that's not me speaking but let me push you first missy came before I go back to miss deba you have said or people have quoted to say that have been quoted to say that the reason why the PDP is taking this stand is because there is a certain candidate that they want to favor within the party no absolutely no that's not correct the position I have consistently advocated on this to the state executive is that we will provide a level playing field for everybody who wants to aspire and who wants to contest and that is not only for the governorship election that goes for all elective positions that is our position except until certain time that like I said if we have to fight the guns of a party beside that we can formulate an alternative strategy that could win us election fine and good but through our 22 or so year history through the three cycles of elections we have had we have always contested except the last one when only the northern central district was left that is our history you can go to the records and check it so I don't know why we are suddenly trying to change the rules of the game maybe because we are afraid of a certain candidate in the race but I don't see why we should be on unnecessarily a certain candidate that would be more who I mean I'm trying to understand are you trying to say that there are candidates within the southern central district that are not good enough to run the state or is there a very special person within the party that everyone should be afraid of I'm saying that the electorate would decide on the basis of whatever criteria they choose to elect in a candidate for the party as swag bearer the court buffers means that we are not challenging this one we talk about every other election because this goes for all elections we have people who are serving five times in the national assembly three times in the national assembly all these issues are subject to zoning but they conveniently only with respect to the entrepreneurship Mr Kemai you're still there I'm going to throw this back to the APC state chairman Mr. Eba you're still there let's throw back this to you you've heard everything that the PDP state chairman has said concerning the party that the governor is acting like an emperor and deciding to dictate what should be the modus operandi in picking who should run as governor across boards it is unfortunate when an adult goes besieged by expressing his verbal dissent who is acting like an emperor anyway it's not surprising because um Venatius he came was bought for a price to come and spew such kind of gibberish on national television you're making allegations that I do not have proof to weigh you in the room where he was bought for a price and what price I do not know why you should call a governor who only wanted to rely and stand by what he said in 2019 to be called an emperor if there's any emperor is the governor that bought him for a price from river state and he should know that very well but to the question of what we are saying section seven of the PDP constitution is very clear on the issue of zoning article 21 roman figure four of the pc constitution is clear on zoning section 14 subsection three of the constitution of Nigeria is clear on issue of federal character my dear sister you can only place something on something and that is when it will stand if you come by the sentiments that does not hold water you are bound to give this kind of falsity and fantastical issues like uh the young man has explained in 2014 2015 in cross university PDP agreed on issue of zoning that was because the other two senatorial districts had previously produced governors for the state and you're speaking because you used to be a member of the PDP I was a member of the PDP great and I cannot sit down on national television and tell the kind of lies that that man is saying but it's it's not surprising because when you are lacking in character that is what you do just do not try to attack his personality and this attacking he called my governor an emperor a man without character should not sit on national television and call a governor an emperor because we know who the emperor is in this country and that is governor wiki so you should not sit on national television and call my governor well governor wiki the last time I checked governor wiki is the governor of river state and not the governor of cross river this man that I don't know this is the man that I think I think I want hold on hold on mr. ever just hold on hold on mr. ever let me bring in the national because you're making claims that uh go ahead go ahead misty came I'd like to hear from venacious uh because you've made an allegation that the governor of another state is controlling the PDP in cross river yeah you don't you don't you don't know anything about about running a political party what position have you ever heard no no no misty came hold on I need you to respond no no no attacking hold on I need you to respond to those claims can you hear me I want to ask again he's saying misty came can you listen to me I want to ask you the question again in case you didn't hear me he's claiming that your party is being run by the governor of another state and I find that very at that claim as furious as anything else but then I want to hear from you why a member of the apc in fact the party chairman of the apc in your stage would be presuming or making such an assumption on national tv that governor wiki is running the PDP in cross river state misty came can you hear me is that for me yes please sorry I didn't I didn't have a question I'll take it again please listen he has said that your party is being run by the governor of river state and he's saying that you have been bought for a price by that same governor I find that very disturbing but I'd like to hear from you you see I don't want to dignify such uncouth talk with any response if a governor attends an event political party event in a state that means he's running the party that's that's why I say the man does not know anything about how a party's from how they operate it they run their worship of governor worship of specialities in what they call loyalty that is not we call democracy that is why they will run away from PDP to wherever they conquer for those who stayed back in PDP where they were democrat if they could run away from PDP like he was he was my contender for this position they had to run away with the governor to go and capture another party what we have in PDP cross river state in rural democracy as we speak they don't even allow us to come out to contest elections on their platform the only platform rural elections contestations are going on is PDP in cross river because we have allowed a level playing field for everybody on test why they sit there and wait for their inferno to be checked to them when to do and where to zone what we are using with the people allowing everybody to contest so that he can get the support of party members across the state that is how democracy is around that is how democratic parties are around okay let's move away from the issue of zoning now Mr Eba this question is for you there was a youth summit that held in the state over the weekend it was a very big event but then of course it got a lot of people talking when we saw the advertorial for that event it was cross river youth summit but then many people who would have loved to attend the event saw the apc plastered all over the events venue the stage we saw people wearing dressed in uniforms with ayadeh and talking about the apc so i just want you to clarify was that an apc youth summit or was it a cross river stage youth summit please explain to us what that was yeah for me no no no it's for mr eba a ruling party can you hear me yes i can hear you when a ruling party is in the states and you have under mr eba are you still there i think we have a connection do not operate on mr eba are you still there can you hear me i can hear you very well can you hear me we lost you for a second can you hear me all right i'm going through the same question to missy came um we we saw the event i'm sure you saw the event it was a youth summit for young people obviously in the state but then there were people who were worried about the fact that it became an apc event which somewhat had made people who were not necessarily members of the apc who wanted to attend to take a step back um do you care to comment well just uh some of the misinformation and um this great school thing they are doing in the state out of desperation to sustain they are very failing but they claim that they had a cross river state youth summit when we decided to have our own event which was the flag of they now decided that what they had was an apc youth summit and that we should not have two political party events at the same time in the city of calabar because it will bring conflict it was on the basis of that they used the police to attempt to frustrate our flag up when i talk to the commission of police i made it very clear that the summit that he was claiming to be an apc uh occasion actually a bipartisan multipartisan occasion how did he become an apc summit so i'm sure that you would with dismay as they try to turn what was a cross river youth summit into suddenly becoming an apc summit but the whole idea was orchestrated to make it look like a party mentioned that they could stop udp from holding their flag of rally that was built for that day but would the commission of police had himself approved the force to create justice has been approached and reached into so you can see the desperation with which they are trying to run their failing party we are nobody we know that the people are with us and we demonstrated on that day with people's power they couldn't stop us from doing our rally and we had a massively attended successful rally and today their problem now is that it's actually going to be a weekend who was invited attended and presented class to our flaggerat today that means weekend is running cross university it's a shame well um there are people who wondered also why a governor would be at a local government congress where it was not necessarily a state primary or anything they were wondering why there was a governor at that event why why was governor wike even there in the first instance out of curiosity the election is critical to us you know you know the second turn of the party in cross university a party that has won all these major elections and only make a mistake they start to take and so and so reclaiming cross you could not do that with the past two governors you had the former governor donald juke uh senator lily mocha and other pdp stalwarts you needed a governor yes i know i know i know i know but what i'm saying why did you need a state governor at that event did you what statements were you trying to make with that state governor he had been inviting people to reverse it from across the country to commission are you not aware when did this country become the bad guy so that you cannot go to a change a political event in another state of gold i don't understand what that means interesting you were not the only one expected who were expecting of the autumn if you look at our invitations look at our our billboards and we're expecting of no attention we're expecting okay okay let me go back to mr bathe we lost him for a bit but i think he's back mr bathe can you hear me thank you very much i hope you did not bring us to listen to vena she's well you went out for a while and we're trying to get you back but i asked you a question and i want to ask that question again the event that we saw was supposed to be a cross river youth summit somewhere along the line we saw a lot of apc flyers apc flags people wearing iad a um t-shirts and and all of those things which also made people wonder people who would have wanted to be part of that event but for political reasons took a step back so i want to ask you what was the idea behind these youth summits and what were you trying to achieve at what point did it become a political rally it was cross river state youth summit okay and don't forget perhaps the one you saw was when we came live at about 3 p.m that youth summit started at about 11 o'clock where cross riverians are cross party lines excluding the pdp alone because what the pdp we have pictures and videos from that event and that's what i'm making reference to we have pictures showing the youths with pdp flags with we saw videos of trumpeters and musicians wearing the iad a t-shirt and apc logo on it so if that was a youth summit for example and i'm from apca for example and i wanted to be a part of the cross river youth summits and then i go there and it's apc all over the place why would you think i would want to step into that event it was a program meant for all youths i was in that program i was there as chairman of apc and i went there with several thousands of apc people to say thank you to the governor people from other political parties were there if you were thinking about the average cross riverian who was a young person and you were trying to reach out to them why did you need to make it at some point become an apc event i'm still asking that question why was there a need for it to become an apc event the dominant political party in cross river states so because it's the dominant political party every other party is not welcomed what is the people of the pdp the apca our labor party showed up with their own flags because it's a youth summit and you know they're also a party they feel that in the garden of every 100 youths if i need cross river state and don't forget when the governor was giving appointments what the governor was putting food on the table for people he did not just do it for apc he did it for other political parties including people in pdp so they came in their different colors to say thank you after holding that summit and what was the target of the summit to say we are saying no to the interference of some empires from some state important political cannibalism into cross river state don't forget on the third day of february pdp had a primaries which resulted in bloodshed don't forget on the fifth day of september 2020 with lost lives in cross river state on the top of pdp primary what does this have to do with the question that i'm asking you i'm sorry you're diverting to something else i'm bringing you back again i'll ask the pdp chairman is on the phone he just said that they had their state local government congress on the same day and before then they had gone to the commissioner of police and informed him that they were going to have this event at the sports club on the maritala mohammed highway but then on the day of the said events the commissioner of police says well you can't have two political events side by side meaning that your event was a purely political event for the apc please help me understand no no no at what point is this change from get it very well summit to summit that was to hold in cross river state was advertised as early as january in january even when anec had not released the timetable for political party activities so please get it very right what the commissioner of police decided to do was to foster crisis when he saw the number of banners when he saw the number of pictures of vehicles that were coming but he just told me sir that this was not a political event it was an event for cross revering youths but because your party's the dominant party that's why your flags were there right but me it was a summit of all youths in cross river exactly i am a youth and i came with over 10 000 youths from apc exactly to be part of that so how did the commissioner of police get to the get the information that there were two political events when you had just a youth summit while the pdp was having their local government congress that's one political event and another event for young people the young people political activities was dominated by apc the commissioner of police that had already given approval prior to the holding of their rally discover that calabar cannot host two political rallies in his own estimation even though it was meant to be a youth summit but i said it was heavily dominated by apc but why did the pdp choose to do their rally in calabar even when they know that they buy election flag was meant to be in apc with the pdp but i went to the multalamuhamed highway with a plan to block the highway so that delegates that were coming from the central and the northern part of cross river state will not be able to enter into the stadium i'm sorry how would they block the express when the sports club is not on the highway it's by the highway please unfortunately the sports club is by the highway is by the multalamuhamed highway it was blocked until the police intervened and came with an armored personnel carrier and they were jumping to the fence even when the place was barricaded but i'm not yet to speak for the police the police should take their action but it's a signal to the inspector general police to the chief of army staff to heads of our security agencies that these lazy people are not prepared for election all right we have you can imagine we have a rally today in ukulele if the SS cautioned them that our campaign has been on for more than one week okay there came a 50 timetable to conflict with our own campaign today in ukulele but i have been cautioning my people saying please when they come with trouble just avoid them because we are waiting for the 26th of this month don't know who which party is the party to rely on the cross party i will put them to a share because 26 is just by the corner we have to go mr eba this conversation has to continue some other time unfortunately time is not on our side apologies apologies because we have had many breaks from you because of the internet connection but we want to thank you time is not our friend vanashas became is the state chairman of the people's democratic party alfonso's eba he's the chairman for the cross river state or progressive congress thank you so much for speaking with us gentlemen unfortunately we have to go now well thank you all for staying with us we'll take a short break and when we come back we discuss how the possible refusal of president bohari to assent to the amendment amended electoral act bill they spell a later time for the elections for 2023 we'll talk about it after this break


pronunciation challenges students face in China. Every learner of a foreign language may face pronunciation problems now and then. Languages that belong to one language group have more in common in phonics and are usually easier to learn to pronounce correctly. But such languages as English and Chinese are so different, that Chinese learners, and I bet English speaking learners of Chinese too, often have many difficulties in pronunciation. State of the Problem I have been working in China as a teacher for more than six months now. When I arrived in this country, I hardly knew several words in Mandarin. I was hoping that won't be a problem, as I had traveled a lot before, and my English knowledge had always been enough to communicate with people I had met. I was surprised that very few people whom I met in China could speak English, and when someone, usually young people, spoke to me, I could hardly understand them because of their pronunciation. I don't want to state that most people in China have pronunciation problems. Actually in six months of living in China I have you met five people whose English was music to my ears, all of them were experienced teachers with good careers. When I acquired some experience in teaching English at kindergarten and primary school and also improved my knowledge of Mandarin, I could better understand the reasons of pronunciation difficulties and think of the ways to help Chinese learners solve those problems, though I won't be able to mention all of them in this essay. I'll try to describe what I've come across most often. Common Pronunciation Errors 1. Adding Chinese Sound It sounds more like English a neutral sound or sometimes like or to final consonants in words. For example, I have often heard doka for a dog, snicka for a snake, read for red, etc. At the reason for that is that in the Chinese language most of the syllables end in a vowel sound or a diphthong, and it produces difficulties for Chinese learners to make a stop right after pronouncing a consonant sound without adding a vowel to it. To help kids cope with this problem I used stop gestures, arms crossed, to show that the word really stops at the consonant. We played games like who can say it correctly. Said the word with a clap together, one syllable word, one clap, two syllables, two claps, and the one who made a vowel sound after the clap was out. Kids enjoyed the game and then began to correct their fellow students when someone added vowels to final consonants of the word. 2. The R sound problem Many English words containing the R sound present difficulties to Chinese learners because this sound isn't represented in their native language. With small kids, we learn to pronounce this sound by imitating animals, tiger and lion roaring, R-R-R-R. With primary school kids, we played car racing, who could longer and more correctly say the sound, R-R-R, is the winner. I also thought of a team game, I made racing car pictures, one for each team, and stuck them to the board where I draw squares, start and finish like in Snakes and Ladders game. Kids of one team could only move their car when they said the sound correctly. 3. Pronouncing long words can also present difficulties to Chinese learners because most of the words in the Chinese language contain one or two syllables. I used TPR, claps, to teach multicellable words, and divided long words into meaningful parts if possible, explain the meaning of each part, practice pronunciation of each part separately and then the whole word, for example backpack, everybody, whenever etc. 4. How to correct pronunciation problems There are of course universal methods that can help acquire correct pronunciation, listening to English videos and movies, singing songs, visiting English speaking countries to practice the language. The main thing here is to practice, trying not to be afraid of saying something wrong. I often observed this psychological problem while teaching in China, but I won't dwell upon it here as it's actually more of a psychological and social topic. Teachers should motivate their students to speak at more in class, watch English movies with subtitles, pay attention to articulation, try to repeat words and phrases. Creativity, motivation and of course a personal example of correct pronunciation are the keys to solving any pronunciation problems. Learn how to teach pronunciation effectively. Speak with an ITTT advisor today to put together your personal plan for teaching English abroad. Send us an email or call us toll free at 1-800-490-0531 to speak with an ITTT advisor today.


Belarus deploys tanks to border with Lithuania. Belaruskihajan, an independent Belarusian military monitoring project, has reported that the Belarusian army has deployed at least 10 to 15 tanks and other armoured vehicles to the border with Lithuania. On the night of the 6th of April, a train carrying at least 20 pieces of equipment belonging to the Belarusian armed forces arrived at the Gugogai rail station nine kilometres away from the Lithuanian border. The equipment included at least 10 to 15 T7B slash B3 tanks, armoured personnel carriers, infantry fighting vehicles, and MT and MTLBs, a multi-purpose fully amphibious tracked armoured fighting vehicle. Belaruskihajan reported that the equipment that has been deployed to the Lithuanian border belongs to the 120th Brigade of the Belarusian Armed Forces, which is normally stationed in the Uruchia district of Minsk. The train set out from the area on the evening of the 5th of April. Previously, soldiers of the 358th Separate Mechanised Battalion of the 120th Brigade of Belarus sent toward Lithuania. The Ministry of Defence of Belarus said that the equipment is aimed at checking the combat readiness of the armed forces of Belarus.


Five English idioms from the five senses Number one My sister and I just don't see eye to eye Don't see eye to eye means we don't agree You can use see eye to eye for agreement or disagreement in general Or you can use on plus the specific topic of agreement or disagreement for example My brother and I don't see eye to eye on politics Number two It was so quiet. You could hear a pin drop This means it was extremely quiet This is a picture of a pin If a pin dropped onto the floor it would make very little noise It would be hard to hear the pin drop unless the room was completely silent So the expression it was so quiet. You could hear a pin drop Emphasizes that it was extremely quiet Number three Something about that opportunity smells fishy to me Smells fishy means there is something suspicious or potentially dishonest Fish has a strong smell and many people don't like the smell of fish If something smells fishy, it seems suspicious like maybe it's not completely correct or true You can also say it sounds fishy or seems fishy Another idiom to say you suspect something is wrong is I smell a rat Number four. I think my favorite basketball player is losing his touch Losing his touch means he's not playing as well as he used to in the past His ability has decreased You can use this idiom with any activity not just sports Number five beer is an acquired taste for many people Acquired taste means many people don't like beer the first time they try it But they learn to like it over time You can use acquired taste for other things such as music Activities books, etc. Not just for food or drink Thanks for watching English tips from espresso English. If you liked this video, please share it


Hello. Good morning. Oh, now what's your time? Oh, it's 1pm. All right, all right. Hello participants. Here we go. So hello, Jens. Yes, good. This your first participation on Serverless workflow? It is. Yes, it is indeed. Do you want to be associated with any company in the attendee list? Yes, we can do it. Let me just quickly type it. Here we go. That's the one. Thank you. Oh, I forgot. Who's behind that abbreviation? Ksank1, Ksank1. Kasi. Ah, Kasi. Yes, thank you. Thanks. Hi. Hey. Okay, and we have. So, Tyomir, do you happen to know if Ricardo wanted to join? No, he mentioned today he had an ear infection, so he's... Oh, bad. Next time, hopefully. And I have an excuse from Karina. So, yeah, we're good. Okay, so let's start. Any community questions? Yeah, in general. So questions are best to ask on GitHub issues. Is that how you do things? Because at the moment we are looking at the specifications, there are a few open questions. I mean, it's version 0.5, so questions I'm assuming I expected. Yeah, I think if you claim particular fields of the specification that you have questions to, it's easiest in writing because you can refer to the lines, you know, and also if you need general guidance, feel free to ask any questions now. All right. Yeah, we just more or less started this week to have a look at this stuff. Looks interesting. There were a couple of questions. Yeah, then the Go Leng SDK, we found a couple of issues we raised so far. But if the general questions are going into GitHub as well, then we're just doing it that way. Okay, yeah. Thank you and welcome to the specification effort. It's great to have you about. Thank you very much. It's an interesting concept, I must admit. Okay. So, KubeCon call for papers is up. I think there are two weeks left if anybody wants to send in their application for KubeCon talk. And then website update. I'm not sure if we have collected any feedback so far. If so, they would have appeared here in the issues. Now there is no the ongoing one was the move to Netlify. I think we presented it in the last community call and I really like the design it's it's very good overview. But just one thing now that I got Karina's excuse for today's meeting. She mentioned a YouTube channel. She hasn't been on the meetings for the last two weeks. But have you received any information on that? No, never mind. The domain like serverless workflow, I mean the email serverless workflow at gmail.com and I happily share would share that and then we could use that to create the YouTube channel. Okay, the community password, you know, for for people that want to maintain it. So yeah, not nothing from Karina but yeah. But that will be really nice to do I agree. Yeah. Are you aware that there is this key vault solution that a CNCF is using for projects to maintain secrets that are community owned. Okay, then I can I can look it up and send you the project roadmap. Have we collected. Sorry, I'm not up to date with the issues crazy day. Let me just put it on the page up. We also had John join hi John. Hi John. Hi. Do you want to be associated with any company. I'm from Microsoft. Yeah. Okay. Welcome. Thank you. Okay, yeah, I think the big issues that we have is not issues. I think it's reflected in our issues list. What is the chase and patch schema support. Yeah, the record is not here so we can discuss it probably next time. But in there. Yeah, I added the workflow compensation. So that's a big thing. That's a big PR that I would like everybody to take a look at and we'll discuss it later if we need to. Last time I mentioned the cloud event subscription and stuff that they're adding to their specification, which I think would be very nice if we can use and figure out how the best ways for the workflows to to utilize it. But yeah, we'll more to that. Next time maybe. Do you want to say a few lines about the compensation. Yeah, if you want to. So recently we have added or updated the air handling and the retries. And I've created that video demo and we can link it. Yeah, you can click on that link you can see that better. So air handling and retries is per state, but we also compensation deals with like this does undoing or reverting the work that has been performed by a number of states, and has been successfully performed. So very typical scenarios for that is let's say we we like you can you guys can just read that and see some good examples and and stuff but this is a very important feature for workflows and compensation allows you to really do some really cool stuff. And when I was working on that I figured that it really fits well with our workflow language, and the way I've tried to define it here that please you look at it and read it and give your comments really fits our language already. So this is just another feature that we wanted to add to our language for users to be able to do. Compensations can be triggered by either transitions or and definitions and there are some rules about states there are compensating states and stuff like that all in the PR as well. If you look down there are some images as well that describe how compensation should be executed and things like that. What happened to the workflow data with that revert to the step that it points to so that it. If you go down, you look at the pictures I think you'd clear more down. So let's a little more down. Sorry. Alright, so let's take a look at this picture. This kind of describes it if you want to talk about it so workflow has its control for logic this is shown by the blue states and the start and the end definitions. These are the states that are defined in our states array, and they're part of the control for logic, the ones with the red border of ones that have already successfully completed. So at this just an example when we come to the end definition or the orange circle, we want to actually compensate. So we have a flag in the end definition called, I changed this I need to update this image you just go compensate not compensate before I need to update the PR sorry. And at which point we want to compensate the already completed states, which means we go in reverse order, and we first are going to see the East State, which does not define its compensation so we doesn't need to be compensated so we go to D, and he has one state which is meant for compensation so that will be executed, and we go to be, which has defined to compensation states, and then a dozen C, even though it does define a compensation state cannot be compensated because it was never active during workflow execution. And if you scroll a little bit down. This is the actual, if we look at the workflow execution logic. This is what compensation does it basically goes from, you know the states as he would complete it and then the gray ones are the ones they're compensated in reverse order. And then after compensation is done, we continue, either, if it's defined via transition to execute the transition, or if it's defined in an end definition to end workflow execution as they help. And I know it's a it's a kind of hard concept and it's it's it's pretty complex at times or can be, but it's actually pretty simple so I'll give you guys time to look at it and think about. Something similar to the saga pattern. Actually, that is saga pattern is a buzzword for compensation. Yes. Okay, great. That is this one. So how was how are the states defined maybe you went through that but let's say that you will go through the states, what are the deciding state. If you apply for all the compensation, is there a sequence in which we define the competition of something fades do we retry doing a compensation. Definitely. That's one part of the one of the bullet point right in our agenda today if we have time. I did create a demo that shows air handling and retries. As far as that goes and I can show it today if you guys would like to. But compensation does not have deal with specific errors. The air handling is in service workflow per state. So it's each state defines his own air handling and retries compensation is more an overall workflow level where you want to undo what has been done. In some cases so it's a business logic decision, not triggered by events. So it's not a data. So it's not a dynamic you have to specifically say that based on your full control for logic in your, your, your execution at this point you want to actually change compensation. So it's kind of related, but not really. But yeah, look, take a look at it maybe next week we can, we can get some feedback if people had time to look. And then to the next bullet, I mean, yeah, there's subscriptions but also workflows can produce events. So question is whether the workflow should also be registered in discovery API then as a producer of events. Okay. So handling and retries for service calls, which is the next bullet point. To do that today. Right now I'm not sure if we should discuss incubation before or after. I just put the, I mean, this is an ongoing topic. So maybe the only thing I added was the link to the graduation criteria. And then before we apply, I think we have to check those. And then, yeah, so this is ongoing. And then, yeah, we can actually do that. I love to. So I noticed the video you put on the on YouTube and referenced in our slack channel. That's the content for today's hands on right. If you want to, we can go through the peers first because I think two of these PRs can be merged if we agree on them already.  So I rather get through those first. Okay, yeah, of course. So this one is, yeah, let's just look at this. I put small changes say, I put the some small warning. And, yeah, I added the community. This is just an ordering. So people see our community select channel first in the list of communication. Instead of contributors support community contributor, there's made the wording a tiny bit better. And I put the independent group first, not because they're more important or not but to show community that yes you do not have to be associated with a company if you want to contribute to our project. So just show up front hey there is a list of independent contributors. So people don't get discouraged because not everybody wants to be associated. It's own category. It's not the company independent that lines up with the company names. Let me clarify that that's a good point. I'm sorry. When it comes first, I think it's clear. Yeah, this one, those kind of changes we used to have a different work mode where we just would merge them, but yeah let's formally do it so that's 190 any objections to merging this, I'd say this was approved. Next, the adding patient onboarding example that's the one we've seen a coupon for those of you who have attended our office hours. So I think that's also pretty clear. Yeah, I need to update it just Ricardo found some problem with an image so. It's just the same example we're going to look at that today to the patient onboarding thing. And he made sense to edit in our examples as well. I think for the future what we're going to start doing is is for each of our examples. We can talk about it in the future have actually a run, maybe not part of the specification itself but have a link to an image which is an executable you can deploy it and run that particular example. So people don't have to stare just to the Jason or YAML but can also run it as well and test it. And that's just an idea for a few. I would include one reference platform to run it. Yeah, we'll pick just an open source one and just a Java based one that I'm also using locally but it doesn't really matter as long as it's runnable and people can play with our examples and not just stare at them, you know. Yep. Same thing since we're not doing platform itself. But okay. So the addition of the patient onboarding example, any objections to watching this. Okay. So poofed and the last one. No, that's, that's the open PR workflow conversation right and yeah okay this I'm going and we'll leave it a little bit more time because it's a spec change is not just contributors or the examples page. So this is, yeah, it's a little bit more time. I agree. Okay. Then we're through with the PRs. So we have the demo then they are the deep dive so the hands on our handling and we twice for service calls. Okay, I'll try to share my screen and see if I have stuff running. Is that okay or if before anybody wants to say anything. We're going to use up all the time then probably. I really don't feel and we also had Malik join hi Malik. Hello, can you hear me. Great. Yes. I really like them last week last time's demo that was really nice. So is that what you're saying you're going to make it as a something like runnable. It is for every example that we have so we don't want to just have examples that are like, yeah just there, just text in the future for every single one over examples we wanted to have an image built for it that you can deploy and run easily. That's good idea. I think that would help the community. Yeah. And make us more look viable just throwing out some Jason at people you know. All right. Make sense. Do you need to stop sharing for you to be able to share. You have to stop. All right. You guys see the screen, I guess. Yeah. So, so what I wanted to show is recently we updated before version 0.5 release era handling, and we also added retries now you're again here is a, you know, and others are also working on adding more stuff to retries and stuff like that. More parameters so that updates are coming, hopefully. And, but this is just what we ended up doing is we revamped era handling and retries to make sense. And this is just an example, usually typically I write all this workflow from scratch, I really don't like it now, but just to show you guys what it is and the picture is not really much more helpful but is still show something. There's basically a workflow here that onwards a new patient. So, the way in this demo that I've been kind of using it does we have an event state. So, in, in serverless workflow when you define stages for people that might be new, each state has type. We currently have nine different state types. And if you guys see the cube comp presentation, I don't know, but long story short state is basically we do explicit control for logic in serverless workflow, where we define with the type you know exactly what type of control for logic you're dealing with so if we have an event state, just by just looking at it you know you're dealing with events and something consuming events in this case and performing some actions. So long story short, the start thing I'm just going to go for people that might be new. The start definition each state can say define a start definition, which means it's his first eight days executed. When workflow instances created in case of event states however they're also starting states workflow instances are actually created on arrival or consuming of a new event. So when event of new patient event is consumed. Right. And this is a logical name, you have your event definitions below if you have questions on that let me know. So in this case we're saying when new patient event is received a workflow instance is going to be created. The first state is going to perform three actions in serverless workflow and action corresponds to an invocation of a distributed service. For that we see here either can be done sequentially or in parallel the default for action execution is sequential so we don't have to particularly define it here. But you can define an action mode here if you want to do it in parallel the default this is sequential so that's why we don't define the action mode here just FYI. So we have three particular actions, each one references is a function definition so to onboard a patient. We have to store the new patient assign a doctor and schedule appointment. And if you look at some of our other videos and stuff you will see that we use the open API specification for restful service invocation so we have this I'll show you guys here in the function definition, the path to the actual open API Jason or YAML if you have that it's fine. And the unique operation idea of the particular operation of the function is to be. Now that was the first demo so I would fire up. So you said the events you were based off the cloud on the action that action type. The type is the event. And there are nine different types you said is that you based off the one of the discussions you said about the cube con event right.  Now you said there. We just decided on nine or because of the standard that you said from the cube con. No, we have nine because that's the nine that we have defined. We can add new states if you make sense further down the line for the specification. Initially, we've added things like event state we added a call back state we added a switch state, and things like that from, you know, so, as we involve the specification to version 0.5 added more control logic blocks that can be expressed we added more states or language we added more states so there is not a set number of states. In the future if we find that there is a particular control for logic thing that we're not covering by the language you can definitely add to it. Does that help. Okay, that helps. So anyways, what I would usually do caps look is great. I didn't start the thing great. Let me just start so basically what I what I have the way I describe your handling and we'll get to it. In cube con and stuff like that I didn't show off your handling I would just have the entire application that runs the workflow and the three services running the same application. There was no error checking. This fail basically the service worker language says they've any exception during workflow execution happens a runtime exception that is not handled by the workflow workflow executions and stuff. So in case my three services were not available during that presentation I was pretty much screwed more or less. So what I would usually do is just go to local host 80 type in a new patient information trigger a workflow by sending a cloud event to my MQ MQ TP broker. That would trigger an instance of my onboarding event and I will just simply call these three services sequentially and get some results. So we have five applications as we all know and we're trying to make this working on them every day. This is a demo only, especially since service work will says the world language that targets distributed event driven and distributed orchestration of events and event driven distributed services. So we have to deal with airs, no matter what for if we deal, you know, anything outside of demos. So we also have to deal with recovery. So the way I've extended this demo using a serverless workflow languages. The first thing that I've done is add air so let's say right now what's happening is my services here are not available so you know, they're not running currently. So, once my workflow here tries to actually invoke the store new patient service, it's going to get a 503 service and available error from the HTTP server right. And how do we deal with that. So we have an on errors array as the specification defined where you can define one or more error definitions. Each error definition has an error parameter. And this can be used to be mapped to certain extent exceptions by the runtime. But it doesn't have to be can be a completely logical name. And we also have a code parameter, which can help runtimes to map the specific runtime exception that it receives to what the workflow defines. And the runtime that I'm using here does exactly that in case the resting location. It's going to hold on to the actual HTTP response code it gets from the server and propagate it up on its exception chain and allow me to map my actual 503 error to the actual HTTP response code that was get sent back by by by the rest invocation response. And that's it. Once we have defined the error, we can either say okay if we are defined or catch this error, we can say okay we either want to end workflow execution. You can also define a transition of course, where if you catch this particular error you can transition to different parts of your workflow to know how to handle it for this demo. I simply just ended the workflow. That's okay catching errors. It's, it's a must in any workflow language, but now with especially distributed systems, we want to recover from them. What does that mean well in this particular case our services are not available. So we added a retry definition. And what does this mean, we want to when we catch this air. We issue retries and we'll look at how we do that here in a second. And what does it mean we want to periodically retry the invocation of whichever one of these three services fails. And once if we're actually successful. So we don't get this error, we want to continue. So let's say the store new patient information services is up we performed it. We want to assign in the doctor and that services down at that point we will get a 503. We would retry this particular service as per our retry definition. If we are not successful, we will just follow this particular transition to ending the workflow if we are successful, then we would schedule the appointment and then transition to the states and definition, which is again ending the workflow. That's, that's kind of like what I wanted to show in the demo if we look at our retry definition or retry definitions are reusable, meaning that you might have multiple error definitions they want to have the same retry so it makes no sense to put them all over the place, again and again. And in this case we give a retry definition a logical name which has to match this one of course that we're referencing. We have three parameters and we'll improve it here and I'm not an expert on retries that's like your again the other guys are going to look and can explain anything like just to show there is like multiplier and jitter and I think more than we have in the future, but simply from, you know, we have a delay which is this is a duration format pt3 s really means three seconds. So we here define that we want three seconds in between retries and the maximum number of attempts that we want is 50 in this case let's say you can define whatever number you want here as long as it's greater than zero. So that's pretty much it so in this case what we have is we catch a 503 error, we're going to issue retries. And if we're successful we're just going to complete workflow execution and if not, we're just going to go ahead and end it. So I kind of played around with this I removed the some of the system printouts blah blah blah it doesn't matter, but you know I don't know if this is actually going to work I haven't tested this in a couple days but I hope so. So let's say we had a john a patient. I usually use this we're going to start a workflow instance. The services are down right so our workload should be doing our retries now. And let's say he has chest pain so I'm starting a new workflow instance. And my services are not running right now. So our workflows are every three seconds trying and retrying and trying to retries getting a 503 issuing a new retry. So what I'm going to do is start my services back up. And just to show you the retries kind of work I hope. So now what happens is, if you see we added two new patients so our workflow retries have tried and once the services are back up the next retry was successful. And if we update the result we see our work losses on board at both of the patients. So that's kind of like an example that with serverless work we can easily define air handling and recovery via via retries. So that's really all I had any questions. No, I mean, the only thing that I still haven't mind since before cube con is the, the use of code and the name and whether or not this could somehow be used to refer to response object ID in the open API is back on these sort of things but Yeah, but if for this one time I'm using this mapping it's already done for you at some runtimes, they might have you have some specific mapping that you have to define but for the one I just for HTTP like you said you know you you actually gave me that idea. So we just added that hey it's actually your response code just propagated up and don't force the user to map those but for others. Yeah, there is mapping necessary. Any questions. And thanks again to me. Um, that was really cool to see in in action. It happens a couple of times that your microservices are just not up and able to receive the call. I mean, unless you're using an English solution like native or. Yeah, I mean, this is really cool to have some error handling demoed and Okay, so the issue on the Jason patch came out we cannot discuss this week is Ricardo is up here but Is there anything that we have. Yeah, let me get to the last point is there any other business for today's meeting. No, then I believe we can close early. So yeah, please go ahead. I wanted to just ask like I know since we have a couple of new people here. I think we're always interested interest to know okay. From what type of industry you guys are looking for a serverless workflow language and what kind of situations that if you're willing to share and if that's okay. It's cool to hear those things because it helps us out kind of understand the community in general that's around the specification. I mean they can start quickly. Just a short one we found this. This is working from start. Yes. And it's okay. We saw this two weeks ago and we found that basically by accident is a little still a little bit hidden. Yes. And at the moment we playing around. Yeah, just to give you the state where we are we just playing around and we just read this back. And we're trying that's why I asked where can we ask questions like and or get up. Some things are not clear to us at this stage, but we just by gathering gathering all these questions and, and yeah, I think firing them off.  That's the goal. Yeah, and we would use it most likely internally at this state. Thank you. Cool. Yeah, I mean, just to share like currently we have a couple of business automation. We're just looking at this and, and, you know, that's as far as the information I mean, if one of the things we're looking for is to promote the specification so if you like it of course please give us a star. And in the future we hope that we have on our website a section of different companies that and how just a generic thing like how they use the specification that's a big thing for us, whether you actually use it or not if you have something to say that would be great to promote it for the specification to grow the community so if anybody here that has been here for a month or just joined feels okay with sharing some whatever information about how the what they're thinking about it or how they might use it or using it. Please share that with us and, and if you did something that you feel comfortable about us, maybe using as a somewhat of a promotion for the specification to help us out that would be great. This is Malik again here. I'm just to describe about our situation or what we're trying to do. So just before that I want to quickly understand at a high level. Is this you were doing this. Thamir, with your own interest or you're being tasked to do it. How does it work. I just want to understand the whole thing. Definitely so to kind of understand serverless workflow. It is a CNCF project. So it is completely vendor neutral, and it's completely platform independent. And that is what the specification actually tries to do. It is very similar to a cloud events. We actually are in the same working group as the cloud events team. And the specification came from the serverless work working group at CNCF. If you want to know my personal involvement here I'm a community contributor. I've been working on this on my spare time and we do not me or anybody else involved represents their company here. We do have a company as far as representation from the community involvement. It's completely not mandatory. But if this is a workflow language it specifies so it's a DSL more or less that we're creating. We're also creating an ecosystem around the project such as language extensions and some tooling support also the SD case for different languages. In order and the main thing that we're trying to solve is to have a vendor neutral workflow language in the domain of orchestration of events and event driven distributed systems. So we have a very niche target domain that we're specifying. So we're not trying to replace other workflow languages we're not trying to to say which one is better that's not our business our business is to be the best and have a specification that's used driven by the community, rather than individual companies to create a best language for this specific domain. So yeah, from my perspective I'm not doing this because I'm asked to I'm doing this out of fashion, and I think everybody else is involved is the same. Does that help. Okay. Yeah, that will help that helps actually yeah everybody here is just doing with your own own personal interest. That's what I am. My personal interest and the one thing that that is important about this project that I think, and maybe you share this thought with me or not and you can of course everybody has their own opinion but one important thing is that not, not only is a vendor neutral and based on CNCF or is a CNCF project, but this workflow language is fully community driven. So anybody anyone of you or your companies or anybody might have been later has equal rights and can contribute and drive our vision and it is not something that is driven by some companies where you must have like three years of attending meetings to even have a say, know we're a small community, and we welcome everybody and really that's how we work. Of course we have CNCF code of conducts and rules the CNCF of course provides but those are all limitations, as far as that goes. I do to quickly understand summarizing this, or I cannot summarize so if somebody can summarize that's great but what I want to know is the what would be the output of this is that just a specification that someone else will implement, or is that with some sample implementation that we will have this the serverless workflow, or is that somebody else the products will implement this once. The specification that defines the the workflow language or the domain specific language for the target domain right, we do not have a runtime implementation. Tomorrow's, you know, there are other CNCF projects such as Argo and what's other ones among the Brigade I think, and there are some many workflow runtime engines out there, they're dealing with many different kinds of workflow languages. The workflow language is is can be either adopted by the existing workflow run times, such as for example what we might know some people are even what I'm working at a redhead, that's what kind of is happening. There are other specifically, but it can also be adopted as the language for a new runtime implementation. But no, we don't intend to provide. There might be a default runtime implementation if there is a CNCF project that that chooses to do so, but we will not promote or make a default. We will always promote vendor, how do you say, run times, they use it on their website, but we will not push them in any sort of way, or no runtime, or one runtime can have influence on the on the outcome or the long term goals of the specification or short term really. Did you say that you are some somehow we had some discussions with the privatized cloud state.io. No. Do you do you know that there is an effort going on with the cloud set from the light band the cloud state something they want to define the event processing on the cloud. I'm aware of. Yeah, of the, of the effort so they had several cube contours is a very interesting several stateful serverless project. But so far they haven't come up.  So that's a little bit of the problem that we see is that there are purpose built platforms like tecton, for example for CI CD. Argo started as a CI CD tooling and has been used for more than that has a pretty neat custom resource definition driven a language. But yeah and then there is of course the Amazon States language for the Amazon step functions, which I think also inspired this language, but there is no independent from the tooling or from the purpose built platform workflow language that just tries to capture the orchestration I, from my company and Nokia bell apps research so that's corporate research it's not anything product backed, but long term I'd be hoping to have this as an orchestration language in the CNC if there is, I implemented by more than one engine. So there are sufficient providers or community support to have this as an orchestration language. Okay. I'm trying to understand how does this will fit in like will you be choose I know that we are planning to implement something that again I'm this is Malik from American Express. We have quite a bit of workflows internally like we use the starting from small workflow products to even a bigger workflow engines we use kind of variety of things, but we want to use something on the cloud that is for the functions to build something similar to it. We wanted to figure out, you know what options we have we are on the verge of kind of implementing either we have an option to go with an existing workflow engine and fit our functions to it, or retrofit our functions to work with existing engines. Or we can go with a newer approach using not to name any like we are still trying to figure out what would be the best implementation engine to use it for the cloud workflow. You can say so again we looked at cloud state it's still in primitive state. Netflix conductor is good as an implementation I'm just following to here I know that there's nothing to do with here but I'm just saying, and then we also looked at other competitive products. You're not, you know, finalized anything on that so by the way that's what we are trying to, as much as possible, see what options we have to contribute to come up with a know, maybe this solution that that you get trying to do it and then have one of the engine implemented. I don't know how to put this all together and how long it's going to take it's okay. That question I don't know the answer to that yet. That was nice thanks for sharing. Yeah. Yeah, yeah, I think I'm good classes also working on the same front. Yeah, I'm a great colleague so yeah. Yeah, from the same team here. So thanks for looking at us I mean, here, you know you guys can look at what we have as any questions contribute as much as you feel look at the things that you might see missing that the specification might not be implementing and then we'll definitely put those on the radar as well. So yeah, I mean, thank you and, and, yeah, if you if you want some comparisons we do have some comparisons to the, or examples comparisons to Brigade and our goal but it will be nice to also have a kind of comparison examples like what we already started with with maybe some other work for languages that will help the community kind of take a look at those and and and be able to quickly see the differences the commonalities and things like that and make a good decision about where they want to go moving forward. Cool. And it's a matter where you said you have the comparisons for our goal and Brigade. So if you go to our specification project under examples directory, you will see three files so one is in the reading is also there. You'll see examples that MD which is the source workflow examples that we have. And then there should be examples dash our goal and examples dash Brigade documents. I mean under the end in the GitHub but the serverless workflow. Yes, sir. Okay, cool. Examples Brigade okay. Yeah, we'll be happy if you have some other ones work for languages. Bring him up raise an issue and we can start looking at those or if you want to help us pick examples and stuff like that and work with, you know, we can work on this together to create some other comparisons as well. Okay. Awesome. We, yeah, when we progress like next week or a week after we'll bring some more information to what we have done it here and I'll cause you'll be able to pitch in more here when we talk about it. This, this is, this is good actually. I went through to him or I'm seeing a name correctly went through your reference information. I've done an awesome job so far so. Yeah, thanks there is also some other open source Java most of the right now our Java based hopefully there will be some non Java based runtime soon that are implementing this as well. But thank you very much. Cool. Your again has been quiet today I'm scared. Just listening. Something is coming. Okay, that's great. Then, there are no more questions issues. I close today's call. Thanks everyone for sharing the last round was really nice. And hope to see you next week. Okay. Thank you. Thank you. Thank you.


I am. All right. So, hi everyone. So, good morning. I'm very excited to be here and give this talk. So, it's my first Philippine word camp and then also first time in Ilo Ilo also. And it's good since I almost didn't make it here since I was feeling under the weather a couple of days ago, but luckily things turned out well and, yeah, right now I'm here. So, my talk is about building with a new block editor in Stackable. So, just a little bit of info about myself. So, I'm Benjamin Nintal. I'm the founder and lead developer of Stackable. I have been developing in WordPress since 2010. So, my background is, my passion is all about software development. I've been tinkering around programs and development ever since computer monitors were still black and green. And then, so just creating random stuff. And then when I grew up, I started out in coffee shops just creating apps. Used to be iOS games and then client websites and then I discovered WordPress. And then, I got hooked. Started creating WordPress themes, tried selling them and then people bought them naman. And then, I soon moved to creating a framework and then moved to creating plugins and then stumbled into page builders and then lots of around 30 plugins after. Now, it's all about just one plugin, Stackable. So, what is Stackable? So, just to give you a short intro, Stackable is a proudly Pinoy-made WordPress plugin. It provides what we call page builder blocks for WordPress. So, we created it back in 2018. So, back then, Gutenberg was still in early stages of development. It was still in beta. And five years from then, so now, we're still here and we're still innovating alongside the block editor. Okay, so just a show of hands before we start. So, who here has built just a page using the block editor? Okay, so, there's a lot na unlike before. And then, who has, from those who raised their hands, who has built an entire website using just the block editor? Eh, good. There's a lot. So, that means for the others who lowered their hands, you stopped using the block editor. It just stuck to creating individual pages. So, hopefully, let's change that in this talk. And then, for those who didn't raise their hands, I hope you get to learn that you can use the block editor and the site editor too after this talk. Okay, so, what is our typical process when building a WordPress site before without using blocks? So, usually, what you'll do is you'll create, you'll install first a classic theme. So, and then, what you'll get is you'll get new styling options in your customizer. So, that's the usual process. And then, you go into the customizer and start tinkering around. And then, you figure out that it's a bit lacking or you wanted more. So, you go ahead and install a page builder. And then, now you have a page builder. And then, what you get is you get your drag and drop editor. And then, you also get a template builder. So, you get a new tool to build your headers, your footers, your archive pages, 404 pages and everything else. And then, you also get templates to make your life easier. And then, after that, you install all the other necessary plugins, your performance plugins, forum plugins, and others. So, sometimes, it's also the other way around. Instead of installing the classic theme first, you first install a page builder plugin. And then, the classic theme that you install is dictated by your page builder. So, for example, for Elementor, you install the hello theme. So, it's the other way around. But there's nothing wrong with doing this process. But this is what we call now the classic theme or the classic way of doing things. And it's good. It's reliable. It's been tried and tested. So, there's nothing wrong with this. But I think let's break it down. Why do we actually do this? Why do we go through this process and install a page builder and then a theme? Why do we need all of these things? So, let's break it down. So, we need all of these to do these because we need these four things. So, we need a drag and drop editor, template builder, templates and styling options. So, those are the four things that we really need. So, drag and drop editor since we want to edit content visually. And then the template builder since we want to edit our headers, footers, sidebars and widgets or archive pages. And then templates to make our lives easier. And then styling options so that we can change things globally. So, those are our foreign needs. And now, with the advent of blocks, WordPress Core now fulfills all of those. And all of these are now available in Core. So, the drag and drop editor that's now the block editor. The template builder is now called the site editor or rather, we have a new site editor for building templates. And then for templates, we have patterns. And then for styling options, we have the block theme. So, for block editor and patterns, I'm sure everyone here has encountered the block editor and patterns before. At now since it's in WordPress already and then you don't have to do anything to get it. But for the site editor, if you haven't encountered it yet, it means you have a classic editor installed. So, to have it activated or for it to appear, you'll need to have a block theme installed. So, what is a block theme? So, simply put, it just follows the new block way of doing things. So, if you install a block theme, you'll have, your customizer will get replaced. There will be no longer, you won't find your widgets area, your menu editor there anymore. It will just be all replaced with a site editor. So, now you have two ways of building things. You have your classic way using a classic theme and then the block way using a block theme. So, again, there's nothing wrong with using the classic way. It's just now we have a new way. So, how does the block theme change things? So, now we already have the block editor. So, we have a drag and drop capabilities already. So, we don't have to install anything for that. And we already have a site editor. So, we can edit templates now. So, we don't have to install anything either. But we do have to install a block theme. So, with that, we now get more styling options in the style editor. And then we also get new patterns and these are our templates to make things quicker. And then the next step would be to install all the other NSI plugins. So, if you can see, it's the same process except we skipped a few steps. So, after this, you can start right away. But the page builders in the classic method, they provide lots of new things, lots of shiny things like widgets and modules like car cells, icons, and other fancy things. So, you can supplement that back in by installing block plugins. So, you can get more blocks, more patterns, and more, you can build more things with it. So, one example is, stackable. So, this way, with stackable, you still get your blocks and patterns, but we also give you a more page builder-like experience so that what you are used to before, you're still gonna get that similar feeling and environment of a page builder, but inside the block editor. So, if you're not yet convinced so why you should use the block editor and block themes, it's, again, there's nothing wrong with a classic theme of doing things. But if you're looking for reasons why to switch or why to try it out in your next project, so blocks have replaced the customizer, widgets, sidebars, menus, so just think from now what else would be standardized or be replaced. It's a more streamlined experience since before, if you remember how you edit widgets before, it's a whole different interface from editing their menus and the whole other interface also from the customizer. So now, with the block editor, you have the same interface. They're all just blocks now. So regardless if you're editing menus or your headers or footers, they're all just blocks. So it's a very streamlined experience. It's also very dynamic, so it's not just put in some text and image and then that's what's gonna show up in the front end. You can also use dynamic stuff. If there are reusable blocks to add that you can add across all your pages and then you'll just edit once and then everything would change. And then also it's stackable, you can use all the other dynamic plugins like ACF, Metabox, JetEngine, Pods for your custom fields. And you also have block plugins. So if you need a type of block, like for example, a calendar, then just install one. And then what's good there is that it doesn't hijack your entire experience, it's just, it just lives inside the block editor, so it just extends what you currently have. So it's not, you're not installing a whole system, you're just adding in to your existing one. And of course, blocks are the future. WordPress has big plans for blocks and so far the roadmap has been followed. And for the next steps, soon there'll be rather, soon meaning years, a year or more, there'll be collaboration included with the block editor. So that means it's like Google Docs, but for your pages. So that's going inside in the next phases of the block editor. And then after that, there's also gonna be multilingual support. So there's, it's gonna be everywhere. So might as well start trying it now. So what does it look like if you're editing your pages using blocks? So there's just a brief overview. So you have two images here. On the top left is your page builder and on the bottom left, bottom right is your block editor. So it's basically the same, except it's flipped over. Your navigates, your navigation, your navigator, it's just now called the list view. And then your inspector is on the right. It's still the same. And you'll notice here, I have stackable installed.  So it's really a similar experience. Okay, so the last part of my talk is all about showing demos. So it's gonna be just short. So I prepared three short demos for this. So this is the first one. This is a typical website section. Now how would you build something like this in the block editor? So of course you can cheat here and not cheat but be optimized and just build the images on the right as one whole image. But for our purposes now, let's see if we can build this using just plain images, a button and some text. So how would you do this, something like this? So if you break it down, you can see that it's just, maybe you can put two columns here. The left column you have the button. The right column you have some images and then they're just squished together and then they're just rounded. So here's how you would do something like that. I think I can forward this if it's too long. Other. Okay, so at the start, I'm just building the structure of the blocks. So I have two columns and then I'm putting a button here on the left. I'll just forward this since it's a bit long. So I'm putting images also and now just to build it, I'm gonna soon duplicate all of these after I set the border radius. Okay, so now it just duplicate all of the pictures and then pick a different picture for each one. Okay, I'll forward this a bit. Okay, so for the next step, it's all about the alignment. So you just align all of the pictures to the right and then squish them all together and then to make them overlap, you just replace the margins and then make them negative. So if you are familiar with how to do something like this in a page builder, so it's quite similar. This is one of the ways that you would do something like that. There, so now they're all overlapped and then all that's missing now is to add the text, align them all and then add the background, almost done. Okay, so there. So now we have replicated the design using only the block editor. Okay, so as you can see, you can build something like this quite easily. So just imagine using this anywhere in your website. So that's also part of the, you can also do this in the header, footer, anywhere. So if for those who haven't seen yet the site editor, so this is just a quick rundown of how to navigate it. So you just click on the edit site and then you'll see the whole site editor pop up and on the left you have your templates. You can also click in the middle to start, go ahead and editing but I find that experience quite confusing at first. So it's easier for you to, or at least for me to navigate on the left and start editing the templates there. So you can add templates or you can edit all the existing ones or you can edit your individual templates. So your footer, your headers. So now I just clicked on the header to start editing it. So that's just how quickly it is. You can start editing with the site editor right away. So I clicked on the header here just to edit it and now let's actually start changing the header. Since now I have a blank 2023 theme and it doesn't have anything in the header yet. So I just replaced here the blocks with stackable blocks just to make it quicker but this is the same process. So I have a site title and the navigation. Those are core native blocks. So you just have to change the height and then to style them just add just sizing, sizing things to make them centered to make them look good. And then now you just have to change the background. So just turn it on and then just change it into a darker color. So not too dark so that we can see a little bit of the text still. And then for the site title we can change it into the site logo and then I have a pre uploaded logo here. And then for the menu, like before you have a whole other interface over here you can just directly type in to change the links or to change the labels of your menu. Okay, so we're almost done. It's just about spacing and changing the color. Okay, so that's it. Now you've already changed the header of your website across all your pages. In this sample that I have at this demo that I have I only have the 2023 theme and stackable installed so there's no other plugin but if I navigate through the other pages you'll see all of them have the new header. So it's just that easy to get started. So what else can we do? So this is the last demo. So this is the current post template that I have because of 2023. So I have my featured image and then the below it is the post title. So this is something very typical but what if I wanted to change it to something like this which is also something that we usually do. So you have your featured image as the background instead and then the title is in the foreground and you have it white. So how would you build something like this? So again, you go to the site editor and then go to templates and then the single template is the one you want to change. And then I find that opening the list view first gives you the best way to understand what's there. So you just create a new block. I'll add here a new columns block and that should hold the featured image and also the post title. So I just move the post title inside and because of that, we don't anymore need the featured image below so we can safely remove that. And then now it's just a matter of adding the background. So you just turn it on and instead of uploading your own, you have here a button for dynamic fields and you can select the current post and you have all of the custom fields available. And at the bottom, there's your featured image URL. So this means that we're using the current posts featured image as the background for this column. And then you can't see anything here since there's no current post but if you preview in the front end, it now changes into something like this. So it still needs a little work but you can see already that the featured image has moved to the background and then your post title is in the front. So you just have to add some tint and maybe change the alignment since it's a bit on the side to make it centered again. And then next is we have to make room and make the whole area bigger. And then I think I forget here where that's placed. So you just need to add some padding on the top or you can also change the height of the whole thing. So there. So now I'm changing the paddings and now let's see what this looks like. Oh, not yet because I haven't changed yet the text color. So just make it white and now let's see what it looks like in the front end. So from here, now we get this one. So it's just something that's much nicer. Okay. So again, all of this, this is just built using a block theme which is the default theme and stackable. And now you can see it's a completely new website. And if you go through it and change the footer and all the rest, change the archive pages, you can see that you can completely change everything. All right, that's it. Thank you. By the way, if you want to get started with stackable, we have for everyone here in WordCamp Iduilo, a 100% off for your first year.