create new tag
, view all tags

ConfigPanelAddOnDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on ConfigPanelAddOn contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

ConfigPanelAddOn Dev Discussions

This is being tracked in Bugs:Item2177

The idea is to rewrite the functionality of the configure script to make a new Control Panel that is:

  • More "Admin-Friendly"
  • Faster
  • Easier to maintain
  • Extensible

I decided to start the work as an AddOn, so this can be tested and used in either TWiki04 or in DEVELOP. If the functionality is good enough, it will most likely be bundled with EdinburghRelease as a configure replacement.

All feedback is very welcome.

The initial commit is at r9936. It has the functionality to configure LocalLib.cfg from the browser, with "autodetection" of the main directories.

The following ideas are in no specific or coherent order. Documentation is not my strongest point wink so most likely a lot of iterations will pass until the docs are in a "releaseable" state.

  • The Control Panel can be extended by creating modules in the TWiki::Configure package (anywhere in the @INC patch) that implement the "init" method to register what they can do in a lookup table. Also they can register the title of the page that will appear when they are in control.
  • The dispatch mechanism works much in the same way as the Rest script. The url is parsed to detect the invoked verb and subject. Then they are matched agains a lookup table and the proper sub is called.

Example of the verb/subject determination:


   Verb: edit
   Subject: SetLib

-- RafaelAlvarez - 28 Apr 2006

Thank you very much for working on it, this looks very promising. It can be the base for a userfriendly TWikiExtensionInstaller.

-- PeterThoeny - 28 Apr 2006

I commited a new version. The extension mechanism is in place. It will allow other extensions to leverage a centralized configuration interface.

-- RafaelAlvarez - 10 May 2006

New version is up. It shows all the information shown by configure except plugins and tags.

TWo main keypoints in this version:

  • The TWiki.cfg file is digested into a blessed hash, that store it's structure. The presentation of the information is being done against this hash, so it's a matter of changing the parser to change the file format.
  • The settings "types" are plugged by creating a package TWiki::Configure::PROMPT::<type> with a sub called prompt that performs the rendering. These packages must be defined in the modules that are loaded bu the AddOn (ie, modules in the TWiki::Configure package with an init method)

I documented the file format in TWikiCfgFormat.

Next step: the CHECKVAR mechanism that looks for sensible defaults of some settings.

-- RafaelAlvarez - 13 May 2006

Internally, settings are grouped by sections. Each section has the following fields:

#        :lvl
#        :title
#        :@docBlock:TEXT
#        :@settings
#             :type
#             :opts
#             :key
#             :desc
#        :@sections:section

This means that the configuration panel is totally abstracted from the config file format, as long as it can be parsed into the shown structure.

-- RafaelAlvarez - 13 May 2006

What is the status of this add-on? Is the functionality covered by the latest configure script? If so, obsolete it? If not, please add a SHORTDESCRIPTION to the "Add-On Info" section so that this add-on is represented properly in the AddOnPackage topic and query topics.

-- PeterThoeny - 06 Oct 2006

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2006-10-06 - PeterThoeny
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.