Justin du Coeur (jducoeur) wrote in querki_project,
Justin du Coeur


(This still shows as 2.0.4 on the site because I messed up slightly, but it's currently running.)

Two subtle improvements this time around:

Large pages now work again: as I alluded to last release, we've had a bug for a while (since we moved the servers to Amazon) that was preventing large pages (more than 128k internally) from displaying. This was a purely internal problem -- when the rendered page was being sent from the back-end node doing the rendering to the front-end web server, if it was larger than that size it was blowing a maximum-message-size limit. This is now fixed: when a page is more than 10k, we set up an internal pipe to stream the contents reliably from the back end to the front. The fix is pretty generalized: while the bug was only showing for page rendering, this fix should apply to all API calls (which is nearly everything) from here on out.

Mind, any page that big is going to be kind of slow, so I strongly recommend using techniques like _QLLink to break it down into sections that get displayed when you click on them. (Really, for everyone's good I *request* that you do so.) But there's no hard limit any more.

You can now open User Values to the Public: I got an interesting question the other day: "Can I set up Preferences for my Space?" That is, is there a straightforward way for individuals to set preferences for how the Space will display for them?

The answer is "yes": Querki has a very general concept of User Values. If you have a Property, and you set the "Is a User Value" meta-Property on it, it becomes a "User Value". This means that, when a user edits that Property, the value they set is specific to *that user*. When they look at something that uses that Property, their value is what gets used. (There are also features for listing all User Values for a given Thing, displaying histograms and averages of those values, and so on: it's the basis for the built-in Rating and Review Properties.) So creating Preferences is actually pretty easy: you define a Page with some Properties, and make all of those Properties into User Values.

But there was a hitch: this only worked for *members* of that particular Space. That was a fairly arbitrary decision on my part, a couple of years ago, because I didn't see a use case for allowing non-members to have User Values. But for a public Space that might have non-Members looking at it, being able to do this Preferences thing totally makes sense.

So I've tweaked it accordingly. Who is allowed to do this is controlled by the "Can Have User Values" permission, which you can find in the Security page. (This requires Programmer mode, since it's pretty advanced stuff.) This permission defaults to "Members", but now allows "Public" -- if you set it to Public, then any Querki User can set User Values on this Thing.

Note that this is still limited to signed-in Querki Users, and probably always will be -- even when we add moderation and begin to allow Anonymous users to contribute comments and Things (if you turn that on), it doesn't make much sense for Anonymous to set a preference. But now that we're in public beta, and anybody can quickly sign up for Querki, I don't think this is an unreasonable limitation.
Tags: releases
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded