 but shall we get started yeah it's yeah it's about time so welcome to group for Drupal A I'll start with introducing myself I'm Christian Van Den Ender I work at Deeson which is a UK based company you probably all know I mean look at all the people here with the hoodies I come from enter Belgium which is like the most awesome city on mainland Europe so I'm happily married I've got a really awesome cat called Django and there's this one thing that I would like to mention is that I'm a highly sensitive person so speaking in front of you would freak me out and this is the first time that I'm actually speaking in front of an audience so that could really freak me out so if something goes wrong like I get a panic attack or whatever don't worry I'm not having a heart attack just I thought I should mention it so what is group about group is a management tool which sounds boring so the next slide we'll say something different so it group it allows you to group content together following a specific set of rules it allows you to grant users permissions for a small section of the site and it allows you to control access to specific pieces of content most generally notes so what about OG that's a question everyone has on their mind right now yeah everyone in the room probably knows OG organic groups it's another module that sort of does the same thing that group does except it's usually frustrating to use but I'm not going to bash OG that's bad karma I've met Amitai in person he knows my face so I don't want to beat me up next time I walk into him at Drupal.com yeah but still he's Israeli he could have all that combat training and stuff so so yeah it's bad karma and by bad karma I mean I probably couldn't take him on so so I'm just quickly going to list what I didn't like about OG what made me create group like a few years ago in December and the group 7 version took me two years to make because I did it on my own time this took me three weeks to three months to make because decent allowed me to work on it during company time she's awesome so what I didn't like was it that it repurposes existing entities more on that later and its groups can overall configuration hence the word organic for their use case that may be cool but I want to provide a tool that is solid and that gives you get a guarantee that it will work the way you define it to work and not have users on the group level just you know go like screw your rules I'm doing my own thing so I don't want that all of organic groups magic is based on who has what fields so they have a few special fields and if they're attached to something that means they're a group or that you can put something in it and stuff like that which really got me confused at first because I started adding those fields myself instead of through the OG UI and then everything went to shit so yeah whatever said that's my last point in user experience wasn't really great but again I'm not going to go into further detail because you know haters gonna hate but I thought this was more appropriate seeing as we among them so I do hope you're no longer using those types of bicycles must be really uncomfortable so what's groups approach so I said about home repurposing stuff so this is a story about happiness of contents and you know imagine by the way those guys are flurbs we sort of invented them and I named them and I really like that name so those guys are flurbs so suppose all flurbs go to the Drupal content college before they get you know a job on a website and they all follow a specific major some of them try to become notes some of them try to become users some of them try to become taxonomy terms and they all have you know this vision of them being that they really want to be that so come graduation day they're all really excited they you know can go to a website to work for them as a note or as a taxonomy term and they're really excited about doing that most of them succeed most of them actually get a job but some of them don't some of them aren't recruited to be a note there aren't recruited to be a user but they're told that they're groups and they're like what the hell's going on I studied to become notes or I studied to become a user and now you're telling me that I'm a group what's that I don't know how to be a group and then someone tells you yeah you know what we'll just give you some tools that allow you to be a group and just you know be on your way but that doesn't make them happy look at them the rest is happy and those are two sad flurbs so what group does is it fixes this it makes the flurbs happy again so it allows them to go to college and actually major as a group so from the get-go they learn what it's like to be a group what they should be doing and that actually makes it happy again so when graduation day comes there's happy graduates all around and if there are websites recruiting flurbs to become a group they can actually recruit those two flurbs with a G on their shirt so that would really satisfy them to do what they want to do so what are the takeaways that group groups do what they were meant to do all along they study to become a group so they get to do that we don't touch other entities and I don't mean that in a sexual way whatsoever it's just I just realized that because I'm Belgian we have history and whatever so flurbs should be happy one one minor note is that this is all being really abstract but for the developers in the room when I say groups do what they were meant to do all along this means that a group is a dedicated object it's an entity in group ballet so you're no longer you know having a note that's a group and then have to call all these weirdly named functions on that note because that note isn't actually meant to be a group so now we have these group objects and you can just call methods on it and it does what it needs to do so let's have a look under the hood I'll try not to be boring so groups have group types and group types are like content types for notes but for groups that's the easiest way to explain it so what the content types do they allow you to field notes of a specific type so articles can have different fields well group has the same thing you can have different group types they can all have different fields but they can also have different permissions and available content more than that later but that means that you can have a whole rule set for one type of groups and a different rules set for another type of groups and all groups of that type inherit that so there are no per group overrides is just one set of rules that you define as a side builder and that gives you the guarantee that everything will work the way you intended it to work because no user can by accident just break stuff so when it comes to adding content to groups group tells two stories it tells the story of why or how why or how content is inside a group so for instance when you have members in a group they're actually putting user entities in a group but you don't really care about you know shielding of access to those users or whatnot you care about why or what why or how that user is inside the group so I have the example of a gaming portal this is a great example and I'm a gamer but not I mean I don't really game all that often but I saw this website for gaming plans where you sign up with one account and then they have like portal sites for all different types of games but they all work with your one account right now suppose that those portals are groups so you have this group type for a shoot them up and you have this group type for an RPG then you you want actually different data for people joining one of those gaming plans because for a shooter you may be interested in how well they can tee back some moment when they've killed them or whatever and for an RPG how well their role play so this is a great example for that because you actually care about the person in your clan not not their account you don't want to know what your email address is you do not want to know what their username is that they signed up to the website with you don't want to know their date of birth for instance you just want to know if you're joining my clan what's your gamer tag and how good are you stuff like that so that is the why or how the group also tells a story of what so in this case of members you wouldn't really care about what's being put inside your group that also happens so what if you want to add notes to the group but you don't really care about how you put the note in a group you could feel that because group allows you to tell both stories at once but what if you don't really care so for example if you have a website like a newspaper with paid contents then if you put those notes inside a group you care about what notes are in that group in that paid section because you can shield off access to it so group allows you to tell both stories or both at once depending on how you configure it so in order to explain that I'll show you how entities are grouped so suppose we have a group on the left of type reduction by the way I should have changed that because apparently that is a word that you don't really know all that well sometimes a reduction is just a bunch of journalists you know drinking coffee writing nonsense all that shit that's a reduction and well yeah a notes article I mean you all know that you've installed Drupal at least once I guess so how do we add notes into a group it's by having this go-between entity called group content so what when I said the why or how something is in a group that's actually what you configure on the group content and if you want to know what oh yeah that's just the note on the right-hand side so what group content is is it's fieldable so these are the fields I talked about you don't want to know what that user on the gaming portals account is but you don't want to know his game attack so you'd configure that as a field on the group contents which is really easy to configure by the way don't get scared by this it's the only technical diagrammage thingy in there so and these vary per group type and per target entity so this means that there is a unique group contents entity well actually bundle for the relationship between a redaction and an article so if you have a page note then we have this different group contents entity so it could have different fields so yeah and it's also it varies per plugin because it's managed by plugins don't get scared by that it's this new whole Drupal 8 system I don't expect you to know it I will demo it in a second because it's really cool but yeah managed by plugins don't it's I'm gonna show a little developer so this is what I mean by managed by plugins this is all you need to add stuff to a group you just have this one class extending the group content enabler base which does what its name actually makes you think it does it enables you to add content to a group and you have a few keys that you can configure and that's most that you need and then you can still override the base class and stuff but whatever so I'm going to show you this and I'm a really big fan of memes so I put three in there so yeah so let's have a demo so we had those two stories yeah so the thing is that once you enable group you get this extra icon at the top with two flirts and we have this demo where we have the gaming clan so let's go to groups I already configured a few things because I didn't want to bore you with me configuring all sorts of fields on group types and whatnot so one thing you'll notice is a lot of modules split up their stuff into three sections for instance nodes are on their content no types on their structure and then configuration for the module could be on their configuration I thought screw that let's go with a different system everything is on the group there will be nothing anywhere else so you'd never have to worry about not finding something it's all there so I have three groups here but before we go into that I'll show you the group types so these are the group types and everything that a group can do is configured on the group type obviously because they all inherit that set of rules so these have a lot of things you can put fields on them but and this is the main part so for instance for a clan we have this plugin because group memberships are just plugins and as you can see the group membership plugin is installed and you can enforce your plugins so for instance this plugin allows you to add users to a group as members but the small letters read that this will always be installed if you add your own plugins you can do that as well if your module absolutely relies on it being installed every group type you can so I configured a few fields I'm in the call of duty plan right so this is where you configure the fields on the relationship on the group type so I should have probably oh no here we are here we are I was just okay so um yeah do you take back the people you should what's your game attack how many headsets do you score each game what are your roles so let's have a look yeah there's also other stuff on a group type because obviously og and group they all have this permission system so this is what that looks like you have this overview page every group type gets three rolls out of the box anonymous outsider and member they are explained at the top it's pretty obvious if you're an anonymous user on the home website you don't have an account so obviously you want anonymous users to perhaps not be able to do stuff for instance join a group because then all the anonymous users would share that same membership then you have outsiders outsiders are people who do have a website account but are not part of the group they're not members and then you have members members like authenticated user you can define your own extra roles but everyone who's part of the group will always get the member role it's just like that so you can always just like authenticated user assign some common permissions here they will get you'll notice that some of these permissions aren't available you can also configure that you can provide your own group permissions and say what type of roles they're available for one thing to note is I have not added any permissions here and I still will be able to demo it it's because I'm user one obviously I configured the second part of the demo by the way but it's also because everything you can do with a group is a group permission except for two things one of them is create a group because how could we have permissions apply to a group if the group doesn't exist yet so in order to create a group of a group type that's a global permission that's one of the only global permissions the second global permission is the access bypass just like note I have a permission that allows you to bypass any access you want so that you don't have to have administrators use the user one account but you could have multiple administrators with their own account and still allow them to bypass all rules anytime you check for access on the group object with the has permission stuff you don't need to account for that group does it for you so you can just check for the permission you're checking for so demo time we had two groups and one of them was called the pros called duty plan and yeah it's just got this description field that I added to it and you've got this block on the left hand side which is really cool because I've created a system or implemented a system that allows you to have blocks that only show up on group pages so if I go to the home page you'll notice that block isn't there so and this one just allows you to join a group and when you join a group you get to fill out the fields that were on their membership now just a note out of the box there are no fields so you would still be presented with this page that says join group but have no field so it would be weird I plan on having a configurable message on there that you could show or have you be able to skip this page if there are no fields but I mean it's still an alpha so give me some time right so if I want to join this yeah whatever and how many headshots do you score I mean there's yeah cards whatever I don't really care so now I'm a part of this yeah and I get redirected to the actual group content entity now but if I go back to the group so I'm part of this group that's basically it if you go to the member section remember I'm using one you can see you can see the members you can also add members and this is really cool because right now I joined it and I didn't get any role selection right but if you're an admin and you want to add members there's this add button on the overview page and then you actually get to select who you're adding to it so I have this test user on the website so there we go and then I can assign roles to them so you as an admin can actually see fields that someone can see when they join so yeah that's just to show the cool stuff you can do with it but the other thing I wanted to demo just to show that use gate is that we had two groups so here I asked about how many headshots you give and whatever but we also have a Minecraft clan which is like digital Lego for adults so if I wanted to join that there's different fields so members in the one type of group can have a totally different profile than in the other type of group that's perfectly possible and it doesn't really take all that long to configure you just add those fields like you would add them to nodes and that's just a relationship so that was part one of the demo so now we have part two of the demo and that is adding nodes to a group right so suppose we have this press area and it's private section so again let me show you the configuration for that so we have this private section and if you go to available content you'll see that I've actually installed a plugin here I've just clicked on install for basic pages so now we can add pages to groups of the type private section again we can configure those fields but as I told you before it doesn't really matter if you want to add nodes to a group and you just want to shield them off you don't really care about the relationship but you could so if for some reason you want to someone who added a node to a group to assign a responsible person who would get fired if something was kinky in that node then you could so yeah anyways I did assign some permissions here because I'm going to demo the private part of it so I allowed only members and editors to view this group so this is just to show you that the permission system already works there is this little confusing part right here still that I'll explain in a second I allow editors to access the group node overview and members and editors can view private nodes so nodes that are in the group and they can view the relationship these above ones are provided by default by the plugin that you can extend I should have probably turned them off for group node but I actually like them there I'm going to relabel them and these are defined by the group node plugin and that does apply to the actual nodes so if we go to that group it'll all become clear because I'm just rambling right now so if you go to that group we have this view and this view which show which private pages are in the nodes who created it what time it was created on who added it to the group so the last two columns are the relationship and the two columns before that are you know just the node creation time so you can have views that have data from both the relationship and from the entity that you're adding quite easily it's really easy to configure and the title of the node so right now we have none and if I have a private browser version and I want to view that group you'll notice that I have no access because I didn't allow people to access that section unless they were members so let's log in as tests yeah I think you can guess what that password was right so if we go there then we can see the group because test was actually a member of the group so but if we manage these members and we can see that I added tests already but if I edit tests just to make him a basic member because I made him an editor already if I just edit him for instance you'll notice that he had this ability to create a basic page because he was an editor yeah that's gone so he can no longer create that and now I'm going to show you something really cool something that I don't think anyone has ever done in Drupal 8 up until now there have been blog posts about it but not the way I did it so let's edit that guy again so let's edit him again and let's make him an editor so that we can show that he can create that as well so what I showed you earlier was that you could add users to a group right and you were actually configuring that relationship that group contents but for nodes I don't see you guys wanting to first create the nodes globally and then add it to a group that sucks right because the period between having created a node and adding it to a group denotes public so you don't want that you want to actually create that node inside a group yeah that's this so you're creating a basic page and you could call it a page demo and have some text in there and then it has a button say continue to final step and this step is the relationship page again so if I were to configure fields on why you're adding that node to the group that's this step so you don't get access to slash nodes slash s slash add slash page you don't get access you only get access to group slash the number of the group and then you can create or add a page so we don't have to have that security possibility of people being able to add nodes globally and then rely on a field that is enforced and has to have specific values no we just have this form wizard and now I'm telling it to create that node in this group and it's created again it's an alpha sum redirect or a little bit wonky right now so if you go to that you can see that we have this full page demo there if we go to the homepage of the group then you can see that it was created on that date by whatever and but if I switch back to the other window and I go to that group I have some more nodes so if I add a node so first let me show you there's this node this this was full page demo I've got also some page created by test before so if I want to add that node and it was called some page and yeah there's no field so there's no relationship data and if I go back to that group then you can see the difference so both pages were created by tests but the second one was added by admin so this is really cool you can you can really find out who did what and have views based on that so that was the second part of the demo to show you by the way both pages are now part of this group so I can see this I can see this page this is just that page if I go to the private window because I'm logged in as test and it's part of that group I can see it if I log out and I try to go there yeah no so that works so those are two modules that I provide with group just basic group and group node because that is one of the most common use cases I thought you know what I'm not going to depend on country building that I'll do it myself now let's close this session I I did one last thing that I wanted to show you to blow your minds I did that just like right before I started people in the room can testify so when I talked about plugins that enable you to add content to a group let me demonstrate how easy it is to get started with developing for a group so holy shit what's this oh so yeah that wasn't okay whatever so I created this little module suppose um because this is really cool there's two aspects to it usually you can only add an entity the type of entity to a group like once so I'm already adding users so you'd expect that because I'm already adding users to groups as members then well everyone else that wanted to do something with users is crude well that's not true because the plugin is one of the things that group content varies by so I can create a second type of plugin that allows you to add users to a group as well but just do different stuff with it so for instance the group membership plugin is what defines what permission someone has what roles he has stuff like that but I could create this plugin I hope you can all read this that is called notify and allows you to add users to a group as well and the only thing that it would do is for instance give you a feelable relationship the group content that that allows you to send emails to them so you could have members in a group with the group membership plugin but also add members to a group and saying you know whenever we publish a page in this group I want those people to be emailed not the members no because some people may not want that we'll have this opt-in system where people who do want to be notified can subscribe to this list that's possible I really hope this doesn't blow up because I did this like just now but this is all the code you need see there's there's nothing in there except for that one plugin there's no code it just inherits the group content in aglerbase and yeah there's an info in a module file so I'm not oh crap that should be empty so yeah I just did that for a sec so there's nothing in there well there isn't anymore so um of course we need to enable that module and it's down here so demo module here we go please don't blow up it shouldn't but still I mean this is the part of a live demo that's actually live the rest was prepared so okay so this worked um so let's go to a group type and for instance let's have that private section that press area oh crap and let's go to the available content for that group type and oh hey there's this new plugin here I can have this group notify thing again it lists that it also adds users it's defined by the demo module and it's not installed so let's install this so that's it that's all the reason by the way don't create an issue about this please in the issue queue it says nothing to see here yet yeah that's something I need to do still I want those plugins to be configurable as well and so while that link installed and uninstalled right now just does that without anything else both should be a form that allow you to configure the plugin because there's some really cool stuff that you can configure already so I enabled this so if I go and look at the permissions right now then you can see that for the demo module it automatically defined permissions to access the group notify overview page to uh create group notify content whatever um this is just the basic wording you can override all of those permission names in your plugin um and this would just normally allow me to add users so I'm user one so okay I'm not going to configure this but um the key was notify so I specified this path key so all the paths should start it's doing it again so should start with notify so if I go to that group and I go to slash notify so you'll notice that there's no tab here because I cheated and for members and nodes I created a tab because I want that to be configurable on the plugin so I don't want a tab to be automatically generated for each plugin you enable because that would get really unbility so I want again that to be configurable so if you go to notify so yeah let's add a group notify and you'll notice that if I start typing rubbish it won't show anything but if I start typing a username name hey there we go you can add a user and you could add fields to that that's how easy it is to create a plugin for a group just you know a little bit of annotation that's it and you can have a million ways to add users to a group and they won't interfere you can even have limits so if I I think I set one so yeah so the entity cardinality there's two cardinalities that you can specify the group cardinality and the entity cardinality so the entity cardinality is the amount of times you can add the same entity to a group by default it's unlimited and the group cardinality is the amount of groups you can add that one entity to using that plugin so here I set it to one so if I try to add it again and I try to add test again then there we go so that all works out of the box one of the things that is in the annotation right now is that cardinality that one I expect to put on the configuration form so that it's not hard coded because this is actually configuration right the type of entity you add the bundle you add that's all just what the plugin does but this should be configurable so this is something that I'll put in that configuration form so yeah that was basically it so going back to my slides are there any questions yeah yeah well there is a lot of feature parity because both thrive on the idea that a group should be its own entity and that they should have all of their functionality on that group object there is a lot of functionality similar for instance the the anonymous outsider a member id is similar the group id is similar however this whole plugin stuff yeah that's not in Drupal 7 I didn't really bother backpoiting that and the way group roles are added in Drupal 7 is a little differently in Drupal 7 there is this little system that I had where you could add one group role that could apply to our group types but I just tossed it out because it was confusing a lot of people so that's no longer in there reason Drupal 7 hasn't been updated for that long is because I was working on Drupal 8 I do plan to go over the issues that have been created for Drupal 7 after this and one of my colleagues offered to help out with that because I can imagine I'll get a lot of issues for Drupal 8 as well but yeah I'll make sure there's a list or a table that says group 7 does this that no longer is available in group 8 which is all the stuff that I not all the stuff but just a few bits that I thought would be too confusing or user unfriendly because I've learned a lot from creating a Drupal 7 version and there will be a column saying this is all new this is cool stuff that you can do in Drupal 8 that you can do in group 7 so but yeah there is a lot of parity we even intend to create a migrate path from 7 to 8 but again I mean I worked my ass off to get this ready for Drupal Camp so please give me some time but as you can see it's already really stable and functional right the only reason that I tagged it alpha right now is so that if people come to me with a question saying it wouldn't it be cool if we could alter this data or configure this data that I can still add to the API if I tagged it beta I would feel really bad about changing the API because probably people would start building extensions and then you know flame me but if it's tagged alpha people understand I guess so yeah yeah yeah um this is just a permission on the group so if you go to a group type um and you manage the permissions then one of them is join group so you can only give that to outsiders obviously but if you disable that then they won't see that join group button and only managers can add people to that group permissions question um we've got field permissions individual field permissions for group content and well um no the thing is that um you'd probably want a module that does field permissions because these are just fields there's they're not shielded off so you could probably manage that with a module that does field permissions yeah but organic groups again it uses fields to do its magic and that's pretty weird so yeah question about the the structure you said but first of all I really like business I think your module has lots of usability I think there's a real usability issue by deciding to put everything under one top heading yeah instead of putting the content on the content in the structure and the structure and the permissions on the permissions because as a site builder I'm going to end up searching for where are the things why is this different than other modules and if other modules follow your example we're going to have some 20 points there up in the yeah I know so there's two reasons why I put it up there I will be able to follow the interval structure on that yeah because it will really make it easier for everyone okay I get that um there's two reasons I put it up there one of them is because I'm cocky um and the other is um it is so um and the other is that um I I know a lot of people expect content to be under content configuration of bundles to be on their structure and then configuration under configuration um the thing is that I couldn't really put groups under content because even though an instance of a group is a sort of content it doesn't really belong there so I would have to create that group tab anyway and then I figured if I'm doing that and people install the module and the first thing they'll notice is that there's this extra button at the top then let's just keep them there let's just have everything there if that doesn't work out if I get a lot of complaints about that I won't split it up and move it I have no issues with that but I figured it would be cool to just have it in one place so that people can you know whenever they need to do something to a group like configure a new permission enable a new content plugin whatever they just click at the top on groups and get started that would that would feel a lot more easier to me to be one click away from the whole page where I can manage everything it's kind of like the dashboard module in Drupal 7 everything is in one place I like that apparently some people didn't because I think it got kicked out of core I don't know but yeah so anyone else yeah so you have menus for groups yeah this is one of the things that I can demo um this is really cool yeah you'll notice that I'm really excited because I've created some really cool shit here um but let's see where is the so yeah we have this group operations block right right so um when you create a block in Drupal by default it doesn't require a context well that is in Drupal 8 right but now in Drupal 8 you can have blocks that require a context so if I go to group source plugin block so I've created this context and um this is the group context that reads a group from the URL so if you wanted to have a module that has menus for groups all you would need to do is create a block that uses that group context because the block that you saw earlier that allowed you to create a node in a group or that allowed you to join or leave a group that is just this block that you're seeing right here and the cool thing is that just like node types you can even restrict on what types they can be seen so if you just want one of the group types to have menus but the other is stone then just create a block that uses that context plugin just you know cheat look at my code it's already in there just copy paste that and start from there and then just you know say it's only available for Minecraft plans anyone else yeah yeah especially in Drupal 8 um one of the reasons I think that um organic groups went that way was entities were only really properly added in Drupal 7 by the entity API module and a lot of people didn't bother implementing that because even though C tools and entity API is great there's like very little documentation and the documentation that does get shipped with it is like outdated by five years or something um so that's in my opinion the reason why they didn't do it because og has been around since 4.6 so they probably tried um like creating their own sort of entity but try doing that in Drupal 4.6 where every module is aimed at nodes that's a hell right but they then just start I'm bashing og now I don't want to do this but they just started porting it version after version after version and just copy pasting their code and seeing what needed to be updated and kept that same context um kept that same id behind it but every module as of Drupal 7 the better modules all focus on entities like entity view mode c tools panels they can all use entities group is an entity and especially in Drupal 8 everything is an entity now so a module like flag would no longer target just nodes it would target entities and group is one so you just add a flag field to a group and be done with it anyone else Christian as you know I love your module and I'm using on a live site if I'm a editor and I'm looking after cool duty clan and minecraft clan can I have one article in both those yeah and when I put it into one group it's no longer visible to the other people so how do I get hold of it to put it into the yeah I know I know so what you're saying is that yeah so what you're saying is that if you have a global article and you put it in one group then it gets shielded off and then if you try to put it in a different group then they can see that right so yeah what you'd need to do and this is actually a security issue that is by design is that you don't want people to add nodes to their group that they shouldn't be able to add so if they don't have access to it then they shouldn't be able to add it to their group so what you'd need to do is configure it so that they become members of that other group where that node resides in and then they will be able to see it in the autocomplete and add it to their group that's the solution I would say works out of the box as in through the UI you could also do it through code or whatever but this is how it will work through the UI and this is how it needs to work through the UI so that people cannot have autocompletes that show nodes that they shouldn't be able to see because that's a security issue is there a way for me to see what other groups that this content is in yeah um if I'm going to change that article but I can alert the other group members that I want to answer yeah um I'll quickly demo this before I go to the next question um I earlier had that view right so this is really easy so group supports views there's a few plugins that I want to create but the thing is because I don't have anything custom I don't have a custom entity reference field like OG in Drupal 8 will have I don't have anything weird going on so there is view support for like 99% of it out of the box because I'm not doing anything weird to entities so if I want to have a group content entity and for instance of the type let's say a basic page in a private section so and let's call it this I don't get I don't care so you want to see the groups that those pieces of content are part of yeah so right now we have a view of the relationship so what we want to do is we want to see the node titles probably and the group titles so you just add a relationship to the content that you add so the entity to add to the group this will be the node and you add one to the group containing the entity and this one is for the content so let's give it an easier to read title and this one is for the group let's require it as well and just give it a group title there we go and then if we yeah let's remove this field because group content entities don't have that so let's add the group title and let's add the node title which is oh yeah I always hate the fact that I call it contents if you know it's a node but it's weird but I guess for side builders it makes sense so so yeah we have two title fields let's create a label for this same nodes let's create a label for this same group apply so we can see for every node what group it is in and if it were in an extra group you'd see that as well because it's so easy to use the group module with views I did that this morning and I thought it was cool so I wanted to ask the question so you could demonstrate it oh okay thanks for that awesome so yeah it's really it's really useful so I've already got fembo