|Denise (denise) wrote in dw_news,|
@ 2011-10-21 11:10 am UTC
Behind the cut:
* Future Improvements
* Expanding Comment Threads Now a Standard Feature
* Accessibility Win: Comment Hierarchy
* New Entry Creation Page
* Privacy: small profile change
* Importing Problems
* Updates from our Volunteers
Code tours covering the development activity since last we saw each other:
11 Aug - 24 Aug (currently live on site)
25 Aug - 5 Sep
6 Sep - 25 Sep
26 Sep - 11 Oct
12 Oct - 20 Oct
Notable improvements in this time period include:
* The ability to add a note when banning a user, so that comms with multiple admins will be able to keep track of why someone was banned without having to share information separately. (Or for those of us who, like me, have lousy memories.)
* The ability to add ?comments=screened to an entry URL to show all screened comments on the entry, ?comments=frozen to see all frozen comments, and ?comments=visible to show only the visible comments. (Right now you have to add these manually, although with the next code push, there'll be a link on the entry page to show them.)
* CSS fix -- if you have a CSS class with 'eval' in the name (the canonical example was a post by the username 'medieval', which would give you a 'poster-medieval' CSS class around any entry posted by that account), the system would strip that class, since 'eval' is stripped from CSS for security reasons. This is annoying if you or any of your friends is a medievalist, for instance: it doesn't block the display of the entries themselves, but it's not possible to use CSS to target those entries when customizing a layout. This fix replaces any instance of 'eval' in CSS with 'ev-l', so now you can use "poster-mediev-l" instead.
* Auto-discovery of account types on remote sites in <user name> tag: now if you're referring to exampleusername and examplecomm on LiveJournal, for instance, it will show the right userhead on Dreamwidth instead of using the generic userhead. (We have to fetch the information from the remote site and cache it, so it's possible the userhead won't display properly on the first use if our connection is slow, but if you refresh the page after a few seconds it will show correctly.)
* Improve the community landing page, to show more nifty information about communities on DW.
* Add the comment count image into outgoing RSS and Atom feeds, so that someone viewing the syndicated feed of your DW account through an external feedreader is guaranteed to be able to see how many comments there are. (We already included the comment count using the proper RSS and Atom language, but not all feedreaders supported it.)
* Polls now let you change your vote without reloading a separate page, and indicate which options you picked when you view the poll results (instead of making you load the page to re-answer the poll). We also tweaked some of the poll description so it's more accurate about who can see what information, now that we have anonymous polls.
The above fixes and changes are currently live on the site. These changes won't be live until the next code push, but have been fixed or added in development. (The next code push will likely be next week; watch dw_maintenance for an exact schedule.)
* The option to view comment pages in your journal style vs. the site style used to be a layout function -- it was attached to the Customize Journal page and was reset every time you changed your style. Now, it will be a display setting, and will be set in the Account Settings page. (And won't get reset every time you change your journal's look.)
* You'll be able to add a note when you're transfering Dreamwidth Points to another user -- you can add a note now when you buy points for someone, but not if you transfer them from your own points stash. So, no more "transfer points, immediately PM recipient to explain why the heck they just got points from you".
* Community admins will be able to prune deleted and purged accounts from the community membership list easily, enabling them to clean up the comm membership without having to find each username individually.
* You'll be able to change your notification settings so you can choose not to be notified in your inbox about successful crossposts to other sites. (You'll still receive error messages if the crosspost fails, but successful crossposts won't generate a success notification.)
* The "jump to account" function on the community membership and sent invites list will be renamed to the "search for account" function and improved so it shows you only the specific username you were searching for, instead of jumping to the page the username was displayed on.
* The Manage Circle page will have save buttons between blocks of usernames, making it easier to manage if you have a large circle to wrangle.
* You'll be able to display the communities you admin on your profile. (See separate section below!)
* When using the interest search, accounts that are in your Circle will be displayed separately, making it easier to see which of the accounts in the search results you already have a relationship with.
* Fixing a bug where long tag lists were accidentally cut off when crossposting.
Whew -- that was a mouthful! (And that was just the big stuff.) It's great to know that our team keeps going strong when I'm incommunicado for a while.
In this quarter's development, we welcome new code contributors bindingthreads, inoru_no_hoshi, musyc, skakri, winterfish, and woggy, and congratulate accessibility project team lead rb on her first code contributions. Thank you to all who've prodded buttock in making DW a better place.
Expanding Comment Threads Now a Standard Feature
Based on a dw_suggestions suggestion, and after careful consideration of our paid account feature profile and our server load, we've made inline comment thread expansion a standard feature, rather than a paid-account feature. This means that starting now, all accounts will be able to use the "expand thread" link to 'unroll' a comment discussion once it collapses to only show the header information for the comment. (The collapsing itself is to reduce the database load inherent in loading pages with lots of comments.)
We did consider this one carefully, and we're pretty sure it won't have a negative impact on site stability, but it's possible that we're wrong. If we are wrong, we may need to go back to disabling this feature for free accounts. We'll keep you posted.
Accessibility Win: Comment Hierarchy
As of the last code push, some of you may have already noticed a major accessibility improvement: explicit comment hierarchy indicators. This is thanks to an incredibly well-thought-out suggestion by jesse_the_k and heroic development work by allen. You can now go to the Display tab of Account Settings and check "Display Explicit Comment Hierarchy Indicators (site scheme only)".
If you turn on this option, when viewing comment pages in any site skin, comments will then display an outline-style explicit numbering of comment threads, allowing people who access the site via screenreader and non-graphical browser to see the relationships of comments inside a comment thread. (It will look sort of like a content outline: 0, 1, 1a, 1b, 1b1, 1b2, 1c, 1c1, etc.)
This is a major accessibility win -- one of my screenreader-using friends didn't realize until after using LJ and then DW for about five years how sighted people were figuring out which comments were replies to which -- and one I'm really, really proud of. It took us a while to figure out the best way to do it -- jesse_the_k submitted the suggestion in February of 2010 -- but it just goes to show, once we file a bug for something, it will get added; we won't just give up on it.
As a reminder: Dreamwidth really cares about making the site accessible for you all. If you have an accessibility need that isn't being met, we want to hear about it. Because accessibility needs are different for everybody, and sometimes mutually-exclusive, we might not be able to fix the issue perfectly, but we will do our best to figure out a solution that will work for you. To notify us, you can post an entry to dw_accessibility, or contact the accessibility team project coordinator, rb.
New Entry Creation Page
And speaking of huge amounts of work and major wins, with our next code push (which should be coming sometime next week -- watch dw_maintenance for details) we will finally be debuting the beta version of our new update page, which has been fu's Major Project that she's been coding her fingers off for!
This project has been a long time coming. We started off by asking what you thought was important in the update page. From there, after a few iterations, hope and fu did a lot of work on turning my crappy pencil sketches into a workable mockup, which we unveiled the first draft of and asked for feedback. You guys gave us excellent feedback, resulting in the second draft, which prompted another round of revisions and feedback.
Once we got the design to a point where we were pretty confident it would be an improvement for 95% of the people we heard from (and at least avoid actively pissing off the other 5%), fu began coding. And what a heck of a lot of work it was: in order to accomplish the redesign, we had to drag a lot of the site's backend code kicking and screaming into the 21st century. (The update page, and the functions it used, were some of the oldest code on the project; the only thing older is the code that generates site-skinned comment pages, and we've done a lot more work on those.)
But fu and the rest of the DW coding team have triumphed over a whackton of technical debt, and we are at the point now where we're about ready to let y'all bang on the beta version to see what problems we haven't been able to find so far in testing.
The new update page will live at its new URL (dreamwidth.org/username/entry/new), and for now, you will need to explicitly opt into the beta testing pool at the Beta Features page. (The option to beta-test the new entry page is not yet visible on the Beta Features page, but it will be with the next code push.) The beta is a beta, and not everything is fully implemented yet -- the biggest things it'll be missing will be the rich text editor and the draft/scheduled posts option -- but the rich text editor will be finished before we make it the default for everyone, and draft/scheduled posts should follow shortly thereafter.
We're really looking forward to showing you guys the new design, especially since it's been eating fu's brain for ages. Not to mention, I think it's absolutely gorgeous; hope did a fabulous job integrating everyone's feedback, and the result is just amazing. I'll let you all know once we have the draft/beta version live on the site, and if you're interested in getting it sooner, watch dw_maintenance for announcements of the code push.
Privacy: small profile change
With the next code push, we'll be adding a list of the communities you admin to your profile, based on a suggestion from dw_suggestions. This will be tied to the option to hide communities of which you are a member. If you don't want this list to show on your profile, go to your Manage Profile page, and under "Circle Display Options" -- the last header on the page -- uncheck "Communities" --> "Display communities of which you are a member." (After the next code push, it will read "Display communities of which you are a member or an admin.")
And, speaking of profile-related privacy changes, this next code push will also include a fix to make your privacy choices more clear to people in your circle: if you had some information on your profile locked to your circle only (such as contact information), there was no indication it wasn't public, so there was a chance one of your circle would accidentally give it out by mistake (through not knowing it was locked). With the next push, locked information on the profile will display the lock item, so people who have access don't automatically assume things are public.
If you're trying to import content from LiveJournal, some users have been experiencing an error message reading something like: "XMLRPC failure: couldn't retrieve anum for entry at /home/lj/cgi-bin/ljprotocol.pl line 4021". (The line number may change.) This is, unfortunately, a bug with the way LiveJournal is sending out data (not just us, but to any request to download or export entries from certain accounts), and it's not something we can fix.
If your account is one of the ones affected by the bug, you may want to report it to LiveJournal's support team -- however, based on the answers they've given other people who reported it to them previously, they do seem to be aware of the problem and are working on a fix, so it's probably not absolutely necessary.
Updates from our Volunteers
For a change of pace, I asked some of our volunteers to write blurbs for the news post about what they've been up to lately, in order to let y'all hear directly from some of them. (And then I fell off the face of the internet for another two weeks due to disability-related stuff, so tack on another two weeks to any time reference.) In no particular order other than the order they gave them to me:
rb, dw_accessibility project coordinator:
Since the last News Update I've started coding for Dreamwidth! This is a huge step for me because it's something I had spent the entire history of Dreamwidth resisting until now... originally I didn't have enough brain function to do programming but luckily my abilities have improved over the past few years and now it's something I can do. I was finally inspired to start by synecdochic's last post about development where she included a bunch of resources for starting to program.
The bugs I've done that are relevant to accessibility have been:
Bug 3927: adding month numbers to the month name list you'll find if you pay for something via credit card, as requested in this discussion on dw_accessibility
Bug 3905: fixing the text which used the confusing phrase "reading list" instead of "reading page" in several spots including the main page of Dreamwidth itself.
Since I'm accessibility project leader I'm especially enthused about learning enough to work on important accessibility fixes along with people like deborah who has spent a lot of energy specifically on accessibility-related fixes. At the moment I have to pick the tiny small bugs that help me learn more while I'm such a beginner so most of them aren't about accessibility, but that's cool too. I can tell I'm getting better, even though I've only been at this a few weeks, and everybody is fantastically supportive and helpful so I'm having heaps of fun doing it.
azurelunatic, dw_antispam project co-coordinator:
Antispam work continues! Thank you to everyone who reported spam, and everyone who submitted an application to whack spam. A few new recruits have been added to the dw_antispam team, and are whacking away merrily.
The anonymous spam campaign with the gibberish subject line and nonspecific, misspelled compliment continues. Most of the reported pieces we have seen have been from unique IP addresses, that is, IP addresses that have been never reported to us as emitting spam before. If you got some spam a while ago and didn't report it, and figured that there's no point in reporting it because someone else surely has already, please do report it if you have the time. Some surprisingly old spam has been unique. (It's OK to report spammer comments that may have been imported along with old entries, too.)
This campaign does not spam everyone equally. Some users get one or two pieces of spam from this campaign. Some get hammered with nine or ten. Even among those nine or ten pieces that are clearly from the same spam campaign, there are often several IP addresses.
If you were present for the height of the "Stop hack the system" and "Hack again?!" campaign last winter, you may be interested to learn that there are now sometimes links added (badly, with BBCode in the subject line, which does not work so well) to them. Despite deep temptation and all of last year's threats to do so, I have not submitted this spam campaign as a fandom for the Yuletide fic exchange.
Do remember that while a comment from someone you don't want to talk to anymore, a comment from someone you don't want to start a conversation with, or a comment or two that is against the community rules, can be annoying, the antispam team does not deal with these. Warn, screen, delete, or ban unwanted commenters.
A lot of people have been taking up coding lately. Even though I'm not one, I've been lurking to soak in knowledge from the various impromptu tutorial sessions. I've also been poking through the wiki to see whether some of the advice from the tutorials is in there. Often it hasn't been, or there are two things that logically flow together in the tutorial that aren't linked at all in the wiki. So I've been adding things and linking things, then handing those pages to some of the seasoned developers, so they can make sure everything is OK and maybe add a little more if the spirit moves them to. This helps me understand more about how the site works, helps beginning developers know where to look to learn more and get their questions answered, and the more developers who level up, the faster development goes, and everybody gets the new shiny stuff.
Anyone can sign into the wiki, either by creating an account or signing in with OpenID. foxfirefey and a few others, including me, have the power to confirm that people are not spammers and allow them to edit more freely. We check for new users every now and then, but do say something in dw_volunteers or IRC so we don't overlook you accidentally.
pauamma, volunteer developer:
Most of my recent Dreamwidth-related work has been wiki documentation of some behind-the-scene Dreamwidth machinery that developers and people running their own sites need to know about. In the past week, I wrote an overview of ESN design and implementation (ESN is what lets you know by email or in your Dreamwidth inbox of replies to your comments, approaching birthdays, etc.), a page about what Dreamwidth developers need to know about TheSchwartz (a critical component that does some of the heavy lifting for ESN), and I'm currently working on extending a similar page for people running their own sites. While working on that, I noticed something we don't use anymore, so I filed a bug to initiate its final de-orbit burn.
Right now, I'm reviewing the first part of the code that will be the foundation for the new update page. That is, looking at the code both from a low-level blow-by-blow perspective and from a high=level design and overall organization - much the same way, I understand, as an editor would do for a novel.
When I'm done with that, I'll probably return to working wiki pages related to the first set, then return to the Dreamwidth statistics system, where I'm currently working on a bug to make graphs larger when you click on them. (This is also my first foray in the weird and wacky world of writing code that interacts with the user, instead of interacting with other code. Be very afraid.)
In-between, I try to encourage all developers, not just the more experienced ones, to answer each other's questions (with experienced developers ready to step in in case an answer is incorrect or harmful). The response so far looks encouraging, and I hope to make this a regular feature. I also hang out in IRC, and if I'm not otherwise occupied — or sometimes even if I am — I'm always ready to help others troubleshoot problems with Dreamwidth code.
allen, volunteer developer:
I'm allen. I've contributed a few features and bug fixes (and on occasion bugs) to Dreamwidth.
I've been working on the comments view recently. Bugs 3298 (Option to view top level comments only), 1872 (Collapse Comments -- note, jQuery beta only), and 1474 (Add view=flat to comment pages) have been committed. Once those go live, users will have a (small) new menu between the entry and the comments allowing them to choose between threaded comments (default), unthreaded (flat) comments, and top-level comments only. In addition, users who can currently do ajax comment expansion and who are in the jQuery beta will also have a new Hide/Show x comments link in their comments, which will allow them to show and hide entire comment trees.
I took these bugs as part of the March Suggestions Hackathon. They took me a little bit longer to do than I expected.
The new navigation section still seems a bit sparse, though, so I just submitted a patch for bug 31 (Expand all comments on page).
kareila, volunteer developer:
Here's a quick summary of what I've worked on in the past six weeks:
Changes that are live on the site: Bug 733, looking up an external user's account type (which took OVER A YEAR to finish); bug 2010, separating comment page style preference from journal style; and bug 1571, allowing filtering of comments by state/visibility. I humbly note that all of these features had bugs that needed fixing after they were activated, but they are all better now!
Changes that aren't live yet: Bug 2838 makes it easy to find and delete purged users from communities - just click a button. Bug 939 makes it possible to unsubscribe from crosspost success notifications, and to have crosspost notifications emailed. Bug 2866 lets you include a short note when transferring points to another user. Bug 2836 separates OpenID accounts from Dreamwidth accounts in the list of users displayed on the profile page. Bug 3916 fixes the recently discovered problem where poll questions with many checkboxes were not recording all votes.
Works in progress: I am gradually moving old-style inherited Perl libraries to the standard Perl module format in bug 1726, a venerable bug which has passed through multiple hands. I have also taken up bug 2159 as part of the suggestions hackathon, and posted a walkthrough detailing my thought process for the first draft. Once completed, that will allow people looking for DW invite codes to quickly determine if a given code is still available.
You can follow my continuing code commentary at karzilla, although I don't update it for every bug I work on. Too busy writing code!
sophie, new-developer contact person and Dreamhack admin:
Hi! I'm sophie, and I'm the maintainer of our Dreamhack service, for Dreamwidth developers wanting to have their own dev environment without having to go through the hassle of setting it up themselves.
In the last news update, Denise reported on testing a new version of Perl. One of the steps in doing that was to first upgrade the Dreamhack server, and we decided that the best way to do that was by setting up a new server and transferring people across. Life has gotten in the way a bit since then - I'm just a volunteer, as are most of our devs - but not long ago I sent out an email to everybody on the old server about the migration! I've also set everybody who was waiting for a Dreamhack up on the new server. There was quite a big delay before I did that, and I sincerely apologise for that, but things are moving now!
As the 'mommydev' around here - the person who helps the babydevs - I also wanted to talk about how to get started developing for DW.
Developing for Dreamwidth can take some time to learn, but the results can be rewarding. Dreamwidth is one of the very, very few open-source projects where the developer base is mostly female. I attribute this to the fact that, unlike many open-source projects, we try very hard to be inclusive!
If you don't know Perl - the programming language used to power Dreamwidth - then we'll help you learn. We'll give you easy bugs to fix. Let me tell you, there is *nothing* like the satisfaction that comes from seeing something you did going live on the site and being used by everybody!
If you'd like to get involved with developing for DW, I'd suggest first coming along to our IRC chat channel on Freenode and getting to know the community, if you can. While there are a lot of devs who don't or can't use IRC, being able to use IRC has the advantage that if you have a question, it's fairly easy to get an answer quite quickly. (Plus, we have an awesome quote database.) I'm known as "Sophira" in the IRC channel.
We do also have our own training community on Dreamwidth, dw_dev_training, where you can also ask questions. IRC isn't a replacement for this community by any means, but instead complements it; there's something about real-time communication that you don't get in a comm.
Lastly, we have several pages on the wiki to help newcomers, including how to get started with using a Dreamhack, a tutorial on using a Linux command line, and a page on how to work with Bugzilla, which is the bug-tracking system we use. We're doing our best to document everything on the wiki, so if you find something that's missing, please feel free to let us know in dw_dev, or - if you have the time and spoons - add it yourself! (You'll need to log in to be able to edit, and if this is your first time editing, you'll also need to be given edit access to the wiki. For now, the best way to do this is by posting in dw_dev; somebody with the appropriate access will pick up the request.)
Thanks for reading, and I hope to see you around!
Whew! That's it from us for another update, and typing all that out means it's time for me to retire to the
As always, if you're having problems with Dreamwidth, Support can help you; for notices of site problems and downtime, check the Twitter status page; if you've got an idea to make the site better, you can make a suggestion (and I promise the dw_suggestions queue will be next on my list of things to catch up on).
Further medical emergencies aside, knock wood, we'll see you in two weeks for our next update. Keep an eye on dw_maintenance for announcements of next week's code push!