Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow use of neo4j webadmin console #5

Open
Riduidel opened this issue Mar 26, 2012 · 4 comments
Open

Allow use of neo4j webadmin console #5

Riduidel opened this issue Mar 26, 2012 · 4 comments

Comments

@Riduidel
Copy link
Contributor

According to Neo4j documentation, there is a web admin console available to standard installations. According to more specific documentation, this web admin console seems to be started in an "hidden" fashion by server.

As the application we're developping make intensive use of Neo4j through the JCA connector, I think it would be really nice to access this admin UI in a way compatible with Glassfish admin. I already asked the question to Neo4j user group, and it seems there is no fundamental opposition to that development.

But, how to do it ? I'm willing to perform that dev, but don't really know the best way : should we embed neo4j adminbehind a kind of "redirecting war" ?

@alexsmirnov
Copy link
Owner

Yes, I like the idea ( I already thought about it ). The main problem that
web admin console starts embedded web server by its own, and listen to
network connections directly. There was a project that converts web console
into war application, but it seems abandoned ( correct me if you know how
to run admin in the existing servlet container ).
Hope I'll have a time to integrate console with container, I really need it
too.

On Mon, Mar 26, 2012 at 1:48 AM, Nicolas Delsaux <
[email protected]

wrote:

According to Neo4j documentation, there is a web admin console
available to standard installations. According to more specific
documentation, this web admin console seems to be started in an "hidden"
fashion by server.

As the application we're developping make intensive use of Neo4j through
the JCA connector, I think it would be really nice to access this admin UI
in a way compatible with Glassfish admin. I already asked the question to
Neo4j user group
,
and it seems there is no fundamental opposition to that development.

But, how to do it ? I'm willing to perform that dev, but don't really know
the best way : should we embed neo4j adminbehind a kind of "redirecting
war" ?


Reply to this email directly or view it on GitHub:
#5


entia non sunt multiplicanda praeter necessitatem,
(entities should not be multiplied beyond necessity.)

@Riduidel
Copy link
Contributor Author

Well, according to our project estimate planning, i may have time to work on that feature within the next month. Furthermore, Michael Hunger of Neo4j was kind enough to direct me (in that neo4j users group thread) to that abandonned project, which, as far as I can see, may not appear as the most brilliant idea (but could be a very good starting point to examine how to redirect queries to webadmin).

Anyway, I'll examine all that soon.

If you have any idea, please share it with me, as I'm not the best expert on that field.

@alexsmirnov
Copy link
Owner

Ok. The most correct implementation should convert Neo4j server into war application that should interact with connector.
Really, it may be pretty hard because neo4j server designed to start embedded Jetty and war implementation requires some changes in the server code.
Another idea is to run embedded server in resource adapter, as described in http://docs.neo4j.org/chunked/stable/server-embedded.html.
It may break JEE server conventions ( creating threads is not recommended ), but much simple to implement. For security reasons, I think it's possible to limit listening address to localhost and create admin war that dispatches requests to embedded console. Ugly, but simple.
I did create 'webadmin' branch for these experiments. I set Neo4j version to 1.7-SNAPSHOT there, for a case if we need to push some changes to Neo4j base.
You can connect me directly by alsmirnnov at gmail.

@alexsmirnov
Copy link
Owner

After investigating current server code, I found that converting it into WAR may be much simple then I thought initially.
Webadmin seems as set of the static html/js/css files and JAX-RS beans to serve REST requests. Most of the other code looks like bootstrap for embedded Jetty and Jersey JAX-RS implementation. WAR-server can be created by:

  • import static webadmin files into web content
  • create JAX-RS Application to bootstrap rest controllers, and provide required context ( implementation of Database interface ).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants