Jump to content

Adding language broke database and PW admin


mikeuk
 Share

Recommended Posts

I'm on PW 2.7 and PHP 7, Linux localhost

Just tried to add a new language through PW admin. After clicking Save, received following error:

Error: Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'pages.name1022' in 'where clause' (in /var/www/html/wire/core/PageFinder.php line 298)

Now any attempt to access admin panel leads to this error. It's pretty poor that this error has corrupted the database to such a degree that the entire admin is broken.

I was going to use PW to make a small business site for a client. But I can't give them a system like this that'll break completely at any sign of error. To a client this would look awful.

Disappointed as i was having fun with PW. Have I just wasted a day setting up my first a PW site?

Honestly this is such a poor show, not sure if I should follow my instincts and move on, or try and fix.

 

Link to comment
Share on other sites

Sorry you had a bad experience with languages.

A couple of things here:

1) What version of 2.7 are you running - make sure it is 2.7.3

2) 2.7 is pretty old now - you should be running 2.8 or 3.x - both have many fixes since 2.7

3 ) This should be an easy fix - just add a new field to the "pages" database table called "name1022" with these settings: varchar(128)    ascii_general_ci  null = yes

Hope that helps!

  • Like 2
Link to comment
Share on other sites

Just wanted to follow up by saying that when you're running an old version of software, things like this can happen due to changes in dependencies. I know that your issue has come up in the past: https://github.com/ryancramerdesign/ProcessWire/issues/957 and was fixed at the time. I am not sure if your version is possibly from before this fix or not, but regardless there have been some relatively recent changes to the default settings in new MySQL versions that have had similar effects, so it pays to always install the current stable version.

Link to comment
Share on other sites

I don't have much experience with the PW multi-language features but when I have had a play with them (in PW 3.x) I've noticed that for the full-blown multilanguage setup quite a number of modules need to be installed, several of which only become visible after a previous module has been installed.

1. Modules > Install > LanguageSupport

2. Modules > Install > LanguageSupportFields

3. Modules > Install > LanguageTabs

4. Modules > Install > LanguageSupportPageNames

I don't think an SQL error should occur in any case but might be safest to check that all of these are installed before creating a new language.

Link to comment
Share on other sites

Thanks adrian. I'll give that a go. I'm also going to restart with a parallel PW system version 3. (and thanks for the follow up post. Yes, agree with you there. I started project ages ago and it was put on hold). 

Edit: Thanks Robin. I'll check the modules on next test.

 

Overall re. PW, even though an earlier version, this is going to have to be test only. For a real-world client site it's too risky and unfair to give to a paying client that I could not even complete it without breaking it.  Perhaps after some time I'll get some confidence back in PW. An error breaking admin panel access completely, by an action through the panel is not good. It's something a client could do. Not the first CMS db error I've encountered but PW is the first where it's made admin panel inaccessible. That's business damaging stuff if a client saw it.

I believe the best I can do for PW right now is say this was a really poor CMS moment. A lot of users will give up at that point and leave without saying a word.

If this wasn't fixed post 2.7,  the best thing I can do for PW is try to help and encourage this to be fixed. It needs fixing. When the panel detects such an error it absolutely needs to still be accessible, with an error displayed within. This is 2017 not 1998. Users and clients expect more. So to start with, is there an obvious starting point where I can modify my panel to override non-display of the panel when it detects an SQL error?

Link to comment
Share on other sites

 

40 minutes ago, mikeuk said:

An error breaking admin panel access completely, by an action through the panel is not good. It's something a client could do.

I completely understand your concerns regarding giving a client a product that you don't have faith in, but there should be no way a client can make this happen - they should not be given superuser access and therefore should not be able to install modules.

45 minutes ago, mikeuk said:

. When the panel detects such an error it absolutely needs to still be accessible, with an error displayed within.

I made exactly the same argument as you some time ago :)  I just forced the same error in PW 3 (by deleting a language field in the pages table) and it now looks like this, with everything still accessible.

58ae34ccd2b1b_ScreenShot2017-02-22at5_01_58PM.png.b02cf16e300818d7f9d51fc372f9f69f.png


I would definitely urge you to try PW 3 - there has been well over a year of development that's gone into this new major version. I think it is only fair that you judge PW based on this version - I hope you agree!

 

  • Like 6
Link to comment
Share on other sites

7 hours ago, adrian said:

I made exactly the same argument as you some time ago :)  I just forced the same error in PW 3 (by deleting a language field in the pages table) and it now looks like this, with everything still accessible.

Good to know others saw what I did, and thanks for doing that test. It is more reassuring.

For me the original issue is something that does not shine a confident light on PW's development (even when now fixed), either that such a common action (adding a language) would cause an SQL error in a stable version or the admin breaking because of it. It brings up the question 'what next?'.

7 hours ago, adrian said:

I would definitely urge you to try PW 3 - there has been well over a year of development that's gone into this new major version. I think it is only fair that you judge PW based on this version - I hope you agree!

Yes that's true. It was my mistake not to update before continuing development. I'll give PW 3 a go.

Link to comment
Share on other sites

11 hours ago, mikeuk said:

Good to know others saw what I did, and thanks for doing that test. It is more reassuring.

For me the original issue is something that does not shine a confident light on PW's development (even when now fixed), either that such a common action (adding a language) would cause an SQL error in a stable version or the admin breaking because of it. It brings up the question 'what next?'.

...

I don't want to sound too defensive here but PW gets a pretty decent amount of usage, from 'simple' sites to things quite more complex. If it were to break down often after performing common actions i don't think it would still have such a sizable following. In fact, i would say that PW is pretty damn stable. I understand that the admin becoming inaccessible is a frustrating and undesired experience but is has been addressed in more recent versions. I think you're a little quick in doubting the quality of PW's development.

  • Like 1
Link to comment
Share on other sites

6 hours ago, mikeuk said:

For me the original issue is something that does not shine a confident light on PW's development (even when now fixed), either that such a common action (adding a language) would cause an SQL error in a stable version or the admin breaking because of it. It brings up the question 'what next?'.

As I mentioned - I think this may have been due to a change in the default settings of MySQL in more recent versions. Surely you can understand that 2.7 was working at the time when most of us were on older versions of MySQL? Out of curiosity, I googled Drupal and Wordpress along with the "column not found" error and found many results. Not trying to make excuses - just saying that this is sometimes the reality of software development - things break due to changes in dependencies - there are a lot of combinations/permutations to keep up with!

 

  • Like 3
Link to comment
Share on other sites

17 hours ago, adrian said:

Surely you can understand that 2.7 was working at the time when most of us were on older versions of MySQL? Out of curiosity, I googled Drupal and Wordpress along with the "column not found" error and found many results. Not trying to make excuses - just saying that this is sometimes the reality of software development - things break due to changes in dependencies - there are a lot of combinations/permutations to keep up with!

I do completely see where you're coming from. I've never professionally worked with Wordpress (I could not bring myself to support it) but have spent many hours with Drupal and Joomla. Many errors encountered of course, some bugs some of my making. But I don't recall an admin-breaking error in that time. However, you're right about the 2.7 and MySQL version (I am on latest). I don't know why I didn't update PW before continuing the project, so i did play my part in causing it.

 

17 hours ago, SiNNuT said:

think you're a little quick in doubting the quality of PW's development.

True. But two thing about open source systems that I have experienced are 1)  that most users don't post in the forums, and 2) most issues for new users don't get enough attention.

Probably every day each known CMS will have many users downloading and testing it. Small errors they might try and fix, but breaking errors will send them running. And most never stop at the forum to say 'hey, what happened?'. Those users are probably lost forever, and won't be supporters.

I'm not saying everything should be done to cater for new users. But the competition is fierce. I believe right now gaining popularity as a CMS means recognising what designers / developers need to give to their clients, and that a system like PW needs to a client who will ask 'why not Wordpress?'. The answer has to be because 'for you' it's better. A broken admin destroys that argument in seconds. So I believe jumping on this was the right thing to do.

  • Like 1
Link to comment
Share on other sites

@mikeuk, 

Sorry that you had problems with ProcessWire.  We are glad that you have taken the time to try out ProcessWire.  Hopefully you will hang in there and will stick with this vibrant community.  Numerous members are extremely helpful and go out of their way to help people with their particular problems.

I believe anyone can learn from this community and we also would benefit from your future contributions.  It can be extremely difficult when things don't quite work out as you had planned.  Fortunately, we all learn from these disasters.  The important thing is that our community will always be there to help troubleshoot or explain how things work.

I believe with time, you will look back and be very pleased that you hung in there with us. 

 

  • Like 5
Link to comment
Share on other sites

On 25/02/2017 at 5:40 AM, cstevensjr said:

Numerous members are extremely helpful and go out of their way to help people with their particular problems.

This is true, and honestly i don't think PW would have kept my attention otherwise. Being it's own thing (not based on other frameworks / systems), I believe a user needs to know support is there. It is one of the best CMS communities I have been involved in.

On 25/02/2017 at 5:40 AM, cstevensjr said:

I believe with time, you will look back and be very pleased that you hung in there with u

I've been hanging around PW for years, a number of times deciding it was not right then through trial and error ending up back again.

It is no doubt one of the best CMS currently available. The thing I would like to see is PW making more effort to stay modern, I realise we are all a part of that process. Since I first looked at PW, a few other very catchy CMSs have appeared and grown (example, Grav, October, Bolt) and like PW, a few appear unchanged (I realise internally is not the case (Kirby being another one). And I don't mean change for change sake. I mean to keep an appearance of fresh, modern, vibrant because like it or not CMSs need a continuous stream of new users.

And that also means making the new users journey as good as is possible within the realms of the CMS objective. So when I see a CMS that I really like that is not doing that, then I tend to shout about it because I have seen what happens to a big open source project that forgets this.

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, mikeuk said:

And that also means making the new users journey as good as is possible within the realms of the CMS objective. So when I see a CMS that I really like that is not doing that, then I tend to shout about it because I have seen what happens to a big open source project that forgets this.

Yes, I agree.  I also believe that It's the infusion of new talent (new users) that will help make that possible.  Being able to convey the web building/designing process into words takes a special talent.  Unfortunately, in the Tech world it's not always the most talented that have the teaching/mentoring gene.

I believe that as time goes on, there will be individuals who will step forward, volunteer their time, and make the technical aspects of ProcessWire easier for the new users.  I've been here since 2012 and have seen a remarkable increase in participation and better (more complete) documentation.

The ProcessWire community is still quite small compared to others (WP, Joomla, Drupal), however the exchange of information on this Forum is the best that I have ever seen.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...