=====New Installer/Upgrader===== I'll post on this page a draft of the (unfinished) code on which I've been working lately and some general design ideas behind the new installer. The new installer should be included as of ##1.1.7##. ==The rationale== ~-**Avoid using ##$_REQUEST##** --- This is an issue affecting other components, but it's particularly crucial in the case of the installer because it can break the installation procedure, raise security issues or result in configuration errors. The generic ##$_REQUEST## parameters are replaced in the new installer with ##$_POST## parameters. ~-**Add a preliminary system requirement check** --- The current installer cannot detect a difference between a server running on Apache, Lighttpd, or IIS and installs ##.htaccess## files regardless of the environment in which Wikka is supposed to run. Moreover, it doesn't check whether the system runs with the minimal requirements. This badly designed procedure is the source of most configuration issues, especially URL rewriting problems (see next point). The new installer starts by checking whether the basic system requirements (minimal PHP and MySQL versions) are met. It then proceeds to the URL rewrite configuration only if this is possible. ~-**Avoid mod_rewrite bugs** --- The most common installation issues occur because of a misconfiguration of ##base_url## and ##rewrite_mode##. Before setting up URL rewriting through ##.htaccess## files, the new installer checks whether (1) the server runs under Apache (2) PHP is compiled with the ##mod_rewrite## module (3) ##mod_rewrite## is actually enabled in the Wikka root directory. (3) is done through an actual rewriting check, because (2) alone is not reliable. Also, to avoid the frequent issues with the configuration of ##base_url##, the new installer doesn't allow the admin to change the ##rewrite_mode## settings during the install procedure and it assumes that ##base_url## refers to the Wikka root node (i.e. a URI terminated by a //trailing slash//). The decision whether to append or not the ##wikka.php?wakka=## part is moved to the link creation methods. ~-**Remove unnecessary install options** --- The installer should only request the //minimal// settings the wiki admin is supposed to fill in in order to have Wikka running. All other options should be eventually dealt with with an interface to the config file, but //not// set during installation. The new installer removes unnecessary configuration options previously included in the wizard (e.g. the custom size of tabs in GeSHi!) and adds a form for crucial settings like default ACL. (stub) ---- CategoryDevelopment