Re: pgAdmin4 - Issue of unmaintained libraries

2018-04-04 Thread Victoria Henry
Hi Dave,

On Wed, Apr 4, 2018 at 5:03 AM, Dave Page  wrote:

> Hi
>
> On Tue, Apr 3, 2018 at 9:09 PM, Joao De Almeida Pereira <
> jdealmeidapere...@pivotal.io> wrote:
>
>> Hi Dave,
>>
>> On Tue, Apr 3, 2018 at 8:32 AM Dave Page  wrote:
>>
>>> Hi
>>>
>>> On Tue, Apr 3, 2018 at 1:22 PM, Murtuza Zabuawala <
>>> murtuza.zabuaw...@enterprisedb.com> wrote:
>>>
 Hi Team,

 As we are heavily dependent on 3rd party JS libraries and some of them
 are no longer actively maintained by their respective authors (Last commit
 was approximate year ago).

 Some of the core libraries which are no longer actively maintained are,
 - Backbone 
 - wcDocker 
 - aciTree 
 - Backgrid /Backform
 - jQuery 1.x 
 version

 What would be our future plans when it comes to fixing the issues in
 the core libraries or adding new feature?
 (Ref: Email thread
 
 )

>>>
>>> Well jQuery can be updated can't it?
>>>
>>> wcDocker is, as far as I'm aware, the only library of it's kind. Unless
>>> something else has surpassed it in the last couple of years, there's
>>> nothing even close in functionality to it. aciTree was in a similar
>>> position, though Joao and team think there may be other candidates now.
>>>
>>
>> About the wcDocker, in fact it as a lot of features. In our User
>> Interviews we didn't find any person that was using features like dragging
>> and creating new panels. The only feature that we see people using was the
>> tabs. So if the only feature that people use of wcDocker is really tabs
>> there are some other libraries like:
>> react-tabs or react-tabtab (Draggable tabs) or rc-tabs(Static tabs, with
>> 52k Downloads last 7 days).
>>
>
> On a personal level, I do re-arrange the panel layout.
>

> On a practical level, we create new panels every time you use the query
> tool or debugger, or open properties dialogues etc.
>

We do know that and all the libraries that we highlighted have the ability
to create tabs dynamically.


>
>>
>> For ACITree we already started the process of isolating it from the
>> application, This will allow us in the future to replace it with something
>> that is more up to date.
>>
>>
>>> As for Backbone/Backgrid/Backform, I don't know. Backbone could maybe be
>>> replaced with React eventually. Not sure about the others.
>>>
>>> In any case, this is likely to be a problem on an ongoing basis - and I
>>> think we need to consider the future on a case by case basis when
>>> necessary. It may mean moving to a different library, or it may mean
>>> forking components, or it may be the upstream may have not had any commits
>>> for a long time simply because there is no development happening right now,
>>> but bugs may still be fixed.
>>>
>>>
>> We understand and agree that this should be handled case-by-case instead
>> of replacing everything at once since it is not feasible to do a complete
>> rewrite of the application.  But we also think it's hard to build new
>> features on top of libraries that are no longer supported.  We don't really
>> want to fork a library either because we'll become responsible for
>> maintaining that library, which means maintaining more code.  We want to
>> use libraries that are actively maintained so we can get security patches,
>> new features, etc.  Also, if we need a new functionality on a specific
>> library, we can, for example, open an issue and the maintainers of that
>> library can implement it for us or we can create a pull request for them to
>> merge.
>>
>
> Sure, but the main issue is that projects get abandoned all the time. We
> have no way of knowing what will get dropped and what won't until it
> actually happens - and even then it's not always clear, for example the
> wcDocker case where there haven't been code changes in some time, but the
> lead developer is still responding to issues very promptly.
>

There are 2 PR one from 2017 and another one from Feb that have no comments
on them, and there are open issues also because that have no answer or were
never worked on. Despite the fact that he does answer emails, it looks like
the library will not see any further development.


>
> My point is that it's very hard to know when a component needs to be
> replaced, unless the team actually announces its EOL, and even then some
> components require a huge amount of effort to replace them, when in reality
> forking them and maintaining the fork may require significantly less effort.
>

You are right, specially in the world of Javascript everything changes at a
very high rate. The decisions 

Re: pgAdmin4 - Issue of unmaintained libraries

2018-04-04 Thread Dave Page
Hi

On Tue, Apr 3, 2018 at 9:09 PM, Joao De Almeida Pereira <
jdealmeidapere...@pivotal.io> wrote:

> Hi Dave,
>
> On Tue, Apr 3, 2018 at 8:32 AM Dave Page  wrote:
>
>> Hi
>>
>> On Tue, Apr 3, 2018 at 1:22 PM, Murtuza Zabuawala > enterprisedb.com> wrote:
>>
>>> Hi Team,
>>>
>>> As we are heavily dependent on 3rd party JS libraries and some of them
>>> are no longer actively maintained by their respective authors (Last commit
>>> was approximate year ago).
>>>
>>> Some of the core libraries which are no longer actively maintained are,
>>> - Backbone 
>>> - wcDocker 
>>> - aciTree 
>>> - Backgrid /Backform
>>> - jQuery 1.x 
>>> version
>>>
>>> What would be our future plans when it comes to fixing the issues in the
>>> core libraries or adding new feature?
>>> (Ref: Email thread
>>> 
>>> )
>>>
>>
>> Well jQuery can be updated can't it?
>>
>> wcDocker is, as far as I'm aware, the only library of it's kind. Unless
>> something else has surpassed it in the last couple of years, there's
>> nothing even close in functionality to it. aciTree was in a similar
>> position, though Joao and team think there may be other candidates now.
>>
>
> About the wcDocker, in fact it as a lot of features. In our User
> Interviews we didn't find any person that was using features like dragging
> and creating new panels. The only feature that we see people using was the
> tabs. So if the only feature that people use of wcDocker is really tabs
> there are some other libraries like:
> react-tabs or react-tabtab (Draggable tabs) or rc-tabs(Static tabs, with
> 52k Downloads last 7 days).
>

On a personal level, I do re-arrange the panel layout.

On a practical level, we create new panels every time you use the query
tool or debugger, or open properties dialogues etc.


>
> For ACITree we already started the process of isolating it from the
> application, This will allow us in the future to replace it with something
> that is more up to date.
>
>
>> As for Backbone/Backgrid/Backform, I don't know. Backbone could maybe be
>> replaced with React eventually. Not sure about the others.
>>
>> In any case, this is likely to be a problem on an ongoing basis - and I
>> think we need to consider the future on a case by case basis when
>> necessary. It may mean moving to a different library, or it may mean
>> forking components, or it may be the upstream may have not had any commits
>> for a long time simply because there is no development happening right now,
>> but bugs may still be fixed.
>>
>>
> We understand and agree that this should be handled case-by-case instead
> of replacing everything at once since it is not feasible to do a complete
> rewrite of the application.  But we also think it's hard to build new
> features on top of libraries that are no longer supported.  We don't really
> want to fork a library either because we'll become responsible for
> maintaining that library, which means maintaining more code.  We want to
> use libraries that are actively maintained so we can get security patches,
> new features, etc.  Also, if we need a new functionality on a specific
> library, we can, for example, open an issue and the maintainers of that
> library can implement it for us or we can create a pull request for them to
> merge.
>

Sure, but the main issue is that projects get abandoned all the time. We
have no way of knowing what will get dropped and what won't until it
actually happens - and even then it's not always clear, for example the
wcDocker case where there haven't been code changes in some time, but the
lead developer is still responding to issues very promptly.

My point is that it's very hard to know when a component needs to be
replaced, unless the team actually announces its EOL, and even then some
components require a huge amount of effort to replace them, when in reality
forking them and maintaining the fork may require significantly less effort.

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: pgAdmin4 - Issue of unmaintained libraries

2018-04-03 Thread Joao De Almeida Pereira
Hi Dave,

On Tue, Apr 3, 2018 at 8:32 AM Dave Page  wrote:

> Hi
>
> On Tue, Apr 3, 2018 at 1:22 PM, Murtuza Zabuawala <
> murtuza.zabuaw...@enterprisedb.com> wrote:
>
>> Hi Team,
>>
>> As we are heavily dependent on 3rd party JS libraries and some of them
>> are no longer actively maintained by their respective authors (Last commit
>> was approximate year ago).
>>
>> Some of the core libraries which are no longer actively maintained are,
>> - Backbone 
>> - wcDocker 
>> - aciTree 
>> - Backgrid /Backform
>> - jQuery 1.x 
>> version
>>
>> What would be our future plans when it comes to fixing the issues in the
>> core libraries or adding new feature?
>> (Ref: Email thread
>> 
>> )
>>
>
> Well jQuery can be updated can't it?
>
> wcDocker is, as far as I'm aware, the only library of it's kind. Unless
> something else has surpassed it in the last couple of years, there's
> nothing even close in functionality to it. aciTree was in a similar
> position, though Joao and team think there may be other candidates now.
>

About the wcDocker, in fact it as a lot of features. In our User Interviews
we didn't find any person that was using features like dragging and
creating new panels. The only feature that we see people using was the
tabs. So if the only feature that people use of wcDocker is really tabs
there are some other libraries like:
react-tabs or react-tabtab (Draggable tabs) or rc-tabs(Static tabs, with
52k Downloads last 7 days).

For ACITree we already started the process of isolating it from the
application, This will allow us in the future to replace it with something
that is more up to date.


> As for Backbone/Backgrid/Backform, I don't know. Backbone could maybe be
> replaced with React eventually. Not sure about the others.
>
> In any case, this is likely to be a problem on an ongoing basis - and I
> think we need to consider the future on a case by case basis when
> necessary. It may mean moving to a different library, or it may mean
> forking components, or it may be the upstream may have not had any commits
> for a long time simply because there is no development happening right now,
> but bugs may still be fixed.
>
>
We understand and agree that this should be handled case-by-case instead of
replacing everything at once since it is not feasible to do a complete
rewrite of the application.  But we also think it's hard to build new
features on top of libraries that are no longer supported.  We don't really
want to fork a library either because we'll become responsible for
maintaining that library, which means maintaining more code.  We want to
use libraries that are actively maintained so we can get security patches,
new features, etc.  Also, if we need a new functionality on a specific
library, we can, for example, open an issue and the maintainers of that
library can implement it for us or we can create a pull request for them to
merge.

Thanks,

Victoria & Joao


> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>


Re: pgAdmin4 - Issue of unmaintained libraries

2018-04-03 Thread Dave Page
Hi

On Tue, Apr 3, 2018 at 1:22 PM, Murtuza Zabuawala <
murtuza.zabuaw...@enterprisedb.com> wrote:

> Hi Team,
>
> As we are heavily dependent on 3rd party JS libraries and some of them are
> no longer actively maintained by their respective authors (Last commit was
> approximate year ago).
>
> Some of the core libraries which are no longer actively maintained are,
> - Backbone 
> - wcDocker 
> - aciTree 
> - Backgrid /Backform
> - jQuery 1.x 
> version
>
> What would be our future plans when it comes to fixing the issues in the
> core libraries or adding new feature?
> (Ref: Email thread
> 
> )
>

Well jQuery can be updated can't it?

wcDocker is, as far as I'm aware, the only library of it's kind. Unless
something else has surpassed it in the last couple of years, there's
nothing even close in functionality to it. aciTree was in a similar
position, though Joao and team think there may be other candidates now.

As for Backbone/Backgrid/Backform, I don't know. Backbone could maybe be
replaced with React eventually. Not sure about the others.

In any case, this is likely to be a problem on an ongoing basis - and I
think we need to consider the future on a case by case basis when
necessary. It may mean moving to a different library, or it may mean
forking components, or it may be the upstream may have not had any commits
for a long time simply because there is no development happening right now,
but bugs may still be fixed.

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgAdmin4 - Issue of unmaintained libraries

2018-04-03 Thread Murtuza Zabuawala
Hi Team,

As we are heavily dependent on 3rd party JS libraries and some of them are
no longer actively maintained by their respective authors (Last commit was
approximate year ago).

Some of the core libraries which are no longer actively maintained are,
- Backbone 
- wcDocker 
- aciTree 
- Backgrid /Backform
- jQuery 1.x  version

What would be our future plans when it comes to fixing the issues in the
core libraries or adding new feature?
(Ref: Email thread

)


--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company