Uploaded image for project: 'Plugins'
  1. Plugins
  2. CONTRIB-2730

HTMLAREA Editor custom plugin framework support

    Details

      Description

      Overview

      This (relatively small) patch to Moodle core (to: lib/weblib.php) enable
      SysAdmin to add folders of extra functionality plugins to the HTMLAREA internal editor
      without the need to change (patch) any of the lib/editor/htmlarea/htmlarea.php code
      for each plugin (toolbar icon) that they wish to add.
      (Actually, very similar to the way we can extend Moodle anywhere else...)

      Plus, it enables the SysAdmin to control which plugins are visible (system wide)
      using a "setting" configuration form. (from the system menu block)

      Plugins, included with this patch

      • AskBloom - Help teachers setup a more sophisticated instruction to students as defined by BLOOM
      • Resize editor - Extend the size of the editor when it is very small
      • AudioRecorder - Records Audio comments and embed this into the text (+Flash player)
      • Marker - mark text
      • InserSWF - Insert Flash movies into the text
      • InserEmbed - Insert EMBED element anywhere in the text (no need to switch/know html)
      • Dropbox - support Public sharing of dropbox files
      • FileManager - Support for embeding Block FileManager files inside the text
      • IconGallery - Embed Icons (free sets) (update: from the Moodledata/1/icongalleries folder)
      • CellWith - Change the width of a table's column
      • DrawSVG - Vector Graphics editing tool + Insert SVG drawing into the textarea
      • Paint - Pixlr.com editor + Insert image into the textarea
      • RemoveNOLINK - remove nolink TAG
      • PageBackground - load an image as background to the entire textarea
      • InsertImage - Drag and Drop image(s) to upload them into the textarea (any user)
      • LineHeight - Set Line Height of current paragraph
      • TableSupport (Disabled) - Table rows and cells configuration
      • Insert PDF - Embed a PDF viewer into the webpage
      • DragAndDropImage - Opens a popup window, into which a user (students) can Drag and Drop Images from their Desktop
      • TinyMCE editor - Enables editing of the current content within a TinyMCE editor using a popup window.
      • DragMath - wrapper for the DragMath Math equation editor plugin + plugin code DragMath 0.7.9 released 10/10/2010 (uses java)(see readme file for install instructions)
      • WIRIS Formula and CAS - wrapper for the WIRIS Math equation editor plugin + plugin code 2.3 beta (uses java) (see readme file for install instructions)
      • VideoRecorder - The video recording applet allows to record video in mp4 format ( H.264 video and AAC audio) and embed it into the text (Inspired by Kevin Brake @ eLearningShow.com)
      • HTMLPurify - Clean the text using HTMLPurifier library

      Demo Video : Custom Plugins

      The Framework

      Each plugin folder must include an "opendialog.js.php" file with a function (by the name of the plugin folder)
      which is called upon clicking the toolbar icon. and an "icon.png" file.
      if the plugin requires an extra dialog, a "dialog.php" file can be included. (see included samples)
      if the plugin requires language files, an extra "lang" folder with the relevant lang folders can be included.

      A base folder for the plugins must be created by the name "lib/editor/htmlarea/custom_plugins"
      Attached to this issue is a JavaScript file that handles the opening of a Dialog Window (if the plugin requires one)
      its name is "nbdialog.js" and it must be placed inside "lib/editor/htmlarea/custom_plugins".

      Together with this patch i am attaching several plugins that were made for this framework.
      ( I will be opening a new issue for each plugin, to track changes in each. and link them back to this issue )

      Attached is a clean lib/weblib.php file (Moodle version 1.9.10) + the patch applied to it ( for convenience )
      Attached is the patch file which can be applied to all 1.9.x versions
      Attached is a SysAdmin global setting form "htmlarea_plugins.php" which must be placed inside "admin/settings" folder.
      ( You, SysAdmin, will have to select any/all the plugins that you wish made available to your users, system wide, before any of them will be visible on the 3rd toolbar strip, in each Editor on your system )

      Installation

      1. Apply the patch.
      2. Unzip custom_plugins.zip into "lib/editor/htmlarea/custom_plugins"
      3. Copy "htmlarea_plugins.php" to "admin/settings"
      4. As SysAdmin, start a browser and open "http://youmoodle/admin/settings.php?section=htmlareasettings"
      select the plugins you wish to enable and save the settings.
      5. Open the HTMLAREA Editor (and checkout your new plugins!)

      I would love to get feedback on this patch and any of the attached plugins.

      Updated files can always/also be found on :
      https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea/custom_plugins

      Enjoy

        Gliffy Diagrams

          Attachments

          1. custom_plugins_all_plugins.zip
            9.92 MB
          2. custom_plugins.png
            custom_plugins.png
            25 kB
          3. custom_plugins.tar.gz
            9.38 MB
          4. custom_plugins.zip
            6.76 MB
          5. htmlarea_custom_plugins_settings.png
            htmlarea_custom_plugins_settings.png
            52 kB
          6. htmlarea_custom_plugins.patch
            2 kB
          7. htmlarea_plugins.php
            1 kB
          8. nbdialog.js
            2 kB
          9. weblib.php
            249 kB

            Activity

            Hide
            nadavkav Nadav Kavalerchik added a comment -

            fallback to WAV link in text when no FFMPEG lib is installed on server

            Show
            nadavkav Nadav Kavalerchik added a comment - fallback to WAV link in text when no FFMPEG lib is installed on server
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            read string['pluginname'] from each plugin lang folder

            Show
            nadavkav Nadav Kavalerchik added a comment - read string ['pluginname'] from each plugin lang folder
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            updated plugins, new plugins + translations

            Show
            nadavkav Nadav Kavalerchik added a comment - updated plugins, new plugins + translations
            Hide
            irith irith herman added a comment -

            Hi Nadav!
            1. There is a problem with the file draw .. svg
            Ifyou select it the editor does not appear,
            in the list of plugins there is one more drawsvg
            So maybe you simply delete it from the folder?
            2. The paint does not work. Error message:
            The file does not exist
            custom_plugins / paint / dialog.php

            Show
            irith irith herman added a comment - Hi Nadav! 1. There is a problem with the file draw .. svg Ifyou select it the editor does not appear, in the list of plugins there is one more drawsvg So maybe you simply delete it from the folder? 2. The paint does not work. Error message: The file does not exist custom_plugins / paint / dialog.php
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Hello Irith

            1. You should run some tests on your servers to see that all was installed correctly.
            Turn on DEBUGGUB or use FIREBUG to see what is missing.
            If some of the icons do not appear, it seems like a file permission issue.
            Maybe a browser issue?

            2. The Paint and the TableSupport plugins are currently disabled (as i mentioned, above)

            Show
            nadavkav Nadav Kavalerchik added a comment - Hello Irith 1. You should run some tests on your servers to see that all was installed correctly. Turn on DEBUGGUB or use FIREBUG to see what is missing. If some of the icons do not appear, it seems like a file permission issue. Maybe a browser issue? 2. The Paint and the TableSupport plugins are currently disabled (as i mentioned, above)
            Hide
            irith irith herman added a comment -

            Hello Nadav
            I deleted the /custom_plugins from the server and uploaded it again, I enabled the debug
            and i got this error:
            Notice: Undefined property: stdClass::$parent in /var/www/html/moodle/lib/weblib.php on line 2558

            This is the line: i don"t see any connection???

            if ($THEME->parent && (!isset($THEME->parentmetainclude) || $THEME->parentmetainclude)) {
            if (file_exists($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php'))

            { ob_start(); include_once($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php'); $metapage .= ob_get_contents(); ob_end_clean(); }

            }

            Show
            irith irith herman added a comment - Hello Nadav I deleted the /custom_plugins from the server and uploaded it again, I enabled the debug and i got this error: Notice: Undefined property: stdClass::$parent in /var/www/html/moodle/lib/weblib.php on line 2558 This is the line: i don"t see any connection??? if ($THEME->parent && (!isset($THEME->parentmetainclude) || $THEME->parentmetainclude)) { if (file_exists($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php')) { ob_start(); include_once($CFG->dirroot.'/theme/'.$THEME->parent.'/meta.php'); $metapage .= ob_get_contents(); ob_end_clean(); } }
            Hide
            irith irith herman added a comment -

            Nadav
            i gave all the folder in the htmlarea 7777 prrmission
            it didn"t help

            Show
            irith irith herman added a comment - Nadav i gave all the folder in the htmlarea 7777 prrmission it didn"t help
            Hide
            herve Herve added a comment -

            I have followed all the steps - my problem is with step 4
            4. As SysAdmin, start a browser and open "http://youmoodle/admin/settings.php?section=htmlareasettings"
            This leads me to a site with no way to select plugins.
            Any idea?
            Herve

            Show
            herve Herve added a comment - I have followed all the steps - my problem is with step 4 4. As SysAdmin, start a browser and open "http://youmoodle/admin/settings.php?section=htmlareasettings" This leads me to a site with no way to select plugins. Any idea? Herve
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Herve, you should change "yourmoodle" with the domain name of your moodle website.

            Show
            nadavkav Nadav Kavalerchik added a comment - Herve, you should change "yourmoodle" with the domain name of your moodle website.
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Updated version (lot's of fixes)
            + Insert PDF (new)
            + Paint (new/updated)

            Show
            nadavkav Nadav Kavalerchik added a comment - Updated version (lot's of fixes) + Insert PDF (new) + Paint (new/updated)
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Paint plugin updates

            Show
            nadavkav Nadav Kavalerchik added a comment - Paint plugin updates
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Updated version.
            + Several fixes on various plugins
            + NEW TinyMCE plugin

            Show
            nadavkav Nadav Kavalerchik added a comment - Updated version. + Several fixes on various plugins + NEW TinyMCE plugin
            Hide
            jonafrica Jon Africa added a comment -

            This looks VERY promising. I just realized, though, that it is for 1.9. What differences are there in 2.0? What is prospect of doing this with 2.0?

            Show
            jonafrica Jon Africa added a comment - This looks VERY promising. I just realized, though, that it is for 1.9. What differences are there in 2.0? What is prospect of doing this with 2.0?
            Hide
            aborrow Anthony Borrow added a comment -

            Nadav - I've created the component in the tracker. I was surprised you did not know about this since you have so many things in CONTRIB. Let's setup a convenient time when we can discuss how to make use of them and also to work toward migrating all of your code from CVS to Git. In addition to having the code on Git, I want to make some suggestions for maintaining this patch. Peace - Anthony

            Show
            aborrow Anthony Borrow added a comment - Nadav - I've created the component in the tracker. I was surprised you did not know about this since you have so many things in CONTRIB. Let's setup a convenient time when we can discuss how to make use of them and also to work toward migrating all of your code from CVS to Git. In addition to having the code on Git, I want to make some suggestions for maintaining this patch. Peace - Anthony
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Anthony - Thanks! when iMoot is over, we'll find some time for this.

            btw, i already have most (if not all) of my CVS contrib on my github.com account.
            https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins

            I wonder if i can keep using that or should i use your (Moodle HQ) git ?
            (not sure how this works, now, after you moved CVS to git)

            Show
            nadavkav Nadav Kavalerchik added a comment - Anthony - Thanks! when iMoot is over, we'll find some time for this. btw, i already have most (if not all) of my CVS contrib on my github.com account. https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins I wonder if i can keep using that or should i use your (Moodle HQ) git ? (not sure how this works, now, after you moved CVS to git)
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            NEW plugins: DragMath and WIRIS CAS / Formula support.
            Several fixes to various plugins, for IE support. relaxed permissions. minor usability fixes.

            Show
            nadavkav Nadav Kavalerchik added a comment - NEW plugins: DragMath and WIRIS CAS / Formula support. Several fixes to various plugins, for IE support. relaxed permissions. minor usability fixes.
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            screen shot - toolbar in action

            Show
            nadavkav Nadav Kavalerchik added a comment - screen shot - toolbar in action
            Hide
            ethanvhuff Ethan Huff added a comment -

            Nadav, hi, when we installed the patch/plug-ins, the AudioRecorder we got only allows up to 20 seconds recording. At the iMoot you mentioned recordings of up to 1 minute. Any idea what we might do to get ours up to 1 minute? Thanks!

            Show
            ethanvhuff Ethan Huff added a comment - Nadav, hi, when we installed the patch/plug-ins, the AudioRecorder we got only allows up to 20 seconds recording. At the iMoot you mentioned recordings of up to 1 minute. Any idea what we might do to get ours up to 1 minute? Thanks!
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            I am a joker me bad.
            I left a time limit while i was playing with the recording. oups.

            please open:
            moodle/lib/editor/htmlarea/custom_plugins/audiorecorder/dialog.php
            and change the line:
            <param name="maxRecordTime" value="20.0">
            to
            <param name="maxRecordTime" value="60.0">

            Show
            nadavkav Nadav Kavalerchik added a comment - I am a joker me bad. I left a time limit while i was playing with the recording. oups. please open: moodle/lib/editor/htmlarea/custom_plugins/audiorecorder/dialog.php and change the line: <param name="maxRecordTime" value="20.0"> to <param name="maxRecordTime" value="60.0">
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Updated version with NEW: VideoRecorder and HTML Purifier

            Show
            nadavkav Nadav Kavalerchik added a comment - Updated version with NEW: VideoRecorder and HTML Purifier
            Hide
            maltyx Michael Altynikov added a comment -

            Little Help, pls, after applying the patch to weblib.php and copying Custom_plugins and htmlarea_plugins.php file - the HTMLArea Editor does not displayed at all at our Moodle site (ver. 1.9.10) - tryied also with weblib.php file attached here .. the result is the same - NO Editor at all - what can be a problem?

            Show
            maltyx Michael Altynikov added a comment - Little Help, pls, after applying the patch to weblib.php and copying Custom_plugins and htmlarea_plugins.php file - the HTMLArea Editor does not displayed at all at our Moodle site (ver. 1.9.10) - tryied also with weblib.php file attached here .. the result is the same - NO Editor at all - what can be a problem?
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Some of the plugins require more "installation" procedures then just copying them into there folders.
            Like the : WIRIS and DropBox. and you will have to open their README files for more instructions.

            Until you do that...

            Please disable them, from the admin menu
            http:// your-moodle-url /admin/settings.php?section=htmlareasettings
            and see if it helps

            Show
            nadavkav Nadav Kavalerchik added a comment - Some of the plugins require more "installation" procedures then just copying them into there folders. Like the : WIRIS and DropBox. and you will have to open their README files for more instructions. Until you do that... Please disable them, from the admin menu http:// your-moodle-url /admin/settings.php?section=htmlareasettings and see if it helps
            Hide
            maltyx Michael Altynikov added a comment - - edited

            Thanx for quick response!
            Actually, I did read README file ..
            But, Yes, automaticly I enabled all plugings in admin menu .. will try to disable them first .
            PS. It Worked ..thank You!

            Show
            maltyx Michael Altynikov added a comment - - edited Thanx for quick response! Actually, I did read README file .. But, Yes, automaticly I enabled all plugings in admin menu .. will try to disable them first . PS. It Worked ..thank You!
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Michael I am glad to read it turned out OK.
            Some other people got into the same issue.
            And i am considering removing those plugins from the main package
            and making a separate link for them + a bold notice about installing them later.

            Hope, until then, people read these corespondents and disable those plugins, upon first install.

            Show
            nadavkav Nadav Kavalerchik added a comment - Michael I am glad to read it turned out OK. Some other people got into the same issue. And i am considering removing those plugins from the main package and making a separate link for them + a bold notice about installing them later. Hope, until then, people read these corespondents and disable those plugins, upon first install.
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            News update:
            I have started converting those plugins to Moodle 2.x
            Currently, Record Video and Record Audio are converted.
            And i am a little stuck with the right way to go about
            implementing the dynamic plugin enabling and disabling procedure,
            since it is not natively supported in TinyMCE.
            I saw a patch for that, on the forums and i wonder if Moodle HQ
            will implement it in the near future? or should i patch it too?

            Show
            nadavkav Nadav Kavalerchik added a comment - News update: I have started converting those plugins to Moodle 2.x Currently, Record Video and Record Audio are converted. And i am a little stuck with the right way to go about implementing the dynamic plugin enabling and disabling procedure, since it is not natively supported in TinyMCE. I saw a patch for that, on the forums and i wonder if Moodle HQ will implement it in the near future? or should i patch it too?
            Hide
            frankiekam Frankie Kam added a comment -

            Hi Nadav!

            Love your work. You have increased the pedagogical value of Moodle right from the Editor itself. For me the most useful plugins that you have added to the editor icons are:

            1. Drag and Drop image adder (a must-have for any Moodle site! Previously only the admin or teacher could add images to the editor. Students could only insert images by giving the URL)
            2. Embed PDF
            3. VideoRecorder (FANTASTIC. Thanks for Kevin Brake (and Vimas Technology)!)
            4. Insert Flash
            5. Expand Editor area
            6. Insert Embed code of Web 2.0 sites (Youtube is missing since they won't allow you to do so)
            7. DragMath (provided Tex is installed on the server!)
            8. Paint
            9. SVG designer
            10.Dropbox (would be great if I had root access to my VPS!)

            Problems:
            The "Insert Flash" icon should be "Insert image" instead (how do I correct this?)
            How do I use the File Manager? It's a mystety to me. I only see part of my Moodle page and nothing else!??
            Youtube doesn't allow it's site to tbe embedded right?

            Frankie Kam
            Melaka, Malaysia
            http://moodurian.blogspot.com
            http://moodurian.com
            P,S., I hope to feature your work in my blog - in detail for others to enjoy and to allow teachers with minimal IT skills to install on their own servers. If I have the time!

            Show
            frankiekam Frankie Kam added a comment - Hi Nadav! Love your work. You have increased the pedagogical value of Moodle right from the Editor itself. For me the most useful plugins that you have added to the editor icons are: 1. Drag and Drop image adder (a must-have for any Moodle site! Previously only the admin or teacher could add images to the editor. Students could only insert images by giving the URL) 2. Embed PDF 3. VideoRecorder (FANTASTIC. Thanks for Kevin Brake (and Vimas Technology)!) 4. Insert Flash 5. Expand Editor area 6. Insert Embed code of Web 2.0 sites (Youtube is missing since they won't allow you to do so) 7. DragMath (provided Tex is installed on the server!) 8. Paint 9. SVG designer 10.Dropbox (would be great if I had root access to my VPS!) Problems: The "Insert Flash" icon should be "Insert image" instead (how do I correct this?) How do I use the File Manager? It's a mystety to me. I only see part of my Moodle page and nothing else!?? Youtube doesn't allow it's site to tbe embedded right? Frankie Kam Melaka, Malaysia http://moodurian.blogspot.com http://moodurian.com P,S., I hope to feature your work in my blog - in detail for others to enjoy and to allow teachers with minimal IT skills to install on their own servers. If I have the time!
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Hi Frankie

            Thank you for your feedback!

            1. There is a special plugin called Insert Flash with a different icon from the one Insert Images has.
            It is especially made to embed a flash file into the text with a flash player (not just a link to a flash file)
            The icon in inside the insertswf folder and it is called icon.png (you can always change it)

            2. For the File Manager to work, you need to install the FileManager block. ( I recommend it! )

            BTW, just updated the entire plugins package with major IE fixes. so you might like to download it again and overwrite everything you have already installed

            Show
            nadavkav Nadav Kavalerchik added a comment - Hi Frankie Thank you for your feedback! 1. There is a special plugin called Insert Flash with a different icon from the one Insert Images has. It is especially made to embed a flash file into the text with a flash player (not just a link to a flash file) The icon in inside the insertswf folder and it is called icon.png (you can always change it) 2. For the File Manager to work, you need to install the FileManager block. ( I recommend it! ) BTW, just updated the entire plugins package with major IE fixes. so you might like to download it again and overwrite everything you have already installed
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Updated version with lots of IE fixes

            Show
            nadavkav Nadav Kavalerchik added a comment - Updated version with lots of IE fixes
            Hide
            frankiekam Frankie Kam added a comment -

            Hi Nadav
            Where can I get the File Manager block from?
            I'm using Moodle 1.9.15.

            Show
            frankiekam Frankie Kam added a comment - Hi Nadav Where can I get the File Manager block from? I'm using Moodle 1.9.15.
            Show
            nadavkav Nadav Kavalerchik added a comment - http://moodle.org/mod/data/view.php?d=13&rid=1105&filter=1
            Hide
            frankiekam Frankie Kam added a comment -

            Hi Nadav
            I've spent 40mins trying to download the file manager. Either the link is broken, account is suspended or the tar file is corrupted. Could you email to me a working zip file of the block? Sorry for the trouble.
            Frankie Kam
            boonsengkam@gmail.com

            Show
            frankiekam Frankie Kam added a comment - Hi Nadav I've spent 40mins trying to download the file manager. Either the link is broken, account is suspended or the tar file is corrupted. Could you email to me a working zip file of the block? Sorry for the trouble. Frankie Kam boonsengkam@gmail.com
            Hide
            mikidream miki Alliel added a comment -

            Hey nadav
            Since youtube website don't allow their site to be iframed - see here:
            http://groups.google.com/group/youtube-api/browse_thread/thread/2d2236731672a098?pli=1

            And That's why the YouTube link won't display anything in the "insetembed" plugin - so I would make it click-able and popup YouTube to another tab ( but it will be in the previous window. how cat I make it a pop up in the same "choose-a-video" window?
            And since Google video is not existed anymore, I would recommend to to this in choose-a-video.php file:

            ....
            <div style="text-align:left;">
            -<a class="videolink" href="http://video.google.com"> Google Video </a><br/><br/>
            +<a class="videolink" href="http://www.youtube.com/" target="new"style="target-name: new; target-new:tab;"> YouTube Video </a><br/><br/>
            <a class="videolink" href="http://www.mindmeister.com/"> Mind Meister - Mind Maps - מפות חשיבה</a><br/><br/>
            ....

            Show
            mikidream miki Alliel added a comment - Hey nadav Since youtube website don't allow their site to be iframed - see here: http://groups.google.com/group/youtube-api/browse_thread/thread/2d2236731672a098?pli=1 And That's why the YouTube link won't display anything in the "insetembed" plugin - so I would make it click-able and popup YouTube to another tab ( but it will be in the previous window. how cat I make it a pop up in the same "choose-a-video" window? And since Google video is not existed anymore, I would recommend to to this in choose-a-video.php file: .... <div style="text-align:left;"> -<a class="videolink" href="http://video.google.com"> Google Video </a><br/><br/> +<a class="videolink" href="http://www.youtube.com/" target="new"style="target-name: new; target-new:tab;"> YouTube Video </a><br/><br/> <a class="videolink" href="http://www.mindmeister.com/"> Mind Meister - Mind Maps - מפות חשיבה</a><br/><br/> ....
            Show
            nadavkav Nadav Kavalerchik added a comment - Hi Miki Excellent idea. I updated the code with your suggestions. https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/blame/6cd33ba93a89b9bb89bf7c17db892f50e29098a0/lib/editor/htmlarea/custom_plugins/insertembed/choose-a-video.php
            Hide
            howardsmiller Howard Miller added a comment -

            The zip file included in the Moodle plugins database is missing all the files (http://moodle.org/plugins/view.php?id=9). It doesn't have 'custom_plugins.zip' as mentioned in the instructions.

            Show
            howardsmiller Howard Miller added a comment - The zip file included in the Moodle plugins database is missing all the files ( http://moodle.org/plugins/view.php?id=9 ). It doesn't have 'custom_plugins.zip' as mentioned in the instructions.
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Howard,
            I have split off the real plugins from the patch to the core of the /lib/weblib.php which enables the extending of the HTMLAREA toolbars to two files.

            Here is a link to all the files :
            https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea

            Thank you for pointing my attention to this,
            I will try to make it more clear in the README

            Show
            nadavkav Nadav Kavalerchik added a comment - Howard, I have split off the real plugins from the patch to the core of the /lib/weblib.php which enables the extending of the HTMLAREA toolbars to two files. Here is a link to all the files : https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea Thank you for pointing my attention to this, I will try to make it more clear in the README
            Hide
            nwa Nikita added a comment -

            Hey, Nadav.

            I have a problem with drawSvg. It sends to html-editor escaped html characters.
            Here is video. http://www.screencast.com/t/vPmvT7ZvAUVB
            I haven't found any similar problems in bug tracker. Can you help me?

            Show
            nwa Nikita added a comment - Hey, Nadav. I have a problem with drawSvg. It sends to html-editor escaped html characters. Here is video. http://www.screencast.com/t/vPmvT7ZvAUVB I haven't found any similar problems in bug tracker. Can you help me?
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Hi Nikita
            It seems, that the JavaScript that is responsible for viewing SVG xml tags is not loaded or filtered out by your Moodle.
            ( this is the missing script: lib/editor/htmlarea/custom_plugins/drawsvg/lib/svgweb/src/svg.js )
            I guess, you should enable EMBED and OBJECT on your Moodle system
            http://your-server/admin/search.php?query=allowobjectembed

            Or even read the README: /lib/editor/htmlarea/custom_plugins/drawsvg/readme
            for more options (if the first suggestion does not work)

            Show
            nadavkav Nadav Kavalerchik added a comment - Hi Nikita It seems, that the JavaScript that is responsible for viewing SVG xml tags is not loaded or filtered out by your Moodle. ( this is the missing script: lib/editor/htmlarea/custom_plugins/drawsvg/lib/svgweb/src/svg.js ) I guess, you should enable EMBED and OBJECT on your Moodle system http://your-server/admin/search.php?query=allowobjectembed Or even read the README: /lib/editor/htmlarea/custom_plugins/drawsvg/readme for more options (if the first suggestion does not work)
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Major update!!! to all plugins - IE7,IE8,IE9 support

            Please download the relevant plugins from:
            https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea/custom_plugins

            Show
            nadavkav Nadav Kavalerchik added a comment - Major update!!! to all plugins - IE7,IE8,IE9 support Please download the relevant plugins from: https://github.com/nadavkav/RTL-BIDI-Hebrew-Moodle-Plugins/tree/master/lib/editor/htmlarea/custom_plugins
            Hide
            nwa Nikita added a comment - - edited

            Nadav, thanks for your answer.
            Everything works fine when i copy svg code from drawSvg and insert into sourse in html editor. But when i'm trying to insert it via drawSvg i'm getting something like this in my source:

            http://clip2net.com/s/1SI8Z

            Any ideas?

            Show
            nwa Nikita added a comment - - edited Nadav, thanks for your answer. Everything works fine when i copy svg code from drawSvg and insert into sourse in html editor. But when i'm trying to insert it via drawSvg i'm getting something like this in my source: http://clip2net.com/s/1SI8Z Any ideas?
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            Nikita, I think you should make some changes in the core htmalarea.php file
            as explained in the readme file ( /lib/editor/htmlarea/custom_plugins/drawsvg/readme )
            These changes will prevent HTMLAREA from messing with the SVG code

            Here is the readme:

            This plugin is a little bit challenging...

            1. you'll have to remove TAG cleanup from the HTMLAREA.php file

            // performs HTML encoding of some given string
            HTMLArea.htmlEncode = function(str) {

            return str; // disable this function for drawsvg plugin to work

            // we don't need regexp for that, but.. so be it for now.
            str = str.replace(/&/ig, "&");
            str = str.replace(/</ig, "<");
            str = str.replace(/>/ig, ">");
            str = str.replace(/\x22/ig, """);
            // \x22 means '"' – we use hex reprezentation so that we don't disturb
            // JS compressors (well, at least mine fails..
            return str;
            };

            2. you'll have to patch Moodle not to clean up the text in Modules you wish to use this plugin

            change :
            echo format_text($post->message, FORMAT_HTML);

            to:
            echo $post->message;

            or:
            $options = new stdClass;
            $options->noclean=true;
            echo format_text($post->message, FORMAT_HTML,$options);

            OR:
            set $CFG->enabletrusttext = true;

            Show
            nadavkav Nadav Kavalerchik added a comment - Nikita, I think you should make some changes in the core htmalarea.php file as explained in the readme file ( /lib/editor/htmlarea/custom_plugins/drawsvg/readme ) These changes will prevent HTMLAREA from messing with the SVG code Here is the readme: This plugin is a little bit challenging... 1. you'll have to remove TAG cleanup from the HTMLAREA.php file // performs HTML encoding of some given string HTMLArea.htmlEncode = function(str) { return str; // disable this function for drawsvg plugin to work // we don't need regexp for that, but.. so be it for now. str = str.replace(/&/ig, "&"); str = str.replace(/</ig, "<"); str = str.replace(/>/ig, ">"); str = str.replace(/\x22/ig, """); // \x22 means '"' – we use hex reprezentation so that we don't disturb // JS compressors (well, at least mine fails.. return str; }; 2. you'll have to patch Moodle not to clean up the text in Modules you wish to use this plugin change : echo format_text($post->message, FORMAT_HTML); to: echo $post->message; or: $options = new stdClass; $options->noclean=true; echo format_text($post->message, FORMAT_HTML,$options); OR: set $CFG->enabletrusttext = true;
            Hide
            nwa Nikita added a comment -

            return str; sure
            thanks Nadav, works fine now.

            Show
            nwa Nikita added a comment - return str; sure thanks Nadav, works fine now.
            Hide
            nwa Nikita added a comment -

            Nadav!
            I replaced my files with files from repository, but still doesn't work in IE series.
            And unfortunately, no relevant issues in tracker.
            Can you help me?

            Show
            nwa Nikita added a comment - Nadav! I replaced my files with files from repository, but still doesn't work in IE series. And unfortunately, no relevant issues in tracker. Can you help me?
            Hide
            nadavkav Nadav Kavalerchik added a comment -

            I am not experienced with IE so i am not sure how can i help. sorry.

            Show
            nadavkav Nadav Kavalerchik added a comment - I am not experienced with IE so i am not sure how can i help. sorry.

              People

              • Votes:
                7 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: