]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/Any_todo_because_CGI.pm_deprecated__63__.mdwn
Answering questions and updating links
[git.ikiwiki.info.git] / doc / todo / Any_todo_because_CGI.pm_deprecated__63__.mdwn
index 3c4660a717a3ac88496d8d51b9b672e8862f38cf..ab87c8b19777084105f6f510bcbde350f0f2453e 100644 (file)
@@ -15,3 +15,22 @@ Or is it just a matter of 'hold course until [[rewrite ikiwiki in haskell]]'?
 > more extensive web framework: it doesn't do elaborate URL routing
 > like most webapps, because it produces static HTML for as much of
 > its content as possible anyway. --[[smcv]]
+
+>> One reason for such a change (although a rewrite in haskell is a little drastic, and overlaps with "gitit") would be to allow ikiwiki to run as a shared thread under FastCGI or mod_perl, instead of forking all the time for every new user. The discussion for this is in [[todo/fastcgi_or_modperl_installation_instructions]] and [[todo/multi-thread_ikiwiki]].
+>>
+>> Also right now, there are serious lock contention issues in ikiwiki: any `?do=` action in the CGI is under a global lock right now (`lockwiki()`), for example, which makes scaling ikiwiki to multiple editing users a significant problem. I have seen such contention as a user on this wiki but mostly on the git-annex wiki.
+>>
+>> I, for one, would be happy to see some improvements in this area... --[[anarcat]]
+
+>>> That would be a rewrite, in whatever language: IkiWiki assumes that
+>>> global state is OK, and I don't think keeping existing APIs or
+>>> plugins working unmodified when that changes would be feasible.
+>>>
+>>> It isn't on *my* to-do list, put it that way. --[[smcv]]
+
+>> I'm on a thin pipe, but IIRC CGI.pm is simply no longer going to be bundled with Perl core, and is not deprecated in any other way. Just old, and now an explicit dependency. I may be wrong. --[[schmonz]]
+
+>>> Yeah, that's what perldelta says. Also, in Debian, the future is already
+>>> here: perl-modules Recommends libcgi-pm-perl, and libcgi-pm-perl comes
+>>> before the bundled copy in the search path, so I'm already testing against
+>>> an unbundled CGI.pm, and I suspect Joey is too. --[[smcv]]