Previous Entry Share Next Entry
Release 0.4.8: Sound and Fury, signifying nothing user-visible
jducoeur wrote in querki_project
Okay, enough. I've finally declared myself done, and released 0.4.8.

You shouldn't see *much* new here. 0.4.7 was 24 days ago. A good chunk of that was my holiday vacation. Most of the rest was spent in a truly monumental refactor. Those who follow my personal journal have been treated to some of the details, but suffice it to say the code had gotten kind of scary, and was taking a long time to compile. So I've spent about the past week and a half rewriting literally every file in the system, rearranging it into a new and *far* cleaner architecture. The short-term impact of this is fairly small, but over the long term it should make Querki much stabler and more testable. (For the first time ever, I'm actually pretty happy with the state of the architecture.)

Aside from that, the main change was some quiet but useful housecleaning, mainly in the Editor. The details:

Standardized Summary, Details and Description: these are now universal Properties, defined in System and available to every Space. We'll be moving towards using them more generally throughout Querki, but they are all optional.
  • Summary is a one-line description of this Thing, and defaults to the Display Name.

  • Details is additional information about the Thing, and is empty by default.

  • Description is a single unified description of the Thing; by default, it is the Summary plus the Details.
Note that this change *can* cause bugs if you were already using Properties with these names. My apologies if so -- it's going to be some time before the system takes name collisions completely in stride.

Made the Add Property list comprehensible: anyone who has done much in Querki has been frustrated by trying to add a new Property, especially a system property, because the list was incomprehensibly long and confusing. In fact, most of the properties listed there shouldn't have been there in the first place: it was including internal-only props, as well as functions. All of those have now been removed, and I've divided the remainder into "Standard" vs. "Advanced" Properties. Most of the time, you should be able to ignore the Advanced ones, which have been shuffled to the bottom. (Eventually, you'll be able to turn them off entirely.) So the list that shows up under Properties in System is down from something like 75 to a much more manageable dozen.

Fixed Properties to Edit in Instances: very similar to Add Property, this list is now far shorter, so it's actually *useful* now. (Eventually this will be replaced entirely by a drag-and-drop interface, but that's a ways off yet.)

Lists in the live Editor: I'm gradually moving towards making the "live Editor" (what you get when you say Thing._edit) the main interface for instances. Towards that end, Lists now work properly.

Create from Link in the live Editor: similarly, when you are looking at a drop-down to select a Thingy, and choose "Create a New Thingy", it now works correctly.

That's all that is *supposed* to be new. In reality, having rewritten or at least moved most of the ~17,000 lines of code in the system in the past two weeks, it is a near-certainty that I've introduced *some* bugs. Please tell me if you come across any. (They are actually likely to be fairly dramatic, along the lines of a Red Screen of Death, since the easiest bug would be failing to register a subsystem that I haven't tested properly yet.)

Now, back to working on real enhancements and bugs...


Log in

No account? Create an account