Scripting and External Content Macros

Name Scripting and External Content Plugin
Vendor Bob Swift and other contributors
Authors Bob Swift, Jason Dillon, Christian R���ckert
Homepage http://confluence.atlassian.com/display/CONFEXT/Scripting+and+External+Content+Macros
Issue Management http://developer.atlassian.com/jira/browse/SCRP
Categories Content Macros
Version 2.4
Availability Confluence v2.0 to v2.1.5a
State Stable
Support Unsupported Plugins
License Freeware / Open Source (BSD)
Price Free
Release Docs http://confluence.atlassian.com/display/CONFEXT/Scripting+and+External+Content+Macros
Java API Docs n/a
Download Source http://svn.atlassian.com/svn/public/contrib/confluence/scripting-plugins/trunk
Download JAR scripting-plugins-2.4.jar

Additions and corrections to above:

Confluence compatibility 2.4 tested on Confluence 2.2
2.2.8, earlier versions tested on Confluence 1.4.4 and above
Does not work on Confluence 2.3
JVM requirements Java 1.4 and above
Installation Confluence Repository Client
Dependencies Utilities Plugin
This plugin is obsolete

This plugin is no longer being enhanced or supported. Individual plugins are available that contain and extend the capabilities found in this plugin. For background information, see Scripting plugin restructuring for Confluence 2.2.2. This plugin should only be used if you are running an older Confluence versions (like 1.4.x or 2.1.x). Separate plugins with versions starting at 3.0 are available for almost all macros in this package:

What version to use
  • If you are on Confluence 2.1.x or earlier, use this plugin either version 2.3 or 2.4. You may need to see earlier versions of this page for installation instructions.
  • If you are on Confluence 2.2.2 or later, use the individually packaged plugins - they are supported, simple to install, and this is where future enhancements will be made.
  • If you are on Confluence 2.3 or later, you must use the individually packaged plugins.

Description

Execute SQL or Java scripts or include external content from Excel, Word, Flash, csv, XSLT, HTML, Jasper Report files. Cache support.

Contents

This plugin contains earlier versions of the following plugins and macros. For documentation, use the notation guide so that it corresponds to functions included in your version since the pages referenced below contain information for updated capabilities that are not available in this plugin.

  • SQL Plugin - Displays the result table or values from the SQL query on a Confluence page.
  • Excel Plugin - Generate Confluence tables from Excel worksheets.
  • Table Plugin - A collection of macros dealing with enhanced table capability in Confluence. Includes CSV capability.
  • Cache Plugin — Allows cache control of page-level elements.
  • Flash Plugin — This macro is used to show flash based content in a confluence page.
  • HTML Plugin — Collection of macros for rendering HTML and related markup inside a Confluence page.
  • Jasper Report Plugin — Allows Confluence users to compile, fill, show, and export a Jasper Report within Confluence pages
  • Jasper Report Image Servlet — Required to support display of reports created by the Jasper Report Macro
  • Java Scripting Plugin — Java scripting of Confluence page content with BeanShell, Groovy, or Jython
  • Word Plugin — Include content from Word documents on a Confluence page.

Warnings

Untested on Confluence 2.1.0 and older

This plugin may not run on 2.1.0 or older, but should work from 1.4.4 onwards. For instance, version 2.2 did work on 1.4.4. If in doubt, please consider upgrading Confluence.

Security Risk

Many macros included in this plugin are automatically disabled. After installing, review the macros and enable as needed. For example, allowing users to run sql code is potentially dangerous. Macros in this plugin can be restricted to trusted users, see macro-security.properties for documentation and example usage. Explicit action is required before security restrictions are enabled. Feedback requested as issues or discussion Security.

Install Instructions

Version History

Version Date Author Notes
2.4 6-Sept-2006 Bob Swift release notes
2.3 10-Apr-2006 Bob Swift, Christian Rückert release notes
2.2 15-Feb-2006 Bob Swift release notes
2.1 1-Feb-2006 Bob Swift release notes
2.0 27-Jan-2006 Bob Swift release notes
1.9 24-Jan-2006 Bob Swift, Jason Dillon release notes
1.8 17-Jan-2006 Bob Swift release notes
1.7 15-Jan-2006 Bob Swift release notes
1.6 10-Jan-2006 Bob Swift release notes
1.5 08-Jan-2006 Bob Swift release notes
1.4 03-Jan-2006 Bob Swift release notes
1.3 21-Dec-2005 Bob Swift release notes
1.2 09-Dec-2005 Bob Swift release notes
1.1 03-Dec-2005 Bob Swift release notes

Most Recent Release Notes

  • 2.4
    When: 6-Sept-2006
    Who: Bob Swift

Open Issues

  • Please help document bugs and define additional requirements by creating issues. Vote to help prioritize.

Labels

confluence14 confluence14 Delete
confluence20 confluence20 Delete
confluence21 confluence21 Delete
repository_current repository_current Delete
confluence22 confluence22 Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Sep 13, 2005

    Guy Fraser says:

    I was wondering if it would be possible to have the flash macro in it's own jar ...

    I was wondering if it would be possible to have the flash macro in it's own jar file? The reason being that should people start downloading this plugin simply to embed flash, they will also be adding all the other macros, some of which can be potentially dangerous if used improperly. I realise you can disable individual macros in the plugin manager but many people will not think to do this?

    1. Sep 13, 2005

      Dan Hardiker says:

      I think that people who are competant enough to install a plugin are also compet...

      I think that people who are competant enough to install a plugin are also competant to enabled / disable the components should they wish them to be on or off.

      In the plugin configuration file you can set whether a plugin is enabled or disabled by default (I think) - this would mean dangerous ones could be deactivated. Even if not, the responsibility of the effects of installing a macro is down to the admin - it is the responsibility of the developer to make sure those effects are conveyed to the admin.

      I think the direction of lots of separate plugin jar's is not preferable - especially not with the way that each descriptor (read: jar file) is given its own plugin section. I think the encouragement of grouping similar macros (in this case, scripting macros) is a good thing.

      If flash is being included - perhaps an applet one too?

      1. Sep 13, 2005

        Guy Fraser says:

        I wouldn't consider a flash macro having anything to do with scripting whereas a...

        I wouldn't consider a flash macro having anything to do with scripting whereas all the others most definately are. The flash macro just seems out of place in this collection.

        Perhaps a new collection could be created - "media plugins" - which could contain the flash macro and at a later date other macros for embedding videos and such?

    2. Nov 30, 2005

      Bob Swift says:

      Now that flash is supported natively in 2.0, I assume your requirement is met. T...

      Now that flash is supported natively in 2.0, I assume your requirement is met. This flash macro still has a bit more capability than the native support, but I don't know if anybody is using that part of the support.

      1. Nov 30, 2005

        Guy Fraser says:

        The extra features in this flash macro will certainly get used ;) It's just a pi...

        The extra features in this flash macro will certainly get used It's just a pity that the flash macro is bundled with all the scripting macros, etc., as it seems an odd place for it to live...

        1. Nov 30, 2005

          Bob Swift says:

          Guy, ok, I will consider this when I do the refactoring. Please write up an issu...

          Guy, ok, I will consider this when I do the refactoring. Please write up an issue to track it. The common element all of these macros need to share is the way they get the scripts (or flash files) from the various places but that doesn't mean they need to be packaged together. And I agree, the others have the security issue where as the flash one does not.

          1. Nov 30, 2005

            Daniel Ostermeier says:

            FYI: CONF4800@JIRA
          2. Nov 30, 2005

            Guy Fraser says:

            Well, bear in mind that Flash movies can call JavaScript and being a longterm fl...

            Well, bear in mind that Flash movies can call JavaScript and being a long-term flash developer myself I know all kinds of tricks for getting Flash to take control of a web page. However, the main distinction here is that it's all client-side, unlike the other scripts which are predominantly server-side.

            Would it be worth taking any shared libraries from this plugin and moving them over to David's "Utilities Plugin"?

            Also, where do you want the JIRA issue going? SCRP?

            I'm off to bed 4:30am over here and it's cooold!

            1. Dec 01, 2005

              Bob Swift says:

              Guy, yes I meant a SCRP issue. Although if the native support can do it, that is...

              Guy, yes I meant a SCRP issue. Although if the native support can do it, that is fine. I guess I think there are more important things for them to do given this support is pretty much there in the macro. Cold? Cold is a relative thing - its -8 C here now and that's not bad for here. I suspect its not that cold where you are!?

              1. Dec 01, 2005

                Guy Fraser says:

                Yes, but at the time of writing, my roof was lying in a big mangled pile in the ...

                Yes, but at the time of writing, my roof was lying in a big mangled pile in the middle of my back garden

  2. Dec 10, 2005

    David Peterson says:

    You have been busy Bob. Nice work!

    You have been busy Bob. Nice work!

  3. Mar 13, 2006

    Javed Mandary says:

    Hi am trying to install the scriptingplugins2.2.jar on Confluence 2.1 to use the...

    Hi am trying to install the scripting-plugins-2.2.jar on Confluence 2.1 to use the sql macro, previously installed Utilities Plugin however am getting :

    Cause:
    bucket.core.InfrastructureException: java.lang.NoClassDefFoundError: org/randombits/confluence/utilities/ConfluenceMacro
     at com.atlassian.confluence.util.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:151) 
    caused by: java.lang.NoClassDefFoundError: org/randombits/confluence/utilities/ConfluenceMacro
     at java.lang.ClassLoader.defineClass1(Native Method)

    Is there anything am missing here?

    1. Mar 13, 2006

      David Peterson says:

      At a guess, there are two possibilities here: # You have installed the Utilitie...

      At a guess, there are two possibilities here:

      1. You have installed the Utilities plugin by uploading it rather than putting it into WEB-INF/lib. If Utilities is uploaded, other uploaded plugins can't access the classes, due to the way uploaded plugin work.
      2. You have an old version of Utilities installed which doesn't contain the ConfluenceMacro class.

      The first is the more likely of the two - you have to go a fair way back to not have ComfluenceMacro. Hope that helps.

  4. Mar 13, 2006

    Javed Mandary says:

    Thanks David placing the utilities jar directly under WEBINF/lib solves the prob...

    Thanks David placing the utilities jar directly under WEB-INF/lib solves the probelm

  5. Mar 14, 2006

    Barthélémy von Haller says:

    Hi, I am trying to install the scriptingplugins2.2.jar on Confluence 2.1. I inst...

    Hi,

    I am trying to install the scripting-plugins-2.2.jar on Confluence 2.1.

    I installed utilities-plugin-2.0.3.jar in the confluence/tomcat-base/shared/lib directory (not in the filestore/plugins directory !!) and after restarting tomcat I can see it in the plugin manager. However I get the following error when trying to install scripting-plugins : bucket.core.InfrastructureException: java.lang.NoClassDefFoundError: com/atlassian/renderer/v2/macro/BaseMacro
    at com.atlassian.confluence.util.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:151) Caused by: java.lang.NoClassDefFoundError: com/atlassian/renderer/v2/macro/BaseMacro
    at java.lang.ClassLoader.defineClass1(Native Method)

    Look, it isn't the same error as Javed...

    Unfortunately the directory structure that our administrator created doesn't seem to have a clear WEB-INF/lib as it was on my own computer, and our administrator is not here this week... It's why I put the Utilites where I said above.

    Any idea on what is the problem ?

     Thanks in advance

    Barth 

    1. Mar 14, 2006

      Guy Fraser says:

      It sounds like you've installed the Confluence 2.0.x version of the Utilities pl...

      It sounds like you've installed the Confluence 2.0.x version of the Utilities plugin. Please check that you get the correct version of the Utilities plugin for Confluence 2.1.x

      1. Mar 14, 2006

        Barthélémy von Haller says:

        oups sorry, Indeed I am using the version 2.0 of confluence. Therefore the versi...

        oups sorry,

        Indeed I am using the version 2.0 of confluence. Therefore the version of utilities should be correct.

        1. Mar 14, 2006

          Bob Swift says:

          So I assume you are still having problems. How did you install the scriptingplug...

          So I assume you are still having problems. How did you install the scripting-plugins-2.2.jar? In the same directory as the utilities plugin? And you restarted the server?

          1. Mar 15, 2006

            Barthélémy von Haller says:

            I installed scriptingplugins2.2.jar through the plugin manager. But, even if I p...

            I installed scripting-plugins-2.2.jar through the plugin manager. But, even if I put it manually to the filestore/plugins directory, I get the error when rescanning for new plugins. Then if I restart the server, I can't even reach confluence.

            1. Mar 15, 2006

              Bob Swift says:

              I don't think I can help you. The info you provided points at Atlassian code. Yo...

              I don't think I can help you. The info you provided points at Atlassian code. You might try opening a support ticket and see if they can help or wait for your administrator to return. Sorry.

    2. Mar 14, 2006

      David Peterson says:

      Probably the best thing would be to raise an issue in Jira (

      Probably the best thing would be to raise an issue in Jira (http://developer.atlassian.com/jira/browse/SCRP) and past in the complete stack trace. It's difficult to tell exactly what's triggering the exception from here, and I haven't seen that particular problem before.

      The fact that you can't find a WEB-INF/lib directory is also rather odd. I'm not sure what Webapp Server you're using, but you could also try putting Utilities somewhere else in the classpath. In Tomcat, /lib/common should also work.

  6. Mar 15, 2006

    Barthélémy von Haller says:

    Thanks everybody \! I found where I should put Utilities Plugin et it seems to w...

    Thanks everybody !

    I found where I should put Utilities Plugin et it seems to work well now.
    Thanks again

  7. May 03, 2006

    Guy Fraser says:

    Would it be possible to split some of the macros that have dependencies out in t...

    Would it be possible to split some of the macros that have dependencies out in to their own plugin? The cache macro is of general use to almost everyone, however it's a pain to have to install all the dependencies if you only want to use the cache macro...

    1. May 03, 2006

      Jonathan Nolen says:

      I've been talking with Bob about this. It's definitely on the todo list, it's ju...

      I've been talking with Bob about this. It's definitely on the todo list, it's just a matter of him having the time to do it.

      But with the new way that Conf 2.2 handles dependency checking, this is really necessary now.

      1. May 03, 2006

        Bob Swift says:

        Sorry, almost all my time is going to upgrading to 2.2 and the struggles with ge...

        Sorry, almost all my time is going to upgrading to 2.2 and the struggles with getting LDAP working.