Implementing a REST API (some day OSLC-CM V1 compatible) : feedback welcome

View: New views
3 Messages — Rating Filter:   Alert me  

Implementing a REST API (some day OSLC-CM V1 compatible) : feedback welcome

by Olivier Berger :: Rate this Message:

| View Threaded | Show Only this Message

Hi.

Just a message to let (more) people know (if needed) that we're working
on implementing a REST API for Mantis, which will hopefully some day be
compliant with the OSLC-CM V1 specs.

Here's the feature request that may have more details :
http://www.mantisbt.org/bugs/view.php?id=11063

We would like to get as much feedback as possible before we have
implemented too many things, should there be difficulties in integrating
it to the Mantis project.


The current status is far from offering a complete REST API, nor to
implement all of OSLC-CM V1, but is reasonably good for us to invest
more energy and continue working on it (for the needs of our Helios
project, integrating Mantis with other tools acting as REST clients).

Our goal (after fulfilling the "internal" needs for project Helios, and
eventually implementing the first Open Source server compatible with
OSLC-CM) is to contribute it to the Mantis project.

So we'd like to get as much feedback from interested Mantis developers
as possible, to make sure there ain't show stoppers that would prevent
integration into Mantis some day (eventually as a plugin, but one with
consistent quality WRT the rest of Mantis).

You'll find pointers to our SVN from the ticket above.
Interested ones could ask privately for details if you want to test on a
live installation (with curl for instance).


To give you an idea, it's based on the Zend framework in order to
implement the REST server (controller), and tries to be implemented in
MVC approach (i.e. modern object PHP ;). At the moment, it's a matter of
installing a new subdir and rewrite rules mainly.

OSLC-CM specifies many details, but at the moment we have only
implemented basic behaviour in the CRUD methods : GET & POST (soon PUT
and eventually DEL), with HTTP Basic auth.

The code quality is probably questionable (and the docs lacking) as
we've not had much time to polish it, but the main comments that we're
seeking is on its capacity to integrate with Mantis in a best way
someday.

The licensing is BSD for now, but may change if needed.

Also, we'd like to be able to reuse the same Zend code to offer a
similar OSLC-CM compatible server for FusionForge trackers or other PHP
bugtrackers (through different controllers and backend code
specializations, but same REST interfaces if possible).

I hope the Mantis project will welcome this as a useful contribution.

In any way, thanks in advance for your comments, reviews, etc.

Best regards,
--
Olivier BERGER <olivier.berger@...>
http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 1024D/6B829EEC
Ingénieur Recherche - Dept INF
Institut TELECOM, SudParis (http://www.it-sudparis.eu/), Evry (France)


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
mantisbt-dev mailing list
mantisbt-dev@...
https://lists.sourceforge.net/lists/listinfo/mantisbt-dev

Re: Implementing a REST API (some day OSLC-CM V1 compatible) : feedback welcome

by Gianluca Sforna :: Rate this Message:

| View Threaded | Show Only this Message

Hi Oliver

On Thu, Jan 21, 2010 at 1:42 PM, Olivier Berger
<olivier.berger@...> wrote:
> Just a message to let (more) people know (if needed) that we're working
> on implementing a REST API for Mantis, which will hopefully some day be
> compliant with the OSLC-CM V1 specs.

<snip>

> The current status is far from offering a complete REST API, nor to
> implement all of OSLC-CM V1, but is reasonably good for us to invest
> more energy and continue working on it (for the needs of our Helios
> project, integrating Mantis with other tools acting as REST clients).
>
> Our goal (after fulfilling the "internal" needs for project Helios, and
> eventually implementing the first Open Source server compatible with
> OSLC-CM) is to contribute it to the Mantis project.

I think this is great for mantis, thanks for starting this project


>
> So we'd like to get as much feedback from interested Mantis developers
> as possible, to make sure there ain't show stoppers that would prevent
> integration into Mantis some day (eventually as a plugin, but one with
> consistent quality WRT the rest of Mantis).

Personally, I think it makes a lot of sense to work toward
implementing this in core.


> To give you an idea, it's based on the Zend framework in order to
> implement the REST server (controller), and tries to be implemented in
> MVC approach (i.e. modern object PHP ;). At the moment, it's a matter of
> installing a new subdir and rewrite rules mainly.

I can't talk for the other mantis developers, but I really welcome
this approach; as you can see in git, I'm pushing for moving toward
the directory layout recommended by ZF; the idea is to start using it
gradually, replacing ageing parts of our code and other 3rd party
stuff we carry.

Now, I'm pretty new to this REST stuff (so I'm really asking _you_ if
this approach sounds sane) but if I understand it correctly, we could
grow a suitable REST API in mantis, and then we could use this backend
to create the other needed data representations (html pages, SOAP,
etc).

If this approach is doable, we could really integrate your code from
day zero, especially if it's possible to port the current HTML pages
to the new system incrementally.


--
Gianluca Sforna

http://morefedora.blogspot.com
http://www.linkedin.com/in/gianlucasforna

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
mantisbt-dev mailing list
mantisbt-dev@...
https://lists.sourceforge.net/lists/listinfo/mantisbt-dev

Re: Implementing a REST API (some day OSLC-CM V1 compatible) : feedback welcome

by Olivier Berger :: Rate this Message:

| View Threaded | Show Only this Message

Le vendredi 22 janvier 2010 à 11:53 +0100, Gianluca Sforna a écrit :
> Hi Oliver
> >
> > Our goal (after fulfilling the "internal" needs for project Helios, and
> > eventually implementing the first Open Source server compatible with
> > OSLC-CM) is to contribute it to the Mantis project.
>
> I think this is great for mantis, thanks for starting this project
>
You're welcome. We're funded to develop Open Source software ;)

>
> >
> > So we'd like to get as much feedback from interested Mantis developers
> > as possible, to make sure there ain't show stoppers that would prevent
> > integration into Mantis some day (eventually as a plugin, but one with
> > consistent quality WRT the rest of Mantis).
>
> Personally, I think it makes a lot of sense to work toward
> implementing this in core.

ACK.

>
>
> > To give you an idea, it's based on the Zend framework in order to
> > implement the REST server (controller), and tries to be implemented in
> > MVC approach (i.e. modern object PHP ;). At the moment, it's a matter of
> > installing a new subdir and rewrite rules mainly.
>
> I can't talk for the other mantis developers, but I really welcome
> this approach; as you can see in git, I'm pushing for moving toward
> the directory layout recommended by ZF; the idea is to start using it
> gradually, replacing ageing parts of our code and other 3rd party
> stuff we carry.
>

Haven't noticed this, so we shall look at it soon, I suppose.

> Now, I'm pretty new to this REST stuff (so I'm really asking _you_ if
> this approach sounds sane)

We are also. Both on REST and Zend, and Zend's REST Controller... but
that's not so hard to grasp once you know about HTTP ;)

>  but if I understand it correctly, we could
> grow a suitable REST API in mantis, and then we could use this backend
> to create the other needed data representations (html pages, SOAP,
> etc).

I think that makes sense to provide one single Model, and common parts
of the Controller, and different Views : for regular Web app, REST API,
SOAP API, all with the same framework (speaking in MVC terms)... but
maybe that's not as easy as it looks... and leads to too much rewrite ?

>
> If this approach is doable, we could really integrate your code from
> day zero, especially if it's possible to port the current HTML pages
> to the new system incrementally.
>
>

Only experimentation may tell... but on the same time, we should think
about migration paths maybe...

Isn't this too much of a rewrite of Mantis ?

Thanks for the feedback anyway.

Best regards,
--
Olivier BERGER <olivier.berger@...>
http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 1024D/6B829EEC
Ingénieur Recherche - Dept INF
Institut TELECOM, SudParis (http://www.it-sudparis.eu/), Evry (France)


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
mantisbt-dev mailing list
mantisbt-dev@...
https://lists.sourceforge.net/lists/listinfo/mantisbt-dev