I know I'm in the minority, but I like the notion of the Touch Bad on a MacBook. It just should be in addition to the Function Keys instead of in place of them.
Hi I'm Sean Reiser, this is my Personal Blog
I spent my "free time" the last few days standing up a new sever on linode. It's been a year or so since I've run a built my own server. I have some potential projects popping up where I felt it was a good idea to flex that muscle again.
My current site is based on the Varbase distribution and I like the time it saves me from a development standpoint, but there are costs from a performance standpoint you take a hit. I want to really take a day or 2 to look at Varbase vs Lightning vs Vanilla Drupal 9. The reason I wanted on its own sever is to better evaluate perforce issues.
I come from a time when the average person who used the internet did so from a command line via a *nix shell. Although that's less common these days, it always amazes me how much "new technologies" are just a more modern take on what we did on there.
- There are a variety of messenger apps all of them are just implementations of the msg command.
- Slack and Discord are just prettier versions of IRC.
- Heck, the Web is just a prettier cleaner version of GOPHER.
And as time has gone on I find myself adding functionality that emulates unix shell functionality.
- *nix shells have a feature that when you log into them a "Message of the Day" is displayed. These messages often had news about the site as well as whatever greetings the admins what to display. The little icon on the lower left of all the pages on this site is my version of this. In the short time it's been on my site, I've used it for Holliday greetings, encouraging people to wear a mask or to vote and to announce new features of this site.
- If you're on a unix shell there was a command, finger which would display a user's project and plan files. A user would put info in those files describing where they are and what they were working on. My now page, has the same purpose. You can visit there to get a snapshot of what I'm working on.
Since I'm working my site's upgrade in background, I decided that I'd handle as many of the data changes in the current Drupal 8 instance as possible to both stop the bleeding and try to reduce the need for a large data migration. As I mentioned in my previous post, I had a few different flavors of blog posts spread across 5 different content types. Merging them together was relatively simple. At first I was planning on writing code to handle the work but I found contributed modules that could do the job. Disclaimer, I did this in a sandbox, do not try this in a live environment.
Here's what I did:
- Added functionality so notes can optionally use titles.
- Added a flag to the Note content type to indicate whether the title should be persistent and used.
- Updated my call to hook_node_presave in a custom module to only autogenerate the title if the flag is not set.
- Updated the twig templates to display titles if the flag is set.
- I added a source field to the note content type in case I need it for the future.
- Merge category taxonomy vocabularies
- Each blog type had its own separate category field and its own unique vocabulary. I used the Taxonomy Manager module to move terms into a single vocabulary.
- Converted content from each content type into note
- I used the Convert Bundles modules to do the heavy lifting.
- The mapping tool worked perfectly.
- I merged them a content type at a time populating the source based on the feed.
- I used the Convert Bundles modules to do the heavy lifting.
All this worked perfectly and this site now has 1 blog content type, Notes. When it's time to move this to Drupal 9, I'll probably rename the content type to Blog Posts.
Happy Drupal Security Update Day!
Everyone should take note : [after the update] "Additionally, it's recommended that you audit all previously uploaded files to check for malicious extensions. Look specifically for files that include more than one extension, like .php.txt or .html.gif"
"find . -name \*.html.\*" and "find . -name \*.php.\*” should do it.
Good Luck, be safe and
May the Force Be With You!
As I mentioned in the first post in this series, this site is the result of merging a number of sites. The blog is a combination of:
- 2 Separate Previously Self-Hosted Blogs - Both blogs live in its own content type. They are very similar in structure and are pretty standard (Title, Image, Body, and Category) and live in the site for archive purposes..
- Imported Live Journal Posts - For a while I also maintained a blog on Live Journal. Years ago, in the site's Drupal 5 days, I used a module which migrated the live journal posts. It used its own content type and have stayed that way for the past 12 years or so.
- My Current Blog - Much like my previous blogs, when I restarted blogging 8 years ago, I wanted to do it with a clean slate. Again, it contains Title, Image, Body, and Category.
- Notes - About 6 few years ago, Dave Winer changed his blog over to doing shorter, titleless posts in addition traditional longer posts with titles. I liked this concept and implemented on the site. It's basically just a body field (I didn't put a cap on the length). Since Drupal nodes require a title, I user node_api to auto populate the title which was hidden in the theme. Over time, other functionality was added to the content type:
- An Image Field
- A Main Link Field - unlike the links in the note's body field, I scrape the link's meta data (image, title, description) and display it like a link on Facebook
- A Body Background Color Field -Much like the same feature on Facebook, this adds some ability to add visual interest.
- An Audio and Video Media Fields - Adds self hosted audio and video, if I ever decide to podcast again.
At the end of the day, this gives my blog page the appearance of a cross between a Facebook news feed, Tumblr and a normal blog feed, which I feel works well with my style of blogging.
My first thought was to merge the older blogs and Live Journal posts into the current blog and have 2 types and then it occurred to me... the thing separating the Note type from the Blog type was the titleless nature of notes. If I added a "use title" flag to the Note content type, I could bring all the posts into 1 content type, which will make future updates and maintenance easier. That's the plan.
I've been spending some time thinking about what to do next with this site. I think it's time to consider a move to Drupal 9 and use it as an excuse to handle some outstanding issues. Here is a list of tasks I am considering:
- Upgrade to Drupal 9 - since this is the goal.
- Reorganize content types - This site has its roots in Drupal 4 and had been through a number of upgrades from D5 through D8. When I moved it into Drupal 8, I didn't have the time to do a proper analysis and I just migrated the D7 fields into the same structure.In the past 2 years I have merged 3 of my other sites into it. All this has led to redundancy, deprecated data and cruft building up. This is a good opportunity to address all that.
- Relaunch Photogalleries - Somewhere along the line, I decided to remove my photo galleries and use Viewbug. Although Viewbug is a good platform it was a mistake to remove the galleries from this site, so I want to reinstate them.
- Make Better Use of Drupal's Media Module - when I ported the site to Drupal 8, the media in core was not mature enough to use. When it was, I didn't have the time to migrate the file entities to media entities and make the other changes.
- Use Layout Builder to Create Landing Pages - Layout builder didn't exist when I built this site. Right now it's done in paragraphs.
- Use Tome to Create a Static Version of the Site - During Drupal Camp NYC, someone was talking about the notion of using Tome to create a static version of their site and I got to thinking if that would be useful to me. Some advantages include
- Simplified, cheaper hosting - I could use one of the $2 / mo hosting services
- Performance increase - No overhead from Drupal / MYSql / etc when generating pages.
- Improved security - since Drupal would be running locally, there is no Drupal intense to attack.
I could run Drupal locally and just run rsync to update changes.Not saying I'm going to do this, but it intrigues me.
Cosmetically, I'm not planning any site design changes. At the end of all this, the site shouldn't look any different. Just be easier to use on the backend, faster and cleaner.
I'm planning on doing this over time, as time permits. Right now I'm light on work so I'm spending time on this because I'm light on work. This means there will be short sprints on this project as higher priority, paying work comes in.
As I do this, I'll be narrating my work and will provide updates. You an follow them if you're curious.
I'm really liking this Hopin platform that #DrupalCampNYC is using. It does an interesting job of replicating the conference experience, including the lobby track and an expo floor. Need to look into it further