Feed aggregator

How I use Drupal as an advanced blogging platform

OpenSource.com - Thu, 03/10/2022 - 02:00
How I use Drupal as an advanced blogging platform Martin Anderso… Thu, 03/10/2022 - 02:00 Up Register or Login to like.

A couple of years ago, I decided I wanted a place to post my thoughts and play around with some emerging web technologies.

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 Why Drupal?

I make my living working with and evangelizing Drupal. So there's definitely some applicability to the saying, "when your only tool is a hammer, every problem looks like a nail."

In truth, I had considered using some static site solutions like Gatsby or Jekyll and then using free hosting options from GitHub or GitLab.

However, one of the things I enjoy about Drupal is how quickly I can create and adapt content structures and have the ability to draw on the considerable library of community-provided modules to extend its capabilities, all of which you can use for free.

Let me use a specific example to illustrate its flexibility. Initially, I wanted my site to be a blog, and there are a ton of options for that, including pure SaaS offerings like Medium. As I was working on it, however, it occurred to me that I could also use the site as a place to keep track of my various public speaking engagements.

Speaking of Drupal

I maintain several Drupal modules that I share with the community. I have also had the privilege of working with some very smart people, so I regularly have specific ideas around how you can use Drupal for some everyday use cases in easy and powerful ways.

When I submit a session proposal to an open source conference, the organizers often want to see a list of my recent public speaking engagements. I used to keep track of that in various ways, including a Google Doc. Then I have to remember to keep the list up to date (invariably, I don't). Then if a particular conference wants the information in a different format, I have to adapt all the content myself: Add longer descriptions, video links, and more.

I added a content type (a customizable template for structured storage) on my Drupal site called Talk. By default, it had a title and description, so I added fields for the schedule, location, and a link to the video.

 

Image by:

(Martin Anderson-Clutz, CC BY-SA 4.0)

Drupal has robust media handling out of the box, so when a video of one of my talks gets posted online, all I have to do is copy and paste the URL into my site. I can display that as a link or an embedded video player. For better performance, I also added a community module that allows the site to lazy load the video players.

I recently realized that I often post the slides from my talks to SlideShare, so I added a field to keep track of those links. That change took less than a minute to implement. Now, if someone wants to revisit the content, they can find a page on my site with all the information: When it happened, the description, a video, and the slides.

 

Drupal also includes a powerful visual query builder called Views, great for generating content lists to meet specific needs in a point-and-click interface. I used Views to create lists of upcoming and past talks, including small video players for the past talks and full-sized players if visitors click through to the details. If a conference requires my speaking experience in a specific format, I can easily create a new View to provide precisely the information they need, in the format they need it, with just a few clicks.

Key Drupal features

Another great thing about creating a site with Drupal is that you get to build on the work of one of the most engaged open source communities in the world. And they've built in some impressive capabilities, which my site benefits from.

Performance

They built Drupal to use multiple layers of caching for better performance. It also supports BigPipe progressive rendering, allowing even complex pages to start rendering in the browser right away.

Accessibility

The Drupal community put a ton of work into the spiffy new Olivero theme. It not only looks beautiful but got built for easy navigation by screen readers and other assistive technologies. Upon review, the National Federation of the Blind gushed that the team "knocked it out of the park." For my site, I worked out a way to override Olivero and make some minor stylistic changes without directly editing the theme. That allowed me to give my site some unique flavor while ensuring I can update it painlessly as Drupal continues to evolve.

My favorite Drupal modules

While Drupal is incredibly flexible out of the box, the possibilities are endless when you start to add from the immense library of modules available from the community, all for free. Here are a few that make my site better.

Smart Date

This provides an intuitive, easy-to-use widget for entering dates, designed to align with the UX of typical calendar applications. It handles timezones elegantly. And it also allows for the natural language formatting of date ranges: Outputting "9-10AM on Tuesday, Feb 15" instead of "9:00AM Tuesday, Feb 15 - 10:00AM Tuesday, Feb 15" for example.

Blazy

By default, Drupal adds the loading="lazy" HTML attribute to img tags, but all browsers don't support this. Also, my site loads multiple video players on the home page, which can cause a performance hit. The Blazy module adds support for multiple lazy loading libraries and can lazy load video players.

Pathauto

Drupal long could create SEO-friendly URLs like /node/123 based on the numerical ID of a piece of content. Pathauto expands the sophistication of the automatically generated URLs to include text, such as the type of content, how you categorized it, and the title (/articles/blog/composable-date-formatter-drupal). You can use this for creating breadcrumbs as well.

If I wanted to get serious about SEO, I could add the automatic generation of various meta tags using the Metatag module, and also add meta tags so content looks better when shared on social media. If I wanted to get really serious about SEO, I could also add the Real-time SEO module to help me aggressively optimize for specific keywords. But, I doubt I'll ever take it that seriously.

Final thoughts

Are you interested in giving Drupal a try? There are one-click demos available at Simplytest.me or DrupalPod you can use to test out Drupal with a cloud-hosted IDE (if you want to get your hands dirty). In another article, I'll discuss a low-cost (basically free, once it's up and running) way to host your Drupal site.

Drupal is a flexible and powerful blogging platform that I enjoy customizing to suit my needs.

Image by:

Opensource.com

Drupal 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.
Categories: OpenSource

Manage Linux users' home directories with systemd-homed

OpenSource.com - Wed, 03/09/2022 - 02:00
Manage Linux users' home directories with systemd-homed David Both Wed, 03/09/2022 - 02:00 Up 1 reader likes this

The entire systemd concept and implementation have introduced many changes since it began to replace the old SystemV startup and init tools. Over time, systemd has been extended into many other segments of the Linux environment.

One relatively new service, systemd-homed, extends the reach of systemd into the management of users' home directories. The feature enforces human user access only and restricts system users in the User ID (UID) range between 0 and 999. I support the systemd plan to take over the world, but I wondered if this was a bit excessive. Then I did some research.

More for sysadmins Enable Sysadmin blog The Automated Enterprise: A guide to managing IT with automation eBook: Ansible automation for Sysadmins Tales from the field: A system administrator's guide to IT automation eBook: A guide to Kubernetes for SREs and sysadmins Latest sysadmin articles What is systemd-homed?

The systemd-homed service supports user account portability independent of the underlying computer system. A practical example is to carry around your home directory on a USB thumb drive and plug it into any system which would automatically recognize and mount it. According to Lennart Poettering, lead developer of systemd, access to a user's home directory should not be allowed to anyone unless the user is logged in. The systemd-homed service is designed to enhance security, especially for mobile devices such as laptops. It also seems like a tool that might be useful with containers.

This objective can only be achieved if the home directory contains all user metadata. The ~/.identity file stores user account information, which is only accessible to systemd-homed when the password is entered. This file holds all of the account metadata, including everything Linux needs to know about you, so that the home directory is portable to any Linux host that uses systemd-homed. This approach prevents having an account with a stored password on every system you might need to use.

The home directory can also be encrypted using your password. Under systemd-homed, your home directory stores your password with all of your user metadata. Your encrypted password is not stored anywhere else thus cannot be accessed by anyone. Although the methods used to encrypt and store passwords for modern Linux systems are considered to be unbreakable, the best safeguard is to prevent them from being accessed in the first place. Assumptions about the invulnerability of their security have led many to ruin.

This service is primarily intended for use with portable devices such as laptops. Poettering states, "Homed is intended primarily for client machines, i.e., laptops and thus machines you typically ssh from a lot more than ssh to, if you follow what I mean." It is not intended for use on servers or workstations that are tethered to a single location by cables or locked into a server room.

The systemd-homed service is enabled by default on new installations—at least for Fedora, which is the distro that I use. This configuration is by design, and I don't expect that to change. User accounts are not affected or altered in any way on systems with existing filesystems, upgrades or reinstallations that keep the existing partitions, and logical volumes.

Creating controlled users

Traditional tools such as useradd create accounts and home directories that systemd-homed does not manage. Therefore, if you continue to use the conventional user management tools, the home directories on your home directories are not managed by systemd-homed. This is also the case with the non-root user account created during a new installation.

The homectl command

The homectl command creates user accounts that systemd-homed manages. Using the homectl command to create a new account generates the metadata needed to make the home directory portable.

The homectl command man page has a good explanation of the objectives and function of the systemd-homed service. However, reading the homectl man page is quite interesting, especially the Example section. Of the five examples, three show how to create user accounts with specific limits imposed, such as a maximum number of concurrent processes or a maximum amount of disk space.

In a non-homectl setup, the /etc/security/limits.conf file imposes these limits. The only advantage I can see to this is that it adds a user and applies the limits with a single command. With the traditional method, the sysadmin must configure the limits.conf file manually.

Limitations

The only significant limitation I am aware of is that it is not possible to access a user home directory remotely using OpenSSH. This limitation is due to the current inability of PAM to provide access to a home directory managed by homectl. Poettering seems doubtful that this can be overcome. This issue would prevent me from using systemd-homed for my home directory on my primary workstation or even my laptop. I typically log into both computers remotely several times per day using SSH, so this is a showstopper for me.

The other concern I can see is that you still need a Linux computer for use with a USB thumb drive with your home directory on it, and that computer needs to have systemd-homed running.

It is optional

You don't have to use it, however. I plan to continue using the traditional tools for user management to support my workflow. The default for the few distros I have some little knowledge of, including Fedora, is for the systemd-homed service to be enabled and running. You can disable and stop the systemd-homed service without impacting traditional user accounts.

Final thoughts

Sysadmins can use the systemd-homed service for a secure form of management of roaming users' home directories. It is useful on portable devices like laptops and can be especially useful for users who carry a thumb drive containing only their home directories to plug it into any convenient Linux computer.

The primary limitation of using systemd-homed is that it is impossible to log in remotely using SSH. And even though the systemd-homed is enabled by default, it does not affect home directories created with the useradd command. I do need to point out that—like many systemd tools—systemd-homed is optional. So I just stopped and disabled the service.

If I need to take my home directory in a package smaller than my laptop, I can just use a live USB with persistent storage.

Resources

Sysadmins can use the systemd-homed service for a secure form of management of roaming users' home directories.

Image by:

Opensource.com

Sysadmin 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.
Categories: OpenSource

Configurar SPF DKIM DMARK en Zimbra server

Freelancer.com - Wed, 12/11/2019 - 15:23
Configurar SPF DKIM DMARK en Zimbra server y revisar el envío y recepción de correos a gmail. (Budget: $30 - $250 USD, Jobs: DNS, Email Handling, Linux, System Admin)
Categories: Freelance, Linux

vpn developer experienced only with sql authentication

Freelancer.com - Wed, 12/11/2019 - 15:21
i need help with a script or knowledge how to setup openvpn pptp etc linked to panel mysql db (Budget: £10 - £20 GBP, Jobs: Computer Security, Linux, Network Administration, System Admin, VPS)
Categories: Freelance, Linux

Reverse vending machine software on Android with calibrations

Freelancer.com - Wed, 12/11/2019 - 14:46
we have a vending machine which has 21 inch touch screen , micro controller, cpu, sensors which are calibrated with the controller and works on command received on the touch screen. now we want to make this whole design on Android... (Budget: ₹12500 - ₹37500 INR, Jobs: AI (Artificial Intelligence) HW/SW, Android, Embedded Software, Linux, Software Architecture)
Categories: Freelance, Linux

Agent Helper

Freelancer.com - Wed, 12/11/2019 - 14:32
To build software for agents to connect to our PBX, with Chrome and Firefox browsers, on Ubuntu 19.10 OS. The software must be available as an ISO Image to download onto a Flash-Drive, from our Web Site. (Budget: $250 - $750 CAD, Jobs: Linux, PHP, Software Architecture, Ubuntu)
Categories: Freelance, Linux

Install LDAP in Docker on AWS and configure for writing schema

Freelancer.com - Wed, 12/11/2019 - 14:31
Install LDAP in Docker on AWS and configure for writing schema The LDAP servers preferred in order: 1. ReOpenLDAP https://hub.docker.com/r/itherz/reopenldap/dockerfile 2. OpenDJ https://github.com/OpenIdentityPlatform/OpenDJ/wiki/Documentation 3... (Budget: $10 - $30 USD, Jobs: Active Directory, Amazon Web Services, Docker, Linux)
Categories: Freelance, Linux

Need a web spider scraping program written for the following username NAV1969

Freelancer.com - Wed, 12/11/2019 - 13:31
I need a web scraper written for the following url: http://mynavajo.navajo.com:8150/webapps/lmwebr.pgm All pages will need to be retrieved not just page one. The data on this site changes and the number of pages will vary, however, we need to scrape data from all available pages... (Budget: $30 - $250 USD, Jobs: Linux, Perl, Web Scraping)
Categories: Freelance, Linux

AWS Website

Freelancer.com - Wed, 12/11/2019 - 12:58
i want to create an Website where user can log in and start / stop AWS EC2 and also execute certain linux commands (Budget: ₹1500 - ₹12500 INR, Jobs: Amazon Web Services, HTML, Linux, PHP, Website Design)
Categories: Freelance, Linux

Make Script To connect with Network Printer

Freelancer.com - Wed, 12/11/2019 - 12:42
Have to Make Script in any language i.e Php, Node or Python etc that connect with network printer and print a document from that script to printer. 1. When work a done just send a demonstrate video of working module... (Budget: ₹1500 - ₹12500 INR, Jobs: Javascript, Linux, node.js, PHP, Python)
Categories: Freelance, Linux

Need Mailwizz installed with Mailgun API on my server through Teamviewer --

Freelancer.com - Wed, 12/11/2019 - 12:15
Mailwizz setup with Mailgun API on my server through teamviewer (Budget: £20 - £250 GBP, Jobs: Asterisk PBX, Linux, MySQL, PHP, Ubuntu)
Categories: Freelance, Linux

setup openvpn,pptp,openconnect... sql database

Freelancer.com - Wed, 12/11/2019 - 12:12
i need help with a script or knowledge how to setup these linked to panel mysql db (Budget: £10 - £20 GBP, Jobs: Computer Security, Linux, Network Administration, System Admin, VPS)
Categories: Freelance, Linux

Fix an SSL_ERROR_RX_RECORD_TOO_LONG on a Plesk Server

Freelancer.com - Wed, 12/11/2019 - 11:57
Fix an SSL_ERROR_RX_RECORD_TOO_LONG on a Plesk Server (Budget: €8 - €30 EUR, Jobs: DNS, Linux, PHP, Plesk, System Admin)
Categories: Freelance, Linux

Genieacs expert required

Freelancer.com - Wed, 12/11/2019 - 11:48
Searching for an expert who can troubleshoot GenieACS. Thank you (Budget: $10 - $30 USD, Jobs: Database Administration, Linux, node.js, System Admin)
Categories: Freelance, Linux

Multimedia Serial Server

Freelancer.com - Wed, 12/11/2019 - 11:32
Hi, this project will be used as media player controlled by a serial device. This server will show a screen with some texts and it will play sound depending of the serial data received. In some cases it can play a segment of a video... (Budget: $30 - $250 USD, Jobs: Java, Linux, Netbeans)
Categories: Freelance, Linux

Bash script & git

Freelancer.com - Wed, 12/11/2019 - 11:27
I need you to write a shell script for me. You need to familiar with git and bash. (Budget: $30 - $250 USD, Jobs: Bash Scripting, Git, Linux, Shell Script, Version Control Git)
Categories: Freelance, Linux

Mobile quiz app is down. Built on AWS

Freelancer.com - Wed, 12/11/2019 - 11:19
We are running a mobile quiz game on AWS. It is down, though, and it seems to be related to an RDS instance on AWS which is no longer accepting connections. We just need an AWS expert to take a look and fix it... (Budget: $10 - $175 USD, Jobs: Amazon Web Services, Linux, node.js, PostgreSQL)
Categories: Freelance, Linux

Tomcat mysql expert

Freelancer.com - Wed, 12/11/2019 - 11:11
I have a web application working with tomcat and mysql , I need to reset the password web admin account , my budget is 10$ for this project. (Budget: $10 - $30 USD, Jobs: Java, Linux, MySQL, PHP, UNIX)
Categories: Freelance, Linux

Python and Machine Learning Project

Freelancer.com - Wed, 12/11/2019 - 10:50
I need someone to guide me for my project. Anyone who is has experience can ping (Budget: ₹100 - ₹400 INR, Jobs: C Programming, Linux, Machine Learning (ML), Python, Software Architecture)
Categories: Freelance, Linux

Create a shibboleth SPID provider and test it with a testing IDP

Freelancer.com - Wed, 12/11/2019 - 10:36
Good morning, i need to create a Shibboleth SPID login system, there are some projects on github, anyone can hel me? i will give more info privately. Kind regards (Budget: €30 - €250 EUR, Jobs: Docker, Linux, PHP, Programming, Scripting)
Categories: Freelance, Linux
Comment