 Hopefully, we are now recording. Welcome to research applications using Drupal and backdrop. I'm Toys Park on the list. I'm director of projects at Fibonacci Web Studio. And this is Fibonacci's fearless leader, Irina Zaks, and we'll be presenting together today. So better tools, better research. Fibonacci is a group of experts that develops web tools for research in academia. We work with a wide variety of passionate people who do fascinating and fulfilling work. Researchers, academics, doctors, law professors, lawyers, judges, administrators, and advocates. Our goal is to help them do and share that work more efficiently, thoughtfully, and beautifully. So in our session today, we'll demonstrate how backdrop and Drupal can both be used for research applications. We'll discuss successes and pain points for researchers and software developers. Sometimes those successes are the same, and sometimes those successes are different, and sometimes those pain points are the same, and sometimes those pain points are different. We will compare our experiences on backdrop versus Drupal, and we will talk about community projects. So what we know is researchers work together, and that's how research gets done. But we know that the same is true for software developers too. I'm probably preaching to the choir because we're all here at bad camp today, but we're going to talk about ways that we can contribute as a community to help research get done. So in a perfect world, research works like this. Data is collected from multiple sources. It's integrated and analyzed, and it leads to some new results, new applications, and soon thereafter, world fame and maybe a Nobel Prize. Our part in this is the integrated from multiple sources and analyzed. We don't collect the data ourselves. The rest is the part of the scientists. So today, we've selected four of our projects to showcase how this development and support has changed since 2014 and what our challenges are in supporting the existing apps that we have, as well as building new apps. So this is a project from 2014, the Securities Litigation Analytics site. It's in Drupal 7. This site started as a simple faculty research project, which examined a few variables in class action mitigation. Since then, it's grown exponentially with over 2,000 data points collected for each case. So what are our challenges today? You notice I said Drupal 7 up there on that side? That's one of our main challenges is the approaching Drupal 7 end of life. One of our other challenges is that exponential growth of data that I talked about and how do we manage that exponential growth of data. Our next project is from 2020. This started in Drupal 7 and now migrated to Drupal 8. Smokefree Media is a research and advocacy group at UCSF. It aims to reduce young audiences' exposure to smoking in movies and media. In 2020, we began to work with them on a project to accomplish two major goals. One is they used to be called Smokefree Movies, but now a lot of things are on streaming services. So they've changed to Smokefree Media. That does involve different data structure. Movies and media are not quite exactly the same. And then we also needed to upgrade their very extensive database. Again, we were on Drupal 7 and we wanted them to be able to do more robust research on their data sets. Our challenge on this project is just like the universe, researcher websites tend towards entropy. So managing a site is always a challenge. Our next project is from 2018. It's called Wheel Map. And this is Drupal at eight support and maintenance. So this project documents laws around the world that govern internet intermediaries and shape users' digital rights. It provides both basic and advanced tools to search for and visualize how legislation, decisions, and public policy are evolving globally. So as you can see here, it really is a visual map that allows you to see a whole globe and how these things change from place to place. So we inherited this very custom site and there's lots of custom coding and we need to do support and maintenance on it. Our main challenge at this point is that this is on Drupal 8. And the Drupal 9 upgrade process is proving prohibitively expensive because of all that custom work. So where do we go next? This site is from 2020. This is the Rock Center Law Insights site. This is Drupal 8 and Drupal 9 on development and support. This website aggregates memoranda, blog posts, videos, podcasts, and other types of substantive legal analysis prepared by leading US and international law firms. This content is fully tax-searchable and it's presented in a format designed to help users quickly identify the information that they want. Our challenge right now on this side is upgrading to D-10. This site is our new baby. It's a 2022 site and we are doing this one in backdrop. The Mapping Militans Projects identifies patterns in the evolution of militant organizations in specified conflict theaters and provides representations of changing relationships among groups. So relationships are traced in these interactive timeline diagrams that we call maps. And you can see how rivalries and alliances change over time through these militant groups. Attacks are also graphed on the map as well. These maps are then linked to the group profiles which have in-depth news and data on all of these militant organizations which provides a fully cited comprehensive report on each group. So this project had a pretty limited budget and it was previously hosted in two separate sites. So those comprehensive group profiles were on one site and then the maps were on a different site. So we wanted to make sure that those were integrated in the new platform. So we just presented five different projects from various disciplines. Why am I talking about them all in one presentation? What do they have in common? So what we know and what certainly our researchers will tell us is that all research is unique. One of the reasons that I love working on research projects is I learn something new. Every time I'm working on one of these websites I know more about militant organizations than I ever felt that I would in my professional career. So it's great to work with researchers who have a new angle on an old issue or researchers that are starting an entirely new conversation. But what we know is that research while it is unique has a lot in common. So we've learned some things from these projects which research projects often when we're talking about this kind of data research begin with a prototype built in a spreadsheet or HTML site. And our job is to move those flat spreadsheets into a database that can handle those relationships and allow that more robust research within the database. Textual numeric and visualization need to have one database as that source of truth or else we will find that things become inconsistent. If they're being housed in CSV files on people's computers we often end up getting inconsistent data. So one thing that research all has in common is that at the heart of it is researchers. So what did researchers want? First of all they wanna do their research. They probably don't know what Drupal is or if they do they don't really care about it. They don't wanna spend more time in their website than they have to. They wanna spend their time doing that research. They also want to represent their work in a clear information architecture with a modern look and feel. So if their website looks like it was built in the 90s they're not feeling really good about sharing that with other researchers. But what we found is that most researchers that we work with don't want that like super flashy look and feel but they want something that looks modern and clean and nice. They want to know that they can trust the data. So not only do we have to sort of root out those inaccuracies and inconsistencies from those multiple sources that they might have been working with but they need to know that we're not gonna add any inconsistencies when we do the migration process into a database. And we also know that research changes. So the landscape will change as their research changes we joke about that many militants all the time. Our goal is that all of those groups will be disbanded and that that website will no longer matter. But we know that's probably not gonna happen anytime soon so things will keep evolving. So when I talked about the Smokefree Media Project when we added streaming to the mix we had to come up with an entirely new data set for episodes because when we were looking at movies movies don't have episodes, right? So we had to invent an entirely new data structure to make sure that that information was being captured. So content is king. The most important part of any website is content but this is even more true with research applications. If the content is not clean and well-structured we can't do anything with it. We can't visualize it, we can't work with it. We are not subject matter experts. I did not go to school to get my PhD in very specific research fields but we do develop research applications and so we become experts in how the data works. What we know is that the data is probably going to involve text and numbers and that these need to be structured. We know that there needs to be relationships between the different data points and we know that content managers are going to need to update that data. We also know that they'll probably want some sort of data visualization. All research is unique but at the end of the day we're working with data and our job is to build a good data structure. So each property of your data needs to live where it belongs. We're going to look at a sample research diagram but one of the most important things in early client meetings is to figure out philosophically what the data relates to, how it relates to each other and what relationships are going to be most important for visualizing the content. So looking at our sample research structure diagram. I've chosen movies because I think we've all seen a movie probably so it might be a helpful sort of baseline. So when we think about a movie the movie itself has a rating and might be rated R rated PG-13. It also has a description. What's the plot of this movie? We then have actors. So Brad Pitt is an actor. He is, I have no idea how old he is. I probably should have looked at that if I was going to use this example. But Brad Pitt is in several different movies so we wouldn't want to create more information about Brad Pitt every time we create a new Brad Pitt movie. We then have companies that create these movies. So Disney's a company, it has a logo, it's a production company. Those are all information about that company and again we don't want to upload the logo every time we create a new Disney movie. So if you have spent some time in Drupal or a backdrop or both, you can already sort of see these start becoming content types, right? But then the important thing is that we need these content types to be able to talk to each other. So obviously movies and actors are related but depending on the type of research we're doing we might choose to add the actor to the movie or choose to add the movie to the actor. So if we're doing research on actors specifically that's probably our primary content type and so we're pulling the movies in from there. Versus if we are doing research on movies we're gonna do it sort of in the opposite direction. If we don't get this part right the project becomes very inconsistent that data becomes very inconsistent and it becomes not usable in the research. And what we know is that it's very expensive to clean up inconsistent data. So we wanna make sure that we get this right in those first couple meetings with the client. So I'm not gonna get into the technical parts, Irina's gonna get much more tactical than me in the second half of this but I will say that Drupal and BackDop do provide tools that make this really really easy once we get the philosophical part right. So entity reference and field and entity browser are two things that you'll wanna look at for this. So once we have good data in our CMS what do we do with it? So the first thing that we might wanna do is use built-in tools in the CMS to generate a search on the fly. And I'm gonna try to pull up a website here and hopefully I will figure this out. Beautiful. So again, that smoke-free media website. You can see here that I have a lot of searches that are built into the data set. And then down below I have all of the movies. So for instance, I might wanna see what movies are G rated that also have smoking in them because these are worst offenders, right? It's a G rated movie that has smoking in it. And then I can just scroll down and search. And I can generate that information really, really easily and get all of my results down here to figure out who I need to yell out about these movies. And that's if I can get back easily. The next thing I might wanna do is export the data. So a lot of researchers like working in CSV files. We're never gonna convince them that that's not the most efficient way to do it. So we provide easy exports so that they can get the data and manipulate it on their own. That being said, the website is always gonna be the source of truth. So once you've downloaded that CSV file, it's yours to play with but the updates are gonna happen within the site. And then folks also might export the data and use other tools like Stata for more intensive specific analyses. All right. So all of that sounded really great but as we all know, there are pain points with any project. Researchers unfortunately are usually not like self-made billionaires, right? Like they're doing this to make the world a better place and often they're working with limited funding streams. So one of the biggest issues is budget. A lot of people want a budget for the build. This is especially true in research where folks are getting grants for specific projects. However, what we know is that the universe tends toward entropy and things are going to continue to get chaotic. So we need to make sure that there's a budget for maintaining and updating the site moving forward. All of these people that got grants and built amazing sites in Drupal 7 are now running into that end of life problem where they don't necessarily have the funding to make that full upgrade. So that gives us to migrating from Drupal 7. Where do we go and why? A lot of folks who are in Drupal 7, especially researchers, they like their websites. They don't want to do a big upgrade to Drupal 10 and change a lot of stuff. They want it to work and they want it to be secure. So how do we make sure that that happens? I've harped on this a lot but it's because it is truly critical and that's data accuracy. Again, these sites don't work if the data's not right. So how do we make sure that we're not introducing any inaccuracy and how do we make sure that we're getting the accurate data from the client? The last thing is if I had $10 for every time a researcher asked me to import data via CSV, I would be a very rich woman. Everyone wants to do this. Obviously, you can do this but having a very serious conversation about what that means and why is really critical. So first of all, do they want to import all their data right now or do they want an ongoing import? Those look different and making sure that we're maintaining data accuracy if they're updating via CSV is really important. Also, do they not like the website? If they want to import via CSV, does it mean we're not providing the right editing tools within the system? And also CSV files can often introduce inaccuracies if you have multiple people updating those. So my favorite example of this is when there's a cost column where there's money involved or they put in commas into that column is one research assistant using commas and one research assistant not using commas is someone using a dollar symbol somewhere and someone else not. So that's really, really important here and something you want to have ongoing conversations about whether or not you decide to import the data from the CSV. And those are our pain points and now we'll talk about the future of this. Where are we going from here? So first things first, does anyone have any questions about the information that we presented? Okay, it is really nice to talk in the very small audience where we can connect more or less individually. So I'm gonna talk about how development of these applications also impacts development of systems that we are supporting like Drupal and Vekta. I will have to wear my glasses if there are any see things. So we presented four out of maybe 10 research projects that we are supporting because they represent different challenges. First typical example would be a Drupal 7 project that is right now in the system that is supposed to be end of life sometime. We don't know whether it will be this year or next year but it has to be end of life. We don't want to develop new features in the system as much as we can and we need to decide where we will move from here. We also need to manage exponential growth of data and that this is pretty much like more or less discovery for the project that's eight years old. Our findings are that if we want to move this project to Drupal 9, it will be the cost of moving it to Drupal 9 are very close comparable to moving to any other system. We can use Node.js, we can use anything. And then this is a very big question for us where we will be contributing because as my notes say and that is very important. When we are selecting the new framework for our projects, we are choosing, no, sorry, we're choosing where we will be contributing next. And on most projects we worked on, we contributed either by testing or by bug fixing or providing new modules. So the decisions that we are making today and have made in the past or will be making for our next project impact Drupal or that group by either we keep contributing to those projects or we move somewhere else and leave the community. So decoupled was one of the very early things with Drupal all together at Drupal 7. This site is already built is partially decoupled. So now we're moving the entire front and we will be moving to completely decoupled. We're in the process of reviewing which exactly what are we gonna be using? React or something else or subset of React or not subset but the other way around. But then the next iteration will be do we move it to Drupal 9, do we move it to Node.js or and that is our at this point preferred solution we would like to be able to use backdrop. What are our challenges there? We need to have a reasonably sustainable which means not super expensive migration path from Drupal 7 to backdrop. And we feel that contributing in this space will help us in many ways, not on this probe just on this project, but on many others. We already did this upgrade from Drupal 7 to Drupal 8 for smoke-free media. And one thing that we learned that it not just migration that makes it very expensive but also cost of Drupal 9 maintenance make building research application as Drupal 9 require pretty good budget. When we moved from Drupal 8 to Drupal 9 we had to do significant code updates just because of the change within the system we're not even talking seven to nine. So this is something to keep in mind when you're working going towards Drupal with Composer. This beautiful site, I don't think we showed it. It has great visualizations, everything is moving. It is stuck in Drupal 9 because cost of update was prohibitive, they simply didn't have budget. And so content is being added, research is happening but we are not developing anything new and we're waiting for next academic year to figure out what is sustainable solution. So the word sustainable, every other slide is like do we have enough money is the reality. Even people who are not limited by budgets choose where they want to spend money. We did manage to do reasonably easy update from Drupal 8 to 9 on RockSensor Law in size but it's also reasonably simple site in terms it doesn't have a lot of custom features and most of the features are in Elasticsearch which is not tied neither to Drupal 7 backdrop or Drupal 9, it's like its own animal. So we'll see when Drupal 10 is out we'll see what's gonna be our next step here. And this is our featured project that we would like to present, we're very happy and very proud of this project. We had an opportunity, we were invited to work on this project last year and we looked around, by that time we already knew very well that Drupal 9 is expensive, the group didn't have a lot of money, they had some budget but it was reasonably limited. And so we started working with backdrop and we're very happy with this choice. We're gonna be finalizing the site right now and here are the reasons why this project is working great with on backdrop CMS. Backdrop like all Drupal families CMSs is a great framework for building systems, system architecture with complex relationships. When you do not have complex relationships there are lots of other competing CMSs that might be cheaper or easier to maintain but complex relationships are the cornerstone. It's like the backdrop Drupal is, I think the best tool that I worked with to build systems with complex relationships. It has all familiar Drupal 7 features, we have predictable and affordable costs of upgrades and to make it even easier it's hosted on Pantheon and we're very grateful for never ending support for our wonderful hosting company. While working on this project we were able to contribute to make significant contributions. We created new layout with collapsible bars which I think should honestly, I think it should go in core because the issues with the sidebar hit us pretty badly and we're like, you can't see the sidebar that is not there but it's there blocking you. So we have to have new layout. We completed extremely important module so you can import data into paragraphs directly. It has completely revisited architecture because the version that is available on Drupal 9 does not work if anything is less, if anything is more complicated that very simple one-to-one mapping. And also we developed a theme for Stanford based on DeCantor front end and so that opens the door for any project that's Stanford to have approved branded theme based on backdrop. So here are our conclusions. Research projects don't have to be expensive to be good research tools. And our main goal for our companies to support research and education. So we take pride in building reusable tools that can be used by other applications as well. And then we are open source people, open source is more than the code and we hope to continue living this life, contributing to building a better society and maybe contributing to applications that eventually will win a Nobel Prize. Thank you. Any questions? I'm gonna turn the lights on and hope that we're just chatting. Sure. Just press the button. Sure.