![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Okay, so I'm posting this entry to get feedback from you all on how to implement part of Bug 561 - Change 14+ flag to a NSFW flag and allow optional interstitials. Any and all feedback is appreciated!
So for those of you that don't know, this is how the adult content interstitial pages (the pages that appear when you try to view a journal/entry that has adult content) work right now:
* If the site knows your birthday and you are not old enough to view the content, the interstitial page will say so and you cannot view the journal/entry.
* If the site knows your birthday and you are old enough to view the content, you won't get an interstitial page at all and will see the journal/entry normally.
* If the site does not know your birthday (either because you're logged out or because you haven't set a birthday) and the content you are viewing has some level of adult content, you will get an interstitial page stating this, with a button that says "Yes, I am at least 18" (or "at least 14"). Once you click this button, the site sets a cookie and remembers that you are over 18 (or over 14). I forget when/how it expires, but I think it sticks around for your entire session. So the next time you go to view something that requires you to be a certain age, it will check the cookie and you will see the entry with no interstitial.
Now, this is how Mark and Denise want to change that last bit. They don't want it to set a cookie, and instead they want you to have to confirm your age every time you view a journal/entry that requires you to be 18 or over. In addition, they want to make it so a logged-in user can choose to see these interstitials even if they are old enough to view the content. Here's an example that D gave me in IRC:
[07:07 PM] <rahaeli> i: have my journal marked as NSFW or whatever
[07:08 PM] <rahaeli> you: are logged out and viewing
[07:08 PM] <rahaeli> you view synedochic.dreamwidth.org, you get prompted to click "okay"
[07:09 PM] <rahaeli> you, while viewing synecdochic.dreamwidth.org, click on synecdochic.dreamwidth.org/1234.html, you get prompted to click "okay"
[07:09 PM] <rahaeli> 1234.html has seven pages and lots of comment threads
[07:09 PM] <rahaeli> you click on a link to 1234.html?page=2, or 1234.html?thread=12345, or 1234.html?anything, you do *not* get prompted to click okay
[07:10 PM] <rahaeli> if 1234.html contains a link to synecdochic.dreamwidth.org/5678.html, and you click that, you get prmpted to click okay.
So my question to you all is...how would you implement this? It sounds like we need to set a cookie when you click through and confirm viewing an entry, and then check that cookie as long as you stay within it (anything at 1234.html). And then once you leave it, the cookie gets deleted. I'm not sure if this is sufficient, though, and I'm not sure if it's easy either. I'm thinking of the case of actually posting a comment...I'm not sure if the cookie would stick properly then.
Any thoughts?
So for those of you that don't know, this is how the adult content interstitial pages (the pages that appear when you try to view a journal/entry that has adult content) work right now:
* If the site knows your birthday and you are not old enough to view the content, the interstitial page will say so and you cannot view the journal/entry.
* If the site knows your birthday and you are old enough to view the content, you won't get an interstitial page at all and will see the journal/entry normally.
* If the site does not know your birthday (either because you're logged out or because you haven't set a birthday) and the content you are viewing has some level of adult content, you will get an interstitial page stating this, with a button that says "Yes, I am at least 18" (or "at least 14"). Once you click this button, the site sets a cookie and remembers that you are over 18 (or over 14). I forget when/how it expires, but I think it sticks around for your entire session. So the next time you go to view something that requires you to be a certain age, it will check the cookie and you will see the entry with no interstitial.
Now, this is how Mark and Denise want to change that last bit. They don't want it to set a cookie, and instead they want you to have to confirm your age every time you view a journal/entry that requires you to be 18 or over. In addition, they want to make it so a logged-in user can choose to see these interstitials even if they are old enough to view the content. Here's an example that D gave me in IRC:
[07:07 PM] <rahaeli> i: have my journal marked as NSFW or whatever
[07:08 PM] <rahaeli> you: are logged out and viewing
[07:08 PM] <rahaeli> you view synedochic.dreamwidth.org, you get prompted to click "okay"
[07:09 PM] <rahaeli> you, while viewing synecdochic.dreamwidth.org, click on synecdochic.dreamwidth.org/1234.html, you get prompted to click "okay"
[07:09 PM] <rahaeli> 1234.html has seven pages and lots of comment threads
[07:09 PM] <rahaeli> you click on a link to 1234.html?page=2, or 1234.html?thread=12345, or 1234.html?anything, you do *not* get prompted to click okay
[07:10 PM] <rahaeli> if 1234.html contains a link to synecdochic.dreamwidth.org/5678.html, and you click that, you get prmpted to click okay.
So my question to you all is...how would you implement this? It sounds like we need to set a cookie when you click through and confirm viewing an entry, and then check that cookie as long as you stay within it (anything at 1234.html). And then once you leave it, the cookie gets deleted. I'm not sure if this is sufficient, though, and I'm not sure if it's easy either. I'm thinking of the case of actually posting a comment...I'm not sure if the cookie would stick properly then.
Any thoughts?