Feeds
Mike Driscoll: How to Watermark a Graph with Matplotlib
Matplotlib is one of the most popular data visualization packages for the Python programming language. It allows you to create many different charts and graphs. This tutorial focuses on adding a “watermark” to your graph. If you need to learn the basics, you might want to check out Matplotlib—An Intro to Creating Graphs with Python.
Let’s get started!
Installing MatplotlibIf you don’t have Matplotlib on your computer, you must install it. Fortunately, you can use pip, the Python package manager utility that comes with Python.
Open up your terminal or command prompt and run the following command:
python -m pip install matplotlibPip will now install Matplotlib and any dependencies that Matplotlib needs to work properly. Assuming that Matplotlib installs successfully, you are good to go!
Watermarking Your GraphAdding a watermark to a graph is a fun way to learn how to use Matplotlib. For this example, you will create a simple bar chart and then add some text. The text will be added at an angle across the graph as a watermark.
Open up your favorite Python IDE or text editor and create a new Python file. Then add the following code:
import matplotlib.pyplot as plt def bar_chart(numbers, labels, pos): fig = plt.figure(figsize=(5, 8)) plt.bar(pos, numbers, color="red") # add a watermark fig.text(1, 0.15, "Mouse vs Python", fontsize=45, color="blue", ha="right", va="bottom", alpha=0.4, rotation=25) plt.xticks(ticks=pos, labels=labels) plt.show() if __name__ == "__main__": numbers = [2, 1, 4, 6] labels = ["Electric", "Solar", "Diesel", "Unleaded"] pos = list(range(4)) bar_chart(numbers, labels, pos)Your bar_chart() function takes in some numbers, labels and a list of positions for where the bars should be placed. You then create a figure to put your plot into. Then you create the bar chart using the list of bar positions and the numbers. You also tell the chart that you want the bars to be colored “red”.
The next step is to add a watermark. To do that, you call fig.text() which lets you add text on top of your plot. Here is a quick listing of the arguments that you need to pass in:
- x, y (the first two arguments are the x/y coordinates for the text)
- fontsize – The size of the font
- color – The color of the text
- ha – Horizontal alignment
- va – Vertical alignment
- alpha – How transparent the text should be
- rotation – How many degrees to rotate the text
The last bit of code in bar_chart() adds the ticks and labels to the bottom of the plot.
When you run this code, you will see something like this:
Isn’t that neat? You now have a simple plot, and you know how to add semi-transparent text to it, too!
Wrapping UpProper attribution is important in academics and business. Knowing how to add a watermark to your data visualization can help you do that. You now have that knowledge when using Matplotlib.
The Matplotlib package can do many other types of plots and provides much more customization than what it covered here. Check out its documentation to learn more!
The post How to Watermark a Graph with Matplotlib appeared first on Mouse Vs Python.
Real Python: Working With Global Variables in Python Functions
A global variable is a variable that you can use from any part of a program, including within functions. Using global variables inside your Python functions can be tricky. You’ll need to differentiate between accessing and changing the values of the target global variable if you want your code to work correctly.
Global variables can play a fundamental role in many software projects because they enable data sharing across an entire program. However, you should use them judiciously to avoid issues.
In this video course, you’ll:
- Understand global variables and how they work in Python
- Access global variables within your Python functions directly
- Modify and create global variables within functions using the global keyword
- Access, create, and modify global variables within your functions with the globals() function
- Explore strategies to avoid using global variables in Python code
[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]
Russell Coker: Links April 2024
Ron Garret wrote an insightful refutation to 2nd amendment arguments [1].
Interesting article from the UK about British Gas losing a civil suit about bill collecting techniques that are harassment [2]. This should be a criminal offence investigated by the police and prosecuted by the CPS.
Cory Doctorow gave an insightful lecture about Enshittification for the Transmediale festival in Berlin [4]. This link has video and a transcript, I read the transcript.
- [1] https://tinyurl.com/2cyrnulm
- [2] https://tinyurl.com/24bfy2x7
- [3] https://tinyurl.com/277o2wt3
- [4] https://pluralistic.net/2024/01/30/go-nuts-meine-kerle/
- [5] https://tinyurl.com/27sl85ml
- [6] https://tinyurl.com/25vtw89m
- [7] https://tinyurl.com/26m7h9ro
- [8] https://tinyurl.com/2ajjetba
Related posts:
- Links March 2024 Bruce Schneier wrote an interesting blog post about his workshop...
- Links January 2024 Long Now has an insightful article about domestication that considers...
- Links April 2021 Dr Justin Lehmiller’s blog post comparing his official (academic style)...
Palantir: DrupalCon Portland 2024 Preview
Join host George DeMet and Palantir team members who will be presenting sessions at DrupalCon Portland:
- Britany Acre and Cori Neslund on psychological safety and its importance for individuals and teams.
- Tiffany Farriss and Ken Rickard on EditTogether, a new collaborative editing tool that promises to revolutionize the way content is managed within Drupal.
- Tanya Nascimento and Alex Jones on EditTogether's backstory, underlying technology, and the problems it was designed to solve.
We want to make your project a success.
Let's Chat. Podcast Links EditTogether Open Source Collaborative Editing Tool for Drupal TranscriptGeorge DeMet:
Hello and welcome to a special episode of Plus Plus, the podcast from Palantir.net where we talk about what’s new and interesting in the world of open source technologies and agile methodologies. I’m your host, George DeMet.
Today, I’ll be talking with the Palantir team members who will be presenting sessions at DrupalCon Portland, which takes place May 6-9 at the Oregon Convention Center.
First, you’ll hear from Britany Acre and Cori Neslund about psychological safety and its importance for individuals and teams.
Then, Tiffany Farriss and Ken Rickard will talk about EditTogether, a new collaborative editing tool that promises to revolutionize the way content is managed within Drupal.
And finally, Tanya Nascimento and Alex Jones will share the backstory on EditTogether, its underlying technology, and the problems it was designed to solve.
Enjoy!
[Music plays]
George DeMet:
I'm here with Britany Acre and Cori Neslund to talk about their session that they'll be presenting at DrupalCon, Key to Collaboration: How to Build Psychological Safety with Individuals and Teams. Hi Britany. Hi Cori.
Britany Acre:
Hi.
Cori Neslund:
Hi there.
George DeMet:
So could you both tell us a little bit about your session and why you chose to talk about psychological safety and what your experience is with it in our work environment.
Britany Acre:
The title of our session as you said, is Key to Collaboration, and I think that kind of zeros in on our why me and Cori are very energized and passionate about better ways of collaborating on our teams and in our workplaces, and that was what kind of led us to work together on this topic building psychological safety.
It's just so foundational to the work that we do here, especially in agile teams, especially in a working environment like ours here at Palantir that's self-organizing lack of psychological safety can be such a blocker, not only to efficiency and productivity in our workspaces, but also just to the human side.
We want to work on teams where people want to work on teams and want to work with each other and psychological safety is so fundamental to the success of that.
Cori Neslund:
Yeah, I strongly agree with Britany. For me as a program manager who often holds the role of team leads, I've seen over several projects, how high psychological safety can really facilitate the delivery of solid projects for example, in the Continuous Delivery Portfolio, where I spend most of my time, we're very experiment heavy.
So when we notice there is something going on, we have this fundamental basis, psychological safety that allows us to pitch new options, new ideas that leads to experiments that leads to process improvements that overall makes the experience of being in that team very positive and pleasant, right? So, psychological safety is great on this emotional side, but what I think is really interesting is how it drives success.
It drives success for projects, it drives success for companies, and I think we often think of this as like separate. When it's really not, it's a very interconnected topic.
George DeMet:
For folks who might not be as familiar with the concept of psychological safety, I understand it as this idea that when you're working on a team or working within an organization being psychologically safe means that you feel comfortable speaking up, and saying something if you, see something wrong or if you have an idea for an improvement that can be made and to feel safe doing so knowing that there won't be any repercussions for speaking up in that kind of workplace setting.
Even if you're speaking with someone who might have been at the company longer, have a higher perceived status or something like that. Is that pretty much how you are looking at it in this session? Or are there other dimensions to consider?
Cori Neslund:
One piece I would also add is that having this psychological safety does allow for healthy conflict, right? It's very natural to struggle with conflict within teams, personally and professionally, but when you have this base on top of being able to have these conversations on top of being able to share your perspective and provide ideas for new ways of working. You also get to the point where when you disagree with someone on your team, everything is fine. It's a very healthy conversation where both sides are sharing and it doesn't end up in this situation of like high tension, which I think a lot of people will be familiar with. So we want to definitely lean into that and say this is also a really solid reason to build this because disagreement is natural and common.
Britany Acre:
Yeah, that's great. I'd also add risk taking. So psychological safety is when teams feel safe taking risks. And when we do the kind of work that we do, that's so necessary. Sometimes you're really finding kind of out of the box solutions for things. And a lot of that work takes trying things that may seem crazy and risky, but the ability to do that in a way that feels safe.
We're talking about taking risk. We're so highly skilled and experienced people taking these risks, but the ability to take a risk knowing that the company supports you in that risk taking and sees the value of that is also part of psychological safety. There's so many layers and nuances to psychological safety that is even more than the things that the three of us have just mentioned, but I think that those end up being kind of the focus of what we talk about.
George DeMet:
My next question then is what are some of the hurdles or challenges that teams face when they're trying to build psychological safety and what are some kinds of tools and techniques you can use to overcome them?
Cori Neslund:
So the main one, the one that I think that comes up the most frequently, or at least initially is getting buy in right to build psychological safety. You have to have the entire team say, “You know what? I'm going to try and be vulnerable here, or I'm going to try and be a little bit more of a risk taker, a little bit more of a speaker”.
And it's really only successful when the full team or the majority of the team, at least initially decides that they want to participate. You gotta get the ball rolling somehow. And we definitely have some stories about that that we can share in our session. But that's very common. There's always this sort of shadow of past experiences, right?
So people come into their workplaces with all the experiences that they had before. Some of them are going to be great, and some of them are going to be terrible. It's very common to say, “Hey, the problems I had at a previous place, I'm going to have them here. So let me be protective of it”. And how do we move past that and say, “No, this team can create a new culture, this team can decide what values they want to embody and how they want to respond to each other.”?
Britany Acre:
And I think at the end of what Cori just said, she also touched on kind of some of the techniques, right. Sometimes the idea of implementing a culture change can be incredibly daunting. And that's not what we're suggesting. We're saying here's the value of this thing, and then here are some manageable steps to take to achieve it. And you can start with yourself, then with your team. And that kind of energy and motivation, it gets the ball rolling and starts inspiring others. And so, we'll talk about different experiments that you as a team can do to start building that space for yourselves and modeling that for others.
Cori Neslund:
All of this contributes to organizational change or things outside of your team, and so it can feel a bit daunting to say, “Oh, I want to add psychological safety, but it's such a big task”. But if we were talking about it from the perspective of individuals, so with two people or more on a team, and then with the team as a unit, that's a lot easier to manage. Not easy, right? But it's a lot easier to get the ball rolling in that more limited scenario than it is to say, “Oh, we want this overarching organizational change”.
George DeMet:
Yeah, I really like that idea, that psychological safety starts with the individual and, really understanding and, taking ownership of, and committing to being part of a more psychologically safe organization, right? It's not something that like, you know, management can come in and, you know, sort of mandate from above to say, “Hey, we're all going to be more psychologically safe now”, though, of course, there are always opportunities within an organization to create the space for that.
Cori, you touched a little bit earlier on those lived experiences that people might have had at past workplaces, or maybe just even in their lives not feeling particularly psychologically safe. I'm curious to hear a little bit more about how that dynamic plays in and, how it can be addressed.
Britany Acre:
Something that Cori and I have thought about a lot is that psychological safety can look different for everyone. So very different from someone who let's say, like a white man versus a woman versus a person of color. Not only are we bringing our lived experience from previous jobs, but just also just the world that we live in, in the way that we navigate it differently.
And so there's a self awareness involved in psychological safety. And then there's like the awareness of others and their experience as well. And that's not easy, that self work is not easy. Understanding yourself better, understanding the way the world works better is…it's not fun to face some of those realities. But what can we do from our personal positions to make psychological space and safe space for others?And that's certainly part of the conversation.
Cori Neslund:
Absolutely. A lot of this is also about removing the burden for upkeep from individuals, right? Because historically, people with certain attributes have held more of a responsibility for organizing culture, being sort of the social backbone. And I think it's important as we move into the future to say that that is a shared responsibility that exists throughout the team.
And it's part of dismantling those systems that Britany is talking about. And also, you know, we're in a space where it's a very open-to-anyone sort of industry, right? Like the Drupal community is made up of a lot of people with a lot of varied identities. How do you have a successful team when none of you share similar experiences, right? That's not a blocker in and of itself, but the self-awareness is required for that team to operate, right? And the awareness of others.
George DeMet:
Right, when er were talking earlier about the kind of self-work that someone has to do with psychological safety, it's not just about saying, “Oh, hey, I'm going to try and speak up more”, but also being aware of intersectionality and what, one person may hear may sound differently to someone based on their experience than another person. So I think that's really important. Is there anything else you'd like to share about your session?
Cori Neslund:
Well, I'm really hoping people want to come out. I think a lot of the things that Britany and I will be talking about this year will be totally available and accessible for entry level folks, but if you went to either of our sessions from last year, it builds off of a lot of those concepts. And then it's going to be exciting. We have audience participation. You'll get to share your own perspectives, ask questions at the end. So, if you have real scenarios, we invite you to bring them and let's see what we can help you troubleshoot.
Britany Acre:
Yeah, and the topics that me and Cori choose to speak on, it's because we care deeply about them. And so yes, our session is designed to be approachable and so that you can take something away that you can actually take action on that isn't too overwhelming, but we're also there to have further conversations.
At its root, creating psychological safety on teams is about promoting the idea that diverse ways of thinking and diverse ways of being are valuable both to us and to our clients. And so we would love to talk more whether before or after our talk or at the Palantir.net booth.
George DeMet:
Thank you so much to both of you, Britany, Cori. So once again if you are going to be attending DrupalCon this is actually going to be a Monday morning session at 9am in the very first session slot. So definitely don't miss it. Grab your coffee and head over to room B117-119. Thank you both so much.
Britany Acre:
Thanks, George.
Cori Neslund:
Thank you.
[Music plays]
George DeMet:
So I'm here with Ken Rickard and Tiffany Farriss to talk about the session they'll be presenting at DrupalCon, Collaborative Editing in Drupal Core.
Tiffany Farriss:
Hi there.
Ken Rickard:
Good afternoon.
George DeMet:
So tell us a little bit about your session. I'm really curious to learn more about EditTogether and Some of the challenges you think it could solve within Drupal.
Ken Rickard:
Sure I'll give you the quick version and then we can dive into some deeper questions. EditTogether provides a framework for multiple users to collaborate on editing a single piece of content at the same time. So it is a open source collaborative editing framework that can be used with any Drupal field., most dynamically or most dramatically with a WYSIWYG editor so that you can have the kind of experience you have with any of the online cloud based editing tools such as Google Docs, where multiple people are editing at the same time, and you can see their cursor, you can see them type in real time. It also adds in elements that allow for commenting, and those comments are tagged directly to the part of the editorial copy that they refer to. So these are again common features in sort of advanced cloud editors. Office 365 offers this, Google Docs offers it, and potentially Drupal offers it.
Tiffany Farriss:
I think this is really exciting for those who keep Drupal as the center of all of their content management. So, what it does is it reduces the number of handoffs. I think all of us have been, you know, involved in situations where this, Word document or Google Doc. Passes through 5,6,7, 10 hands before it is signed off on to be put up on a website.
And wouldn't it be more efficient if that entire process could transpire in its final location, right? There's just so much. Administrative time and administrative burden that comes when you have to switch systems or switch tools. Heaven forbid someone not be allowed access to Google Drive or somebody doesn't have access to 365.
This eliminates all of that. It says, okay, this content is destined to live in Drupal. So let's go ahead and author it in Drupal and we can handle all the various steps of approvals and review and suggestions, commenting, editing that normally happen in other spaces. We can do that right within Drupal.
Ken Rickard:
When we talk about this as a sort of revolutionary change, I've been doing this for 15 years at Palantir. I've been doing it for 18 years overall. And one of my first editorial questions when we're Designing the CMS experience is always, where does first write through happen? Now, this is an old newspaper term that just means, where did you write the first draft?
Very commonly, the answer is, oh, it's in a Google Doc or a Word doc, and then I email it to this other person. And then it gets email chained around and then gets translated into the content management system. So this idea that we can be in, The end to end source of collaboration really does change the dynamic.
George DeMet:
Yeah, and I really like the idea that it's all in one place. So one of the things I do at Palantir is I work with folks who are writing blog posts and other material for our website. And that content usually gets authored in Google Docs. And so we can have some collaborative back and forth there.
But then when I go and need to take that content and put it. Onto our website and use the WYSIWYG interface we have there. It still requires a fair amount of work to remove some of Google Docs, formatting tags and things like that. So being able to do all of that collaborating with, my colleagues within the Drupal interface, where it's going to be published would be really cool.
Tiffany Farriss:
When you create and manage content in its final destination, its final form, you don't have to have the multiple passes around. This is the editorial review, and then this is the design review. So you're able to see it, how it's going to actually look, you'll be able to preview it, you'll be able to capture those approval steps. And Drupal does a nice job of audit logging if you need it to and if you have it configured to but it can't capture anything that happened before it hit Drupal. So for a lot of our clients with more complex editorial and auditing kind of needs, this really does start to streamline the number of systems involved, the number of potential forked versions involved, or missed approvals involved. It really streamlines that whole process.
George DeMet:
So switching gears a little bit, I'm curious to hear a little bit more about some of the key technologies that go into Edit Together and how they play with Drupal.
Ken Rickard:
Yeah, I mean, the key technologies are all open source and open standard. I think that's really important. At its base, Edit Together is leveraging WebRTC, which is a peer to peer protocol for browsers notifying each other of behavior, basically. So you can make a peer to peer connection and changes that happen in browser A can be reported to browser B through a secure transaction that doesn't expose that data to everyone else on the web, which is kind of fascinating. So that's again, sort of core underlying technology. And then there are pieces, there are open source pieces built on that. The primary one is a service or a system called Yjs. Simply the letter Y and JS for JavaScript. Yjs is a peer to peer JavaScript framework for transmitting the changes between objects from point A to point B.
That's essentially what it does, but it also provides things like revision tracking. It provides the concept of annotating that data, which is how you can do commenting and you can do suggested changes within the document. So it's a very full featured, open source project. It is very mature. It's in use in a lot of other places. That's the core piece without which EditTogether doesn't really work.
George DeMet:
And just thinking about it from a software open source licensing standpoint, all of these technologies are compatible with Drupal's GPL V2+ licensing, right? So you're not paying any extra fees or anything to kind of get this functionality. It is already there and already available and compatible with the rest of Drupal's licensing.
Tiffany Farriss:
There are parts of collaborative editing that exist today through premium services. You know, Drupal it's had a long partnership with CK Editor, which is a rich text editor. They do offer some premium and paid features that can include rich text. field collaboration. It's a little bit different because that does involve their servers and their services.
The other kind of key differences Ken mentioned is that this applies to any Drupal field. So because EditTogether was written specifically for Drupal, any field, not just rich text fields can have Commenting, suggestions, track changes, user presence, all of those things exist. So it allows you a structured data experience. It's quite collaborative. And I think that ability to manage structured content has always been one of Drupal's kind of killer features, if you will, and the way that it manages that it's one of the reasons that I think it's always been successful in a best of breed stack is because Drupal handles structured data whether it's the source of origin or it's just transforming it really, really well.
What we've not had to date is the ability to collaborate on that structured data. Currently the experiences, you know, you experience the lock. If someone else is working with a node, like you can't go in and edit that piece of content. And that's just not the way our modern workflows work. Imagine being able to work in parallel with everyone else. Our job functions tend to be, you know, we have our fingers in a lot of different pies, if you will. And so, you know, if I'm the person responsible for making sure that the titles and the ledes are solid on a batch of content, it may fall to someone else who's reviewing, the body copy or making sure that the bios are right and we don't have to worry about, “Oh, is this piece of content locked? Oh, I'm gonna have to make a note. I'll come back to that piece later”. And this is a much more modern cloud based solution. If you have a cloud based content management system, shouldn't you all be able to complete whatever it is you need to do, regardless of what everybody else is doing at that time?
George DeMet:
What is the current state of EditTogetherr? What are the next steps? I know your session is talking about a pathway to get this functionality into Drupal core. What does that look like?
Ken Rickard:
Well, I think first we have to ask and answer the question of do we want it in Drupal core? I'll be honest, there is a significant technical burden to adding a feature like this into the core system. While Yjs, for example, is an external library, the integrations that are required with it do require a lot of testing and commitment. So that's not a trivial matter.
And that's something we want to I think put out front and center in the presentation, which is, “Hey, this is really a great opportunity. What does it actually mean if we try to pursue it?” That said, you know, where are we now? The big question has to do with what are the principal use cases for things? How do we wire it into a rich text editor? Again, Yjs has native support for that. We have a solution for that that is a feasible route to go. But again, we have to make clear what our long standing commitments are.
Tiffany Farriss:
Right now EditTogether has been implemented and deployed for the client that built it. There is still some work to be done around, as Ken said, incorporating other testing scenarios and other use case scenarios.
I think that would be really important to do before we release this as a public beta. So right now we're entering into a private beta period where we can continue to build out All the plugins that are necessary for the additional field types. So there's a way that it's architected. There's a plugin framework.
So any type of field in Drupal can have its own plugin for how it's treated. Individual models can do that. So I think there's a lot of documentation, both in terms of user documentation and developer documentation that needs to exist before it goes out in public beta. So that's really what we're focused on now and through the third quarter.
Ken Rickard:
The other big technical challenge is that WebRTC by itself works fine if you're on a local network, right? And everyone is on the same IP address in the same room. That's fine. For this really to work collaboratively across distance, you have to have what's known as a signaling server. And when we talk about products like Google Docs or Office 365, those are done by cloud hosting providers who provide their own signaling server.
If everyone, again, on the technical side, remember PubSubHubbub and that whole idea of being able to push notifications from place to place, that's what we're talking about, and it turns out there are no longer any public free signaling servers out there. They're all privately branded, they're all privately labeled, or you have to spin up your own.
So, solving that, because it is a barrier to entry right now. If you want this thing, we have to spin up our own. A server that handles it, and that's just to make those socket connections from browser A to browser B, so that you don't have to send your data across the wire, and that's again, both a technical challenge and a killer feature.
Let me repeat. You don't have to send your data across the wire. You're sending browser position, like, literally, my cursor is at this point, space in the browser relative to the document you're looking at, but it doesn't actually send the data of the document. It's really fascinating stuff. It's really smart from an architecture standpoint and becomes a killer feature because it retains compliance to data sovereignty regulations and requirements.
That's where it gets really fascinating. But again, you do have to stand up this sort of extra service. And so that is a big challenge. I think as we go forward with private beta, that's going to be the next big thing we have to tackle is, “Okay, how can we make this a simple and replicable opportunity?” Because you wouldn't want to drop this into Drupal core without having an out of the box solution to this problem.
Tiffany Farriss:
I mean, it's very easy to kick the tires on. There are still organizations that really have complex workflows that may want to stand up their own services. It's actually quite easy for those kinds of enterprises to do on the technical side, right? They still have to go through security review and, you know brokerage review, things like that, which any enterprise would already have processed for, but what's really novel about at it together is it is a very privacy first and security forward kind of collaborative solution for Drupal that I think can be, you know, game changing.
George DeMet:
So if I'm an organization that's really interested in using EditTogether, or if I'm a developer who wants to help out with it, how can I contribute? What kind of feedback are you looking for? How can someone get involved?
Tiffany Farriss:
Well, at this point, as I said, we're moving into a private beta. So if you're an organization that is looking to install this yourself you can, reach out to us. We have spun up EditTogether. com. That's where you can get in touch to let us know that you're interested, and we can talk about whether you're a good candidate to be part of that private beta.
Otherwise, when it goes into public beta we'll obviously be looking for those who are willing to add to documentation, create more of those field level plugins or plugins for individual modules, things like that. And if you're really interested in the core work, that may have to happen we do encourage you to come to this session and just reach out and let's start that conversation.
Because I think it has to be more than just Palantir that's interested in this solution for it to become a new killer feature for Drupal, as opposed to just something you can do with Drupal.
George DeMet:
So for anyone looking to learn more or to get involved once again, that session is Collaborative Editing in Drupal Core.That will be at 3 p. m. on Monday, May 6th, the first day of DrupalCon, and it will be in room A106. Ken, Tiffany, thank you so much for sharing your knowledge and really looking forward to it.
Tiffany Farriss:
Looking forward to seeing folks there.
Ken Rickard:
Yeah. Thank you.
[Music plays]
George DeMet:
I'm here with Alex Jones and Tanya Nascimento and here to talk about their session, EditTogether: Collaborative Editing for Everyone. Welcome, Tanya. Welcome, Alex.
Tanya Nascimento:
All right, thanks for having us.
Alex Jones:
Thank you
George DeMet:
This is the second of the sessions we'll be doing at DrupalCon on EditTogether. We talked earlier with Ken and Tiffany about how it works within the Drupal ecosystem, how it could potentially be added to the core software.
What I was interested in talking with both of you about is really some of the back story. What were the initial client requirements that led to the creation of EditTogether? This is a state government agency within the United States and part of their health department there. What was it that they were looking for that their existing solution was no longer adequate for?
Tanya Nascimento:
So something that we really dug into in discovery was the administrative burden that this agency is under when they're trying to create content, review that content, and publish that content. Their current workflow is incredibly demanding. They have at least a dozen publications, but within those publications, they have at minimum Three systems that they need to utilize to create that content in, for example, Microsoft Word, then manually handed off to RoboHelp, manually handed off to somebody for review. This is an email, sometimes it's FTP, using SharePoint all along the way and then bringing it back through the system, going through these cycles several times. So they have at least six handoffs for several cycles at least three times per year and when you start to look at that you realize that it's adding up to a lot of potential error in the process as well as just a taxing and exhausting process. So within that we really wanted to deliver something that was ,ore simplified in a replacement workflow where everything could happen in Drupal, or almost everything, and limiting those handoffs.
George DeMet:
So they're creating these documents. Are these internally facing documents, externally facing documents? What's the use case there?
Tanya Nascimento:
A lot of what we're seeing are handbooks, things to help folks enroll in programs like Medicare, where these handbooks include a lot of references to information that's really important for individuals to have when dealing with insurance or when dealing with that enrollment.
And these handbooks require a lot of updates. So let's say you have somebody who's working for this agency who needs to go in and make an update to a policy. They might need to go in and create one small miniscule change with, let's say, the numbering of an item in a very extensive long handbook. In order to do that, they would need to go back to the beginning of this process, go into Word, make that change, hand that off to another person, have that go through this entire system of multiple applications in order to just make one edit.
And it's all based on potential human error. So when we're looking at the version history and the archives of all of these things, it's content that's very important for folks out there in the world to have but it takes a long time in order to just make these seemingly simple updates.
George DeMet:
It sounds like this is really important information to get right, especially if you're talking about someone needing to fill out a series of forms in order to get health benefits . This is really important stuff that impacts people's lives.
Tanya Nascimento:
Definitely. They utilize reviewers from several different adjacent government agencies to ensure that those who are reviewing or creating content are the true subject matter experts for any given publication. Given that, there is a lot of manual handoffs that have to happen in order for folks to ensure that they are directly handing off information to the correct individual. So it isn't something that is super sophisticated right now, but it is something that they can manage especially when they have users who are trusted or on VPN. It's super simple right now, but it's burdensome. There's the administrative burden, but there's also the ongoing cost of utilizing RoboHelp. And because of that, they need something that is streamlined and simple. Right now, what we want to change for them is to create a system where they can create, manage, and publish all in one place. And this allows the agency to have something that's self-sustaining for a long period of time.
George DeMet:
So as we started to take a look at this challenge looking at all of these different systems then figuring out how to bring them together and streamline them into Drupal what was the process for doing that technical research and analysis?
Alex Jones:
We essentially wanted to look at their entire content workflow which we did, and we found that most of the pieces of their workflow can be brought into Drupal. Drupal's obviously an incredibly powerful tool for content workflows but the piece that was missing that is present in their current workflow is this collaborative editing piece.
So, currently they create content in a collaborative environment in Microsoft SharePoint. And they expect to be able to do that in Drupal. It's key to their process that they can actually collaborate on content, suggest edits to that content. before that content moves on to the later stages of their workflow cycle.
So, we investigated a couple solutions for that in Drupal. One of those was CKEditor 5, which does have an implementation of collaborative editing. And the reason we couldn't use C Editor 5 was primarily two things: They have a subscription fee that's ongoing and also CKEditor 5 uses a client-server model for collaboration, which means that the state of your content that you're editing is stored in the cloud in a third party service and for our client and a lot of other government clients they have restrictions on where their content can be visible and managed even for a brief period. We also investigated some other tools for building a text editor in Drupal. And what we eventually settled on was building a text editor for Drupal using open source frameworks that are available right now.
So the solution we ended up with was building a text editor using ProseMirror, which is a. JavaScript framework for building rich text editors. And we coupled that with Yjs, which is a JavaScript based shared editing framework that allows you to manage a document state between multiple different client machines. By building it using ProseMirror and Yjs we're trying to expose that last piece of the content workflow for Drupal to the open source space. So ProseMirror is open source. Yjs is open source. They have a lot of plugin functionality and options for extensibility, and we're hoping that by providing a text editor using these open source technologies we're enabling a more rapid development of new features for our clients and also for the community, to further expand and add custom functionality or contribute functionality back to the main module for use by everyone.
George DeMet:
Which is always the ideal thing you want to see with open source, right? Not just that we're using this code that someone else has made, or groups of folks have made, but also contributing back and improving it. Taking a look at a tool like ProseMirror, it is very modular, we're using it in this case for EditTogether. But it's a tool that could be used. In a lot of other different ways as well.
Alex Jones:
Absolutely. We've continued forward with ProseMirror because as we've expanded the text editor that EditTogether provides we've realized that ProseMirror can really be used to create a framework for field level collaboration in Drupal. You can build ProseMirror instances that work on rich text, body fields in Drupal but you can also build them for plain text fields and you can build them for any type of field in Drupal that you'd want to see collaboration upon. And that means that ProseMirror coupled with Yjs can provide field level collaboration for all of your fields on your Drupal site.
George DeMet:
I'm curious to hear a little bit more about some of the challenges that we faced during the development and how we've addressed those.
Alex Jones:
Yeah, we've encountered technical hurdles on this project in all shapes and sizes. One of the major ones that we've encountered is, finding the documentation on how to do the thing that we're doing. So there's a long history of CKEditor 5 and its integration with Drupal. And it integrates with Drupal using something called the Editor API. Because of that long history in part it is somewhat difficult to find information on how to use that API and how to integrate successfully with Drupal. And so as a byproduct of building this integration with Drupal, we've actually been able to more thoroughly explore the Editor API and a lot of the potentially lesser understood or, lesser documented portions of that integration. And we certainly feel that we have a better hold on how to more quickly and effectively manipulate that API and these integrations for Drupal.
George DeMet:
I want to go back a little bit to something you touched on earlier, Alex, which was this idea of data sovereignty, right? That particularly in some contexts having control over where, or at least knowing where your data is at every point in the process is so key and so vital.
Alex Jones:
Data sovereignty is something that's really important to our clients. It's really important to a lot of clients in government agencies, higher ed organizations, hospitals, things like that. Existing collaborative editing implementations are overwhelmingly client-server based models, where clients collaborate, and then their information is sent off to a third party server, and that third party server stores the true state of the content.
That works for these clients only when the system that they're using for that collaboration is approved, like Microsoft SharePoint, if they've approved Microsoft SharePoint or something like that. But it means one that that system has to be approved and then paid for. And two, they can't have that system in Drupal. They have to edit all their content outside of Drupal and then they bring it in.
Instead of using a client server model with WebSockets, we would implement a peer to peer model using WebRTC or Web Real Time Communication. And what that means is that these clients, when they're collaborating over a piece of content, the state of the content is shared only between the collaborating clients and not shared with the server. WebRTC is very secure and it also democratizes collaboration in a way that those client server models don't. And it costs orders of magnitude less to operate than a client server model does.
George DeMet:
Alex, Tanya, thank you so much.
Tanya Nascimento:
Thank you.
Alex Jones:
Thank you for having us.
George DeMet:
Once again, the session is called EditTogether: Collaborative Editing for Everyone. It'll be on Tuesday, May 7th at 3 p.m. in room C120-122. I will also be part of the conversation so if you are at DrupalCon come and see us and thanks again!
Robin Wilson: What’s the largest building in Southampton? Find out with 5 lines of code
Recently I became suddenly curious about the sizes of buildings in Southampton, UK, where I live. I don’t know what triggered this sudden curiosity, but I wanted to know what the largest buildings in Southampton are. In this context, I’m using “largest” to mean largest in terms of land area covered – ie. the area of the outline when viewed in plan view. Luckily I know about useful sources of geographic data, and also know how to use GeoPandas, so I could answer this question pretty quickly – in fact, in only five lines of code. I’ll take you through this code below, as an example of a very simple GIS analysis.
First I needed to get hold of the data. I know Ordnance Survey release data on buildings in Great Britain, but to make this even easier we can go to Alastair Rae’s website where he has split the OS data up into Local Authority areas. We need to download the buildings data for Southampton, so we go here and download a GeoPackage file.
Then we need to create a Python environment to do the analysis in. You can do this in various ways – with virtualenvs, conda environments or whatever – but you just need to ensure that Jupyter and GeoPandas are installed. Then create a new notebook and you’re ready to start coding.
First, we import geopandas:
import geopandas as gpdand then load the buildings data:
buildings = gpd.read_file("Southampton_buildings.gpkg")The buildings GeoDataFrame has a load of polygon geometries, one for each building. We can calculate the area of a polygon with the .area property – so to create a new ‘area’ column in the GeoDataFrame we can run:
buildings[’area’] = buildings.geometry.areaI’m only interested in the largest buildings, so we can now sort by this new area column, and take the first twenty entries:
top20 = buildings.sort_values(’area’, ascending=False).head(20)We can then use the lovely explore function to show these buildings on a map. This will load an interactive map in the Jupyter notebook:
top20.explore()If you’d like to save the interactive map to a standalone HTML file then you can do this instead:
top20.explore().save(“map.html”)I’ve done that, and uploaded that HTML file to my website – and you can view it here.
So, putting all the code together, we have:
import geopandas as gpd buildings = gpd.read_file("Southampton_buildings.gpkg") buildings[’area’] = buildings.geometry.area top20 = buildings.sort_values(’area’, ascending=False).head(20) top20.explore()Five lines of code, with a simple analysis, resulting in an interactive map, and all with the power of GeoPandas.
Hopefully in a future post I’ll do a bit more work on this data – I’d like to make a prettier map, and I’d like to try and find some way to test my friends and see if they can work out what buildings they are.
LN Webworks: Implementation Of Open Social Distribution On A Local Server In Drupal
Open Social, a tool within the Drupal community, is actually quite valuable for creating social platforms. It's user-friendly, flexible, and well-supported, making it perfect for setting up social networks, whether they're for internal company use or for the public.
With features like user profiles, activity feeds, group discussions, events, and messaging, Open Social offers a comprehensive solution for building engaging online communities.
It's important to spread the word about Open Social so that more people can benefit from its features and capabilities, ultimately enhancing collaboration and communication in various settings.
What is Open Social?Open Social is a software platform that's open to everyone and is built on top of Drupal, which is a popular system for managing website content. It's designed specifically for creating online communities and social networks.
Python Bytes: #381 Python Packages in the Oven
Zero to Mastery: Python Monthly Newsletter 💻🐍
Specbee: How to convince your team to migrate your Drupal 7 website to Drupal 10
Tim Retout: seL4 Microkit Tutorial
Recently I revisited my previous interest in seL4 - a fast, highly assured operating system microkernel for building secure systems.
The seL4 Microkit tutorial uses a simple Wordle game example to teach the basics of seL4 Microkit (formerly known as the seL4 Core Platform), which is a framework for creating static embedded systems on top of the seL4 microkernel. Microkit is also at the core of LionsOS, a new project to make seL4 accessible to a wider audience.
The tutorial is easy to follow, needing few prerequisites beyond a QEMU emulator and an AArch64 cross-compiler toolchain (Microkit being limited to 64-bit ARM systems currently). Use of an emulator makes for a quick test-debug cycle with a couple of Makefile targets, so time is spent focusing on walking through the Microkit concepts rather than on tooling issues.
This is an unusually good learning experience, probably because of the academic origins of the project itself. The Diátaxis documentation framework would class this as truly a “tutorial” rather than a “how-to guide” - you do learn a lot by implementing the exercises.
Evolving Web: Which Page Builder is Best? Drupal vs WordPress vs Webflow
We’re often asked which platform is the best for creating landing pages. Our answer is always “it depends on your needs!” Each platform has its strengths and weaknesses. It takes a strong understanding of both your options and your needs to pick the right one.
We illustrated this point with a 'Landing Page Builder Battle' at EvolveDrupal Atlanta 2024. Developers were challenged to create a web page in just five minutes using either Drupal Layout Builder, Drupal Paragraphs, WordPress Block Editor (Gutenberg), WordPress Elementor, or Webflow. On top of being a whole lot of fun, this competition highlighted the unique capabilities and limitations of each platform. It also underscored the practical implications of choosing the right tool for different projects.
Curious what we learned? We’ve packed it all into this guide, which examines the pros and cons of each of the five page builders that battled it out at EvolveDrupal. Read on to find out who won and discover the best tool for you.
Drupal Layout BuilderDrupal Layout Builder is a core module in Drupal that lets admins customize content layouts without needing to dive into code. Its visual layout editor allows admins to design pages using a drag-and-drop interface.
Pros- Effortless integration. Because it's part of Drupal core, Layout Builder works seamlessly with other Drupal functionalities.
- Highly customizable. It offers extensive capabilities to customize layouts for individual pieces of content or entire content types.
- Accessibility. Drupal prioritizes accessibility and Layout Builder is no exception, allowing admins to create better content for all users including those with disabilities.
- Regular updates. Along with other Drupal core and contributed modules, Layout Builder is continuously improved upon by the Drupal community.
- Complexity. There can be a steep learning curve for users who are unfamiliar with Drupal.
- No live preview. Unlike WordPress Gutenberg or Elementor, Layout Builder doesn’t offer a WYSIWYG (What You See Is What You Get) interface.
- Performance. Heavy use of Layout Builder on complex sites can impact performance without proper optimization.
Paragraphs is a Drupal module that replaces the basic body field with a set of customizable paragraph types, offering a cleaner way to manage content chunks.
Pros- Flexibility. Users can add different types of content (images, text, videos) and arrange them with ease.
- Reusable components. Paragraphs lets you define types of components that are reusable across different pages, or even across different websites within a multi-site configuration. This reusability not only speeds up the content creation process but also helps maintain consistency across your digital presence.
- Content control. Paragraphs break content into discrete components that can be individually edited and arranged. This modular approach simplifies content management and enhances the editorial workflow.
- Regular updates. As with LayoutBuilder, the Drupal community makes ongoing contributions to improve Paragraphs.
- No live preview. Paragraphs doesn’t have a WYSIWYG interface, while Wordpress Block Editor and Elementor do.
- Potential overhead. Managing an extensive library of paragraph types can become a cumbersome task.
- Less design control. Paragraphs gives you less control over the layout compared to Layout Builder. But there is a Layout Paragraphs module that lets you benefit from the layout control capabilities of Layout Builder in Paragraphs. It does this by using the underlying API of Layout Builder.
The default block editor for WordPress, colloquially referred to as the Gutenberg editor, introduced to make adding rich content to websites more accessible and enjoyable.
Pros- Modern block editor. The block editor offers a more intuitive and media-rich editing experience.
- Extensibility. Developers can create custom blocks, enhancing flexibility.
- Core integration. Being a part of WordPress core, the block editor is well-maintained and receives regular updates.
- User-friendly interface. A clean and straightforward interface simplifies the content creation process.
- Flexibility. It easily integrates with a wide range of themes and plugins designed.
- Regular updates. The block editor is continuously improved upon by the WordPress community.
- Live preview available. The block editor offers a WYSIWYG interface, allowing you to see changes in real-time as you edit.
- Mixed reception. Some users find the transition to block-based editing confusing.
- Limited layout options. The block editor is more restrictive in layout design compared to page builders like Elementor.
- Plugin dependencies. It often requires additional plugins to extend functionality to match other builders.
Elementor is a powerful WordPress page builder plugin that offers a high degree of design flexibility with a drag-and-drop interface.
Pros- Intuitive design interface. WordPress Elementor makes designing websites straightforward, even for those without coding skills.
- Template and widget variety. Comes with numerous widgets and templates that can be customized extensively.
- Responsive design controls. Users can tweak settings for different devices directly from the editor.
- Third-party add-ons. Supported by a wide array of third-party add-ons for additional functionality.
- Live preview available. WordPress Elementor offers a WYSIWYG interface, allowing real-time viewing of changes as you edit.
- Regular updates. It’s continuously improved upon by plugin developers.
- Plugin dependency. Elementor relies on being compatible with the active WordPress theme and other plugins, which can sometimes lead to conflicts.
- Performance issues. It can become heavy and potentially slow down site performance due to extensive feature sets.
- Cost. While there is a free version, premium features require a paid subscription.
Webflow is a standalone tool that combines website design and development in one platform. It allows users to design, build, and launch responsive websites visually. It also handles hosting and can export clean code.
Pros- All-in-one solution. It combines design, development, and hosting in one platform.
Visual CSS styling. Webflow allows designers to style elements visually, which is then automatically converted into clean code. - Advanced animations. It supports sophisticated animations and interactions.
Complete design freedom. Webflow offers extensive design control without needing to write code. - Responsive by default. Designs are automatically responsive, which is excellent for mobile optimization.
- Learning curve. New users may find the interface and abundance of options overwhelming.
- Cost. Webflow can be more expensive than other solutions, especially for hosting.
The choice between Drupal, WordPress, and Webflow tools boils down to specific project requirements, your technical comfort, and the scale of your digital ambitions. Below is a summary of what we think are the best use cases for each tool.
- Drupal Layout Builder – Best for complex, content-heavy websites needing deep customization.
- Drupal Paragraphs – Suitable for sites where structured, multi-use content is needed without layout concerns.
- WordPress Block Editor (Gutenberg) – Great for content creators and bloggers who need an intuitive system integrated into WordPress.
- WordPress Elementor – Perfect for WordPress users who need detailed design control without deep coding.
- Webflow – Best for designers who want total design freedom and the ability to launch a site within one platform.
So who won the battle? Webflow emerged victorious for the ease of quickly assembling a functional website in 5 minutes. Although Drupal might still pose a learning curve for newcomers, its continuous evolution promises even more accessible and enhanced user experiences.
Wishing you’d caught the Page Builder Battle in real life? Join us at the next EvolveDrupal! Our next stop is Montreal on June 14, 2024. Come along for more live demonstrations and dozens of insightful sessions. It's a great opportunity to see digital tools in action and network with other professionals in the field.
Register for EvolveDrupal Montreal 2024 or sign up for future updates.
FSF News: FSF to be deposed in SFC v Vizio, updates relevant FAQ entry
Talking Drupal: Talking Drupal #448 - D11 Readiness & PHPStan
Today we are talking about Drupal 11 Readiness, What you need to think about, and PHPStan with guest Matt Glaman. We’ll also cover MRN as our module of the week.
For show notes visit: [www.talkingDrupal.com/448https://www.talkingDrupal.com/448)
Topics- What do we mean by Drupal 11 Readiness
- How will this be different than 9 and 10
- Top 5 tips
- D11 Meeting and slack channel
- Will this be easier
- Major issues
- What is PHPStan
- How does it play a role
- How is PHPStan Drupal different than PHPStan
- Does using PHPStan with drupal reduce the need for tests
- How do you see it evolving over the next few years
- Drupal 12 wishlist
- PHPStan Drupal
- PHPStan
- Herodevs DrupalCon Party
- Smart date BC calls
- Contrib semantic versioning thoughts
- Change records
- Project analysis
- Gabor article Drupal rector
- Project update working group
- LTS even odd
- PHP version
- PHP stan rule levels
- Title issue
Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Matt Glaman - mglaman.dev mglaman
MOTW CorrespondentMartin Anderson-Clutz - mandclu
- Brief description:
- Have you ever wanted an easy way to generate detailed release notes for your contrib projects? There’s a web app for that
- Module name/project name:
- Brief history
- How old: created in Aug 2022 by today’s guest Matt Glaman
- Maintainership
- Actively maintained, latest updates were earlier this year
- Code project at https://github.com/mglaman/drupal-mrn has 13 open issues
- Usage stats:
- Currently no usage reporting, but a tool I’ve been using a ton lately as I get modules ready for Drupal 11
- Module features and usage
- It’s very simple to use, you just enter the machine name of your project, and then the numbers of the releases you want it to compare
- It will generate the structure for your release note, include a spot for you to write a summary at the top, a list of contributors that links to their profiles, and a list of issues
- Previously part of Matt’s drupalorg CLI project, MRN is now a lambda function on AWS, so there’s nothing to download or install
- I like that you can choose which tags you want to compare, so if the release is part of a branch that doesn’t yet have a stable release, I’ll put a comparison to the previous release in the branch at the top, and then a comparison to the current stable release below it, so people can see the full list of everything new they’ll get by moving from the stable release
- It’s worth noting that because this works from the git history, you need to make sure you credit everyone properly before clicking to merge an MR in the Drupal.org UI. You can give credit to other people after the fact using the checkbox and they’ll get contribution credits, but won’t be included in the release notes generated by MRN
mandclu: Getting Smart Date Dialed Up to 11
I just tagged the first stable release for Smart Date 4.1, a year (almost to the day) since the first stable release of Smart Date 4.0. A lot of work went into this new release, but I'm thankful beyond words to the many people who helped shape it into what it is today.
mandclu Mon, 04/29/2024 - 06:14 TagsGolems GABB: The Impact of Web Design on Conversion: Strategies and Tools for a Successful Web Project
Do you still doubt that web design directly affects the conversion of your Drupal site? Today, high-end web design goes beyond a simple and beautiful layout, well-optimized photos, or an eye-catching color scheme. If you neglect the connection between web design and conversion, your lead generation progress won’t help you realize your digital marketing objectives and desired ROI rates.
With the right choice of design strategies for conversions, novice professionals can drastically improve the target platform’s responsiveness and accessibility — with user journeys improved and bounce risks reduced.
The Drop Times: Everyone Has Their Own Journey
Dear Readers,
This is your reminder that everyone has their path in life, so embrace the uniqueness of your journey.
"A journey of a thousand miles begins with a single step."
— Laozi (Lao Tzu), Tao Te Ching (Daodejing), Chapter 64Instead of fixating on others' paths, focus on discovering what works best for you. Your journey to success unfolds uniquely, guided by your own rhythm and routine. Trust in your process and celebrate your progress along the way. Just as in the diverse Drupal community, where each contributor's unique experiences and skills enrich the whole, your unique contributions to your own life and the lives of others around you are invaluable. Embrace your individual journey, just as Drupal embraces the diversity of its community.
Drupal itself is built on the principle of open collaboration, fostering an environment where different perspectives lead to better solutions and innovations. This ethos extends beyond the technology, influencing the Drupal community to support each other's growth and development. The community thrives on the collective effort of individuals who bring their distinct paths and insights, contributing to the strength and flexibility of Drupal as a platform. As you walk your path, remember the power of a community that values each step of your journey.
Now, Let's take a moment to revisit the highlights from last week's coverage at The Drop Times.
Alka Elizabeth and Kazima Abbas, sub-editors at The Drop Times, spoke with Dominique de Cooman, the founder of Dropsolid. He discussed his journey, from his profound interest in Drupal to the establishment of his company, sparked by a pivotal experience at DrupalCon Munich in 2012. Read about his inspiring story here.
Anoop John, the founder and lead at The Drop Times, explores the scope and composition of the Drupal community. To get the full insights, read the article here.
Ajith Thampi Joseph recounts his transition from traditional server setups to modern development tools in another feature. His article discusses the challenges he encountered and the solutions he implemented. Learn more about his journey here.
Acquia sets the stage for a memorable evening at DrupalCon Portland 2024 on Tuesday, May 7. This event promises an evening of fun-filled activities, including vintage arcade games, bowling, and karaoke. To know more, click on the link here.
Just one more week until DrupalCon Portland 2024 kicks off! The event is scheduled to run from May 6th to May 9th. Are you ready to dive into the excitement? We invite volunteers to join our team and help us cover the biggest open-source event in North America.
In collaboration with DubBot and Iowa's Department for the Blind, Lullabot will host a webinar on web accessibility on Thursday, May 16, 2024. This event coincides with Global Accessibility Awareness Day and aims to highlight common issues impacting individuals with disabilities.
CTI Digital's webinar on "Navigating Drupal 7 End-of-Life: What To Do Next?" is scheduled for Friday, May 3, 2024. The webinar will be led by CTI Digital's Drupal Technical Director, David Bishop, and Sales Director, James Tillotson.
EvolveDrupal returns to Montreal for its Second Edition on June 14, 2024. This event promises a day filled with learning, networking, and inspiration. Learn more about the event here.
Northern Commerce and Acquia have collaborated to host a free "Lunch & Learn" event titled "Unlocking the Digital Student Journey," aimed at providing insights into enhancing the digital experiences of students. Scheduled for Thursday, May 08, 2024, the event promises valuable discussions and strategies for navigating the evolving landscape of digital education.
NEDcamp 2024 is set to take place on November 15-16, inviting Drupal enthusiasts to mark their calendars for this exciting event. With a rich tradition of fostering collaboration and learning within the Drupal community, NEDcamp promises attendees engaging sessions and networking opportunities. Drupal events are held worldwide each week to keep Drupal enthusiasts engaged. A complete list of events for the week is available here.
Michael Anello has unveiled version 1.0.1 of the Drupal Markdown Easy module. This version boasts a minor bug fix, default configuration settings, Drupal 11 compatibility, and enhanced code quality, ensuring smoother markdown experiences for users. The Beautify HTML module for Drupal has been updated, introducing enhanced formatting tools to streamline HTML code editing. With these improvements, users can expect a more efficient and user-friendly experience working with HTML on Drupal websites.
Octahedroid has unveiled a new preview feature that facilitates decoupled Drupal and Next.js integration, empowering developers with advanced preview capabilities. This release marks a significant advancement in decoupled architecture, offering seamless content preview experiences for Drupal-powered websites using Next.js frontend frameworks.
Kevin Wall has introduced a groundbreaking new feature for Drupal module installation in collaboration with Accorbis, promising to simplify and streamline the process for users. With this innovation, Drupal users can expect a more efficient and user-friendly experience when installing modules, enhancing their website development workflows.
Scheduled for November 2024, PHP 8.4 brings enhanced security and functionality, providing developers with improved features and safeguards. Learn more here.
We acknowledge that there are more stories to share. However, due to selection constraints, we must pause further exploration for now.
To get timely updates, follow us on LinkedIn, Twitter and Facebook. Also, join us on Drupal Slack at #thedroptimes.
Thank you,
Sincerely
Elma John
Sub-editor, The DropTimes.