holy cow that's loud all right well we'll get started on time then right about 1045 all right so hopefully you're in the right place hopefully there's a clue that you're in the right place that you can see so welcome this is we're gonna be talking about D8 migration specifically the migrating core modules as well as extending them so that if you have a customer contributor module that manages some data we're going to talk about how do you actually write migrations to get that data from D6 or D7 into D8 so we're gonna talk we'll do a real quick overview of migrating core we'll talk conceptually about how migrations work and then we'll do a real world an actual example all the next three hours so we're in good shape all right so I'm Mike I'm a Drupal trainer and consultant based in Florida you can find me usually in pound Drupal migrate you know most eight to five eight to six sometimes in the evenings East Coast time you're interested and we have Keith I'm Keith DeChant I work for metal toad media in Portland Oregon last fall I launched my first production D8 site including a migration of most of our content from our D7 site which is one of the first times that I've been done in production right wheel I'm based in Montreal I have a small consulting agency and I've been traveling around the world a lot I'm helping people at sprints get started and working on my great so I do a lot of D7 migrates in my day life Ryan has a travel problem so you're taking a break this summer only one city I think all right so this is perhaps the most important slide is I think it's important for us as far as some of the later slides to know who we're talking to so if you do show hands how many people are contrib or custom module developers all right fantastic and then how many people have cracked open D8 and looked at okay fantastic how many people are familiar with the D8 plugins all right few less all right good shape good shape how many people have actually coded in D8 okay there are a few less and then I we're gonna assume there's some people here who just migrate curious who are familiar with the D7 migrate module but haven't really looked into the D8 migrate module or just trying to you know using this as you know kind of that first you know step into D8 migrate you raise your hands again all right good so it's about 50 50 right maybe a little 60 40 and then anybody in the wrong room because now's your chance we won't judge you all right no fantastic all right so let's do a little background let's get everybody up to speed real quick so migrate and the Drupal Drupal data migration modules have been completely rewritten and moved to D8 core so if you're familiar with the migrate and Drupal Drupal data migration modules in D7 what we're gonna be talking about today is you'll see that the these modules are radically different from a code standpoint and from a scope standpoint in D8 but conceptually as you'll see a lot of the same concepts apply so and I'll just give you a little preview if you're familiar with D7 migrate you know you have to set a source you have to set destination you do your field mappings and then maybe you want to massage the data we still have all those same concepts I guess it'd be hard to do a migration if you didn't have those same concepts in some cases we call them different things but they have analogs in D8 the big change and hopefully everyone in this room you know knew this coming in is that D8 migrate modules handle configuration as well as content and that's ginormous that means that we basically can point migration D8 migration at a full D6 site and our destination D8 site can be blank and we're going to migrate content types and fields and field settings and blocks and block settings and you name it it's you know if it's in D6 core cck link email phone might be a couple other modules user and node reference might be a couple other modules if it's in those modules in D6 well we can get into D8 we also bring in the it and modules that were in contrib because those modules are essentially now in core so we reach back into those as well so there's some exceptions that are actually outside of core that you wouldn't expect that are also there right so that's that was a huge change and a lot and frankly a lot of work to you know migrate configuration into into a D8 all right so if you you know clone D8 or download one of the betas and crack open core slash modules you'll see the two migrate modules so Keith you want to talk about the current status right so most of the work for the D6 to D8 migration path is done we're working on mostly bug fixes at this point that is something that we're definitely looking for people to help test if you have a D6 site go ahead and launch a D8 site and give it a try and file bug reports for anything that you find for D7 to D8 migrations that work is just getting started we have some of the plugins written to this point we still have some work to do the good news is that a lot of the plugins that we've already written for the D6 to D8 migrations will be reusable for the D7 D8 migrations if we've and if we've done our jobs right many of the the source plugins for the D6 to D8 migrations will be the ones for the D7 migrations will be similar so we shouldn't have to reinvent the wheel on those as far as the UI for migrate it's not in core yet the core migrate modules as they exist now the primary means for running them is through Drush there are two contribute modules in the works for the UI there's the migrate upgrade module which will contain a basic UI for running migrations and then a more sophisticated UI is in the works in a module called migrate plus which will be similar if you've used the migrate contribute module in D7 the UI for that for the migrate plus D8 module will be similar to what you're used to from the D7 migrate module yeah I think it's fair to say that migrate upgrade module is going to mimic the current like D6 to D7 upgrade page where you just enter in database credentials but the migrate plus as Keith said is the analog of the migrate UI all right and then there are some other advanced features like rollbacks that are not in core yet and statistics and things like that but there's issues for all that stuff and progress being made and then the status of how you can get involved we're going to be sprinting tomorrow and Saturday that can be you know you're welcome to come in and try out test out D6 to D8 migrations or work with us on writing some plugins for D7 we have a IRC channel Drupal migrate that we use for discussing all things migrate and also a Drupal group you can see the URL there it stands for import and there's a weekly call that's listed on that page I believe it's Wednesday evenings in North America 6 p.m. Pacific 9 p.m. Eastern I think it's one UTC yeah so Google hangout welcome to join just to get the status or you know ask questions etc. All right very good so obviously why do we do all this so it can be extensible right obviously old the old core upgrade path was not extensible it either worked for your small brochure site or you were using the migrate module or rebuilding or something else so one of the main points of all this is we need an extensible migrations so the primary means of extending it is with plugins so when we asked before it looks like a lot of people were familiar with plugins so we're not going to dive too deep into it but just you know plugins are in D7 migrate you would write a new migration class plugins are classes as well we're not writing new migration classes we're doing something slightly different but it's they're just D8 plugins so if you understand the plugin system then you should be good to go and the idea is that if you manage a custom or contributed module you should be able to write plugins as part of your module that can handle data that your module manages so as an example if you manage you know module X and when you go and port that module to D8 as part of the code included in your module you might include we would love for you to include actually the necessary migration plugins that allow people to migrate data from previous versions of your module in D6 or D7 to D8 all right so when we talk about migrations there's a lot of different types of data migrations that we can talk about so let's just be kind of very loosely put them into buckets and the easiest one to understand is probably what we call a variable migration if your module is not doing anything more than storing stuff in Drupal core's variable table you can write a migration to map your D6 variables or D7 variables into D8 you can change the name of the variables you can combine variables if you need to but it's kind of the simplest case we have all your module does is you know store variables in D6 or D7 you want to get those variable values into D8 you know relatively easy to write next up on the scale is what we call field migrations and this is if your module you know declares a new field type you know fields are a little bit more complex because you've got field configuration you've got field instance you've got widgets you've got formatters and you have your field data as well so there's a bunch of things that actually would need to be migrated from older versions of Drupal into D8 and then entity type migrations if your module defines new entity type then you know that's a bit more of a complex migration where you have to move you know entity data or entity configuration data as well as entity value data from one to the other and then the other like the everything else bucket if your module defines its own database table and provides crud for your own database table then you'd have to provide a migration to go from whatever your data structure is on D6 or D7 to whatever your new data structure is on D8 so today we're going to talk about field migrations because it's not the easiest it's not the most difficult it's not potentially you know an edge case where you're managing your own data and actually provides a really it gives us a nice opportunity to show how migrations work conceptually and how to extend them a little bit so for field module migration specifically when we want to migrate a field from an example we're going to do today is a D6 field into D8 we actually have to run a bunch of migrations it's not just one migration there's actually six migrations that are involved there's the field migration which is the base field there's the field instance which is relatively usually we don't even have to do anything special for that because that's usually just a reference to the entity that's attached to there's the widget the formatter so those four migrations handle kind of the configuration of the field you know what content types is attached to what the settings are for the field what widget and formatters to use and then there's the values the data that actually gets stored in that field that needs to be migrated as well as well as the revisions the data revisions so for field migrations it's not you know super simple but it's not the most difficult thing we can do luckily the way the migrate module is written and just the nature of some of these migrations for most of the time you really only have to worry about four of these field instances are basically as I said just a reference to an entity and field revision values again are just basically a simple lookup table so unless your field level module is doing something really wacky the base implementation of these is normally fine and you don't have to even we won't even look at either of these moving forward here today all right so let's talk about what a migration configuration looks like and this is kind of you know we were just talking and this is conceptually kind of the biggest shift that people familiar with migrate are gonna have to make where in d7 when you're using the migrate module you create a new migration class so you want to migrate a content type from one place the other that's a new migration class in d8 we have all we basically have one migration class called migrate executable and to create a new migration we pass it a different configuration so as an example in d7 you would have you create a new class and you declare the source the destination the map and all your field mappings well in d8 source destination field mappings that's all configuration so to create a new migration really all we have to do is just extend or write a new yaml file theoretically theoretically we'll say so the work we're gonna do today the example we're gonna show you is not creating a new migration it's creating a class that injects new configuration so I know that's a little conceptually it's hard to understand so I'm gonna show you in a second but the nice thing about this is is that conceptually it's very similar if you've used migrate in d7 we have to define the source we have to define the field mappings and any data massaging in d8 we call that process and we have to define the destination so if you're familiar with migrating d7 these are not foreign concepts these are the direct analog so let's real quick let's take a look at this this configuration file for for d6 field and that's what this is so you can just you can find this in the core migrate dribble folder if you're interested to follow along so I'm not we're gonna go line through line for this so let's just break this file up into groups it's standard you know it's d8 yaml but we basically have the metadata that describes the migration we have our source with our source plugin and similar to a d7 migrate what does the source plugin do it defines the query that gets the data from the source database so that's all this plug-in is doing and then if we go to the very bottom we define where's this data gonna end up in this case it's gonna be field storage config everything else we see in the middle here under process these are field mappings as well as any custom process plugins or any process plugins I should say that allow us to mess with the data so this is this kind of combines field mappings with prepare row and the best way to think about this process is in a pipeline you know on one end we have the source and the data comes in the source real row by row and then we can define different operations on that data as it goes through the pipeline and those operations are defined in here and we're gonna talk about this static map here for a second so this we're gonna go into the weeds just for a minute so bear with me the source provides us some data two of the fields the source provides are the the type of field and the widget type so this is directly from d6 and all this plugin is doing is basically it's a big lookup table it's saying if the field type coming in indeed from d6 is number integer and the widget is number then the d8 field type is gonna be integer so static maps are just very simple lookup tables we have a you know a number of process plugins already built we have them to deduplicate we have them for more special purpose I know blocks have a bunch of them the list are like uppercase and lowercase right so the disease he wants to work with if you want to copy something there's ones to turn things into machine names as well yeah so there's an even a more sophisticated one to reference data imported by another migration right and that's similar to the source migration method in d7 so let me let me let's get out of the weeds here and come back here so for those of you familiar with d7 migrate and this is really important for us because I know for us this is kind of once we once the light bulb came on for us for this this is when we really started understanding what's happening with d8 migrate these configurations are like our old migration classes to find the source to find the destination and map your fields I know in d8 I'm sorry in d7 migrate you also have to kind of define your map so you can track your source ID with your destination ID that's kind of been built in to the source and the source plug and you define your primary key that's done on the destination side so we kind of get the map for free we don't have to define that separately anymore any questions about this part so far because this is key moving forward if you're with me so far we're doing great all right so either either we've explained it brilliantly or we've lost everybody let's go with the former all right so we're gonna dive a little bit just a little bit and kind of review so when we define the source again all this is literally doing is doing a query on our source table and this is what we're looking at here this is a source a d6 content field node table that basically lists all the field types on this you know d6 sample site we have we're gonna come back to this well actually let me let me talk about it right now real quick you see we have a field name field a type active these field names map directly to our process functions so the process functions kind of work just like in d7 or mapping I'm sorry works kind of just like in d7 where it's the destination field and the source field so for this particular migration we're gonna take the source active field and map that to the d8 status field so if this field quote has a value of one on the source then the d8 status for that field is going to be one so this is a very simple field mapping with no data manipulation or massaging whatsoever when we do have to mess with data that's where the process plugins come in so type and widget type these are source fields so type and widget type is somewhere over here source fields coming in if the source field we can even look at this one so type text if the type coming in is text then the lookup table will say okay well here's the type and if the widget type is text field and d6 then the d8 widget or well then the d8 type is just gonna be plain text still good all right fantastic so I don't even think I need to talk about this because I've revisited this a couple times ready this pipeline is super important to you know understand as far as how migrate works this is the right way to do prepare row this is the right way to mess with your data you mess with it while it's in the pipeline and the order of operations whoops is defined strictly by do we have one down here we don't have one down here but it's devines defined strictly by the CML you know this plug-in is going to be run first it's actually run second because there's an implicit one but if we wanted to do something more with the card now cardinality field we just add a new plug-in after this one so if you picture it as a pipeline get the data process it with this process it with this then it gets mapped to the destination field and then finally as in d7 migrate you know defining a new or defining what the what the destination is usually in d7 migrate it's a one-liner you know migrate Drupal 6 no or Drupal 6 destination node I forget exactly what the class is very similar you know we basically just tell it where's this data gonna end up and in this case it's in field storage config everybody good still too fast too slow too loud too soft more music less music okay so the cool thing is is that if you understand the last six or seven minutes then you understand the basics of d8 migrate because the rest of these migrations that we're gonna look at today well we're not even gonna look at any of these other ones barely they work exactly the same the source plug-in gets the data the process section of the configuration maps and messes with the data the destination defines where that data ends up okay so that's the conceptual part that's the big picture source destination mapping now let's apply it so where we on time all right not too bad so we're gonna do is we're gonna take this amazing module called iframe is the iframe maintainer here hopefully not okay cuz it's awesome I mean look at this thing so it provides so this is the module we're actually going to build a migration class for or we've actually already done it we're just gonna review it what does the iframe module do well if you have a d6 site you can create an iframe field that basically loads a url into an iframe spectacular right I know you're with me on it here's how it looks you know you basically give it a title on a url and then we've got some information here about how it should appear so for this example we're gonna move all of the data over but we're not really gonna do anything with the display stuff and we'll talk about why in a few minutes so we're gonna focus on we're gonna move the title in the url well when we move the title in the url that that looks a lot like something familiar right that looks a lot like a link field to us so what we're actually gonna do for this example whoops I'm gonna go to the right slide we're gonna migrate the d6 iframe field configuration into a d8 link field because it feels like the iframe module for d8 should really just utilize the link field type and have a custom formatter where the custom form matter is what actually is where you actually set things like width and height so rather than having a different field type for iframe let's keep it let's just make it a link field type because it kind of looks like a link we'll just give link fields this you know a new formatter option which is to output your link as an iframe everybody on board with that plane all right good we're not gonna demo porting the entire module all we care about is the migration classes and that's that's all we're gonna look at today if anybody wants to take this and run with it and become the maintainer from iframe and d8 have at it it's in the sandbox all right so big picture what are we gonna do we're gonna build migration classes that allow us to migrate from d6 to d8 an iframe field so in my sample site right here we have a d6 site with very little it has an iframe field attached to the story content type keep doing that sorry so as part of our migration the story content type is going to get migrated over the iframe field is going to get migrated over and you're going to see it's you know stupid easy to turn it into a field of type link and then as far as the values we're gonna copy the title in the URL over we actually aren't copying the attributes over but we're just kind of stuffing them into link field attributes not even gonna do anything with them but this is what we're gonna do all right so again I'm gonna hammer home this other concept from earlier we're not creating a new migration our class is not defining a new migration our plug and I should say I'm sorry our plug in its job is to inject configuration into an existing migration so let me see make sure oh actually yeah so it would be possible to just go and export your configuration and change this directly it's kind of worth noting so any of those YAML files that you see in migrate Drupal are the defaults if you were to do drush config export those will dump into your files folder you could change those and then do config import there's a user interface as well if you're familiar with CMI and you could re-import these but that isn't really reusable on a module level if you want to include that in your contrib projects as well you have to also consider that the because the config is all coming in as part of migration and because we're already iterating through each of the fields on the node we want to like catch that wave of activity that's happening there rather than redoing it in D7 this wasn't so much a problem because you would build all of your configuration manually and then you would just come in and run like a very flat migration and just pull stuff into whatever your new entity was but in this case the migration process is actually happening it's like spawning processes and managing the dependencies and dealing with all of that stuff automatically so you don't have to run around so you don't want to do that yeah nobody wants dependency management problems so so working with the system is a lot easier in this case right so just to demonstrate what Ryan's talking about is remember this this plug-in is basically just looking at the entire d6 content node field table that's full of fields and all types and for every row it looks at the field type and I'm just gonna focus on field type and it's gonna look up in this map you know are you a number integer are you a number decimal if it's not in here that field doesn't get migrated so if we have an iframe field iframe has got in here so as Ryan was saying we could do away with one of our migrations just by coming in here and adding adding this technically we're hacking core well we're hacking configuration right so I don't know if that maybe that's not the same as killing kittens maybe it's like you know something less evil than killing kids you're hacking what's it okay I'm not sure that's any better but I haven't I don't haven't got to know you too well so but you can see if we just inject these three these two lines into this configuration then when the field map when the field migration runs it'll find iframe it'll know what to map it to so the class that we write for the field migration this is what it does it just injects this configuration into the into yaml for us it's probably also worth noting that it's not gonna do anything special to this though it's just going to assume that all the fields or all the subfields or whatever are the same so we will need to do some stuff which we'll get but that's in the other migrations yes okay so that's you know for d6 for the field migration that's what our class does it injects that into that configuration so the way we're gonna show it is the right way to do it the way that we kind of design to allow module and can treat well module authors to extend migrate so insert stuff there okay so I was forget what I'm talking about yeah okay so the other migrations work the same just like we need to inject the mapping into the field migration we need to inject some configuration into the field widget and we need to about the field widget and we need to inject some configuration mapping into the field format and we're gonna show how to do that in a second as well field values are a little bit different what we're gonna show for that one is similar to the process row from d7 when the values from the iframe module or iframe field are coming in we want to introduce a new plugin a new process plug-in to mess with them before they get saved out to d8 so I feel that what we're showing here some of the more common things that module authors are gonna have to do all right so everything was plugins up until about a week ago it was a lot harder to do what I'm about to show you we this commit came just in time for this so anyway we can do all of this with plugins and so again we're gonna go down in the weeds just a little bit it's possible to do this and we made it as easy as possible for you to do this we have a base class called specifically for fields other migrations will all work similarly we have an abstract cck field plug-in base class that implements all these methods and for the particular field we're working with we only need to override the ones that have something you know some special sauce and there is a cck field a migrate cck field interface that kind of says you must have all of these methods all right so real quick looking at the interface and we're not going to go one by one through these but you can kind of guess what each of them does you know these allow us to inject configuration into the animals so we have our field we have our field instance we have our widgets we have our four matters and the other methods in the interface the first two here provide the map you know if in d6 the four matter was named this then in d8 the four matter is named this so you can have you can change your four matter machine names on into d8 and you could very easily map them from one to the other you can get rid of one in d8 that you had in d6 you can add more in d8 but the map is what you know kind of maps them from one side to the other and then the process cck field values we're going to talk about this this is where we get to define is probably not the best word declare our new plugin our new pipeline plugin that we get to mess with the actual field data on the way through all right so here's the plan we're going to create one plugin called that we get to subclass our base and then we're going to create a second plugin which is a custom process plugin in order to mess with the data and the nice thing is they're both relatively short and easy to do so everybody cool with kind of the big picture plan what we're doing here so far all right do we believe them all right so all this code I'm about to show you it's in a sandbox Benji who's the big one of the big brains of migrating core is in Australia it's kind of a long trip so that's where the name Benji comes from all right so let's look at this code now I get to use my new trick oh actually you know what I do want to show one thing first before I show that trick I do want to show that this module is relatively simple see this is why I don't want to do okay so I do want to just show here so here is our module the info file will see in a second it's there's nothing migration specific in there it's just a simple standard d8 info file and here is our our sub our plug-in that subclass of cck plug-in base and then here's our process plug-in those of you familiar with d8 plugins know that all we have to do is just put them in the things the psr4 we just put them in the right place and they will be found and utilized when they're needed so there's no hook that we like in migrate for d7 we got to implement hook migrate API and kind of declare them there we don't do any of that with plugins plugins are you know the bomb all we have to do is just put them in the right place and we're good to go so if you're interested in creating these you can always go into the migrate jubile folder look at what the folder structure is and just copy one that's close to what you want but if you're using plugins for the first time make sure to update the comments because the comments are annotations and those actually get processed and read if you don't update the comment it won't work so fair warning yeah there's there's a presentation anybody go to I think it was Joe's presentation five o'clock yesterday on da plugins yeah so if you were there then this is going to be kind of easy for you he also did a series of blog posts he's with lullaby I think right I think he's with lullaby there's just a great series of blog posts about writing plugins so if you need that background it's out there and it's very good so here's for our custom d8 module for our my iframe migration classes is the info file you know nothing nothing special there alright so let's look into our our migration well I don't say our migration class our plug-in where it injects configuration so as we said before it is going to extend cck field plug-in base we have to give it an ID a plug-in ID so it's iframe and we're gonna spend time with this first one and you can see this that's the whole thing so there's not a whole lot there we're gonna spend time with this first one because this is a little bit confusing but if you get this one then you get the other ones so process field this method allows us to inject configuration into that field or d6 field where did it go? Inject configuration into this file so that one little function is what's gonna do the job of iframe that's its job is to inject this so I'm gonna leave that there for a second because we're gonna come right back to it so what we're gonna do is we're going to and this merge process of property we're gonna merge this thing which we're gonna talk about in a second into the type configuration so this is the name of the destination field type so if we come back real quick oops wrong one first day with the new trick we're gonna merge that configuration into the type process all right so what are we gonna inject inject into it we're gonna inject to the map our plug-in ID is iframe so map iframe iframe link that's the same thing as twice I didn't know come on that's the same thing as map iframe iframe link so it's this array structure that when you're looking at this file this makes no sense until you look at the configuration that makes sense all right so this these two lines are doing the job of injecting that configuration for us so process field works on d6 d6 field process field widget obviously works for our field migration and I'm not going to go into detail in this one but it's basically the same thing it's going to inject into the options type process something that looks like type map iframe link default so we're gonna make the default widget in d8 map to the link default widget because there is no iframe default in d8 because we're moving it over to the link field there's a third one that we actually don't even need to implement for process field for matter because that's very generic looking because that just takes a map and does our mapping so we have to give it the map and that's what this get field for matter map does this basically says if the for matter on the d6 side is default make the for matter link on the left side I'm sorry on the d8 side if it's iframe only in d6 set it to link in d8 so if one of you were so lucky to be able to create a custom formatter for this module you would probably want to map some of these not to link but to your custom formatter machine name all right so these three methods are all we have to do to migrate the field configuration for iframe fields from d6 to d8 this first one is think of this as field base we're just saying hey from now on when we do this migration iframe fields guess what you're now link fields field instances are just references so we can unless you're doing something really crazy we can use the default implementation in the base class widgets hey guess what when you are a an iframe widget in d6 you're now a link default widget in d8 for matters you know we have a little map yeah and those are the four those are the four on the configuration side so this for those of you familiar with d7 migrate this is all new stuff because d7 migrate doesn't migrate this stuff right d7 migrates only content this is all of our configuration I've seen some people do this but they have to write it themselves usually and people don't share for some reason alright so imagine there's a line in the sand right on this line everything above is configuration everything below now we're gonna deal with the values you know in our case as an example we're gonna deal with you know how do we get this data from d6 to d8 all right so in this case we need to do a little bit of data massaging from d6 to d8 if we didn't if the fields were mapped directly and there was no data massaging involved we wouldn't need a process plugin it'd be kind of like that active to status in this case we do have to mess with the data a little bit so we want to inject a new process in that pipeline so this is how we declare the process to the configuration we basically say hey I'm gonna you know there's gonna be a new process plugin called iframe field and that that iframe field plugin is gonna get three pieces of data it's gonna get the URL it's gonna get the title it's gonna get the attributes and then all this guy does is basically puts it in the pipeline it puts our process function which I'm gonna show you in a second into the process pipeline for iframe fields so this is the new prepare row in this case we're gonna declare plugin here and this is what the plugin looks like so we have a base implementation for our process plugin we're just gonna extend it this is one of those comments that Ryan was talking about the annotation this is our ID iframe field this goes directly back to this ID right here so by giving the annotation the other one and matching up here that's how it knows which one to run so we we basically have two plugins now if we go back to the file structure this is the second file that you saw there right this is our process plugin now and the process plugin normally has one method called transform think of this as your new process row and transform literally takes data in on one end in the form of a value array and returns you know it on the other end so for the next plugin or in this case after it returns here the next step is to save it into entity field storage so in this case we're just gonna list out the array into URL title attributes over bit we're just gonna map it so the source value becomes uri and d8 the title to title value and here's the sum total of our massaging we basically just have to unsurrealize attributes so we can do a lot more stuff in here in this case it's very simple but you know what we're focused on for this example is the structure rather than the details of how we're actually going to massage the data makes sense good everybody excited about migrate there's only you know a few of us here tomorrow so be patient with us because I know you're gonna be sprinting tomorrow now because this is you know it's cool stuff all right um yeah so I guess let's see an action right I guess that's the next up there's not a whole lot more there's really nothing else to it as Ryan was saying let me just go back and reinforce what he said there here's the process plug in plug in migrate process here's our I'm gonna call it configuration injection plug in because I'm not gonna call it a migration plug in despite the title of the session ignore that you know nothing all right so it's you know this is for a real field migration and it's what a hundred lines of code maybe you know take away the comments and the spaces and it's very compact so we think and I'll say we think Benji did his job because Benji's one who designed all this we just kind of eat it all up and use it all right so let's see an action so again as a reminder here is our d6 site you know we've got a couple of nodes with i-frame field we're gonna focus on this guy right here here is our d8 site I'm showing you this because on the d6 side this is a story content type story that's where our i-frame field lives so after the migration we're gonna have a new content type kind of like that one slide I showed you where we're going from d6 to d8 we're gonna migrate the content type and that new story content type is gonna have an i-frame field and there's gonna be a new node on the d8 side that is identical to this node right here but it's obviously it's back and display it as an i-frame because we haven't written a custom display for a matter it's gonna display it as a link field on d8 that's our social contract that's what that's what I'm promising is gonna happen so live demo so Ryan told me not to do this I'm doing it anyway I haven't changed anything on this system hurry on time alright so you know 15 minutes or something goes wrong yeah what could possibly go wrong here alright so what I've done so far you can look at my history here I have I did a fresh site install so the fresh copy of d8 and I enabled migrate Drupal and i-frame and i-frame is our little custom module that I just showed you so I'm going to my history my great manifest I'm not gonna parse this but this is the way it's up big enough for everybody I can make it bigger we have the technology so this is the way the migrate manifest command looks and my great manifest is a little bit funky but it basically we have I think is it 92 migrations or 92 migration configurations in my great Drupal just like I just say around 100 around 100 like I showed you six of them right that little image with the field field instance that was six I think for d6 to d8 we have somewhere around a hundred as Ryan says if you do I'm not config dash list grep migrate it'll show you you'll see like that's pretty much all that comes out of that command so so I'm not going to run all that it'll it doesn't actually take that long but I'm going to run this d6 manifest node how's that if I point like that this is just a YAML file that just lists the migrations we want to run so this list d6 field d6 field instance field format or widgets node all of its dependencies so it's a subset of all 92 there's maybe 20 that probably that's the 20 that we're going to run so we basically tell drush run this manifest you know we're in our Drupal 8 site and we're going to point at the d6 site so one of the other big wins we get from migrate and core is it works like migrate the source database is untouched we're just reading from that so you can run this against the live databases many times as you want so we run this and you can see the migrations that are running here so filter format user role user so these are all because they're dependent on nodes you can't run nodes unless you have users for authors can't run users unless you have user roles there's that little warning at the end that's just a bug so you can see that cck field values page and story the last two that were okay so that's bringing field values for the page content type and field values for story content type over so that last one that's listed hopefully brought over our iframe field data alright so against all odds we now have a story content type with an iframe field that's now a link we come to content we've got two this is the one we're interested in let's look at edit first because this is if something's going to go wrong this where it's going to go wrong and there we go there's our link text and if we look at it it doesn't you know whoever who's did someone already volunteered to write that format was it I thought I saw something but your job is to you know turn this into a beautiful iframe because everybody loves iframes I do have a recommend for this actually there's a module simply called YouTube that works for Drupal 8 and it's a field for matter for text field and it's a good basis for creating a field for matter for the first time with the settings page and other things like that for matters are just plugins yep so it's you know if you want a first contribution to Drupal or just to get involved with something you know this you know iframe module is not going to set the world on fire but it'll give you a lot of experience so let's say and I have to be honest with you I actually think there's a lot of modules since I've been working on this long time I have to stare at D6 sites for a while there's never embedded media field for D6 I believe that was just a type link as well with custom formatters that's a great opportunity for a potential module author to work contributor to just write the new the write the formatters for D8 and to be honest the migration classes are not going to be all that different from what we're looking at here so all right do we cover everything ready for questions any gaping holes we got seven minutes for questions all right seven that means to quit so I line up at the mic yeah please if you have a question or the mic and just so some background in three of us there are definitely people in migrating core who are a lot smarter than we are none of the main architects made it to Drupalcon so they sent in the scrubs we are more of them I think it's fair to say we are more on the side of we kind of understand the architecture and we can use it but if you have any high-level architecture questions we might punt if you know the answer and we don't feel free to like put up your hand and run to the mic because that would be useful to get into the recording so please make sure the mic is on great thank you likely be much sooner so the the d6 mappings are in core now the differences between six and seven are not that substantial I would expect that as people get working with it it will proceed pretty swiftly once it's there there was a hold back for a while because it was in a sandbox that was out of date and I believe that's been extracted now and is now under current development so there's a patch available and that's if you want to come tomorrow that's a good opportunity we need I know that we know there's a lot of people who are kind of itching to help with the d8 to the d7 and d8 stuff and we just haven't been ready we are on the verge of being ready and so we can get that patch reviewed and get that first patch in that's kind of the first domino I would expect over the next few months yeah so our goal has always been for 8.0 d6 to d8 migration because d6 is being sunset and that's the most important one so we really have blinders on and then really refers to the UI more than anything because stuff's already in core so I would expect the d7 to d8 stuff is going to be a fraction of the effort the d6 the d8 stuff was so yeah so you're asking if we need for a given field migration if we need one plugin per thing we want to mess with is that what you're asking no because you get in in for a given migration in the transform method you get the data as it is in the pipeline so that field has no 13 subfield so to speak or 13 field values you get access to all 13 of them so you can mess with all of them in that one place and I do we want to mention I mean there is you can still do prepare row in d8 we just what we showed you today is kind of what we feel is the best way to do it it's kind of the there's a air quotes the right way to do it yeah there is I think it's a migrate dot API dot PHP file that contains an implementation of prepare row and you can use that if you just want to use like a dot module file and do your d7 strategy of like dirty hacks mom will be impressed so yes yes to number two that we have that was my great extras in Drupal 7 kind of had stuff like that so I would imagine something like that will emerge in well but that's not considered best practice best practice is your module the data that your module is responsible for should be in your module the migration configuration for that module should be in your module and that's one of the yes there would have to be right but like you said that module could just be very similar what we just showed you is it's putting it into a text field or something it may be worth checking in to see if it's a widely supported module there's been talked lately about putting some of these plugins into core modules as opposed to having them in migrate that's a discussion that's happening now so it may be worth checking in with some someone in the migrate Drupal room or something like that in IRC when you come to that point so just as a quick addendum to that is if I can just pull this up real quick so you can see right now in core let me get rid of this because that's not good still in migrate core we have all of these field types that are not plugins yet this is tomorrow basically if you want to come help us out tomorrow if you followed what we did today you can help us you know write migration configuration plugins for all of these because our goal is this you know this map should be empty for core all of these should be implemented as plugins rather than this map so just you know put your shades down lock the door don't let anybody see it but we all I mean we all you know depending on the budget of the client you know sometimes that's what you have to do you know the the goal of this session was mainly to show there is a right way a supported way of doing it but as we showed you you can also shortcut it just by messing with your configuration files you're welcome it's a wasteland I go into Drupal.org slash project slash Drupal into the issue queue filter it down by migration system Ryan IRC that's the answer well I I'm often not in IRC if I'm not a Drupal cons or events so but go into the migrate Drupal room and just ask in general and someone in there will probably have an idea there seems to be people around the clock so there's a patch that's in the queue that is like I said the first domino and if you ping me or or Kate a Chan or Benjy or anyone we will point you to that issue and depending on the current status of you we status of it we might have you you know test it or extend it or something but once that domino falls then we've got you can look in the issue queue right now there's a lot of kind of almost empty issues they're not empty they have a title about let's write a configuration for this write a configuration for this all of our very our missing variable migrations all right see tomorrow maybe all right yes it does and revisions the revisions come through by default because the promise has always been to bring data from your old system so there's actually a couple little bugs that are worth noting if you at one point enabled the book module and then disabled it and you didn't bother enabling it in d8 the migration system at this point wants to grab that data because you have data there so just a fair warning that if you have a module that you install at one point that you don't use anymore you may wish to consider to


Yo, yo, we live live once again man from the ATL It's new Jack thriller city man.   You know I'm saying Part of it part of it, you know, it all goes together It all goes together man.  I was there. You were there In that video. Hey nigga. Hey, I couldn't believe that y'all actually used the nigga in the video Man, you were so funny at that comedy show the day before you remember you did the comedy show Stand up comedy nigga.  This is 07, right? 07 damn, you know the job Hey, I'll cry man. We will cry. I'll never forget that man.  I had my chain shirt on I had my hair braided back.  I was super man that year. Then I was in the plaza shouting Video date it all the videos came out at the same goddamn time was on the countdown on 106 what at the same goddamn time You sound like original like an original video hoe. I was a video hoe.  You remember one party like oh Yes, everybody if you weren't wild or he then you wanted to be everybody wanted to be able to have that energy Seeing those lyrics. That was like really really dope.  Yeah, that wasn't it Y'all was doing some other stuff what it was We were just trying to take over the pool palace for anybody who know It was a club on bank here called the pool palace a lot of dope artists Came from there like d4l franchise. Uh, there's a whole crump music I'm in the snap music. Yep. What is god named k-rab? k-rab? Yeah, you remember k-rab. Yes Is this a rapper too?  We got to bring it to him, man. Get you at the saw ball game We playing saw what you did come in.  You better be careful now.  Oh, yeah, but back to rock star. So We were just trying to make a song to take over that club, you know what I'm saying, and it worked And it worked. We never um intended to To cross over right leave the city make a big hit. It was just like We had to take over that club with a song It was so different though. Did that create like a pressure for you guys to keep going in that direction? I mean the pressure was over the devil cause like our project you got franchise and d4l From the same part of me and they had number ones in the world So we couldn't know I'm saying that we double the pressure right now Really?  You looked right within No, you you heard what he just said they came from the same project Deeper well, yeah franchise boys and got down to shot Happening at the same time Back to back And this is one of the most dangerous Projects in elanta Yeah, yeah, you you remember what y'all to know when all got down on ti.  We just start believing man.  Okay, you know we from the hood we normally don't you know get these opportunities hot. What made you say I'm about to take it uh I don't I usually listen to another music right and you know how to see these at the end of the song that little That little space that were my bird. So gz ti I would rap without them being rapping with them Really? So you walk on down the street.  You know the people in the street. Yeah, go ahead. We see you We see you know, I said see me with my pad and all that so I used to go down To his back. Many used to be making the beat So I used to be rapping here make the beat and see we started going to the club and it was like All everybody in the club had a song from k-rap before every crew had a song And we were afraid but we had no song So we had a guy A lot of getting in the mood a lot of groups in Atlanta.  It was the crew. It was your crew. You know what I'm saying? So d4l was a crew and um, they were down for life. Yeah, they were they were okay down for low, right?  You know what I'm saying? Yeah, same thing with the shot boy was a crew first. It was third of us like 33 But we started rapping in it and it turned us into a rap group You know what I'm saying? Who was the first famous person that reached out to y'all after y'all reached us y'all success nobody? No, you know how you get that one person where you like, man, I didn't even think this person wouldn't even know me Y'all drove and they just did y'all let me say y'all made it Yeah part of like the floors out there though Oh really on his own dollar then want man. He just like I just want to kick it with y'all get out of this game Did music or this one like the song was just bubbling in the clubs, you know, I'm saying right Man he came there learning heard it. He just reached out. It was unbelievable. But y'all jump jump for sure That's the shout out to Jim Charles. A lot of people get those deals where I hear you can make money off of a single Was that the case for y'all? Was this like a successful thing having a single? This was ring tone. Yeah, it was kind of different back then like it has changed now, but All songs so big like we made money off always like you know, if y'all never did another song y'all party like rock star And it can still make money Some more millions off of it, you know, I'm saying I hear it every time they do a mix especially in Atlanta That song has to play into it. You guys are constantly getting paid That's the that's the biggest misconception about the shop is that party like a rock star Is the only song that they ever did Up through there Even the slang To it But see you know the difference though, we didn't have social media back then So it seemed like if the labels didn't just plaster every single or put some type of imaging behind it You just be rocking out to some music and for me, I was from the midwest So y'all had a sound though in the south Once you could hear somebody that was doing a thing in the south you just rocked to all of their music And unless they like I said put image in behind you probably wouldn't even know that it was y'all But now in the era of social media TikTok Platforms like this. This is amazing. So we can actually give the artist the credit that they're doing But yeah, I've been listening to a lot of y'all music shout out to y'all But I was formerly we don't like to pretty much piggyback like we didn't want to piggyback our rock star You know what I'm saying like oh through that sound like a whole new group. We can't Yeah, that's why I didn't even know I'm a ball. We started from the jump We didn't finish piggyback out it. You know what I'm saying?  We had to chase it. But there's really a compliment Like we was on we were literally we was on the tree in the hood Like we'll chill up on this one tree on this one street We had our our street at the bottom of the street Walden And we'll just wake up and chill and then to do our lives with the same every day We ain't going out trying to make a move next day. We're on the tree and then 30 days later We flying New York talking about millions of dollars. So we didn't get a chance to talk about millions of dollars Yeah, we didn't get there.  We're still chasing it right now We're chasing it. So what was the bad thing that happened during that because everybody has this story Of okay. Yeah, we got a hit song. But then we went through this. Did y'all go through something?  Did I've noticed that you know in a lot of groups like even in new edition They all had their own entourage to the point where they all had their own tour bus Did you ever find the the facts meaning she ever was traveling with their own crew? This this is like if we not doing we go to the club Together If somebody angrily said about some we're gonna pull them to the side. We like let's let's work it out right here And all y'all originally from georgia Where y'all relatives So who approached who about being in the shop boys Man, it's like you said It was a get money crew how we started doing music is we were selling stuff to him And he was like y'all should do music y'all come to my studio. He was like look this cocaine so good Wrapping That's not what you said Cut that part out there Now we were uh, we was on some old stuff Yeah, I mentioned what we were doing everybody in the city. I already wanted what we were doing, right? What was y'all doing? What we were doing Y'all know y'all fans and the followers of the show they want the grit in the ground. They want to know Man, the statue tour was like that limitation going on now. We're still a car. We're still a car Thank you all. And at the time you had when it was going for in the world for a three Oh, yeah Now you jogging my mind So that's what it was that's what shop mean. Oh It's still in help other people Like Robin Hood around here How did you know that? Were you a shop boy and I wanted to be but then the niggas was fighting too much, man And like I got one eye.  No, okay. Okay. All right. God is good They got They got niggas to fight for them. No, you get mad at this niggas. It's about like 74 niggas jump on you from over there You don't know where they come from. You try to swing on one of them niggas. It's coming I know you was with them I mean we get that the reason why we get that man because like a lot of being so supportable to shower like And then like Like I'm saying people use the call it we got a baby shower We finna do a baby shower like hood they already know that we were always showing up. Yeah, so like Yeah, so and and the people also But they were at my party, you know what I'm saying shout out was at my you know what I'm saying so they Gone the city gonna make sure it's out. Yeah. Shout out to Atlanta No, that's a big deal like when your city is riding for you Especially a city like Atlanta that is so big on music and the culture and the determination of you know Who's out of whatever that's a big deal to have your city, you know riding behind you But Atlanta always looked at for niggas anyway though Like did lana was known for even when I when I was up north People upset people up north said all the time that Atlanta they help each other out They work with each other and whatnot. And even if they don't like each other They'll still get on the song with each other for it. They're gonna get the money For the city for the city Let's go and to we ain't got no jealousy issue. We from the south. So like we all know we want niggas down here You know, I'm saying to a certain group of people. We know we all want niggas So we ain't got no real problem.    You know, I'm saying, right Did y'all have beefs out there with other groups nigga? What?  He's gonna fight. That's everybody Was it trauma or were you traumatized? Like why were you? Why did you want to fight? That is like My people we like Dang when something is wrong and they feel like something is wrong. We're gonna fight like back then like it's something wrong Like we're gonna stand up And that where it was we stood up. You gotta look at it. No matter who it was.  Do you respect each other later? Yeah, I mean, y'all we you know Like now like like she was saying like everybody cool now. Like that's respect. That's respect So what's next? What are you guys doing now with your music? I know that you're still making money off of that But are you actually in the studio recording new music? We got so much good music.   Yeah, thank you.  You know I'm saying and well blame them. They just They don't know if they researched what the music sound like before you're gonna hear a bunch I got pills. I got dope. I'm robbing. I'm killing we come with up through that We created a lane for people that don't sell dope to make music because it's fun party People actually need to hear that That's what y'all did it was for you to not have to be in the streets or whatever you can make music It described that we'll be in a club with the street niggas got all the respect all the love from the dope niggas the big niggas But we need to do that So we made music for us and all them niggas could feel because what we look like saying we got bricks We didn't have bricks But like what the wildest shit y'all ever do did like at a show like when I say that what I'm saying is you guys are the shop boys No, no, that's not what I'm talking about Have you ever done a show before? And I'm talking about this is before party like a rock star y'all performing on stage But outside y'all they got them breaking the niggas cars. They're here with the other 25 niggas Because you broke in my car Then we're back and got them 0506 or something like I need to know I had a good time that night I was somewhere on back It was y'all we got them did a 52 fake out on the niggas niggas into the club having a great time Great everybody broke into I had a Buick Regal, but it was a super charge I had to face in my pocket niggas still took the goddamn radio out the bench I had to face in my pocket Apologize can we start over? He said It's hilarious right now. You just know that it wasn't the regal though.   I said I'm hungry man Yeah, yeah, so if I I'm I'm I'm a hungry jack So if when I'm a hungry jack man, I had to go on here to get the best of the best in here You know I'm saying to help my appetite out and whatnot. I got my man I've been rocking with him for a long time from new york the Bronx and whatnot to to We was in brooklyn. We was in Harlem and now we are back in our hometown Yeah, the catered Georgia to be exact y'all give it up for the one the only dj chef chuck Man, I like to call him man. Yo, chef blue chip. Let's do it How you feeling man, I'm great. No complaints So, you know, we over here lunching the show right now and I thought it was just only, you know fitting You know that are on the the first few episodes. We had to get you on there, man I call you chef blue chip because when I think about blue chip, I'm thinking about Big big I'm talking about chef. You know, I'm saying I'm talking about the movie blue chips. I'm talking about los vegas I'm talking about winning big Okay, I'm talking about jackpots You know I'm saying when when people say chip they talking about championships. Are you a championship chef?  Yeah, you gotta holler at my dog man blue chip. What's up, baby?   I did I got a I got a uh A wedding I'm doing in Baltimore, Maryland Yeah, so I got to get on the road, but I can't you leave right after you leave here.  Yeah Okay I don't I respect that. I appreciate that. Hey, we giving you a round of applause for that. Hey, we is Okay, so let me tell you what I brought for you. What did you bring bro? Uh, so I have some Tuscan salmon. Okay Some teriyaki chicken. Okay, teriyaki grilled chicken Some sauté green beans.  Hold on. Do say do say I do say do say me, baby Okay, I need some of that. I do say would you like I would love as a matter of fact Okay, don't mind if I do say. All right, sir I got you.  So mentally I mean I could be anywhere to be honest with you because if I'm if I'm sad I'm going through something I'll go in the kitchen and create something. You know, it's kind of like When some of these r&b singers they they go through something they go make a great album Same thing with me. Okay. I'm going through something I go in the kitchen. I create something great Now a lot of people say that when you're you're in whatever whatever mood that I'm in When I'm cooking your food, that's how what kind of mood you're gonna be in when you eating it Are you saying that when you're you you're going through things That's when your food tastes the best. I'm not necessarily saying that. What are you telling me right now?  You might have said something and it didn't have to do with food It's just how my brain works. Mm-hmm. So, you know So what's something like that you invented before like when it comes to food? What like for instance, I myself I ain't no chef for none.  Just like that. Okay. I made that I made that Okay, so something that I came up with recently actually so think about Thanksgiving, right? I always think about Thanksgiving. We was just talking about Thanksgiving. Yeah. So think about Thanksgiving Most most folks keep they uh They leftovers for two days, you know, three days tops Well, I like to repurpose meals Repurpose meals. I call it repurpose meals. What do you what does that even mean? What that means you take those leftovers and you can make something else up out of it. Mm-hmm like for instance I took macaroni and cheese and made a Belgian waffle out of it. What? Yeah, it will What are you talking about right now? So there's no there's no batter or anything it the waffle itself is mac and cheese And then you put your greens on top your fried chicken and whatever else you want to put on top and now I made that Because I had leftovers. Okay, you know Most people want to be entertained with food or you know music or whatever at the end of the day You've seen this food one way slopped on your plate. Are you seeing it as a gourmet dish? Okay Hey, ma'am. Yo, talk to me about these mashed potatoes right here the red the red skin mash. Okay, so red skin mash is basically, you know Red potatoes don't take the skin off of it. Don't take the skin out You don't take the masher with the skin on how can it be red skin mashed potatoes if the skin is not on? No, the skin is on I just said that because beauty's on the skin deep Yeah, yeah, yeah You see what I did dive into that. Tell me what you think This is delicious I don't want to do this by myself. Yo, yo, where did I lose you want to play? Did I lose the steps in new york? Bro, no, no, no, you ain't miss the beat This is amazing This uh salmon right here mixed in with the mashed potatoes to try Forget about it.   You cool with the truth, bro. Is at the end of the day. It's only gonna make me better Okay, thank you. I could take criticism You know, you know how you do or how me and you do so It's been a minute. So I had to get that out of my system But yeah, I said that because it's some shift is getting on chefs getting on your nerves. I mean I mean it's some shifty things going on.  I'm a chef. Yeah, come on, man You better I better I better not find out. Listen, I better not find out.  I'ma come to you DJ is over here.  Shout out to breakfast. Okay. Nah, but His mashed potatoes. Excellent Fantastic. That's all he gave you was mashed potatoes I have some green beans too. Green beans is busting too. Teriyaki chicken. Yeah, talk about it He loves the teriyaki chicken as well. Nice texture and great taste Okay, so you you'll recommend them to your friends. Yeah, of course Okay, let me know You you a celebrity chef and whatnot man. Tell us some of the people you don't cook for Can we can we can we go can we stand on them real quick? Tell them where that blue chips came from. Oh, man You got a couple football players in the put in the fold Yeah, um, yeah a couple of them more more recently, uh, little kim Uh Before that it was jesselerius That's my wild now sister. Yeah. Yeah, she's cool. She's cool. She's super cool She actually was drinking my remi with me.  Listen, we was we was drinking it. Um, you know, uh, who else? Benny the butcher. Benny the butcher.   I got trayflowers of Cincinnati bingles. Okay um jaren reed, okay, c hawks in kansas city now, uh Green Bay, okay, and they who do um, bruce ervin Sam bruh Your name is ringing bells out here in this industry. I mean Listen, I try you know, I work hard.  That's that's the that's the beauty of my business You say that you travel based out of it. I'm based out of Atlanta, but you know, I cater nationwide Okay, wherever me and my staff is needed. That's where we go. Tell us what's up next for you, man Uh, what's up next Like what like what what what's the ultimate goal? What do you want? Well? Tell us about this blue chip dream what I'm working on now is a restaurant. Uh It's a lot of work, man. Yeah, it's a lot of work. Yeah Sometimes I'm on a food truck Um, you got a food truck, bruh? I'll be out here. Okay. I'll be out here. You in these streets And I usually post on my on my business page where I'm gonna be at But um, I'm working on a couple things something a few of them. I really can't talk about yet, but uh, okay Yeah, the restaurant is is up next and Retiring me in five years, man. That's what I'm doing. How are you in now? You don't mind my asking. I'll be 40 next next week.  Yeah Hey, I was talking to my home girl the other day. I told her I'm 40 now I'm retiring when I'm 50. It's 50 by 50. I gotta have 50 million dollars by the time I'm 50 That's where the goal is right there positive thinking you put out there in the universe is real You know what I mean and for me like I've worked Really hard for the years that I've worked and you know, I started working for myself when I was 24 23 24 Okay, and you know people sometimes like man, you need to sit down or you know, you need to take a rest I mean I take vacations, you know, I go places do stuff like that. But at the end of the day money ain't gonna make itself No But I gotta make that money not just about the bread, you know, I'm saying like it's about this craft Like I bleed this I lose sleep While you know people are sleeping get ready for the event. I'm I'm up Preparing their food. You know what I'm saying, but that hard work is paying off and I got five more years in this man and I'm gonna be traveling And these businesses will just be running themselves. Okay, so That's where I'm at. I love all people look out for that restaurant though. It's coming No, if anybody gonna get it, I know you gonna get a second quarter next year.   I don't know how to do nothing those but Hey, man, you I really appreciate you coming through the news actually see the show I know where is where you were right now, bro? He quiet where you were right now, man. He quiet. That's where he at Talking to the mic, baby You're gonna you're gonna tell your tell a friend a tell a friend, bro Get with the program But you want to know what I always tell people, you know When I'm when I'm doing an event The first thing people say well, everybody's quiet that must mean something It don't always mean that the food People could be whispering to each other Yeah, you know what I'm saying, but I wait for it when that first person come back up and my staff serve them That's it. You know, like it was good and everything's great and then the pans just be smoking There don't be nothing left in it. So, you know, that's when I know I did my job I'm not arrogant about what I do. I'm passionate about what I do. Okay. There's a difference I know I know how to do what I do But I'm not walking in a room like, yeah, you know, I'm the dada. I don't do that But I love this This thing I do right here. I love this Yeah Yeah, man. Oh, are you the only chef in your family? I would say yes, but I mean I come you know We come from the south, you know what I'm saying? So at the end of the day Everybody's a chef.  You got grandpa. You know what I mean? Do they try to take credit for your success?  My grandmother she'd say, you know, she'll see the stuff that I that I do and she would like, you know, you better than me Because I take some stuff that you know, I might have seen her do and I put my twist on it You know what I'm saying But I learned I learned by burning chicken. That's how that's how I started my journey Burning chicken fried chicken that I had to grease up too high and had too much flour on it. So, you know from there I'm here It meant I look I still have not mastered the order frying chicken I always burn listen. I do cooking lessons as well Yeah, that's I'm not just a caterer. So I do cooking lessons on date nights Okay, you know I might book a nice air boat on talk to me about date night. Take talk to this. This is what I want to see I don't I don't go out on dates I invite young ladies over And for you know, I'm saying A day if you if you could I need you to cook for me and whatnot.  Tell me how this this date night will work for me Now is that with you cooking or me cooking? Make it look like she cooking with you And whatnot and then I still want to talk to her why Do I want to talk to her?  It's murdering documentary on that's like that's like a uh Honestly jack. Yeah, that's a perfect date night though. Uh-huh doing a cooking lesson with your lady.  I mean it's intimate.   The bath is already ran. You know what I'm saying I got a regular bathtub.  It can I can make it look like something Now my bathtub will fit where it is, but It's not like them the bathtub is don't goddamn the best man or no shit like that I got you but no two niggas can't fit in my bathtub Well, basically, uh, the date night is me Booking either air bnb or you know somewhere that has a kitchen in it. Okay nice space for me. That sounds like more money right there I mean, we gotta be in my house what I need to do. You know what I'm saying and um I'm communicating with the person that's booking it. So let's say you're the guy that's booking it for your lady Now there's a lot of women that are booking these now Really a lot of women that are booking them for they got. Yeah, you know what? Yes Yes, there's a lot of women booking them for their guys.   I'm standing date dog. Listen. I'm a stunt double. Well, listen I never had that happen.  So yeah I am part of their journey, but that's also, you know Again That's just one thing that I do. I love everything you're saying right now, bro meal prep Oh, so if okay, I ship food nationwide, okay I am the black blue apron. The only difference is your food comes prepared and all you have to do is Stick it in the microwave reheat it. That's it Yeah, yeah, I got mr. Two weeks out coming next and you know, he's all about nutrition You know his uh, he's he's one of the most in shape motherfuckers. I know he's been trying to get me in the gym I know him since I'm 17.  We gotta talk a little bit more about that too because I mean I need like a fourth job So oh, yeah 100 100 percent.  We gonna have to work on that one. Uh, I don't know about that I don't worry about it. I don't know dollars that Yes, they will you be surprised, bro You be so you too hard on yourself Okay High blood pressure.  I'm trying to take It's a lot of women. We're gonna work on it. I hear dying. I'm gonna brand myself to be with you Listen, I ain't for everybody. Yes, you are.  That's that's it's 50 to one And guess what it's 50 to one and guess what do you got somebody right now? No, I don't Oh, nigga, you gonna get off it there.  You know what? Hey, we'll talk about it later. Yeah, we'll talk about it later. We do need to get into this though This dessert that I made. Okay. Talk about dessert. So the dessert is Uh, do say berry cheesecake. Okay. This is it right here. Yeah, do say berry cheesecake. Okay Tell me what you think about that. I do say the do say Okay Now this isn't this is not in any restaurant This is nowhere. So if you see somebody posting that shit, you know where it came from I don't taste the do say That's that that's a good thing though, right? That's a good thing.  Yeah, so you're just supposed to get like the essence of it Okay, so if you knew what the berries taste like by themselves and then you was the taste do say Then you would know that Yeah, it's in there And you're not don't wait. I'm you're not supposed to get drunk off of it. Okay People think with boozy desserts. You're supposed to get drunk. You're not Yeah, that's that's that's not That's not how it's supposed to be. Okay. You want to you want to try this?  I if you don't get no do say cheesecake today That's on you right there. I mean you could book me and get it. Oh, and I like what you did right there You can find me in my restaurant. This is delicious, man I appreciate it. No pun on my coat. You would lie to me though, right?  You are come on now. And you know I want that You know that It's the worst feeling in the world Man, don't tell her that don't I don't know about my coat. Oh, don't lock your doors. Okay. So what does that prevent? Okay, now if you lock your door, they're gonna push one. They gotta pay for the one But you're still gonna rob me. I'll go. I'll go through your life. I'm gonna get in there anyway I'll go through your life.  Oh, okay. So if you don't find anything that's valuable You're gonna leave. You guys are nice robbers. You you guys I'm talking about what I do what I do for me cause for nobody breaking my car. Oh, okay But no, no way back then So let me ask you this Has y'all y'all homeboys ever turned on y'all while y'all was performing and broken y'all car We gotta bring the car too. So No, I don't know what up, man. We love you.  Yeah We've been down we've been down too many years. I can dig it. I can dig fights That was back in the day I'm glad it doesn't happen. What's the dumbest thing y'all spent money on? That's a whoa. That's a great one a lot of money A girl Always Why was that dumb? She want my girl niggas show or not. How much did you spend? Are you doing this currently?  What's the most you look?  We had a club. What's up, bro? We need a field team And then I thought about stupid that would you give the money where we work for you thawing it in the L That's the I never understood that There's a lot of beautiful women through school.  I think you guys were helping your community Thank you Stay right there. We'll be right back All the labels when they sign a new order, they'll send them a crucial and give them a little money to throw Like they had a shop all day. But we don't need so much for the world. We turn the crucial up We tell it crucial up. They they they super turned it up. Think about the club. Think about the club, right? You remember they were begging. Yeah, I didn't say it anymore. Cause we tried it. We switched it. Why? I was too busy bouncing. I didn't even notice that People with more house You guys were very rock That was what made you unique. What I lost my hand. That's how I wanted to get a mohawk.  And then I was chafing a lot and whatnot and Yeah, I'll get like these little brown spots In the inside of my leg We we are fidgeting.  You see everything in my part.  So you guys have families? You have kids? It was married None of y'all married. Never got married. Never got married. I wasn't dating a whole lot of time on that. A whole lot No, wait, your partners didn't know said it wasn't real. Hey, god, it couldn't be real. Okay, so then I gotta act. Are you the emotional one? No, like I used to go to the jeweler store So when I go to the jeweler store The dude said y'all always say me the ring. You want to ring back out of ring position? Yeah, get them in. Get back. You want to get back?  Yeah, she's still taking care of all them women I'm saying we we if you with you. Yeah, you're getting taken care of But when I leave you Everything go back to normal. Yeah 100% that's how I go if a girl with me. She my girlfriend She might feel I say right though. Well when she go home then, you know Then you might have a new one turn turn into a pumpkin again.  I want to see you So relationship goes Like we used to say will and jada. I always did I just think that they were like some of my favorite But that is a good couple and barrage. Yeah, I don't think they're bad. That's why I'm still bringing up will and jada because there's a lot of people that Respect their relationship. Um, then you gotta respect. Yeah, like, who would you consider relationship goes?  Yeah Is you come on man It don't even make you motivated to commit If I find one, I believe you find the right one one of them Is god bring me one day and not just going god bring and I feel like and you're gonna settle down. Will you cheat?  I'll be You know n***a pass that Repair that I don't have a relationship I ain't cheating It might be like a man or something, but I ain't cheat.  We don't do it. Yeah, I had broken hearts. Hey, yeah Well, really how'd you handle that?  You didn't screw her best friend. No Okay, let's do it. Let's do it. Let's do it. Let's do it. Jackson, that's how you These n***a's out. They eat my therapist right here.  It's it's it's serving me You know, we don't feel comfortable going to any post-op being but I feel comfortable pulling up on my dog Where y'all at? Man, he got nowhere wrong with me. Where y'all at? Boom. We chilling. That's it. They're my therapist. I take them to the club. Come on. Let's go to the club, man No, let's go the jobs they connect to me and support each other So y'all know how to hit up my followers and tell them that y'all we're gonna be on I had to ask them What they wanted me to act y'all they want to act y'all how y'all are related to current stuff So like the situation that happened with chris and will Who was wrong who was right? They want y'all opinion. I don't know Come in here. We were talking about it down there. Had a little spack about that. Yeah, we were talking about it So it was a split. Yeah, because he he felt like I feel like nigga, don't put your hands on me Okay, you feel me like nigga, don't put your hands on me. You slap me. We fine till they pull us apart. I'm buying we We know you can't slap me You just slap will back. Hey, yeah, we've been rolling up that motherfucker. They would have had to stop all that But fat was like I felt on the ground fat like but I would have hit the floor Yeah Come on man, we don't we don't listen to me in front of all these like they may got a family kids all these But I got to explain it.  Come on, bro. But somebody disrespecting your queen and got the whole audience cracking up Don't say that in front That that goes on the comedy club They respect comedian They shouldn't have been in the front At the end on the show or something We get what you said he probably felt he wasn't gonna get hit back No He not like he was in special class in school I don't know for real for real Oh, my bad. No That's how he was in special class So when will Smith did that they were like Like you pretty much I didn't know that Chris was supposedly like mentally impaired Yeah, artist Oh So but he's he's I think that he's he's actually functioning now as an adult So that nigga ain't special He's slapped that man.  I don't Oh wait, because you get money then you're not supposed to have empathy for a person who's getting money. Yeah, but then it like I just think will was wrong. Yeah Okay Yeah, you can't Right, but you ever seen the movie falling down? No, it's a bad day. It's just a bad day. Anybody can get it. Yeah, like it's one of those movies I don't like to buy the studio audience already. Y'all y'all seen falling down.  We don't have to be aggressive to be assertive. Yeah, so now I work with that So all y'all agreed that he was wrong. Yeah, he was definitely wrong. Okay. The next question. This is another one. It's very difficult It's about Irv Gotti. Do you guys think that he's unfair for talking about his ex? Yeah, that's He and his feeling man. That's so old. You see you remember that?     You see what I want with it.  I think that the passion that he put behind it He hadn't dealt with it. It was yeah, I don't think that it If Nellie took one of your bitches, you'd be the same way. I wouldn't be the same one I wouldn't Has Nellie ever took one of your bitches? And didn't get them put on some apple bottom jeans? But did you know, did you care about her?  It seemed like her privacy was being attacked But I don't I don't think that it was And I'm all for women, but I think that man He cared about I care about you too. I care about all three of you But no, I don't think that men shouldn't be able to talk about girls. I think friends.  No, he's ain't gonna speak for me.  That is not what he said You're gonna put a ring on oh, no, I don't have it. I do have a ring.  No, that's not what I wanted. What you want to do? You can tell you take my nigga the roof grass He can take me the roof grass. You like this fix? You like seafood? Whatever you like. I love seafood I like seafood. Yes. Oh my goodness. Hey, can I go?  Oh, yeah But for real though, he did that one the wrong and two, that's let me say that's a shunt This ain't just no regular little bra that you're speaking about. She got history and it's a bad woman Like at least you could do is you're doing too. I did You know what? Say listen, we not we shared a pass and you know, I still respect that Yeah, yeah, I just think that it should have been handled but I think the conversation he was being probed They were asking him questions about it.   Did you see what he was saying?   Tell the people how big my boss is I don't like it I don't like it. Yeah for real though. Like you keep me private. Yes. Keep me proud You're crazy. It's so crazy. Yeah, I got a family I had a family. You are embarrassing the family. Yeah, you're crazy, man.  Now, this was something that I never understood about the shop boys Like it seemed like y'all were always there even as like big celebrities. I I I never got it Yeah, you you could like you could really Like roll up on boy home and you might see one of y'all in there I didn't get it Like y'all I thought y'all had clones at first, but no, I know them really them niggas Yeah, no, we we because we were real niggas that really made it out We were real niggas for real first like we we had real hood love first We were the real home team heroes first And that was expected of us. It's like a family It's it's one thing to say people it was what expected of y'all Did you feel like the people in your neighborhood make y'all feel obligated to be there? We left so fast That's all we knew. Right.  That was our life When we moved in bone home, we grew up in bone home We wouldn't know like we were 12 and moved out. Yeah, this is our only place to live in You know what I'm saying? We know nothing else. So where else we gonna go?   No No, we ain't doing that, baby We ain't doing that one I'm the only one. I'm the only one that's happening. You're the only one, Jay.  It's over. You always been like that.  I see you over there.  No, we are like that crazy That crazy that's a different shot of crazy. I know he's a strip I'll be here in that man. I know I I've seen don't sum up to my youth strip with the mr. Two weeks out Yeah Yeah, did y'all know his name? No Tell him a good one, boo. All right.  In pent-ups. Yeah, when it was called guys and dogs He was very proud. Really used to screw really I was stripping working in pent-ups and doing comedy and up to Uncommonic, but he wasn't going by bob wire initially. It was honey buns. He's very famous out here Yes They knew me when I was honey bun. Oh, yeah, I used to know by them stripping I didn't they probably didn't go to the strip club one thing about jay. He's gonna be everywhere So I would every time we turn around. We see this man every every goddamn room.  Yeah How was that even possible? Okay, you got a look you got You got one of the bigger truck stops in the line of joy down the street. All right, you got Well, you'll think they crazy where they smoke they smoke a bit They not prostitute your 90 women prostitutes while they doing the going to the Game money from the truck driver going to born home by the work You feel him. So there you got born home with like one of the first Places in a land of where People were kicking drool. Oh, wow. So it's it's a lot of history. So it's a lot of reason why it was Yeah, also also, I mean cut y'all bro, but like Five niggas can get 50 thousand a day back in those days easy. So did y'all have like the cops over there? Hey, yeah projects. I'm gonna tell you you seen them document.    Are you looking at niggas making half of me in a week?  They all knew y'all niggas in the world. I ain't really got nothing We finally got me a mess Yeah, we got legends down here For Detroit, but yeah Yeah, so they from Detroit. Atlanta would see Atlanta See B.L. Miller came to Atlanta. Why did they come to Atlanta? Oh, yeah, this season they're coming to Atlanta I'm about to find out They're coming Yeah, no, but don't give it away. Yeah, it's coming.  Yeah, them niggas came they made niggas believe in B.M. Dubbys and Niggas cripples was driving Lamborghini Man, the money used to be off the ground this high In the strip club.   It was a nigga with an ice pick in his throat.  Hey, but another thing about Atlanta too Like, you know born home how we got out it with like directly across the street or across the street you got like Some of the most Richest black people like heart surgeon people on funeral my granddad. He had like 300 house Like you had a real mean there like that on the other side of the street. No, listen. I love that. My good friend candy birds She still stays and born Yeah Yeah, and she's Still in the area. She's like, yo, these are my people now. She's in a double gated circumstance She's in the gate behind the gate But yeah, that's just same place to say that she should you know what I'm saying But no candy is like, yo, if you from Atlanta, it's just something about being around the people of Atlanta So y'all really rock like that. Yeah, that way. Yeah, that's dope. I don't feel A lot of people from Detroit We need to go into the birds. I think we still respect our city But we normally move out of the area just to keep you safe. We're gonna be around and we probably move out But we're gonna be in it every day every day. It's five days a week at least We're gonna be pulling up because that's our family. Like they don't determine your pocket don't determine who you is That's right. You know what I'm saying? So and especially if they don't keep showing love. Hey, yeah Have you ever got stage fright before? Oh, no, no, I don't remember that No, there ain't no stage that ever intimidated y'all. We y'all just running through the Running through the back. You're quiet in the middle. I'm trying to see We got Madison Square Garden With no feeling no It was somewhere traveling I was where we probably been on stage Just so you don't at eight But our boy was in traffic like four lights away like at seven to get out that bitch So we had to get all the way right now to the thing Go upstairs and why not on stage like we did I like my brother's song No, y'all really do need to think about doing that movie.  I remember the um new edition You just When they did that series it told so many stories like could you believe one of them was with jenny jackson? Yeah, that's Bobby brown.  No In the book it said that you and they asked him on the brink for club.  Yeah, this nigga was very cracking.   So I can see that jenny be a while and figure out music But she couldn't she couldn't do it in public. She couldn't do it in public But she could like Bobby brown and that's why I rock with Bobby brown Bobby didn't come we have social media It ain't no telling what she would do Oh man, shut out the money and the other nigga Renee was a saying he was cracking and she used to say any time any place She freaked out. She will freak that I like shout out. Can we give a round of applause for jenny?  Yo, have y'all had any famous like jenny? We love to hear about it Yeah, man. What man are you on? Oh What do y'all know? No, no, no, no, no Oh You have a thing for she had her eyes on my partner, man Really kind of like well, I she grabbed him and everything She grabbed him and it was you. Yeah, she grabbed on meeting had everybody man.   So that's is that what you're into? I don't I just like beautiful It may have been happening to be white Is she fine is all that matter? Yeah, bro. Anyway. Yeah, are you guys dad? What's on the outside that matters? 100% yeah It's what's on did y'all hear what he said what he said you guys pick women based on what's on the outside That's what that's what initially I didn't flavor-flav no nobody said that he was cute No, I'm saying I never I understand, you know people out there They think they got to be licey and curly hair whatever flay was fine to me When a nigga ain't around and they yield down and she speak on me Yeah, y'all shout out to play me put he really put myself 60 women on Let's just say that And he was real humble about the shit and he's still like text to this day and be like y'all I'm just checking in or whatever flavor's like a real nigga. She's really grounded. She's buried down to mars. I mean He meant earth no, I am down there. I Would like a good-looking man, but I really date for energy like if I feel a connection or whatever I mean because y'all looks conveyed.  I thought you were comparing it to like your lights were on No, no my lice is on in the house. I'm never my bill was 60 dollars I'm doing all right. My energy is going through the department. Yeah, really 100% Hey, man, what's the whole fact of fiction? This is another thing that um, I always wanted to know You guys got a five million dollar deal at one point and you you you did uh, legend has it you didn't see it at all That's um A part partial effect who got a lot of money And uh other departments of the music too, you know saying we we made a was it a 360 deal is that what you're saying? Now when the 360 did we had a um like a like an independent type deal and um We had it through our uh manager and CEO at the time uh, brown wall on their records, you know saying he really behind us and um It was just a situation where they came between us so they can keep the money not the record label, but um Can we speak on it? Yeah, it's like a little turning. It was a turning So it gets deep, you know what I'm saying, but it was that Hold on. We got a car washing there. No, no, no. I don't even know that. Yeah, but I don't want to speak of it Hey, I get that. I'm gonna speak of the name yet, but yeah, it's a lot of money We gonna get either way go way more than five million down that we know who is way more Yeah, way more a lot of artists from the primitive damages Punitive Yeah, but a lot of artists from that era went through that do do you guys ever go to court and actually get your money? You just be like no, I'm straight. I'm yeah, how do you audit that? Both of us A lot of people were just going through situations. They're living with yeah, but we the shop Well, we were like, hey, something right something right, right? So y'all stop in the beginning No, no, we didn't know we were playing music. We were playing the CEO of the company Everything went right. We were real vocal about it. You know what I'm saying? And what we did was because whatever they were trying to do they didn't expect this song to be so big Just make you trying to steal from me.  Let me check my money No, listen, I hear that all the time, especially of that generation or whatever And they all are like, yo, these are people that we trusted And and they knew we didn't understand these contracts Who's putting out all this music? But then they were charging us for abc and xyz and then this was their original cut And then they had to pay for this and do this and then at the end of the day Our song is big our name is big But we don't have anything right. It won't with the label with us. It was with the lawyers, right? Like you pulled a trish old lawyer. Yeah Anything they tell you go get a lawyer, right? Right. So Without situation without a lawyer that they're making everybody be like, hold on.  We even get no lawyer, right?  Yeah, but the whole time it was just going to the lawyers He never get it. Right. So and he telling this shit, but we like nigga, please This can't be Ain't no way in the hell and we once we got the right attorneys around us Because our attorneys were saying yeah, he got is going to his lawyer But when we got the right attorney, they were like, no this nigga he keeping the money The attorney is so that's when we went to chopping it up and he And getting the backdrop on everything like damn, because we could have hurt each other. Yeah, of course He'll straighten it. He got it.  To to prevent that When you take when you go Be a lawyer, you got to do an oath.  Yeah, I think a lot of artists don't know that it be the lawyer Like a lot of niggas be thinking it's the label Right Now we finding out damn it ain't the label is really the lawyer. So all right, boom. We finna go at your way We found we found the bottom. We don't dealt with some dangerous niggas. Right.  Like come on. Yeah, it's deep So artists that are out now because everybody has a song due to tiktok if you got 15 seconds of something great You can create a single and you can actually be a superstar I mean got artists like even like saucy santana who I really love You know, I respect him. I respect his grind, you know, he started off connecting with his audience He turned it into a music career and now he's doing major things But what would you say to someone who's now trying to become an artist? Should they actually go look for an attorney? Oh, man, I would say shit, man. Because you still need one, right? Yeah, you need one, but Yeah, get one lawyer for the other lawyer. Make sure these niggas don't know it Oh Yo, I like how smart y'all are. Y'all are the niggas. They like corporate thugs. I like that. That's pretty dope. That's very sexy. Thank you. You've been I'm excited. I be feeling like you're talking to me. I've been waiting a long time. Really? Yeah, are we online? Talking to or do we follow each other? We need to we should follow each other. We might not need to that's what that's That's what's wrong. Ain't in jane with no more. Just get my number Okay, that's my Roof press. Yeah, okay Yeah, that's the name of our new album coming as well So y'all sing with sky's the limit. Yeah, the name of the album is amazing shop boys. Yeah, that's really dope Shout out to y'all. Where can everybody follow you guys?  She and follow the shop boys play shop boys on the school official Yeah, do that. All right any performances coming up where somebody can catch our live man We're trying to put all that together. We we actually point the um promotion or two together right now But we definitely just in the clubs in Atlanta and we do a lot of Like we got this softball event this shit big man. Y'all need to come.   Get y'all back down to ready to go You can see the That's it right up You can follow both Do that. Thank you. And he's the one named jay Is that a shop boy? He following me Okay, i'm sorry my bad So you fat one yeah, okay I got a shot y'all out because this is really dope. Y'all do that And we got to get you to the softball gun for real jack.  We ain't seen Libra That's a grand man club right That's the yeah, I was in there It was on a Monday night. It was on a Monday.    We're doing content every day too. You know what I'm saying we got Stay tuned man. Yeah Everybody go ahead take some pictures ma'am. See y'all next time.  We open. We gotta hit do have something in mind y'all go to commercial And then she got you