So the main change to the core API will be an option to ask what plugins exist and what their endpoints are. Then the user can contact that plugin endpoint to interact with the plugin's data. 

Then we also considering adding plugin values inline with the existing API similarly to the custom fields interface?

I think the first item will be enough for the TimeTracking plugin and could probably be used for everything else as long as the client does things like call the core API for an issue id and then call TimeTracking API for all time events for that issue.

Also, if Oracle has a 30 character limit for the table name then there are other tables with problems as well. mantis_custom_field_string_table to mention a core table and some of the tables in the Source plugin as well.

Mike

On Fri, Dec 30, 2011 at 12:59 PM, Robert Munteanu <robert.munteanu@gmail.com> wrote:
On Fri, Dec 30, 2011 at 9:53 PM, Victor Boctor <victor@futureware.com.au> wrote:
> Some follow up confirmations / questions:
>
> 1. Discovery of plugins will be done via main SOAP endpoint.

Yes. That will be the part I will add.

>
> 2. Will the new SOAP types / methods be part of the main SOAP endpoint or
> are we planning on adding an end point per plugin?

These should be endpoint per plugin, to ensure that the core WSDL is
valid for all installations. Otherwise a client coded against a
'core-only' installation would not be valid against an installation
with 'augmented' data types and methods.

We will potentially add plugin fields to IssueData and IssueNoteData (
and perhaps other data types ) later, when we ( or at least I ) have a
better understanding of how this can work.

>
> 3. The table name used by the plugin seems to be a bit long, we should make
> sure this doesn't break some DBMSes.  I recall Oracle needed short table and
> field names.  Let's verify that.

Yes, Oracle does have a 30 character limit.

Robert

>
> Looking forward for the first implementation.
>
> On Fri, Dec 30, 2011 at 10:35 AM, Robert Munteanu
> <robert.munteanu@gmail.com> wrote:
>>
>> Sure, you're welcome. Let me know when you have at least a
>> proof-of-concept, as there is some work which should be done in the
>> SOAP API to expose the information that the timetracking plugin is
>> SOAP-enabled.
>>
>> On Fri, Dec 30, 2011 at 7:13 PM, Michael Baker <mykbaker@gmail.com> wrote:
>> > Excellent, thanks for the help Robert.
>> >
>> >
>> > On Fri, Dec 30, 2011 at 10:00 AM, Robert Munteanu
>> > <robert.munteanu@gmail.com> wrote:
>> >>
>> >> Then it should be possible to expose separate SOAP methods which will
>> >>
>> >> - lookup time tracking data by user id/issue id
>> >> - create/edit/delete individual time tracking data
>> >>
>> >> The most straightforward way of doing this would be to use the nusoap
>> >> library, like the rest of Mantis. Have a look at /api/soap/ in the
>> >> mantisbt repository ( mantisconnect.php is the entry point ) and let
>> >> me know of any questions you might have.
>> >>
>> >> Robert
>> >>
>> >> On Fri, Dec 30, 2011 at 6:40 PM, Michael Baker <mykbaker@gmail.com>
>> >> wrote:
>> >> > No, they are stored in the mantis_plugin_TimeTracking_data_table.
>> >> > They
>> >> > link
>> >> > to the rest of the data through the issue id and the user id.
>> >> >
>> >> >
>> >> > On Fri, Dec 30, 2011 at 9:34 AM, Robert Munteanu
>> >> > <robert.munteanu@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> Are these entries stored as bug notes or different objects?
>> >> >>
>> >> >> On Fri, Dec 30, 2011 at 6:26 PM, Michael Baker <mykbaker@gmail.com>
>> >> >> wrote:
>> >> >> > I'd like to be able to add/edit/delete records from the
>> >> >> > timetracking
>> >> >> > plugin
>> >> >> > table through the API. It would probably be good to be able to get
>> >> >> > a
>> >> >> > list of
>> >> >> > time entries for a given issue as well. My end goal is to enhance
>> >> >> > the
>> >> >> > Rachota time tracker or create a netbeans plugin to manage time
>> >> >> > entries
>> >> >> > for
>> >> >> > Mantis.
>> >> >> >
>> >> >> >
>> >> >> > On Fri, Dec 30, 2011 at 4:37 AM, Robert Munteanu
>> >> >> > <robert.munteanu@gmail.com>
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> Mike, what are the operations you look to expose through the SOAP
>> >> >> >> API?
>> >> >> >> I've written a longer reply below, which I'll keep for context,
>> >> >> >> but
>> >> >> >> depending on your needs we might get away with a much simpler
>> >> >> >> implementation.
>> >> >> >>
>> >> >> >> Victor, I mostly agree with your analysis , and I think that the
>> >> >> >> timetracking plugin might be a good candidate to enhance the SOAP
>> >> >> >> API
>> >> >> >> with plugin-provided properties and methods.
>> >> >> >>
>> >> >> >> Context: I believe that (1) allowing plugins to expose their own
>> >> >> >> methods and data types is the simplest way to achieve our goals.
>> >> >> >> We
>> >> >> >> could also allow the plugins to (2) contribute field declarations
>> >> >> >> using a mechanism similar to the custom fields.
>> >> >> >>
>> >> >> >> There is one drawback to (1) though, which I will illustrate
>> >> >> >> below.
>> >> >> >>
>> >> >> >> For instance, assume we have a 'sign-off' plugin which requires a
>> >> >> >> user
>> >> >> >> with an access level of manager or higher for a project to fill
>> >> >> >> in a
>> >> >> >> 'Sign-Off' field before an issue is closed.
>> >> >> >>
>> >> >> >> If we choose (1)  we lose the opportunity to validate this data.
>> >> >> >> The
>> >> >> >> client has no way of sending the 'Sign-Off' field with the issue
>> >> >> >> using
>> >> >> >> the current APIs, so we should not validate it. This places the
>> >> >> >> burden
>> >> >> >> on the client to call additional methods and creates a large risk
>> >> >> >> of
>> >> >> >> storing inconsistent data.
>> >> >> >>
>> >> >> >> If we choose (2)  we will require (a) the plugins to expose the
>> >> >> >> data
>> >> >> >> in a declarative manner, similar to how custom fields are
>> >> >> >> contributed
>> >> >> >> and (b) the SOAP API (or the core API?) to perform validation on
>> >> >> >> behalf of the plugins in a output-independent way ( i.e. no HTML
>> >> >> >> ).
>> >> >> >>
>> >> >> >> To make our options even more interesting, (1) and (2) are not
>> >> >> >> mutually exclusive, and such a combination will probably the best
>> >> >> >> way
>> >> >> >> for complex plugins.
>> >> >> >>
>> >> >> >> On Fri, Dec 30, 2011 at 12:24 AM, Victor Boctor
>> >> >> >> <victor@futureware.com.au> wrote:
>> >> >> >> > Looking at the discussions / wiki, here are my thoughts:
>> >> >> >> >
>> >> >> >> > 1. Use the capabilities model suggested in the wiki - this
>> >> >> >> > provides
>> >> >> >> > the
>> >> >> >> > MantisBT core and plugins and with the version for each.
>> >> >> >> >
>> >> >> >> > 2. Allow plugins to define their own data types and methods.
>> >> >> >> >
>> >> >> >> > 3. Optimization: we can consider adding a property bag to
>> >> >> >> > methods
>> >> >> >> > that
>> >> >> >> > return projects, issues, notes, to allow plugins to bundle
>> >> >> >> > their
>> >> >> >> > own
>> >> >> >> > fields,
>> >> >> >> > e.g. timetracking_blah1, timetracking_blah2.  This can be
>> >> >> >> > achieved
>> >> >> >> > via 1
>> >> >> >> > +
>> >> >> >> > 2, but it provides a less chatty approach.
>> >> >> >> >
>> >> >> >> > On Thu, Dec 29, 2011 at 2:12 PM, Michael Baker
>> >> >> >> > <mykbaker@gmail.com>
>> >> >> >> > wrote:
>> >> >> >> >>
>> >> >> >> >> Months later I am back on this same topic again. I am
>> >> >> >> >> considering
>> >> >> >> >> this
>> >> >> >> >> in
>> >> >> >> >> relation to the timetracking plugin and would like to be able
>> >> >> >> >> to
>> >> >> >> >> submit
>> >> >> >> >> dates and times through the API to be submitted into the
>> >> >> >> >> plugin's
>> >> >> >> >> table. Has
>> >> >> >> >> any progress been made in this area?
>> >> >> >> >>
>> >> >> >> >> I don't know a lot about the standards involved in using SOAP,
>> >> >> >> >> but
>> >> >> >> >> should
>> >> >> >> >> the plugins provide their own separate interface? Maybe the
>> >> >> >> >> main
>> >> >> >> >> interface
>> >> >> >> >> could have an option to list out the available plugins and
>> >> >> >> >> then
>> >> >> >> >> the
>> >> >> >> >> user
>> >> >> >> >> could query that plugin for it's custom interface?
>> >> >> >> >>
>> >> >> >> >> Mike
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> On Sat, Jul 30, 2011 at 5:16 AM, Robert Munteanu
>> >> >> >> >> <robert.munteanu@gmail.com> wrote:
>> >> >> >> >>>
>> >> >> >> >>> On Fri, Jul 29, 2011 at 7:28 PM, Michael Baker
>> >> >> >> >>> <mykbaker@gmail.com>
>> >> >> >> >>> wrote:
>> >> >> >> >>> > Is it possible for plugins to hook into and pass
>> >> >> >> >>> > information
>> >> >> >> >>> > through
>> >> >> >> >>> > the API
>> >> >> >> >>> > as well?
>> >> >> >> >>>
>> >> >> >> >>> Hi,
>> >> >> >> >>>
>> >> >> >> >>> There is no mechanism for this yet. I've tried to sum up our
>> >> >> >> >>> discussion
>> >> >> >> >>> at
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>> http://www.mantisbt.org/wiki/doku.php/mantisbt:soap_and_plugins
>> >> >> >> >>>
>> >> >> >> >>> Please have a look and reply if you have some comments and/or
>> >> >> >> >>> additions.
>> >> >> >> >>>
>> >> >> >> >>> Robert
>> >> >> >> >>>
>> >> >> >> >>> >
>> >> >> >> >>> >
>> >> >> >> >>> >
>> >> >> >> >>> >
>> >> >> >> >>> >
>> >> >> >> >>> >
>> >> >> >> >>> > ------------------------------------------------------------------------------
>> >> >> >> >>> > Got Input?   Slashdot Needs You.
>> >> >> >> >>> > Take our quick survey online.  Come on, we don't ask for
>> >> >> >> >>> > help
>> >> >> >> >>> > often.
>> >> >> >> >>> > Plus, you'll get a chance to win $100 to spend on
>> >> >> >> >>> > ThinkGeek.
>> >> >> >> >>> > http://p.sf.net/sfu/slashdot-survey
>> >> >> >> >>> > _______________________________________________
>> >> >> >> >>> > mantisbt-dev mailing list
>> >> >> >> >>> > mantisbt-dev@lists.sourceforge.net
>> >> >> >> >>> > https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >> >> >>> >
>> >> >> >> >>> >
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>> --
>> >> >> >> >>> Sent from my (old) computer
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>> ------------------------------------------------------------------------------
>> >> >> >> >>> Got Input?   Slashdot Needs You.
>> >> >> >> >>> Take our quick survey online.  Come on, we don't ask for help
>> >> >> >> >>> often.
>> >> >> >> >>> Plus, you'll get a chance to win $100 to spend on ThinkGeek.
>> >> >> >> >>> http://p.sf.net/sfu/slashdot-survey
>> >> >> >> >>> _______________________________________________
>> >> >> >> >>> mantisbt-dev mailing list
>> >> >> >> >>> mantisbt-dev@lists.sourceforge.net
>> >> >> >> >>> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >> ------------------------------------------------------------------------------
>> >> >> >> >> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't
>> >> >> >> >> need a
>> >> >> >> >> complex
>> >> >> >> >> infrastructure or vast IT resources to deliver seamless,
>> >> >> >> >> secure
>> >> >> >> >> access
>> >> >> >> >> to
>> >> >> >> >> virtual desktops. With this all-in-one solution, easily deploy
>> >> >> >> >> virtual
>> >> >> >> >> desktops for less than the cost of PCs and save 60% on VDI
>> >> >> >> >> infrastructure
>> >> >> >> >> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> >> >> >> >>
>> >> >> >> >> _______________________________________________
>> >> >> >> >> mantisbt-dev mailing list
>> >> >> >> >> mantisbt-dev@lists.sourceforge.net
>> >> >> >> >> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >> >> >>
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > ------------------------------------------------------------------------------
>> >> >> >> > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need
>> >> >> >> > a
>> >> >> >> > complex
>> >> >> >> > infrastructure or vast IT resources to deliver seamless, secure
>> >> >> >> > access
>> >> >> >> > to
>> >> >> >> > virtual desktops. With this all-in-one solution, easily deploy
>> >> >> >> > virtual
>> >> >> >> > desktops for less than the cost of PCs and save 60% on VDI
>> >> >> >> > infrastructure
>> >> >> >> > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> >> >> >> > _______________________________________________
>> >> >> >> > mantisbt-dev mailing list
>> >> >> >> > mantisbt-dev@lists.sourceforge.net
>> >> >> >> > https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >> >> >
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> --
>> >> >> >> Sent from my (old) computer
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> ------------------------------------------------------------------------------
>> >> >> >> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a
>> >> >> >> complex
>> >> >> >> infrastructure or vast IT resources to deliver seamless, secure
>> >> >> >> access
>> >> >> >> to
>> >> >> >> virtual desktops. With this all-in-one solution, easily deploy
>> >> >> >> virtual
>> >> >> >> desktops for less than the cost of PCs and save 60% on VDI
>> >> >> >> infrastructure
>> >> >> >> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> >> >> >> _______________________________________________
>> >> >> >> mantisbt-dev mailing list
>> >> >> >> mantisbt-dev@lists.sourceforge.net
>> >> >> >> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > ------------------------------------------------------------------------------
>> >> >> > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a
>> >> >> > complex
>> >> >> > infrastructure or vast IT resources to deliver seamless, secure
>> >> >> > access
>> >> >> > to
>> >> >> > virtual desktops. With this all-in-one solution, easily deploy
>> >> >> > virtual
>> >> >> > desktops for less than the cost of PCs and save 60% on VDI
>> >> >> > infrastructure
>> >> >> > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> >> >> > _______________________________________________
>> >> >> > mantisbt-dev mailing list
>> >> >> > mantisbt-dev@lists.sourceforge.net
>> >> >> > https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Sent from my (old) computer
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> ------------------------------------------------------------------------------
>> >> >> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a
>> >> >> complex
>> >> >> infrastructure or vast IT resources to deliver seamless, secure
>> >> >> access
>> >> >> to
>> >> >> virtual desktops. With this all-in-one solution, easily deploy
>> >> >> virtual
>> >> >> desktops for less than the cost of PCs and save 60% on VDI
>> >> >> infrastructure
>> >> >> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> >> >> _______________________________________________
>> >> >> mantisbt-dev mailing list
>> >> >> mantisbt-dev@lists.sourceforge.net
>> >> >> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > ------------------------------------------------------------------------------
>> >> > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a
>> >> > complex
>> >> > infrastructure or vast IT resources to deliver seamless, secure
>> >> > access
>> >> > to
>> >> > virtual desktops. With this all-in-one solution, easily deploy
>> >> > virtual
>> >> > desktops for less than the cost of PCs and save 60% on VDI
>> >> > infrastructure
>> >> > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> >> > _______________________________________________
>> >> > mantisbt-dev mailing list
>> >> > mantisbt-dev@lists.sourceforge.net
>> >> > https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Sent from my (old) computer
>> >>
>> >>
>> >>
>> >> ------------------------------------------------------------------------------
>> >> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a
>> >> complex
>> >> infrastructure or vast IT resources to deliver seamless, secure access
>> >> to
>> >> virtual desktops. With this all-in-one solution, easily deploy virtual
>> >> desktops for less than the cost of PCs and save 60% on VDI
>> >> infrastructure
>> >> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> >> _______________________________________________
>> >> mantisbt-dev mailing list
>> >> mantisbt-dev@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >
>> >
>> >
>> >
>> > ------------------------------------------------------------------------------
>> > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a
>> > complex
>> > infrastructure or vast IT resources to deliver seamless, secure access
>> > to
>> > virtual desktops. With this all-in-one solution, easily deploy virtual
>> > desktops for less than the cost of PCs and save 60% on VDI
>> > infrastructure
>> > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> > _______________________________________________
>> > mantisbt-dev mailing list
>> > mantisbt-dev@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>> >
>>
>>
>>
>> --
>> Sent from my (old) computer
>>
>>
>> ------------------------------------------------------------------------------
>> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
>> infrastructure or vast IT resources to deliver seamless, secure access to
>> virtual desktops. With this all-in-one solution, easily deploy virtual
>> desktops for less than the cost of PCs and save 60% on VDI infrastructure
>> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
>> _______________________________________________
>> mantisbt-dev mailing list
>> mantisbt-dev@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>
>
>
> ------------------------------------------------------------------------------
> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
> infrastructure or vast IT resources to deliver seamless, secure access to
> virtual desktops. With this all-in-one solution, easily deploy virtual
> desktops for less than the cost of PCs and save 60% on VDI infrastructure
> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
> _______________________________________________
> mantisbt-dev mailing list
> mantisbt-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>



--
Sent from my (old) computer

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
mantisbt-dev mailing list
mantisbt-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mantisbt-dev