Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [che-dev] che-dev Digest, Vol 15, Issue 54

Hi Pavel:

I am just followig up with some additional information that may be useful for you. So, it seems that the Eclipse Orion editor has built in very nice tern.js support. They include that support on the client-side of their product. Though we are fairly certain that it will be easy to export that and have it run similarly to the way that we handle JDT code.  This is a strong desire of our project because we need server-side tern processing in order to enable cross-project and cross-workspace language intellisense for _javascript_. The Orion project provides that with some server-side APIs that help to connect those items together. We'd like to extend that concept to have a more consistent server-side approach to incorporating these libraries.

I would hope that we could collborate together on such an effort and potentially both contribute some resources to working on this exercise.  We would not be able to start this in earnest until after we have finished the major initial release of Che, which needs another couple sprints.

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55


On Wed, Mar 2, 2016 at 7:43 PM, Tyler Jewell <tyler@xxxxxxxxxxx> wrote:
Hi Pavel:

Our team is a bit heads down on prepping the initial release of 4.0 and EclipseCon next week.  You'll want a proper technology summary, but this may take us a few days.

But what I wanted to do was to start you with some examples on how we do it in Java to get you acclimated.
1. First, we re-package the Eclipse JDT.

2. Second, the JDT is then provided with a RESTful wrapper that runs inside of a Tomcat instance inside of a machine.

3. Third, our assembly process takes care to package a WAR file that is injected into the workspace machine.
See /assembly/assembly-machine-war.

The rest is history :)  Those RESTful services are then exposed over HTTP and web sockets.  We then have various Java & Editor plug-ins that can make direct use of those services on the client side.

If you can start poking around these basic constructs and send along questions, over the coming days & weeks we can prepare a more thorough technical response.

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55


On Wed, Mar 2, 2016 at 1:16 AM, Sosin, Pavel <pavel.sosin@xxxxxxx> wrote:
Hello colleagues,

I would like to proceed with the solution described below. Could you assist?

I would like to get some hints how to run TERN based REST server inside eclipse-che machine. Could you provide guideline for che-4.0 installation which includes machine able to run node.js ( as a server ) and any example for such landscape?

To enable "direct" access to workspace artifacts I need also node.js api which translates web resource URIs into workspace artifact path and expose workspace artifacts for reading by TERN.JS running on node.js. Have you such api?

BR
Pavel Sosin

-----Original Message-----
From: che-dev-bounces@xxxxxxxxxxx [mailto:che-dev-bounces@xxxxxxxxxxx] On Behalf Of che-dev-request@xxxxxxxxxxx
Sent: 29 February 2016 19:00
To: che-dev@xxxxxxxxxxx
Subject: che-dev Digest, Vol 15, Issue 54

Send che-dev mailing list submissions to
        che-dev@xxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
        https://dev.eclipse.org/mailman/listinfo/che-dev
or, via email, send a message with subject or body 'help' to
        che-dev-request@xxxxxxxxxxx

You can reach the person managing the list at
        che-dev-owner@xxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of che-dev digest..."


Today's Topics:

   1. Re: Using TERN as ( a _javascript_ Code Assistance )        backend
      service (Tyler Jewell)
   2. Changelog: CHE-521: Perform git init command without      initial
      commit (4_0-changeslog@xxxxxxxxxxx)
   3. Changelog: CHE-22: check environment parameter on workspace
      start (4_0-changeslog@xxxxxxxxxxx)
   4.  Changelog: CHE-75: Cut long names in editor tab.
      (4_0-changeslog@xxxxxxxxxxx)
   5. Changelog: Provide list of exposed ports to help user to
      debug process on dev machine (4_0-changeslog@xxxxxxxxxxx)


----------------------------------------------------------------------

Message: 1
Date: Sun, 28 Feb 2016 12:37:57 -0800
From: Tyler Jewell <tyler@xxxxxxxxxxx>
To: che developer discussions <che-dev@xxxxxxxxxxx>
Subject: Re: [che-dev] Using TERN as ( a _javascript_ Code Assistance )
        backend service
Message-ID:
        <CAMzFgbVLsGQbPteECadnqPiFF09-6jrBWqCZeXiiCZfReZ8WJw@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="utf-8"

Hello Pavel:

For 4.0, the preferred code assistant approach is server-side. We have done
this work for Java, but not any other language. And even for Java, we have
a lot more work left to do. In the Java plug-in, we include the JDT core
and this gets injected into the workspace runtime when a developer adds a
project that has Java files or a Java-related project type.  We then place
a standardized RESTful wrapper around these JDT services that is hooked
into the editor.  The performance and responsiveness is quite good - feels
just like localhost development.

We have not done this for _javascript_. 4.0 uses the Orion editor, so
currently when a _javascript_ file is detected, we use the embedded utilities
of Orion for _javascript_ code assistants, which are client-side. This works
ok for single files, but it does not handle any cross-project _javascript_
references.

As you indicate, a better approach would be to add in a Tern-style syntax
analysis running within the workspace hooked up to the standard RESTful
interfaces so that the remote editor in the browser can include those
recommendations.

We do not have any near term plans to add this, but would be able to
support you if you wanted to explore setting this up.  We'd love to explore
this together.

Tyler Jewell | CEO | tyler@?codenvy.?com | 9?78?.8?84?.53?55

On Sun, Feb 28, 2016 at 7:26 AM, Sosin, Pavel <pavel.sosin@xxxxxxx> wrote:

> Hello colleagues,
>
>
>
> I already asked about code assistance implementation approach (client side
> vs. server side) about 1 year ago and your answer was that the server side
> processing looks more promising from the performance point of view.
>
> Meanwhile, I implemented a lot of area specific logic at the client side
> via extension of old Orion client and see that the processing turns to be
> heavier and heavier. The main reason is the intensive interchange of
> project state info between client and server. For the big projects it
> produces dozens of roundtrips. In my case also libraries metadata is
> accessed via cloud services and it increases the data volume and number of
> roundtrips even further.
>
>
>
> Looking at the recent eclipse-che version I see the tern based _javascript_
> code assistance implementation where tern runs in the web worker, i.e.
> still at the client side. Is it the target architecture or some
> intermediate state of development? Have you any plans to move _javascript_
> code assistance processing to the server side or this idea is not relevant
> anymore?
>
>
>
> BR
>
> Pavel Sosin
>
>
>
> _______________________________________________
> che-dev mailing list
> che-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/che-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dev.eclipse.org/mailman/private/che-dev/attachments/20160228/d1f65044/attachment.html>

------------------------------

Message: 2
Date: Mon, 29 Feb 2016 09:46:31 +0000 (UTC)
From: 4_0-changeslog@xxxxxxxxxxx
To: che-dev@xxxxxxxxxxx
Subject: [che-dev] Changelog: CHE-521: Perform git init command
        without initial commit
Message-ID: <20160229094631.9D9AE22687@xxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=utf8

[che-dev] Changelog: CHE-521: Perform git init command without initial commit
Display a message if initial commit required.
<https://github.com/eclipse/che/pull/473>


------------------------------

Message: 3
Date: Mon, 29 Feb 2016 10:00:16 +0000 (UTC)
From: 4_0-changeslog@xxxxxxxxxxx
To: che-dev@xxxxxxxxxxx
Subject: [che-dev] Changelog: CHE-22: check environment parameter on
        workspace start
Message-ID: <20160229100016.C65E7226D5@xxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=utf8

[che-dev] Changelog: CHE-22: check environment parameter on workspace start
<https://github.com/eclipse/che/pull/518>


------------------------------

Message: 4
Date: Mon, 29 Feb 2016 10:57:02 +0000 (UTC)
From: 4_0-changeslog@xxxxxxxxxxx
To: che-dev@xxxxxxxxxxx
Subject: [che-dev]  Changelog: CHE-75: Cut long names in editor tab.
Message-ID: <20160229105702.0FB4A22687@xxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=utf8

[che-dev] Changelog: CHE-75: Cut long names in editor tab.
<https://github.com/eclipse/che/pull/564>


------------------------------

Message: 5
Date: Mon, 29 Feb 2016 14:27:41 +0000 (UTC)
From: 4_0-changeslog@xxxxxxxxxxx
To: che-dev@xxxxxxxxxxx
Subject: [che-dev] Changelog: Provide list of exposed ports to help
        user to debug process on dev machine
Message-ID: <20160229142741.70E0A22687@xxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=utf8

[che-dev] Changelog: Provide list of exposed ports to help user to debug process on dev machine
*Issue* <https://jira.codenvycorp.com/browse/CHE-359>
*PR* <https://github.com/eclipse/che/pull/534>


------------------------------

_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/che-dev


End of che-dev Digest, Vol 15, Issue 54
***************************************
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/che-dev



Back to the top