If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: sitecorepm.wordpress.com - Paul's Sitecore Musings |.

site address: sitecorepm.wordpress.com redirected to: sitecorepm.wordpress.com

site title: Paul's Sitecore Musings Just another Sitecore blog

Our opinion (on Friday 28 August 2026 12:09:37 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=Just another Sitecore blog;

Headings (most frequently used words):

sitecore, to, solution, with, on, gotcha, paul, musings, conditional, placeholder, settings, nested, wildcard, item, resolution, issue, the, problem, steps, reproduce, from, support, my, temporary, sharing, unpublished, content, anonymous, reviewers, twig, embeds, razor, views, remove, orphaned, data, source, items, page, save, bending, layers, config, your, will, defaultticketmanager, choking, bad, auth, tickets, shibboleth, via, saml2, user, id, claim, cookie, monster, custom, fieldtype, metadata, voodoo, lowercasekeywordanalyzer, not, lowercasing, or, is, it, archives, categories, meta,

Text of the page (most frequently used words):
the (298), #sitecore (173), this (91), that (82), and (78), item (73), for (43), was (43), with (41), using (40), from (38), data (36), field (35), you (34), string (33), context (33), public (32), var (31), value (30), system (30), pipelines (30), editor (29), experienceeditor (29), site (28), not (28), type (28), have (27), new (26), but (26), patch (26), page (26), content (24), which (24), processor (24), return (24), boolean (22), get (21), speak (21), they (21), our (21), class (21), posted (20), just (20), are (20), there (19), drexel (18), use (18), foundation (18), solution (18), name (17), will (17), set (17), when (17), issue (17), what (17), would (17), block (17), paul (16), net (16), configuration (16), article (16), view (15), source (15), some (15), pipeline (15), items (14), into (14), can (14), owin (14), args (14), config (14), subpaths (14), com (13), authentication (13), first (13), then (13), where (13), out (13), client (13), should (13), http (13), create (12), code (12), any (12), web (12), version (12), post (12), button (12), one (12), experience (12), request (12), save (12), orphans (12), null (12), razor (12), blockdefinition (12), comment (11), custom (11), all (11), role (11), after (11), has (11), renderings (11), function (11), html (11), year (11), placeholder (11), 2023 (10), about (10), url (10), martin (10), method (10), response (10), setting (10), login (10), database (10), sqlclient (10), order (10), file (10), xmlns (10), www (10), xmlconfig (10), list (10), blocks (10), like (9), types (9), may (9), happy (9), coding (9), found (9), case (9), had (9), values (9), these (9), support (9), being (9), shibboleth (9), here (9), user (9), only (9), execute (9), dialogs (9), raise (9), dialog (9), child (9), helperresult (9), model (9), itemresolver (9), wildcard (9), allowed (9), now (8), blog (8), powershell (8), lucene (8), error (8), dynamic (8), since (8), were (8), defined (8), reflectionutil (8), setproperty (8), add (8), before (8), process (8), cookies (8), been (8), instance (8), https (8), exception (8), runbehavior (8), however (8), checkorphaneddatasources (8), twig (8), div (8), master (8), httprequest (8), news (8), design (7), june (7), settings (7), fields (7), available (7), leave (7), well (7), also (7), following (7), seems (7), server (7), share (7), configs (7), enabled (7), might (7), orphaned (7), deleteorphaneddatasource (7), namespace (7), count (7), each (7), text (7), need (7), framework (7), log (6), musings (6), 2010 (6), tagged (6), look (6), own (6), enough (6), yes (6), find (6), see (6), assert (6), tostring (6), work (6), your (6), default (6), override (6), could (6), step (6), between (6), nested (6), sqlcommand (6), else (6), behavior (6), requests (6), speakrequests (6), pipelineprocessorresponsevalue (6), requestcontext (6), side (6), embed (6), views (6), container (6), renderblock (6), parameter (6), used (6), somenamespace (6), previewurl (6), same (6), preview (6), itemresolvers (6), mixeditemnameresolver (6), resolverecursive (6), range (6), deepscan (6), pathresolver (6), resolving (6), rendering (6), getplaceholderrenderings (6), wordpress (5), uncategorized (5), message (5), 2011 (5), 2012 (5), march (5), 2020 (5), 2022 (5), index (5), did (5), basically (5), does (5), want (5), instead (5), their (5), follows (5), ticket (5), time (5), them (5), click (5), property (5), documentation (5), static (5), argumentnotnull (5), itemfield (5), properties (5), reflection (5), more (5), security (5), fix (5), based (5), part (5), point (5), cookie (5), didn (5), provider (5), open (5), problem (5), remove (5), right (5), delete (5), func (5), run (5), command (5), above (5), orphan (5), pipelinesutil (5), generaterequestprocessor (5), how (5), number (5), dictionary (5), blockmodel (5), generatesharepreviewurl (5), try (5), httprequestbegin (5), target (5), mixeditemnameresolvingmode (5), itempathresolver (5), root (5), tree (5), syndicated (5), started (4), august (4), september (4), february (4), posts (4), something (4), old (4), tab (4), doesn (4), analyzers (4), seemed (4), feel (4), previousurl (4), doc (4), example (4), contentsearch (4), luceneprovider (4), void (4), readonly (4), itemversion (4), applications (4), implement (4), anders (4), easy (4), another (4), lot (4), ended (4), anyway (4), asp (4), external (4), wasn (4), details (4), claims (4), adding (4), base (4), straight (4), forward (4), down (4), provide (4), looking (4), many (4), thought (4), username (4), defaultticketmanager (4), bindingflags (4), object (4), call (4), dataproviders (4), sql (4), key (4), task (4), approach (4), load (4), way (4), folder (4), box (4), pretty (4), contains (4), processors (4), callserversavepipeline (4), pipelineprocessor (4), deleteprompt (4), core (4), works (4), level (4), filtercontentcontainerembed (4), iembedmodel (4), below (4), filter (4), daily (4), activities (4), sc_preview_version (4), selectmode (4), opensharepreview (4), place (4), setup (4), publishing (4), described (4), dr1539 (4), itemresolving (4), findbestmatch (4), baseitemmanager (4), itemmanager (4), resolve (4), month (4), local (4), website (3), write (3), comments (3), account (3), search (3), october (3), november (3), least (3), luke (3), perhaps (3), take (3), sure (3), bug (3), storagetype (3), mostly (3), apply (3), terms (3), takes (3), thanks (3), very (3), helpful (3), little (3), better (3), good (3), looked (3), lowercasekeywordanalyzer (3), most (3), really (3), its (3), specifically (3), such (3), build (3), come (3), currently (3), tricky (3), kind (3), metadata (3), back (3), saving (3), someone (3), initialize (3), require (3), standalone (3), contentmanagement (3), owincookiesaver (3), created (3), over (3), microsoft (3), insert (3), check (3), those (3), fact (3), off (3), everything (3), troubleshooting (3), much (3), browser (3), connect (3), saml2 (3), redirected (3), window (3), worked (3), normal (3), mode (3), exactly (3), claim (3), identity (3), manually (3), able (3), federated (3), docs (3), environment (3), sites (3), uses (3), next (3), dependencyinjection (3), servicelocator (3), serviceprovider (3), ticketmgr (3), extensions (3), true (3), managed (3), maybe (3), createticket (3), aspx (3), binary (3), truncated (3), statement (3), terminated (3), kernel (3), executenonquery (3), action (3), pipelineargs (3), int32 (3), timeout (3), asyncwrite (3), inretry (3), sqldatareader (3), things (3), path (3), under (3), whatever (3), section (3), loaded (3), trying (3), inside (3), layers (3), helix (3), remoting (3), users (3), pipelineprocessorrequest (3), processrequest (3), argument (3), finalrenderingsvalue (3), saved (3), isnullorempty (3), private (3), names (3), because (3), resume (3), responsevalue (3), parts (3), javascript (3), runs (3), came (3), still (3), methods (3), trivial (3), syntax (3), mvc (3), embedview (3), _filter (3), cshtml (3), htmlhelper (3), partial (3), extension (3), filtercontainercontent (3), embeds (3), layout (3), desired (3), querystring (3), logic (3), handle (3), simpler (3), complexity (3), additional (3), tempfix (3), collections (3), generic (3), linq (3), _candidatematchesmethod (3), candidatematches (3), getrange (3), item3 (3), itemnameresolvingmode (3), attempts (3), match (3), workaround (3), make (3), given (3), restrict (3), required (2), sign (2), subscribed (2), subscribe (2), already (2), free (2), feed (2), proxy (2), module (2), linkmanager (2), indexing (2), fieldids (2), component (2), april (2), december (2), 2014 (2), 2015 (2), 2016 (2), 2019 (2), july (2), 2021 (2), 2024 (2), older (2), learn (2), knowledge (2), hand (2), seeing (2), document (2), stored (2), searching (2), original (2), getting (2), corrections (2), filters (2), lower (2), expecting (2), took (2), information (2), submitted (2), though (2), answer (2), expected (2), clicked (2), top (2), term (2), saw (2), different (2), depending (2), fieldmap (2), fieldnames (2), raw (2), gets (2), setproperties (2), bool (2), itemid (2), dll (2), shown (2), voodoo (2), access (2), know (2), upon (2), helps (2), cookieauthentication (2), kentorcookiesaver (2), app (2), middleware (2), package (2), kentor (2), steps (2), fortunately (2), note (2), stackoverflow (2), got (2), outlined (2), happening (2), his (2), monster (2), until (2), actually (2), either (2), determined (2), during (2), clicking (2), saml (2), stackexchange (2), incognito (2), tried (2), gotcha (2), writing (2), proposed (2), change (2), relatively (2), needed (2), applies (2), configure (2), working (2), providers (2), choose (2), unfortunately (2), none (2), supports (2), plan (2), directly (2), existing (2), pursue (2), short (2), getmethod (2), nonpublic (2), locator (2), abstractions (2), params (2), invoke (2), together (2), decided (2), caught (2), sent (2), others (2), must (2), encountered (2), patched (2), dataprovidercommand (2), defaultcorepipelinemanager (2), pipelinename (2), pipelinedomain (2), sqlexception (2), completion (2), usedcache (2), taskcompletionsource (2), tdsparser (2), tdsparserstateobject (2), stateobj (2), commandbehavior (2), cmdbehavior (2), returnstream (2), update (2), deployed (2), bad (2), ultimately (2), useful (2), saves (2), entry (2), empty (2), app_config (2), include (2), feature (2), cognifide (2), modify (2), files (2), specified (2), loadorder (2), rules (2), mumbled (2), applied (2), assumes (2), adds (2), structure (2), services (2), attribute (2), follow (2), think (2), wow (2), few (2), itemcontext (2), validparentitem (2), getorphaneddatasources (2), firstordefault (2), whose (2), templatename (2), lines (2), called (2), suspend (2), doing (2), raised (2), define (2), split (2), confirm (2), recursively (2), length (2), array (2), asking (2), isok (2), okay (2), several (2), trigger (2), put (2), actual (2), sheerui (2), current (2), hook (2), keep (2), goal (2), mechanism (2), somewhat (2), rocks (2), thing (2), questions (2), translate (2), templated (2), title (2), htmlstring (2), defaultblockmodel (2), defaultblock (2), passed (2), embedded (2), happens (2), identifier (2), foreach (2), while (2), nothing (2), latest (2), standard (2), separate (2), components (2), figure (2), other (2), canexecute (2), modified (2), 2fsitecore (2), perspective (2), absolutely (2), easier (2), authors (2), layoutresolver (2), sharepreviewresolver (2), switch (2), versions (2), added (2), form (2), etc (2), arise (2), provided (2), sometimes (2), diagnostics (2), _resolvingmode (2), defaultresolver (2), protected (2), decodedrequestedpart (2), mainutil (2), getservice (2), typeof (2), enabledordeepscan (2), encounters (2), effect (2), performance (2), characters (2), difference (2), contain (2), includes (2), scanning (2), whole (2), character (2), affected (2), specify (2), sample (2), combination (2), applyplaceholdersitetypefilter (2), contextsitetypeid (2), placeholderrenderings (2), allows (2), placeholders (2), williamsk (2), email, loading, collapse, bar, manage, subscriptions, reader, report, privacy, entries, meta, treelist, tasks, sharepoint, shared, log4net, layoutviewer, links, datasets, datasetrenderer, analytics, categories, january, 2013, archives, tweets, help, too, forced, closer, sensitivity, smack, head, analyzed, affect, somewhere, databases, indexes, creates, indexed, according, conclusion, alexander, sharamok, quite, confusing, indicated, storing, usual, responsive, baffled, made, double, switches, overview, show, viewing, viewer, hint, addfieldbyfieldname, fieldname, indextype, tokenized, vectortype, boost, settingtype, lucenesearchfieldconfiguration, analyzer, recently, ran, making, appeared, lowercasing, addition, specifying, samples, bit, control, controlid, itemlanguage, language, fieldid, disabled, shell, contenteditor, editorformatter, cool, turns, simply, typical, dreams, fashion, often, times, displayed, even, displaying, left, dark, passes, display, grabs, fieldtype, saga, hope, usekentorowincookiesaver, pipelinestage, authenticate, initializeargs, initializeprocessor, nuget, plug, ensures, copied, correctly, implemented, robust, updated, systemwebcookiemanager, commented, technique, breakpoints, learned, plaguing, aka, katana, circumstances, drop, clearly, illustrated, known, last, plenty, investigation, detailed, session, specific, returned, sustainsys, submission, successfully, navigate, flow, sort, chrome, entire, trek, cache, fail, silently, forget, exact, ability, provides, simple, transformation, schemas, xmlsoap, org, 2005, nameidentifier, tracking, unsuccessful, configurations, george, chang, solid, highly, recommend, almost, protocol, although, openid, road, map, google, perusing, guessed, years, disable, bypass, green, fielding, intent, migrate, piecemeal, installation, native, offers, options, powers, asked, sso, via, fine, requesting, proper, success, issued, getexistingticket, bor, serviceproviderserviceextensions, getrequiredservice, baseticketmanager, removeticket, ilspying, cobbling, snippets, innards, strangely, macgyver, locate, offending, thus, force, generated, solved, direct, particular, stack, eye, online, track, registered, articles, 944440, 10484, sqldataapi, c__displayclass33_0, b__0, nullretryer, recover, sqlpropertystore, setstringvaluecore, prefixedname, propertystore, setstringvalue, starturl, persist, signedin, signedinargs, corepipeline, failifnotexists, defaultcookieauthenticationprovider, responsesignedin, cookieresponsesignedincontext, cookieauthenticationhandler, d__f, movenext, dataexception, executing, sqlconnection, onerror, breakconnection, internalexecutenonquery, methodname, sendtopipe, wrapcloseinaction, throwexceptionandwarning, callerhasconnectionlock, asyncclose, tryrun, cmdhandler, datastream, bulkcopysimpleresultset, bulkcopyhandler, dataready, finishexecutereader, resetoptionsstring, isinternal, fordescribeparameterencryption, shouldcacheforalwaysencrypted, runexecutereadertds, async, describeparameterencryptionrequest, runexecutereader, strange, today, single, suddenly, naturally, manner, proved, eventually, happened, logs, choking, auth, tickets, disclaimer, haven, tested, extensively, wish, strategy, followed, project, cutting, chase, figured, argue, rightly, believe, modules, reason, installed, hesitate, move, around, avoid, future, nice, bullet, decide, folders, confirmed, cursing, brow, furrowing, discovered, helpfully, explicit, placed, went, devops, far, except, showconfig, revealed, sitecorepowershell, spent, morning, attempting, enable, say, bending, glance, annoying, realistically, legitimate, cases, keeping, sources, aren, personalization, yet, unnecessary, footnotes, sums, isnotnull, itemutility, getvalidparentitem, deleteitems, deletes, pagecontext, getsaveargs, finallayoutfield, incorrectly, identified, removeall, join, select, retrieves, ids, presumably, refresh, result, chance, putting, brakes, fired, responses, dealt, issues, occur, priority, generatedefaultcontext, immediately, onsuccess, handler, fire, asynchronously, pauses, execution, initiated, grab, info, longer, referenced, nwould, pass, currentcontext, console, repeat, slice, okbuttontext, cancelbuttontext, dialogheader, 500, dialogwidth, 250, dialogheight, 450px, messagewidth, 200px, messageheight, saveitem, done, involved, hours, profanity, address, multiple, finally, resort, digging, through, piece, supposed, andy, burns, alerts, programmatically, house, important, executed, calls, saveui, attempt, application, utilizes, hits, events, javascripts, orchestrated, technically, don, understand, opine, differences, rabbit, hole, machine, testing, n00b, explanation, understanding, grain, salt, submit, improvements, variable, basic, link, event, unreferenced, consecutive, draft, question, raising, compared, simplicity, sheer, familiar, sparse, consist, honestly, dead, apparently, anything, wanted, achieve, objective, 11036496, haacked, archive, delegates, weblogs, scottgu, pages, areas, objects, interface, writeto, replaced, embedding, grabbed, rendered, magic, constructor, chunk, delegate, second, populates, represented, container__inner, view__items, cards, view__item, partialview, parent, long, story, layer, closely, resembling, represent, possible, certainly, ways, replicate, functionality, makes, harder, maintain, line, heavily, natively, render, front, end, css, react, systems, pattern, libraries, engine, engines, significant, overlap, both, purpose, isn, dependent, pita, getitemurl, configured, constructs, scripts, examples, commands, _blank, going, references, script, specifies, fe5d7fdf, 89c0, 4d99, 9aa3, b5fbd009c9f3, 6e177cb2, bbc1, 486e, 90e9, 8c5e579a090b, par, pagecodescriptfilename, 2fshell, 2fclient, 2fexperienceeditor, 2fcommands, 2fselectmode, smallbutton, 3abutton, 3aclick, uid, 466c7b3c, eaa7, 403d, b955, 378fd0aaceb4, recommends, edited, throws, turned, webedit, ribbons, chunks, modes, copy, pasting, debug, necessary, ironically, daunting, than, semi, subject, definitely, leaves, pulled, developer, architecture, ventured, forth, appropriate, friendly, tack, httprequestprocessor, httprequestargs, itempath, webutil, getquerystring, factory, getdatabase, retrieve, getitem, parse, getlatestversion, present, mycminstance, 8221, opted, idea, publish, regardless, workflow, state, elegant, probably, solr, problems, tend, read, newly, platform, developers, manager, recommended, non, review, sharing, unpublished, anonymous, reviewers, wildcards, worth, changed, running, explain, wrong, methodinfo, gettype, basetype, decodetext, textreplacements, children, isolated, suggests, leaf, sufficiently, deep, swaps, red, circled, resides, chose, course, devised, who, obscure, temporary, irfan, mokhtar, unless, switching, vice, versa, noticeable, impact, encodenamereplacement, matching, nesting, separately, generally, asterisk, symbol, involve, encoding, caused, unexpected, spaces, dashes, encodenamereplacements, replacewith, ask, reported, happen, customize, checked, further, description, logged, reference, 587340, alternative, retry, tests, sibling, verify, explicitly, titles, tell, apart, browsing, reproduce, crops, returns, matches, requested, combine, retrieved, interesting, websites, syndication, observed, resolution, throw, sitecorechat, slack, sitecorepm, getallowedrenderings, getplaceholderrenderingsargs, webeditutil, getclientcontentitem, contentdatabase, getsitetypefromcontextpage, assigned, allow, tolist, catch, failed, restrictions, shows, within, getplacedholderrenderings, high, obviously, everyone, concept, restriction, wouldn, restricted, unique, per, grows, overhead, maintaining, sets, expect, leads, built, intended, subset, herein, lies, beyond, implementation, handful, roughly, equivalent, header, footer, background, let, start, saying, github, sitecoreplaceholdersettingsrules, conditional, climbing, home, skip,


Text of the page (random words):
edpart child if candidatematches list string range subpaths getrange 1 subpaths count 1 item item3 resolverecursive child range if item3 null _resolvingmode mixeditemnameresolvingmode deepscan return item3 else if item null child name if subpaths count 1 item child else var range subpaths getrange 1 subpaths count 1 item resolverecursive child range return item configure the new itemresolver processor configuration xmlns patch http www sitecore net xmlconfig xmlns role http www sitecore net xmlconfig role sitecore pipelines httprequestbegin processor patch before processor type sitecore pipelines httprequest itemresolver sitecore kernel type drexel foundation framework tempfix dr1539 pipelines httprequest itemresolver drexel foundation framework httprequestbegin pipelines sitecore configuration for what it s worth this behavior must have changed some time after sitecore 7 5 because we are still running a sitecore 7 5 instance where this issue doesn t arise i have submitted this as an issue to sitecore and will update if when they provide a solution or explain what i m doing wrong happy coding posted in drexel sitecore tagged wildcards leave a comment sharing unpublished content with anonymous reviewers posted on october 4 2022 by paul martin our sitecore content authors sometimes have the need to share a page with a non sitecore user for review there is no out of the box way to do this the recommended solution for this from sitecore support is setup an additional publishing target as described in the article below https doc sitecore com xp en developers 93 sitecore experience manager create a publishing target html https doc sitecore com xp en users 93 sitecore experience platform setting up a preview publishing target html then you can setup the website on the cm instance to read the information from the newly provided publishing target instead of the web database sitecore support the idea is that you would be able to publish content to a new preview target db regardless of the content s workflow state then you setup a preview site config that uses content from the preview db the solution is elegant and would probably work but it also adds complexity new db new solr index new site configs etc and with complexity new problems tend to arise so i opted for the following simpler solution i added logic to handle a custom querystring parameter of the form https mycminstance whatever path to a page sc_preview_version x 8221 if this querystring parameter is present i switch the context database to master and the context item to version x of that item from the master db this takes place in the httprequestbegin pipeline namespace somenamespace pipelines httprequest public class sharepreviewresolver httprequestprocessor public override void process httprequestargs args assert argumentnotnull args args if sitecore context item null sitecore context database null args url itempath length 0 return var itemversion webutil getquerystring sc_preview_version string empty if string isnullorempty itemversion switch the context database to master var db sitecore context database factory getdatabase master retrieve the context item from master db var i db getitem sitecore context item id get the specified version or latest version by default var v sitecore data version parse itemversion i versions getlatestversion version number set the context item sitecore context item i versions v the processor is patched such that it only applies to the cm instance and runs just before the sitecore pipelines httprequest layoutresolver processor configuration xmlns patch http www sitecore net xmlconfig xmlns role http www sitecore net xmlconfig role sitecore pipelines httprequestbegin role require standalone or contentmanagement processor patch before processor type sitecore pipelines httprequest layoutresolver sitecore kernel type somenamespace pipelines httprequest sharepreviewresolver somenamespace httprequestbegin pipelines sitecore configuration and that s it with that code in place content authors can now take any content item url and tack on sc_preview_version 5 and get version 5 of that item from the master db however it s not the most user friendly thing users need to figure out what the url would be for the item they are on in experience editor and then manually add the querystring parameter with the appropriate version number it would be a lot easier to just click a button in experience editor right well yes and no from the user perspective absolutely yes from a developer perspective absolutely no with speak architecture being what it is adding a button is not trivial but i ventured forth anyway the goal was to add a share preview button clicking the button would open in a new tab the current page version but pulled from the master db this url could then be sent to others ironically this was more daunting than the pipeline processor there is some semi helpful sitecore documentation on the subject but it definitely leaves much to be desired the first step was to open the core database in content editor and add my button by copy pasting the debug button and modified field values as necessary core sitecore content applications webedit ribbons chunks modes share preview the sitecore documentation recommends using sitecore rocks for this but i just manually edited the fields the metadata for what command to call from the button is stored in the layout details of the button item however if you try to view it with the normal layout details dialog window it throws an error so i just turned on view standard fields raw values to see the value directly r d id fe5d7fdf 89c0 4d99 9aa3 b5fbd009c9f3 r id 6e177cb2 bbc1 486e 90e9 8c5e579a090b par database core pagecodescriptfilename 2fsitecore 2fshell 2fclient 2fsitecore 2fexperienceeditor 2fcommands 2fselectmode js id smallbutton command selectmode click trigger 3abutton 3aclick uid 466c7b3c eaa7 403d b955 378fd0aaceb4 d r not pretty but you can see what s going on it references a script file selectmode js file and specifies a command name selectmode i modified those to my new opensharepreview js file with command opensharepreview opensharepreview js define sitecore speak v1 experienceeditor experienceeditor js function sitecore experienceeditor var previewurl sitecore commands opensharepreview canexecute function context experienceeditor pipelinesutil generaterequestprocessor experienceeditor generatesharepreviewurl function response previewurl response responsevalue value execute context return previewurl null execute function context if this canexecute context window open previewurl _blank this lines up with the sitecore documentation the next step is to call some server code that actually constructs my share url in order to figure out how to do that i looked at other ee button scripts in the same folder as selectmode js to find examples i found that you can use experienceeditor pipelinesutil generaterequestprocessor to call a server side speak request my speak request was defined configured as follows config patch configuration xmlns patch http www sitecore net xmlconfig sitecore sitecore experienceeditor speak requests request name experienceeditor generatesharepreviewurl type somenamespace speakrequests generatesharepreviewurl somenamespace sitecore experienceeditor speak requests sitecore configuration generatesharepreviewurl cs namespace somenamespace speakrequests public class generatesharepreviewurl pipelineprocessorrequest itemcontext public override pipelineprocessorresponsevalue processrequest var version requestcontext item version number var url linkmanager getitemurl requestcontext item var previewurl url sc_preview_version version return new pipelineprocessorresponsevalue value previewurl and that s it for setting up the button kind of a pita but it works happy coding posted in sitecore speak tagged experience editor sitecore speak leave a comment twig embeds with razor views posted on march 29 2022 by paul martin this isn t exactly dependent on sitecore but our sitecore solution uses mvc razor views to render all our component this is pretty standard our front end code html css js react is managed in separate design systems pattern libraries that use twig as their view engine so when we implement our components we need to translate between twig and razor syntax this is mostly trivial since most view engines have a significant overlap in both purpose and function however our latest site design is heavily based on a twig feature that is not natively available with razor views embed blocks i like to keep our design layer razor views as closely resembling the twig views they represent as possible so while there are certainly ways to replicate the functionality of twig embeds with razor it ended up looking nothing like its source twig view this makes it harder to maintain things down the line anyway long story short here s what i came up with here is a parent view div class c daily activities view html embed model filtercontentcontainerembed new dictionary string blockdefinition filtercontainercontent new blockdefinition model text div class o container h2 class u sr only daily activities h2 ul class c daily activities view__items foreach var c in model cards li class c daily activities view__item html partial c partialview c li ul div text div which embeds the filtercontainercontent block into this view _filter content container cshtml h2 class u sr only model title h2 div class o filter content container div class o filter content container__inner html renderblock model blocks filtercontainercontent div div the embed extension method is used the first parameter is a model filtercontentcontainerembed which has a blocks property the second parameter populates the blocks property on the model each block is represented as a dictionary entry with the key being a block identifier and the value being a blockdefinition see below the blockdefinition is where the magic happens it s constructor takes a dynamic model and templated razor delegate this is basically a chunk of the razor view that is now passed as the parameter everything between text text so looking at the embed method the blocks are grabbed then passed with the model to the embedded partial view _filter content container cshtml in that view the embedded block is rendered using the renderblock extension method there are 2 renderblock methods to support the use case where a block might not be replaced by an embedding view extension methods public static helperresult embed t this htmlhelper t html iembedmodel em func dictionary string blockdefinition blocks em blocks blocks var htmlstring html partial em embedview em return new helperresult w w write htmlstring public static helperresult renderblock t this htmlhelper t html blockdefinition block return html renderblock block null d return new helperresult w w write null block public static helperresult renderblock t this htmlhelper t html blockdefinition block dynamic defaultblockmodel func dynamic helperresult defaultblock var b defaultblock var m defaultblockmodel if block null b block block m block blockmodel return new helperresult w b m writeto w blockdefinition cs public class blockdefinition public blockdefinition dynamic blockmodel func dynamic helperresult block blockmodel blockmodel block block public dynamic blockmodel get set public func dynamic helperresult block get set iembedmodel cs public interface iembedmodel string embedview get dictionary string blockdefinition blocks get set filtercontentcontainerembed cs public class filtercontentcontainerembed iembedmodel public string embedview areas views design objects filters _filter content container cshtml public string title get set public dictionary string blockdefinition blocks get set many thanks to these posts pages https weblogs asp net scottgu asp net mvc 3 razor s and lt text gt syntax http haacked com archive 2011 02 27 templated razor delegates aspx https stackoverflow com questions 11036496 translate to razor syntax from mvc 2 0 code happy coding posted in uncategorized tagged embed razor twig leave a comment remove orphaned data source items on page save posted on august 13 2021 by paul martin this post started out as a draft question to sitecore stackexchange com because wow raising a dialog from experience editor speak is not trivial at least not when compared with the simplicity of the old sheer mechanism i was somewhat familiar with the documentation on using speak is kind of sparse and mostly seems to consist of use sitecore rocks which i honestly thought was a dead thing at this point apparently not if you want to build something with speak ui in sitecore however i wasn t trying to build my own custom app or anything i just wanted to achieve the following objective the goal when a user saves a page in experience editor or content editor if there are any unreferenced orphaned child data source items under the page raise a dialog for each one asking the user if they want to keep it or delete it so if a page has 2 orphaned data source items there would be 2 consecutive dialogs 1 my first thought was that this would be pretty easy just hook into the item saved event and raise the dialog s from there maybe a little tricky since there s a variable number of dialogs to raise but it seemed straight forward enough and it was for content editor content editor still supports sheerui so the basic methods shown in the so link above worked this method did not work in experience editor ee though no dialogs were being raised at this point i started down the rabbit hole of speak ui and how to raise dialogs there the following solution is what i came up with that seems to work after some it works on my machine level testing what follows is my n00b explanation of the solution and my current understanding of how it works so take it with a grain of salt and feel free to submit any corrections or improvements experience editor is a speak application like content editor it utilizes sitecore s pipeline processors and so hits the normal item saving saved events and pipelines it also has it s own client pipelines javascripts that are orchestrated from the client browser technically i think sheerui also has client pipelines but i don t understand enough about them to opine on the differences the experience editor speak client pipelines are managed in the core database under sitecore client applications experienceeditor pipelines one of these is a save pipeline that runs when you save an item in ee so the first step to implement my solution was to create one of these and attempt to raise a dialog from it i created my checkorphaneddatasources custom client pipeline processor item and put it just before the callserversavepipeline processor the order here is important as it is the order they get executed in the callserversavepipeline calls out to the server and runs the server side saveui pipeline which has it s own set of processors an...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

Verified site has: 92 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-92


The site also has references to the 2 subdomain(s)

  wordpress.com  Verify   subscribe.wordpress.com  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
Server nginx
Date Fri, 28 Aug 2026 12:09:36 GMT
Content-Type text/html
Content-Length 162
Connection keep-alive
Location htt????/sitecorepm.wordpress.com/
Alt-Svc clear
Server-Timing a8c-cdn, dc;desc=ams, cache;desc=BYPASS;dur=1.0
HTTP/2 200
server nginx
date Fri, 28 Aug 2026 12:09:36 GMT
content-type text/html; charset=UTF-8
vary Accept-Encoding
x-hacker Want root? Visit join.a8c.com/hacker and mention this header.
host-header WordPress.com
link <htt????/public-api.wordpress.com/wp-json/?rest_route=/sites/sitecorepm.wordpress.com>; rel= htt????/api.w.org/
vary accept, content-type, cookie
link <htt????/wp.me/U84B>; rel=shortlink
content-encoding gzip
x-ac 3.ams _dfw MISS
alt-svc clear
strict-transport-security max-age=31536000
server-timing a8c-cdn, dc;desc=ams, cache;desc=MISS;dur=590.0

Meta Tags

title="Paul's Sitecore Musings | Just another Sitecore blog"
charset="UTF-8"
name="robots" content="max-image-preview:large"
name="generator" content="WordPress.com"
property="og:type" content="website"
property="og:title" content="Paul's Sitecore Musings"
property="og:description" content="Just another Sitecore blog"
property="og:url" content="htt????/sitecorepm.wordpress.com/"
property="og:site_name" content="Paul's Sitecore Musings"
property="og:image" content="htt????/secure.gravatar.com/blavatar/bf8a047ea3e8a40ef3cb4f2c0045b63bd509890af0de7e7f2b81c472bcb37f6b?s=200&ts=1787918976"
property="og:image:width" content="200"
property="og:image:height" content="200"
property="og:image:alt" content=""
property="og:locale" content="en_US"
property="fb:app_id" content="249643311490"
name="description" content="Just another Sitecore blog"
id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="America/New_York" data-custom-props='{"logged_in":"0","wptheme":"pub\/twentyten","wptheme_is_block":"0"}'

Load Info

page size213208
load time (s)0.807425
redirect count1
speed download64845
server IP 192.0.78.13
* all occurrences of the string "http://" have been changed to "htt???/"