Ashutosh Dhundhara a écrit :
It is current for a single-user installation to not bother creating a> On Wed, Aug 6, 2014 at 2:46 AM, Marc Delisle <marc@infomarc.info> wrote:
>
>> Le 2014-08-05 14:35, Ashutosh Dhundhara a écrit :
>>> Hi,
>>>
>>> I was starting to work on RFE #1123
>>> <https://sourceforge.net/p/phpmyadmin/feature-requests/1123/> (Zeroconf
>>> PMA tables support).
>>>
>>> Is it something like enabling/disabling the PMA configuration storage
>>> feature through UI with default table names?
>>>
>>> Also, automatically create these tables when user has enabled this
>>> feature through UI?
>> Hi Ashutosh,
>>
>
> Thanks Marc and Isaac.
>
> The RFE was a bit confusing but the insight provided by you both clarified
> everything.
> However, I have a few queries and I am posting them in-line.
>
>
>> I have read again the RFE and the comments in the ticket; then I read
>> the details of your proposal on google-melange.com.
>>
>> I don't have all the answers but can give you some pointers; others can
>> give ideas too or contradict mine :)
>>
>> * The solution has to work for a single-user installation and also for a
>> multi-user installation
>>
>
> How single-user and multi-user installation is going to affect this feature?
> Is it something like if the user does not have access to the database
> defined in the
> directive $cfg['Servers'][$i]['pmadb'], then create the pma tables in the
> database on which he/she
> has access?
control user; when there is no control user, the logged-in user is used
also to access the pmadb.
In a multi-user installation, there is normally a distinct control user
defined.
So please test both situations.
Good question; so probably the verification won't be possible from the
>
>
>> * Priority should go to use the values from config.inc.php (the control
>> user, pmadb and all pmadb tables) if present. This is mainly for
>> backward compatibility and also because I suspect it's the only way to
>> support a multi-user installation
>>
>> * In case there is no such configuration, the logic could check the
>> presence of the default database name and table names, as suggested in
>> examples/create_tables.sql
>>
>> * I'm not sure on which panel is the best place to do this verification,
>> but it could be at the same places where the warnings about the
>> configuration storage are currently done (home page and each database >
>> Operations page
>>
>> * If this default database name "phpmyadmin" does not exist, the logic
>> could look for the default table names in the current database (this is
>> in case the user has access to only one database)
>
>
> Lets say user sees the warning on homepage. Then how to decide the current
> db?
home page, only from a db-specific Operations page.
Anyway, we could not ask the user to choose a db to store the
configuration storage, because this choice could not be remembered (as
this is a zero-conf mechanism).
No, because it won't be possible to know which db contains the
> Is it something like creating these tables in the first database on which
> the user has CREATE access?
configuration storage, when the user opens another database.
> <http://127.0.0.1/pma/chk_rel.php?token=ee04c7e45192bb15a4151248028e905f>.",
>
>
>> * If the default db and/or default table names are not found, the logic
>> could pop a dialog, offering to create these in the current db and
>> asking for confirmation; I hope it's possible to directly read
>> examples/create_tables.sql for this, in order to avoid discrepancies
>> between the logic and changes in create_tables.sql
>>
>> * Something will have to be done with the logic that gives a warning
>> about the configuration storage; it would probably lose its purpose
>>
>
> Yes Marc. We will have to do something for this.
> How about keeping this message/warning intact and when the user clicks on
> 'here' of "To find out why click here
> the userGood idea. This way, either the user can fix it manually (in a way that
> will be directed to diagnostic page as it is currently done. And on that
> page we can provide a link with text something like "Fix it" and when user
> will click this link, the new logic will be executed?
permits to have just one configuration storage) but will require
configuration, or will be able to use the zero-conf mechanism (which
will produce the pma_ tables in his current db).
>
>
>> * Maybe we'll need a new directive in config.inc.php, so that the
>> installer can decide that the zero conf is active or not (would be
>> active by default)
>>
>> * I am not in favor of designing a UI to set up the configuration
>> storage, as this already exists in /setup (with the goal of producing a
>> config.inc.php)
>>
>> * I am not in favor of programmatically creating a .php file in the
>> installation directory or doing any modification in config.inc.php