Joomla update and possible errors. CMS MaxSite update


On April 26, 2017, the developers of the popular CMS Joomla pleased us with the new version of the content management system 3.7. Many, including myself, rushed to update Joomla engine to check for the long awaited custom fields. It is the update process that this lesson will be devoted to, as well as identifying and eliminating errors that arise during the update process.

How to update CMS Joomla

There are several ways to update Joomla - update through the control panel or write files new version directly to the server. Let's consider all the methods in order.

Automatic Joomla Updates via Control Panel

When a new version of Joomla is released in the control panel, we immediately receive a notification about this:

Click on the "Update Now" button and go to the "Joomla Update!" with two tabs « Automatic update» and In addition, we are strongly advised to check that the installed extensions are compatible with the new version of Joomla. And I, in turn, want to note that if you work with standard template Joomla and made changes to it, then I advise you to save all the changes, otherwise you will lose them after the update.

There are other ways to get to the Joomla! Updates page:

  • Go to the section "System" -> "Control Panel" and in the lower left part of the page find the inscription "Service", under which there will be links to new versions of the engine and extensions
  • Go to the "Components" -> "Joomla Update!"

It doesn't matter which method you choose, you will be taken to the next page:

To automatically update Joomla, all you have to do is click on the "Install update" button (see the screenshot above) and if there are no problems, the Joomla engine will be updated.

Alternative way to update Joomla through control panel

If for some reason automatic update is not available, in the panel Joomla management there is another option with which you can also update the CMS.

On the same page "Updating Joomla!" go to the second tab "Download and update" and see something like the following:

This method is good if, for some reason, you cannot contact the Jommla update server, and there may be many reasons for this.
All we need to do is select the previously downloaded package file from our computer and click on the "Download and install" button. After that, you can enjoy the new version of your favorite CMS.

Updating Joomla by copying new files directly to the server

The last way you can push Joomla is to write the files of the new version directly to the server. I will not say what this way preferred, but sometimes there are situations where you can only update the CMS using this method.

In order to update Joomla in this way, in order to avoid unforeseen situations, it is worth doing a number of steps:

Disable caching (if enabled)
Clear and delete obsolete cache (if present)
Create backups files and databases

After that, download the update package (they are usually in ZIP format) and unpack it to the root directory of the site.

When the archive is unpacked, go to the control panel and observe the following - the Joomla version has been updated (as evidenced by the version number in the lower right corner), but the system gives us an unknown error:

What to do in this situation? The main thing is not to panic, everything is fixable. The fact is that after writing new files, the database remained outdated and this needs to be fixed.

There is no need to manually fix the database, Joomla already provides everything. Go to the section "Extensions" -> "Extension manager" -> "Databases" and go to the page "Extension manager: Database check":

As expected, the errors are related to the database; after such an update procedure, it naturally has not been updated. In order to bring the database up to date, click on the "Fix" button.

After that, the database will thank you, and the table structure will be up to date. But here another problem appears - such innovations as additional fields for materials and users do not appear in the control panel (and if they do appear, they will be in a disabled state).

In this situation, the search for downloaded, but not installed extensions... Go to the section "Extensions" -> "Extension manager" -> "Find" and get to the page "Extension manager: Search" which contains a list of inactive extensions:

Now if you go to the updates page, you will notice that we have the latest version of Joomla installed.

But not always, I would even say very often, errors occur during the Joomla update process, the main ones we will now consider.

Errors when updating Joomla

Quite often, there are situations when the automatic Joomla update refuses to work. Various kinds of errors appear, which are not always possible to defeat the first time. Of course, you can always use last way updates - write files directly to the server, but this process not always good.

Let's see what errors can occur during the update process and how to get rid of them.

AJAX Loading Error: Not Found

One of the insidious errors that occurs during the update process is AJAX Loading Error: Not Found:

I will not go into details, how I found the cause of this error, to be blunt - it's all about the configuration of the htaccess file.

If you have edited this file and set up blocking direct access to the core, then given error will appear for sure. There are several solutions, as always:

  • temporarily rename the .htaccess file
  • Find lines of code blocking access to the kernel in it and comment them out.

The first way is the simplest - rename the ".htaccess" file, for example, into the ".htaccess_" file and repeat the update process. The automatic update should start without problems.

In the second option, open the .htaccess file for editing and look for approximately following lines(in my case, these are lines 86 to 98):

Question CMS updates always remains relevant, no matter which version is used to operate the site, sooner or later a package with fixes, improvements or new functionality will still be released.

The global update with the transition to a newer line has some nuances, so it is useful to consider the process in more detail.

Preparing for the upgrade

Previously, you had to manually update your Joomla version with using FTP... In this case, the old files were replaced with new ones; you had to download the update yourself from the official website.

Such packages were usually named Joomla x.x Update Package. With the release of the 2nd generation CMS, the developers have added a built-in kernel update mechanism to the main functionality.

To protect yourself and not lose data during the installation of a new version of the engine, it is recommended to transfer the backup copy of the site to local server... This can be done using akeeba backup.

After that, you need to check for updates for current version CMS and third-party extensions, if available, install everything you need. If you use extensions that are not supported in Joomla 3.x, then they should be removed in advance:

At the next step, you need to check the compatibility of the hosting with the updated version of Joomla. To do this, in the Site menu, select System information».

All settings that will be displayed on the page that opens must meet the minimum system requirements developer. This information is available at http://www.joomla.org/technical-requirements.html:

Check the database for errors, for this in " extension manager"Go to the" Database "tab. If everything is normal, the system will display a message of the following character: “ Database table structure up to date».

In the event that errors are found, you must click the "Fix" button, which is located on the right side of the page:

Now you can create a test site, which should be in a subdomain on the same server as the main one. Don't forget to make a copy of the database for it.

Joomla update

First, all operations are performed on the test site. To start the transition to Joomla versions 3.x, you need to go to the Components menu and select the Joomla Update! ".

On the right side of the page, the "Parameters" button will appear, after clicking which, a window with the settings will open:

Change the type of update source here. By default, “ Joomla distributions with long period support».

On the this moment the release of such a version is only expected in the 3.x line, so you need to switch the update server to " Joomla distributions with short term support».

In some cases, the " Install updates"Does not appear immediately, so you need to select the submenu" Extension manager", Where on the" Update "tab, click the" Clear cache "button:

Now in the section “Updating Joomla! »Information about the most recent available version CMS. Check the database for errors after installation.

If the process is successful, following the instructions on how to update Joomla, repeat the entire sequence of steps for the main site.

Good luck to you!

Good bad

The "CMS Update" module is required for installation. It belongs to the CMS "Management" and is part of the DIAFAN.CMS core. It has only an administrative part.

For correct work module requires PHP extension ZipArchive.

Auto update

The module allows you to receive updates for your DIAFAN.CMS from our server.

During the first installation of DIAFAN.CMS, a so-called "return point" is created, which contains backups of all installed files"out of the box". In the future, when receiving updates, DIAFAN.CMS creates return points and saves them separately updated versions files.

Updates for DIAFAN.CMS are checked only upon your request! You need to go to the "CMS update" module and click the "Check update" button. If there are changes for your version of DIAFAN.CMS, you will see a list of updates available for download, and under the list there will be a “Download” button.

After clicking on it, the updates will start downloading sequentially. If you interrupt the download before completion, the next check will update the list of updates. You can continue the interrupted download in the same way - using the "Download" button below the list. All DIAFAN.CMS files can participate in the update, including templates, style files and images. At the same time, it is impossible to skip any of the packages, the system automatically checks the integrity of each update.

Return points are created automatically each time you download an update. After downloading the update, you must click the "Apply" button (it is shown on the screen after the last downloaded update). All updates from the current return point to the last update performed will be applied.

How do updates work?

    A theme will be generated. What does it mean? All received updated files from our server are compared with the current files of the entire system in current point return. If DIAFAN.CMS finds that some of the current system files do not match those received from the update, they will be moved to the folder custom into the current topic. If there is no current topic, a new one will be created.

    The files received from the update will be written in place of the moved files. This will not be displayed on the site in any way, because the files from the current theme have a higher priority.

    If the update provides for a change in the structure of the database, then it will be made.

What to do if the update functionality is not satisfactory?

You can get everything back in one click. To do this, just go to the "CMS Update" module and click "Apply" opposite any previous return point. The rollback to the saved state also applies to the database. If any manipulations were made with it, after applying the return point, the database structure will return to its previous state.

Can return points be removed?

Yes, you can. When you delete a return point, its files are appended to the next point. Moreover, it is recommended to remove unnecessary return points because it will speed up the generation of the theme. And also, it is not recommended to get carried away with too frequent creation of return points. After all, the system inspects everything previous points, and the fewer there are, the faster the generation takes place.

You cannot delete the current point, as well as the return points of downloaded but not yet applied updates.

How can I view the details of the return points?

Each return point can be expanded by clicking on its name. After that, it will show full list files that enter the return point. In addition, a list of files that differ from the current version of the site will be shown.

Updates are available only for sites with activated DIAFAN.CMS licenses.

Connection

Connected part - file ... It describes the class Update_inc... In a module, a class object can be accessed through a variable $ this -> diafan -> _update... The class is instantiated the first time the variable is called.

Properties

Var folders = array ("adm", "css", "img", "themes", "modules", "includes", "plugins", "js")- folders and files indexable for return points.

Var exclude = array ("adm / htmleditor", "includes / custom.php")- folders and files not indexed for return points.

Methods

Void first_return ()- Adds the first cusp point.

// when installing DIAFAN.CMS
$ this -> diafan -> _update -> first_return ();

Array get_files (integer $ id)- Retrieves updated point files with content.

// get the return point files ID = 3
$ rows = $ this -> diafan -> _update -> get_files (3);
print_r ($ rows);
/ * will output:
Array
[modules / news / news.model.php] => ...
class News_model extends Model
{
...
[modules / news / news.php] => ...
class News extends Controller
{
...
...
) */

Array get_all_files (integer $ id)- Retrieves all DIAFAN.CMS files at the content point.

  • integer $ id: point id

// gets all DIAFAN.CMS files relevant for the return point ID = 3
$ rows = $ this -> diafan -> _update -> get_all_files (3);
print_r ($ rows);
// will output files in format as get_files () function

Files

    modules / update / admin / js / update.admin.count.js- number of available updates, JS script;

    modules / update / admin / js / update.admin.js- update, JS script;

    modules / update / admin / update.admin.php- points of return;

    modules / update / admin / update.admin.action.php- points of return;

    modules / update / admin / update.admin.count.php- the number of available updates for the admin panel menu;

    modules / update / update.inc.php- module connection;

    modules / update / update.install.php- installation of the module.

Considering that our web studio in its work uses only commercial platforms for creating sites (CMS) - let's note the Russian production. There is a need for a publication that would open the curtain regarding the need for periodic updates of the program.

If you look through the eyes of an ordinary employee of the Customer's company, who only performs the tasks of filling the content of the company's website (news, articles, products, services, etc.), then this employee does not need to update the website platform. This is all due to the fact that few people understand what this is for. Everyone understands that, for example, you need to update antivirus programs on your personal computer, or you need to update your browser - as this increases the speed of loading pages on sites, or that you need to update the operating system. But, speech does not reach the site while it is "alive". Moreover, the site is not located on the employee's computer, but somewhere there, on a remote server. Moreover, the site is sometimes treated like a computer, a specialist is called in when a resource has become infected with a virus or has broken down. But if the computer can be easily replaced, then it will take a lot of time on the site to carry out restoration work.

The average check for technical support and annual updates of the company's program will cost about 120,000 rubles - a lot. And now we will take a small online store with an average attendance of 1,000 people per day - that's about 365,000 potential customers per year. Suppose that clothes are sold in this on-line store with an average cost of 1,000 rubles. If done correctly, it is not difficult to get a purchase conversion rate of more than 3 percent from targeted visitors, but we will take the average here as well. We need to multiply the average percentage by the average cost and multiply by the number of days, something like this: 1,000 (cost) x 3% (number of buyers per day) x 365 (days per year) = 10.950000 (turnover). And this is only a pessimistic estimate of the turnover, because a customer who has once bought can re-purchase new clothes from another collection. It turns out that purchases are made in the amount of 30,000 rubles per day.

We already understood about income, and now let's analyze the losses in case of idle time - after all, our task is to save those same 120,000 rubles a year, so as not to order technical support and update the engine of the online store.

In the event of a failure or a virus infection, the online store ceases to function stably, for example, the easiest way to "infect" a site is to go through an FTP connection through an infected computer and the virus will simultaneously "befriend" your site.

Now we will calculate the cost of work and the associated costs (we will immediately discard the possibility of returning using a backup to the starting point before a failure or infection of the site, because by doing so we "cover" the very cause of the occurrence, plus this threatens the loss of orders made in the period from the last backup to the occurrence of a freelance situations):

On average, programmers need from 2 to 72 hours to identify the causes with the subsequent elimination of the problem (cost of work per hour from 1,000 rubles);
a simple online store can take from 1 day (in our case, this is an immediate loss of 30,000 rubles at least);
loss of loyalty (not every potential buyer will return to the site again - if he disappeared somewhere during the first entry).

But, and this is not all - having patched the cause once, but not having learned the lesson, it is not strange that a relapse occurs, when each subsequent error on the site costs twice as much as the previous one on average.

Don't you want to rely on fate and hope that all tests will pass by your site? Then

At the beginning of this year, a number of improvements for the forum were developed. Some of them were implemented by updating the engine to the latest version. In this regard, the transition was made. Typically, updating a CMS has a number of advantages:

  • In new versions, flaws, bugs, bugs and "holes" are eliminated;
  • Additional functionality appears;
  • The engine is kept up-to-date and up-to-date.

But in my case, in addition to these points, 1 very tricky bug was added, which, in my opinion, became the main reason for the sharp response from the search engines. Visit graphs from Yandex and Google (by week). The arrow indicates the approximate date of the update.

Search traffic fell by over 1000 daily visitors.

Note that the update was not radical (a version of the same line was updated). The question "What influenced the drop in visitors from search engines" appeared. After the update, users started complaining about one bug that started appearing from time to time. When clicking on one page, the forum threw the user to another. Basically, the URLs were affected. Also, the browser sometimes gave an error about the impossibility of navigating to the specified URL due to cyclic redirects.

I started to analyze accounts for a webmaster in Yandex and Google. In Google, after switching to a new version of the engine, errors related to the URL - "Transition not completed" jumped up.

These errors just started to appear immediately after the update (the schedule starts a little later - from the beginning of March). Why is the bug tricky? It's simple. Until now, no one has been able to detect and fix it. But I do not lose hope and will try to get rid of him as soon as possible.

I asked the Yandex support service about this. I received, at first glance, an encouraging answer.

But, as can be seen from the traffic graphs from Yandex, traffic continued to decline. It turns out that sometimes the search robot receives on its request either cyclic redirection (cannot complete the transition), or cloaking (in the search results one page is redirected to another). Of course, after such mistakes, it is not surprising that the attendance dropped sharply.

Would I renew myself knowing what the consequences are ahead of me? Of course not. The couple of points from the improvements that required the new version do not cover some of the inconveniences for users and search robots.

In general, what did I want to communicate by publishing this post? Firstly, I do not in any way discourage you from updating your CMS. Secondly, the engine update is not always accompanied by positive changes (there are also negative ones, for example, my case). Third, before moving to a new version of your content management system, think carefully about the importance and feasibility of such changes (perhaps you simply do not need them).

Have any of you faced issues after CMS updates? Share your experience and ways to solve them. I wish everyone that bugs and errors bypassed your projects, and traffic from search engines showed only positive growth!







2022 gtavrl.ru.