aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhttp://jmtd.livejournal.com/ <http://jmtd.livejournal.com/@web>2009-11-30 06:19:51 -0500
committerJoey Hess <joey@kitenet.net>2009-11-30 06:19:51 -0500
commit5e513aa867fe22e021a5d02bb3fba57302a30ea8 (patch)
tree32d3ec244c139c14685ff4d240e742a9744a0d1c
parent020200d84c8ee49be46d72e6c460f6a1906898e5 (diff)
downloadikiwiki-5e513aa867fe22e021a5d02bb3fba57302a30ea8.tar
ikiwiki-5e513aa867fe22e021a5d02bb3fba57302a30ea8.tar.gz
spew stream-of-conciousness nonsense re web services, fastcgi etc.
-rw-r--r--doc/forum/web_service_API__44___fastcgi_support.mdwn11
1 files changed, 11 insertions, 0 deletions
diff --git a/doc/forum/web_service_API__44___fastcgi_support.mdwn b/doc/forum/web_service_API__44___fastcgi_support.mdwn
new file mode 100644
index 000000000..480014c00
--- /dev/null
+++ b/doc/forum/web_service_API__44___fastcgi_support.mdwn
@@ -0,0 +1,11 @@
+This is a half-baked thought of mine so I thought I would post it in forum for discussion.
+
+There are some things that ikiwiki.cgi is asked to do which do not involve changing the repository: these include form generation, handling logins, the "goto" from [[recentchanges]], edit previews, etc.
+
+For one thing I am working on slowly ([[todo/interactive todo lists]]), I've hit a situation where I am likely to need to implement doing markup evaluation for a subset of a page. The problem I face is, if a user edits content in the browser, markup, ikiwiki directives etc. need to be expanded. I could possibly do this with a round-trip through edit preview, but that would be for the whole content of a page, and I hit the problem with editing a list item.
+
+Anyway - I've realised that a big part of the interactive todo lists stuff is trying to handle round trips to ikiwiki.cgi through javascript. A web services API would make handling the various conditions of this easier (e.g. need to login, login failed, etc.). I'm not sure what else might benefit from a web services API and I have no real experience of either using or writing them so I don't know what pros/cons there are for REST vs SOAP etc.
+
+Second, and in a way related, I've been mooting hacking fastcgi support into ikiwiki. Essentially one ikiwiki.cgi process would persist and serve CGI-ish requests on stdin/stdout. The initial content-scanning and dependency generation would happen once and not need to be repeated for future requests. Although, all state-changing operations would need to be careful to ensure the in-memory models were accurate. Also, I don't know how suited the data structures would be for persistence, since the current model is build em up, throw em away, they might not be space-efficient enough for persistence.
+
+If I did attempt this, I would want to avoid restructuring things in a way which would impair ikiwiki's core philosophy of being a static compiler. -- [[Jon]]