0 users online. Create an account or sign in to join them.Users
[RESOLVED] Symphony (frontend) Could not find Text Formatter
This is an open discussion with 9 replies, filed under Troubleshooting.
Search
- Can you log into the backend without error?
- What was the version of Symphony you upgraded from?
- Are the MarkitUp and Markdown extensions enabled on the
/extensionspage? - Can you clarify what you mean with 'on the Frontend?' That repo you linked too is just MarkitUp for sites, it's not the Symphony extension
Brendo, thank you for taking the time to interact here.
- I can log in to the backend (i.e., /symphony/) no problem.
- I upgraded from Symphony 2.2.2
- Both MarkItUp 2.0 and Text Formatter: Markdown v 1.13
- By frontend, I mean the public side of our website that is served to members regulated by the Members extension.
I am intending to use MarkItUp for sites because, as I understand it, the Symphony extension would only apply within the /symphony directory.
Do you suspect using the extension for within the /symphony dir and then /assets/js/markItUp is causing a conflict of some kind?
I can log in to the backend (i.e.,
/symphony/) no problem.
Ok, so on the Frontend, does this error occur on every page? Or just a select page? What I think has happened here is that a field has been saved with a Text Formatter that no longer exists (or has changed handles), so when that field is included in a Datasource on the Frontend it's causing some issues.
Do you suspect using the extension for within the
/symphonydir and then/assets/js/markItUpis causing a conflict of some kind?
I'm not sure how, that error is caused by Symphony trying to load the Formatter to 'do something', not by it's existence in the file system. Can you post the rest of that error screenshot - the backtrace information more specifically.
Ok, so on the Frontend, does this error occur on every page? Or just a select page?
I have found one instance where the error does not occur when submitting a form with the markitup markdown textarea in question.
Backtrace:
[/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/fields/field.textarea.php:59] TextformatterManager->create(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/fields/field.textarea.php:175] fieldTextarea->__applyFormatting(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/class.entry.php:250] fieldTextarea->checkPostFieldData(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/events/event.section.php:112] Entry->checkPostData(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/events/event.section.php:447] __doit(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/workspace/events/event.video_add.php:96] include(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/workspace/events/event.video_add.php:92] eventvideo_add->__trigger(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/class.frontendpage.php:723] eventvideo_add->load(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/class.frontendpage.php:403] FrontendPage->processEvents(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/class.frontendpage.php:202] FrontendPage->__buildPage(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/core/class.frontend.php:111] FrontendPage->generate(); [/Users/wjn/Sites/pcpc.org/subdomains/flo/dev/index.php:25] Frontend->display();
Thank you again Brendo for your labor here.
I uninstalled all text formatter extensions and still get the error.
I'm taking a look see in the Database to see what I can find.
What I think has happened here is that a field has been saved with a Text Formatter that no longer exists (or has changed handles), so when that field is included in a Datasource on the Frontend it's causing some issues.
Here are the relevant tables graphically represented from our database where I we find some clues along the lines of Brendo's hypothesis above.
You'll notice that there are no text formatter extensions now installed (but the fatal error still occurs). This is because the textarea fields (image 3 of 3 below) have old uninstalled formatters assigned to them as Brendo suspected.
Solution:
When go to each section and reassign each textarea to an installed extension, the error goes away.
sym_extensions
symextensionsdelegates
symfieldstextarea
Thank you for your help Brendo!
Ah ha, so the bug here is that the Extension Manager's __canUninstallOrDisable function do not check if Text Formatters are in use before uninstalling or disabling them.
There is currently checks in place to ensure that you can't remove a Field, Datasource or Event that is in use. This should also apply to Text Formatters, to prevent your issue ;)
Glad you got it in the end, I'll push a fix for this to the repo so it won't happen again :)
Cool, thanks again Brendo.
Also for those in the forum that are trying to avoid having to open a large number of sections and changing each textarea to the correct formatter, I wrote a simple SQL query that I hope is helpful.
I did this through phpMyAdmin so the query assumes the database connection/assignment. It also preserves NULL (no formatter textareas).
UPDATE sym_fields_textarea SET `formatter` = 'markdown_extra' WHERE `formatter` IS NOT NULL
Create an account or sign in to comment.
Environ
Synopsis
I believe the trouble started after upgrading to Symphony 2.2.3; however, I cannot be certain.
When posting frontend forms employing markItUp! 1.1.12 (updated 8/16/2011) and its markdown module, I receive a Symphony Fatal Error.
Observations
Symphony Error Message
Could not find Text Formatter . If the Text Formatter was provided by an Extension, ensure that it is installed, and enabled. /Users/wjn/Sites/pcpc.org/subdomains/flo/dev/symphony/lib/toolkit/class.textformattermanager.php line 146 141 if(!isset(self::$_pool[$handle])){ 142 $classname = $this->__getClassName($handle); 143 $path = $this->__getDriverPath($handle); 144 145 if(!is_file($path)){ 146 throw new Exception( 147 __( 148 'Could not find Text Formatter %s. If the Text Formatter was provided by an Extension, ensure that it is installed, and enabled.', 149 array($name) 150 )If this should be posted in the GitHub Issue Tracker, please let me know and I'll port it there.