Perform Drupal audit and Run Your Drupal 10 Upgrade in a 3-pronged Process

It is imperative for organizations to stay ahead in terms of open-source security and innovation. With Drupal 7 reaching its end-of-life in November 2022 and Drupal 8 in November 2021, followed by a subsequent website upgrade to Drupal 9, now is the time to upgrade or migrate to Drupal 10.

Valuebound has a proven Drupal site audit tool helping upgrade sites of all sizes, which we will outline in this guide. The usual upgrade process begins with a codebase audit, followed by addressing code and compatibility issues. In the final stages, a trial upgrade is performed to identify and resolve any remaining issues, leading up to the full Drupal 10 upgrade.

Conducting a site audit prior to migration or upgrade is recommended. A Drupal site audit provides an overview of your current system, including modules, themes, and custom entities, and recommends necessary actions. The Drupal Site Audit tool facilitates this process by performing a site assets audit and creating a map of these assets.

Planning Website Migration to Drupal 10

As you plan for your migration or upgrade, whether from Drupal 7 or 8, or 9, it is advisable, to begin with, a readiness audit. This audit will assess the level of effort required and provide recommendations to ensure a smooth transition to Drupal 10.

The process of upgrading to Drupal 10 can be summarized as follows:

  • Audit the codebase for deprecated code
  • Audit the codebase for composer compatibility
  • Address deprecated code issues
  • Address composer compatibility issues
  • Trial Drupal 10 upgrade and identify remaining issues
  • Complete the Drupal 10 upgrade

In this blog post, you will have a better understanding of the process and effort required for a successful upgrade, enabling you to plan your budget and timeline effectively.

Step 1: Assess the Current State of Your Website

Upgrading from Drupal 8/9 to Drupal 10 requires careful planning to ensure a successful outcome. The first step in this process is to understand the current state of your website.

It is best to perform a Drupal site audit, and here are a few key things to consider when auditing your Drupal website for the upgrade.

  • Determine Your Current Core Version: It is recommended to perform upgrades from the latest minor version of the core. If you are on Drupal 8, you should upgrade to Drupal 8.9 or later before attempting to move to Drupal 10. However, upgrading to Drupal 9 first, before moving to Drupal 10, is not necessary.
  • Management with Composer: Composer is a dependency manager for PHP that makes it easier to keep the core of your site, modules, and dependencies secure and up-to-date. If your Drupal 8 site was set up with an earlier version such as 8.1 or 8.2, it is likely not managed with Composer.
  • Hosting/Server Environment: Drupal 10 has specific minimum server requirements that must be met for your site to run on the server. Make sure to check the minimum requirements and verify them with your hosting company or server administrator.

Keep in mind that upgrading your server environment, including PHP and the database server, should be considered, but not performed until after you have upgraded your Drupal version locally or in a non-production environment.

Step 2: Assess the state of your third-party modules and themes

Upgrading to Drupal 10 requires considering the compatibility of your third-party modules and themes. While the Drupal 10 core has been stabilized, it may take some time for the larger community to release updated versions of their modules and themes.

Some developers have already started work on Drupal 10 upgrades, and some modules and themes are already available for Drupal 10. Others are still in progress. It's important to keep in mind that you have until November 2023 to upgrade your site to the latest version of the core and maintain security coverage. However, waiting until the last minute is not recommended.

To ensure a smooth upgrade, you should create an inventory of your third-party modules and themes and evaluate their update status. Check if they have an upgrade path and review the details of their plans in the relevant issue queues. If you discover any modules or themes without an upgrade path, consider finding an alternative or reaching out to someone who can help you update or create a custom solution.

Stay informed about the updates of the modules or themes that have an upgrade path but have not yet released a stable version. By doing so, you'll be prepared when the updates become available and can plan your site upgrade accordingly.

Step 3: Verify Compatibility with Custom Code

The release of major Drupal core updates often involves changes and deprecations to APIs, so it's wise to check the compatibility of your custom code before the official release of Drupal 10. To make this process easier, use tools like the Upgrade Status module or Drupal Rector, which can identify deprecations, make automated fixes and offer recommendations for further improvements.

You can start preparing your custom code for Drupal 10 while still using Drupal 8 or 9, which is a great way to get a head start on the upgrade process. When the time comes, you will be ready to smoothly roll out the complete upgrade once your contributed code and server environment are both prepared.

Conclusion

Drupal 10 was released to the public on December 14th, 2022, and it brings numerous new and exciting features to the table. While the upgrade process has become easier for Drupal 8 and 9 websites, it's still crucial to plan, prepare, and audit accordingly. Don't wait to start planning your migration to Drupal 10.

We hope these three simple steps will ensure a seamless and efficient upgrade experience. If you have any questions or need assistance with your upgrade journey, please reach out to us and we'd be glad to help.

Unleashing the Power of AI: A Deep Dive into ChatGPT

MIT researchers developed ELIZA in 1966, a key milestone in chatbot history due to its keyword-enabled responses that provided a human-like conversation experience. Later, A.L.I.C.E (1995) and SmarterChild (2001) paved the way for modern chatbots. In November 2022, OpenAI introduced ChatGPT, a cutting-edge AI chatbot, backed by Microsoft's $1 billion investment. ChatGPT is part of OpenAI and the Azure AI Platform.

What Is ChatGPT?

ChatGPT was launched as a prototype on 30, November 2022. ChatGPT is a huge language model developed by the OpenAI GPT-3 family of large language models. It's grounded on the GPT( Generative Pre-trained Transformer) armature and is trained on a massive dataset of textbook data. ChatGPT can be used for colorful natural language processing tasks similar to textbook generation, textbook completion, language restatement, and conversational AI.

It can understand and respond to a wide range of inputs and give applicable and coherent responses. It's trained to respond to colorful prompts and can also continue a given environment, which makes it suitable for erecting chatbots and other conversational AI operations.

How Did ChatGPT Become Skilled/Trained?

ChatGPT was trained by OpenAI's GPT-3 family of large language models, with 175 billion parameters and 570 gigabytes of text data, surpassing its predecessor GPT-2. This larger scale allows GPT-3 to perform tasks it wasn't explicitly trained on, like language translation, and sometimes outperform models trained specifically for those tasks.

ChatGPT was also trained on internet code and data sources like Reddit, and human feedback to understand human conversation style and respond in a human-like manner. A research paper on "Training Language Models to Follow Instructions with Human Feedback" showed positive results for InstructGPT, but also room for improvement.

Limitations of ChatGPT

Some of the limitations of ChatGPT include:

  • ChatGPT won't respond with harmful or toxic responses
  • Quality of answers depends on quality of inputs. Poor prompts may lead to wrong answers
  • ChatGPT is designed to provide answers that seem right, but they may not be correct
  • Some users report wrong answers, including nonsensical ones, from ChatGPT
  • OpenAI acknowledges on their website that ChatGPT can provide incorrect answers
  • ChatGPT is currently free during the "research preview" phase and open for users to test and provide feedback
  • OpenAI is seeking feedback to improve the AI's responses and correct any errors

Can ChatGPT Replace Google Search?

ChatGPT and Google Search serve different purposes and can't replace each other. ChatGPT is a language generation model that generates human-like text based on a prompt for tasks such as translation, summarization, and question answering. Google Search is a search engine that provides relevant information for a user's query. ChatGPT is useful for language-based tasks but can't replace Google Search as an essential tool for finding information. Google has its own AI chatbot, LaMDA, that performs close-to-human communication.

How Can ChatGPT Be Used?

ChatGPT is a powerful language generation model that can be used for a wide range of language-based tasks. Some of  the approaches it may be used encompass:

  • Content creation: ChatGPT can assist users in generating text for different purposes like content creation, writing, and even for coding.
  • Language Translation: ChatGPT can be used for language translation by providing the text in one language and asking it to translate it to another.
  • Summarization: ChatGPT can summarize long documents or articles by extracting the key points and presenting them in a condensed format.
  • Question answering: ChatGPT can answer questions by providing it with a prompt that includes a question and relevant information.
  • Dialogue Generation: ChatGPT can be used to generate dialogue for chatbots, virtual assistants, and other conversational systems.
  • Text completion: ChatGPT can be used to complete a text given a starting prompt, it can be used in writing and coding.
  • Text classification: ChatGPT can be fine-tuned to classify text into different categories based on its content.
  • Language model fine-tuning: ChatGPT can be fine-tuned to perform specific tasks like sentiment analysis, named entity recognition, and more.
  • Text generation: ChatGPT can be used to generate text based on a given prompt, it can be used for creative writing, poetry, song lyrics and more.
  • Text-to-speech: ChatGPT can be used to generate speech from text, it can be used for assistive technology and more.

These are just a few examples of the many ways ChatGPT can be used. The model's capabilities and potential are constantly evolving as it continues to be developed and improved.

Conclusion

ChatGPT is an AI language model by OpenAI that uses machine learning to generate human-like text. It's trained on large text data to handle a variety of natural language inputs for tasks like answering questions, writing essays, and communication. Its transformer-based architecture enables it to handle long-term dependencies in input and generate coherent text. If you have any questions regarding this insight, drop us a message or connect with us.

Release Plan of Drupal 10 Version: Get Ready to Upgrade

From the mid of 2019 to December 2022, 2129 individuals from 616 different organizations, including Valuebound, worked together as part of the Drupal community to successfully address 4083 issues. As a result, the highly-anticipated Drupal 10 became available for use on 15th December 2022. 

Drupal 10 is designed to ensure long-term stability and security for users, with all future updates and features implemented. Firstly, it provides the latest features and improvements that can help improve your website's performance and security. Additionally, it ensures that you receive the latest security coverage, which is essential in keeping your website safe from potential vulnerabilities.

By upgrading to Drupal 10, you are ensuring that your website is compatible with future releases, making it easier to update. This blog gives you a release plan for the Drupal version and how you can prepare your business to upgrade to the latest version of Drupal.

What is Drupal Version 10.0.2?

The latest Drupal 10, 10.0.2 has been recently released on 18 January 2023. This release is specifically designed to fix bugs and is now ready to be utilized on live production sites. In terms of security, Drupal 10.0.x will be covered until December 2023.

Drupal 10 Release: How to Plan

Depending upon which stage you are in the Drupal journey, we suggest the below plan to upgrade to Drupal 10 (Fig. 1):

Drupal 10 Release Plan

 

Update to at least Drupal 9.4.4: When upgrading to a new major version, you can typically do so from the last minor version of the previous major version. However, there is an exception to this rule with Drupal 10. Upgrades to Drupal 10 are only supported from Drupal 9.4 or later versions.

Upgrade to Drupal 9.5: Drupal 10 has been released in conjunction with Drupal 9.5. While Drupal 9.5 includes many of the same changes as Drupal 10, it still maintains backward compatibility layers that have been added through Drupal 9.5's release. Therefore, for the smoothest upgrade path users should first update to Drupal 9.5 before updating to Drupal 10.

Starting a new Drupal Project: For those starting new Drupal projects, there's now a choice between Drupal 9.5 and 10. It's recommended to choose Drupal 10 for forward compatibility with future releases.

Both 10.0 and 9.5 include all the latest changes, and they have the same APIs and features aside from a few edge cases. This also means that modules and themes can be compatible with Drupal 9 and 10 at the same time. 

However, to ensure easy updates in the future, it's best to plan to adopt Drupal 10 since it will have future releases.  
To make the process of upgrading as seamless as possible, there are several automated tools available that can help you prepare for the transition. These tools can help you check the compatibility of modules, themes, and sites with the new version, and make any necessary adjustments before upgrading.

Release Plan: Which release do I choose?

Following is the best release plan that is recommended, according to Drupal.org (Fig. 2):

Drupal Release Plan 
 

  • The latest version of Drupal 10, 10.0.x will have security support until December 2023.
  • If you are currently using Drupal 9.5.x, it is recommended to update to Drupal 9.5.2 as soon as possible and later plan to upgrade to Drupal 10 by November 2023.
  • For those using Drupal 9.4.x or earlier versions, it is recommended to update to Drupal 9.4.10 and to upgrade to a version higher than 9.5 in the near future.

We need to remember that versions of Drupal 9 prior to 9.4.x have reached their end-of-life and will not receive any security coverage. Staying with Drupal 8 or earlier is not recommended now as they have reached end-of-life.

Get Ready to Upgrade

There are two ways to update the Drupal core:

MethodAudience
Manual
  • Unfamiliar with a command-line interface 
  • Disinclined to learn Drush or Composer, and 
  • Unable to access the shell
Composer 
(Recommended)
  • Comfortable using command-line interface 
  • Possesses access to the command line shell, and 
  • Eager to utilize the capabilities of Composer command line tools

 

In conclusion, upgrading to the latest version of Drupal 10 helps you stay updated with recent features and security updates. If you are looking to discuss your Drupal upgrade plan, book an audit with our Drupal Site Audit tool, or give us a call.

Celebrating Anoop Singh's Success Story: The ‘Magician’ of Drupal Development at Valuebound

I recently had the opportunity to speak with Anoop Singh, a Software Development Engineer and the "Magician of Drupal Development" at Valuebound. Anoop joined Valuebound in 2020 and has achieved notable success in delivering error-free projects and earning client satisfaction. Anoop has been felicitated with several awards recognizing his outstanding team performance. Here's an excerpt from my conversation with Anoop. 

Can you share your experiences as a software engineer? What were some of the most significant challenges you faced in professional growth and development?

Anoop: I have had a fulfilling experience as a software engineer. I received a lot of praise from my team and clients, which made me and my family proud of my accomplishments. I am content with my role and would like to express gratitude to Valuebound for the opportunity.

In what ways do you feel Valuebound has supported your growth as a software engineer? What are the key takeaways from your time here? Can you also discuss some notable contributions or projects that have contributed to your technical and professional development?

Anoop: I began my tenure at Valuebound in February 2020. The company has been instrumental in my growth as a professional. I have acquired plethora of skills, including managing multiple projects, leading teams, implementing team members' growth plans, and utilizing advanced version control systems. The daily standup (DSM) of the project and monthly business updates were new concepts for me, but I was able to quickly adapt with the help of my excellent and supportive team members.

Anoop Singh Valuebound

I wanted to ask you about your personal goals, driving force, and aspirations. If you could pursue any profession other than being an engineer, what would it be?

Anoop: Earlier, I was uncertain about what I would choose, but I firmly believed in the power of hard work. When I was in 10th grade, I attended computer classes. After that experience, I decided to delve deeper into the field. This led me to complete my degree in Computer Science and pursue a career in the technology industry.

How do you stay updated on new technologies and industry advancements? How do your team and manager assist in your professional development? 

Anoop: Indeed, I am constantly striving to improve and stay current. Recently, I obtained a certification in Introduction to Drupal site-building from Forcontu, which is a Spanish training center. I was the only student from India in the class, and I ranked fifth during the course. This achievement was possible due to my willingness to seek guidance and collaborate with others.

Can you share some examples of projects where you were able to showcase your renowned problem-solving abilities within the Valuebound team? 

Anoop: I have actively worked on multiple projects at Valuebound and also provided support on other projects. I am capable of handling multiple projects at the same time and enjoy taking on challenges. 

One of the most challenging projects I have worked on was for one of our clients, but it was also a great learning experience. I was brought on to the project in July 2021 and was able to complete my work in October 2021, two months ahead of schedule, receiving positive feedback from my team.

You have been recognized as “Magician of Drupal”. At Valuebound, you received many awards and recognitions for your contributions. Can you share more about that?

Anoop: Frankly speaking, I am sometimes surprised by my own abilities, especially when I'm able to accomplish tasks quickly. I am truly appreciative of Valuebound for recognizing my contribution through multiple accolades, including being honored as part of the "Best Team" for my outstanding team performance. I have also been felicitated with other titles such as ‘The Spontaneous Recognition Award’, and received gift vouchers for Drupal contribution. 

Anoop Singh's Award

My work has always been error-free and clients were always satisfied. They even gave me a recommendation on LinkedIn and called me a "magician."

Anoop Singh LinkedIn Recommendation

As a seasoned software developer, what guidance would you offer to those just starting out in the field?

Anoop: As a software engineer, much of your time is likely spent in front of a computer. However, it's crucial to consider what you're doing during that time. Are you utilizing it to enhance your career and growth? Are you using it to develop new skills or contribute to the community?

By actively engaging in these activities, you can effectively communicate your progress and achievements on digital platforms. This will allow you to share your journey and showcase your growth within the tech industry, which is constantly evolving. Therefore, it's necessary to stay up-to-date with these changes and continue to learn and practice new skills.

Drupal 10: Top 10 Features and Improvements

Drupal, the open-source content management system is known for its versatility and ability to serve the needs of organizations of all sizes. Drupal.org recently launched the new version Drupal 10 on December 15, 2022. Drupal 10 offers more powerful tools for creating structured and dynamic web content with a modernized backend look and a future-proof platform upgrade. The new features include the Claro administration theme, the Olivero front-end theme, CKEditor 5, and more.

Dries Buytaert, Founder of Drupal mentions, "Drupal 10 includes many new features that appeal to developers and content creators alike. A stronger developer and site builder experience combined with easier content authoring and editing make this a key update for all users."

In this blog, we highlight the top features and improvements of Drupal 10 (Fig. 1). So let’s get started.

Drupal 10 Features

New initiative for Drupal beginners

Drupal has been found to have a lower approval rating among new users compared to expert users. This led to an initiative being launched by Drupal's founder, Dries Buytaert, to address the needs of beginner users. This initiative bundles together three modules - Media, Layout Builder, and Claro - that together create a more user-friendly experience for new users. These modules have been present in Drupal 9, but they are now considered stable enough to be enabled by default in Drupal 10.

CKEditor 5 for new text editing experience

Drupal 10 introduces a new text editing experience with the upgrade to CKEditor 5. This version boasts a modern and refined look, with a simplified interface that prioritizes user experience.

CKEditor 5 does away with right-click menus, making it more touch-friendly than its predecessor. However, it should be noted that the number of options for editing links and images may be more limited in comparison to version 4. This specialization is geared towards content editors, rather than site builders, and is seen as a positive step forward in this area.

 

New look for Drupal with the Olivero theme

The Olivero theme serves as the face of Drupal, providing a modern and polished appearance to new users. As a core component of Drupal, it sets a high standard for other contributing themes.

One of its standout features is its accessibility, which includes a well-designed dropdown menu system that prevents menu items from extending beyond the edge of the browser.

Project Browser allows finding modules from within the website

The Project Browser initiative offers an easy way for Drupal users to discover and install contributed modules and themes directly from their website. This feature is similar to what has been available in WordPress for some time, but Drupal aims to improve upon it by automatically checking for dependencies and incompatibilities.

This is a valuable addition for small-business users and can help mitigate the issues of conflicting and crashing plugins that are often encountered in WordPress development.

New admin theme Claro

Drupal 10 also introduces a new admin theme, Claro, which offers an improved user experience and a more modern appearance. While the Olivero theme is primarily used as a placeholder in most projects, the Claro theme is where users will spend most of their time.

The previous admin theme, "Seven," had become outdated by 2022 and the new Claro theme is a significant upgrade. Additionally, the team behind Claro also maintains a sub-theme called "Gin," which includes even more modern features that are not yet ready for Drupal core.

Automatic Updates

Automatic updates have been a contentious issue within the Drupal community, with some users opposed to the idea. Users do not want to spend a significant amount of time and money on updates for Drupal core and additional modules.

Development of the automatic updates feature is ongoing in a separate contrib module that is available for testing. However, it is currently limited in its capabilities as it only updates the Drupal core without causing any disruptions to the site. Updating other modules and themes is still considered experimental.

Despite the challenges, automatic updates could be a significant security advantage for small-business Drupal websites, as many sites do not install updates regularly.

New workflow for theming Drupal 10

Drupal 10 brings significant improvements for front-end developers, particularly those new to the platform. Customizing the CMS to match a design and branding is often the first step for developers, and in the past, this process has been known to be a painful experience.

However, with Drupal 10, the process has been made much easier. Instead of sub-theming the Classy theme, developers can now copy the starter kit theme and customize it. This eliminates the need to rely on an outdated base theme that is frozen in Drupal core.

Additionally, this change is also beneficial for themers as it allows them to keep all the files in one convenient place within their custom theme folder, rather than having to search for the files in the Classy theme and copying them over.

PHP 8.2 and Symfony 6 guarantee better backend performance

Symfony 6 primarily serves as a cleaning effort. It removes a lot of old, deprecated code, and therefore, developers will need to update any modules and themes that utilize outdated Symfony APIs. Once these updates are made, the website will be able to benefit from the latest PHP and Symfony improvements and offer a more responsive experience to users.

Better front-end performance with jQuery phased out

Drupal 10 phased out the use of jQuery, leading to more efficient use of native functions. The core team is taking a phased approach to the removal of jQuery from Drupal 10. They are focusing on removing plugins that are easy to remove before tackling more complex areas. Progress includes the remremoving the "jQuery once" plugin and significantly reducing UI plugin usage in the core.

Challenges that lie ahead include replacing jQuery's event handling and AJAX features with plain Javascript. Anonymous visitors will not load jQuery in Drupal 10, but it may take a few more years for its complete removal for editors and site builders.

Easy upgrade from Drupal 9 to Drupal 10 with Drupal Rector

Drupal community decided to make updates more manageable after the transition from Drupal 7 to 8. The architecture of Drupal 8+ has advanced enough to make this a reality. Additionally, the tool Drupal Rector has also played a role in simplifying updates. Though it was already available when Drupal 9 was released, it has since matured and is now even more effective.

Drupal Rector can now automatically generate most of the necessary changes for migrating custom modules to Drupal 10, saving developer time and making the upgrade process smoother than ever before.

Upgrade to Drupal 10 with all new features

Drupal has released both versions 10.0.0 and 9.5.0 simultaneously. While Drupal 9.5.0 includes many of the same changes as Drupal 10, it also includes backwards compatibility layers. It is recommended to first upgrade to Drupal 9.5.0 before upgrading to Drupal 10 for a smoother transition.

For new Drupal projects, you have the choice between Drupal 9.5.0 and 10.0.0. It is generally advisable to choose Drupal 10 for forward compatibility with future releases.

Regardless of the initial version chosen, all new features will be added to Drupal 10 minor releases. It is important to plan for adopting Drupal 10 in order to easily update to future releases such as Drupal 10.1. Would you wish to speak to our experts regarding the Drupal 10 upgrade, drop us a hello.

How to create Unity APK for Android

A Unity APK (Android Package) is required when you want to publish a game or application built using the Unity game engine for Android devices. The Unity engine allows developers to create 2D and 3D games and other interactive content that can run on multiple platforms, including Android. Creating a Unity APK allows the game or application to be packaged and distributed through the Google Play Store or other Android app marketplaces.

Need to create Unity APK for Android

Creating a Unity APK for Android allows businesses to publish their Unity-developed games or applications on the popular Android platform, reaching a wide audience of potential users. By leveraging the power of the Unity game engine, businesses can create engaging and interactive 2D and 3D games and other content that can run smoothly on a variety of Android devices.

Furthermore, Unity APKs can be distributed through the Google Play Store and other app marketplaces, providing businesses with a direct channel to reach their target users. Unity provides a wide range of tools and features that allow businesses to optimize their games for specific devices, add support for different device resolutions, and create virtual/augmented reality experiences. This makes Unity APKs an attractive option for businesses looking to expand their reach and engage with users on the Android platform.

Unity APK for Developers

Unity enables the developers to customize the APK file by adding specific features such as support for different device resolutions or the ability to enable or disable certain features.

Unity also allows developers to optimize their games for specific devices using Unity's built-in optimization tools. Moreover, It can also help in creating virtual/augmented reality applications. Unity APK helps in creating interactive visualizations, simulations, and architectural walkthroughs.

In the next section, we will take a detailed look at the process of creating a Unity APK for Android. We will cover everything from setting up the Unity game engine and exporting the project, to signing and aligning the APK file and distributing it through the Google Play Store and other app marketplaces.

Whether you're a business looking to expand your reach on the Android platform or an individual developer looking to publish your Unity-developed game or application, this guide will provide you with all the information you need to create and distribute a Unity APK for Android.

Prerequisites to create Unity APK for Android

Creating a Unity APK for Android requires a specific set of tools and software to be installed and configured on your computer. It includes installing the Unity game engine, Android Studio, and the Java Development Kit (JDK). By understanding and following these prerequisites, you'll be able to create and publish your Unity-based games and applications on the Android platform with ease.

Install Unity on the Operating System: Windows/macOS/Ubuntu

Download Unity from https://unity.com/download page for your preferred OS.

To set up Unity on your preferred OS Windows, macOS or Ubuntu based computer, these are the steps you can take:

Windows: 

  1. Go to the Unity website (https://unity.com/) and click on the "Get Started" button.
  2. Select the "Personal" option and then click on the "Download" button for the appropriate version of Unity for your system.
  3. Once the download is complete, open the installer and follow the prompts to install Unity.

macOS: 

  1. Go to the Unity website (https://unity.com/) and click on the "Get Started" button.
  2. Select the "Personal" option and then click on the "Download" button for the appropriate version of Unity for your system.
  3. Once the download is complete, open the installer and drag the Unity icon to the Applications folder.
  4. Open Unity from the Applications folder.

Ubuntu:

  1. Go to the Unity website (https://unity.com/) and click on the "Get Started" button.
  2. Select the "Personal" option and then click on the "Download" button for the appropriate version of Unity for your system.
  3. Once the download is complete, open a terminal and navigate to the location of the downloaded installer.
  4. Use the command "sudo dpkg -i unity.deb" to install Unity, replacing "unity.deb" with the actual name of the installer file.

Please note that these are high level steps, you may need to check the Unity website for specific version compatibility with your system and any additional requirements. The Unity Hub also allows you to manage and install additional versions and packages of Unity. Or, you can follow : https://docs.unity3d.com/hub/manual/InstallHub.html

Install Android Studio 

Android Studio is the official integrated development environment (IDE) for Android app development, and it's necessary for building, testing, and publishing Unity APKs for Android. In this section, we will walk you through the process of installing Android Studio and configuring it to work with Unity, so you can start creating and publishing your Unity-based games and applications on the Android platform. 

Install on Windows/ MacOS/ Ubuntu

Installation can be done using the link- https://developer.android.com/studio on different operating systems, namely- Windows,  MacOS, and Ubuntu.

Additionally, it's worth checking if Java Development Kit (JDK) has been installed on your machine. JDK is essential to run and develop Java applications such as Android Studio. You can obtain the JDK from this page: https://www.oracle.com/java/technologies/javase-downloads.html

Install Unity Editor

Once you have downloaded the Unity Hub, you'll need to install the Unity editor. For new projects, you can select any version of the editor. However, if you're working on a project that has been created by someone else, it's important to install the exact version of the editor that the project was made with. You can access older versions of the editor at the following link: https://unity.com/releases/editor/archive. 

Install Android Modules in Unity

To include the Android modules in Unity, you can follow these steps:

  1. Open Unity editor and click on the "Installs" tab on the sidebar.
  2. Click the "Settings" button on the Unity editor.
  3. From the "Settings" window, click on "Add Modules" button.
  4. Select "Android Build Support" and click on "Install" button to proceed.

This will install the necessary Android modules in Unity, enabling you to create and distribute Android applications (Fig. 1).

install-ui

Step-Wise Guide to Create Unity APK for Android

Creating a Unity APK for Android can seem daunting at first, but by following this step-wise guide you can go through the process, from setting up the necessary software and tools to exporting and signing your APK to finally publishing it on the Google Play Store or other Android app marketplaces.

It will also help you in troubleshooting any issues that may arise during the process. By following a step-by-step guide, you'll be able to create and publish your Unity-based games and applications on the Android platform with confidence and ease.

Step 1: Export Unity Code

To begin creating an APK for Android, we will first export the Unity code. First, install the Unity editor and locate your Unity project file. Then, within the Unity editor, navigate to the "File" menu and select "Build Settings" or alternatively, you can use the shortcut key combination "Ctrl+Shift+B" on a Windows device as shown in Fig. 2 below. 

exporting-unity-code

If your current platform is not set to Android, please select Android and switch to it. Before exporting, make sure to click the "Export" button. Additionally, don't forget to check the "Export Project" checkbox (Fig. 3).

unity-android-build-settings

Step 2: Import the exported file into Android Studio and build an APK for Android

To create an APK in Android Studio, follow these steps:

  1. Open Android Studio.
  2. Go to the "Build" menu and select "Generate Signed APK."
  3. Follow the prompts to sign and export your APK. It will be saved in the project's "build/outputs/apk" folder.

Note: A signed APK is required to publish your app on the Google Play store, as it guarantees the authenticity and integrity of your app by using a digital signature.

You can follow the below mentioned steps to generate a signed APK in Android Studio. (Fig. 4).

generating-signed-apk-with-android-studio

To create a signed APK in Android Studio, follow these steps:

  1. Open Android Studio.
  2. Go to the "Build" menu and choose "Generate Signed Bundle / APK."
  3. Select "APK" as the output type and click the "Next" button.
  4. Choose the signing configuration and keystore that you want to use. If you don't have any, you can create a new one by clicking the "Create New" button.
  5. Click the "Next" button.
  6. Provide the password for the keystore and choose the private key for signing.
  7. Click the "Finish" button.

The APK will be saved in the project's "build/outputs/apk" folder.

Once you have completed the steps above, Android Studio will create a signed APK and save it to the designated location. This APK can be used to publish your app on the Google Play Store or distribute it to testers or end users. Once the APK is generated, you can test it by installing it on a physical Android device or an Android Virtual Device (AVD).

Conclusion

In conclusion, creating an APK for an Android device from Unity is a straightforward process that can be completed using Android Studio. By following the steps outlined above, developers can easily generate a signed APK that can be used to publish their app on the Google Play Store or distribute it to testers and users.

From a business perspective, having a mobile app on the Android platform can greatly expand your reach and provide an additional avenue for revenue. With the ability to easily create an APK, businesses can quickly and efficiently develop and release their app to the Android market.

To take advantage of this opportunity, you may take initiative and create an APK for your Unity app on the android platform. This will help you to reach more customers, increase revenue and create a stable source of income.
 

Why should your business upgrade to Drupal 10?

The COVID-19 pandemic has accelerated the shift towards digital, and businesses are now more reliant on their websites than ever before. As online traffic increases and the digital landscape continues to evolve, it's more important than ever for businesses to have a website that is secure, fast, scalable, and easy to use. 

According to Drupal's website, Drupal is used by more than 1.3 million websites worldwide and it is the second most popular content management system (CMS) after WordPress. In this blog post, we will explore the benefits of upgrading to Drupal 10 with examples of how businesses in different industries have successfully made the switch.

Upgrade to Drupal 10

Drupal 10 is here, but why move from the status quo?

If you are still using an older version of Drupal for your website, it's time to consider upgrading to Drupal 10! Upgrading to a new version of Drupal can improve return on investment (ROI) in several ways, such as increased user engagement, new features and functionalities can help to improve the user experience and increase engagement, which can lead to more conversions and higher revenue.

  • Improved SEO: The latest version of Drupal is more SEO friendly and can help to improve the site's visibility in search engines, which can lead to more traffic and higher revenue.
  • Reduced maintenance costs: Upgrading to the latest version of Drupal can reduce the need for ongoing maintenance and support, which can lead to lower costs and higher ROI.
  • Better scalability: Newer versions of Drupal are optimized for performance and scalability, which can help to support growth and increased traffic, leading to higher revenue.
  • Improved security: Upgrading to the latest version of Drupal can address known security vulnerabilities and reduce the risk of hacking and data breaches, which can help to protect the site's reputation and revenue.

By addressing these factors, upgrading to a new Drupal version can help improve the site's performance and revenue-generating potential, ultimately leading to a better return on investment.

Upgrade to Drupal 10 for Multiple Benefits

There are many benefits of upgrading to Drupal 10, the latest version of the popular open-source content management system. With improved security features, better performance, and new capabilities, upgrading to Drupal 10 can help your business stay competitive in today's digital world. Drupal 10 is built to handle high traffic, and with its improved performance and scalability, it's the perfect platform for businesses looking to take their online presence to the next level.

Drupal 10 is the latest version of Drupal, actively supported and maintained by the Drupal community, so there will be no future security issues or compatibility problems. Here are some of the reasons why your business should upgrade to Drupal 10.

Improved Security

Drupal 10 includes several security enhancements such as the removal of deprecated code and the introduction of new security features, which reduce the attack surface and make the platform more secure. Drupal 10 has implemented security hardening measures like Same-Site Cookies, CSP 3, and Content Security Policy (CSP) Level 3.

According to the Drupal Security Team, there have been no critical security vulnerabilities reported on Drupal 10 since its release. That makes it more secure than previous versions. This can help businesses protect sensitive customer data and reduce the risk of cyber-attacks.

Better Performance

Drupal 10 has been optimized for speed and scalability. In benchmarks, Drupal 10 has been shown to be up to 2x faster than Drupal 9, which can help businesses handle increased traffic and improve the user experience for their customers. Performance improvements like lazy loading of images, improved caching, and better management of assets can lead to faster page load times, which in turn increases conversions.

New Features

Drupal 10 includes new features such as improved multilingual support, which allows businesses to create and manage content in multiple languages. According to the Drupal community, Drupal 10 has improved support for over 100 languages. Drupal 10 has a new Media Library which makes it easy to manage and reuse multimedia assets. This can help businesses expand their reach to a global audience.

Accessibility

Drupal 10 is built with accessibility in mind, which means that it can be used by people with disabilities and older users. Drupal 10 has accessibility improvements like color contrast, ARIA landmarks, and semantic HTML. The newest version of Drupal is built with WCAG 2.1 AA compliance, which is the highest level of accessibility compliance. This can help businesses to reach a wider audience and be more inclusive.

Future-Proofing

Drupal 10 is the latest version of Drupal and it is actively supported and maintained by the Drupal community. According to Drupal, Drupal 10 is supported for three years, with long-term support (LTS) releases every two years. Upgrading to Drupal 10 can ensure that businesses are using the most current and secure version of Drupal, which can help them avoid security issues and compatibility problems in the future.

Improved SEO

Drupal 10 has improved SEO capabilities, including better URL handling, improved meta tags handling, and structured data. According to Drupal, the new SEO-friendly URLs can help businesses increase visibility and reach more people organically.

Better Collaboration

Drupal 10's new Workflow module allows multiple people to work on the same content at the same time, improving collaboration and speeding up the content creation process. Drupal states that this improves team collaboration and makes it easy for content creators to work together.

Mobile-Friendly

Drupal 10 is built with a mobile-first approach, which means that it is optimized for smaller screens and touch-based interactions. Drupal 10 has a responsive design, which can help businesses to reach more customers on mobile devices by creating mobile-friendly websites.

Better compatibility with third-party modules

Upgrading to the latest version of Drupal can ensure that the site is compatible with the latest versions of third-party modules and plugins, which can help to improve the site's functionality and performance.

Conclusion

Upgrading to Drupal 10 can provide several competitive benefits with improved site performance and revenue-generating potential, leading to a better return on investment.

Built with better security, accessibility, improved collaboration, and better compatibility with third-party modules, Drupal 10 is currently actively supported by the Drupal community. This means businesses would quickly implement solutions off the block and remain future-proofed. 

Contact us to schedule your Drupal upgrade today and see the difference it can make in your site's performance and ROI!

Upgrade to Drupal 10 with Drupal Site Audit

Drupal 10 is here with its all-new features and several benefits and what’s more exciting is that upgrading is easier than ever. There were 771,407 websites using the Drupal core project as of December 25, 2022 (using the Update Status module). The graph below shows the weekly project usage of D10 (Fig. 1).

Drupal Site Audit Report

Releasing D10 in December 2022 came with its own sets of advanced features and benefits, most prominently-

  • Allowing site owners more time and control over their content by stabilizing CKEditor
  • D10 came with Symfony 6.2 which includes bug fixes and improvements over the current 6.0 release
  • The security teams have comparatively lesser work to do with this release

From the looks of it, D10 is the best version of Drupal with its Claro theme, front-end Olivero theme, New starter kit theme, decoupled menus, and much more.

If you’re looking for Drupal Site Audit this handy guide can help you remain at the top of your game by improving security, and performance and preparing it for upgrades and enhancements. Regular monitoring and site audits can help you stay updated with Drupal best practices.

Why should you consider a Drupal site audit?

While Drupal site upgrade is essential to stay in tune with the latest features and modules, a holistic site audit also helps with maintaining site security and personalization on the site among other challenges.

Drupal 10 release has opened an exciting box of new features that can help a site gain a competitive advantage.

If you have an older site version (Drupal 7 or 8) and are ready to migrate to Drupal 9 or the latest versions, it is a must to go for a site audit to ensure a smooth and successful migration, and also to understand the current status of your site. It is important to understand the obstacles to CMS migration and ways to overcome them before you decide to migrate to Drupal 9 or Drupal 10.

Site Audit for D10 Upgrade: Know your eligibility

Whether or not you are eligible for Drupal 10, a site audit report can suggest the same (Fig. 2). If you’re using the older versions like Drupal 7, 8, or 9, the road to upgrade to D10 means that the following requirements must be met:

  • Your site must update to at least Drupal 9.4.4
  • Sites using CKEditor 4 should upgrade to CKEditor 5 in Drupal 9.4 or 9.5
  • Sites should update their .htaccess files
  • Sites should update any copies of .htaccess or web.config
  • New developer feature to show debug markup for render caching has been added. Sites should ensure that their site-specific services.yml includes the new section
  • Site owners can update their settings.local.php to maintain consistency and forward-compatibility
  • Drupal 10 requires PHP 8.1 or higher
  • Drupal 10 recommends Composer version 2.3.6 or higher
Upgrade to Drupal 10


Drupal Site Audit Checklist

The on-site Drupal 10 audit components can include the following checklist, such as mobile usability, speed, accessibility, and hosting infrastructure, among others (Fig. 3).

Drupal Audit Checklist

Apart from these, there are domain checks which become as critical as on-page site audit. These include:

  • Site Map
  • SSL Certificate
  • WWW resolution
  • Robots.txt Indexing

Drupal Site Audit Report

Conducting a Drupal site audit can help you upgrade to Drupal 10, or maintain the site for performance, SEO, and security. We hope the checklist assisted you to understand what needs to be done to upgrade to D10 and maintain the basic hygiene of your website.

Would you wish to need assistance from experts in performing a thorough Drupal site audit to check eligibility for Drupal 10, send us a message and we’ll connect with you shortly.

How to Show GrapesJS Editor Content in PDF

GrapeJS is a multi-purpose, open-source Web Builder Framework that is used to combine multiple features and tools to create HTML templates without the need for coding. GrapeJS is seen as a replacement for WYSIWYG editors, which are often pitched as good content editors. However, the drawback with WYSIWYG editors is that they are inappropriate for creating HTML structures.

Why GrapeJS?

While GrapesJS was initially designed to be used inside Content Management Systems for creating dynamic templates, instead of being used as just an application, it is an extensible framework that can now be used for any purpose.

At a first thought, GrapeJS looks like just another page/HTML builder, but in fact, it is a Web Builder Framework that enables creating create a drag & drop-enabled builder of HTML-like structure. These HTML-like structures can then be used for lot many content-creation purposes, such as Newsletters, Native Mobile Applications, Native Desktop Applications, and PDFs.

GrapeJS enables users to create complex templates with set of elements like <tag some="attribute">... other nested elements ...</tag>. GrapeJS builder is easily customizable around this attribute and can hence, be used independently in the applications.

How to show GrapeJS Editor Content in PDF

Our requirement to show GrapeJS Editor Content in PDF emerged from the project we were working on, and where a requirement like this erupted. This blog is a tutorial on how to show GrapeJS Editor Content in PDF. It if for all the software engineers and developers looking for a unique solution to this problem statement. So let’s get started.

Prerequisites

Install npm and node by following this article:

https://docs.npmjs.com/downloading-and-installing-node-js-and-npm

Step 1: Setting up React

To get started, you must first set up React by following the below mentioned article-

npx create-react-app grapesjs-canvas-to-pdf
cd grapesjs-canvas-to-pdf
npm start

Above steps will create react project called grapesjs-canvas-to-pdf in current working directory, after which we can now get started with GrapesJS.

Step 2: Install GrapesJS

To install GrapeJS, you need to follow the below mentioned steps:

grapesjs-preset-newsletter,react-to-print and dangerously-set-html-content libraries

Install above libraries in project by executing the command mentioned below in the project folder:

npm i grapesjs grapesjs-preset-newsletter react-to-print dangerously-set-html-content

Step 3: Create folder structure & files

Create following folder structure and files inside project for basic grapesjs setup (Fig. 1).

folder-structure-basic-grapesjjs-setup

Put the following code in /src/components/Editor/index.js for basic initialization of GrapesJS.

Follow the code mentioned below in /src/components/Header/index.js to create site header for out application.

Replace the App.Js with below code and clear the App.css to add previously built components. 

Once you have completed the basic setup, the UI will look like Fig. 2

basic-grapesjs-after-setup-ui

Step 4: Create the plugin for showing the pdf

Add the folders and files for pdf plugin and pdfpreview component as shown in Fig. 3 below.

grapesjs-pdf-plugin-folder-structure

Put the following code in /src/components/Editor/Plugins/PDFPlugin/index.js to create a PDF preview plugin which will show button on top panel of GrapesJS editor as shown in below screenshot.

Put the following code in /src/components/Editor/Plugins/PDFPreview/index.js to create a component that will take editor content as a props and be used by print dialog in order to show the content.

Edit the  /src/components/Editor/index.js file and add the plugins and functions for calling pdf preview update the Editor file.

Once you have finished all the aforementioned steps, you’ll be able to see the pdf preview button in top panel as shown in Fig. 4

pdf-plugin-button-in-top-panel

Step 5: Basic web page creation using GrapesJS

If you clicking on button without any content, you will be given an alert as shown in Fig. 5 here.

empty-canvas-validation-pdf-plugin-grapesjs

Therefore, let us now put content in canvas. We’ll put header, two sections with image plus text and footer (Fig. 6).


web-page-creation-using-grapesjs

Step 6: Check webpage pdf in browser’s default print capability

All the above mentioned steps will allow us to check webpage PDF in browser’s default print capability ignoring rest of the UI of web and focusing only on content of webpage created in canvas of GrapesJS. After creating this let’s click on PDF button (Fig. 7).

grapesjs-canvas-content-preview-in-pdf

Now it’ll show web page in browser printing dialog with content in the canvas ignoring the header and GrapeJS UI. We can also change the PDF configuration for page dimension, layout, etc.

Conclusion

GrapesJS is an excellent Open Source Web Builder Framework that allows implementing powerful and simple Style Manager module, enabling independent styling of the required component inside the canvas. The tutorial on how to show GrapesJS editor content in PDF will help developers explore further styling options in the projects.

If you have a query regarding our tutorial, or would you wish us to add more, reach out to us.

 

WebRTC Testing Made Easier: How to Scale for Higher Performance

WebRTC (Web Real-Time Communication) is the technology that empowers sites and applications with the ability of audio-visual media. The technology allows one to capture and optionally stream video and audio in real-time while exchanging arbitrary data between browsers without having a need for an intermediary.

WebRTC as Real-Time Streaming Solution: How business can use it

WebRTC is widely used to deliver the user experience. From Google Meets, Google Hangouts, and Facebook Messenger, to Discord, and Amazon Chime, WebRTC has found a place in some of the known massive applications. Businesses can deploy WebRTC for various functionalities such as-

  • Remote content delivery 
  • Contact centres
  • E-commerce
  • Healthcare
  • IoT
  • Education

WebRTC delivers promising benefits like low latency delivery, easy collaboration, and secured multi-user audio-visual calls. WebRTC can be integrated into an organization’s website easily, and can also be embedded into mobile applications, company websites, or marketing banners published on the Internet as ads. The solution makes collaboration simpler, and also facilitates external parties to arrange web conferencing over the Internet without having a need for a separate application or plugin.

While WebRTC has emerged as an innovative, real-time streaming, and disruptive communication solution, this high-quality technology also needs prior testing to ensure unified communication or seamless P2P connections. But what exactly is WebRTC testing solution?

WebRTC Testing Made Easy

WebRTC testing is rather unique as challenges are multi-fold. Not only is the web-based application tested, but the system should also be able to test the voice and audio across the browsers. This makes it a very expensive problem to solve as high bandwidth and resources are needed to run a WebRTC application.

However, to test the same we need systems to run multiple video and audio-receiving applications concurrently which are then monitored accordingly. This further augments the resource capacity of the systems required to test. There is no way to launch a project without getting the capabilities of the system tested out before it goes live to thousands of users.

What is the objective of the WebRTC Testing Solution?

The Rise of start-ups across industries and enterprises led to many WebRTC applications in the market, but most of them need attention to get performance results for scaling to make a better product for the end users. Creating a product to handle a large audience using WebRTC is difficult and time-consuming, and testing it is an even more difficult process.

Hence, defining objectives for WebRTC testing is a must. Before hopping onto the final product, an organization, therefore must address the following objectives for WebRTC testing-

  • How to ensure real-time streaming that is the fastest, easiest, and most scalable?
  • How do you know how many peers/streams your WebRTC Application has?
  • A way to automate the regression/sanity testing for Webrtc applications
  • To get an overview of How your WebRTC application will behave in different scenarios like network, VM, etc.
  • Get a proper understanding of Server size and connected users to scale the server based on requirements.

Testing of an application based on WebRTC contains various levels such as-

  • Sanity: just to validate basic functionality on diff environments to be sure about its working condition
  • Regression testing: at the time of the release all the previously developed and new features need to be tested before the targeted release. Regression is something that can be pushed manually as well as automated.
  • Performance: Getting to know how the application will perform with a large number of users will be an outstanding achievement of the product and it needs to be done for all the applications handling a huge audience.

Sanity testing and latency of WebRTC applications can be done manually but regression and performance become a challenge for this type of application as it needs to be tested against each release and contains repetitive work.

Valuebound’s WebRTC Testing Solution

Conducting WebRTC testing for a product can be challenging but the devil rests in the details. Valuebound, when faced with a difficult challenge, went about with the following test plan to test an application with WebRTC technology built in-house. We needed answers to specific questions that arose from the application complications.

What are we testing:

  • some basic details like video/audio streaming
  • sent/received audio/video chunks
  • WebRTC dumps from the browser
  • Average loss packets/jitter/latency

Basic statistics against the performance of the application

  • Valuebound’s WebRTC testing solution can be scaled for any number of users to test the performance of the application
  • Automated interoperability test scripts run on any platform.
  • It supports all web browsers- Chrome, Firefox, Safari, Edge, and Opera on all OS (Linux, Windows, Mac, iOS, and Android), mobile native apps on Android, iOS, and also the desktop native apps on Windows and macOS.

Valuebound’s WebRTC testing solution can help you automate your regression test and can be used for performance testing with some modification, which becomes a huge success parameter even before your product launch.

Get started with WebRTC Load Testing

We are continuously orchestrating WebRTC testing solutions to help our clients create, run, and analyze their WebRTC applications for a unique user experience in the simplest, fastest, and most affordable way.

When doing content delivery for interactive events, live auctions, remote movie, and TV post-production, broadcast production, sports, bidding, betting, the metaverse, AR/VR, gaming, and more, load testing for real-time streaming applications becomes essential.

Get started with WebRTC testing solutions with us. Learn more about real-time streaming that is the fastest, easiest, and most scalable for multiple concurrent viewers. 

Download the Drupal Guide
Enter your email address to receive the guide.
get in touch