IdentityIQ Announcement Plugin

That did it. Appreciate your responsiveness and how quick you were. This plugin has been something the team and I have wanted for a very long time but didn’t even know existed. Great addition. Thanks again.

1 Like

Nice one @Shandeep .

1 Like

Hello again @Shandeep! I believe I have found a bug with the plugin again.

This time, if a user goes inactive within IIQ for too long, they get prompted to sign in again (which is obviously
intentional). However, due to the nature of how the banner makes the text move across the screen, it causes it to “flash” the login prompt on the screen. I’ll attach a video.

@FELDHK1 ,

Nice find, Looks like IIQ also have a Fade In Fade Out animation that was interfering with the Announcement’s Fade In Fade Out animation.

It’s fixed now, Check it out.

1 Like

I wasn’t using the fade in and out, just the animation from left to right. I believe it’s still occurring. Let me try clearing my browser, etc. How do I get the update you made, is there a new zip or did you do something via IIQ instead?

@FELDHK1

Download the latest version here Version 3.1

You can directly import the new version, If you face any error remove the old version and import the new version

3 Likes

Seems to be holding up well so far! Thanks again for being so fast and responsive. This plugin will helps thousands of people

We are having an error trying to get this plugin to work in our environment. We are able to install the plugin and configure it’s setting, however, it won’t appear when we restart IIQ, refresh the browser, and clear our cache. Looking the logs, we are seeing this error message with the announcement plugin:

java.lang.UnsupportedClassVersionError: dev/shandeep/announcementplugin/Configure has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:635)
        at sailpoint.plugin.PluginClassLoader.findClass(PluginClassLoader.java:95)       
        at sailpoint.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:113)      
        at sailpoint.plugin.ConcurrentMapCache$CachedPlugin.getResourceClasses(ConcurrentMapCache.java:885)
        at sailpoint.plugin.ConcurrentMapCache.getConfiguredResourcesForPlugin(ConcurrentMapCache.java:336)
        at sailpoint.plugin.ConcurrentMapCache.getConfiguredResources(ConcurrentMapCache.java:321)
        at sailpoint.rest.plugin.SailPointPluginRestApplication.<init>(SailPointPluginRestApplication.java:58)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.glassfish.hk2.utilities.reflection.ReflectionHelper.makeMe(ReflectionHelper.java:1356)
        at org.jvnet.hk2.internal.Utilities.justCreate(Utilities.java:1059)
        at org.jvnet.hk2.internal.ServiceLocatorImpl.create(ServiceLocatorImpl.java:968) 
        at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1072)
        at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1064)
        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.createAndInitialize(AbstractHk2InjectionManager.java:189)
        at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.createAndInitialize(ImmediateHk2InjectionManager.java:30)
        at org.glassfish.jersey.server.ApplicationConfigurator.createApplication(ApplicationConfigurator.java:114)
        at org.glassfish.jersey.server.ApplicationConfigurator.init(ApplicationConfigurator.java:72)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$0(ApplicationHandler.java:290)
        at java.util.Arrays$ArrayList.forEach(Arrays.java:3880)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:290)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:259)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)       
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154) 
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347) 
        at javax.servlet.GenericServlet.init(GenericServlet.java:158)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1143)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1096)
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:767)   
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) 
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)  
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)   
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)    
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

        at java.util.Arrays$ArrayList.forEach(Arrays.java:3880)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:290)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:259)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347)
        at javax.servlet.GenericServlet.init(GenericServlet.java:158)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1143)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1096)
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:767)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

We are currently running Java 1.8.

seems like plugin is build using java 11 and deployed on sailpoint instance running on java 8 .

1 Like

The plugin is indeed created using Java 11 and your install is running in JRE8.

I had the same issues at one of our clients.

You can rebuild the plugin yourself, by cloning the git repo :slight_smile:

This is one of the reasons I love CoLab :smiley:

– Remold

1 Like

Hey thank you all so much for your help on this! The plugin is wonderful!

2 Likes

This is Nice. Good job @Shandeep :clap:

1 Like

We are using 8.3p3 version and I have uploaded the 3.1 version but after setting the configuration and refreshing the IIQ the message is not getting displayed

Hi @Aradhana_Mohapatra,

I don’t see any issue with the Announcement in 8.3p3.

Can you show the Plugin configuration?

Hi @Shandeep Srinivas
I have tried again setting this however the announcement still doesnot appear on home page.

Please let me know if I can check with any other config settings.

Regards,
Aradhana