From: Desilets, A. <Ala...@nr...> - 2010-02-04 13:23:26
|
> > > > Writing an error message that tells the user the EXTERNAL name of the preference, and points him to the relevant admin panel only takes 3 mins more than writing an error message that only lists the INTERNAL name and no link to the admin panel. Yet, for a user who is already frustrated because he's hitting a snag, it can make all the difference in the world. > > > > > Actually, until Louis-Philippe & Pkdille tackled Dynamic preferences, > there was no registry of what the external name was. > > So it took 50-100 hours of work or more (And it's not all finished) I hacked up a different solution to this in 10 minutes. I forget exactly how it goes, but it was something like this. I modified a method somewhere (forget which one it was) which was being used to generate standard error messages for preference not set. I added an argument to it where you could specify a URL that would point to the relevant admin panel for changing that pref. Granted, this is a brittle solution, because if you change the location of the preference on the admin panels, then it breaks. I'm sure a more robust implementation of this concept COULD have been implemented in a day or so. You don't actually need a registry of the external name. All you need is a way to generate a URL to the admin panel for a particular feature. You could have a table Internal_pref_name, URL_with_section_reference Then each tiki-admin.php sub page would set its various preferences, put a <a name> tag above it, and store the URL to that section in the table. Then the error message can lookup in the table to know where to point the user to, in order to change that. Even I could probably put that together in a day. I am not criticizing what LPH or Pkdille did. I suspect what they implemented is much more powerful than the above solution and enables many other things as well. All I am saying is that implementing a nice helpful message to help users set a given preference, does not require that much work. |