Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pdt-dev] Ambitious composer plans

Hi,

 

I am on this list as well. Feel free to ask any Sapphire questions you might have.

 

> I would bet on Sapphire. AFAIK, it was designed for XML-based descriptors

> (like the Java EE XML descriptors), but perhaps it evolved over the years to

> support also JSON-based descriptors like composer.json. 

 

Sapphire has a general-purpose resource system that sits beneath the model and handles reading/writing properties. The framework ships currently with a basic memory resource and an XML resource that uses annotations to control how to bind model properties to XML DOM. Adopters have implemented custom resources for various scenarios.

 

JSON support would, of course, be very useful in a wide variety of applications. The primary blocker for this has been the lack of a decent JSON source editor, but that’s about to change. If you guys decide to go forward with Sapphire, I’d be interested in partnering with you on adding generic JSON support to the framework, which you would then leverage to build the composer editor.

 

Thanks,

 

- Konstantin

 

 


From: Kaloyan Raev
Sent: Thursday, October 29, 2015 2:41 AM
To: PDT Developers
Subject: Re: [pdt-dev] Ambitious composer plans

 

 

Hi Thomas,

 

I would bet on Sapphire. AFAIK, it was designed for XML-based descriptors (like the Java EE XML descriptors), but perhaps it evolved over the years to support also JSON-based descriptors like composer.json. 

 

I would recommend that you first describe the Composer use case in the Sapphire forum and ask for guidance how to start modeling it. Most probably, it will be again Konstantin that will answer you - he is leading the Sapphire project.

 

Greetings,

Kaloyan

 

On Thu, Oct 29, 2015 at 11:20 AM, Thomas Gossmann <eclipse@xxxxxx> wrote:

Hi guys,

I send a mail to ide-dev@xxxxxxxxxxx [1] and get an answer [2]. Konstantin was so kind to point me to three eclipse projects. I roughly scanned through them.

Scout: Might not be for us, looks more like web-technics
EFF: This might be a place to contribute my code
Sapphire: This is a totally different approach and I really like it. I'd rather look into this than contributing code (I haven't tried it out yet).

Would like to get your opinions about it - maybe you even know about other alternatives.

[1] https://dev.eclipse.org/mhonarc/lists/ide-dev/msg00885.html
[2] https://dev.eclipse.org/mhonarc/lists/ide-dev/msg00886.html

gossi

Am 09.10.15 um 11:45 schrieb Kaloyan Raev:

Hi Gossi,

Regarding this:
 > 2. Eclipse components: That's to sort out were to put them, then port
them to e4 and put them at their desired location (whom to talk to?)

I suggest that you write to the ide-dev@xxxxxxxxxxx
<mailto:ide-dev@xxxxxxxxxxx> mailing list. Describe what you have in
your project and ask which Eclipse project is the best target for
contribution.

Greetings,
Kaloyan

On Fri, Oct 9, 2015 at 12:35 PM, Thomas Gossmann <eclipse@xxxxxx

<mailto:eclipse@xxxxxx>> wrote:

    Guys,

    I need to catch up on a couple of things here, I guess:

    1) A plan sounds great. This would require a greater strategy than
    we thought at first (see below).

    2) PEX Composer + Zend Composer = PDT Composer:
    I love this merge. I can only judge Zend Composer from screenshots,
    so I think from the UI perspective and with composer java bindings,
    this is were PEX composer shines, when it comes to provide APIs to
    other tools, there is nothing PEX composer can offer, so the zend
    composer APIs would be a great addition (I just assume there are
    some, based on what Michal said).

    3) Dependencies:
    There are a lot of dependencies involved, though not all of them
    need to be reused as there might be newer alternatives available.
    I'll quickly go through them for PEX composer (I summarize them as
    "The Challenges" in my blog post):
    - Composer Java Bindings: They were mainly written by me, however
    they depend on "json-simple", both of them needs to be made
    available to eclipse - that's where you guys know how to do that.
    Maybe it also makes sense to include the bindings into eclipse as well.
    - JSON-Editor: Using the new json editor for wtp is the way to go
    here (see my planning below)
    - Eclipse elements/widgets: That's what I extracted from the
    PDE-Editor and reused it first in the composer plugin and then
    extracted it into its own lib:
    https://github.com/gossi/eclipse-components which should be ported
    to e4 and then made available to eclipse
    - Running CLI-Tools: That's a very tricky part and I explained a lot
    about this in the blog post. As this is not only a task for composer
    but also for npm/bower/all the other cli tools you use nowadays you
    might run from eclipse. We should reach out and create a solid API
    within the WTP or DLTK? E.g. the npm/bower editor might also have a
    similar editor to composer someday, with install/update actions on top.

    4) Planning:
    (I need to make a personal note here: I am currently taking my final
    university exams (one more to go) and afterwards will be working for
    6 months on my thesis as you can imagine I won't be of that much
    help during that time)
    Nevertheless, the code for the composer related stuff is ready to
    port, yet it's about the dependencies. The first step would be to
    sort this out and work on them first.

    A) Dependencies:
    1. JSON-Editor will be around for neon. We are in no time pressure
    or hurry, I expect the other dependencies to be ready at this time
    as well.
    2. Eclipse components: That's to sort out were to put them, then
    port them to e4 and put them at their desired location (whom to talk
    to?)
    3. Cli-Tools: Reach out for the npm/bower guys, talk with them and
    work on the foundation for that.
    4. Manage all IP/CQ, whatever needs to be done.

    Dependencies should be ready and shipped with neon.

    B) Composer:
    Now that everything is sorted out, the composer codebases can be
    merged into PDT, creating nice APIs, etc.


    PS. Maybe create a wiki page with a plan and items that are todo?

    gossi

    Am 09.10.15 um 08:59 schrieb Michał Niewrzał:

             Maybe we should resurrect pdt.incubator ?


        +1

             BTW, I also think that at least two most active commiters
        should be
             invited to PDT team.


        Sounds good to me.

        Greetings,
        Michal

        On Wed, Oct 7, 2015 at 5:47 PM, Dawid Pakuła <zulus@xxxxxxxxx
        <mailto:zulus@xxxxxxxxx>

        <mailto:zulus@xxxxxxxxx <mailto:zulus@xxxxxxxxx>>> wrote:

             Hi,

             Plan looks good. Gossi?
             Problem are not library dependencies. Composer plugin use
        code from
             other projects:
             1. Provide metadata for class/interface wizard, so probably
        should
             be moved to PDT
             2. Require E4, fortunately we decide to keep api
        compatibility with
             previous eclipse release only
             3. Use JSON editor from outside eclipse, JSON-WTP is still
        in CQ phase
             4. Is based on Robert Composer Java Bindings. This library
        probably
             also should be moved to PDT and released in eclipse maven
        repository.

             Maybe we should resurrect pdt.incubator ?

             BTW, I also think that at least two most active commiters
        should be
             invited to PDT team.

             --
             Dawid Pakuła
        +48 795 996 064 <tel:%2B48%20795%20996%20064>
        <tel:%2B48%20795%20996%20064>

             On 7 October 2015 at 08:12:15, Kaloyan Raev
        (kaloyan.r@xxxxxxxx <mailto:kaloyan.r@xxxxxxxx>

             <mailto:kaloyan.r@xxxxxxxx <mailto:kaloyan.r@xxxxxxxx>>) wrote:

                 Hi,

                 I think we need to build a plan and start executing it.
            How about
                 this:

                 1. Open CQs with code contributions to PDT. This may be
            quite a
                 heavy step. As far as I understand, the PEX Composer
            has a lot of
                 dependencies. We need to clarify what gets contributed
            to PDT and
                 what is removed as dependency. We (Zend) can also
            contribute via
                 CQ our Composer plugin from Zend Studio. Once we have
            the code of
                 both PEX and Zend Composer plugins under EPL and
            IP-verified we
                 can start thinking how to merge them in the ultimate
            PDT Composer
                 plugin.

                 2. Agree and implement a common Core API part for both PEX
                 Composer and Zend Composer plugins. The goal is that we
            have all
                 plugins depending on Composer (like the Symfony plugin
            from PEX
                 and the Apigility plugin from Zend Studio) to use a common
                 Composer Core API.

                 3. Start merging the UI.

                 What do you think?

                 Kaloyan

                 On Tue, Oct 6, 2015 at 5:37 PM, Dawid Pakuła
            <zulus@xxxxxxxxx <mailto:zulus@xxxxxxxxx>

                 <mailto:zulus@xxxxxxxxx <mailto:zulus@xxxxxxxxx>>> wrote:

                     Hi,

                     I want refresh this topic because we are in post 3.6.

                      Would be good to start IP cleanup process.
                     --
                     Dawid Pakuła
            +48 795 996 064 <tel:%2B48%20795%20996%20064>
            <tel:%2B48%20795%20996%20064>

                     On 22 September 2015 at 15:02:26, Dawid Pakuła
                     (zulus@xxxxxxxxx <mailto:zulus@xxxxxxxxx>
            <mailto:zulus@xxxxxxxxx <mailto:zulus@xxxxxxxxx>>) wrote:

                         HI,

                         Thanks for that!

                         Two comment from me for now:
                         1. JSON: On JSDT gerrit pending WTP-based JSON
                editor [1][2]
                         I hope it will be merged in Neon (together with
                bower support)
                         2. Namespace support: I opened bug to add class
                loader
                         metadata into build path [3]. Composer / puli
                or any other
                         plugin can provide such information.

                         [1] -
                https://bugs.eclipse.org/bugs/show_bug.cgi?id=471820
                         [2] - https://git.eclipse.org/r/#/c/51516/
                         [3] -
                https://bugs.eclipse.org/bugs/show_bug.cgi?id=472758

                         --
                         Dawid Pakuła
                +48 795 996 064 <tel:%2B48%20795%20996%20064>
                <tel:%2B48%20795%20996%20064>

                         On 22 September 2015 at 14:50:02, Thomas Gossmann
                         (eclipse@xxxxxx <mailto:eclipse@xxxxxx>

                <mailto:eclipse@xxxxxx <mailto:eclipse@xxxxxx>>) wrote:

                             Hey guys,

                             I write a blog post about the composer
                    plans [1] that Robert
                             and me
                             discovered when we initially created the
                    plugin and also
                             talks about
                             merging this into PDT. So, despite having
                    the idea of
                             merging composer
                             into PDT, it is much more interessting to
                    get the original
                             idea of the
                             composer plugin. Especially since it has a
                    lot potential for
                             PDT.

                             I unfortunately had to cancel the GSOC
                    project even before
                             it was
                             submitted. Yet next summer still may be an
                    opportunity for this
                             (depending on how fast I finish).

                             Nevertheless, merging composer into PDT is
                    a huge effort and
                             there are a
                             lot of challenges ahead (which I address in
                    my post). It is
                             also way
                             more than just refactoring the appropriate
                    package names. I
                             assume the
                             workload for one person to be 3 month
                    (likely higher).

                             This thread should be used to think about
                    the options we
                             have, what
                             needs to be prepared (and how) and probably
                    create a
                             strategy merging this.

                             [1]
                    http://gos.si/blog/pdt-and-composer-a-visionary-concept

                             gossi
                             _______________________________________________
                             pdt-dev mailing list
                    pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>

                    <mailto:pdt-dev@xxxxxxxxxxx
                    <mailto:pdt-dev@xxxxxxxxxxx>>
                             To change your delivery options, retrieve
                    your password, or
                             unsubscribe from this list, visit
                    https://dev.eclipse.org/mailman/listinfo/pdt-dev


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


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


             _______________________________________________
             pdt-dev mailing list
        pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>
        <mailto:pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>>


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




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

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




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

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

 

 

 


Back to the top