Class 'Tidy' not found @compiling Demo in v2.6.6. #197

Closed
opened 2017-12-12 19:46:53 +00:00 by SturmWolfgang · 13 comments
SturmWolfgang commented 2017-12-12 19:46:53 +00:00 (Migrated from github.com)

Steps to reproduce the issue

install JCB v2.6.6 or update via Joomla update manager

Expected result

compiling Demo without errors

Actual result

unexpected Error: "Class 'Tidy' not found"

System information (as much as possible)

XAMPP local, Joomla 3.8.3

Additional comments

rollback to JCB Version 2.6.5 --> no problems, compiled DEMO successfully

### Steps to reproduce the issue install JCB v2.6.6 or update via Joomla update manager ### Expected result compiling Demo without errors ### Actual result unexpected Error: "Class 'Tidy' not found" ### System information (as much as possible) XAMPP local, Joomla 3.8.3 ### Additional comments rollback to JCB Version 2.6.5 --> no problems, compiled DEMO successfully
ro-ot commented 2017-12-12 20:19:51 +00:00 (Migrated from github.com)

Please read this https://stackoverflow.com/a/21436539/1429677

Since this is not a error, but a php extension that is needed, it is usually on with most shared hosts. If not please request it from your system administrator. I see you use XXAMP, so just google how to turn it on in that environment.

Please read this https://stackoverflow.com/a/21436539/1429677 Since this is not a error, but a php extension that is needed, it is usually on with most shared hosts. If not please request it from your system administrator. I see you use XXAMP, so just google how to turn it on in that environment.
SturmWolfgang commented 2017-12-12 20:48:35 +00:00 (Migrated from github.com)

thanks - problem solved:
enabled extension=php_tidy.dll in php.ini and restarted apache
now 2.6.6 compling works without problem
suggestion: php_tidy enabled check during install of JCB?

thanks - problem solved: enabled extension=php_tidy.dll in php.ini and restarted apache now 2.6.6 compling works without problem suggestion: php_tidy enabled check during install of JCB?
marcodings commented 2018-01-29 16:48:40 +00:00 (Migrated from github.com)

for usage with php7 this might be a bit "terse" ( the steps below for debian jessie ). Use sudo where aproriate!

get the key for the dotdeb archives, or upload it manually

 wget https://www.dotdeb.org/dotdeb.gpg

add the key for apt-get and clean-up

 sudo apt-key add dotdeb.gpg
 rm -f dotdeb.gpg

add dotdeb.org to the sources

 cat >> /etc/apt/sources.list <<EOD
 deb http://packages.dotdeb.org jessie all
 deb-src http://packages.dotdeb.org jessie all
 EOD

update apt-get to learn about our new sources

 apt-get update

now the search should now resolve

 apt-cache** search php7.0-tidy

install tidy

 apt-get install php7.0-tidy

now add them to the php.ini

 find / -name "tidy.so" | sed -e 's/^/extension=/' > /usr/local/etc/php/conf.d/tidy.ini
 cat /usr/local/etc/php/conf.d/tidy.ini
 # should look some thing like
 extension=/usr/lib/php/20151012/tidy.so

And finish this of with restarting webserver

for usage with php7 this might be a bit "terse" ( the steps below for debian jessie ). Use *sudo* where aproriate! # get the key for the dotdeb archives, or upload it manually wget https://www.dotdeb.org/dotdeb.gpg # add the key for apt-get and clean-up sudo apt-key add dotdeb.gpg rm -f dotdeb.gpg # add dotdeb.org to the sources cat >> /etc/apt/sources.list <<EOD deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all EOD # update apt-get to learn about our new sources apt-get update # now the search should now resolve apt-cache** search php7.0-tidy # install tidy apt-get install php7.0-tidy # now add them to the php.ini find / -name "tidy.so" | sed -e 's/^/extension=/' > /usr/local/etc/php/conf.d/tidy.ini cat /usr/local/etc/php/conf.d/tidy.ini # should look some thing like extension=/usr/lib/php/20151012/tidy.so And finish this of with restarting webserver

Wow that is painful... wonder if this is worth it... @stutteringp0et I am getting the feeling this change is not helping. I mean the xml implementation seems to make JCB slower and more complicated to use. I am collaborating with other, to make the case to go back to the initial string manipulation approach. I mean even you admitted that it was faster, and as we now see it had not complex extension issues like this.

@marcodings Just that you know, JCB can work without the tidy extension, it will just not pretty print the xml, but it will still compile. Here you can see the little tweak we added.

Wow that is painful... wonder if this is worth it... @stutteringp0et I am getting the feeling this change is not helping. I mean the xml implementation seems to make JCB slower and more complicated to use. I am collaborating with other, to make the case to go back to the initial string manipulation approach. I mean even you admitted that it was faster, and as we now see it had not complex extension issues like this. @marcodings Just that you know, JCB can work without the tidy extension, it will just not pretty print the xml, but it will still compile. Here you can see the [little tweak we](https://github.com/vdm-io/Joomla-Component-Builder/blob/staging/admin/helpers/compiler/c_Fields.php#L2393) added.
stutteringp0et commented 2018-01-29 21:53:30 +00:00 (Migrated from github.com)

Marco's comment is misleading. All of those same steps are necessary just to install PHP7 in Debian Jessie.

If he's got PHP7 installed already - the process is "apt install php-tidy && service apache2 reload"

Marco's comment is misleading. All of those same steps are necessary just to install PHP7 in Debian Jessie. If he's got PHP7 installed already - the process is "apt install php-tidy && service apache2 reload"
marcodings commented 2018-02-05 16:30:53 +00:00 (Migrated from github.com)

"misleading" in my vocabulary implies mal intent which is obviously not the case.
I possibly have been mistaken in my assumption of OS. To correct that more precisely i'm using the "official" joomla docker images.
These may or may not be "official" debian just don't know. I DO know its a recipe to get it working when you have the problem in that context ( if its working for you you probably would not end up here )

"misleading" in my vocabulary implies mal intent which is obviously not the case. I possibly have been mistaken in my assumption of OS. To correct that more precisely i'm using the "official" joomla docker images. These may or may not be "official" debian just don't know. I DO know its a recipe to get it working when you have the problem in that context ( if its working for you you probably would not end up here )
marcodings commented 2018-02-05 16:32:14 +00:00 (Migrated from github.com)

@marcodings Just that you know, JCB can work without the tidy extension, it will just not pretty print the xml, but it will still compile. Here you can see the little tweak we added.

np i got it working after all

> @marcodings Just that you know, JCB can work without the tidy extension, it will just not pretty print the xml, but it will still compile. Here you can see the little tweak we added. np i got it working after all
marcodings commented 2018-02-05 16:33:56 +00:00 (Migrated from github.com)

If he's got PHP7 installed already - the process is "apt install php-tidy && service apache2 reload"

I can assure you i tried that first to no avail ..

> If he's got PHP7 installed already - the process is "apt install php-tidy && service apache2 reload" I can assure you i tried that first to no avail ..
kevincam3 commented 2018-02-08 10:22:21 +00:00 (Migrated from github.com)

Yes, I too can't see to install this php-tidy thing. I get "Unable to locate package php-tidy" what repository is this package located?

Yes, I too can't see to install this php-tidy thing. I get "Unable to locate package php-tidy" what repository is this package located?
mwweb commented 2018-02-08 10:29:46 +00:00 (Migrated from github.com)

Honestly, i have up a while ago trying to get it to work on my localhost. I'm too busy to keep fiddling with it

Honestly, i have up a while ago trying to get it to work on my localhost. I'm too busy to keep fiddling with it
kevincam3 commented 2018-02-08 10:37:53 +00:00 (Migrated from github.com)

Ok, no worries, I just won't use it.

Ok, no worries, I just won't use it.
marcodings commented 2018-02-08 19:57:29 +00:00 (Migrated from github.com)

Kevincam3 the info you require about the repo is in my earlier post.

Kevincam3 the info you require about the repo is in my earlier post.

Okay the old "string manipulation" option is back and can be used by going to the global options -> Global Tab -> Field Builder Type and selection String Manipulation as the default Field Builder Type

Hope this resolves this issue and keeps everyone happy 👍

So we did not remove the SimpleXMLElement method, but kept both options with a global selection option and internal error handling.

Okay the old "**string manipulation**" option is back and can be used by going to the `global options -> Global Tab -> Field Builder Type` and selection `String Manipulation` as the default `Field Builder Type` Hope this resolves this issue and keeps everyone happy :+1: So we did not remove the _SimpleXMLElement method_, but kept both options with a global selection option and internal error handling.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: joomla/Component-Builder#197
No description provided.