TinyMCE widgetset ignored.

I have added the TinyMCE add-on, but it will not work. I get the following error where the text field should be:

Widgetset does not contain implementation for org.vaadin.tinymceeditor.TinyMCETextField.
Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile
your widgetset. In case you have downloaded a vaadin add-on package, you might want to
refer to add-on instructions. Unrendered UIDL:

In the HTML I find this:


<div style="height: 280px; width: 488px; overflow: hidden; padding-left: 0pt; padding-top: 7px;">
  <div style="float: left; margin-left: 0px;">
    <table style="height: 280px; width: 488px;" class="vaadin-unknown" cellpadding="0" cellspacing="0">
      <tbody>
        <tr>
          <td style="vertical-align: top;" align="left">
            <div class="vaadin-unknown-caption">
              Widgetset does not contain implementation for org.vaadin.tinymceeditor.TinyMCETextField. Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to <a href="http://vaadin.com/using-addons">add-on instructions</a>. Unrendered UIDL:
            </div>
          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;" align="left">
            <div role="tree" class="gwt-Tree" style="">
              <div role="treeitem" hidefocus="true" style="font-size: 0pt; position: absolute; outline: 0px none; z-index: -1;" tabindex="0">
                <input style="opacity: 0; height: 1px; width: 1px; z-index: -1; overflow: hidden; position: absolute;" tabindex="-1" type="text" />
              </div>
              <div style="padding: 0px; margin-left: 0pt;">
                <table style="white-space: nowrap;">
                  <tbody>
                    <tr>
                      <td style="vertical-align: middle;">
                        <img src="http://localhost:8040/VAADIN/widgetsets/net.munat.wcms.gwt.AdminWidgetSet/clear.cache.gif" style="width: 16px; height: 16px; background: url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqklEQVR42mNgGAVYQVbl9v9h6WsxcHbVjv8ENScXbf6/7+iD/79+/fmPDP78/fd/9eZr/xMLN+E3JCJj3f/PX77DMQPDGTj72/cfQJesw29AONCAt+8+wjHIAGQ+UQY8ffYKrBEdg8RBYUGUATAM0wjDhA0AOvHOvUfkGxCXt+H/zEXH/p+/ePP/5au34fjshZv/J84+/B8kTzAqU0s3Y00HKcWb/w/DZA8Agl3oOCRuvDUAAAAASUVORK5CYII=&quot;) no-repeat scroll 0px 0px transparent;" border="0" />
                      </td>
                      <td style="vertical-align: middle;">
                        <div id="gwt-uid-2" role="treeitem" class="gwt-TreeItem" style="display: inline;">
                          org.vaadin.tinymceeditor.TinyMCETextField(NO CLIENT IMPLEMENTATION FOUND)
                        </div>
                      </td>
                    </tr>
                  </tbody>
                </table>
                <div style="white-space: nowrap; display: none;">
                  <div style="padding: 3px 3px 3px 23px; margin-left: 16px;">
                    <div id="gwt-uid-3" role="treeitem" class="gwt-TreeItem" style="display: inline;">
                      LOADING
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

But this is correct:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
    <!--
     Uncomment the following to compile the widgetset for one browser only.
     This can reduce the GWT compilation time significantly when debugging.
     The line should be commented out before deployment to production
     environments.

     Multiple browsers can be specified for GWT 1.7 as a comma separated
     list. The supported user agents at the moment of writing were:
     ie6,ie8,gecko,gecko1_8,safari,opera

     The value gecko1_8 is used for Firefox 3 and later and safari is used for
     webkit based browsers including Google Chrome.
    -->
    <!-- <set-property name="user.agent" value="gecko1_8"/> -->

    <inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />

    <inherits name="com.vaadin.addon.treetable.TreetableWidgetset" />

    <inherits name="org.vaadin.henrik.refresher.RefresherApplicationWidgetset" />

    <inherits name="org.vaadin.tinymceeditor.widgetset.TinymceeditorWidgetset" />
</module>

I have recompiled the widgetset, and both the TreeTable and the Refresher add-ons work fine. Furthermore, the TinyMCE widgetset is in the widgetset at VAADIN/widgetsets/net.munat.wcms.gwt.AdminWidgetSet. There is both a tiny_mce folder and a net.munat.wcms.gwt.AdminWidgetSet.nocache.js file. As I said, the other add-ons work fine.

I have the following in my pom.xml file:

<dependency>
  <groupId>org.vaadin.addons</groupId>
  <artifactId>vaadin-wrapper-for-tinymce</artifactId>
  <version>1.3</version>
</dependency>

In .m2/repository/org/vaadin/ I find the following:

addons/
  vaadin-wrapper-for-tinymce/
    1.3/
      vaadin-wrapper-for-tinymce-1.3.jar
      vaadin-wrapper-for-tinymce-1.3.jar.sha1
      vaadin-wrapper-for-tinymce-1.3.pom
      vaadin-wrapper-for-tinymce-1.3.pom.sha1

I am using it thus in my (Scala) code:

val synopsis = new TinyMCETextField()

which is the equivalent of

TinyMCETextField synopsis = new TinyMCETextField()

I have read the original post on the wrapper, searched the source code, used Google, read everything I could find on widgetsets and recompiling them. I’ve done this many times with other addons with success. What have I missed here?

The key to me seems to be this line (conveniently hidden in the generated source code):

org.vaadin.tinymceeditor.TinyMCETextField(NO CLIENT IMPLEMENTATION FOUND)

Help appreciated.

Hi,

I just tried quickly with eclipse plugin and everything seems to work quite fine. I think it there shouldn’t be no differences with maven based build either.

The diagnose is clear, the client side implementation is not included in you widgetset. But I really can’t guess what could cause it. What is the Vaadin version used? Any other environment details that might cause issue?

cheers,
matti

I’m using 6.4.8. Also, I’m working in Scala and my base app is a Circumflex app. But everything is in the standard locations, and as I said, the other widgetsets are working just fine. I’m using TextMate, not Eclipse, because I’m not working in Java and I haven’t gotten around to figuring out all the ins and outs of doing Vaadin in Scala in Eclipse. But as you point out, it should work fine in Maven.

It’s probably nothing, but I unarchived the tinymce jar and opened the manifest file, and in it the name of the widgetset has a line break and a space in it. I’ve never paid much attention to manifests, so I’m not sure if this is a potential problem.

As I see it there are actually two possibilities. One is that the client side implementation is not included in the widgetset, as you mention. The other is that it is, but it is not being found because some path or file name is wrong somewhere.

That the other addon widgetsets compile, install, and work without a problem leads me to believe that it might be the file name. What do you think?

Thanks for your attention, Matti. The TinyMCE feature is pretty essential to what I’m doing on more than one project, so I really appreciate your efforts.

I managed to get it to work. My pom.xml was missing the configuration part of the xml below. Adding it and recompiling the widgetset worked.

<plugin>
  <groupId>com.vaadin</groupId>
  <artifactId>vaadin-maven-plugin</artifactId>
  <version>1.0.1</version>
  <executions>
    <execution>
      <configuration>
        <modules>
          <module>net.munat.wcms.gwt.AdminWidgetSet</module>
        </modules>
      </configuration>
      <goals>
        <goal>update-widgetset</goal>
      </goals>
    </execution>
  </executions>
</plugin>

I have exactly the same error. But i dont hava a pom.xml. How i can fix it?

If you are not using Maven, you don’t have a pom.xml and much of this thread is irrelevant for you.

See
http://vaadin.com/directory/help/using-vaadin-add-ons
for how to create and compile a widgetset in the environment you are using (e.g. Eclipse, NetBeans or a plain ANT script).

I use Eclipse and try other addons like refresher or touchscroll. Only Tiny MCE not work. I copy the tiny plugin in WebContent\WEB-INF\lib\ and eclipse compiling it. But if i start my app is see only the error from first post. Work this Plugin with 6.5.1?

Check your web.xml file, there should be something like next:

Testtinymce Application com.vaadin.terminal.gwt.server.ApplicationServlet Vaadin application class to start application com.example.testtinymce.TesttinymceApplication [b] Application widgetset widgetset com.example.testtinymce.widgetset.TesttinymceWidgetset [/b]

BR,
Paul Butenko

I tried to use this value, i tried to use value from example codes, but i always end up with

INFO: Requested resource [VAADIN/widgetsets/org.vaadin.tinymceeditor.widgetset.TinymceeditorWidgetset/org.vaadin.tinymceeditor.widgetset.TinymceeditorWidgetset.nocache.js]
not found from filesystem or through class loader. Add widgetset and/or theme JAR to your classpath or add files to WebContent/VAADIN folder.

and alert with the same text in browser.

What exactly is this value?

SD

Solved my problem by creating new project from jar file-which worked like a charm and then I copied contents of WebContent/VAADIN/widgetsets to my maven project and used it as value.



asd