Plugin File Upload

Hi all,

I’m currently developing a custom plugin in order to upload some excel files and parse them to create structures on IIQ.
I’ve managed to successfully upload a file using .zip, but I keep getting the error “ClassNotFoundException” on a class imported by an external library (i.e. org.apache.poi.ss.usermodel.Row).

I’ve tested the code locally and it works, I suspect it may have something to do with dependencies/jars.

Do you know what I’m missing here?
Do I need some ad hoc change on the build.xml file in order to correctly import external libraries?

Thank you.

Hi Guiseppe,
did you found a solution already? If not it would be a starting point to check if you need to add an external library into the restResources entry within the manifest file. We were facing some issues as well and it was necessary to add e.g.

             <entry key="restResources">
                <value>
                    <List>
                        <String>org.glassfish.jersey.media.multipart.MultiPartFeature</String>
                    </List>
                </value>
            </entry>

to get our feature working.

Hello,

I am guessing you are trying to using the poi library for Excel generation within the plugin.
By default IIQ doesnt have poi libraries within the package, have you include them in the plugin lib/ ?
Additionally, you might need to double check the poi jar version you are using, as I recalled with 5+ version, there are additionally dependencies needed to be take care (and those dependencies may not included in the OOTB IIQ package)

1 Like

This question is why I’d rather use Maven to build my IdentityIQ plugins, then SSB/Ant. Gotta have that dependency handling.

In the examples we use ANT, not the SSB, thats a different set of build scripts.

There is nothing stopping you use Maven if you wish, and I understand the dependancy handling. Personally I like Gradle but have used Maven as well in the past to build Plugins.

The Plugin package is essentially a ZIP file with an expected folder structure to store the artefacts in. I would say the only trick needed is at the compile stage as you would need to reference IdentityIQ libs, which are not available from the internet but is doable.

1 Like

Hi @GiuseppeA

Would you be able to guide me how you created File upload plugin or share some code snippets ?
I have tried but keep on getting 405 response and an error request scope has already been closed…
Any guidance would be welcome…

Thanks