May 6th, 2003


layer gone?

Very early this morning I debugged my S2 layer until it compiled without errors. When I went back to the "Your Layers" section the layer had disappeared from the list of my layers. Actually, it was the only layer I had created so far and now there are none listed at all. The layer, #10479, can be still seen with layerbrowse.bml but how can I access it?
webdesigner - chez geek
  • tinyjo

s2 and polls

I was just looking at one of my older entries, and revelling in the customised page, when I noticed something odd. This entry should have a poll in it at the bottom, as you can see when you look here (btw, you can force the default format by using the old URL format) but it's not displaying. Viewing the source shows that <lj-poll-121769> is not being replaced with the actual poll code.

While I'm here, I don't seem to be getting anything in the links hash on the entry page - has this not been implemented yet, and is there a way to get the first few words of the text to use as a subject where there isn't one on the entry view? And will we ever be able to customise the poll results page?
  • Current Mood

S2 Updates

Objects with an as_string() method now interpolate in strings. If the object is null, it interpolates to nothing, so you can do things like: "$security_icon $subject"

Boolean context has been expanded to include everything except the void type:
-- objects are true if they're defined
-- strings are true if they're not ""
-- arrays/hashes are true if they have elements

Lots of XSS (JavaScript injection) holes fixed. S2 now supports attributes on functions. Before "builtin" was the only attribute. Now there's also "notags" (function isn't allowed to return "<" or ">" characters) and "fixed" (function can't be overridden). A lot of things have been marked with those. If your layout no longer compiles you'll have to make your own functions/methods and use those instead. Sorry.

Properties are escaped recursively (arrays & hashes) and untrusted assignments to properties have tags escaped. This way trusted layers can always trust the safety of properties.

Because htmlattr() is now a builtin, a lot of styles won't run anymore. They'll need to be recompiled. Sorry.

In the future, major changes like this won't happen and break things, or things will be auto-recompiled. But the S2 userbase is small enough yet I can do big changes like this without a big problem.

A lot more data is populated now.

Jesse updated Generator's MonthPage to look nice.

If you can get JavaScript into a style, email me ( directly with details (don't post to lj_dev!) and I'll give you some paid-account lovin'.

ReplyPage coming next.

Update: I'm pretty the errors the 3 of you reported were from between I recompiled the system layers and restarted the webservers. Let me know if the problem persists.
Hair Cut

Patch de-committed?

On Zilla #434, I submitted a patch to provide a link back to comments once a comment had been screened/unscreened. This patch was subsequently committed and put live.

I've since noticed that this functionality has stopped working, so if you screen or unscreen a comment, you no longer have a link back to the comments.

Was this intentional?
  • Current Music
    Paula Abdul - Rush Rush
  • timwi



I would like to bring forward a few points about English-stripping which are rather important to translators, but not obvious to most of the developers.

Firstly: If you're English-stripping, please strip everything. Do not leave parentheses, brackets, punctuation, etc. hard-coded. Some languages use their special characters for these, e.g. Arabic and Japanese, and some need them treated specially.

Secondly: Do not, like, ever, split sentences. Do not construct sentences from smaller bits. Not only does this confuse translators, it unnecessarily limits them in their freedom. You never know what grammatical quirks a language can have, so whenever you do this, you could potentially make a grammatically correct translation impossible. For example: "Paid user" and "Paid user, previously an Early Adopter" should be separate strings. Most translators know how to use Copy & Paste, so don't worry about increasing their workload. (I'll fix the Account Types English-stripping patch in a minute, so don't worry whoever made it.)

Thirdly and lastly, please document unconventional things using the |notes= directive in your translation files. I believe that's what it's for. It confuses translators a lot when they don't know where things go or how things are put together. Take, for example, the recently created Actionlink string. There's nothing there which gives a clue as to what it's for, what it does, how it works.

Sorry if some of this sounds like complaining or ranting. It's not supposed to. It is my advice as a translator. Thank you for your attention.