Commit graph

8 commits

Author SHA1 Message Date
C. Scott Ananian
52320c0902 Move ParsoidRenderID to MediaWiki\Edit
This class belongs with the rest of the Parsoid output stash code.

This class has been marked @unstable since 1.39 and thus the move
does not need release notes.

Change-Id: I16061c0c28b1549fbe90ea082cc717fee4a09a6e
2024-02-07 21:22:06 -05:00
Kevin Israel
d91ce5c7fc edit: Fix casing of ParsoidRenderID in a doc comment
Follows-up 0cb2c3c106.

Change-Id: I60437e06ea28b0310fe208d1bc06ef5f14c507cb
2022-12-05 02:04:35 -05:00
Reedy
0cb2c3c106 Fix casing of class and function name usages
Bug: T253628
Change-Id: I5c64f436d3cf757390b751ce3e34bfc7872bc176
2022-12-04 19:09:30 +00:00
daniel
587d847047 SimpleParsoidOutputStash: use makeKey()
Using the parse ID as the cache key without applying a prefix breaks
metrics: we end up creating a new metric for every hash.

Bug: T323357
Change-Id: Ibb136a5650fdccc44db23a26d860a345e021c02c
2022-11-21 13:30:03 +01:00
daniel
6fd3a7b0b0 Stash original wikitext when rendering unsaved content.
When visual editor switches from source mode to visual mode, we need to
stash the wikitext. Otherwise, we later lack the proper context to
convert the modified HTML back to wikitext.

Bug: T321862
Change-Id: Id611e6e022bf8d9d774ca1a3a214220ada713285
2022-11-04 17:17:32 +01:00
daniel
4dd7bd16b5 ParsoidOutputStash: make storage backend configurable.
This introduces the ParsoidOutputStash config setting, which defines the
storage backend and cache duration. The storage backend name refers to
an entry in the ObjectCache setting, and defaults to the main stash.

Bug: T267990
Bug: T309016
Change-Id: Ic67dc43ed9843810e4b180127f9a3bb7608f7608
2022-06-14 14:11:37 +01:00
Nikki Nikkhoui
b5fe60a7e1 Introduce PageBundleJsonTrait for serialization
New trait for PageBundle class to serialize & deserialize
PageBundle object into json before stashing and after unstashing.

Change-Id: I486fab5b3d01bcef2b535af579cd9672403b2102
2022-05-23 17:54:48 +01:00
Derick Alangi
13f6ec9e1b Rest: Migrate parsoid stashing logic from RESTbase
Add stash option to /page/html & /revision/html endpoints.
When this option is set, the PageBundle returned by Parsoid is
stashed and an etag is returned that can later be used to
make use of the stashed PageBundle.

The stash is for now backed by the BagOStuff returned by
ObjectCache::getLocalClusterInstance().

This patch adds additional data to the ParserOutput stored in ParserCache.
Old entries lacking that data will be ignored.

Bug: T267990
Co-Authored-by: Nikki <nnikkhoui@wikimedia.org>
Change-Id: Id35f1423a69e3ff63e4f9883b3f7e3f9521d81d5
2022-05-23 17:28:29 +01:00