You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Tobias Bocanegra <tr...@adobe.com> on 2018/07/23 09:02:58 UTC

Filevault Package Manager HTTP API

Hi,

I recently started to write a HTTP API for the filevault package manager [0]. The current state covers maybe 20% of the functionality. I use a annotation based "framework" to describe the models which then are rendered into siren+json format. I also used postman [1] to write tests which are also executed via `npm test`. The good thing about postman is, that it allows to generate some documentation [2].

Most of the work I've done so far is to setup the framework and to implement basic CRUD operations. The more challenging bits, like install/uninstall are still missing. The big problem for the long-running operations is that they should be async. Otherwise the client has to keep the connection open in order to observer the progress. Therefor I would also like to introduce some task-based mechanism for install/uninstall [3].

Beyond the HTTP API, there is also pending work to be done on the new Package Registry which has some cool new features like defining an execution plan which allows to install multiple packages "at once". I think this would align well with the task-based mechanism mentioned above (maybe even be the only way the HTTP api would use the core).

Currently my designated time to work on filevault is very small, so I'm looking for people who are interested to work on this.

It would be great for the filevault project to finally have its own package manager HTTP API (and maybe even a UI ;-)
So let me know of you are interested and we can start discussing the approach and creating issues/tasks etc.

Regards, Toby

[0] https://github.com/tripodsan/jackrabbit-filevault/tree/vault-packagemgr/vault-packagemgr
[1] https://www.getpostman.com/
[2] https://documenter.getpostman.com/view/3704157/RVu2mVNL
[3] https://issues.apache.org/jira/browse/JCRVLT-151



Re: Filevault Package Manager HTTP API

Posted by Dominik Süß <do...@gmail.com>.
Hi all,

I just wanted to add that I already started to work on a complimentary
aspect of the registry which is a FS based registry (
https://issues.apache.org/jira/browse/JCRVLT-180) but limited to the
application package aspect (so only focused on extraction (so no snapshots)
without any uninstall scenario.

Thinking end to end this is about efficiently and deterministically
building up the immutable (application) part that can then be used in a
composite nodestore scenario with optimal footprint (eg for docker layers)

Looking at the numbers so far this already looks like dropping a lot of
overhead that’s not necessary for the given scenario but the majority of
time is still being spent on building up and commiting the changes to the
nodestore. So I would be more then happy to join forces with someone being
able to to Executionplan and the interaction with the nodestore    to
overcome the current bottlenecks (beyond the topics and challenges already
mentioned by Toby.

Cheers
Dominik

Tobias Bocanegra <tr...@adobe.com> schrieb am Mo. 23. Juli 2018 um 11:03:

> Hi,
>
> I recently started to write a HTTP API for the filevault package manager
> [0]. The current state covers maybe 20% of the functionality. I use a
> annotation based "framework" to describe the models which then are rendered
> into siren+json format. I also used postman [1] to write tests which are
> also executed via `npm test`. The good thing about postman is, that it
> allows to generate some documentation [2].
>
> Most of the work I've done so far is to setup the framework and to
> implement basic CRUD operations. The more challenging bits, like
> install/uninstall are still missing. The big problem for the long-running
> operations is that they should be async. Otherwise the client has to keep
> the connection open in order to observer the progress. Therefor I would
> also like to introduce some task-based mechanism for install/uninstall [3].
>
> Beyond the HTTP API, there is also pending work to be done on the new
> Package Registry which has some cool new features like defining an
> execution plan which allows to install multiple packages "at once". I think
> this would align well with the task-based mechanism mentioned above (maybe
> even be the only way the HTTP api would use the core).
>
> Currently my designated time to work on filevault is very small, so I'm
> looking for people who are interested to work on this.
>
> It would be great for the filevault project to finally have its own
> package manager HTTP API (and maybe even a UI ;-)
> So let me know of you are interested and we can start discussing the
> approach and creating issues/tasks etc.
>
> Regards, Toby
>
> [0]
> https://github.com/tripodsan/jackrabbit-filevault/tree/vault-packagemgr/vault-packagemgr
> [1] https://www.getpostman.com/
> [2] https://documenter.getpostman.com/view/3704157/RVu2mVNL
> [3] https://issues.apache.org/jira/browse/JCRVLT-151
>
>
>