I AM LISTENING TO
|
WHAT I LIKE
  • English
  • German


BLOG FILTER



INTRODUCTION

This is not a tutorial, but more like sharing a nice geeky road-trip ;)

I have a pretty good understanding of the Youtube Data API, as I have actively used it on portalZINE TV in the past, to upload videos and dynamically link them to my local post-types.

For one of my latest customer projects (TYPEMYKNIFE / typemyknife.com), the task was a bit more complicated and the goal was to make it as future-proof as it can be with the Google APIs :)

Prerequisites / References to get you started:

portalZINE NMN | Development meets Creativity | youtube data api

THE GOALS

The goal for the setup was to actively synchronize WooCommerce products with linked / attached videos, with their source at Youtube.

As the website is multilingual, WPML integration is critical as well. And as Youtube allows localization of title and description, that can be added into the mix quiet easily in the future ;)

The following product attributes should be mirrored and optimised for Youtube:

  • Product Title
  • Product Description (5000 character limit at Youtube)
    My customer already has a pretty long and detailed description, which is perfect for Youtube!
    We average around 2900-3000 characters.
  • Product Tags (500 character length limit at Youtube)

The following attributes should be integrated into the description to enrich the Youtube description:

  • Introduction
  • Product Link to WooCommerce Product / Shop
  • Socials
  • Legal Information
  • Hash Tags (local post-type to add recurring / important hash tags)
  • Outro

All of these attributes will be collected internally and assigned using a simple template system, which allows the customer to move parts around freely and freely layout the description for Youtube.

The following stats will be collected for review:

  • Products without a video linked (no relation)
  • Products with the same video linked (duplication)
  • Videos without a product in the system
  • Total amount of videos / amount of video-pages (50 videos max per page)
  • Total amount of products with videos

Youtube SEO

These are the relevant key aspects, that help to get your videos more views.

  • Relevant text featuring at least 1,000 characters
  • Keywords that are relevant on Google Search and YouTube and describe your video
  • Hashtags, can also be used within the text
  • Timestamps Links to related content / affiliate links
portalZINE NMN | Development meets Creativity | youtube data api auth

PREPARING AUTH / OAUTH2 AT GOOGLE

In the past access to the Youtube Data API was far easier and less limited, when it comes to offline / none expiring OAuth2 refresh tokens.

When you are building a server-side application that is only available to your customer or moderators, it makes no sense to run that app through the Google App verification. Your app will never be used in public.

The Youtube Data API and its scopes, are defined as sensitive and therefor require third-party security assessment for public access.

The scopes I am requesting are https://www.googleapis.com/auth/youtube.upload + https://www.googleapis.com/auth/youtube.

Because of that its far easier to just setup OAuth 2 in test mode and restrict access to your customer and specific additional accounts only (up to 100 test users allowed). What all these account need, is access to your own or Brand Youtube Channel.

Preparation in the Google Cloud Console:

  • Activate Youtube Data API
  • Create OAuth2 Client ID
    • Name
    • Allowed Redirects
  • Setup OAuth-Consent Screen
    • Name of the App
    • Support Email
    • Logo
    • Allowed Domains
    • Typ: External
    • Setup all test-users, all of these need access to your Youtube channel already

A detailed description can be found here.

You can circumvent verification for the consent screen, by using an organisation setup at Google. Here some infos about that. With that setup offline refresh tokens should work fine.

Update: Just tried that, but wont work with a branded youtube account, even though the cloud user has admin access to it. Not giving up yet, but Google / Youtube really makes it difficult to just have a simple offline solution for specific tasks ;) BTW also forced the login hint, to make sure the right account is logged in : $client->setLoginHint(‘YourWoreksapceAccount’); !

You might have heard of the “The League of Extraordinary Packages“. It is a group of developers who have banded together to build solid, well tested PHP packages using modern coding standards.

They also offer an OAuth2-client + OAuth2 Google extension that can be used.

SERVER SETUP

On the server, the Google API PHP SDK can be easily integrated using Composer.

In my customer plugin I neatly separated all relevant areas in classes & traits:

  • Online Authentification, with a 60 minute session
  • Offline Authentification, with a 1 week expiration (might explain that in more detail in the future.)
  • Error handling and debug information
  • Listing of videos
  • Updating of videos
  • Updating of tags
  • Updating hashtags
  • Backup old data locally, before update. There should always be an option to restore, especially with 500 videos :)
  • Settings & templates
  • REST routes / endpoints

You can check the expiry time of your access token by accessing:
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=YOUR_TOKEN

“A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of “Testing” is issued a refresh token expiring in 7 days.” – Google

Basic Auth example from the SDK:

A simple upload example can be found here .

portalZINE NMN | Development meets Creativity | youtube data api list

UPDATING A SINGLE VIDEO
BULK VIDEO UPDATES

All operations to and from the Youtube Data API are rate limited. What is important for us, are the queries per day.

The default quota is 10.000 queries per day, sounds a lot, but is easily gone after updating 150-200 videos. You can request this limit to be raised, but again a lot of paperwork and questions that are just not needed.

The above limit just means, that you need to cache as many queries as possible, to only query live when needed ;)

Something you learn fast, when experimenting with different things! I hit that limit multiple times in the first few days, with around 500 videos in the queue.

Different operation cost you different amount of units

  • A read operation that retrieves a list of resources — channels, videos, playlists — usually costs 1 unit.
  • A write operation that creates, updates, or deletes a resource usually costs 50 units.
    10.000 / 50 are 200 updates per day :)
  • A search request costs 100 units.
  • A video upload costs 1600 units. Glad we are not handling the upload as well, but technically easy ;)

It also helps to use the Google Developer Playground to testdrive the Youtube Data API with your own credentials while optimising your own code.
You can define your own OAuth 2.0 configuration by clicking the cog in the upper right corner.

I setup the bulk updating to allow splitting it over multiple days, if required. For this an offline refresh token is needed, as the standard token expires after 60 minutes.

My customer can also just update a single video, when changes are applied to the product or a new product has been added.

If more frequent updates are required, I will ask for a raise of the queries per day. You can circumvent the limit by using multiple Google Cloud Platform accounts with new OAuth credentials, but really an overkill right now. I have done that in the past ;)

LAYOUT & DESIGN

The GUI is just based of Bootstrap, to make it simple and clean. Using my own wrapper to make it work within the WordPress admin.

For all ajax operations, I am using htmx and _hyperscript, which I will talk about in another article in the future.

Really neat and clean way to build single page interfaces.

The whole plugin runs of its own REST API endpoint. Just love using WordPress as a headless system.

I used TWIG / Timber for the templates, to separate logic and layout. Timber has been my goto solution for years now. It drives my own and many customer websites.

portalZINE NMN | Development meets Creativity | road ends

CONCLUSION

This has been a lot of fun, maybe a bit too much LOL

I do geek-out about many of my projects, but this experience helped me to bring my WordPress toolbox to the next level. This will help to drive other things in the future.

Working so deeply with the Youtube Data API has been fun and feels so easy now, after all remaining problems have been solved.

Would have loved this during my portalZINE TV days ;)

I you read all this, you just earned yourself a badge for completion ;)

Need something similar or something else? Just say hi and we can talk.

ENJOY CODING ….

readmore

FINDING A COMMON GROUND!

portalZINE NMN | Development meets Creativity |

The first contact is always critical in order to define a possible project or future collaboration. I always have some time during the week to talk to potential customers about possible solutions.

In a casual first conversation, you can clarify what both sides need.
Either the chemistry is right or not :)

THIS IS GOING TO BE
WAY TOO EXPENSIVE?

It doesn’t have to be at all!

There are approaches and solutions for every project size. Most projects can be split into phases to keep everything manageable and affordable.

My projects are always tailored personally and predefined as precisely as possible.
If you don’t ask, you end up paying more everywhere!

HOW CAN I HELP?
WHERE CAN I HELP?

I have been looking after private individuals, startups, medium-sized companies and larger companies for years.

As a full stack developer, I can provide my customers with a complete project overview and help classify the effort. I also have design and advertising experience, as well as an above-average basic commercial and legal knowledge.

My customers know that I have no problem sharing my knowledge and can provide assistance in all areas.

Again, just talk to me and lets find a common ground :)

MULTILINGUAL.
DO YOU SPEAK ENGLISH?
PARLEZ-VOUS FRANÇAIS?

Until about 5 years ago, my main focus was on international projects. But in the last few years I have also built a solid foothold in the German-speaking arena.

I have implemented projects with up to 15 languages. For me, English sometimes runs better than German, which is also reflected in my portfolio and my BIO . I can write, read and speak French well (even if it’s a bit rusty!).

If you want to set up a multilingual site or translate parts of it, you’ve come to the right place. Of course also for WordPress via WPML .

Again, just say hello or Moin!

ONE PAGER
STATIC WEBSITE
HEADLESS CMS
WORDPRESS
YOUR OWN SOLUTION?

For me everything is actionable and can be worked out together depending on the project. Nobody needs to pay more than is really absolutely necessary. Sustainability is also a big topic and flows into all my projects.

Over the years I have also developed many of my own internal solutions, in order to be able to implement special solutions quickly.

Every project puzzle can be solved!

SEO
ADVERTISING
SOCIAL MEDIA
DATA PROTECTION
COOKIE MANAGEMENT?

It does not work without those and cannot be disregarded in any development phase of a project. I have a lot of experience in that area and can also contribute ideas and solutions where needed.

WHAT ELSE?

There are certainly still a few things that could be listed here, but I would rather clarify this in a personal conversation.

Gladly by phone or live via Skype!

Just ask for an appointment!

Contact / About me

I look forward to hearing from you. Thanks for your interest!

Greetings

portalZINE NMN | Development meets Creativity |

readmore

A grid mystery

Somehow the Grids Layout Builder for Gutenberg ist not pushing styles to the footer within a Timber theme. At least not for me.

Somehow the wp_footer action within the Grids plugin is not being executed and no grid styles are added to the footer. I am not getting any errors, but will have to investigate some more in the near future ;)

Update: It is related to the get_footer action within Grids. get_footer is used to load the appropriate footer template file, which I am not using in my Timber theme ;) So the workaround below is perfect.

Quick patch

Here a quick workaround for the theme functions.php, that does the trick for now.

Grids for WordPress, what is that?

“A layout builder is a tool that helps you creating visual structures in your page, from a simple layout made by adjacent columns, to more complex compositions.

Grids is entirely based on the WordPress block editor, which means that you’ll be able to use it together with the myriad of content blocks that developers and designers from all around the World are creating.

With Grids, we’re bringing a visual structure to the content written with the WordPress Block Editor.”
Grids: Layout builder for WordPress / Documentation / CSS-Tricks Article / A Complete Guide to Grid

Grids Example

This is using the Grids Plugin and only took a couple of minutes! I am so glad IE 11 is soon completely unsupported ;) and we can start using CSS Grid freely. Well we can, as nobody should be using IE 11 anymore!!!

On mobile its just stacked rows :)

CSS GRID: SOLVING PUZZLES

COLUMN 1
I love to solve puzzles and find epic solutions :)

CSS Grid Layout excels at dividing a page into major regions or defining the relationship in terms of size, position, and layer, between parts of a control built from HTML primitives.

Like tables, grid layout enables an author to align elements into columns and rows. However, many more layouts are either possible or easier with CSS grid than they were with tables.

LOVE IT!

COLUMN 2
We all love magazine-style layouts and we are getting closer to getting that :) The magic is in the detail.

For example, a grid container’s child elements could position themselves so they actually overlap another layer, similar to CSS positioned elements.

FLEX OR GRID
The basic difference between CSS Grid Layout and CSS Flexbox Layout is that flexbox was designed for layout in one dimension – either a row or a column.

Grid was designed for two-dimensional layout – rows, and columns at the same time.

COLUMN 3
I only styled the Desktop size, as a little preview. Added Custom CSS to switch areas for tablet sizes.

  • The grid properties are supported in all modern browsers.
  • An HTML element becomes a grid container when its display property is set to grid or inline-grid.
  • All direct children of the grid container automatically become grid items.
  • The spaces between each column/row are called gaps.

LET THE BATTLE BEGIN!

STAR TREK IPSUM

Unidentified vessel travelling at sub warp speed, bearing 235.7. Fluctuations in energy readings from it, Captain. All transporters off. A strange set-up, but I’d say the graviton generator is depolarized.

The dark colourings of the scrapes are the leavings of natural rubber, a type of non-conductive sole used by researchers experimenting with electricity. The molecules must have been partly de-phased by the anyon beam.

VS

STAR WARS IPSUM

Lucas ipsum dolor sit amet c-3po solo bothan qui-gon darth solo darth dantooine dagobah mustafar. Fett solo yoda r2-d2 kit obi-wan hutt amidala kenobi. Jade leia gonk lobot ahsoka darth jade skywalker organa. Utapau mara owen darth darth yavin.

Lando baba wedge darth solo skywalker ben fett. Fisto wookiee bothan antilles antilles luke kenobi. Yavin naboo kenobi jinn calamari antilles. Organa jabba skywalker gamorrean ackbar. Windu skywalker kit skywalker. Dantooine dantooine moff leia dantooine wicket amidala.

Things missing!

This is almost a perfect Gutenberg plugin and a reduced / simplified integration of CSS grid. I really think that this plugin makes Gutenberg 1000times better.

There is so much repetition of Gutenberg blocks out there, while this really addresses something new and nails it :)

There are still things missing, that are critical and would make this even more useful for certain websites:

  1. Allow to name grid areas. Would allow faster manual css modifications.
  2. Allow grid templates per breakpoint. This would make it perfectly usable in a responsive world. This is by far the most important issue!
  3. Some additional styling options would be nice, but nothing major. (Allow to adjust the grid gap …)
  4. Export the inline styles to files, that would leverage caching far better.
  5. Custom CSS integration, which allows to centralize Custom CSS for areas and sections.


Enjoy coding …

readmore

The issue

WACOM is known for stopping support for their pen tablets after some years, especially for the cheaper consumer pen tablets.

The WACOM Bamboo (in my case the CTH-461) is a pretty popular pen tablet and the latest driver wont install natively under Windows 10. Really frustrating for hardware that is still in perfect shape.

The solution

  1. Download latest available driver from Wacom
  2. Do not install the software directly yet.
  3. Right click on the downloaded file and choose “Properties”
  4. Click Compatibility on the popup
  5. Activate “Run this program in compatibility mode for”, choose Windows 8.
  6. Now you can install the driver & software.
  7. Enjoy

readmore

Watching from the sidelines

VR has not just arrived, but it finally arrived for me and the masses ;)

I have been watching VR evolving from the sidelines for the past few years. Its been a fun ride, from the first prototypes to what we have now.

The biggest problem in the past, has been image quality and the huge upfront investment for me. With the latest generation all of this has completely changed.

As a developer …

I am constantly keeping up with new technologies and have been diving into WebVR for some time now.

Its so easy to export your own simple Unity VR project into WebVR and integrate it into your own web projects.

Unreal Engine also provides options to work on VR projects. Or build upon the WebXR API.

Microsoft also has a foot in the door, with MRTK (Allows to integrate teleporting easily / Releases).

Oculus Quest 2

With the announcement of the Oculus Quest 2 last year, I finally decided to dive in myself. Standalone VR allows me to concentrate on WebVR and experiment, while still having the option to expand into the linked PC-universe in the future as well.

PC Link / PC Rig / PC VR

I have no plans to invest into a beefy gaming rig yet, but have been trying out cloud solutions using Shadow and Paperspace Gaming / Paperspace $10 Coupon (KS4Q2TA).

Update: Latency is the biggest problem with these solutions and it can be a hit & miss! My Paperspace experience was close to perfect for pure desktop experiences, for VR sadly not :) Can not testdrive Shadow right now, as the waitinglist is already showing September 2021 LOL CRAZY! Local latency can be greatly optimized by using Wi-Fi 6 or Wi-Fi Direct.

With the current GPU prices, building a machine makes hardly any sense. I would love to build a small form-factor PC with a Shuttle XPC for example ;) Maybe later this year ….

I invested in VR-Comfort for now ;) I transformed the Oculus Quest 2 into a FrankenQuest with the DAS-Mod (HTC VR VIVE Deluxe Audio Strap). Loving the new look, audio and perfect weight balance :) Perfect for longer sessions.

Building a VR READY PC in 2021

I am officially infected. I decided to upgrade an old computer to minimum VR specs, to at least tryout PC-VR :)
The final build is ghetto and really a tight fit, but it works perfectly :)

For 2021 and the current shortages, this is a big win! The whole upgrade was about 400 EUR, with 250 EUR for the new GPU.

Here are my current PC-VR specs:

AreaBeforeAfter / Comment
PCFujitsu P900 – i3Nice clean case. Mainboard D2990 (ultra small μATX). Really tiny! This would normally not be my dream mainboard, but I am using what I have :) Trying to keep costs low.
Power SupplyStockEVGA 600 W1. Better cooling and needed power for the GPU.
CPUi3 – 2120i7 2600K . Big change in overall performance.
CPU Cooler & FanStockBe Quiet Pure Rock Slim BK030. (Had to do some mods to install it)
RAM8GBEnough for now.
GPUNVIDIA 1030 GTX – Low profileNVIDIA 1060 6gb Inno3D. That card takes up all slots, had to add a riser card to play with some USB 3.0 cards :)
USB3USB2Inateck PCIe USB 3.0  – KTU3FR-4P , again connected via a riser card!
Make sure that the card gets proper power (green light on the card itself), that is why another Inateck card failed to connect or had random disconnects ;)
That card charges and connects perfectly with the Oculus Quest 2. I was almost giving up and glad I found a working solution ;)
USB LINKUsing a 3m long cable from KIWI Design, works without any problems and has secure fit on the Oculus Quest 2
BluetoothBluetooth 4.0 – Asus BT-400

All that is required, has been added and now the PC VR universe is open for exploration :) As hardware is getting more expensive every week, I updated a second machine with comparable specs and have 2 machines that can run VR with entry /decent specs :)

Interesting Platforms

There are many new platforms providing access to new tools and often an easy access to a broader community. Some of them with nice build tools in VR.

Open Source

OpenXR is an open, royalty-free standard for access to virtual reality and augmented reality platforms and devices. It is developed by a working group managed by the Khronos Group consortium.”

You will find a bunch of efforts on the way, to build the next open multi-platform VR solution.

Building experiences in VR

Building with Unity is always an option, but not the best solution for those that are just getting started or for those that just want a simple starting point to experiment ;)

  • Zoe – Immersive 3D Creation Platform
    Create content directly in VR or using Unity :) Zoe is a perfect tool for Educators & Institutions.
  • A-Frame. A web framework for building 3D/AR/VR experiences. Make 3D worlds with HTML and Entity-Component For Quest, Rift, WMR, SteamVR, mobile, desktop
  • OpenSpace 3D – OpenSpace3D is a free and open-source platform, designed to create virtual and augmented-reality applications or games. If you are a 3D artist, a designer, a lab researcher, or just someone with a lot of passion and curiosity, you don’t need software development skills to use our platform.
  • Amazon Sumerian is a set of tools for creating high-quality virtual reality (VR) experiences on the web. With Sumerian, you can construct an interactive 3D scene without any programming experience, test it in the browser, and publish it as a website that is immediately available to users.
  • Mozilla Spoke – Create 3D social scenes for Hubs
  • Wonderland Engine is a development platform for web-based graphics applications. It comes with an accessible 3D editor application – the Wonderland Editor – and an efficient WebAssembly based runtime that runs in the browser.

VR Office

Another evolving area is the office space. Some of the platforms above already dive into that area, like XRDesktop. But Oculus / Facebook itself is working on its Infinite Office integration.

Other solutions help to mirror your PC within VR and open new ways for collaboration:

The biggest problem is the mirroring of the keyboard. As soon as that is solved, this might become usable. Immerse VR provides an option to overlay a virtual representation of your keyboard, by mapping your real-life keyboard in VR.

Communities

Always important to stay informed. Here some communities are frequently visit:

Tools

  • Oculus TrayTool – It’s a free application that helps you get the most out of your Oculus Rift & Oculus Quest, when connected via Link.

Here to stay

VR is here to stay, I would have never though it would take off 2020 / 2021. But we all face new challenges and technology is evolving to make space for new possibilities.

Not all gaming

While gaming / fitness / social are the entry point for VR currently, this whole market will expand quickly in 2021.

Really looking forward to new possibilities and another facet of my developer life.

Looking forward meeting some of you in the VR-Multiverse :)

Enjoy coding ….

readmore
26. March 2021

Tracking your body in VR

A new passion!

VR is a new passion of mine, that I play with in my freetime, but also explore as a developer and tech enthusiast.

As video quality has evolved a lot in the past 2 years, the big topic now is full body immersion.

What needs to be tracked in VR?

The following things are becoming more important:

  • Hand-Tracking: hand & fingers, touch, grab & place …
  • Eye-Tracking: left & right eye, focus …
  • Lip-Tracking: speech, facial expressions
  • Body-Tracking: arms, legs, hips …
  • Free Locomotion without boundaries
  • Smell & Taste-Tracking
  • Brain & Neural Tracking

I will use this article to collect things that are already available, diy projects, experiments and things that are in their early stages.

Hand Tracking

Hand & finger tracking is already making its way into consumer products. It is still not widely integrated, but has made big jumps the past year.

Eye Tracking

Eye tracking is not only important to make avatars more life-like, but also to track your eye focus and help to reduce processor load.

Lip Tracking

Lip tracking has made a big jump, with the new Vive Lip tracker and is important for social interactions.

Body Tracking / Tracking parts of the body

Body tracking is one of the areas, that has so many projects attached to it. There are so many neat solutions out there, that almost anyone can use it by now.

  • KinectToVR – Full-Body Tracking with your Kinect for Xbox 360, Kinect for Xbox One or PlayStation Move + Eye
  • SlimeVR – Open Source Full Body Tracking. Crowd Supply / Youtube
  • DecaMove – Hip tracking. They also offer an Android App, to do the same.

Free Locomotion Tracking

Free locomotion is one of the biggest challenges in VR right now. You can increase your playarea, but that is still limiting and requires space. Their are VR treadmills, but none of them really reproduces life-like natural movement yet. And those solutions that come close, are still out of your reach. Most of the tracking above is somehow covered and will be available soon, while real locomotion is really the hardest to solve of them all.

  • Natural Locomotion – Natural Locomotion is an application that emulates the controller thumbstick input (to use in any game), to walk, run and jump more naturally moving your arms or your feet. It includes a driver for SteamVR for this purpose.

Tools & Software

  • VirtualHere – allows USB devices to be used remotely over a network just as if they were locally connected!

Avatars

Always crucial to have the right look for yourself in VR :)

Lets get started ….

readmore

“Klaro [klɛro] is a simple consent management platform (CMP) and privacy tool that helps you to be transparent about the third-party applications on your website. It is designed to be extremely simple, intuitive and easy to use while allowing you to be compliant with all relevant regulations (notably GDPR and ePrivacy).”

The tool is developed by KIPROTECT and can be found on Github.

Black & White

As I integrated Klaro on a couple of websites so far, I decided to make my work a bit easier and start building some basic clean themes for it.

I have a basic white and black&white theme so far. The download includes a testdrive folder, to showcase the themes. The white theme is also used on this website ;)

I really hate those standard consent management modals, that integrate badly into the website native design.

Klaro does a good job allowing to override its core theme and makes it a bit more pleasant. We do have to live with those modals from now on ;)

The themes are Sass-based and provide easy configuration options.

Enjoy!

cubicFUSION Themes for Klaro! @ Github

Klaro! Tweaks

Klaro is still missing some things, will collect some workarounds here for you to play with.

Missing events for consent modal open / closed …

Updates: Github Discussion
– 0.7.10 also adds custom callbacks to services (onAccept, onDecline, onInit) NICE!

Used a simple MutationObserver to do some magic for now, without diving into the core Klaro code for now. I am sure they already have an event listener or watcher setup.

readmore

What’s new / What changed ?

Admin Enhancer is the first free plugin released under the cubicFUSION brand. The plugin is still work in progress, but a tool that is already used within some of my client projects. I am using this  plugin to centralise things I love & need, when sending out a finished website or project.

NEW: DASHBOARD GUTENBERG / DASHBOARD TEMPLATES
NEW: ADMIN TOOLBAR
UPDATE: SHORTCODES

Addons included …

This version includes a new addon “GUTENBERG DASHBOARD“, that allows you to build a White-Label Admin Dashboards using the Gutenberg Editor.

It integrates with the SHORTCODES addon and allows to drop in the dashboard widgets via its own Gutenberg Block.

The Block provides settings to overwrite CSS from the admin widgets, allowing you tweak them a bit — for better visual integration. The Dashboard template itself can be tweaked using CSS and Sass via SCSS now 😉

I am also releasing the first integration of the “ADMIN TOOLBAR” addon, which allows you to tweak some of the admin toolbar and footer options (Hide WP Logo, Hide Toolbar on Frontend, Hide Menu Items ..)

Already working on 0.3 … ENJOY!

cubicFUSION – Admin Enhancer
WordPress Repository

readmore

I am always looking for easy ways to white label the WordPress administration for myself and my clients. A nice personal touch for each project and an easy way to declutter the interface.

These are my personal favorites, that I use on a regular basis.

Admin Themes / Login Page

There are a lot of solutions out there, but many break easily and are really heavy to load. Some of these solutions I tried also break easily on new WordPress Upgrades. The first two below are currently my favorites.

  1. Slate Pro ( Commercial )
    “Slate Pro is a powerful WordPress admin theme plugin that reimagines WordPress with a clean and simplified design. White label your WordPress install with custom colors, a custom login screen, custom admin branding, and more. Slate Pro is now multisite compatible! Network activate to control the look of all sub-sites.”

    Slate Pro is a clean and simple admin theme, that does not try to alter the interface completely. Small changes that make a difference. Color adjustments, logos, simple menu & widget enhancements and login page tweaks. Compared to other solutions it has been a stable experience, even after multiple WordPress Updates.

    This is an install and enjoy solution!
  2. Kodeo Admin UI ( Free – Open Source )
    “Kodeo Admin UI turns your WordPress backend into a clean and modern user interface. All elements are well designed and arranged for the best user experience.”

    Kodeo is another clean interface, that goes further than Slate Pro. Many areas of the admin theme have been changed. It works well with most 3rd party plugins, but I have had problems with some plugins doing their own little interface tweaks.
    With Kodeo your WordPress Admin completely transforms and gives it a really modern & clean look.

    This is an install and tweak solution! You might need to trim certain CSS properties to make it work for everything.

  3. Material WP ( Commercial )
    “Material Design version of the WordPress Admin Interface”

    I have used this once or twice in the past. Its more of a honorable mention. The admin theme transforms the interface completely, but can feel sluggish on slower servers. It has an impressive set of options and gets regular updates.

    This is again an install and tweak solution! It works with most of the 3rd party plugins and Gutenberg, but some things might need to be trimmed by hand.

Menu Editors & User Groups

When sharing the administration with your customer, you often need to make it as simple a possible for them. Depending on your setup, the menu becomes cluttered and overwhelming really fast.

I often trim menus for each user role, to make only those options accessible that are really needed.

  1. Admin Menu Editor Pro ( Free / Commercial )
    This tool has been part of many of my projects and has been a solid solution for years. You can hide & move menus, create new menus, tweak menus by user role, hide plugins and also tweak the admin toolbar with an extra addon.
    Worth every penny! There is a free version available, that might just provide enough functionality for your next project.
  2. Groups ( Free )
    “Groups is designed as an efficient, powerful and flexible solution for group-oriented memberships and content access control. It provides group-based user membership management, group-based capabilities and access control for content, built on solid principles. Groups is light-weight and offers an easy user interface, while it acts as a framework and integrates standard WordPress capabilities and application-specific capabilities along with an extensive API.”

    This plugin allows you to add new user groups easily and can tie into the plugin above.

User Profiles

When sharing the administration with multiple users, its always nice to add some personality to the user profiles as well.

WP User Profiles
“WP User Profiles is a sophisticated way to edit users in WordPress.”

The plugin provides other small addons, like WP User Avatars. Neat plugin to tweak admins, editors and other users.

Admin Dashboard Replacements

  1. cubicFUSION Admin Enhancer (Free)

    portalZINE NMN | Development meets Creativity | cubicfusion logo
    This is a new plugin I am currently working on. The current shortcodes addon can help you integrate dashboard widgets into the dashboard builders below.

    I am also working on my own dashboard builder, that requires none of the solutions below and builds upon WordPress core functionality.

  2. Dashboard Welcome for Elementor (Free)

    portalZINE NMN | Development meets Creativity | elementor 300x102 1
    “Dashboard Welcome by PowerPack Elements gives you full control over the WordPress welcome panel using Elementor.

    You can personalize the dashboard with content and design built with Elementor. You can add heading, contact information, form, video, images, affiliate links, etc.

    While the above plugin is free, you need a Elementor Pro License to use it!

  3. Dashboard Welcome for Beaver Builder (Free)

    portalZINE NMN | Development meets Creativity | beaver builder 300x81 1
    “Welcome by Beaver Addons gives you full control over the WordPress welcome panel using Beaver Builder.

    You can personalize the dashboard with content and design built with Beaver Builder. You can add heading, contact information, form, video, images, affiliate links, etc.”

    Even though the plugin above is free, Beaver Builder is a commercial plugin!

  4. Divi Dashboard Welcome ($22)

    portalZINE NMN | Development meets Creativity | divi
    “Divi Dashboard Welcome gives you control over the WordPress Dashboard Welcome screen …”

    The plugin requires the Divi Page Builder. Both plugins are commercial!

Enjoy
Alex

readmore

1. Build your own little cloud

Everybody seems to be searching for ways to integrate digital communication into their home-office environments or client/customer workflows. But many are not willing to pay huge monthly fees or rely on services like Skype, Zoom, Microsoft Teams or Slack.

For smaller teams meetings, or webinars for people up to 6, their is an alternative! You can easily use Nextcloud and its integrated Talk application for chat & webrtc video/audio streaming capabilities. Combined with the calendar app this becomes a very effective and low-cost solution.

2. Nextcloud Talk

Nextcloud Talk is a fully self hosted audio/video and chat communication service. It features web and mobile apps and is designed to offer the highest degree of security while being easy to use.

Talk makes it easy to call customers and partners in one-to-one or group-scenarios. Users can invite external chat participants with an URL into public rooms. The chat enables participants to easily exchange messages, links and notes.

Share the content of a single window or a full desktop screen for presentations with chat-partners. Manage participants by inviting, muting or removing them. Schedule meetings and be notified when they start. A lobby is provided for guests to wait until the call starts.

Calls are end-to-end encrypted so no communication can be intercepted. Chat logs are stored securely on your own server.

The peer to peer nature of Talk does inflate network traffic, creating one incoming and sending stream per other participant. This places practical limitations on calls that depend on network capabilities.

A typical private Nextcloud Talk setup should handle dozens of calls with each up to 4-6 participants, more if all participants have a good network connection.

Github

3. All the benefits of using Nextcloud & Talk

  • 100% open source
  • Self-hosted so no leaking of metadata
  • Encrypted, peer-to-peer audio/video calls
  • WebRTC for cross-platform support
  • Individual and group calls & chat
  • Mobile apps for Android and iOS
  • Easy screen sharing
  • Mobile calls & chat with push notifications
  • Commands to enable integration with other tools
  • Webinars & public web meetings

4. Setting up Nextcloud

Nextcloud is part of many hosting offers and can often be installed with one single click. You will also find hosting providers, that are specialised on Nextcloud hosting and offer you a preinstalled setup to use.

But any decent hosting setup should be enough to roll out your own. Setting up Nextcloud is really easy, as it offers a simple guided installation process.

If you need help setting up your own private instance, get in touch and we can work something out. Depending on your server setup and apps you want, it should not take longer than 60-90 minutes to get it up and running.

Alex, Contact Me

5. STUN / TURN Server

Nextcloud Talk tries to establish a direct peer-to-peer (P2P) connection, thus on connections beyond the local network (behind a NAT or router), clients do not only need to know each others public IP, but the participants local IPs as well. Processing this, is the job of a STUN server. As there is one preconfigured for Nextcloud Talk, still nothing else needs to be done.

But in many cases, e.g. in combination with firewalls or symmetric NAT, a STUN server will not work as well, and then a so called TURN server is required. Now no direct P2P connection is established, but all traffic is relayed through the TURN server, thus additional (at least internal) traffic and resources are used.

Nextcloud Talk will try direct P2P in the first place, use STUN if needed and TURN as last resort fallback. Thus to be most flexible and guarantee functionality of your Nextcloud Talk instance in all possible connection cases, you most properly want to setup a TURN server. COTurn is an open source solution, that offers just that.

If you need to setup your own TURN Server I can help. There are pretty cost effective ways, to host your own.

Alex, Contact Me

readmore