So welcome to our session. We're going to be talking about the Al Jazeera Media Network's Drupal 8 platform. So glad to have you here. My name is Mai Ayri. I'm a software architect at Phase 2. And I worked as one of the leading developers on this platform. Hi, all. My name is Tian. I am a head of product at Al Jazeera Media Network. I mostly manage a lot of the digital initiatives outside of the broadcast. So welcome to our talk. We will be going over a lot of the kind of business forces driving our decision to switch CMS. Obviously, changing CMS is not a small and trivial project. And we spend a lot of time preparing and looking into what's needed for a long-term successful transition. Let's see. First, a quick overview of where we stand. I can barely see the background there. But we started out, obviously, as a live news network. We currently now have seven live broadcast channels and over 80 bureaus worldwide doing collecting reports. A few years back, we switched over to focus more on the digital aspects. And now we are at about a lot of monthly page views, a lot of monthly active users, over 50 digital products across a number of platforms, and many, many languages, as you can imagine. So over time, it became apparent that more and more digital platforms are going to be growing and popping up. And our budget isn't kind of scaling at the same rate as users and platforms are. So we needed to begin to figure out how to do more with less. And that really kind of kicked off an internal ADO initiative. And that is a lot of corporate speak for basically trying to figure out ways to optimize how we spend our investments on specific technology and how those technologies can support multiple processes that support a lot of the people doing the work of getting the news and writing the news and putting out the news. More specifically on the ADO tracks are probably nine major buckets. At the top there, you'll see more consumer-facing tracks from video and live streaming, mobility platforms, form social engagements, and then all of the analytics behind that to support video monitoring, asset management is obviously going to be a very large piece of that. And then behind the scenes, kind of more infrastructural pieces like our content management system and the service buses and APIs across multiple departments and systems to support that. And then there's this last one that we just call assessment services. Mostly it's kind of like an internal consulting group from time to time looks at how we're performing and how our investments are doing over time. But for this talk, it's mostly on the content management track. So because we grew up from a broadcast world, each channel basically had their own website. So we had an Arabic website, we had an English website, we at one point had an American website. And they were all custom-built systems, internal. They each had their own different workflows. And you can imagine that over time, we had to constantly add more and more things to all of these systems. So RSS support, responsive, mobile pages, different types of security. And each of them have their different workflows to support the news gathering and publishing process for each channel. So someone working in one property cannot easily switch over and help out on a different property to write a story or to put out a story or do some investigative piece because the tools were very, very different. And add to that, you have your overhead for your support, your product management, both for the consumer-facing side, which are you guys, and then the client-facing, which are our editorial teams and the different UI looks. And that is a kind of high-level overview of all the problems that we talked about. Add to this that if we wanted to pick up a new initiative, let's say I wanted to do AMP mobile pages, I would have to basically do that five different times or six different times for every single property I would have to add that functionality in. And obviously that doesn't scale as we look ahead. So what do you do to kind of start gathering all of these problems together and figuring out where to go from there? We looked at the end-to-end kind of content lifecycle from how we capture content all the way to how we publish it out and review it and see how it's performing. We did a ton of interviews internally. We talked to a lot of groups and figured out what their needs were. And came up with a fairly complex set of requirements. I think that requirement stock came out to somewhere in the range of, I don't know, 200-some-odd pages. It was not an easy afternoon read. But I think high-level takeaways are that we needed a very flexible platform to support the different types of workflows, highly configurable, control over all content streams, architecture accommodates different types of structure, content, and interface to support content editors in different languages. And that's kind of... When you take all those requirements into consideration, there aren't many products out in the market that can do all of that. Drupal became very quickly a short list for us. And when you really kind of dig down into what's really enterprise-ready, highly customizable, strong, multiple-language support, being able to have a multi-tenant, multi-site configuration on a single rollout platform, you run out of... You start crossing off the available options very quickly. So Drupal really was a very natural choice for us when looking at what was available. And really, Drupal ate because, I mean... I think we didn't want to go down with a large investment and then have to consider down the road to have to do a fairly significant site upgrade to Drupal 8. And really, I think... At the time that we started our investment initiative to kick off this project, Drupal 8 kind of showed a lot of maturity beyond what was available in Drupal 7. And so that's where we ended up. So I'm going to go over some of the key features of the platform. I'm going to talk about the lightning distribution, internationalization, asset and content lifecycle management, and then we're going to end with how we handled content distribution. So the lightning distribution was incredibly useful in expediting our platform implementation. So we used lightning as a springboard for developing because it came with a lot of the required functionality out of the box, which definitely cut down on time and cost of development for AlgeZera. So what is lightning? So lightning is a lightweight Drupal distribution. It's maintained by Acquia. It's intended to cover the kind of 20% of a typical use cases of a site. So it's serving as a starting point that you're building on top of. So these kind of things are like page layout, previewing your content before publishing it, content workflow and approvals, and managing assets. So if you look at the distributions that are out there in the ecosystem, so lightning is sitting somewhere in the middle of a framework type distribution like Panopoly, and a full kind of out-of-the-box product distribution like Berda's Thunder. So we chose lightning because it had these great baseline features that matched well with AlgeZera's requirements. So specifically these things were like using panelizer for page layouts, content workflow and media management. It had a reliable and transparent roadmap that's linked there, and they hit the milestones that they set out. So that's very important, right, for our planning of this project. Just a side note, the general lease for lightning was July 19th of this year in case you're interested. The maintainers are also quite active in the Drupal-Lightning IRC channel. Big thanks to John Kennedy, Adam Balsama, Adam Globus Honing right there for their support. So if you choose lightning, there are kind of like three approaches to building on top of this functionality. The approach we went with for this platform is the third one. So you're using a patch that is allowing an install profile to inherit from a parent profile. So now I'm going to talk about like the next, we're going to go into the next feature here, which is internationalization. And Tien, it's going to talk about the importance of this quite core requirement. Yeah, internationalization, super important, super, super important. We have 80 bureaus. We work in five different languages and supporting over 80, excuse me, 50 different digital products. And more specifically, I think if you think about internationalization, if you only consider things like Spanish, French, English, it's fine. But we have the added complexity of doing a right to left language like Arabic. And when you introduce that, it actually adds a lot of other UX impacts that you have to take into consideration. Where do you even place icons? The way that people naturally read dates or naturally read when they think about searching in their mind what their taxonomy is, because that's the language that they default to think of. So it adds quite a number of other considerations. And when we set out to do Drupal, we wanted to make sure that there was a very robust set of modules available for us to extend on. Mai will go into those details. So how many of you guys have known the pain of configuring a D7 multilingual site? Yeah, there are a lot of pain points here. So I'm just going to highlight a couple real quick here. So first being you probably needed to stitch together a lot of modules that may or may not have had the same kind of technical approach, and you're including some patches in the mix. The administration UI was kind of complicated. Their settings sprinkled everywhere. And there's kind of like a manual process for updating your locales. So if this was the past, right, like today's awesomeness brings a lot to the table with just core alone, thanks to all of the efforts of the D8 multilingual initiative and the whole idea, the concept of putting language first, right? So the needs for Al Jazeera's baseline platform was more focused on internationalization as opposed to content translation. So these requirements were covered by enabling and configuring two core modules, language and interface translation. So there are a ton of features from D8MI. I'm just going to highlight a few here. The first being language handling, right? Which allows us to natively install in 94 languages. Very important for Al Jazeera's platform because they needed to support, as Tien was saying, non-English language as a system default language, as well as that right to left orientation. So the interface translation module also kind of revamps that whole administration experience. So there's less intuitive clicks, unintuitive clicks for editing your string overrides and the locale updates are using the same process as the update module for handling updates. Other cool features include field-level configurability for your content and views is integrated. So that's super awesome, right? So what's really cool is that all your configuration is translatable. So if you have a foreign language installed, you can create configuration in that language. The same thing applies, like if you know you're adding additional languages later. So as Kristin pulls quote illustrates, we have a significant reduction in the complexity of supporting multilingual concerns in D8. So there's two other modules that I didn't mention that are coming from core, mostly because they're talking about this translation piece versus configuration translation. So that's allowing you to... allowing blocks and menus and views to be translatable. So it's kind of similar to the internationalization module in D7. And the other is content translation. So making things like nodes or comments, taxonomy terms, translatable. So bringing in some of that functionality that was existing in the entity translation module in D7. So I'm definitely posting these slides to the session node and also treating them out so you can explore more of these resources. I highly recommend it.  It's amazing. So the next section that we're going to go into is media management. So one of the core requirements was this internationalization piece, right? We're talking about a media company. So asset management is super crucial. So Tien is going to speak to that for a second. Yeah. It's kind of what we do, media management. And I need to review my notes because there's a lot there. Being able to kind of manage media in a not crazy fashion is really important to maintaining our sanity for all of our editors. We wanted to make sure that we had a single hub where all of this content from various networks can get into and make sure that that has access for all of our editors. It also streamlines a lot of things like rights management, clearance, reusability. It also helps us optimize storage. And more importantly than that, it's just critical for making sure that the left hand knows what the right hand is doing. If somebody's working on a particular story, if somebody's working on a, I don't know, a breaking news piece, the other editors should know that this is happening. And sometimes the reverse is important as well, which is if you're working on a very sensitive investigative piece, you don't want the rest of the network to know that that's happening and making sure that you have the right kind of barriers around your work project is very, very important. So I'm going to pass that over to Mai, who's actually going to talk about a bunch of Drupal-specific pieces like file entity, media entity, entity browsers, and entity embeds, which I know nothing of. So this section might be a little intense. I kind of wanted to go into a little bit detail here because we're dealing with configuration entities a little bit in this piece, so don't worry. It's going to be fine if you weren't prepared for this. But first, I kind of wanted to talk about some background information on media management in D7, since it's going to be relevant here. So a lot of you are familiar probably with the media module in D7, seeing a lot of head nodding. Cool. So the goal of this whole effort was to kind of deal with the chaos of D6 media management. It was bringing to the table this, like, two-tiered API. Maybe you also use Skald or Asset Media Box, but I'm going to focus on media module here for a bit because I want to talk about the file entity piece. So we've got this two-tiered API, a resource manager that's creating this unified media storage and this extensible browser for editors.  So if we take a look at this stack here from D7, we've got Drupal 7 core is bringing this file entity, right? And the file entity is extending that API to make them fieldable and provide view modes. And then on top, like, not on top, but like bringing those four layers underneath is the media module and it's providing that extensible media browser. It's integrating views. It's bringing WYSIWYG integration in here. And the reason why I'm talking about this stack is because the file entity module exists in DA. And there's also this media entity module. And Lightning is using media entity, by the way. But, you know, these are basically two different solutions for media storage in Contrib and I wanted to cover this because it took me a little bit to kind of understand the difference here. So I'm going to just cover this real quick. So these are two different entities that exist. Both of these storage solutions work with the other components in the media ecosystem. So like the whole idea is to have these decoupled components as opposed to a monolithic solution. So both of them generally work okay with entity browser, which I'll talk about more in detail in a second, an entity in bed. And so yeah, what is file entity? So just like 7, we're extending from the cores file entity. And it's basically kind of like treating everything like a file. At high level, media entity is bringing a new entity type called media. And it's not necessarily assuming that every asset they're adding is a file. Lightning media is using the media entity. So it comes with support. This media feature comes with support for documents, images, Instagram and beds, tweet and beds and also video. So our stack look like this. We've got our feature module kind of extending from what the distribution is offering. And then as I said before, it's got a dependency on media entity and it's bringing these different bundles into the picture. We also had a requirement for audio, so that's why we brought that in and these other kind of video dependencies. So let's take an example of like, what is this media bundle? Let's explore. So I'm going to walk through the configuration of a tweet media bundle that's provided by Lightning, just as an example. So first off, where is it? It's under structure media bundles. You can have, you know, you see all your bundles available. We're going to look at the tweet one. And then we can see the type provider is Twitter and we've got this field here, tweet. So what is this field? We can see that this is just a plain long text field and it's going to be containing the tweet embed code. And then if we check out the manage display tab, we can see the tweet field is using this Twitter embed format that's provided by the media entity Twitter module. So we just talked about the setup of this example bundle here. Let's talk about how we would use it. So we can browse or add these kind of media assets to our system using something like entity browser and we can kind of connect this entity browser so that we can embed them, you know, in a rich text field by using something like entity embed. So first off, let's unpack entity browser. So this is a flexible and generic browser and selection tool for entities. Note I'm saying entity, so this is not media specific. So remember in the media module you have the media browser so it's kind of like that but it's for generic entities. Whereas it's under admin content authoring entity browser. You can create multiple entity browsers. So we're going to walk through light names, media browser setup. So when you create and edit an entity browser, you're kind of taken through this multi-step configuration form. It's really intense so I'm going to kind of go through it. So first off, an entity browser is a configuration entity. It's bringing in all these different plugins that we're going to explore together. And the first plugin is this browser display. This is controlling how the browser is appearing to the editor. So you can see lightning media browser is using the iframe but other options are modal, standalone form. So, you know, some example use cases here if you're rolling out your own entity browser. Maybe your WYSIWYG button, like your entity embed button, might want to use a modal display. Or you could use iframe. But, you know, here's some examples. If you have a field widget, you could use an iframe display. If you have a system that's pushing content to a third-party system, a standalone form might be useful. Next, we've got this entity selector widget. So this is controlling how the editor is accessing these different ways to kind of select or reference their entities. So some options are tab, drop-down, buttons. And then you have the option to configure the entity selection display. So this is handling the display and logic around currently selected entities. Lightning is keeping it simple. They don't have a selection display set. However, if you had a more complicated workflow for editors where they need to, like, create a bunch of entities, reference some entities, kind of, like, have that last step where they're reviewing everything that they've selected and want to reference, then you might want to configure this selection display plugin. So the next step in this form is just some additional configuration for your browser display plugin. In this case, since no selection display was set for the entity selection display, we don't have anything to configure here for the widget selector or the selection display. And now the last screen is the fun part, the browser widget. So these are different ways you can create or reference your entities. So say you want to kind of browse what is existing on the system and then select a bunch of them. Maybe you want to use a view for that. Say you're uploading images to the system, right? A file upload widget. There's also other options like an inline entity form. Lightning media brings, I'm sorry, Lightning brings a custom embed code widget here that you see in the bottom. And it's got this kind of logic in the background that allows an editor to drop in a tweet embed code, Instagram embed code, and there's logic in the background to figure out which media bundle to assign it to. Okay, so after you set up your entity browser, you might want to connect it to a nice little WYSIWYG button so that you can embed these entities in your WYSIWYG editor. So entity embed is the module you would look at. So where is it? Configuration, content authoring, and text editor embed buttons. When you add a new entity embed button, you're going to select the entity type. If you give it a name. And once you select the entity type, it's probably an embed type. Sorry, you're going to select entity. You can select which type of entity. Here I'm selecting file, given options for the display plugins. Here is where you're connecting the entity browser. And then here I'm just showing how to connect it to your text format. So we're going to add it to the basic HTML text format. Dragging this E. This is just the initial setup. If you add an icon, it will show an icon here. You're going to drag it to your active toolbar. And then, yeah, add some trouble there. Then you're going to make sure that display embedded entities filter is checked. And then also make sure that you're allowing those tags for the entity embed. So this is kind of what Lightning looks like out of the box. So we've got those tabs. I'm just going through, because we went through so much configuration, we kind of want to see it in action, right? Here are my cats. They're lovely. Pancake and ketchup. It's a pretty streamlined kind of setup. Here is the embed code piece that I was talking about. So I'm grabbing a little tween embed code. What's nice is this save to my media library piece. And then we can see the results, right? As it's rendered. So another kind of requirement of the platform was to support video. And I said that Lightning comes with support for video. But this was more like YouTube videos and things like that. We had a specific requirement for BrightCode videos. So we use the BrightCode video connect module. So if you think about like an editor's workflow here. So Drupal is serving as the front end for BrightCodes API. So an editor would go in, upload their video in Drupal, right? And then eventually it would be synced back to BrightCode. You can also add additional metadata or moderation states and have this synced back to BrightCode. So I just want to give a shout out to Provenx and Kristoff because we had some great conversations with them when we were looking at this BrightCode module. Specifically, I want to point out this really cool tutorial that kind of steps you through all of the configuration. You need to like know about to use this. So now we're going to go to our next section here about editorial workflow. So I'm going to hand it off to Tien who's going to turn on his mic. And then he's going to tell you all about the business. Yeah, editorial workflow doesn't really get more important to this. Don't pay attention to the other two pieces. This is really important. We're kind of in the business of telling stories and I mentioned that we have editors working in various different products and each team kind of like a developer. Today I'm working with team A, tomorrow I'm working with team B and they all have their different kind of flows and processes to get a story out. So we really need a system that can have a large degree of flexibility where we can configure different workflows and kind of reproduce steps and just give the minimum number of steps necessary to get a story out correctly. But we also need to add in the right amount of rigidness so that their senior editors can fact check and make sure that we don't get anything wrong and if we do make a mistake and publish something out, we can retract it quickly. All of that is to say that none of this should stand in the way of allowing our editors to tell the story properly and making sure that our audiences get the news. So really kind of a do or die type of vertical, I would say. How do we address these requirements in the time frame that we had? Once again, we're leveraging the baseline functionality coming from lightning, specifically the lightning workflow feature. And this is what this stack kind of looks like. Again, we have our custom feature module that's extending what lightning workflow is bringing to the table which has a dependency on workbench moderation. So lightning comes with draft, needs review, publish, and archive out of the box. We had additional kind of transitions that needed to be added as well as another state called recalled. So this is just a diagram illustrating Al Jazeera content moderation states. We also implemented a tab that displays a history of the moderation states for a given note. So the idea behind this was to allow editors to easily see approvals and rejections of content before publishing it. And this is a view that is using a contextual filter of the revision ID to display this information. We also determined that given the timeline and scope, content moderation and user permissions were two key areas that would definitely benefit from some automated testing since it's kind of like a tedious experience for quality assurance as we are adding more and more functionality to the system. So luckily lightning comes with a whole host of BEAT tests. So for those of you who aren't familiar with what BEAT is, BEAT is a behavioral driven automated testing framework. So in English, you're writing your testing steps in plain English and you would kind of describe these steps in a similar way to how you would test it manually. And then there's logic and PHP that's supporting these steps using this BEAT framework. Okay, so now we're going to talk about the final component of the platform, content distribution. To start, Tien is going to cover the goals of this portion. Yeah, content distribution. Everything we invested in earlier doesn't mean Jack if we can't get it out the door. So super duper important to us. Really, this is kind of making sure that we can get the content, like I said, out the door and reaching our customers and then better understanding how it's doing and how it's performing and then customizing that down the road. Your typical questions that are going to come up here are what was published, when was it published, where was it published to, which platforms did they include, who did it, how did it perform, and how do we get better next time. It really is kind of that last three buckets there that distribute, engage, and review in our content lifecycle. And we'll touch up on, I think Mai is going to touch up on some previously talked about topics like the content hub, which plays another important role here, making sure that depending on which property you publish out on, you can still access the same content hub and reference the same content and make sure that any changes you make on one gets propagated out to the other places. So Mai? Okay. So Aljazeera required multiple CMSs to connect to a basic content hub as part of this platform. Additionally, in order to support kind of this editor collaboration and visibility that Tien was just talking about, we also developed an editor discovery dashboard, which was set up on each of these CMS instances. So this was kind of mentioned earlier in the media discussion, but I'm going to go into depth, more into depth in this piece here. So, you know, on a CMS, we've got a few blocks here. First of all, as an editor, I should see what recent content has been added to the instance that I'm logged into. I should also be able to see my recent content that's on the instance that I've been logged into. And additionally, I need to see the recent content that's been pushed to this content repository. And so, you know, these are the three blocks. This is on a panel page, so using a panelizer. And let me go into the content repository piece here. So we have CMS instances pushing content on content creation, edit, deletion to this repository instance. And then, you know, we have that custom block that's showing the recent content on the repository on these connected CMS instances. So how did that come about? So, you know, this custom block is basically leveraging CoreS API. And we've got, on the repository, a view that's using the REST export. And we, like, added a little, we altered a little bit to include this basic off so we could kind of protect that connection. So content repository in these connected instances, how do we kind of, like, manage this? So we're using deploy, multi-version, replication, and relaxed web services to kind of push the content from the target to the source. So what is deploy? So deploy has been rewritten from its D7 version to just kind of provide this UI on top of Workspace and Replication Modules, which I'll talk about in a second. But this UI, if you're thinking about it, is, like, allowing you to manage this content deployment between Workspaces on a single site and AlgaeZero's case. We're doing a cross-site deployment. So from WorkSite, from CMSA to the content repository. And we had to, you know, add some additional alter, implement alter hooks so that we could, like, do this on Node, Update, and Delete, et cetera. That part doesn't come out of deploy, like, out of the box. So let me give you a brief overview of the pieces of the deploy suite that I mentioned on that, like, icon slide. So first off, we have multi-version. So this module is doing three things. It's adding revision support to all your content entities. It's introducing this concept of parent revisions so you can kind of create these different branches of content. And then it's tracking the conflicts in your revision tree so, like, when two revisions are sharing the same parent. So you're thinking about, like, get revision kind of history. It's kind of, like, in that kind of mindset. So on top of multi-version, we've got the replication module. So this is a lightweight module that's using that, it's reading this revision information that's, like, being produced by multi-version. And it's using that to determine which revisions are missing from, you know, a given location, and it's allowing you to, like, replicate this content between your source and your target.  This kind of architecture and the setup and including the relaxed kind of stuff that I'm going to talk about in the next slide. It means that they can kind of shift in working in different teams but still be able to access their full portfolio of work wherever whichever instance they're logging into. So then we've got this concept of workspace. This is, you know, allowing you to have content staging and full site previews. So we're using this. We're just having single workspaces on Algebra Zero's platform. And we're using relaxed web services to serve the bridge between the connected instances. So relaxed web services is bringing, like, a more extensive REST API. So it's supporting UUIDs, translations, file attachments, parent revisions. So it's, you know, allowing that connection. So, you know, why do we choose deploy? So, no. This is another kind of great baseline solution that we needed to build on top of. We had the ability to restore deleted content. It gave us the ability to kind of, like, get ready to, you know, push changes from these connected CMS instances to the target content repository. And very interestingly, like, a lot of these pieces are, you know, being considered for moving into core as part of this workflow initiative. Also, things like multi-version, replication in the workspace are also being planned for inclusion in a future Lightning release to support more content, you know, previews, staging, kind of archiving your site's dates. So that's kind of interesting as well, I think. So to just recap here, so we went through all the stacks. So we've got CMSA, we've got this multi-version, working with replication, dealing with a single workspace, relaxed web services, providing that bridge, and we've got a similar stack on the content repository. So I mentioned earlier about, like, this workflow initiative. So what is... So the idea is to improve content workflow and preview and content staging by kind of extending the entity API, kind of taking these pieces from these different modules, also like workbench moderation. The roadmap is pretty humongous. It is quite an ambitious initiative. They've done a ton of work already on it. One thing that, you know, when I went to the workflow initiative session yesterday, I saw that they are creating this module called content moderation as an experimental module as part of CORE. Kind of... First of all, it rewrote a little bit of the workbench moderation, so I was allowing it to be uninstallable and folding in these kind of revisioning pieces. So that's pretty interesting and cool. So there's some more information here. When you look at the initiative, you will be like, wow, there are so many phases hitting all the way to 8.5 as a target. But I highly encourage you to check out Dree's blog post, kind of talking about why we're thinking about this. This is an extremely hard problem to deal with, especially as part of folding into CORE is very difficult when you get into this whole revisioning business. But anyway, check these resources out if you're interested. And yeah. So now we're just going to kind of start wrapping up here. And Tian is going to talk about some of the platform features that are planned for future iterations. Thank you. Yeah, a lot to go through. I think each of these topics that we've covered, even that this is a one-star discussion, we kind of flew through a lot of content. And I think each of them deserve a full deep dive conversation in the future. But looking ahead, we still have to migrate our existing content from all of our CMSs over to this new Drupal platform that we're building with Phase 2. So there will be a need for a taxonomy manager to change the structured data that's stored in one database into Drupal-style content. We still have to do the data migration aspects of it. There are going to be future mobile-specific features that we haven't included as this baseline development. And we haven't even touched up on personalization yet, which is it's a very, very deep rabbit hole. So there's that. And so far, it's been very productive working with Phase 2. I think what we've developed so far is definitely in the right direction. It is a very, very large project, as you can imagine. And we're still learning a lot as we go along. Things like working on an open-source platform, referring to the community modules list. We're working on Docker. Drupal-8 is new, I think, just in general. And then not to mention all of the other performance issues and scalability issues that we're going to hit once we start rolling it out live. Yeah, and just some... Yeah, I'm going to add to this. Just like some other kind of perspectives, lessons learned pieces. So one of the things that I think, coming from a developer side, one of the things that we did with this project is we had a lot of open communication. We had these things called sprint reviews. And the sprint reviews also had the demo. And it's okay. I just want to, when I was first thinking about this, I was like, oh my God, I got to demo this. I'm not ready. I got to say it wasn't pushed to the dev instances or whatever. I had to demo it locally. As a developer, you're taking a moment to stop and make sure you're set up for the demo. But one of the things that I learned from this experience is that really was quite key because we were able to get immediate feedback and everybody was on the same page. Nobody's having different assumptions on what's being worked on. We could kind of surface any kind of doubts or things that we're thinking about for a particular feature and talk through it. So I think that was really, really important as part of this project process. Even though it's like anxiety producing to kind of demo. And another thing, as you're developing these custom modules, yes, we have these annotations and all these comments everywhere. But I think it's also really key and I've seen this for other projects that I've been working on to have a read me file in your custom module to kind of give the next developer who's going to come along the gist so that they don't have to read through everything. And also highlight anything that's like, okay, this is the reason why and why this is being done custom and what are some key points, like we're creating this plugin and it's doing this. So I feel like adding that additional documentation as part of handoff is really key. I appreciate it as a developer and I'm sure you appreciate it. When you look at contrib modules that have that extra information in the read me, you're like, oh, thank God. So that's just something that I wanted to mention. So, you know, before we go to questions, I just wanted to highlight that there are these contributions sprints happening all day, but also especially on Friday so you can make it. There's the first time sprinter workshop, there's mentored core sprints, and then general sprints for whatever kind of a topic that you're interested in, but definitely encourage you to get involved. And, you know, please evaluate this session. Your honest feedback is most, most appreciated and valued.  So I guess, you know, we have about 10 minutes or so. I guess we'll open it up for some Q&A. And please use the mic. It's in the middle. Thank you. What are your plans for front page editing, article sorting, and stuff like that? Front page editing. Sure. What are your plans? Where I come from in Norway, the, you know, using a whistle-wiggish front page editing tool is critical, you know. Sorry, so I don't think we wanted so much to whistle-wiggish. I mean, there are specific templates that are outlined for our home page that you want to promote, over time you want to promote muscle memory of where certain menu options are going to be and where certain aspects are, you know, top stories are always going to be on the right side or on the left side or whatever that is, right? So we don't want to make major layout changes. That being said, there are, you know, top-level templates that we use. So if it's a breaking news day, there are certain, there's a very specific layout for, if a plane got shot down, that's terrible. But whatever it is, we do use those major type of templates so that you can have, let's say, a lead story and then maybe two or three analysis pieces around that. Or if it's just a regular news day, you would have maybe, you would weight it more equally along with some multimedia content. Does that answer your question? Yeah, sure. So it means you won't really be able to, like, edit a node title on the front page or, like, remove the teaser and make the image bigger, stuff like that. It's a fine balance between, you know, you don't want the editor to kind of run away with the general layout of the site and the general look and feel of the site, right? We have designers that spend a lot of time in UX folks and doing user research to figure out what kind of fonts work, where certain elements need to lie on the page to get the right type of attention. So we don't want to prevent the editor to make important changes as needed, but at the same time, it has to have an overall structure in terms of conveying information over time. Are you asking about edit in place? Is that what you're asking about on the front page? Not really. With our media customers, we have built an Angular application on top of Drupal at Handon, so that so you can drag in articles and sort of stuff like that. And what we see is that all, at least in Scandinavia, all the big news sites, they allow for, you know, making the promos for articles very different from the actual articles. So you change the titles, you change the images, you tweak the font sizes, and tweak the layouts and stuff like that. So I guess what I'm saying is if you came to a news site page and every day it looked completely different, it would be an awful user experience. And we have to balance that with, I think, highlighting important pieces that do come out and making sure that the platform has flexibility to do that. So I think it is a core requirement of that capability, but we certainly don't want editors to just willy-nilly go in and start changing things on the fly. Thank you. Yeah. Hello. My question is about the distribution. Since you're lightning, say if you want to put your own stuff on top of it, how did you fork lightning or use all of the box and... So, let me go back to the slide here. Sorry. I came a little bit late. I might have missed something. Yeah. No problem. Try to find the slides. I think these are all recorded as well. Sorry. It's many slides back. So there are three approaches for how you would kind of build on top of it. And I'm trying to find it. Here we go. So one would be to build on top of it like you would for a product distribution. Another would be to use the extend.yaml file. And, you know, these slides will be posted. So you can access these links. But there's an example kind of implementation where you kind of use the yaml file to say, okay, I want these kind of enabled. The method that we used for this platform was using this patch that allows us to inherit from a base, like a parent profile. And is your code like open source? Is it public or is it not really? No. And say if they put new functionalities on the lightning, something that you know once. Sorry. I just want to say, generally speaking, no. But where it makes sense to contribute back to the community, we are actively looking into places to open source it. Yeah. But this particular distribution. I think my question is more like to see your setup. What's that? To see how you put everything together. Of course, I guess no. So say if they put new functionalities on the lightning that you don't want. How do you do that? Because you're going to inherit all that stuff, right? Yeah.  So you can, like... I mean, even if you're, like, kind of spinning, lightening up, like, on simply test me, right? If you're going through the install screen, you can see that these things like lightning media or lightning workflow, those features are optional to install. So you can have the same approach in your install profile setup. Maybe I'm missing something here. So you have your own install profile? Yeah. So we created, right? Install profile. Based on lightning. That is using... So in, for example, like open atrium, right? Like in D7. We are using, like, for projects that are using that, we're using a similar kind of patch. It was for seven to kind of say, like, okay, I want open atrium to be my, kind of, like parent-based profile. But then I want to kind of extend what's coming out from that. And I want to build on top of that. So in my install profile, I'm choosing which modules to be enabled when it's installed. And then, you know, in seven, you know, you have these other things, like feature overrides and things like that. But, like, here, you know, we added, you know, our own feature modules that are like, yeah, I have a dependency on lightning media feature, for example. So it's all those pieces kind of stitched together. But yeah, it's in here in install profile. Nice things. Yeah. Hello, my name is André Bonmayer. I'm currently working for Burda. And we are having a similar stack using Thunder. And I got a particular question regarding what tools you use. Are you currently moving everything on top of Drupal, or are you still implementing and using third parties or third-party softwares, like media managing, solution, media distribution stuff in that direction for video images, for videos, for instance? Was it all in Drupal? So the video, for example, like, is, like, these videos are break-out videos, right? So we're using a module to, the break-out video connect module to provide that interface. So yeah, that part, like the media part is being handled in Drupal. Okay. Do you, is it live already? Are you using it, or are you still in the rollout process? Still in development. Okay. Yeah. How long are you working on this? Oh, a long time. I don't want to say, but it's... Oh, the planning phase? Yeah, I mean, there's a lot there. Like I said, we started out with something like a 200-page document of just high-level requirements. So it was, there's a lot to go through. Okay. And one last question regarding the Content Hub. Is it, like, every instance of your page has all the content it displayed completely in it, including all the revisions and all the media assets, or is it still saved in the Content Hub in just reference to it, also for the distribution part? Like, is an image distributed to an instance and then displayed there, and do you have cache and varnish and whatever there goes on that stuff, or is it in the Content Hub in reference to there? We don't have a caching layer set up right now because it's a baseline platform that's currently being built on and sites are in progress for building on top of that. So the revisioning piece... All right, so it's not like we're having multiple copies of snapshots of each node, right? So it's just like the changes that have happened for each revision. Those are being pushed and stored like the revision kind of tree and all the stuff, the UUID. Business is being pushed to the Content Repository. That includes, like, well, there's no translations here, but that includes the media piece as well, media references. Okay, cool. Thanks. Hello. My question is about the channel pages. Channel pages. Yes, channel pages. The first part of the question will be of how much automation is important to you. Of course, assume that most part of the channel pages are generated automatically. But about the manual part, how important was it to you to improve the use experience for the editors so they could place stories on specific positions? Do you have some specific drag-and-drop in place or live preview in place for those channel pages? Yeah, I mean, we do want to do live preview and... Sorry, repeat the first part because I'm not familiar with what the scope of a child page is in Drupal World. So a channel page to me is, well, the landing page, obviously, or politics, or, I don't know, sports. Those are channel pages. Channel pages, yes, channel pages. Okay. And how much of those are automated and assume some part is manual? Or decision, what story goes where is partly done manually? So as a general workflow kind of principle, we want to allow manual override for everything but automate the actual placement of things. So if we, say, just put the latest ones or the highest ranked ones or the most popular ones, it'll automatically move them into place. But at any point, a user can come by and shift that out and say, I want to give more precedence to a different story. Does that answer your question? Yes. And how much effort did you put into improving the user experience for users who do that by live preview or drag and drop or features like this? Paralysation. So some people can work on upper part of a channel page and some people in the lower part. Very rarely will you see that...


I'll take that on behalf of the whole team. Okay, I've been elected by a bubble sore to say a few thank you words. So I think this has been probably the most successful first ever to now. Everything was pretty smooth and we're really happy about how it went, especially a number of people. And I'd like to say a big thank you to everyone who has been coming because we've had to be pointless without all those people coming around. I hope everyone has enjoyed the weekend. I think there are enough talks for everyone in there. I know you are very tired, so I'm going to make it really short in speaking of time and work. If you see some junk, just give us a hand, pick it with you. There are some trash cans because we still have some stuff to do. And yeah, big thank you to everyone. This was the 2007 and I hope everyone will be there for the 2008. Thank you, bye.


The Pan-Canadian Pharmaceutical Alliance, PCPA, implemented a tiered pricing framework, TPF, for generic drugs in April 2014, which has resulted in faster generic drug entry in smaller markets than before. This has led to greater access to cheaper generic medications and increased competition among generic manufacturers, resulting in lower costs for patients. This article was authored by Wei Zhang, Hu Ying Sun, Daphne P. GUH, and others.


We are pleased to present you a short video outline of our review visualizing cellulose activity to be published in biotechnology and bioengineering. The authors of this review are Dr. Patricia Bubner from the Institute of Biotechnology and Biochemical Engineering at Graz University of Technology, Austria, Dr. Harald Plank from the Institute for Electron Microscopy at Graz University of Technology, Austria, and Professor Dr. Bernd Niedetzky from the Institute of Biotechnology and Biochemical Engineering at Graz University of Technology, Austria. In order to exploit the abundant lignocellulosic biomass available, efficient enzymatic conversion of cellulose is key. Rational design of the process, however, is dependent on thorough comprehension of enzymatic disruption of cellulose. Several fungi and bacteria express efficient enzyme systems called cellulases to degrade cellulose. However, despite decades of research, our comprehension of enzymatic cellulose degradation is still not well advanced. This is reflected in our current simplistic model of enzymatic cellulose degradation, which has not changed much in the last 30 years. While the molecular mechanisms of cellulases are well understood, we lack meso- and nanoscale evidence of the processes happening directly on the surface of the insoluble substrate. This information is not accessible using biochemical methods. However, it can be imaged using biophysical methods. Visualization of cellulases, their structural dynamics and implications on the cellulose surface, has well advanced our knowledge about the process. Our review addresses the approaches taken in order to understand enzymatic lignocellulose degradation using advanced imaging techniques. We discuss first the methods employed for visualization, second the substrates used and third the milestones achieved in studies in the past 32 years. The methods used for visualization are optical microscopy, electron microscopy and atomic force microscopy. Among optical microscopy methods, modern fluorescence microscopy has been successfully used in visualization of labelled cellulases and or substrates. The CFM principle is outlined schematically here. This is an example from a recent publication showing a typical confocal image of cellulose microfibrils with bound CBH1. Electron microscopy. In transmission electron microscopy, high resolutions down to the atomic scale can be achieved. It was widely used in the beginning of cellulase visualization in the 80s. However, due to the non-environmental conditions used, TAM application for cellulase visualization is limited. Classical scanning electron microscopy needs an electrically conductive surface layer and vacuum in the sample chamber. Environmental SEM allows measurements at higher pressures and is thus suitable for investigation of hydrated and uncoded biological samples. Atomic force microscopy. In AFM, a sharp tip which is mounted at the end of a flexible cantilever is rastered over the sample surface, thus allowing to access surface structural dynamics. In a so-called liquid cell, samples can be imaged in environmental conditions at ambient temperature and pressure in liquid. In the last decade, several AFM studies gave impressive insight in behavior of cellulases and the structural dynamics of enzymatic cellulose degradation. The various cellulose substrates used in the studies reviewed are bacterial and algal cellulose, plant cellulose and various cellulose model substrates. Finally, we show here some of the milestones in cellulase visualization which are discussed in our review, such as the first TAM study on this matter by White and Brown in 1981, the visualization of CBH1 processivity using high-speed AFM in 2011, the empirical model of cellulose surface structural dynamics during enzymatic degradation published in 2012 and the in-situ visualization of the mesoscopic structural dynamics of cellulases using AFM. Here you see the three-dimensional superimposition of AFM images, depicting the degradation of a mixed amorphous crystalline cellulose by a complete cellulase system of trichoderma resi. If we zoom in, we can observe the structural dynamics happening during degradation directly on the surface. In slow motion, the degradation of single fibrils can be clearly seen. This was a video highlight on the review visualizing cellulase activity by Patricia Bubner, Harald Plank and Bernd Niedetzky. We want to thank Manuel Eibinger and Thomas Ganna for helping preparation of this video.


welcome to module 25 of Chemical Kinetics and Transition State Theory. So, we have been playing around with transition state theory for some time we looked at its derivation from statistical mechanics, we solved numerical problems and we analyzed its relation with collision theory in the last module. What I want to do today and in the next module is look at the derivation from a very different perspective which is a dynamical proof in phase space. This is not usually covered in many courses or in many books. So, this proof is not there in Laidler's book I will provide you with appropriate reference in the next module. But today I just want to build towards this dynamical proof I want to provide you an intuition. So, the statistical mechanics proof is perfectly correct, but it does not provide you intuition particularly it does not have the intuition of dynamics in it. It is also very static, it is they come from the language of partition functions and equilibrium constant and it gets you the final answer. But you know what we are studying is dynamics we are studying kinetics. So, the motion of atoms and molecules have to be present somewhere and we will show that we can derive the transition state theory result from looking at this perspective as well. So, today let us build this intuition we will have today we will not stick to very mathematical rigor we will be doing hand wave proofs today in one dimension just to understand just to build an intuition ok. So, let us start simple ok. So, let us first let me build a model for you what I want to think about today.  So, I have a reaction that is happening here where H let us say transfers from A to B this happens actually inside our body all the time the hydrogen transfer proton transference whole. And let us say I have some kind of a transition state in between where H is in between neither connected to A neither connected to B, but somewhere in between ok. So, this is my reactant this is transition state and this is product. Well of course, it is a complex system A and B can be some large molecules you can have solvent surrounding all of this today I just want to keep it simple. I want to look at one dimension only which is let us say this distance. So, this distance increases here and distance is much larger for product and I want to think of this distance as my reaction coordinate and this is the only distance that exists or the coordinates of within A or AB distance just for simplicity I will not consider today. In the next module we will think about how to include those as well. So, if I let us say want to draw a potential energy with respect to this Q well when Q is small corresponding to this one when Q corresponds to this reactant distance you know I will have some kind of a minima which basically says that A H is forming a bond. So, whenever you have a bond you have a minima in energy surface ok. The transition state distance well transition state by definition should have a maxima ok along the reaction coordinate I have only one coordinate which is the reaction coordinate and when Q is very large you will have another minima. So, this is my reactants this is the transition state this is the product. I simply want to understand transition state theory for this simple one dimensional model today ok. So, nothing complex ok. Let me before I do transition state theory let us think of a simple minded back of the envelope estimate based on our intuition of dynamics ok. So, let me draw this energy surface once more this is reactants transition state product ok. I do think that this thing at the minima reactants has some frequency omega the spring constant omega is related to the spring constant I am sorry ok. So, if I want to calculate the rate constant of this problem at some temperature how do I calculate it? Well the simple thing is let us say I have my trajectory here that is moving on this what I am going to do is think of different trajectories at different energies. So, my trajectory number 1 is at energy E 1 I calculate the rate for this trajectory at E 1 I think of another trajectory at energy E 2 and I calculate that rate and I basically find a average. More mathematically what I am doing is I am integrating over all possible energies I have to find the probability density of being at that energy multiplied by the rate at that energy. So, I will call this k of E just so that it is easier for me to write. So, what I have is rho of E d E is the probability being energy E and this k of E is my rate constant if trajectory is ok. So, I have to calculate this rho and I have to calculate this k and I have to integrate. What should be the integration limits? It should be 0 to infinite energy is always positive because you always have kinetic energy which is positive and I am assuming this is E equal to 0 and this is E activation energy. So, I am integrating for all positive energies here. So, let us calculate these quantities. So, we will start with this rho of E d E. This is nothing but the Boltzmann distribution. So, rho of E d E is the my Boltzmann distribution into some normalization constant because the probability that I am at energy E is simply given by this. The only trick remains in calculating this N. So, I know that my probability should be normalized. So, if I integrate the probability density from 0 to infinity I should get 1. So, N into 0 to infinity E to the power of minus beta E d E must be 1. So, N I integrate this from 0 to infinity should be 1. I solve for this I get N equal to beta. You can quickly verify this I have skipped 1 or 2 steps here. So, I get rho of E d E equal to beta E to the power of minus beta E d E. I do not know why I have put this thing here. So, let me remove that. Now, let us calculate this k of E. So, how do I calculate k of E? That is a harder question. So, we are going to again everything is simple minded. We are going to make simple minded assumptions here. So, remember a transition or a surface looks like this and the frequency here is omega. What I am going to do is as follows. I will imagine this to be a harmonic oscillator like this. So, this I have converted into a harmonic oscillator with frequency omega and what I am doing is I am sitting at the transition state and I am asking the question at energy E what is the rate of moving forward. So, if you are at energy E what is the rate constant at which you will hit this energy surface with a positive velocity. That is what is transition state theory. It only looks at positive velocity. So, this thing is rate. So, let me be more precise number of crossings transition state at energy E with positive velocity. We do not include negative velocities in transition state theory. That is an extremely important fact to realize and of course, it is an approximation. So, how do I estimate this? So, the first thing I realize is if E is less than E a if my energy is below this well then I will not hit the reaction coordinate. I will not hit the transition state I am sorry. So, if my energy is here I will oscillate between this point and this point. I will have no possibility of reaching transition state. So, k of E will be 0. The number of crossings at transition state is equal to 0. If E is greater than E a that is when I will invoke this harmonic approximation. I will think of this problem as completely this parabola. This is my transition state. So, per second what is the frequency of I will hit this transition state given that I have high enough energy now. So, k of E then will be omega over 2 pi. So, omega over 2 pi is the frequency of a harmonic oscillator. So, each point in one time period is covered twice. Remember that I go from here in one time period I do this motion and I return back, but I am looking only the crossing with positive velocity. Therefore, I ignore the negative portion and so, k of E is simply omega over 2 pi. If I included the negative one as well then I would have to double it, but those are ignored in transition state. So, I have a k of E now with me. So, k of T we argued is given by this integral here. We argued p of E to be the thermal equilibrium p of E and k of E we have argued to be this again a simple minded model. So, I get k of T I just substitute things here D E, p of E is beta into e to the power of minus beta E into k of E. So, k of E will be 0. So, I will take this integral and take it into two parts and note that the k of E here is 0. So, this is 0, this portion from 0 to E m. And so, I will get this one where k of E is simply omega over 2 pi. So, this is an integral with omega over 2 pi that I take outside the integral E A to infinity D E beta e to the power of minus beta E. So, this is an easy integral to do again. So, let us do it. This I integrate as from E A to infinity. So, this will be equal to omega over 2 pi into beta will cancel with beta here. And you will get is e to the power of minus beta E A after you put in the limits this you can easily verify. So, this is what I have got for k of T a simple minded result. I have a surface that looks like this I have a frequency omega here I have activation energy. So, actually this result is very physical omega over 2 pi is my flux. So, that is the rate constant that I will traverse the reaction this transition state. This thing is probability that energy is greater than E A for 1 D only. So, I multiply by the flux with the probability that my energy is greater than E A. It is as simple as that and that is my rate constant. Let us get back to transition state theory which gives you a much more sophisticated rate formula. This looks much more involved is it at all somehow related to the formula that we have just written. So, we are going to think about it. Here I have only one reactant this A I have my reactant is simply this one structure A H B. So, it is governed only by this Q and my transition state is once more some structure that looks like this. So, we are going to make very rough approximations for that partition functions. We have to calculate this Q A naught and Q T S. So, let us make a rough estimate of this Q A naught and Q T S. Q A naught well I will have a very simple minded model. So, I will not include any only I will include only one vibration. I have some translational I have some rotational of the entire molecule and I will include only one vibrational only 1 D. All other vibrations I am for simplicity I will ignore just to be able to correlate with my previous simple minded answer. Q T S I will actually the translational part I will assume is equal. I will leave that is a very good approximation because the mass will not change in this simple minded structure. More importantly even the rotational part we will assume is equal and the vibrational part we will assume is 1. So, that 1 vibrational coordinate that was there is my reaction coordinate and so there is no vibrational component to transition state. Remember that transition state always has 1 vibration less compared to the total number of vibrations. I am considering only here 1 vibration. So, the total number of vibrations becomes 0. Now, Q vibration in 1 D classically is a quantum mechanically is given by 1 minus beta h bar omega. This we can go back and see this we derive this and so we are going to make an approximation now. We are going to assume high temperature. So, this will become 1 minus 1 minus beta h bar omega in high temperature limit. So, this is equal to K T over h bar omega which is the same as the classical answer. So, we are going to replace this by K T over h bar omega. So, I have got Q A naught as some Q translational into Q rotation into K T over h bar omega. Q transition state is the same as Q T R naught into Q R. So, K T S T if I divide the two first of all I have K T over h and then if I divide the two this will cancel and this will cancel if I am dividing them and I will be left with h bar omega over K B T. So, Q A naught is in the denominator. So, I invert it into e to the power of minus E A over K T. Now, you notice something beautiful happens and I get h bar divided by h which is nothing but 1 over 2 pi notice something beautiful you get the same simple minded answer. So, the idea is this thing we derived remember how we calculated this. We assume that the rotational component is the same we also assume one dimensional simple answer and that answer we are treating harmonically. So, the vibration is treated harmonically that is a simple harmonic oscillator and classically high temperature limit.  This is what you do actually you think on what is the reaction coordinate at the transition at the reactants you think of what that frequency is you estimate the activation energy somehow and you calculate this and you will get a rate constant. It is a very simple minded, but nonetheless like it is a starting point you can say calculating this involves more calculations and it will be of course, more accurate. So, I want to stop here and today what we have done really is we have calculated a 1 D rate as a flux across this dividing surface. What we have done is we have we have put a marker on my transition state and I was looking at the flux of trajectories moving in the positive direction at the transition state and from that we calculated a rate constant as omega over 2 pi to the power of minus beta ea and that we saw actually matches in some limit with the transition state answer we have already derived. So, we will take this idea forward in the next module we will make it much more precise. Today was hazy, today was I waved my hands next time I am going to be more accurate and put everything in correct perspective in the dynamics in phase space and derive the transition state rate again from this idea of a flux at the transition state surface. Thank you very much.


An essential biblical doctrine and therefore an essential doctrine of this church is the doctrine of salvation. Salvation or soteriology is a broad doctrine and deals with the work of Christ, the Redeemer and its application to the elect by the Holy Spirit. During this lesson, we're going to use Romans 8, 29 and 30 to focus on some major aspects of the doctrine of salvation. So turn with me to Romans 8, 29 to 30 and we have two different handouts here. One is the main one for the class and another one's a diagram of the golden chain in the text we're looking at. Okay, so let's read Romans 8, 29 and 30. Those are the focus texts but I'm going to restart at 28 because that group fits together well in context. Thank you. And we know that all things work together for good to those who love God, to those who are the call according to his purpose, for whom he foreknew, he also predestined to be conformed to the image of his son, that he might be the firstborn among many brethren. Moreover, whom he predestined, these he also called, whom he called, these he also justified and whom he justified, these he also glorified. These are some major aspects of salvation which we're going to briefly look at this morning for knowledge, predestination, calling, justification and glorification. I hope to address some application along the way. If you'd like, please reference and use this handout, this is what we hand out in essentials. I plan to reference it. Before jumping into the terms of Romans 8, 29 through 30, let me give a brief reminder of the context of Romans 8 and Romans 8, 17 if you'll look there. The children and heirs, heirs of God and joint heirs with Christ if indeed we suffer with him that we may also be glorified together. Paul reminds his readers that they must suffer with Christ in this life in order that they may be glorified with Christ. Then in verse 18, he boldly claims that the sufferings of this present age are not worthy to be compared with the glory to be revealed to us. From here he gives three proofs as evidence why his claim is true. Creation, believers and the spirit are longing for glorification with cronies in different ways. Then he concludes by explaining what the plan of God according to which the spirit intercedes in verses 28 to 30. The spirit intercedes on our behalf according to the glorious sovereign plan of God which stretches from eternity through time into eternity. This plan as revealed in Romans 8, 29 and 30 is called the golden chain of salvation by a lot of theologians. There's another handout looks like this as a chain up here that's to help you picture the chain when we speak of it. So let's reread Romans 8, 28 through 30 and keep moving. And we know that all things work together for good to those who love God to those who are the called according to his purpose for whom he foreknew he also predestined to be conformed to the image of his son that he might be the firstborn among many brethren moreover whom he predestined these he also called whom he called these he also justified and whom he justified these he also glorified. I'm going to reference this handout now and read this paragraph at the base of it. It helps show the connectivity of this chain and why it's even called a chain. Notice the chain of events those whom God knew or fixed his heart upon in ages past he marked out or ordained and in time he called effectually and he justified and he glorified so indissoluble is the chain that the last link is here viewed as an accomplished fact because the first links are so. The exact number known by God before the world began shall be glorified no more no less and all of them must and will pass through each of these five steps. To illustrate suppose God foreknew 100 individuals. Then he predestined 100 individuals he called 100 he justified 100 and he glorified 100 individuals none are gained none are lost he will bring to salvation each individual whom he set his heart on love for the world began. This is why it's called a chain because the links are inseparable. If you pick up a chain at any link. You pick up the whole chain and it is so with this doctrine of salvation if you pick up calling comes with it for knowledge of God it comes with it glorification. So how do we know all things work together for good for those who love God who are called because of God's plan which we're calling the golden chain assurance here is based on God's plan of salvation let's look at each term in the chain so the first one is for no for new for knowledge in the Greek I want to use the Greek words because they help differentiate between these terms even if you're not familiar you can at least hear it in association and I can give you the Greek definition pro gnozko choose beforehand or no beforehand to author steel and Thomas give a definition for knowledge is equivalent to for love those who were the objects of God's love he marked out for salvation I want to show you that from Romans 11 11 to that this for no means for love because some people may take this to mean God looks into the future of his creation and sees faith in his people and on the basis of what he sees he predestines them to salvation so because of that that prevalent teaching I want to prove this definition I just gave you and not just have it hang out there with something I just said so Romans 11 to the same word is used God has not cast away his people whom he for knew that's the same word for new it's talking about Israel and I want to look at a text in Deuteronomy 7 to show and illustrate how God for knew Israel Deuteronomy 7 7 through 8 the Lord did not set his love on you nor choose you because you were more in any more in number than any other people for you were the least of all people but because the Lord loves you and because he would keep the oath which he swore to your fathers the Lord has brought you out with a mighty hand and redeemed you from the house of bondage from the hand of Pharaoh king of Egypt so you can see how it wasn't because Israel was worthy of being loved they weren't a great nation or their number wasn't great it was because God loved them that they became a nation look with me at Jeremiah 1 psalm showing you some of the concept of for love this is talking about it you know Jeremiah an individual now seven nation but then the word of the Lord came to me I'm reading in verse 4 then the word of the Lord came to me saying before I formed you in the womb I knew you before he were born I sanctified you I ordained you a prophet to the nations he's speaking to bolster Jeremiah's faith and strengthen him and he does it by saying I knew you before you were in your mother's womb he's not saying I knew about you he's saying I knew you another place you can see a cognate of this word in the New Testament is in Matthew of course over here in the Old Testament we're looking at the concept but now I want to go to Matthew and look at this word used in the Greek or Matthew 7 verses 23 and then I will declare to them I never knew you apart from me you who practice lawlessness he's not saying I never knew about you because he's a judge of all the earth he knew these people who he's sending into destruction he knew of them he knew about them he knew that who they were it's not I knew you were about you or I knew you were going to be like this he's saying I didn't know you in a loving relationship in an intimate affectionate relation I did not know you that way so in Romans chapter 8 that's the way that I believe is the proper interpretation some believe you know this means that God is foreseeing and knowing the potential faith of believers but if you look in the Romans text there's no need to try to add to it any qualifiers you don't need to add in there whom he foreknew would have faith God isn't foreknowing events of believers like potential faith he's knowing them he's foreknowing them individually there is a lot of literature on this argument and for time sake I'm going to move on but if anybody is hung up on that please come see me when there's free time today I even brought some books with me I can show you does anybody have any questions on taking foreknowledge as foreloved sure Genesis for one says now Adam knew Eve his wife and she conceived in bull cane and said love it's an intimate love between and that's the use of that hey man thank you okay and an application I think it for believers with this is to resist the thinking that this doctrine of salvation is cold God for loved you he set his affection on you before he created anything and because he sat his love upon you he predestined that you would be glorified with Christ so don't think of the order of salvation as a cold doctrine but be encouraged and comforted as you persevere with this knowledge that God foreknew you let's go to the next term for whom he foreknew he also predestined to be conformed to the image of a son that he might be the firstborn among many brethren he also predestined before reading the handout on this let me address predestination versus election we have us we have a system at we have in our repertoire of words and definitions and our understanding of those words we have words that come to us in systematic theologies and we have words that come straight out of the Bible sometimes they match up and sometimes the systematics are talking about a theology and you can't just meet put all of that into one text in the Bible we need to be careful to get our definitions from context so if we're reading about election in the systematic theology we need to get the context of that systematic theology understand election reading about it in the Bible there's different forms of election in the Bible there's election of a nation there's election that's eternal your salvation so context should be a helpful guide to us as we look at the word meanings and in Romans 8 in context Paul uses a Greek word in Romans 8 29 and 30 and it's pro-orezzo and a helpful definition of that is to decide upon beforehand to decide upon beforehand for predetermined I believe predestination is a good translation in context Paul is stating that those who are foreknown or foreloved by God are predetermined or predestined for his planned end which the part of God's plan which Paul highlights is to be conformed to the image of his son so that Christ can be preeminent among many brethren I think this section could have been titled predestination also on our handout titled it elect election we could have titled it predestination if we're trying to stick pretty close to the Romans the focus pre-depth the predestination of God here is the end of conformity to Christ because of the handout is going with election I want to read that definition but when you read system addicts they'll talk to you and you'll learn and reform system addicts or those who are picking up reform theology there's predestination and predestination deals with God predetermining the eternal destinies of rational create creation like man and angels and then sometimes they'll lead out angels and just make it about men but it's dealing with those who are I call them rational we're rational creatures we're not we yet we're able to worship God we have moral faculties we have a will and within predestination you have election and you have reprobation so systematics you'll read predestination and they're meaning it more broadly encompass the destinies of all people and then when they used to word election talking about believers in context Paul's referencing believers he uses the word predestined in the Greek it just means predetermined but let me read this definition this is more of a systematic definition of election and it's right here in the heart of this word that we're looking at election is an act of God before creation in which he chooses some people to be saved not on account of any foreseen merit in them but only because of his sovereign good pleasure so he chooses some it's not because of any foreseen merit and it's only because of his good pleasure that's election it's very much opposed in history by a lot of different people groups and whenever you make man an idol you're going to oppose this because you want to say man doesn't need election that's unfair it's violating man's free will but let's look at 2nd Timothy 1 9 which is a reference here this is bringing out this concept that God chooses and acts before time began who saved us and called us with a holy calling not according to our works but according to his own purpose and grace which was given to us in Christ Jesus before time began and if you look at 1st Peter 1 2 to the pilgrims I'll read it start start at 1 Peter an apostle of Jesus Christ to the pilgrims of the dispersion and Pontus Galatia capo dosia Asia and Bessinia elect according to the foreknowledge of God the Father so you can see election we could go to Ephesians you go to Acts 13 there's many places that election is taught in scripture how does election refute the idea of works salvation I mean Mr. Tom can you wait he's got it I think it's working now this helps clearly define the cause and the effect the effect yeah there's there's good works that he set aside for you to do the cause it's all him amen if you look at the Romans 9 this one page over verses 10 and 12 this is exactly what Paul is is making very clear that election is opposed to works salvation Romans 9 10 and not only this but when Rebecca also had conceived by one man even by our father Isaac for the children not yet being born nor having done any good or evil that the purpose of God according to election might stand not of works but of him who calls it was said to her the older shall serve the younger as it is written Jacob I have loved you saw I've hated you can see how it's before they exist and it's done that way that the purpose of God according to election might stand and not of works so if you have a works based mentality of salvation the more clearly you understand election the more difficult you're going to have with and you're going to find yourself trying to reinterpret it or fight it but look at the text Richard a Muller says this about election these are a couple I'm going to get Muller and Calvin election is the positive part of predestination according to which God chooses in Christ those individuals who will be his eternally dictionary of Latin and Greek geological Calvin he says this in his institutes election is God's once establishment by his eternal and unchangeable plan those whom he long before determined once for all to receive into salvation and those whom on the other hand he would devote to destruction how does the apostle Paul answer the objection that election is not fair in Romans 9 10 through 24 so he'll flip the page over Romans 9 how does Paul answer the objection that election is not fair and I think that this question is helpful because one of the ways the election gets opposed and attacked this doctrine is by saying if what you're saying is true Mr Calvinist then God is not being fair because he's electing and then there's those who are reprobating so how does Paul answer that objection Mr. Noel I believe he answers that question by saying that man is not like qualified or in the position to make that determination to begin with in verse 19 you will say to me then what is he still fine fall for who can resist as well but who are you a man to answer back to God I think that's how he answers the question yeah yeah yeah Zavio okay Brianna he also points out Paul also points out says you oh man so you have God the creator and you have this creature so you have a man cannot act towards God because of his very I because I saw Zavio and say him and then I saw pastor it next to me I agree with all of the answers I was focusing more on verse 15 just the one they were mercy and the reason why is because like none of us deserve you know salvation so God is not being fair because like he chooses to whom he can have mercy on you know like we're all like guilty you know we we're all deserving we're all on our way to hell you know and running towards hell you know so if the Lord chooses to say some it's actually something good that he's doing you know he's saving so I think of mercy when I hear that question yeah yeah that's great yes where the well Brianna they they really focused upon I think rightly so who is man right I think the text these the verses that you cited also point to the absolute freedom of God God does what he will and we have nothing to say in return so in verse 13 as it is written Jacob I love that he saw I hated so what is the reason God loved we haven't we have and and he saw he hates we have nothing to say in response and cannot answer God and object and say you have no right no God is free he is free to choose to bestow his love upon whom he wills then again in verse 18 or then he has mercy on whomever he wills and he hardens whomever he wills again just God's freedom hey man someone told me one time if you don't preach election or teach it you won't ever get these objections the fact that Paul's addressing these objections shows that the doctrine of election is biblical this is not a Calvinistic grabbed out of the air idea the doctrines that get called Calvinism are biblical and Paul's addressing objections throughout this letter and here he's objects addressing objections in regards to election if it's not true why is he addressing these objections it's because it's true my friend okay the next term is effectual calling or I'm sorry calling what we called it effectual calling and I think we stop at 930 940 okay all right let's see so in the back into Romans 8 for whom he foreknew he also predestined to be conformed to the image of a son that he might be the firstborn among many brethren moreover whom he predestined these he also called when you look when you look at the handout that you have there's a definition on there it's from John Murray and I think in regards to what we're talking about the the doctrine of salvation today and we're looking at some major aspects of that the part that you want to look that deals with the application of salvation I think John Murray's we got this on our shelf it's a really good book redemption accomplished and applied he says the call that ushers men into into a state of salvation and is therefore effectual so this call is one that actually ushers them into a state of being saved and because it does that it's effectual I want to read our confession briefly I'll just read one paragraph those whom God hath predestined unto life we just talked about predestination he is pleased in his appointed and accepted time effectually to call by his word and spirit out of that state of sin and death in which they are by nature to grace and salvation by Jesus Christ and this is what he does this is what happens when a person is effectually called enlightening their minds spiritually and savingly to understand the things of God taking away their heart of stone and giving to them a heart of flesh renewing their wills and by his almighty power determining them to that which is good and effectually drawing them to Jesus Christ yet so as they come most freely being made willing by his grace I'm sorry that was chapter 10 under effectual calling paragraph one the reason why it's called effectual is because it's irresistible everybody who is a called in this way response because of God's sovereignty there is another call in scripture the general call or sometimes it's called the outward call whereas this one's called the inward if you look in Matthew 22 verse 14 for many are called but few are chosen I was just going to ask what's necessarily the difference between effectual calling and regeneration oh that's a good question the best teacher I've read on that is Murray in this book actually let's first address this general call and then I'll answer that if you look in 14 he makes this Jesus makes this statement for many are called but few are chosen and in the parable of the wedding feast there's many people who are invited but they weren't willing to come and then he sends them he sends out his stewards or his messengers out to further extent to fill his his feast to fill his wedding okay but there was a man there without a wedding garment and he he's an illustration of someone who entered he was invited but he came the wrong way he didn't have a garment but this phrase many are called but but few are chosen the first phrase there many are called is not everybody that's called makes it in the parable there were many who were not willing to come they were called they were invited to the wedding but they did not come so there's a call here that is resisted so there's a general call that everybody who hears the gospel is getting a genuine call from God it's actual and true and it's a genuine call to salvation in Christ but not all those who hear that gospel are effectually called because not all come but all those that do come why do they come because they were effectually called because the effectual call God does what they can't and won't do he enlightens their mind spiritually he takes away their heart of stone he renews their wills and his mighty power determining that which is good he draws into Jesus and back in Romans 8 one of the things Paul is laboring to stress through this golden chain is the sovereignty of God and the fulfillment of his plan it's out of context for Paul to be referencing the general call a call that is not always fulfilled and obeyed because all these things are things that God does alone he's the one who foreknows he's the one who predestines and if I skip past call he's the one who justifies and he's the one who glorifies and now you're going to tell you're going to try to argue that the call is the general call that it doesn't fit so Tyler's question about what's the difference between the effectual call and regeneration I haven't read a lot on it so if I'm wrong I'll leave it up to one of the elders to correct this but it's coming from John Murray and I thought it was helpful let me just turn that real quick it he he basically argues that effectual call precedes regeneration they are they go together they're inseparable but the call is coming from God where he describes it as God's summoning you and when he summons you he regenerates you to make that summons effective but the actual call coming from him is there's distinguishable difference between the regeneration he calls it a difference of priority that's the gist of it and his his one of his arguments is in this golden chain Paul's not saying regeneration or born again he's saying called because in the application of redemption he's wanting to start at the very beginning which is totally of God where God initiates that call that leads you know that brings in the regeneration and puts them into union with Christ in the application of redemption the one of his arguments is because of Paul's desire to bring out the sovereignty of God he uses called here because that's initial and has a priority of regeneration so his argument isn't like they are tight but I thought it had some logic to it and it made sense to me so I'd haven't read a lot on that from Murray it's helpful it's um I can't what page but it's uh it's from the same book and what Murray argues is correct is the external so and you you said this but to summarize the effectual call there is a sense where it is external right the it's it's the proclamation of the gospel it's that call that summons so it's external right but that same call has an internal effect which is regeneration so Murray puts it this way he says God's call since it is effectual carries with it the operative grace whereby the person called isn't able to answer the call and to embrace Jesus Christ as he is freely offered in the gospel man does anybody else have any questions on is this so what would be the difference between justification and regeneration justification and regeneration regeneration there's I don't know how to best word this but there's a change in the heart of the person they're being made alive they're being enlightened and their heart is being changed in justification their their heart's not being changed because of the justification the justification is a legal act of God where he declares someone righteous based on the imputed righteousness of Christ but that legal declaration justified is not the changing of the man but they're they go together because justification comes through the instrument of faith so how do we receive the imputed righteousness of Christ by faith it's an instrument but the the basis or the ground for our justification is not our faith it's the righteousness of Christ which has been imputed to us but in receiving that imputed righteousness by faith how do I get faith comes by regeneration so regeneration actually is involved in justification rebecca I have a verse that kind of helps with the um a sexual call and the outward call and how the sexual is different because it's mixed with grace um in faith so in Hebrews 4 verse 2 for indeed we have had the we have had good news preached to us just as they also but the word they heard did not profit them because it was not united by faith in those who heard hey man that's a good text too clearly they was it united with faith and they heard okay uh well I think I'm going to move on to the justification since he asked the question in time state is anybody have any other questions about the effectual call okay uh Xavier if anything you know you can talk to me maybe after but I was I had a question about um the confession chapter 10 paragraph 3 um that talks about the elect infant dying in infancy are regenerated and saved by Christ through the spirit who works with um when and where and how he pleases to also are all other elect persons were in came in capable how do you say that in capable of being um hourly called by the ministry the word um is getting you know as I'm thinking about the topic of you know calling and you know that um I was reading that paragraph and I was a little confused but you know what's gonna but if it is gonna I don't want to yeah you know I would like to handle that one outside of this time but that's a good good question well let's go to justification it's the next term in this golden chain the last one is glorification justification is an instantaneous legal act of God in which he thinks of our sins as forgiven in Christ's righteousness as belonging to us and declares us to be righteous in his sight Wayne Grutum uh Murray brings out the value of justification if justification is confused with regeneration like we were talking about that if you confuse those two uh willfully even ignorantly it has its effects but I mean if you press on first thing the door is opened if you confuse justification with with regeneration or sanctification the door is open for the perversion of the gospel at its center justification is still the article of the standing or following of the church is he's trying to bring out the value of justification like it's very important we have a sound theology on justification the truth of justification this is continuing Murray has suffered at the hands of human perversion as much as any doctrine one of the ways in which it has been perverted is the failure to reckon with the meaning of the term what is just what does the term mean justification does not mean to make righteous so when you say I justify you like a judge says he's not making that person righteous it doesn't mean making them good or holy or upright a believer is made holy so he's giving a concession here yes a believer is made holy in the application of redemption but justification does not refer to this renewing and sanctifying grace of god justification is simply a declaration or pronouncement respecting the relation of the person to the law which the judge is required to administer so you look at Deuteronomy 25 verse one if there is a dispute between men and they come to court that the judges may judge them and they justify the righteous and condemn the wicked then it shall be if the wicked man deserves to be beaten that the judge will cause him to lie down and be beaten in the in his presence according to his guilt with a certain number of blows it was not the duty of judges to make people righteous that's not what is happening here when you justify the righteous it's you discern based off of why you're in front of me have you obey the law you have okay I declare you righteous according to that law what I just did as if I were a judge is I justified him I didn't make him righteous he was already righteous when he came up all I did was declare through the civil authority that I have the judgment of justified and if someone's done wickedness and the law shows their guilt then I will declare them condemned but I'm not making them wicked I'm declaring and bringing a legal judgment upon what is before me is that hell let's look at it Proverbs 17 15 he who justifies the wicked and he who condemns the just both of them are like or an abomination to the Lord Proverbs 17 15 so you justify the wicked that means you have a wicked person in front of you before the court and you say you're justified you're righteous you make a judgment a legal declaration he's righteous but he's wicked he's guilty but you legally declare him righteous God says that's an abomination to him and vice versa if someone's legally right or they're righteous and then you condemn them and you say I declare you condemned and guilty that's an abomination to the Lord it was not the duty of judges I'm sorry justification is contrasted with condemnation so you can see there not only you're getting a better understanding of justification but learn what justification means by learning what condemnation means to contrast with one another here condemn never means to make wicked and so justify cannot mean to make good or upright justification means to declare to be righteous now if it is an abomb if it is abominable to justify the righteous I'm sorry the wicked if it's abominable to God to justify the wicked what is it that enables God to be just when he justifies sinners does God justify sinners what enables him to do that knowing it's wicked for him to do that amen we'll leave it at that because I need to close but it's it's I don't think it's a very good point to end on is God justifies us not because we're righteous but because of a righteousness outside of us has been given to us so he's just when he justifies us but it's not because of our righteousness and one of the designs of that is that he gets all the glory so let's pray gracious God in heaven and son and holy spirit we praise your holy name and thank you for the golden chain of salvation and of redemption I thank you for the comfort that it gives me to know when I can see that I've been called and I love God that I've been foreknown and that I will be glorified and so will my brothers and sisters we praise you for this assurance that comes by faith in this truth help us to persevere by it through the sufferings that aren't worthy to be compared to the glory to come amen