Yes, thank you. In fact I read the answer late yesterday night just before going to sleep*, which was probably not a good idea I think. I mean it was not just fair to Paul who took the time to write all this; but I promised myself to read it again with clear ideas even if I get the main points :-)

Alain.

*: that was not the cause of me falling asleep by the way! :-p


On Tue, Apr 29, 2014 at 2:45 PM, Damien Regad <dregad@mantisbt.org> wrote:
Very nice answer - and probably a lot more information than Alain
expected ;-)



On 2014-04-28 22:43, P Richards wrote:
> Alain,
>
> For now – ***nothing***
>
> I was just trying to work out:
>
> a)How many plugins are available for mantis
>
> b)How many make use of db queries – as opposed to config_set/config_get
> to display information
>
> c)How many make schema modifications
>
> I’m quite keen to make sure that if(when!) we replace the db layer it
> works across the databases we support. So far, the number of plugins
> that actually make use of db schema changes, is probably something that
> would be feasible to make a patch to test. (I’m planning on taking 5-10
> plugins that make schema and updating them to the new API to ensure that
> it seems to work – whilst I’ve not worked out atrol’s additional list,
> my original list had 17 plugins that make schema modifications). So it
> may be that I generated patches for around 50% of the plugins we know
> about for testing.
>
> In terms of plugins – and bear in mind the code/concept/plan has been
> around for 2 years now, I’m hoping that whilst we are calling it ‘2.x’,
> that it’s something that for most users can be a simple upgrade. It’s
> going to be more problematic for users that have done lots of internal
> customisations – however, I suspect in that case, migrating to 1.3 would
> be equally problematic, and that in that case, it may be worth
> considering whether to wait until 2.x. As atrol pointed out already,
> there’s not actually many new features in 1.3 that jump out for users.
>
> The changes to the API however are quite extreme:
>
> In 1.2  we currently support both db_query() and db_query_bound().
>
> Before using db_query_bound and db_query, people may call
> db_prepare_string(), db_prepare_int() or db_prepare_bool().
>
> The db_prepare_string, db_prepare_int and db_prepare_bool functions have
> been marked as deprecated in the documentation since April 2008 with a
> note saying we were hoping to remove in 1.2.0 final.
>
> In 1.3, I believe people have dropped db_query() and said you must use
> db_query_bound() for bound queries
>
> One of the issues with the original bound queries support is it didn’t
> actually pass in the database type, which in some cases can be
> problematic – the newer db changes attempt to fix this (although having
> been involved in the previous API changes, my view at the moment is
> simple: if we are going to support other databases then mysql (something
> I’m keen on, and dregad seems to be also), it needs to “just work”. The
> current stuff does not “just work” – which isn’t fair on users, and also
> gives us a bad name if people report back that it doesn’t work.
>
> If you consider the current behaviour – it may be something like:
>
> $id1 = db_prepare_int($a);
>
> $id2 = db_prepare_int($b);
>
> $query = “select * from “ . db_get_table( “table” ) . “ where id = ?
>   and id2 = ?“;
>
> $result = db_query_bound( $query, array( $id1, $id2));
>
> This becomes:
>
> $query = “select * from {table} where id=%d and id2=%d”;
>
> $result = db_query( $query, array( $a, $b ));
>
> That’s going to be a fairly breaking change, but given the similarities
> and with spending some time to assist plugin authors, I don’t see as
> being overly problematic for most end-users, or authors converting. It
> may be we can add some backwards compatible conversion logic for
> db_get_table/db_query_bound - but given that people are probably still
> using the db_prepare* functions they’ve been marked deprecated for 6
> years now.. I’d rather spend my time helping people update their legacy
> code then working out how to convert a ? in a query to either %s or %d
> depending on what the incoming data type might be.
>
> The users that I would see as having a more problematic update would be
> those using non-mysql databases (i.e. pgsql, oracle, db2 (which is
> likely dropped) or mssql). For 1 of these, we don’t see the benefit of
> supporting at the moment, for the other 3 – the code in 1.2 and/or 1.3
> has issues – some of which people have worked around by ‘fixing’ the
> generated schema. I’d see the task of upgrading these custom schema’s to
> something that we believe to be a well tested and working version at an
> exercise for the end user (as we don’t and can’t know how they’ve fixed
> their schema). However, if people are using these databases, and have
> overcome the issues in the current release with those databases, I
> suspect they are more than capable of comparing any differences between
> the schema’s
>
> I’m in this particular position myself – I’ve got mantis working with
> MSSQL, using an ODBC driver. This predates the mssqlnative stuff that
> was added. There’s a couple of differences between the current schema
> that is generated and what was generated by mantis when I created this
> schema – whilst this shouldn’t be the case, it’s also something I
> believe is down to myself ( as an end user ) to fix. After all, the
> schema difference could either be a) different versions of ADODB
> generating different code or b) myself modifying the schema to fix
> issues – in either case, if we provide a known working schema and code
> base, I’m fairly sure it will be easier for the users that have managed
> to survive on the broken code to migrate to the valid schema, then for
> us to try to guess how they might have customised the schema to work
> around issues.
>
> Paul
>
> *From:*Alain D'EURVEILHER
> [mailto:alain.deurveilher@gmail.com]
> *Sent:* 28 April 2014 08:36
> *To:* Roland Becker; developer discussions
> *Cc:* P Richards
> *Subject:* Re: [mantisbt-dev] Mantis 2.0 - Plugins
>
> Hi everyone,
>
> What does Paul's file mean for us, the plugin authors ?
>
> For instance, for mine (GanttChart) I read:
> DB_* calls : YES.
>
> Modifies Mantis schema: NO.
>
> Also, for the plugins to be updated, does it mean that we'll need at a
> certain point maintain 2 versions of the plugins ? One for v1.x and
> another one for v2.x? Or will there be a backwards compatibility ?
>
> Thanks a lot.
>
> On Sun, Apr 27, 2014 at 1:07 PM, Roland Becker
> <roland@atrol.de
> <mailto:roland@atrol.de>> wrote:
>
>      > Can you give me a list of the plugins  that you are aware of that
>     fall into
>      > this category ?
>
>     Here it is.
>     You should be aware that there are even more plugins at github (not
>     under
>     mantisbt-plugins), bitbucket, gitlab, private websites, ...
>     IMO it's a waste of time to try finding them all, looking at the source,
>     providing patches, ...
>
>     The best way is to release 1.3, announce again and again breaking
>     changes in 2.0
>     and give the authors enough time to adapt their plugins.
>
>
>     Plugins attached to issues:
>
>     MachineAD
>     http://www.mantisbt.org/bugs/view.php?id=12538
>
>     RecurrCall
>     http://www.mantisbt.org/bugs/view.php?id=12533
>
>     Reminder
>     http://www.mantisbt.org/bugs/view.php?id=10153
>
>     Tasks
>     http://www.mantisbt.org/bugs/view.php?id=14716
>
>     Query
>     http://www.mantisbt.org/bugs/view.php?id=14633
>
>     HTMLMail
>     http://www.mantisbt.org/bugs/view.php?id=12830
>
>     NotifiyUsers
>     http://www.mantisbt.org/bugs/view.php?id=16811
>
>     DragAndDropFileUpload
>     http://www.mantisbt.org/bugs/view.php?id=12012
>
>     EmailAnnoucements
>     http://www.mantisbt.org/bugs/view.php?id=12276
>
>     ForwardIssues
>     http://www.mantisbt.org/bugs/view.php?id=12949
>
>     Ical
>     http://www.mantisbt.org/bugs/view.php?id=10212
>
>     SyncUsers
>     http://www.mantisbt.org/bugs/view.php?id=7260
>
>     SetDuedate
>     http://www.mantisbt.org/bugs/view.php?id=12522
>
>     ProjectManagement
>     https://github.com/vincentsels/ProjectManagement
>
>     AdLogin
>     http://www.mantisbt.org/bugs/view.php?id=12627
>
>     PrivateMessage
>     http://www.mantisbt.org/bugs/view.php?id=12505
>
>     KPI
>     http://www.mantisbt.org/bugs/view.php?id=10261
>
>     FAQ
>     http://www.mantisbt.org/bugs/view.php?id=9261
>
>     ExportIssues
>     http://www.mantisbt.org/bugs/view.php?id=10225
>
>      > P Richards <paul@mantisforge.org
>     <mailto:paul@mantisforge.org>> hat am 23.
>     April 2014 um 00:44 geschrieben:
>
>      >
>      >
>      > I've made the attached list of plugins, based on what I could
>     easily find
>      >
>      >
>      >
>      > Currently it shows name of plugin, and whether the plugin is
>     known to use
>      > DB_* functions within mantis and make schema modifications
>      >
>      >
>      >
>      > Roland:
>      >
>      >
>      >
>      > You mentioned that you are aware of  plugins that are:
>      >
>      >
>      >
>      > - that are not hosted on Github
>      >
>      > - that are not available in a source repository but attached as
>     .zip files
>      > in our Mantis installation
>      >
>      >
>      >
>      > Can you give me a list of the plugins  that you are aware of that
>     fall into
>      > this category ?
>      >
>      >
>      >
>      > I plan to start looking at Plugin support for the new DB Layer at
>     some point
>      > towards the end of this week.
>      >
>      >
>      >
>      > Paul
>      >
>      >
>      >
>      >
>      >
>
>      >
>     ------------------------------------------------------------------------------
>      > Start Your Social Network Today - Download eXo Platform
>      > Build your Enterprise Intranet with eXo Platform Software
>      > Java Based Open Source Intranet - Social, Extensible, Cloud Ready
>      > Get Started Now And Turn Your Intranet Into A Collaboration Platform
>      >
>     http://p.sf.net/sfu/ExoPlatform_______________________________________________
>      > mantisbt-dev mailing list
>      > mantisbt-dev@lists.sourceforge.net
>     <mailto:mantisbt-dev@lists.sourceforge.net>
>      > https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>
>     ------------------------------------------------------------------------------
>     Start Your Social Network Today - Download eXo Platform
>     Build your Enterprise Intranet with eXo Platform Software
>     Java Based Open Source Intranet - Social, Extensible, Cloud Ready
>     Get Started Now And Turn Your Intranet Into A Collaboration Platform
>     http://p.sf.net/sfu/ExoPlatform
>     _______________________________________________
>     mantisbt-dev mailing list
>     mantisbt-dev@lists.sourceforge.net
>     <mailto:mantisbt-dev@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>
>
>
>
> --
>
> AlainD.
>
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
>
>
>
> _______________________________________________
> mantisbt-dev mailing list
> mantisbt-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mantisbt-dev
>



------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
mantisbt-dev mailing list
mantisbt-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mantisbt-dev



--

AlainD.