Open-source News

QEMU 7.2 Released With TCG AVX/AVX2, Better 9pfs Performance

Phoronix - Thu, 12/15/2022 - 18:55
The QEMU open-source emulator that plays an important role in the Linux virtualization stack is out with its version 7.2 release ahead of the Christmas holidays...

AArch64 Architecture Code Improvements Land In Linux 6.2

Phoronix - Thu, 12/15/2022 - 18:44
The 64-bit Arm (ARM64 / AArch64) architecture improvements have landed in the Linux 6.2 kernel...

LibreOffice 7.5 Beta Brings Better Dark/High-Contrast Theming, Improved PDF Export

Phoronix - Thu, 12/15/2022 - 18:32
It was just earlier this month that the LibreOffice 7.5 Alpha was released and today it's been succeeded by the LibreOffice 7.5 Beta after landing more than one hundred fixes and more than 350 new commits...

F2FS With Linux 6.2 Lands Atomic Replace, Per-Block Age-Based Extent Cache

Phoronix - Thu, 12/15/2022 - 18:17
Jaegeuk Kim has ushered in the Flash Friendly File-System (F2FS) updates for the in-development Linux 6.2 kernel, which is headlined by two new features for this file-system...

How to Add Linux Host to Nagios Monitoring Server Using NRPE Plugin

Tecmint - Thu, 12/15/2022 - 16:35
The post How to Add Linux Host to Nagios Monitoring Server Using NRPE Plugin first appeared on Tecmint: Linux Howtos, Tutorials & Guides .

In the first part of the Nagios series article, we’ve explained in detail how to install and configure the latest version of Nagios Core and Nagios Plugins in RHEL-based distributions such as CentOS Stream,

The post How to Add Linux Host to Nagios Monitoring Server Using NRPE Plugin first appeared on Tecmint: Linux Howtos, Tutorials & Guides.

Mesa 22.3.1 Released - Led By Intel & Radeon Driver Fixes

Phoronix - Thu, 12/15/2022 - 16:00
For those that prefer waiting for the first Mesa point release in a new series before moving to it, Mesa 22.3 is now on the table with Mesa 22.3.1 having been released on Wednesday...

Why Drupal is the future of content strategy

opensource.com - Thu, 12/15/2022 - 16:00
Why Drupal is the future of content strategy Suzanne Dergacheva Thu, 12/15/2022 - 03:00

As a long-time advocate for open source and a contributor to Drupal, I spend a lot of time thinking about how organizations can leverage the platform. I've been thinking about Drupal's position in the larger digital ecosystem and how it compares to the other options on the market. And how Drupal can lean more on its strengths when planning out the strategy for a new project.

How Drupal fits into the digital landscape

In 2022, putting a site online can be as fast as the time it takes to make a coffee. This is made possible because websites have many similar features and there's usually no need to build one from scratch. When I started my career, frameworks like Ruby on Rails were appealing because of their flexibility. But I quickly learned that the lack of standard solutions for common things like multilingual content, media management, and workflows, meant that each project required a huge investment in custom development.

On the other hand, web builders that have emerged over the last ten years, like Wix and Squarespace offer the dream of "drag-and-drop" website construction and customizable templates. But in reality, their flexibility is very surface-level. They don't offer enough flexibility to build a solid content model, create an experience, or provide the level of content compliance that large organizations need.

This is where Drupal stands out, providing both powerful functionality out-of-the-box, and the tools to build out custom functionality on top of that content.

Drupal, the content management system

When I started using Drupal 15 years ago, it was described as a content management system. And it is, as it gives content editors the power to log in and manage content, rather than relying on a webmaster or a web developer to do it.

But there was also the promise that site builders could update not just the content, but the content model. Site builders could extend Drupal using configuration instead of writing code. This set it apart from the frameworks that were out at the time. From years of teaching people Drupal, I can tell you that there's a certain amount of joy and empowerment that people get when they realize how much they can do through the Drupal admin UI.

At its core, this is still Drupal's strength. You can control not just the content, but how content is organized. The fact that taxonomy and localization are baked into Drupal's content model, gives a huge advantage over other systems that have a more limited concept of content.

More great content Free online course: RHEL technical overview Learn advanced Linux commands Download cheat sheets Find an open source alternative Explore open source resources Drupal, the platform

Shortly after adopting Drupal as our agency's technology of choice, I started calling it a platform. As an ambitious 20-something, I was keen to build more than nice-looking content-rich websites. The ambition was to create more powerful tools to organize the flow of information. This includes integrating Drupal with other systems to build functionality and workflows around your content. You can also create content synchronizations between a CRM and Drupal. Finally, you can search interfaces that allow you to search diverse content sources and filter content in new ways.

The fact that Drupal is so adaptable to these architectures distinguishes it immediately from other CMSs. When talking to large organizations, teams of developers or IT leaders see the benefit of using a technology that is so flexible and adaptable to functional needs.

Drupal, the digital experience platform

While these attributes are still very compelling, Drupal is now referred to as a digital experience platform (DXP). Its main difference from the proprietary DXPs of the world is that it's open. It doesn't ship with a stack of integrated technologies but rather lets you decide what your stack will be. Whether it's for marketing integrations or multi-channel experiences, you can decide how content feeds into and out of Drupal. This flexibility is one of Drupal's strengths. But it can be a challenge when pitching Drupal against other DXPs that come with a complete marketing toolset.

Marketing folks often look for a packaged solution. And while an agency can package Drupal with a stack of tools, it's hard for Drupal to market this type of ready-to-go solution.

Drupal's strength as a content strategy platform

So how does Drupal position itself when talking to marketers? Drupal's core strength is still its flexible content architecture. This means that it's an ideal platform for implementing a content strategy and content governance plan. These are two things that plenty of organizations are missing. They are also the two reasons for marketers to adopt a platform like Drupal.

Better content strategy with Drupal

While Drupal can already be adapted to the content strategy of any organization, it doesn't mean that every Drupal website has a strong content strategy. Drupal implementers have to proactively make choices that prioritize the needs of content and content editors. This means doing things like:

  • Organizing content around user needs, not organizational structure

  • Structuring content to be reusable, adaptable, personalized, translatable

  • Integrating content with digital services by making content available via API

  • Setting up tools so that content compliance is checked systematically

Meanwhile, beyond the website, organizations need to use best practices to prioritize their content strategy practice. This means:

  • Empowering communicators and treating content editors as first-class users

  • Sharing best practices for web publishing across the organization

  • Creating a clear, actionable content governance plan

  • Using tools like the digital asset management (DAM) tool that fosters content governance

  • Creating a smooth flow of content and feedback between content experts and users

With new expectations of platforms to handle personalization and faster cycles for re-branding or implementing a completely new marketing strategy, it's more important than ever for your website to be a tool to help your content strategy. If you're looking for ways to orient your practice around a strong content strategy, here are some places to start:

  • Get content editors involved in the process when launching a new web project

  • Build documentation that's driven by content needs, not just technology. Use real content examples in your documentation and talk about the "why" of the content.

  • Prioritize ongoing content governance rather than just relying on big projects to revamp your content every 3-5 years

  • Invest in cleaning up legacy content instead of migrating content as-is when you do invest in a website redesign

  • Invest in the content editor experience, something that Drupal facilitates and continues to invest in, but still takes active effort to do for each project

To sum up, Drupal is already a CMS and a DXP. But this is beside the point. There is a need to leverage Drupal's capabilities towards creating a strong content strategy to really get the most out of the platform.

This article is based on the author's talk at DrupalCon Portland: Future of content management: using Drupal as a content strategy platform.

Drupal is already a robust content management system and digital experience platform. It's also playing a critical role in content strategy.

Image by:

Image by Mapbox Uncharted ERG, CC-BY 3.0 US

Drupal Business What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Improve your documentation with JavaScript

opensource.com - Thu, 12/15/2022 - 16:00
Improve your documentation with JavaScript Jim Hall Thu, 12/15/2022 - 03:00

Open source software projects often have a very diverse user group. Some users might be very adept at using the system and need very little documentation. For these power users, documentation might only need to be reminders and hints, and can include more technical information such as commands to run at the shell. But other users may be beginners. These users need more help in setting up the system and learning how to use it.

Writing documentation that suits both user groups can be daunting. The website's documentation needs to somehow balance "detailed technical information" with "providing more overview and guidance." This is a difficult balance to find. If your documentation can't meet both user groups, consider a third option — dynamic documentation.

Explore how to add a little JavaScript to a web page so the user can choose to display just the information they want to see.

Structure your content

You can use the example where documentation needs to suit both expert and novice users. In the simplest case, you can use a made-up music player called AwesomeProject.

You can write a short installation document in HTML that provides instructions for both experts and novices by using the class feature in HTML. For example, you can define a paragraph intended for experts by using:

<p class="expert reader">

This assigns both the expert class and the reader class. You can create a parallel set of instructions for novices using:

<p class="novice reader">

The complete HTML file includes both paragraphs for novice readers and experts:



<html lang="en">

<head>

<title>How to install the software</title>
</head>

<body>

<h1>How to install the software</h1>

<p>Thanks for installing AwesomeProject! With AwesomeProject,
you can manage your music collection like a wizard.</p>

<p>But first, we need to install it:</p>

<p class="expert reader">You can install AwesomeProject from
source. Download the tar file, extract it, then run:
<code>./configure ; make ; make install</code></p>

<p class="novice reader">AwesomeProject is available in
most Linux distributions. Check your graphical package manager and search for AwesomeProject to install it.</p>

</body>

</html>

This sample HTML document doesn't have a stylesheet associated with it, so viewing this in a web browser shows both paragraphs:

Image by:

(Jim Hall, CC BY-SA 4.0)

We can apply some basic styling to the document to highlight any element with the reader, expert, or novice classes. To make the different text classes easier to differentiate, let's set the reader class to an off-white background color, expert to a dark red text color, and novice to a dark blue text color:



<html lang="en">

<head>

<title>How to install the software</title>

<style>

.reader {
background-color: ghostwhite;
}

.expert {
color: darkred;
}

.novice {
color: darkblue;
}

</style>

</head>

<body>

<h1>How to install the software</h1>

These styles help the two sections stand out when you view the page in a web browser. Both paragraphs with the installation instructions have an off-white background color because they both have the reader class. The first paragraph uses dark red text, as defined by the expert class. The second installation paragraph is in dark blue text, from the novice class:

Image by:

(Jim Hall, CC BY-SA 4.0)

More great content Free online course: RHEL technical overview Learn advanced Linux commands Download cheat sheets Find an open source alternative Explore open source resources Add JavaScript controls

With these classes applied, you can add a short JavaScript function that shows just one of the content blocks. One way to write this function is to first set display:none to all of the elements with the reader class. This hides the content so it won't display on the page. Then the function should set display:block to each of the elements with the class you want to display:

<script>
function readerview(audience) {
  var list, item;
  // hide all class="reader"
  list = document.getElementsByClassName("reader");
  for (item = 0; item < list.length; item++) {
    list[item].style.display = "none";
  }
  // show all class=audience
  list = document.getElementsByClassName(audience);
  for (item = 0; item < list.length; item++) {
    list[item].style.display = "block";
  }
}
script>

To use this JavaScript in the HTML document, you can attach the function to a button. Since the readerview function takes an audience as its parameter, you can call the function with the audience class that you want to view, either novice or expert:



<html lang="en">

<head>

<title>How to install the software</title>

<style>

.reader {
background-color: ghostwhite;
}

.expert {
color: darkred;
}

.novice {
color: darkblue;
}

</style>

</head>

<body>

<script>

function readerview(audience) {
  var list, item;

  // hide all class="reader"

  list = document.getElementsByClassName("reader");

  for (item = 0; item < list.length; item++) {

   list[item].style.display = "none";
 }

 // show all class=audience

 list = document.getElementsByClassName(audience);

 for (item = 0; item < list.length; item++) {

   list[item].style.display = "block";
 }

}

</script>

<h1>How to install the software</h1>

<nav>

<button onclick="readerview('novice')">view novice text</button>

<button onclick="readerview('expert')">view expert text</button>

</nav>

<p>Thanks for installing AwesomeProject! With AwesomeProject,
you can manage your music collection like a wizard.</p>

<p>But first, we need to install it:</p>
<p class="expert reader">You can install AwesomeProject from
source. Download the tar file, extract it, then run
<code>./configure ; make ; make install</code></p>

<p class="novice reader">AwesomeProject is available in
most Linux distributions. Check your graphical package
manager and search for AwesomeProject to install it.</p>

</body>

</html>

 

With these controls in place, the web page now allows the user to select the text they want to see:

 

Image by:

(Jim Hall, CC BY-SA 4.0)

Clicking either button will show just the text the user wants to read. For example, if you click the “view novice text” button, then you'll see just the blue paragraph:

Image by:

(Jim Hall, CC BY-SA 4.0)

Clicking the “view expert text” button hides the novice text and shows only the expert text in red:

Image by:

(Jim Hall, CC BY-SA 4.0)

Extend this to your documentation

If your project requires you to write multiple how-to documents for different audiences, consider using this method to publish once and read twice. Writing a single document for all your users makes it easy for everyone to find and share the documentation for your project. And you won't have to maintain parallel documentation that varies in just the details.

Make your open source project documentation dynamic so it appeals to users of all experience levels.

Image by:

Original photo by Marco Tedaldi. Modified by Rikki Endsley. CC BY-SA 2.0.

Documentation JavaScript What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

Enjoy two-panel file management on Linux with far2l

opensource.com - Thu, 12/15/2022 - 16:00
Enjoy two-panel file management on Linux with far2l Seth Kenlon Thu, 12/15/2022 - 03:00

Far2l is a port of the Windows text-based file manager Far. And to be clear, that's a lower-case L (as in "Linux") not a number 1. It runs in the terminal and is designed around a plug-in structure, enabling compatibility with SSH, WebDAV, NFS, and more. You can compile and run far2l on Linux, Mac, and BSD, or Far on Windows.

Install far2l

Far2l is currently in beta, so you're unlikely to find it in your Linux distribution's software repository. However, you can compile it from source by downloading cloning its Git repository:

$ git clone --depth 1 https://github.com/elfmz/far2l.git

You can browse through the source code to see all of its different components. The main source files are in utils/src:

SharedResource.cpp
StackSerializer.cpp
StringConfig.cpp
StrPrintf.cpp
TestPath.cpp
Threaded.cpp
ThreadedWorkQueue.cpp
TimeUtils.cpp
TTYRawMode.cpp
utils.cpp
WideMB.cpp
ZombieControl.cpp

The file ZombieControl.cpp works to mitigate a zombie apocalypse (at least, in terms of processes), the file ThreadedWorkQueue.cpp helps speed processes along by using threading. Far2l isn't just built for extensibility, it's built responsibly!

Assuming you've already prepared your system for compiling code, as described in the compiling from source article, you must also install some development libraries required by far2l. On Fedora, CentOS, OpenMandriva, and Mageia, the minimal list is:

  • wxGTK3-devel

  • spdlog-devel

  • xerces-c-devel

  • uchardet-devel (your repository may not have this one, but there's a workaround)

On Debian, the minimal list is:

  • libwxgtk3.0-gtk3-dev

  • libuchardet-dev

  • libspdlog-dev

  • libxerces-c-dev

Use CMake to prepare the makefiles:

$ mkdir build
$ cd !$
$ cmake .. -DUSEUCD=no

The -DUSECD=no option is required only if you don't have the development libraries for chardet installed. If you do, then you can omit that option.

Finally, compile the code and install far2l to a temporary location:

$ make -j$(nproc --all)
$ mkdir ~/far2l
$ make install DESTDIR=~/far2l

If you prefer to install it to your system instead of to a temporary directory, then omit the DESTDIR=~/far2l option.

To launch far2l, invoke the binary stored in the bin subdirectory of your install path. For instance:

$ ~/far2l/local/bin/far2lUsing far2l

When you first launch far2l, it creates a configuration directory in ~/.config and prompts you to choose what font you'd like to use. On my system, 16 pt font size was the default, and anything less than that was impossible to read. I used the open source Fantasque Mono Regular as my font, but any monospace font ought to work.

Far2l is a two-panel file manager, meaning that the default view has a place to display two separate directories. At launch, both directories happen to be your home directory. To maximize the amount of screen space used for listing files, far2l uses two columns in each panel, and you can use the Left and Right arrows to change from one column to the other.

In the right column, you can also use the Right arrow to move "down" the list of files by one screen. In the left column, use the Left arrow to move "up" the list of files by one screen.

Image by:

(Seth Kenlon, CC BY-SA 4.0)

This navigation takes some getting used to, especially if you're used to terminal file managers that only use the Right arrow to descend into a directory. However, once you get used to far2l's navigation, you're likely to appreciate the added speed you gain from this simple pagination.

More Linux resources Linux commands cheat sheet Advanced Linux commands cheat sheet Free online course: RHEL technical overview Linux networking cheat sheet SELinux cheat sheet Linux common commands cheat sheet What are Linux containers? Our latest Linux articles Open a file or folder

To open a folder, select a folder in your file list and press the Return key. This causes the active panel to change to a view of that directory. The inactive panel doesn't change, so it's not uncommon for far2l to always be showing two different directories at the same time. That's a feature of the two-panel file manager design, although it can take some getting used to if you're not in the habit of splitting windows.

After you've moved into a directory, you can move back into its parent folder by selecting the double dots (..) at the top of the file listing and pressing Return.

To open a file, select a folder in your file list and press the Return key. The file opens according to your desktop's mimetype preferences.

Panel and window navigation

To move from one panel to another, press the Tab key.

The fun thing about far2l is that its file listing is actually a layer over the top of your terminal. To hide the file listing temporarily, and to reveal it once it's gone, press Ctrl+O (that's the letter O not the digit zero).

You can also adjust how much of your terminal the file panels take up. Press Ctrl+Up and Ctrl+Down to adjust the vertical size of the file panels.

Make no mistake, though, you're not just suspending far2l when you access the terminal underneath. This isn't your usual terminal, it's a far2l terminal that interacts with the file manager and adds a few features to your standard terminal experience. For example, the find command gains graphical auto-completion.

Image by:

(Seth Kenlon, CC BY-SA 4.0)

Copying and moving files

All the usual file management functions are available within far2l are available with function keys. These are listed along the bottom of the far2l window. There are lots of options for some of the actions, which is either over-complex or really really powerful, depending on your preference.

Image by:

(Seth Kenlon, CC BY-SA 4.0)

Exiting far2l

To close far2l, type exit far into the command prompt at the bottom of the far2l window.

Far out

Far2l is a dynamic and responsive text-based file manager. If you're a fan of classic two-panel file managers, then you'll feel at home with far2l. Far2l provides an interesting and novel interpretation of a terminal, and if you don't try far2l for its two-panel file management, you should at least try it for its terminal.

Far2l runs in the Linux terminal and is designed around a plug-in structure, enabling compatibility with SSH, WebDAV, NFS, and more.

Image by:

Internet Archive Book Images. Modified by Opensource.com. CC BY-SA 4.0

Linux What to read next This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License. Register or Login to post a comment.

How to Install Nagios Monitoring in RHEL, Rocky, and AlmaLinux

Tecmint - Thu, 12/15/2022 - 13:30
The post How to Install Nagios Monitoring in RHEL, Rocky, and AlmaLinux first appeared on Tecmint: Linux Howtos, Tutorials & Guides .

Nagios is an awesome Open Source monitoring tool, that provides a more comprehensive monitoring environment to always keep an eye on your all machines/networks whether you are in your data center or just your small

The post How to Install Nagios Monitoring in RHEL, Rocky, and AlmaLinux first appeared on Tecmint: Linux Howtos, Tutorials & Guides.

Pages