 Okay, well, it's 802. So why don't we get started? We've got a nice amount of people that have attended the presentation today and So let me just introduce myself. My name is Megan Sannakey. I'm the associate director of the Drupal Association and I am here with Mike Potter from Phase 2 who's the open atrium solution architect and I just wanted to Go over a little bit of housekeeping before we get started So if you're listening from your computer and using voiceover IP Make sure that you have the right settings for your audio use the mic and speaker audio option Hopefully you saw that in my chat postings And we're also going to have people remain muted during the call However, if you want to ask a question feel free to do so in the in the questions portion of your control panel and We will be answering questions as much as we can throughout Mike's presentation But also at the end we'll have a Q&A session and at the end of this Presentation you will receive a post webinar survey We hope that you will just tell us what you thought of the content today and let the Drupal Association know What other webinar topics you'd like us to cover? And also, it's an opportunity for you to say yes I'd love to have more information about open atrium or have someone at Phase 2 contact me We don't share contact information unless you request it. So I just wanted to make sure that was Understood because we respect people's privacy So before I get into the presentation for the day, I just wanted to tell you a little bit about the Drupal Association So our role is to foster and support the Drupal community and We do this in a lot of different ways First and foremost our role is to support and improve Drupal.org so that ranges from the hosting for the for Drupal.org or we are actually starting to build out a technical team that is going to Be making improvements to the site making it easier for developers to collaborate site builders to find their modules and Just support the life cycle of everyone that's coming together to build the project. We also run Drupal cons one in North America one in Europe and we'll start doing some more in other regions and So obviously this is just a great event that brings people together in person. It helps accelerate the project through code sprints We have a lot of community events to really kind of create that bond between people that are working around the world virtually and It's a great marketing platform to promote the project the project as well. So that's a really important focus of ours We have an additional program called community grants. So if you have an idea and For for promoting Drupal whether it's growing our developer base or getting out to different industry sectors to promote Drupal and grow Adoption by different site owners. We have a grants program that you can apply to and We've been giving out grants around the world and doing some really great things that range from camps in Indonesia to Spanish language magazine for South America So be sure to reach out to us. We can tell you more about that program Also, we want to help grow the community and attract more developers Who can then contribute to the project? So we have global training days to foster that and we're working with training companies around the world who Do a half day or full day of free or near free training kind of the hello Drupal type of curriculum and they market into their local communities and bring people in and kind of is Way an on ramp into our community. So we're really excited to start expanding that program as well. So all of these programs are Funded through different different aspects one is of course our membership program and we also have ad Programs with hosting companies and Drupal.org. We have our Drupal cons and we also have a program I'll tell you about in a minute called the supporting partner program But let me just give you a heads up of some things that we are hosting soon So Drupal con Prague is coming up at the end of September. So if you are able to make it We hope you can attend. We still are selling tickets And attendance is looking really strong. We've got a lot of really great things from Monday It's going to be a community summit day. So if you're a community leader, you want to be there on Monday To do some knowledge sharing with other community leaders. We have CXO So it's a few if you're running a Drupal business You want to attend and do some knowledge sharing there and of course we have tons of our Sessions in the different tracks serving all the different types of Audiences that attend and then it ends with a huge sprint where we're really going to be pushing hard Moving Drupal eight forward. So that's going to be really exciting And then we have our global training days where all the trainers around the world will be doing that Half day or full day of training and that's in November 15th So reach out or go to this site if you want to participate And we will be continuing our webinar series So if you are a Drupal business and you want to be selling more into enterprise accounts join us in September 11th and Brad powers from Whole Foods a large Grocery retail company in North America is going to be talking about how he Selected Drupal what that process looked like and how someone in selling Drupal in their services can help influence people like him to select Drupal and and your solutions Okay, so that is some Some things happening with the Drupal Association I did mention that the supporting partner program is one of the ways that we raise funds It is primarily for Drupal businesses To get special exposure in our community so they get some great benefits but all of the funds are going to hire that Drupal.org tech team and Phase two was one of the first companies to sign up for this program And we're really excited to have their support and knowing that we can start hiring This team to work on Drupal.org. It's just a it's just a wonderful thing We're really excited to get there and we couldn't do it without the support of phase two. So With that I'd like to Hand this presentation over to Mike Potter Who is the solution architect at phase two and today he's going to talk about open atrium 2.0 So Mike, thanks for joining today Hey, thanks. I'm happy to be here and welcome everybody So yeah today we're going to talk about open atrium 2. We're going to do things a little differently if you've Seen any of the other past webinars that we've done. I decided to do something special for the Drupal Association here So we're going to make this a little bit more Developer heavy a little bit more site builder heavy. Let's go ahead and go to the next slide And go to go to the next slide So just an overview first of all, I'm not going to really go into a lot about what open atrium 2.0 is I'll point you to a lot of information But we've we've really talked about it to death in a lot of different areas So we're going to try to get past the the kind of the initial intro, but basically Open atrium 2.0. It's a collaboration framework We built it from the ground up in Drupal 7.0 and one of the specific things we focused on this time around Compared to open atrium 1.0 was to make it much more much easier to extend the functionality So that's what we're going to talk about today. We're going to actually use some existing Drupal modules to to extend open atrium So a plug-in in a atrium is just a module. It can be really any kind of module You can build a module using features or apps or just write some custom code But however you want to do it you just create a module and if you do things a certain way that will show you here in a minute Atrium will recognize that module and you'll have new functionality So I wanted to point to a place where we have our documentation. The link is there in the slides If you go to our products.face2technology.com site that's where we have all our distribution documentation for open public and open publish and also open atrium and A section of that is called the community plug-in toolkit and that's where we're putting a lot of this technical documentation And we're updating that to kind of as we speak so it should get better over time as well So with that what we're going to do today is we're going to create a very simple to-do task So atrium 2 right now does not ship with any kind of issue tracking system like atrium 1 had case tracker Issue tracking is a very broad subject and different people really have different needs So rather than trying to build the world's best issue tracker We decide to either leave it to the community or integrate with existing enterprise solutions But you know, maybe you just want something really really simple like what what if you just want like a to-do task and a task list So we're going to show you really how easy that is to do today So even though we don't have it built into the product It's going to be really easy to add it yourself and customize it for your own organization So this is basically the steps of the demo that we're going to go through. We're going to create a task content type We're then going to create some views We're then going to create some panelizer layouts and we're going to then test it and save it all to features So if you're used to Drupal site building these kind of steps should be really familiar Development for open atrium is really not that different than general Drupal development And you can all do all this without without writing code So let's jump into the demo. Let's see if we can switch our screen over here so they need to Give me presenter access here Hope they'll get my little pop-up See Megan. Can you switch over the presenter? There we go show my screen Okay, so you should be seeing my screen here I'm on the the Drupal association or the Drupal dot org page for open atrium This is where I mentioned if you want to get more information just go to the project page Down here. We've got a bunch of webinars and various videos linked We talked about all the different modules that we include and all that so that's definitely the kind of your first Resource that you'll want to go to if you want more information So now I'm going to pop over to an atrium site that's here on my local computer This is what I've used for past demos. So if you come to my past webinar, you'll kind of recognize some of the content It's a little basic university site with various departments and schools and and so forth So what we're going to do is we're going to add some tasks So the first thing we want to do is go create a content type So we're going to go into our Drupal admin menu over here and go to the structure content type And this is a live demo. So cross our fingers and I hope the demo gods are with us today We're going to add a content type And we're going to call this a task And we're just going to save that And now let's see what kinds of things do we want for tasks typically tasks are going to have a due date and somebody that they're assigned to and Maybe a priority So we're going to go down here to the task we just created and we're going to go to manage fields And we're just going to do the standard stuff. We would normally do to add those. Let's go ahead and add a due date And make that a date type and we'll use a pop-up calendar Save that field Then we're going to add an assigned to field for a user Let's see and we're just going to accept the defaults here. We're not doing anything fancy So just accept all the defaults for the date field and now we're going to have an assigned to And for a user fields or in if you did D6 you're used to the old user reference In D7 everything's an entity. So we're going to make this an entity reference And since we're only going to be looking at assigning it to people within our kind of project team I'm going to leave this as a select list because we shouldn't have a lot of users if you have hundreds of users You might want to make that an autocomplete, but we're just going to keep this as a simple select list now You don't want it to show every single user on your site. So This is our first chance to show you some of the additions atrium has made to Drupal to kind of help you along First of all, we're going to say that this points instead of pointing to a node that it points to a user And to select users you can do several things You can have just a simple selector and that's going to show you every single user on the system And you really only want to assign your tasks to people within your atrium team or space So what we're going to do is say, let's give a Views filter for this field and only show the results of a view and we come with a predefined view here called the open atrium user Filter so when you select that as your entity filter It's going to automatically filter it so that you only see users within your space Users who are members of your space and we're also going to tell it to also always render your filters as a select list and save that Okay, so that gives us Basic, let's see. Let's go ahead and add a priority field over here and we're going to make this a integer list And we're just going to set up a couple simple priorities You know, if you're doing this for you know, real you might want to make this a taxonomy or something But we're just going to do a simple select list here So we're just going to do let's say that zero Low priority One is medium Two is high All right, just basic stuff All right, so those are the typical fields you would add to a task, you know, maybe you want some more But that's that's something that you would do if you were doing atrium or not That's just basic fields. Now. How do we make this tie into atrium? There's two key things we want to do to tie this content type in atrium We need to make it aware of our space that we're in in this case the physics department And we need to make it aware of what section we're in within the space and we'll see sections here in a minute So we have two fields to add There's a couple different ways to add those fields You could go down to add existing field and when you select the existing fields You just see a whole bunch of fields and you know, it's kind of confusing as to which one you want to add You know in this case, for example, we want to add this group audience field and this section field So they're both right here But this list is kind of intimidating and you might be afraid of selecting the wrong field So there's a little bit of an easier way to do that from organic groups if you go to your admin menu and we go down to configure and then go down to organic groups, there's this settings OG field settings This lets you add various types of fields for organic groups to your content types So up here in bundles, we're going to select the content type We just created we just created a task and we want to add this group audience field And you can see it's going to be called OG group ref Don't change the field name just leave it as the default and let's just say add field And you'll see down here all the the content types that we've already added fields to So now we want to select our task again and now we're going to add this new field open atrium section So open atrium ties into this organic groups UI and adds this field that you can add to your content type as well So we just say add field So doing it that way just ensures that you get the right fields added And if you look at an example for example in an event you'll see an event node has those same fields as well All right, so now that's basically all we need to do to make that content type Accessible to atrium so atrium is aware of it So the next thing we're going to do from a site building perspective is we're going to Make a view So let's go to structure views Now atrium uses panels. It's built on monopoly So when you're creating views, you're going to always be creating content pains content pains are Special types of views that our panels aware So in this case, let's call our view name the task view And we're going to show content of type task In the newest first is fine, but we're not going to create a page. We're just going to say Unclick that we're just going to continue and edit because we don't want a page. We want a content pane And if you're not familiar with panels, this might be a little new to you But basically you go to add display and just like you would add a block or any other kind of view There's a view type called content pane So we'll select that And now let's see. Let's let's pretty this up a little bit first here. Let's give this a title Call it And now for we're just going to keep this as an unformatted list and you'll see why in a minute What we want to do here is build a very generic view and then we're going to be able to use this view in lots of different ways So we're going to keep it generic. We're just going to make it an unformatted list of fields So it's already added the title field for us. Let's go ahead and add those other fields that we Added to the content type. So we had the due date We're going to add that We had assigned to So we're going to add that And we had priority So we're going to add all three of these at the same time And we're just going to select the defaults. So we're just going to check the labels here make sure that looks okay So assign to that looks fine And due date that looks fine, but I don't really care about the time. Let's just show the day itself here And then for priority, we'll just take the defaults as well All right So we added our basic fields. So any other fields that you wanted to put into your view you could you could put here So then again, how do we tie this into atrium? We only want this view to show us the tasks For the the project space that we're in and for the section that we're in So we need to add some filters now. There's a couple different ways that people have done this in the past You can get into adding contextual filters and relationships If you've done organic groups before you may be familiar with Doing relationships with like the og membership table. It all gets very confusing honestly The og membership stuff is complicated. So again, we tried to simplify your life here by just adding some custom filters So let's just go ahead and add some filters And what we want to first filter on is what space you're in And of course our search here doesn't narrow it down too much But if we scroll down we'll find content space or content space id either one of those. They're both aliases And they're aliases of that field we added the group audience field So let's just add that So we're going to make this a filter But we want this to be a filter that we can change later. So we're going to expose this filter Exposing the filter is going to allow it to respond to the space we're in And instead of calling it group audience We're going to call it Just space Okay We'll leave it all the rest is the defaults And so now we have a filter for our space our group audience field now Let's do the same thing for our section for over the 3m section And you'll hear here's that section ref field that we added So we're going to make This also an exposed filter because again, we want it to respond to what section we're in as we browse the site So we'll expose it and let's just call this simply section Okay So we've added some filters. So now let's do a couple other final cleanup things here First of all, since we're making this for panels, typically you want your content pane To respond to your panel's path In our case, we're not really doing anything with this But it's just kind of best practice when you're doing content panes to set that to use panel path. Yes We're also going to want this to respond to Ajax We don't want it to load the whole page when we're just changing a view on the page So we're going to turn on Ajax to make it a little bit more usable Okay now the last thing that we're going to do is a little bit different here We created those exposed filters, but how do we make those exposed filters? Available now to the the panels interface In atrium, we've added some functionality to To panels and panelizer if you go to allow settings Allow settings is typically how you expose What you want people to change from the panels from the panelizer interface So for example, you might design your view to only show 20 items But you want to change it you want you want to let the site designers change that when they put it on the page to show a different number of items In our case, we're going to let the the page designer override the title We're going to give this exposed form and allow them to override the fields And then this is a new one. This says used exposed widgets as pane configuration This says take all of our exposed filters and make them available To the pane configuration And you can control down here for each filter whether it's available for just the pane configuration for panels Whether it's for both the pane configuration and exposing to the end user or whether it's only a normal exposed filter to the end user So this is what you're used to for normal exposed filters for these We're going to actually select this middle option of allowing both And you'll see why in a second. So let's apply that So now we've got our view We're going to save it Well, let's see actually I want to make one more change after we save it here Just wait for our network to save this The last change I want to make is over here to the exposed form We've actually added another extension with atrium So instead of your normal, you know, the normal exposed filters is going to put these filters at the top of the page From a usability point of view, we look kind of like to collapse that by default So there's a new type of exposed form Called the open atrium exposed form And it adds an option to your exposed form down here at the bottom called collapsed filter And this says by default, we're going to collapse that filter section. So it doesn't kind of clutter up the page And we'll see that in operation here in a minute So again, just another one of the little helpers that atrium adds To to views in this case So now let's save that now we're done with the views So now we've got a content type. We've got a view of that content type Our next thing is to put that view on a page So we're going to create a new type of section So atrium ships with different section types for things like an event calendar and a discussion post Let's create a new section type for tasks So we're going to go to the admin menu and down here under the open atrium configuration We've created a a nice little hot link to a panelizer for section templates You can find this really buried within the panelizer pathing But we brought it up here just to make it easier to jump straight to this page So this is showing us a list of all the different panelizer Layouts available for the section page content type And you'll see the different sections atrium ships with now instead of starting from scratch Let's just clone one of these existing ones. So we're going to clone the new section Click clone and we're going to make this into our task section And while we're here, let's change this machine name here for something better than clone So let's make this a way task section. Okay So by cloning this Now we want to edit it and just make a couple of changes to it So we're going to go down here and you can change all sorts of things in these panelizers What we want to change is how the content is presented Which is basically changing the page content So you'll see that by default here, we've got a page content that shows The body of the section some links, you know has the visibility over here But specifically because we clone the news layout, we've got this recent news widget So let's get rid of the recent news widget And we're going to add That view that we just created so we'll get rid of that We'll go up here to content. We'll say add content And we created a content pane right so under view panes Are all of the content panes on the system And there's a couple from organic groups But here's that task view that we created over here on the right bottom So we're just going to add that task view Now we told that task view to expose various things to let us change so we can change the title So let's just call this again Let's see Project So we can change it You'll notice by default those space and section filters are filled in with active space and active section When you click on this you can change it you can make it show any space Or you can make it show any section within the space or you could show specific Sections or specific spaces But by leaving it as active that will make this page dynamic and it will respond to whatever space the the user is in Now we also are going to let the user change that so we're going to actually expose our form And we're going to actually keep the defaults here, but we're going to make this into a table So this is why I meant about keeping this as a very general purpose View because I made the view unformatted Now at kind of panels configuration time I can select whether or not I just want to show unformatted fields or whether I want to show, you know a particular teaser or you know different display modes So if you add new display modes you would see those here Or in my case, I'm going to make this a table And put the titles along the column header and I'm going to keep all these fields here And we'll see how this gets displayed when we add some content to the site But that is the task view that we want to show on a task section page. So let's save that So now we've got a panelizer layout The last step here is to make that layout available to our section type taxonomy So the way section pages are done is we have a taxonomy For sections called section type. We also have a space type one that works the same way So we're going to add a new type of section And we're going to call this our task section again And here is where we specify for this type of section We want to use the layout we just created the panelizer layout And we want this section to be able to create tasks And this is what controls what appears up here in this plus button when you click a plus button on a section page It's going to show you whatever types of content you've added here And these are called command buttons and you can look up command buttons and see how those are done But basically we just have this new type of section All right, so we're all done. We've got The content type. We've got the view. We've got the panelizer layout. We've got the section type Let's go create some content. So we're in our space The first thing we want to do in our space is create our task area. So we create a new section page We're going to call this section public tasks We're going to leave this open So open public So this is going to be a task list that anybody can see and down here under section type We're going to select that new task section that we just created We're going to publish this So now we're in our public task section. So let's create a task So now you go up here and you're going to let us the create task is listed because this section type enables create task So this is going to be a new task for the public And it's in our task section that we could have rearranged some of these fields Let's see. Let's just make This contains some text here Some standard stuff like that So that's the name of our task And now of course we have to give it a due date and an assigned to so we're going to give it a due date of maybe this friday And when we click assign to you'll see that we only see the users within our physics space in this case There's only two users So let's assign this task to the professor and we'll give it high priority But you'll see it's automatically assigned it to the correct group And the correct section. So when i'm doing a real site design I often hide these fields because the users shouldn't really need to change them. They're automatically set up for you by atrium So when we publish this task We haven't done anything to make the the display fancy. So it's just showing us the fields here So you'd obviously probably do some theming of this page to make your task look look better But now if we go back to our section page for public tasks You'll see our table that we created. So remember we added that view To our section layout and we told the view to be table and we gave it these columns We told it to make the filter exposed and collapsed by default. So this is that open atrium filter setting Using this little filter button that lets you expand and collapse So right now it's automatically filtering this by the section that i'm in And this is open to the public. So if I switch over to a anonymous browser window here And we go to the physics department. So here I just opened an incognito window with it chrome. So we're Logged out here, but you'll see I can go into the public tasks And I can Get an error message Wonderful Obviously something broken last night's build. Okay, well, normally you would go to public tasks and you would see the task list So now let's go ahead and Make a new section So those are public tasks. Let's go ahead and make a private task area. So we'll go back to our space We'll add another section Now we're going to call this one private tasks called private And again, we're just going to make it use our task section that we created So we'll publish this section Ah, but we need to make this section private, right? So right now it's public. Let's go edit this section Let's make this private. So it's only visible to our little project team So we have we have this team created within our space only has a couple members in it We're going to make this task Uh specific to this project Let's save that So now when it displays the section And it's going to tell us that this is now private And the only people who can see this page are the member of this team And when I click on this team, I'll see that it's only got The professor and student in it So they're the only ones that can see this particular project Let's create a task now within this project So this is a script task Any project You can see And let's give it a due date of monday And we're going to assign this one to the student and we're going to give this one like a critical priority And publish that And now when we go to our private task landing page We'll see that table is only showing us tasks within this private task area Let's go ahead and create one more Just we have a little bit more content to work with here Another private task We'll give this one a due date to next thursday And we're going to assign it to the professor And make it a priority So now we've got a couple tasks. We'll give basic to-do task kind of stuff And obviously you'd want to add, you know, go ahead and add boxes for, you know, completing tasks and all that kind of stuff So right now when we create this view, we just created the view to sort by due date You'd probably want to change it in the future to sort by priority Or maybe even expose some sort options that would show up here So you could change how this was sorted within this filter But you'll notice that as I go between the private tasks, if I go back to the public task Section, it's only showing me tasks that are public Now, what if I wanted to put a list of all tasks up on the space page? So in this case, let's go back to the physics department, the global space page You can see in the recent activity river That it's noted it's kind of logged all these tasks that I've just created here But let's create a widget over here on the right hand side that always shows us all of our Tasks so we're going to customize this space page And we're going to add a new widget so we're going to click the plus We're going to go select that good old view that we created because that view we made is multi-purpose We're going to add the view We're going to call this project call this all tasks Because what we're going to do is we're going to keep it on active space But we're going to tell it to show any section within the space We're not going to show the exposed form and in this case, I don't want to make a table I just want to display the title so I'm going to uncheck all these other fields And we're going to save that So here you see the preview all tasks. Here's the three tasks. We'll save this as a custom node So we've just customized our space We've added a task list and you can see that it's showing us all three of the tasks the private ones and the public one Because I'm logged in as admin if I go back over here to our logged out user And refresh the the physics department page. Hopefully this time this will work And now it's showing us the task widget that we just added And you'll notice that public users can only see the public task They do not see the secret tasks that were private for the project So that's the access control kicking in in the recent activity river. They only see the public stuff They don't see anything about any of those secret secret tasks In fact, if I tried to trick it if I go to the secret task over here is my admin user And if I click on that task to go to its page, I can copy this url And go back over to my logged out user and paste in the url And you'll see that we get access denied. So we've got we've got truly private content now Created within the physics department space So all we did was create a normal content type Make a view out of it add the view to our panelizer layout And start using it just added those fields for space and for section And that made the content type aware of atrium and turned on all of our access control rules That we have an atrium to let you have both private private and public content So a really simple example. I mean, you know, this is obviously not a full featured To-do task list there But it gives you the basic idea of Of what you can do with just your normal everyday Drupal modules that you're used to like views and panels Now, you know, once we've tested this the last thing you're going to want to do is maybe you want to now Use this as a plugin on a different site So your last step would be to make this into a module to an actual plugin module So what you do for that is you go to the features module under your site structure And we'll tell it to create a new feature Once it decides to load All right, so here we are under the features page. We'll say create feature And we want to call this our open atrium task feature This catches up with this slow network Live demos are such fun Come on site Anytime I know I could complain that the feature module is really slow, but since I'm the maintainer of the features module that would Be kind of insulting to myself. Okay, here we go. We're in features. So we're going to make this the open atrium task feature And what we're going to do is add the stuff that we just added now everything that we added pretty much had the word task in it Right, so we're just going to use this nice feature in features of searching for task Now there's the command button for creating tasks command buttons are actually handled automatically by content types So we don't actually need to export that but we do want to export that content type we created So let's click that And it's going to auto add a bunch of other stuff down here. It's going to figure out the dependencies It's going to automatically add those fields. We have assigned date priority Um features now splits out the base definitions from the instances So it also knows that we have a body field and the section and group ref But these are shared fields. So we're not getting the base of those fields. We're just getting the instances Um, we can do permissions We do want that panelizer section that we added So that's our section type And down at the bottom, we're going to want to view here's that task view So that's everything that we created that we wouldn't want to put in the feature Now the only thing that's uh, that's tricky here that you can't put in features directly is the taxonomy term You'll remember we added the section type for task to the taxonomy Taxonomy terms are not featurizable because they're not they're considered content and not unique There is a way around that there's a module called uuid features And if you install the uuid features module that allows you to also export content like nodes And in particular lets you export taxonomy terms So you could do that you just want to be careful when you're installing that on a new site That there's no conflict with term IDs on the new site And that's typically why content is not exported because things like node IDs and taxonomy IDs Could be different on different sites So when you copy this module or this plug into your new site, you might have to create that That taxonomy term manually, you know, what we normally do is developers in this case is we write a little code hook So we write an update hook that would create that taxonomy term when the module is installed But that would be writing code and I said we wouldn't write any code in this So if you don't want to write any code use the uuid features module But normally you would write code for that term, but that would be it We would just we would then download this feature Um, and it is going to download a new module for us called the uh, the oa task module So that's how you create a plugin once you have that plugin you can use it on any of your other hm2 sites And i'm not going to actually Do the download here Let's cancel this Each window that just opened up on my screen What did the mac just do here? I've just got this huge download window that spans multiple screens that just Okay, let's just try to refresh the page Or let's just go back to the let's actually go back to the slides now since that's the end of the demo So if we switch back over to the slides, let's see. Do I have to Nope, somebody else changes presenter. Okay, great back to the slides So somebody should be getting a pop-up to accept screen presenter Yes, definitely if you can That came To lose I hope we didn't lose Stephanie Sometimes the pop-up is hidden. Yeah, there we go. Sometimes it hides behind other windows So to conclude What we've learned is developing for open atrium 2 is just like developing for drupal. It's all drupal after all That's why we that's why we all do this So any module that's out there that you want to use you can you can use with an atrium and use it to customize your atrium You can build your own plugins Using content types and use panelizer In the taxonomies as I showed you we do provide some helpers to make the integration a little easier So we do have some custom filters and some exposed filters And some other little tweaks That's where you really put a lot of the work into atrium is trying to Do those little fine-tuned tweaks to make life a little bit easier So you're not dealing with some of the some of the raw Drupal Drupal methods there So then last slide if you want to learn more As I mentioned the project page on drupal.org is is a great place to start the open atrium project Feel free to contribute to the issue queue We're currently in beta 3 beta 4 is going to be out probably today And we're looking for a public release later this fall So we're still doing a lot of development a lot of bug fixes and just a lot of tweaks and improvements So if you find little bugs feel free to contribute them to the issue queue If you want to get involved in development and fix some of those bugs that would be also awesome We've got an email list open atrium at phase 2 technology.com There's an irc chat for people to kind of help each other at hash open atrium And you can follow us on twitter at at open atrium So that's it now. We'll we'll take some questions here So go over to the question for a question area and i'll try to read through some of these here Great and and for those that have raised their hand using the control panel If you could just put your question in the questions Portion of the control panel then might can just answer the question that way Yep So let's see the first question comes from one and he asks about oa2 responsive technologies So yeah making oa2 mobile accessible is definitely one of our big goals in oa2 You'll the the theme that we're using is actually Based on bootstrap and bootstrap is a css framework that exists Beyond just drupal out there that's for doing responsive theming We're Specifically using the radix theme that was made for panoply Using bootstrap and we've extended that quite a bit. It doesn't fully work right now That's something we're working on in the beta is making things like the toolbar across the top properly collapse We're going to be actually doing I think some fun Cutting-edge mobile stuff with this theme here soon So definitely keep an eye out for that But the idea is that yeah people use their mobile device these days and and using atrium with mobile was a big design requirement Um, then you know, and then on yon i'm sorry Juan asks another great question, which is with the arrival of drupal 8 The migration plan will be easy. Well, I don't know that I would put easy there It's going to be like any other large drupal upgrade anytime you go from one major version to another Whether it's trying to go from atrium one to atrium two and v6 to d7 or from d7 to d to d8 There's always going to be issues there. Uh, mostly with contrib modules atrium is a fairly Large distribution. We have over 140 some odd modules in atrium So obviously those modules have to be updated for d8 So things like organic groups and panel analyzer and you know, obviously a lot of views is in core now But a lot of the modules that are using atrium, we're going to need to wait till they're in Drupal 8 before you could migrate there With that said we have architected atrium 2 with 8 in mind with Drupal 8 in mind So in terms of how it's built from the ground up We're uh, we definitely designed it so we don't have to do another year-long development task For drupal 8 once we decide the modules are stable enough But you're probably looking at a couple years before the modules are stable enough To really see atrium 2 on drupal 8 Let's see Dirk asks how to create activity feed that aggregates specific sections of separate spaces So Dirk atrium is not designed to really aggregate Specific sections across specific spaces you could certainly write a view a custom views that did that and you would just You know go to that exposed filter that we created and in the view You could select instead of making it exposed you could say make this one of and then select the spaces and sections you want But in general atrium is designed to be kind of a little a little microsite thing where the spaces are independent of each other So the idea of aggregating across different spaces and then kind of cherry picking sections within that Is not really an out-of-the-box use case for atrium So it's certainly doable with drupal, but you apply it to do a little bit of extra work on that Uh grant asks can you talk about the architectural changes in oa2 that replace the functionality? Provided previously by spaces pearl and context modules. Yeah, great question switching from spaces and context over to panels So obviously the the part of spaces and context that had anything to do with layout Is all taken care of now through panels and panelizer and the in-place editor and all of that kind of Those kind of modules. So the only thing that's really left there are the kind of some of the space specific configuration stuff We created a module called og variables, which lets you create a plugin module that exposes a variable that you want to have Customized per space. So when you go into your space configuration You can go into the variables tab and set the name of a variable So for example, like let's say you wanted the site name to be different In different spaces I could go into the physics space and I can say I want my site name to be physics department And then instead of your global site name, it would take on that value whenever you're in that space So again, that was something that spaces did the pearl stuff specifically about doing custom domains is something we're still working on It's probably not going to use pearl. We're probably just going to directly use some of the drupal 7 hooks For altering the url mapping But the idea is that yes, we want to be able to let you provide a domain name per space So that for example, the physics space would be, you know, physics dot university dot media you instead of you know slash group slash physics or whatever it is now So it's almost there. Most of it's there. It's just not the domain stuff yet Derek asks, is there an upgrade path from oa one? That's also a great frequently asked question I'm sorry to say that with our limited resources. We did not generally solve the problem of how you upgrade drupal 6 to drupal 7 And sorry, that's a little bit of a of a joke answer But yeah, we know that going for major versions of drupal is is difficult It really depends on your specific site and what you've done specifically to customize it if you've got just plain oa one out of the box absolutely no Customizations, then yeah, you're not going to have too hard of a time We're going to have migrate scripts to migrate your users and your spaces It's going to migrate the blogs over to our discussions. It will migrate the events. It will migrate the The old notebook functionality into our new document pages What it what it will not migrate is the case tracker stuff because there is no case tracker module in open atrium 2 Which is mainly because there's no case tracker module really stable for d7 at all yet There is a contributed module by david snowpeck out on the project page for atrium called work tracker Which is kind of his attempt to create a little issue tracker for atrium So he might do some migration for that But that's pretty much up to up to the plug-in maintainers to do those migrations Obviously, if you've done any kind of customization to your spaces That's done completely differently. You know, we can't migrate the the spaces and context stuff over into panels So you'll have to you know, redo all your layouts and those kinds of things But your your data should come across with the migrate module Let's see Nathan asks how about something like the relationship module to tie content together I'm not quite sure what you're getting at there So you might follow up that with the more specific use case Keith asks when adding content from the admin toolbar very top. Where does the toolbar get the content types? so From the admin bar, uh, let's see I can Let's see the stupid pop-up is still on my screen. So I can't uh, we're not going to go back and share the screen here. So The admin button that's in the upper left that you saw me using that is just the Drupal's Admin menu because I was logged in as the admin user, right? so That when you say add content is just going to take you to the normal Drupal add content page And it's going to show you, you know all your content types That plus button that I was clicking which is up in the toolbar more on the right hand side That plus button is kind of what we call the contextually aware add content button And it knows what kind of content your sections and your spaces accept And so it knows like oh, I'm in the event calendar section. Therefore. I should allow you to create events Just like it was allowing us to create tasks when you're in a task section And that's controlled by those taxonomy terms for your section and space type So you can go edit those terms and check more boxes and add more options to that Ricardo asks is there a guide like you showed us today available somewhere So yeah, I mentioned at the beginning the so if you go to the slides, which I'm sure will be available There's that products dot phase two dot technology.com site where we have all of our technical documentation And it talks about a lot of this Nathan asks so what is the process of upgrading within the relay cycle i.e. beta 3 to beta 4 So yeah, one of the things about beta that we're Guaranteeing is that there is upgrade between beta if you're on alpha We didn't provide any any real guidance for alphas But now that we are in beta status if you're on a beta release When a new beta comes out, you'll just download the new beta and overwrite your existing files with it And run the Drupal update dot php script and you should be good to go If update dot php doesn't work, there's some a couple of the modules are starting to use some Specific version checks where they're looking for like certain versions of views and things And I've noticed that that can sometimes block the update dot php from working And so in that case you might have to resort to using drush If you haven't used drush before definitely go learn drush But drush has a Updb command which runs that update script and is it blocked by those version errors I'm hoping I'm hoping that things will get fixed with the update script So that's not a problem in the future, but I've noticed it when doing it myself And so same thing when the final release comes out, you'll just download that release and Overwrite all your existing files with it Ryan asks are there any plans to add a follow feature for users So yeah, Ryan right now you can actually do that The the widgets that are in atrium one or in their in atrium two right now Let's you customize your user dashboard So if I wanted to follow you for example I could customize my dashboard and I could add a recent activity you Widget and I could set the user to be you know, ryan and that would show me all of your posts And so in a sense that's following users In terms of making that a little bit easier and to kind of a one-click button It's on the roadmap. I think for the future but not necessarily something that we're doing for the first release Derek says release date of 208 official stable. I mentioned that it's going to be this fall So q4 That's as specific as we're going to get at this point. I want to make sure it's ready before we release it Ryan asks are there plans to add more fields to user profile around skills and ability like linkedin So the the user profile area is another area. We're trying to improve for release Right now there isn't even really a profile tab. There's the user dashboard and there's the user's activity stream But there's no fields like you mentioned for for bio or skills or abilities We're probably going to provide a tab for that But then allow you to basically customize that yourself because different different sites are going to need different Different field requirements there, but it should just be a matter of adding fields to your user Entity just like you do normally in triple and have them show up there So we'll probably have support for the basic, you know description or bio We already have support for the user's picture avatar picture But that's you know, we may have an organization field that we're probably not going to get too specific on that Kelly asked will this recording be posted online and I'm sure I can answer that for Megan and say absolutely yes So you'll you'll get a link for that once it's up David asks, uh, which is the module in v7 that displays the node publishing settings and so on the right sidebar? Like v8 Not quite sure exactly what you're talking about there David. Um, the I have not done a whole lot of v8 stuff yet. So I'm not sure exactly what you're referring to So sorry, I can't help you with that. That's not really no way to question If there's a module that displays that it would certainly work fine with oa if it supports the panels Uh, and then Ryan says hi if I was used To use this for education could one use a space for course syllabus and a section for each of this week's assignments um, yeah, so typically, I mean You would you could definitely do that what I would actually do is so we also support subspaces So spaces can have a full hierarchy. You can have spaces with subspaces And then at the very bottom of the section is used to create little private areas So if if your weekly assignments needed some kind of privacy where some weeks you have Assignments for one team and some weeks you have assignments for a different team And you want to keep those separate then sections would be good for that And your syllabus your course syllabus would probably be a subspace Within a space for you know, like in education We were talking like the physics department or the chemistry department, you know Those would be spaces and then within the physics or chemistry department you would have a subspace for courses Um, you then you might have subspaces for each course You know chemistry 101 or something and then within that subspace you would then have sections for the different weeks assignments And a little discussion board where your students could could you know exchange homework questions and stuff like that So yeah, that's definitely a good use case Excuse me Let's see. I think that is all the questions Okay That was certainly a lot of questions. This is clearly a really hot topic And we have we have one more and I think we're at this time the last question goes to dirk Dirk says does solar search add increased functionality to oa2 search? so great question oa2 supports solar out of the box so you can either do triple search or solar search We fully support the solar search facets So you can have search facets So, yeah, all that all that is available Okay Well, great Well, mike, thank you so much for taking the time to go through this presentation today and to answer all these questions you know, I think um obviously open htms used around the world and a lot of different applications, you know a lot of different solutions and um You know as an end user, I know I've been given different kinds of productivity Tools to use but sometimes it just does it just wasn't tailored to my organization the roles and the workflow and You know, it's just really hard to adopt a tool like that So I think open htms really powerful because a developer can customize it and really show the client that they understand the client and tailor it to their needs and Um, and hey, it's built in dribble. So that's even better Yep, exactly. We want to make it really easy to to use this on because everyone's got different needs You know, it's there's not going to be now the box one solution for everybody And that's kind of the way open htms one was presented and we just realized that that just wasn't to solving people's needs. So Yeah, this is great Really exciting. Well, then let me go ahead and um Just kind of close it out here for anyone that still has questions Feel free to either type them in or you can shoot uh me or mike an email um And we'll make sure they get answered either directly or we could do a blog post back to the community off the Drupal association news and um, but I just wanted to remind everyone I'm sure most of you are developers But if you're also a freelancer or you're part of the sales team at your company You I encourage you to attend the september 11 webinar on how to sell to enterprises and Hear how red powers the it director at Whole Foods made his decision and how you could also help someone like him Choose Drupal and your company and then just We also have Drupal con prod coming up the end of september. So hopefully you can Join that Phase two is going to be there as well. So you could meet them face to face and global training days will be in november And then lastly if you like today's presentation and the things that the Drupal association Is doing for the community. We hope that you'll help fund us Uh, you could be an individual member which is roughly $30 us 22 dollar or 22 euro um organization membership Is great for companies to give back and it's it's roughly 200 dollars us and 73 euro um And then of course if you have a company that is in that position to really give back They could become a supporting partner like phase two and uh, you could just email me if you're interested in that So, uh, that is our webinar for today. I just want to thank everyone for attending and we are recording this and you will Get an email from us with that recording So, um, thank you and i'm just going to close this out anything else from you mike Nope. I'm good. Thanks everybody for attending. Okay. Thank you for doing this too. Yeah, my pleasure. Okay. Thanks again Okay