Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Why aren't Crowd RemoteDirectories proper plugins?

Todd_Gamblin September 18, 2012

I've been developing a custom directory for Crowd, and I was thrilled to see developer.atlassian.com updated with lots of documentation. I'm attempting to switch my custom directory over to use maven and the atlassian SDK.

I'd like to add a listener along with my directory, so that I can respond to events and do special things with my directory when users log into my apps. I thought I could just make a single plugin jar that would encompass all the custom stuff needed by my organization (the remote directory and the listener). However, it doesn't seem like custom directories are first-order citizens in atlassian plugins yet.

If I want to make a listener, I do that as a plugin, per the docs on this page. If I want to make a RemoteDirectory, I have to look at these instructions. Apparently RemoteDirectories aren't plugins; they go in a standalone jar, which then needs to be dropped in WEB-INF/lib (not $CROWD_HOME/plugins). There also doesn't seem to be a good way to automate this whole process using atlas-run, because there's no good option to tell it to drop my jar into WEB-INF/lib instead of the plugins directory. If I try to build my directory as part of a plugin jar, there's seemingly no way to expose it to Crowd. I just get a ClassNotFoundException when I try to add my custom directory in the Crowd UI. I tried loading it as a component, as well, but that doesn't seem to be on the main classpath, either.

So, here are some questions:

  1. Is there some way to use the Atlassian SDK and atlas-run to launch a dev version of crowd with a custom directory installed in the lib directory? Something better than manually copying it to the target/crowd/webapp/WEB-INF/lib directory with all its dependencies?
  2. Better yet, is there some way to expose a custom directory explicitly in atlassian-plugin.xml so that the UI knows about it and can at least load it by name?
  3. Are there plans to make the Crowd plugin interface more robust? Right now it seems inconsistent, and there is no nice way to allow my custom directory settings to be changed via Crowd's UI. That's the next thing I want to do, but I don't see a good way to do this in the docs.

This question also seems relevant here. For as much as we're paying for a crowd license, it would be nice if custom connector support were more fully featured.

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

0 votes
Brian Topping September 15, 2013

Hi Todd, what was your disposition with this? It's gotten a lot of views over the last year but no answers.

I'm in a similar situation, my company has several disconnected Atlassian installations and I'd like to be able to create a plugin that contains the custom connector for our Active Directory instance. In our case though, the plugin will be for Atlassian RefApp -- i.e. a generic plugin that works across all the products. The plugin will then provide directory access to our active directory instance without caching and the specialized groups management we need. This will be distributed to all the teams so everyone can use it without Crowd (since we already have something like Crowd that has been around for almost a decade).

It seems like an oversight that directories can't be deployed as plugins. Maybe if it was available, more people would write directory connectors!

Anyone from Atlassian care to comment?

Thanks, Brian

TAGS
AUG Leaders

Atlassian Community Events