Hi Eric,
you are missing encoding the value before saving the cookie - so it breaks 
with content containing newlines etc.

cheers

bj

Also it is worth pointing out that cookies on  'file' urls do not work in 
chrome.

On Monday, July 13, 2015 at 6:36:51 PM UTC+1, Eric Shulman wrote:
>
> On Monday, July 13, 2015 at 6:51:49 AM UTC-7, PMario wrote:
>>
>> I think using cookies is a bad thing. we used cookies in TWClassik and 
>> they just caused problems. imo you could add a new field eg: publish and 
>> sort your own recent list. so if you think your changes are worh a new 
>> read, just change this field. if not, just don't update the field. 
>
>
> Cookies are a bad thing when they are being misused, but they still have 
> their place...
>
> In general, TW5 stores everything in tiddler fields, so that all 
> stateful-ness can be saved with the document.  This provides much greater 
> consistency and reliability of handling as compared to cookies.  However, 
> in order for changed values to persist, it requires the ability to save the 
> document, which most *visitors* to the published document won't have.
>
> In addition, tiddler-based storage is not useful for tracking 
> visitor-specific information, such as "when did this visitor last view this 
> document" or "what was the last tiddler viewed by this visitor", etc.  This 
> kind of information is different for each person who visits the page, and 
> should *not* be saved with the document. Similarly, various option settings 
> (e.g., story view (classic, zoomin, etc.), show/hide Sidebar) should be 
> saved separately for each visitor, so that their desired display 
> preferences could be automatically re-applied each time they visit the 
> document.
>
> To address this need for visitor-specific persistent information , I've 
> implemented a "cookie binding" widget:
>    http://tiddlytools.github.io/InsideTW/#TWBook%2FCookies%2Fcookie.js
>
> The widget syntax is:
>    <$cookie name="..." tiddler="..." field="..." index="..."/>
> where:
>    name = the name of the cookie to store
>    tiddler = the title of the tiddler containing the field/index value to 
> track
>    field = a fieldname within the tiddler
>      or
>    index = an attribute name within a DataTiddler
>
> To create a cookie binding, add the <$cookie> widget to a tiddler tagged 
> with $:/tags/PageTemplate.  When first rendered, the <$cookie> widgets will 
> retrieve the saved cookie values (if any) and apply them to the 
> corresponding tiddler fields/attributes.  From then on, any changes to the 
> tiddler fields/attributes during the session are automatically pushed back 
> to the cookie values, so they stay in sync with the current tiddler values. 
>  When the document is closed *without saving*, the changed tiddler values 
> are discarded, but the cookie values remain, so that they can be re-applied 
> the next time the document is loaded.
>
> To see this in action, just click on the "gear" icon in the upper right of 
> the InsideTiddlyWiki document, and change some display settings (e.g., pick 
> a different page background).  Then, reload the page, and see that your 
> choices are automatically re-applied.  You can also use your browser's 
> cookie management functions to directly view/edit/delete the cookies that 
> were saved, and if you delete those cookies, and re-load the page you will 
> see that the display settings revert back to the defaults that are saved in 
> the document.
>
> Note: there are also a few other widgets and macros for cookie handling:
>
> * TWBook/Cookies/action-setcookie.js
>    <$action-setcookie name="..." value="..."/>
>    used with <$button> to explicitly set/clear a cookie value
>    note: a blank value (i.e., value="") removes the cookie
>
> TWBook/Cookies/getcookie.js
>    <<getCookie name:"cookiename">>
>    returns the value of the specified cookie
>    use for direct display, or in filters, or in <$set>
>
> TWBook/Cookies/cookienames.js
>    <<cookienames>>
>    primarily used with filters, returns the list of all cookie names for 
> the current document
>
> TWBook/Cookies/CookieJar
>    declares <$cookie> bindings for settings ("OPT_*"), favorites 
> ("FAV_*"), and Table of Contents "toggles" ("TOC_")
>    note: this tiddler is tagged "$:/tags/PageTemplate so that the cookie 
> widgets can use the TW core refresh cycle to continously "listen" for 
> tiddler changes
>
> enjoy,
> -e
> Eric Shulman
> ELS Design Studios
> TiddlyTools - "Small Tools for Big Ideas!"
> InsideTiddlyWiki: The Missing Manuals
>
> YOUR DONATIONS ARE VERY IMPORTANT!
> HELP ME TO HELP YOU - MAKE A CONTRIBUTION TO MY "TIP JAR"...
>    http://TiddlyTools.github.com/fundraising.html#MakeADonation
>
> Professional TiddlyWiki Consulting Services...
> Analysis, Design, and Custom Solutions:
>    http://www.TiddlyTools.com/#Contact
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/532aca6c-9ab3-45ac-bd1c-c02e77b41a7d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to