Approval of an article in Joomla prior to publishing this

Occationally when I add a new article to a customers Joomla website I want to be able to let my customer approve this article prior to publishing this.

As there are no obvious workflow for sending an article for approval to a non-registered user, I needed to find a way to solve this.

You can achieve this as follows:

1) Write your article, and set the "status" to archived

2) Look at the url in the browser and the articleID should be at the very end of the url. (Alternatively, you can find the articleID in the CONTENT-ARTICLES within Joomla Admin)

3) ReCreate your unique URL

The URL should have the following form: https://demo.jodp.net/index.php?option=com_content&view=article&id=[31]

(tailor your url accordingly. In the above example you can see that the article ID is "31", and my demosite is on the url "https://demo.jodp.net")

Slow Joomla Administrator interface

I recently came across a new problem on one of the Joomla websites I manage.

Whereas the frontend (what a visitor see) of the Joomla site was as fast as ever, the Joomla backend administrator interface was suddenly paintakingly slow.

With slow I mean that e.g. login to the site which normally takes a few seconds now took several minutes, and might even fail alltogether.

Google Search

My first stop was to do a quick Google search to see if there was an obvious solution. Without success here I therefore decided to have a quick look at the installation itself.

Login to cPanel

2018 02 22 cPanelMy second stop was to login to the webhosting cPanel of the site in question, and see if there was anything unusual.

Within the cPanel I had a quick look at the database.

The reason for doing so, was that I a few times in the past have experienced that problems with Joomla sites could be due to a database curruption of some kind.

I instantly noticed that the database size was a staggering 950Mb in size. Typically a Joomla site like the one in question would only have a database between 5Mb - 10Mb depending on the amount of content.

phpMyAdmin

I therefore decided to investigate a bit further and entered phpMyAdmin to look at the tables within the database.

When looking at the database tables, I simply ordered these based on the size of the database tables, and found straight away that it was the "xxxx_session" table that was the culprit.

This table alone counted for about 98% of the total database size.

 

This table is storing temporary session information, and should be emptied automatically at regular intervals.

Obviously, this had not been emptied automatically, so I was bold enough to simply press the "empty" button on that table to clear out the whole table.

To completely empty this table might of course have a negative effect, but the problem itself for me outweighed this.

 

As soon as this table was emptied the admin interface was back to it old self again, working flawlessly and lightning fast again.

 

So, now I just have to monitor the site and the database table in question over the next few days to see if this table build itself up again. If so, then I have some more troubleshooting to do.

Joomla Content Versioning

Joomla is continously improving, and one of the new things introduced in Joomla 3.2 was something called Content Version Control.

 

Joomla content version activationContent Version Control means that Joomla can be configured to save the last e.g. 10 versions of each article.

 

I previously used a third party extension for this while on Joomla 2.5, but as this now is a part of Joomla core functionality it is even better.

 

The only thing you need to do is to activate this function.

 

Simply do the following to activate Content Version:

1) Login to Joomla Admin

2) Go to Article Manager

3) Click on OPTIONS ( Top right corner)

4) Click on "Editing Layout"

5) Enable Versions

6) Change "Maximum Versions" if you want more than 10 to be stored.

7) Save and Close

 

You should now have activated the Content Version Control.

 

From now on you will see a new button on the top of the Article Manager when working on an article. This button is called "Versions", you can click on that so see and rollback/revert to previous versions of your Joomla article. (See image below)

Joomla content version button

403 - You can not login to the site. Please, contact webmaster

A handful of times I have come across the following error after trying to login to the Joomla backend of a website:

 

403 - You can not login to the site. Please, contact webmaster

 

The problem is happening on sites I earlier had upgraded from Joomla 1.5 to Joomla 2.5 using the Jupgrade extension.

 

To solve this problem:

1) Take a backup of your site (just to be sure)

2) To sort this you simply have to login to your database via phpMyAdmin (In your Cpanel).

3) Here you will have to look for the table called "jos_categories" (You will here have to change "jos" to whatever your prefix is.

4) In _categories you will have to look for the column called "extension"

5) Change the name any rows under "extension" called "com_contact" to "com_contact_details"

 

You should hopefully now be sorted.

Save failed with the following error: You cannot remove your own Super Admin permissions

I have serveral times lately come across some user account related problems on Joomla 3.x. Typically this is happening on sites that I have migrated from Joomla 2.5.x, so the problems might be ocurring on that version as well.

 

The symptoms are the following:

 

1) A user cannot login to the frontend of the Joomla 3.x site. After entering the login details and clicking the login button, the user is simply lead back to the login screen, without being logged in to the site. (Funny enough, a superuser can login as normal, and does not seem to be affected.)

 

2) The other problem I have identified is when I try to add Google "2-factor authentication" for a user, and try saving this, then I receive the error: Save failed with the following error: You cannot remove your own Super Admin permissions

 

Basically the way to sort this problem is the following:

 

  1. You need to change a setting in the database. Use phpmyadmin which is provided on most Web hosting packages to access the MySQL database for your site.
  2. Locate the _assets table in your database.
  3. The first entry should be id # 1 and have a name of root.1 and a title of Root Asset.
  4. Edit this entry and change the lft column from a 1 to a zero.
  5. Save the change.

 

After performing the above steps I find that both problems above are gone.

Recovering your lost Joomla admin password

If you find yourself in the position of having lost your Joomla administrator password, then don't despair. This password can be reset directly in the database by entering phpMyAdmin on your webhosting account.  In phpMyAdmin the simplest option is to change the password in the database to a known value.

These instructions show how to manually change a password to the word "secret" :

 

1) Navigate to phpMyAdmin and select the database for the Joomla! site in the left-hand drop-down list box. This will show the database tables on the left side of the screen.

 

2) Find and click on the table with "_users" appended in the list of tables (note: you may have a prefix that is not jos_, simply go to the _users table for your prefix).

 

3) Click on the "Browse" button in the top toolbar. This will show all of the users that are set up for this site.

 

4) Find the user whose password you want to change and press the Edit icon for this row.

 

5) A form will display that allows you to edit the password field.

Copy the value "d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199" into the password field and press the Go button.

 

6) phpMyAdmin should display the message "Affected rows: 1". At this point, the password should be changed to "secret".

 

7) Log in with this user and password and change the password of this user to a secure value. Check all of the users using the User Manager to make sure they are legitimate. If you have been hacked, you may want to change all of the passwords on the site.