Hitachi Vantara Pentaho Community Wiki
Skip to end of metadata
Go to start of metadata

Introduction

This wiki explain how to install the Output Alfresco Plugin into Kettle Pentaho (PDI).

Details

Add your content here. Format your content with:

  • Text in bold or italic
  • Headings, paragraphs, and lists
  • Automatic links to other wiki pages

I assume you have the Kettle folder installed on your file system.

Step 1 - download and install

Now, download the AlfrescoPlugin.tar.gz archive from this web-site home page and extract it into this folder: ../<kettle root>/plugins/steps
E.g.: c:/Kettle/plugins/steps

After archive extraction you should have a path like this: ../<kettle root>/plugins/steps/AlfrescoPlugin
and into the AlfrescoPlugin folder you should have these files:

  • alfrescoicon.png
  • alfrescoplugin.jar
  • plugin.properties
  • plugin.xml

Step 2 - plugin.properties

I developed the plugin in order to be used with an Alfresco Custom Content-Model. As you know well, a custom content-model is a custom entity used build documents with specific metadata. For example, you may need to build documents into Alfresco that identifies a car. A car has some specific characteristics and it's very useful to define them as document metadata, specially to be able to perform useful research into Alfresco. Then, if I want to typify a document with some specific metadata, I've to define a Custom Content-Model, as an xml file, with custom properties as:

  • carModel
  • carEngine
  • carColour
  • ecc...

Then let's assume you have defined and configured the Custom Content-Model into Alfresco. (I believe the plugin works with standard content-model too...).

Now you can see the Plugin icon into Kettle Software.

The last action is to configure the plugin.properties file.

This file contains some plugin properties regarding the Alfresco repository and the Alfresco Custom Content-Model you want to use:

  • alfresco.custom.property.doc.content This property value is the step input field from which the plugin will read the content to be filled into document objects loaded into Alfresco repository.
  • alfresco.loading.path

This property value is the path of the Alfresco repository Space (folder) into which you want to load the documents.

  • alfresco.endpoint.address

This property value represent the Alfresco API endpoint url; usually http://localhost:8080/alfresco/api*

  • alfresco.custom.property.title

This property specifies the step input field to be used to fille the Alfresco Document Title metadata.

  • alfresco.custom.property.primarykey

This property specifies the Alfresco custom content-Model metadata to be used to distinguish unequivocally a Document loaded into Alfresco. Indeed, the Alfresco plugin is able to control if a Document already exist into a specified path into Alfresco Repository through the primaryKey property.

  • alfresco.custom.property.doc.description

This property specifies which step input field is to be used as description for Alfresco Document.

  • alfresco.content.username=admin

The alfresco Content username.

  • alfresco.custom.namespace.url

The alfresco Custom Content-Model namespace. E.g.: htt://www.mynamespace.it/model/content/1.0

  • alfresco.custom.content.type=ritrovamento

The Alfresco Custom Content-Model name. E.g.: car

  • alfresco.content.password=admin

The Alfresco Content password.

  • cms.type=alfresco

The CMS type. Now only alfresco is supported by plugin, then the value of this property will be: alfresco.

Now we have finished to install and configure the plugin.

jar dependencies

It is possible (I hope not..) to have some problems with the jar dependencies of the plugin. It uses some Alfresco API and some Kettle API and you have to includ all jars into this folder ../<kettle root>/libext The main thing is to have included all jars into the Operating System Environment Variable "CLASSPATH".
I hope this work. If not, contact me!

  • No labels

5 Comments

  1. user-4fe35

    Hi

       Can you give the URL path to dowload the AlfrescoPlugin.tar.gz file.............

    Found it here --> http://code.google.com/p/kettlepentahoalfrescoplugin/downloads/list\\

    thanks.............

  2. user-72358

    I installed this Pentaho plug-in and set-up a custom content model example on my Alfresco server, but Alfresco failed to work properly afterwards, so I had to revert my changes. I used the packaged .xml examples supplied with the Alfresco install package, so I don't think they were the problem.

    I'm not sure what other troubleshooting I can do, so if anyone has successfully implemented this, I would love to hear how you did it!

  3. user-53432

    There exists another plugin that connects to any cmis compliant content management system like Alfresco.

    You can find it here http://code.google.com/p/pdi-cmis-plugin/downloads/list

    Unzip the file and add the contents of it to the plugins directory.

  4. user-72358

    Gunter-

    Thank you for responding and your recommendation. I installed the package this morning, but was not able to get a valid connection. Each time I get an error, such as, "Unexpected document! Received something unknown!" ; "Parsing exception!"

    Do you have successful experience installing this step and using it? Documentation?

    I downloaded and unzipped the files into my PDI install location; Created a new transformation, added Table Input and connected it to the CMIS Put document Step. Under Connection->URL I used http://alfresco.xxxx.com/share/page/site-index with a valid User Name and Password, but I get an error: Connection failed for user xxx.xxx "Unexpected document! Received something unknown!"

    java.lang.Exception: Unexpected document! Received something unknown! at org.denooze.plugins.steps.cmisput.CmisPutDialog.test(CmisPutDialog.java:1485) at org.denooze.plugins.steps.cmisput.CmisPutDialog.access$3200(CmisPutDialog.java:69) at org.denooze.plugins.steps.cmisput.CmisPutDialog$15.handleEvent(CmisPutDialog.java:1138) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at org.denooze.plugins.steps.cmisput.CmisPutDialog.open(CmisPutDialog.java:1162) at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:126) at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:7731) at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:2744) at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:693) at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1169) at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:6943) at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:553) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.pentaho.commons.launcher.Launcher.main(Launcher.java:134)

    I used a few different URLs and I got a different type error each time.

    We may have to move this discussion into the Pentaho forums or Google project home, but I would love to continue and get this thing working!