[Phpmyadmin-devel] RFE #637 Custom Field Handlers
Marc Delisle
marc at infomarc.info
Wed Jul 2 14:31:19 CEST 2014
Le 2014-07-01 09:26, Chirayu Chiripal a écrit :
>
>
>
> On Tue, Jul 1, 2014 at 6:43 PM, Marc Delisle <marc at infomarc.info
> <mailto:marc at infomarc.info>> wrote:
>
> Le 2014-07-01 08:43, Chirayu Chiripal a écrit :
> >
> >
> >
> > On Thu, Jun 26, 2014 at 8:30 PM, Isaac Bennetch
> <bennetch at gmail.com <mailto:bennetch at gmail.com>
> > <mailto:bennetch at gmail.com <mailto:bennetch at gmail.com>>> wrote:
> >
> > Hi,
> >
> > Marc has already provided excellent answers to most of this,
> but see
> > below:
> >
> > On 6/26/14 6:25 AM, Chirayu Chiripal wrote:
> > > On Thu, Jun 26, 2014 at 3:31 PM, Marc Delisle
> <marc at infomarc.info <mailto:marc at infomarc.info>
> > <mailto:marc at infomarc.info <mailto:marc at infomarc.info>>
> > > <mailto:marc at infomarc.info <mailto:marc at infomarc.info>
> <mailto:marc at infomarc.info <mailto:marc at infomarc.info>>>> wrote:
> > >
> > > Le 2014-06-25 06:23, Chirayu Chiripal a écrit :
> > > > Hi,
> > > > Feature Request Link:
> > > > http://sourceforge.net/p/phpmyadmin/feature-requests/637/
> > > >
> > > > I am bit confused that what does this RFE is all
> about. Here
> > is my
> > > doubt:
> > > >
> > > > 1] Does this feature requests says that if a field has a
> > "prepend"
> > > input
> > > > transformation plugin with prepend text as "phpMyAdmin
> " then on
> > > insert
> > > > page if someone enters into this field "Bringing MySQL to
> > the web" and
> > > > when a row is inserted then it should insert "phpMyAdmin
> > Bringing
> > > MySQL
> > > > to the web" into the database.
> > > >
> > > > OR it requires something else?
> > >
> > > Hi Chirayu,
> > > the example you mention is correct, but this feature request
> > is much
> > > more than that. Look at the comment from Garvin in the RFE.
> > >
> > > In reality, we don't have to code a credit card validation,
> > for example;
> > > we just have to provide the mechanism by which someone can
> > code their
> > > own credit card validation and apply it to the input field.
> > >
> > >
> > > In my proposal, I also gave an example of regex validation
> plugin i.e.
> > > if some invalid data is inserted then that plugin can
> replace that
> > > invalid data with some other value (which would be given in
> plugin
> > > options) and if data is valid then it should go as it is. I
> am not
> > sure
> > > about canceling the insert with error message right now but
> it can be
> > > done like by setting value for invalid data in plugin option as
> > NULL for
> > > not null column which would automatically fail the insert or
> in the
> > > plugin itself if validation fails then it could throw a
> error and stop
> > > the execution of the script itself or we can have a boolean
> & error
> > > variable in transformation plugin which would be checked before
> > > insert/update and take actions likewise.
> >
> > I think rather than waiting until submission and trying to
> make the
> > INSERT fail, we should do any validation client side (through
> JavaScript
> > so when the field loses focus, we validate and display a
> non-intrusive
> > message explaining that it's invalid). Does this help?
> >
> >
> > I recently noticed that in "transformation" column of
> "pma__column_info"
> > table the name of transformation is stored something like this:
> > "image_jpeg__inline.inc.php" rather than
> "image_jpeg__inline.class.php"
> > i.e. extension ".class.php" is replaced with ".inc.php" while storing
> > and it is reversed while fetching. Is there any particular reason for
> > doing this?
>
> Yes, the reason is backward compatibility, but maybe it's time to do a
> radical move about this.
>
> In pma__column _info, the transformation column contains a string ending
> with .inc.php which, in older versions, matched the file name.
>
> It would be cleaner to invent some code that describes each
> transformation, but then all users would have to redefine their
> transformations, unless we provide them with some .sql file to run, that
> would do the conversion.
>
> If we do a conversion, it would mean that a pmadb would not be backward
> compatible with older phpMyAdmin versions.
>
>
> Well, to separate the input & output transformations I would be moving
> current transformation plugins into a new output sub-directory (as
> mentioned in my blog), which would also break the backward
> compatibility. Also as 2 new columns are being added to pma__column_info
> which would also require users to upgrade their tables for
> transformations to work. So, I think its time to remove that backward
> compatibilty hack.
Fine with me, but please confirm with your mentor.
--
Marc Delisle | phpMyAdmin
More information about the Developers
mailing list