denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
Denise ([staff profile] denise) wrote in [site community profile] dw_news2017-02-15 05:35 am

Dreamwidth news: 15 February 2017

Hello, Dreamwidth! And thank you to everyone who wished me and my wife a happy vacation -- it was an excellent one. (Rumors that it was to help distract me from a significant birthday starting with 4 and ending with 0 are totally unfounded. Really.) It was also awesome to come back and see all of the new activity going on! I hope that everyone who's joined us in the last month or two has been settling in nicely.

Behind the cut, a tour of some of the new stuff we've done in the last few months, plus a look at some older changes that could use more love:

* Image Hosting Frontend
* HTTPS Beta
* Create Entries Beta: progress report
* Selective comment screening
* Other alphabets in site search: fixed!
* Icon file size limit increased
* Dreamwidth: Did You Know?
* Team Dreamwidth

Image Hosting Frontend

We've had very barebones image hosting for a while, but it lacked a pretty frontend for uploading images inside your browser! Thanks to [ profile] rshatch, that's changed now. You can upload images, view all your uploaded images, or manage your images.

To start with, we've given all accounts a disk space quota of 500MB -- if you exceed that quota, you won't be able to upload more. (It's likely that we'll be able to increase that quota -- especially for paid and premium paid/seed accounts -- in the future, but we wanted to start with a conservative quota and see what usage looked like so that we didn't overpromise.)

Caveat: Images uploaded to DW can't be remotely loaded from elsewhere on the internet, except for sites that the crossposter works with. So, if you crosspost your entries to LiveJournal using the on-site crossposter, any DW-hosted images you include in those entries will display on LiveJournal -- but you can't upload an image to Dreamwidth and display it on a message board/your website/etc. The image hosting is for DW entries only!


We've been working for a while on finalizing our support for HTTPS everywhere on the site (and not just for logging in or buying things in the shop), and at this point, we're reasonably confident that we've licked most of the major problems -- confident enough that we're moving into the final testing phase, at least. This weekend's code push introduced a beta flag for HTTPS mode so you won't have to manually type in the https:// when you access the site or use a browser extension such as HTTPS Everywhere. (Although HTTPS Everywhere is an excellent extension that you may want to consider installing anyway, to protect you elsewhere on the internet.)

If you'd like to activate HTTPS mode for your account, go to the Beta Features page and turn on the HTTPS beta (the top one). Once you do, you'll automatically be redirected to the HTTPS version anytime you access a page on the site. We'll keep an eye on the server performance and logs for any issues, and once we fix the last issues and are confident that nothing else is broken, we'll turn HTTPS access on as a default across the site.

Note: If you have a journal background image or custom mood theme that's accessed via HTTP and not HTTPS, you'll get a mixed content warning. To fix it, replace the image links with HTTPS versions, or host them on Dreamwidth.

Create Entries Beta: progress report

For those who are new here and haven't seen the beta page before: it's where we put things that are not quite ready for prime time but don't deserve to be relegated to the late-night infomercial time slot. (Did that joke just date me? I think that joke just dated me.) The other beta option available right now is the new Create Entries page beta: a redesign of our update page that's been through many, many revisions and rounds of feedback, and has settled down into something that's all-around better (we think, and so do a lot of you) than the old version.

A number of people have asked us why it's still in beta when it's so much better than the old version! (It's been in beta for a really long time.) The answer: it's still missing a rich text editor (the thing that lets you bold/italicize/underline/etc text without having to know the HTML for it). (There are two other things that are missing -- autosaving drafts inside your browser and the "don't autoformat this entry" tickybox -- but neither of those are really blockers.)

I'm happy to say that someone has adopted the project of adding a rich text editor to the beta update page, though, and progress is being made! In the meantime, if you don't need rich text editing, you may want to turn on the Create Entries beta and give it a whirl -- most of the bugs are pretty well worked out by now. (And the advantage of the beta version is that you can drag and drop the various panels to wherever you want them and turn off panels you don't use -- just hit the Settings link in the upper right hand corner.)

Selective comment screening

Do you have that one specific person commenting in your journal or community? You know, the person whose comments are unhelpful or annoying just often enough that you don't want their comments to be publicly visible to your readers without you first confirming that they're not being a failweasel this time, but who also manages to contribute productively to the conversation just often enough that you don't want to ban them? If you do, now you will no longer have to turn on comment screening for your entire journal and individually approve each comment: you can set your journal so the Occasional Failweasel's comments are screened by default. Or, do you have a friend who really values their privacy and doesn't want their comments, even on a public entry, to be publicly visible, so won't comment in your journal or comments to trigger a notification email and then deletes the comment immediately? You can set your journal so the Privacy-Conscious Friend's comments are screened by default.

Enabling selective screening for someone's account means that any comment the person makes in your journal will be screened by default, no matter what the screening settings are for your journal as a whole or for an individual entry. It doesn't block the person from commenting (for that you'd have to ban them). You can still unscreen the comment later if you want.

To set someone on selective screening, go to the admin console and type:

screen_set username

To set someone on selective screening for a community you're the admin of, go to the admin console and type:

screen_set for communityname username

To disable selective screening for someone, go to the admin console and type:

screen_unset username (or, for a community, screen_unset for communityname username)

To list everyone who's set to selective screening in your journal, go to the admin console and type:

screen_list (or, for a community, screen_list for communityname)

Huge thanks to [personal profile] woggy for the feature and [personal profile] azurelunatic for the original suggestion.

Other alphabets in site search: fixed!

Ages and ages ago, a number of people reported to us that site search was failing on any non-Latin characters. We tried a few of the obvious answers to try to fix it, none of which worked. Eventually, [personal profile] alierak tracked down where the encoding problems were happening and fixed it! (I hate text encoding problems so much.) So, now you can search for Привет as well as for Hello without the short snippets of results being mojibake.

Icon file size limit increased

For years and years (as in, since user icons were first added on LJ in like 1999), the file size limit for icons has been 40KB. It's now 18 years later (oh my GOD I'm old) and disk space and bandwidth have gotten a little bit cheaper in that time, so we expanded the allowable file size to 60KB. Icons can still only be 100x100 pixels (mostly because everything on the site is designed for that size and changing it would be non-trivial), but you no longer have to step down the quality of animated GIFs quite so far to fit them in an icon.

Dreamwidth: Did You Know?

Since we've had so many people joining us lately from LiveJournal again (welcome! pull up a chair! have a cookie! yes, our news posts always have these many parentheses!) I figured it would be a good time to highlight a bunch of the stuff we've changed that newcomers might not be aware of! Not an exhaustive list, but some of the new features that I'm really fond of myself:

  • You can reply to comments from your email by replying to the comment notification email. If you're replying from the email address that's confirmed on your account, it will Just Work; if you're emailing from a different address, you'll have to add the address as an authorized sending address. Comments will be formatted using Markdown syntax.

  • Screened comments are no longer automatically unscreened when you reply to them. The entire conversation thread will also be visible to both you (the journal owner) and the person who left the original screened comment. So, you can have entire conversations with someone in a screened thread without the comments ever being visible -- perfect for if you need to pass some information back and forth but don't want to send a PM.

  • Have you ever gotten lost or confused about which comments are replies to which comments in a long or complex thread? You can turn on the setting we call comment hierarchy, and it will add an outline-style indicator (1, 1a, 1b, 1b1, etc) to each comment. It's great for people who are blind, visually impaired, or have low vision; people reading the site in a browser that doesn't display images (and thus doesn't display the indentations), or people reading the site on a small viewing screen that doesn't fit many comments on it at once.

  • You can leave a comment from your reading page without having to load a separate page. If you click the Reply link from your reading page, the comment box appears inline and you can leave a quick comment without ever leaving your reading page. (If you want to read the other comments before leaving your own, you can still click the number of comments or the title of the entry to bring you to the entry page.)

  • Have you ever been frustrated by the fact that when you change an icon's keyword, all past uses of that icon revert to your default icon? Now you can rename your icon keywords instead of just deleting the old one and adding the new one, and all past uses of the icon will update. For instance, if you have an icon with the keyword 'cat' and you remove the 'cat' keyword and add the keyword 'kitten' instead, all the posts and comments you made with the keyword 'cat' will revert back to your default icon. If you change the keyword from 'cat' to 'kitten' and tick the 'Rename keywords' box underneath the keywords field, all the posts and comments you made with the keyword 'cat' will show the same icon, now keyworded 'kitten'.

  • Is there someone in one of your communities who gets on your nerves so much and you'd like to not see their posts on your reading page anymore, but you do still want to stay subscribed to the community? Do you want to filter posts that are marked NSFW out of your reading page while you're at work? You can use CSS to filter your reading page to do that and many other changes, such as setting a different background color for different posters.

  • Paid accounts, we've improved the polling system considerably! You can create truly anonymous polls (where not even you can see who answered what), include poll questions that force someone answering to tick a certain number of boxes (or only up to a certain number of boxes), and filter poll results by taker so you can see all of someone's answers in one place. It all also works inline, rather than bringing you to a separate page.

  • Also for paid accounts: do you want more icon slots than your account type offers? You can buy extra icon slots for your account, up to 500 icon slots total. It's a one-time payment of $1 per icon slot, and the extra icon slots will be available to you for as long as your paid account is active.

  • Looking to improve your search engine optimization or want to give people a better sense of what an entry is about? You can specify text that will be used in the URL of an entry. (For instance, look at the URL of this news post!) To specify an entry link, turn on the new Create Entries beta and enable the Entry Link panel. Anything you put in that text box will be used for the URL of the entry.

  • Tired of remembering HTML to format your entry and want to use Markdown instead? Just type "!markdown" as the first line of your entry, and the entry will be formatted using Markdown syntax.

  • Are you an admin of a community, and want to make it clear when you're speaking as the community admin and when you're just speaking as another user? Turn on the Create Entries beta and enable the 'Entry Flags' panel, then tick "Flag as an official community post", and your entry will be marked as an official community post. Or, when leaving a comment, click the 'More Options' button and tick the "Admin Post" checkbox, and your comment will be marked as an official admin comment.

  • Are you an admin of a community that has multiple admins, and don't want to create a separate community for you all to communicate with each other about how the community runs? We have an 'admins only' security level that you can use when posting to the community, and the only people who'll be able to see it are admins of the community.

I know I'm forgetting a ton of stuff that we've added, so what else can people think of as "new stuff DW has that is awesome"? Sound off in comments.

Team Dreamwidth

Since we have so many new folk around, I also figured it was a good time to introduce y'all to the DW team. As you may have noticed, staff accounts have a separate userhead in front of their names in the <user name="username"> tag. (Official DW communities have a different version of the community icon, too!) If somebody doesn't have the 'staff' userhead, they don't officially speak for Dreamwidth. (That doesn't mean they don't know what they're talking about -- we have a lot of volunteer project leaders! But only people with the staff userhead are able to speak officially ex cathedra Dreamwidth.)

Those staff accounts are:

[staff profile] denise: That's me! I'm the co-owner of Dreamwidth Studios (DW's parent company). Most people interact with me because they had a problem with a payment and opened a support request, or in discussion in an official DW community. I allegedly also write regular news updates, but 'regular' has been a bit of a misnomer this past year and a half or so. (Grumble grumble disability grumble grumble.)

[staff profile] mark: The other co-owner of Dreamwidth Studios. Mark handles server issues, programs new stuff (particularly backend/infrastructure stuff), and reviews and commits code written by other people. Most people interact with him because they're working on dev stuff, or because he's posted details of an issue to [site community profile] dw_maintenance.

[staff profile] karzilla: Jen is our community development lead; she works with our volunteer developers to make sure that their code gets reviewed, as well as doing a lot of programming herself. She also does a lot of work with support to make sure that bugs or issues get fixed, and is the backup person for private support categories like Account Payments (so I can do things like take three-week vacations with no internet). You'll see her around everywhere doing a little bit of everything!

We also have a backup sysadmin to handle site problems and issues that happen when [staff profile] mark is away -- that's Robby ([personal profile] alierak). He doesn't officially have a staff userhead, but he fixes a lot of stuff that most people never know about but that are vital to keeping DW chugging along. (He's also [staff profile] karzilla's husband, so they have a pretty good system of collaboration going on there...) You probably won't ever interact with him, but if a problem happens and he's the one fixing it, you may see a comment from him here and there.


That's it from us for another update! 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.

Comment notifications may be delayed for an hour or two, due to the high volume of notifications generated after an update is posted to [site community profile] dw_news. This was posted at 5:35AM EST (see in your time zone). Please don't worry about delayed notifications until at least two hours after that.
primwood: (Lady Writing)

[personal profile] primwood 2017-02-15 04:09 pm (UTC)(link)
This entry is one of the reasons DW is the best: you always are friendly and explain things so well. Thanks for listing the features you did. I knew nothing about them before. Thanks for introducing the team, too.

Could you tell me what HTTPS is? I'm not really clear on what it is or why I'd want it.
brownbetty: (Default)

[personal profile] brownbetty 2017-02-15 04:41 pm (UTC)(link)
Not official, but as an explanation that is probably good enough?

Security people recommend you use https everywhere, since breaking your security on one site can sometimes be used to break your security on other, more important sites. For example, if your email security is compromised, an attacker can go to another site they want access to and use the "forgot my password!" button to get your password in your email.

HTTPS is a way of encoding all the traffic between your browser and a website so that it can't be intercepted while travelling between them. If you go to paypal, or your bank, you will hopefully see a little icon up next to the url, in your browser, saying "secure" or maybe a lock. This is to indicate it uses https for everything. Or it might have another icon, like the one for AO3, which if you click on it says "this site is not fully secure! An attacker could see your images, etc."

HTTPS uses https:// before the url, instead of http:// which is the sort of thing which is easy to not even notice, which is why many browsers give you a coloured icon to bring your attention to it, or let you know if it's *stopped* being https without letting you know.

(no subject)

[personal profile] primwood - 2017-02-15 17:42 (UTC) - Expand

(no subject)

[personal profile] primwood - 2017-02-15 17:41 (UTC) - Expand
frith: Blue-grey cartoon pegacorn with light blue mane (FIM Luna enchanted)

[personal profile] frith 2017-02-15 04:22 pm (UTC)(link)
Image hosting works and crossposts hearty and hale! Huzzah!

Stuff I noticed:

Javascript required, there are description fields to fill that are JS dependent and the uploader loses your selection and gives you a nul entry if JS is not enabled.

The drop-down menu for size selection for the embed code is JS dependent. One thing I noticed in the code is that /200x200/ and /640x640/ don't give you square images, and if you swap in /640x382/ (because that's what my picture scaled to), she no work.

Also, I think I can just upload one picture to my DW gallery at a time, but that's no biggie.

Huzzah! Image hosting! This is much appreciated. Thank you!
Edited (Grammatical errors bug me) 2017-02-15 16:24 (UTC)

(no subject)

[personal profile] momijizukamori - 2017-02-15 19:22 (UTC) - Expand

(no subject)

[personal profile] frith - 2017-02-15 23:39 (UTC) - Expand
euthanasepam: (Che)

[personal profile] euthanasepam 2017-02-15 05:41 pm (UTC)(link)
>> Tired of remembering HTML to format your entry and want to use Markdown instead? Just type "!markdown" as the first line of your entry, and the entry will be formatted using Markdown syntax.

Pleasure to read. Thanks a lot.
ygam: (Default)

[personal profile] ygam 2017-02-15 06:20 pm (UTC)(link)
Please fix Cyrillic in tags. For example, try clicking on tags in this posting : they won't work.

(no subject)

[personal profile] ygam - 2017-02-15 18:31 (UTC) - Expand
cpt_kirk: <user name=cpt_kirk> (jh: jillian holtzmann)

[personal profile] cpt_kirk 2017-02-15 06:23 pm (UTC)(link)
Thank you for the great updates! I'm looking forward to the improved image hosting!

May I ask if there are any plans for a mobile view of Dreamwidth and/or an App?
mab_browne: Blair Sandburg looking very pleased, with the word 'Yeah!' in text (TS enthusiasm)

[personal profile] mab_browne 2017-02-15 06:28 pm (UTC)(link)
Thanks for the image hosting. Excellent news.
runpunkrun: combat boot, pizza, camo pants = punk  (Default)

[personal profile] runpunkrun 2017-02-15 07:46 pm (UTC)(link)
So excited about image hosting! Now the only thing left on my Dreamwidth wish list is a desktop client for posting. <3

[personal profile] jazzyjj 2017-02-15 07:57 pm (UTC)(link)
Thanks for another great update, Denise, and welcome back. I'm glad you and your wife had a fun vacation. As for me, I've been very busy as of late mostly due to work commitments, and therefore not journaling as much although I think that's gonna change. But these news updates are truly nice. Thanks as always for staying on top of things! That's one reason I'm here on Dw. Looking forward to checking out the new and improved stuff, with the exception of the image things since I cannot see them anyway.

(no subject)

[personal profile] jazzyjj - 2017-02-16 02:27 (UTC) - Expand
naye: luffy from one piece making yay-arms (\o/ luffy)

[personal profile] naye 2017-02-15 08:51 pm (UTC)(link)
Yay, thank you!
jjhunter: closeup of library dragon balancing book on its head (library dragon 2)

[personal profile] jjhunter 2017-02-15 10:14 pm (UTC)(link)
For 'Dreamwidth Did You Know' features not already mentioned, merge tags is one of my favorites!

(I should really start updating [community profile] dreamwidth_haikai regularly again; there's been a lot of inspiring activity lately!)
cloudsinvenice: woman resting her head on her hand, thinking (Default)

[personal profile] cloudsinvenice 2017-02-15 11:06 pm (UTC)(link)
Thank you so much for all this!! The image hosting has just made my life a lot easier, and yay for everything else, too! There were quite a few things in the Did You Know? section that I actually didn't know, and I particularly like the comment hierarchy thing...
finesoul: (Default)

[personal profile] finesoul 2017-02-15 11:36 pm (UTC)(link)
Yeah, image hosting had been the biggest UX+feature parity problem. Thank you!

The next one is embedded video from lj. If you managed to convert <lj-embed id="768" /> into youtube link it would have been fantastic. Not sure it's even possible.

To improve indexation by google a simple user controlled meta tag <meta name="google-site-verification" content="ilCCMKFY11N1Rs6rD_kVb0A77yFQ..."> would have helped a lot

I have about 522 indexed pages in my LJ blog

and only 3 results in my DW blog

More details can be found there

marahmarie: my initials (MM) (Default)

[personal profile] marahmarie 2017-02-17 01:07 pm (UTC)(link)
To improve indexation by google a simple user controlled meta tag would have helped a lot

You can add the tag to a custom s2 layer. Mine, with the tag included:

Does LJ give a specific spot in a wizard to add the tag to that DW doesn't? (I haven't used LJ in six years, so I'm sort of out of the loop).

(no subject)

[personal profile] finesoul - 2017-02-17 18:52 (UTC) - Expand

(no subject)

[personal profile] marahmarie - 2017-02-18 02:07 (UTC) - Expand

(no subject)

[personal profile] finesoul - 2017-02-18 06:47 (UTC) - Expand

(no subject)

[personal profile] marahmarie - 2017-02-18 08:18 (UTC) - Expand
srukle: (Default)

[personal profile] srukle 2017-02-15 11:50 pm (UTC)(link)
Thank you DW team for serving such a good product! :)
soc_puppet: You found kitten! (Robot, heart, kitten) Way to go, robot! (You found kitten!  Way to go robot!)

[personal profile] soc_puppet 2017-02-16 12:00 am (UTC)(link)
Yay, image hosting! I'm gonna upload so many craft pics...!

The comment hierarchy thing is one I always mention when I talk about how DW values accessibility; the site's just-slightly-off-white backgrounds are another.
siderea: (Default)

[personal profile] siderea 2017-02-16 12:20 am (UTC)(link)
I am momentarily too exhausted to express the fullness of my enthusiasm and appreciation, but please take my word for it that they are there

ETA: Will the Importer be updated to import images from LJ's Scrapbook?
Edited 2017-02-16 01:31 (UTC)

(no subject)

[personal profile] siderea - 2017-02-17 03:22 (UTC) - Expand

(no subject)

[personal profile] kareila - 2017-02-17 03:59 (UTC) - Expand

(no subject)

[personal profile] siderea - 2017-02-17 05:26 (UTC) - Expand

(no subject)

[personal profile] kareila - 2017-02-17 05:31 (UTC) - Expand
tyger: (KH!)Cid, smirking.  Text: ...well damn. (Cid - Well damn)

[personal profile] tyger 2017-02-16 12:23 am (UTC)(link)
So many things! :D :D :D
elendraug: (Dragon Age - mage freedom)

[personal profile] elendraug 2017-02-16 01:09 am (UTC)(link)
Thank you all for being so steadfast in your commitment to online expression and privacy for so long.

Would you consider working something out to allow linking images to I currently have illustrations for my fiction hosted on Tumblr but I'm not sure that I can rely on their hosting space indefinitely. Maybe it's an extra paid feature we could enable for a paid account?

Best wishes!
moonhare: (Default)

[personal profile] moonhare 2017-02-16 01:22 am (UTC)(link)
Image hosting! Thanks so much :o)
my_tucker: (Chocolate cake)

[personal profile] my_tucker 2017-02-16 02:13 am (UTC)(link)
Thanks for this excellent and informative post, and also happy belated vacation! :)

Wow!! So many cool features I've learned about! Love all of it. Especially love the way you communicate and listen to your user base, and value the right stuff (like privacy). I'm only new to the site but already it's feeling like my new e-home for journalling. LJ was amazing back in the day, and you guys have kept all the good that used to be there and made it even better. NOW all I need to do is entice all my old LJ buds who've all left LJ and make them come over here (they are the only thing missing).

Thanks heaps! Have some virtual chocolate cake.
archangelbeth: Manga-style, translucent-winged woman with glasses. (Archangel Card)

[personal profile] archangelbeth 2017-02-16 05:03 am (UTC)(link)
pebblerocker: A worried orange dragon, holding an umbrella, gazes at the sky. (Default)

[personal profile] pebblerocker 2017-02-16 05:12 am (UTC)(link)
Thank you for all this! Lovely.
daryl_wor: a pic of skull and crossbones (Default)

[personal profile] daryl_wor 2017-02-16 10:26 am (UTC)(link)
I'm so glad I found this website. Hard times have come to me and I gave up hope there was any place online like this. I'm so pleased there are no thumbs-up buttons or the equivalent of that. Those creations deplete positive discussion and I'm so grateful DW works on things that are far more substantial. Bless you.
moem: A computer drawing that looks like me. (Default)

[personal profile] moem 2017-02-16 10:40 am (UTC)(link)
Have a verbal 'like':

That's well said and I agree with you. I'm happy for you about finding Dreamwidth; may it serve you well and make your life more pleasant, as it does mine. Welcome aboard!

(no subject)

[personal profile] daryl_wor - 2017-02-16 11:41 (UTC) - Expand
moem: Cat tipping a paint can (kladderkatje)

[personal profile] moem 2017-02-16 10:47 am (UTC)(link)
I'm very happy about the image hosting! It's really a big deal, feature-wise. Sure to be a crowdpleaser. Thank you all so much!
blackmare: (coffee)

How to get uploaded images into a post?

[personal profile] blackmare 2017-02-16 02:45 pm (UTC)(link)
Okay, I uploaded a couple images, no problem.

I can't browse for which image to add to my post, while I'm drafting the post, though, can I? I have to have already copied the URL for the image, from the "manage images" page, right?

So, I clicked the "upload image" icon in a post draft, pasted the URL in ... and at least in Rich Text, it gives me no image, just a tiny blank white box. Is this happening because I'm working from an iPad, or am I doing something wrong?

Update: HTML version doesn't work either. I click to insert an image, paste the URL in, the code shows up in the draft -- but when I post the entry, I get nothing but that tiny blank square. I'll try it from my desktop and see what happens.
Edited 2017-02-16 14:55 (UTC)
kareila: (Default)

Re: How to get uploaded images into a post?

[personal profile] kareila 2017-02-16 05:12 pm (UTC)(link)
Hi blackmare,

I looked at your journal and it looks like you pasted the embed code into a field that just expects the URL. So in the HTML view, the end result looks like: <img src="&lt;img src=&#39;http://...

(That will look weird in email; I had to double-escape it so it would render correctly on the site.)

Anyway, if you just use the http link to the image, or else paste the embed code directly into the entry in HTML view, it should work.

We'll definitely want to have better integration between the update page and the image library in the future, though! Thanks for pointing that out.
shivmeabreak: manga, armatus (our power)

[personal profile] shivmeabreak 2017-02-16 06:56 pm (UTC)(link)
I had no idea about the image hosting! I've been searching for a decent place to host my icons and it was right here the whole time. Go figure!

Thank you all so much for your hard work on this wonderful site!

Page 2 of 4

<< [1] [2] [3] [4] >>