<?xml version="1.0" encoding="windows-1252"?>
<node id="500336" title="jdporter's site scratchpad" created="2005-10-14 13:59:22" updated="2005-10-14 09:59:22">
<type id="182711">
scratchpad</type>
<author id="170442">
jdporter</author>
<data>
<field name="doctext">
&lt;table&gt;
&lt;tr&gt;&lt;th&gt;[Sitedoclet]&lt;/th&gt;&lt;th&gt;[Referrer]&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan=3&gt;&lt;br&gt;&lt;h4&gt;[Superdoc]s other than Sections:&lt;/h4&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;[Retrieving a forgotten username or password sitedoclet]&lt;/td&gt;&lt;td&gt;[Retrieving a forgotten username or password]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Voting/Experience System Sitedoclet]&lt;/td&gt;&lt;td&gt;[Voting/Experience System]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Recently Active Threads Faqlet sitedoclet]&lt;/td&gt;&lt;td&gt;[Recently Active Threads Faqlet]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Perl Monks Approved HTML tags sitedoclet]&lt;/td&gt;&lt;td&gt;[Perl Monks Approved HTML tags]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[What XML generators are currently available on PerlMonks? sitedoclet]&lt;/td&gt;&lt;td&gt;[What XML generators are currently available on PerlMonks?]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[The St. Larry Wall Shrine sitedoclet]&lt;/td&gt;&lt;td&gt;[The St. Larry Wall Shrine]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Add your code sitedoclet]&lt;/td&gt;&lt;td&gt;[Add your code]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Free Nodelet Settings sitedoclet]&lt;/td&gt;&lt;td&gt;[Free Nodelet Settings]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Nodelet Settings sitedoclet]&lt;/td&gt;&lt;td&gt;[Nodelet Settings]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Timezone Settings sitedoclet]&lt;/td&gt;&lt;td&gt;[Timezone Settings]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[How to use the moderation system sitedoclet]&lt;/td&gt;&lt;td&gt;[How to use the moderation system]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Selected Best Nodes sitedoclet]&lt;/td&gt;&lt;td&gt;[Selected Best Nodes]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Best Nodes sitedoclet]&lt;/td&gt;&lt;td&gt;[Best Nodes]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Worst Nodes sitedoclet]&lt;/td&gt;&lt;td&gt;[Worst Nodes]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Login sitedoclet]&lt;/td&gt;&lt;td&gt;[Login]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Duplicate Post Warning sitedoclet]&lt;/td&gt;&lt;td&gt;[Duplicate Post Warning]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Message Outbox sitedoclet]&lt;/td&gt;&lt;td&gt;[Message Outbox]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Buy Stuff sitedoclet]&lt;/td&gt;&lt;td&gt;[Buy Stuff]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Signature Settings sitedoclet]&lt;/td&gt;&lt;td&gt;[Signature Settings]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Newest Nodes Settings sitedoclet]&lt;/td&gt;&lt;td&gt;[Newest Nodes Settings]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Ignored Users sitedoclet]&lt;/td&gt;&lt;td&gt;[Ignored Users]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Saints In Our Book sitedoclet]&lt;/td&gt;&lt;td&gt;[Saints In Our Book]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Personal Nodelet Settings sitedoclet]&lt;/td&gt;&lt;td&gt;[Personal Nodelet Settings]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Permission Denied sitedoclet]&lt;/td&gt;&lt;td&gt;[Permission Denied]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[A hazy shade of winter sitedoclet]&lt;/td&gt;&lt;td&gt;[A hazy shade of winter]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Choosing a username]&lt;/td&gt;&lt;td&gt;[Create A New User]&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan=3&gt;&lt;br&gt;&lt;h4&gt;Sections and Section-like [superdoc]s:&lt;/h4&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;[Tutorials sitedoclet]&lt;/td&gt;&lt;td&gt;[Tutorials]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Snippets Section sitedoclet]&lt;/td&gt;&lt;td&gt;[Snippets Section]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Perl Monks Discussion sitedoclet]&lt;/td&gt;&lt;td&gt;[Perl Monks Discussion]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Seekers of Perl Wisdom sitedoclet]&lt;/td&gt;&lt;td&gt;[Seekers of Perl Wisdom]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Meditations sitedoclet]&lt;/td&gt;&lt;td&gt;[Meditations]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Obfuscated code sitedoclet]&lt;/td&gt;&lt;td&gt;[Obfuscated code]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Reviews sitedoclet]&lt;/td&gt;&lt;td&gt;[Reviews]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Cool Uses for Perl sitedoclet]&lt;/td&gt;&lt;td&gt;[Cool Uses for Perl]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Perl News sitedoclet]&lt;/td&gt;&lt;td&gt;[Perl News]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Categorized Questions and Answers sitedoclet]&lt;/td&gt;&lt;td&gt;[Categorized Questions and Answers]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Code Catacombs sitedoclet]&lt;/td&gt;&lt;td&gt;[Code Catacombs]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Perl Poetry sitedoclet]&lt;/td&gt;&lt;td&gt;[Perl Poetry]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Book Reviews sitedoclet]&lt;/td&gt;&lt;td&gt;[Book Reviews]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Module Reviews sitedoclet]&lt;/td&gt;&lt;td&gt;[Module Reviews]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Nodes to consider sitedoclet]&lt;/td&gt;&lt;td&gt;[Nodes to consider]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Editor Requests sitedoclet]&lt;/td&gt;&lt;td&gt;[Editor Requests]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Inner Scriptorium sitedoclet]&lt;/td&gt;&lt;td&gt;[Inner Scriptorium]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Quests sitedoclet]&lt;/td&gt;&lt;td&gt;[Quests]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Past Polls sitedoclet]&lt;/td&gt;&lt;td&gt;[Past Polls]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[The Monastery Gates sitedoclet]&lt;/td&gt;&lt;td&gt;[The Monastery Gates]&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan=3&gt;&lt;br&gt;&lt;h4&gt;[Nodelet]s:&lt;/h4&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;[Information sitedoclet]&lt;/td&gt;&lt;td&gt;[Information]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Pedagogues Nodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[Pedagogues Nodelet]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Pollsters' Nodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[Pollsters' Nodelet]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Cabalists' Nodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[Cabalists' Nodelet]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[SiteDocClan Nodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[SiteDocClan Nodelet]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[QandAEditors Nodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[QandAEditors Nodelet]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Leftovers sitedoclet]&lt;/td&gt;&lt;td&gt;[Leftovers]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Sections sitedoclet]&lt;/td&gt;&lt;td&gt;[Sections]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Settings Nodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[Settings Nodelet]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Find Nodes sitedoclet]&lt;/td&gt;&lt;td&gt;[Find Nodes]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[PmDev Nodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[PmDev Nodelet]&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan=3&gt;&lt;br&gt;&lt;h4&gt;[htmlcode]s:&lt;/h4&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;[showhints sitedoclet]&lt;/td&gt;&lt;td&gt;[showhints]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[monktitlebar sitedoclet]&lt;/td&gt;&lt;td&gt;[monktitlebar]&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan=3&gt;&lt;br&gt;&lt;h4&gt;Unusual usages:&lt;/h4&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;[Cabal Ticker]&lt;/td&gt;&lt;td&gt;stand-alone document&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[empty sitedoclet]&lt;/td&gt;&lt;td colspan=2&gt;Standalone. Because sometimes you just need an empty [sitedoclet].&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[New User Mail sitedoclet]&lt;/td&gt;&lt;td colspan=2&gt;not yet used; intended to replace [New User Mail] ([mail])&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan=3&gt;&lt;br&gt;
&lt;i&gt;All&lt;/i&gt; of the above use their [sitedoclet] as the source of user-visible text;
&lt;br&gt;that's the "normal" mode for [superdoc]s and [nodelet]s especially.
&lt;br&gt;Keep that in mind when considering adding a [sitedoclet] for meta-doco.
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan=3&gt;&lt;br&gt;&lt;h4&gt;Meta-doco:&lt;/h4&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;[fullpage print page sitedoclet]&lt;/td&gt;&lt;td&gt;[fullpage print page]&lt;/td&gt;&lt;td&gt;[htmlpage]&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[CanConsider sitedoclet]&lt;/td&gt;&lt;td&gt;[CanConsider]&lt;/td&gt;&lt;td&gt;[accessrule]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[handlelinks settings sitedoclet]&lt;/td&gt;&lt;td&gt;[handlelinks settings]&lt;/td&gt;&lt;td&gt;[setting]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[gettable fields sitedoclet]&lt;/td&gt;&lt;td&gt;[gettable fields]&lt;/td&gt;&lt;td&gt;[setting]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[split_html sitedoclet]&lt;/td&gt;&lt;td&gt;[split_html]&lt;/td&gt;&lt;td&gt;[htmlcode]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[expandfreenodelet sitedoclet]&lt;/td&gt;&lt;td&gt;[expandfreenodelet]&lt;/td&gt;&lt;td&gt;[htmlcode]&lt;/td&gt;&lt;/tr&gt;

&lt;/table&gt;

&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;small&gt;2007-04-21&lt;/small&gt; re: [id://611306] - We need a tut on packages!
&lt;li&gt;&lt;small&gt;2007-05-16&lt;/small&gt; how about a monitor that alerts you when one of your nodes pops up in  [id://328478] !
&lt;li&gt;&lt;small&gt;2007-05-22&lt;/small&gt; make a version of the site which simply uses css (classes &amp; IDs) rather than hard-coding colors, etc., as [id://1064]s do.
&lt;li&gt;&lt;small&gt;2007-05-22&lt;/small&gt; see the on-site &lt;a href="?node_id=106927;whichtype=227668"&gt;css files&lt;/a&gt;
&lt;li&gt;&lt;small&gt;2007-05-22&lt;/small&gt; Note: [id://144936], by [Petruchio]&lt;/a&gt;
&lt;li&gt;&lt;small&gt;2007-05-22&lt;/small&gt; Note: [id://145860]
&lt;li&gt;&lt;small&gt;2007-05-25&lt;/small&gt; [id://505895]
&lt;li&gt;&lt;small&gt;2007-07-17&lt;/small&gt; [id://605813] defines a displaytype 'sourcetext' but it is not yet functional. work on this!  (for [id://627112])
&lt;li&gt;&lt;small&gt;2007-07-31&lt;/small&gt; try to get PerlNews section posts FrontPageable, or investigate why they can't be.
&lt;li&gt;&lt;small&gt;2008-02-28&lt;/small&gt; add a NN mode "raw", which simply lists NNs in chrono order - No sectioning, no sorting. &lt;a href="?node_id=157620;searchterms=order_nn_by"&gt;search for 'order_nn_by'&lt;/a&gt;
&lt;li&gt;&lt;small&gt;2008-04-11 [id://5348] said&lt;/small&gt; [ad_and_talk] should be a [fullpage]
&lt;li&gt;&lt;small&gt;2008-04-16&lt;/small&gt; [id://5771] needs to be eliminated!
&lt;li&gt;&lt;small&gt;2008-04-16&lt;/small&gt; just the markup templates)
&lt;li&gt;&lt;small&gt;2008-04-21 [id://523944] said&lt;/small&gt; add a submit button to the messages form in the [chatterbox sidebar]. i have to pull up a full PM page in order to mark msg's as read
&lt;li&gt;&lt;small&gt;2008-09-09&lt;/small&gt; idea: a "forward" capability in [Message Inbox]
&lt;li&gt;&lt;small&gt;2008-09-11&lt;/small&gt; re: [id://710739] - In fact, all the entry fields (bottom of each section, as well as CatQ/A, and replies/comments) need their supertitles revisited/revamped
&lt;li&gt;&lt;small&gt;2008-09-17&lt;/small&gt; consider adding support for &lt;a href="http://hobix.com/textile/"&gt;Textile&lt;/a&gt; markup
&lt;li&gt;&lt;small&gt;2008-09-17&lt;/small&gt; consider integrating &lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt; for wysiwyg posting
&lt;li&gt;&lt;small&gt;2008-10-07&lt;/small&gt; give [id://16902] xml feed capability (and/or rss)
&lt;li&gt;&lt;small&gt;2009-01-08&lt;/small&gt; mission from Petruchio: make all wikis consistent in using either p/hr or dl/dt/dd. Then put the warning/template OUTSIDE (above) the textarea
&lt;li&gt;&lt;small&gt;2009-01-08&lt;/small&gt; other mission: make a section able to be accessed (r/w) only by a group; completely inaccessible to users outside the group. Optionally, readable by other groups in the cabal.
&lt;li&gt;&lt;small&gt;2009-01-08&lt;/small&gt; then promote these for group discussions, vice the wikis.
&lt;li&gt;&lt;small&gt;2009-01-08&lt;/small&gt; [c2://WikiModes]
&lt;li&gt;&lt;small&gt;2009-01-29 I told [id://9073]&lt;/small&gt; Your [id://347416] has a number of replies suggesting additions/improvements but afaict you've ignored them. I'd like to get this converted into (i.e. reposted as) a [Tutorials|tutorial]. Perhaps now would be a good time to revisit those things? tia...
&lt;li&gt;&lt;small&gt;2009-01-29 [id://9073] said&lt;/small&gt; hadn't ignored them... none of them really invalidate what i said.. just add to it.  so I left the original in context (heh)
&lt;li&gt;&lt;small&gt;2009-01-29 [id://9073] said&lt;/small&gt; sure... feel free to merge whatever you see, saying it was "inspired by the discussion at..." :)
&lt;li&gt;&lt;small&gt;2009-01-29 I told [id://9073]&lt;/small&gt; yes, very good... for the original meditation. But if it gets reposted as a tutorial, it might be good to incorporate that stuff, so people aren't tempted to make the same responses again.
&lt;li&gt;&lt;small&gt;2009-02-05&lt;/small&gt; [id://150940] - for finding and fixing broken root linkages in replies.
&lt;li&gt;&lt;small&gt;2009-02-05&lt;/small&gt; [id://20162] - could use? link in wiki?
&lt;li&gt;&lt;small&gt;2009-02-05&lt;/small&gt; [id://485787] - shows problems created by re-categorizing CatQ's!
&lt;li&gt;&lt;small&gt;2009-02-05&lt;/small&gt; [id://741059] &lt;/a&gt;
&lt;li&gt;&lt;small&gt;2009-02-05&lt;/small&gt; after creation of [CanQAEdit], will want to patch [handle_node_edits].
&lt;li&gt;&lt;small&gt;2009-02-05&lt;/small&gt; after this patch - [id://741554] - is applied, will need to create a catqalist named "New Categorized Questions"
&lt;li&gt;&lt;small&gt;2009-02-05&lt;/small&gt; integrate &lt;a href="http://microformats.org/wiki/Main_Page"&gt;microformats&lt;/a&gt;?
&lt;li&gt;&lt;small&gt;2009-02-23&lt;/small&gt; re: [id://17245] - Flip so that bars are horizontal?  Some users complain that the table is too wide.
&lt;li&gt;&lt;small&gt;2009-07-06&lt;/small&gt; make a [toInbox]-like htmlcode for linking to NN with number of unread nodes! (if any)
&lt;li&gt;&lt;small&gt;2009-07-20&lt;/small&gt; need to make [SuperSearch] search [sitedoclet]s &amp;mdash; and map the hits back to the doc containing the sitedoclet.
&lt;/ul&gt;

&lt;hr/&gt;

&lt;h3&gt;datetime fields:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; [id://112732].[href://?node_id=157620;searchterms=applied|applied]
&lt;li&gt; [id://28873].[href://?node_id=157620;searchterms=considertime|considertime]
&lt;li&gt; [id://53604].[href://?node_id=157620;searchterms=createtime|createtime]
&lt;li&gt; [id://886].[href://?node_id=157620;searchterms=createtime|createtime]
&lt;li&gt; [id://11173].[href://?node_id=157620;searchterms=createtime|createtime]
&lt;li&gt; [id://31454].[href://?node_id=157620;searchterms=createtime|createtime]
&lt;li&gt; [id://10156].[href://?node_id=157620;searchterms=date|date]
&lt;li&gt; [id://61898].[href://?node_id=157620;searchterms=edittime|edittime]
&lt;li&gt; [id://7488].[href://?node_id=157620;searchterms=endtime|endtime]
&lt;li&gt; [id://1722].[href://?node_id=157620;searchterms=lasthit|lasthit]
&lt;li&gt; [id://891].[href://?node_id=157620;searchterms=lasttime|lasttime]*
&lt;li&gt; [id://16959].[href://?node_id=157620;searchterms=lastupdate|lastupdate]*
&lt;li&gt; [id://21364].[href://?node_id=157620;searchterms=lastupdate|lastupdate]*
&lt;li&gt; [id://3991].[href://?node_id=157620;searchterms=lastupdate|lastupdate]*
&lt;li&gt; [id://891].[href://?node_id=157620;searchterms=lastupdate|lastupdate]*
&lt;li&gt; [id://886].[href://?node_id=157620;searchterms=locktime|locktime]
&lt;li&gt; [id://7488].[href://?node_id=157620;searchterms=starttime|starttime]
&lt;li&gt; [id://16657].[href://?node_id=157620;searchterms=stattime|stattime]
&lt;li&gt; [id://5770].[href://?node_id=157620;searchterms=votetime|votetime]
&lt;/ul&gt;
&lt;h4&gt;*Collisions: Fields with name same as above but different type:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt; [id://489261].[href://?node_id=157620;searchterms=lasttime|lasttime] : timestamp
&lt;li&gt; [id://772117].[href://?node_id=157620;searchterms=lastupdate|lastupdate] : timestamp
&lt;li&gt; [id://490335].[href://?node_id=157620;searchterms=lastupdate|lastupdate] : timestamp
&lt;li&gt; [id://888].[href://?node_id=157620;searchterms=lastupdate|lastupdate] : int(11)
&lt;/ul&gt;

&lt;hr/&gt;

&lt;h3&gt;How to move a [Categorized Question]:&lt;/h3&gt;
&lt;p&gt;
&lt;c&gt;?node_id=761527;changegroup=1841&lt;/c&gt; &lt;br&gt;
The node_id value is the CatQ being moved; the changegroup value is the target [QandASection].
&lt;/p&gt;
&lt;h3&gt;How to delete a [Categorized Answer]:&lt;/h3&gt;
&lt;p&gt;
&lt;c&gt;?node_id=761527;769649=delete&lt;/c&gt; 
The node_id value is the CatQ which is the parent of the CatA to be deleted; 
the NAME of the delete parameter is the the CatA.
&lt;/p&gt;

&lt;hr/&gt;
&lt;table border=0 cellspacing=0 cellpadding=2&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 15:29:45 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;:  &lt;a href="?node_id=761006"&gt;usergroup display page - (patch)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=518801" title="2009-04-30 15:33:54 UTC"&gt;Co-Rion&lt;/a&gt;&amp;#93;: The "go to inbox" part seems not to be working&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 15:36:10 UTC"&gt;tye&lt;/a&gt;&amp;#93;: Please don't add ubiquitous "send /msg to group" links. Please! ugh&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=5348"   title="2009-04-30 15:38:03 UTC"&gt;Corion&lt;/a&gt;&amp;#93;: Why do you feel strongly against this? Do you think the /msg volume would go up unduely?&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 15:39:45 UTC"&gt;tye&lt;/a&gt;&amp;#93;: send a /msg to a group is one of the worst communication features of the site. we allow it for rare situations. &lt;a href="?node=breathers%20of%20fire"&gt;breathers of fire&lt;/a&gt; have no reasonable way to know that a /msg is waiting for them.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 15:40:11 UTC"&gt;tye&lt;/a&gt;&amp;#93;: People should only be encouraged to /msg a group after the appropriate reasons to /msg that particular group are covered.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=5348"   title="2009-04-30 15:46:31 UTC"&gt;Corion&lt;/a&gt;&amp;#93;: &lt;a href="?node=tye"&gt;tye&lt;/a&gt;: Hmm - that's true, there are groups without ears&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 15:47:02 UTC"&gt;tye&lt;/a&gt;&amp;#93;: as I said yesterday when the first patch was discussed, such links should be sitedocclan work not patchwork&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:03:26 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: it appears, based on my cursory tests, that all groups do have an inbox, even the fraternal ones. So I don't see why a link to such inbox can't be shown on all group pages.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:05:29 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: my thinking is that the group page could act a little more like a "home node" for the group.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=299049" title="2009-04-30 16:05:42 UTC"&gt;ysth&lt;/a&gt;&amp;#93;: sure.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:06:16 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: well, apparently not all the &lt;a href="?node=gods"&gt;gods&lt;/a&gt; agree.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:06:32 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: but I haven't heard a persuasive argument.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=299049" title="2009-04-30 16:07:16 UTC"&gt;ysth&lt;/a&gt;&amp;#93;: where was this discussed?&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:07:25 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: mostly in my absence. :-)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:08:16 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: interestingly, none of it was posted as a response to the &lt;a href="?node_id=761006"&gt;patch in question&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:08:34 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: &lt;a href="?node_id=174180"&gt;SDC Wiki&lt;/a&gt; has some context at the top.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:09:16 UTC"&gt;tye&lt;/a&gt;&amp;#93;: yes, when people ask for feedback in the chatterbox, they get feedback in the chatterbox. twice. once by you, jdporter.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:10:40 UTC"&gt;tye&lt;/a&gt;&amp;#93;: CB history has the second conversation. And so we still don't have a response to a patch, jdporter? your criticism doesn't apply to yourself? :D&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:12:44 UTC"&gt;tye&lt;/a&gt;&amp;#93;: replies are the best conversation method at the site. wikis are second worse. group inboxes are the worst of all. but I should probably /msg cabal about this instead of using the CB.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:13:14 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: well, I wasn't exactly asking for feedback. I could just as likely have been asking for someone to apply it. :-)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:13:31 UTC"&gt;tye&lt;/a&gt;&amp;#93;: the cabal inbox "exists", clearly I should be using it for something&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:13:59 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: otoh, "/msg gods" is better than "/msg chromatic".&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:15:04 UTC"&gt;tye&lt;/a&gt;&amp;#93;: um, /msg co-rion is obviously better when co-rion was the one who /msg'd you. let's design the site based on lame excuses of people trying to game the system and then pretend otherwise?&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:15:50 UTC"&gt;tye&lt;/a&gt;&amp;#93;: and &lt;a href="?node=co-rion"&gt;co-rion&lt;/a&gt; was already linked and the page linked already has a /msg co-rion link on it.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=299049" title="2009-04-30 16:15:59 UTC"&gt;ysth&lt;/a&gt;&amp;#93;: phrased in the positive:  inboxes work great for action requests&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:16:27 UTC"&gt;tye&lt;/a&gt;&amp;#93;: s/great/sometimes/&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:17:17 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: the extreme negativity toward "/msg" as a communication medium makes me wonder if maybe &lt;a href="?node=SiteDocClan"&gt;we&lt;/a&gt; shouldn't go through the docs and eliminate all references to that mechanism.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:17:30 UTC"&gt;tye&lt;/a&gt;&amp;#93;: most of the "action request" in inboxes don't actually get fulfilled. it would be good to provide guidance about what type of "action request" might not be a waste of time before encouraging "/msg group"&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:18:17 UTC"&gt;tye&lt;/a&gt;&amp;#93;: all of the references to it that I've read note it as a last resort. We don't need to go black-and-white. If we want to go extreme, just eliminate the feature.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=170442" title="2009-04-30 16:18:55 UTC"&gt;jdporter&lt;/a&gt;&amp;#93;: fair enough.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;#91;&lt;a href="?node_id=22609"  title="2009-04-30 16:19:30 UTC"&gt;tye&lt;/a&gt;&amp;#93;: There are a few specific cases where "/msg group" is a reasonable last choice and perhaps once case where it is the only choice (or nearly so)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;hr/&gt;
[setting] nodes can have [sitedoclet]s!&lt;br&gt;
Currently only one does: [handlelinks settings].
&lt;hr/&gt;
&lt;h2&gt;How does node updating work? How does the edit history work?&lt;/h2&gt;
&lt;p&gt;
When I asked the gods about this, [tye] said:
&lt;/p&gt;
&lt;blockquote&gt;
It is a global thing. Horrible security idea. Look where the settings for fields that can/can't be updated are applied.
&lt;/blockquote&gt;
&lt;p&gt;
He is referring to the [setting] nodes [id://1067] and [id://152999].
&lt;/p&gt;&lt;p&gt;
These settings are only used in [id://165672], in the &lt;tt&gt;sub gotoNode&lt;/tt&gt;.
This sub only updates the node; it does &lt;i&gt;not&lt;/i&gt; call any "RJE" (edithistory) related code. (See next)
&lt;/p&gt;&lt;p&gt;
The "RJE" functionality chain reads and updates the [edithistory] table. Updates are done via
[id://481659],
which is called &lt;b&gt;(1)&lt;/b&gt; by the "edit" [htmlpage]s of the [sitefaqlet] and doclists/docstrings [nodetype]s.
[id://481659] is also called &lt;b&gt;(2)&lt;/b&gt; by [node editors page].
which is the "editors" [htmlpage] for [id://7].
&lt;/p&gt;&lt;p&gt;
Wiki edits also cause entries in the [edithistory] table, but these are done &lt;b&gt;(3)&lt;/b&gt; in the 
[wiki editpage], which is the [wiki] nodetype's "editpage" htmlpage.
&lt;/p&gt;&lt;p&gt;
So it's like this:
&lt;ol&gt;
&lt;li&gt; If you're in [SiteDocClan] and you edit a faqlet, faqlist, or faqstring, then [id://481659] is called by the corresponding "edit" htmlpage. Similarly, if you're in [Pedagogues] and you edit a tutlist or tutstring. &lt;/li&gt;
&lt;li&gt; If you're in [janitors] and you edit any node, then [id://481659] is called by the [node editors page|node editors] htmlpage. &lt;/li&gt;
&lt;li&gt; If you edit a wiki, then the edithistory is updated by [wiki editpage], the "edit" htmlpage for wikis. &lt;/li&gt;
&lt;/ol&gt;
Otherwise: the node is simply updated according to your submission, but some fields are restricted from being updateable in this way.
&lt;/p&gt;
&lt;/hr&gt;

&lt;h2&gt;To create a new doclist derivative ([pmdev] only)&lt;/h2&gt;
&lt;p&gt;
It's probably easiest to make a new [doclist] type by cloning an existing one, where possible.
For this purpose, in the steps below, we'll clone from [tutlist], as it is more "normal" than [faqlist].&lt;br&gt;
Cloning can only be done by [gods], so where the procedure says to clone, you'll have to ask a [gods|god]
to do it if you're not one yourself.&lt;br&gt;
Note that in all cases of cloning, replacing names and other values (e.g. group names) must be done meticulously!
This aspect, however, can be done via ordinary patching, if not taken care of during cloning.
&lt;/p&gt;&lt;p&gt;
In the following example, we use "NEW" to represent the name of the new type family:
&lt;pre&gt;
( NEWlist : NEWstring : NEWpost : NEWeds ) :: ( [tutlist] : [tutstring] : [perltutorial] : [Pedagogues] )
&lt;/pre&gt;
"NEW" is merely suggestive, and should not be substituted blindly. Use your intellect!
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; Clone the source [doclist]-derived type, e.g. [tutlist], into &lt;tt&gt;NEWlist&lt;/tt&gt;. &lt;/li&gt;
&lt;li&gt; Clone the associated [maintenance|maintenance create], e.g. [tutlist maintenance create], into &lt;tt&gt;NEWlist maintenance create&lt;/tt&gt;. &lt;/li&gt;
&lt;li&gt; Clone the source [docstring]-derived type, e.g. [tutstring], into &lt;tt&gt;NEWstring&lt;/tt&gt;. &lt;/li&gt;
&lt;li&gt; Clone the associated [maintenance|maintenance create], e.g. [tutstring maintenance create], into &lt;tt&gt;NEWstring maintenance create&lt;/tt&gt;. &lt;/li&gt;
&lt;li&gt; Patch the [maintenance|maintenance create] of the user-postable type which your NEWlist is intended to hold (let's call it &lt;tt&gt;NEWpost&lt;/tt&gt;)
so that it inserts new posts into a special "holding pen" NEWlist, just as [perltutorial maintenance create] does.  If &lt;tt&gt;NEWpost maintenance create&lt;/tt&gt; does not yet exist, create it by cloning the [maintenance|maintenance create] of the source user-postable type, e.g. [perltutorial maintenance create] (editing meticulously, as always). &lt;/li&gt;
&lt;li&gt; Clone [CanPedagoguesEdit] into &lt;tt&gt;CanNEWedsEdit&lt;/tt&gt; &lt;/li&gt;
&lt;li&gt; Patch [handle_node_edits] to account for the above. &lt;/li&gt;
&lt;li&gt; Patch [render_doclist_group], [doclist display page], [doclist edit page], and [Create a New User] to account for the new type in the same way they account for [tutlist], etc. &lt;/li&gt;



&lt;li&gt; Create a new instance of the &lt;tt&gt;NEWlist&lt;/tt&gt; node type and name it "New NEWposts" (analogous to "New Tutorials").
  The existence of this node is presupposed by the &lt;tt&gt;NEWpost maintenance create&lt;/tt&gt; created/patched in Step 5. &lt;/li&gt;

&lt;li&gt; Add links in the appropriate place(s) &amp;mdash; typically top of NEWeds's "how-to" wiki &amp;mdash; to create a new instance of the type: &lt;br&gt;
&lt;code&gt;/?op=new;displaytype=edit;type=NEWlist;node=available_NEWlist&lt;/code&gt; &lt;/li&gt;



&lt;/ol&gt;

&lt;b&gt;Here's a draft plan:&lt;/b&gt;
&lt;ol&gt; 
&lt;li&gt; switch Q&amp;A to use doclists ([catqalist]s) for organization (as above);  &lt;/li&gt;
&lt;li&gt; add support for finding the "containing section" of a tutorial/catq at display time;  &lt;/li&gt;
&lt;li&gt; cache this info;  &lt;/li&gt;
&lt;li&gt; use it (link to it) at the top of catq's in place of the [QandAsection] link. Also add such a link to [perltutorial]s and [sitefaqlet]s! &lt;/li&gt;
&lt;li&gt; use it in [Super Search] as well, for determining whether a node is "in" the [Tutorials] section, or "in" the [Categorized Questions and Answers|CatQA] section, etc. &lt;/li&gt;
&lt;/ol&gt;

&lt;hr&gt;

&lt;h2&gt;How Patching Works&lt;/h2&gt;

&lt;p&gt;
Two things you need to know:
&lt;/p&gt;
&lt;ol&gt;

&lt;li&gt; A patch has two important fields: &lt;ul&gt;
  &lt;li&gt; The &lt;c&gt;'field'&lt;/c&gt; field: indicates which field of the node to be patched will actually be modified by the patch.&lt;ul&gt;
    &lt;li&gt; For [htmlcode]s, this will be &lt;c&gt;'code'&lt;/c&gt; &lt;/li&gt;
    &lt;li&gt; For [htmlpage]s, this will be &lt;c&gt;'page'&lt;/c&gt; &lt;/li&gt;
    &lt;li&gt; For [setting]s, this will be &lt;c&gt;'vars'&lt;/c&gt; &lt;/li&gt;
  &lt;/ul&gt;&lt;/li&gt;
  &lt;li&gt; The &lt;c&gt;'code'&lt;/c&gt; field: contains the new version of the "code". This is true regardless of the type of the node being patched. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt; You can't dump the fields of a patch unless you own the patch. &lt;/li&gt;

&lt;/ol&gt;


&lt;hr&gt;

&lt;h2&gt;Links to other views of the Current Node:&lt;/h2&gt;

&lt;p&gt;Put this in your [id://590089|Free Nodelet]:&lt;/p&gt;
&lt;code&gt;
This node: 
&amp;#91;id://`id`]
[href://?node_id=3333;parent=`id`|replyto], 
[href://?node_id=`id`;displaytype=xml|xml], 
[href://?node_id=`id`;displaytype=raw|raw], 
[href://?node_id=`id`;displaytype=viewcode|code], 
[href://?node_id=`id`;displaytype=edit|edit], 
[href://bare/?node_id=`id`|bare], 
[http://prlmnks.org/rss/`id`.xml|rss],
[href://?node_id=`id`;displaytype=edithistory;limit=25|rje],
[href://?node=`title` sitedoclet|doclet],
[href://?node_id=`parent_id`;displaytype=xml|parent as xml],
[http://pmdev.flux8.com/?node_id=`id`|on DEV],
[http://corion.net/perlmonks/`id`.xml|orig(xml)],
&lt;a href="`url`" id="page_url"&gt;url&lt;/a&gt;
&lt;/code&gt;
&lt;hr/&gt;

&lt;h2&gt;Overriding the Level Requirement for Home Node Pics&lt;/h2&gt;
&lt;p&gt;
As documented in [id://17639],
the site restricts the ability to have a homenode pic to users of at least [id://198665].
This is implemented in accessule [id://493266] and manifested in [id://81] and [id://82].
&lt;/p&gt;&lt;p&gt;
However, this [accessrule] also implements a trap door which lets specific, blessed
individuals have a homenode pic even though they don't meet the minimum height requirement.
This is documented in [id://11946], and refers to the settings [id://11923] (which should
probably have been implemented as a [usergroup], not as a [setting]).
&lt;/p&gt;&lt;p&gt;
Apart from the original purpose of granting homenode pic amnesty to early cheaters, this
is used to give certain [wp://non-player character]s a homenode pic, since it may be useful
to their errand, though it involve no monk level attention.
If you have a non-player character who you feel should have a home node image, you may request
(via [/msg]) that the [gods] add it to the list. If you do, expect to get a lot of pushback.
&lt;/p&gt;
&lt;hr/&gt;

&lt;h2&gt;How to create a new node of arbitrary type&lt;/h2&gt;
&lt;p&gt;
[pmdev]ils can't do it directly. We need to invoke the [gods]. &lt;br&gt;
In essence, we ask them to make a new, empty node of the desired type,
then we submit a patch to populate the node with its initial contents.
Practically, these can be done in the same step. 
The traditional, preferred way to do this is to submit a patch against the special node&lt;br&gt;
[id://218666].&lt;br&gt;
(In actual fact, it doesn't matter what node the patch is submitted against.
At the time of applying it, the [gods|god] will "re-direct" it to the new node you asked for,
regardless of where it was originally.)&lt;br&gt;
In addition to the desired node title and content, you must also communicate to the [gods] 
precisely which nodetype you desire for the new node.
Therefore, it is recommended that the "reason" you give on the patch be formulated as follows:&lt;br&gt;
&lt;i&gt;nodetype: exact node name&lt;/i&gt;&lt;br&gt;
For example:&lt;br&gt;
&lt;tt&gt;fullpage: node navigator ticker&lt;/tt&gt;
&lt;p&gt;
It is also advisable, in most cases, to immediately reply to your patch with a comment explaining
the rationale for the new node in more detail.
&lt;p&gt;
Note that when the new node has been created and the patch applied to it, the patch will no longer
be listed under [id://218666] and will be listed under the new node (when viewing its code).
&lt;p&gt;
To see what happens, look at this patch I wrote: [id://621873].&lt;br&gt;
I originally wrote it against [href://?node_id=481723;displaytype=viewcode|unused fullpage],
but it was applied against the new node, [href://?node_id=693598;displaytype=viewcode|node navigator ticker].&lt;br&gt;
You can see the patch listed under the latter, but not under the former.
The patch's title (not reason) still suggests that it was written against the former. That's a little confusing,
but ultimately immaterial.
&lt;hr/&gt;

&lt;h2&gt;&lt;tt&gt;displaytype&lt;/tt&gt;s&lt;/h2&gt;
&lt;p&gt;
You know you can select a displaytype other than the default by adding &lt;tt&gt;;displaytype=&lt;i&gt;type&lt;/i&gt;&lt;/tt&gt; to the URL.  For example, to get the XML view of a post, add &lt;tt&gt;;displaytype=xml&lt;/tt&gt;.
&lt;/p&gt;&lt;p&gt;
Where are these types defined and implemented?
What displaytypes are available for any given nodetype?
&lt;/p&gt;&lt;p&gt;
To find what displaytypes are defined for a nodetype, simply go to that nodetype's definition page and look at the list under &lt;b&gt;Relevant pages&lt;/b&gt;.
For example, see the definition of the [id://11] nodetype. 
The first column is the name of the displaytype (e.g. &lt;tt&gt;xml&lt;/tt&gt;, &lt;tt&gt;edit&lt;/tt&gt;, &lt;tt&gt;print&lt;/tt&gt;, and so on) and on the right is the corresponding [id://5] which implements the displaytype.  The htmlpage naming scheme, which is a convention from Everything, is "&lt;tt&gt;&lt;i&gt;nodetype&lt;/i&gt;&amp;nbsp;&lt;i&gt;displaytype&lt;/i&gt;&amp;nbsp;page&lt;/tt&gt;".
See the [href://?node_id=106927;whichtype=5|full list of htmlpage]s.
&lt;/p&gt;
&lt;p&gt;
Note that [id://5] is a node type, with its own database table. 
One of the fields in the [id://881] table is 
&lt;b&gt;pagetype_nodetype&lt;/b&gt;. This points to exactly one of the many
[id://386578|node types]. This htmlpage can be applied to
(used on) that node type or any of its derivatives, down to the point where it is overridden by a subtype.
To see the value of this field for a given htmlpage, view the htmlpage's page.
E.g. [id://180958] shows &lt;b&gt;pagetype&lt;/b&gt;:&amp;nbsp;[id://7], while
[id://1603] shows &lt;b&gt;pagetype&lt;/b&gt;:&amp;nbsp;[id://1588].
&lt;/p&gt;
&lt;p&gt;
To define a new displaytype, you'll need to create the corresponding [id://5]. See &amp;rArr;[http://everydevel.com/index.pl?node_id=242|Creating a display htmlpage].
&lt;/p&gt;&lt;p&gt;
It is definitely best to request cloning of an existing [htmlpage], because several fields have to be set by things you can't touch via a patch,
such as &lt;b&gt;pagetype&lt;/b&gt; and &lt;b&gt;displaytype.&lt;/b&gt;
Be sure to state in your supplication what the new value of these fields should be.
&lt;/p&gt;&lt;p&gt;
To see where these things are used, look at &lt;c&gt;sub getPageForType&lt;/c&gt; in [Everything/HTML.pm].
&lt;/p&gt;
&lt;hr/&gt;
&lt;a name="dbtables"&gt;&lt;/a&gt;
&lt;h2&gt;Not All Database Tables are Used Directly in Node Type Definitions&lt;/h2&gt;
&lt;p&gt;
There are 79 [dbtable]s, in total.&lt;br/&gt;
31 tables are used by [nodetype]s.&lt;br/&gt;
48 tables are &lt;b&gt;not&lt;/b&gt; used by nodetypes.
&lt;/p&gt;&lt;table&gt;
&lt;tr&gt;&lt;th&gt;dbtables used by nodetypes:&lt;/th&gt;&lt;th&gt;other dbtables:&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://930]&lt;/td&gt;&lt;td&gt;[id://2065]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://879]&lt;/td&gt;&lt;td&gt;[id://393764]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://18505]&lt;/td&gt;&lt;td&gt;[id://499694]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://108653]&lt;/td&gt;&lt;td&gt;[id://499696]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://878]&lt;/td&gt;&lt;td&gt;[id://177275]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://14555]&lt;/td&gt;&lt;td&gt;[id://298587]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://880]&lt;/td&gt;&lt;td&gt;[id://16959]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://881]&lt;/td&gt;&lt;td&gt;[id://21364]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://882]&lt;/td&gt;&lt;td&gt;[id://511893]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://118396]&lt;/td&gt;&lt;td&gt;[id://28873]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://884]&lt;/td&gt;&lt;td&gt;[id://50969]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://885]&lt;/td&gt;&lt;td&gt;[id://10156]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://888]&lt;/td&gt;&lt;td&gt;[id://182337]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://889]&lt;/td&gt;&lt;td&gt;[id://448676]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://935]&lt;/td&gt;&lt;td&gt;[id://323939]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://112732]&lt;/td&gt;&lt;td&gt;[id://323937]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://232665]&lt;/td&gt;&lt;td&gt;[id://323938]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://1445]&lt;/td&gt;&lt;td&gt;[id://61898]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://7488]&lt;/td&gt;&lt;td&gt;[id://81029]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://152615]&lt;/td&gt;&lt;td&gt;[id://28938]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://405890]&lt;/td&gt;&lt;td&gt;[id://175026]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://31664]&lt;/td&gt;&lt;td&gt;[id://175027]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://294548]&lt;/td&gt;&lt;td&gt;[id://17754]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://890]&lt;/td&gt;&lt;td&gt;[id://883]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://1981]&lt;/td&gt;&lt;td&gt;[id://5134]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://1749]&lt;/td&gt;&lt;td&gt;[id://489261]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://1057]&lt;/td&gt;&lt;td&gt;[id://11838]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://517550]&lt;/td&gt;&lt;td&gt;[id://886]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://1059]&lt;/td&gt;&lt;td&gt;[id://887]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://891]&lt;/td&gt;&lt;td&gt;[id://208184]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[id://72218]&lt;/td&gt;&lt;td&gt;[id://404234]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://11173]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://23615]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://328452]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://1478]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://490335]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://53604]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://1722]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://1858]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://11178]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://3990]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://3991]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://16657]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://524789]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://31454]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://276370]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://253077]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[id://5770]&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;hr/&gt;

&lt;h2&gt;Hint on Patching Strange Nodetypes&lt;/h2&gt;
&lt;p&gt;
When you view nodes of certain types (such as [id://227668]; example: [id://204962]), 
they're shown as "raw" data, with no containers or other usual PerlMonks decorations.
Suppose you wanted to patch such a thing. How can you get to that function?
&lt;/p&gt;&lt;p&gt;
Try adding &lt;c&gt;;displaytype=viewcode&lt;/c&gt; to the URL, e.g.
&lt;tt&gt;[href://?node_id=204962;displaytype=viewcode|/?node_id=204962;displaytype=viewcode]&lt;/tt&gt;
&lt;/p&gt;&lt;p&gt;
The other thing you can do is go to [id://106927], and filter for the type you're interested in (e.g. [href://?node_id=106927;whichtype=227668|list nodes of type 'css']). Next to each node listed is a 'viewcode' link.
&lt;hr/&gt;
&lt;h2&gt;&lt;tt&gt;VARS&lt;/tt&gt;&lt;/h2&gt;
&lt;p&gt;
The &lt;b&gt;&lt;tt&gt;VARS&lt;/tt&gt;&lt;/b&gt; hash: What is it? Where does it come from?
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;&lt;c&gt;VARS&lt;/c&gt;&lt;/b&gt; is actually a hashref.
By default, it is loaded at page load time from data associated with the current user (you).  (Look for &lt;tt&gt;[href://?searchterms=confirmUser&amp;setsic_dogrep=1&amp;clrsic_dogrep=1&amp;setsic_or_terms=0&amp;clrsic_or_terms=1&amp;node_id=157620&amp;sexisgood=submit|sub confirmUser]&lt;/tt&gt;)
&lt;/p&gt;&lt;p&gt;
The function that actually loads a "vars" hash for a given node is 
&lt;tt&gt;[href://?searchterms=confirmUser&amp;setsic_dogrep=1&amp;clrsic_dogrep=1&amp;setsic_or_terms=0&amp;clrsic_or_terms=1&amp;node_id=157620&amp;sexisgood=submit|sub getVars]&lt;/tt&gt;.  The node must already have been loaded into memory. It looks for data in the &lt;tt&gt;'vars'&lt;/tt&gt; field of the node.  For there to be a &lt;tt&gt;'vars'&lt;/tt&gt; field, the node must be of a nodetype which has a &lt;tt&gt;'vars'&lt;/tt&gt; database field. Only one db table has a field named &lt;tt&gt;'vars'&lt;/tt&gt;: [id://890].
&lt;/p&gt;&lt;p&gt;
But wait - [id://15] isn't a [id://871] node!  Is it?
&lt;/p&gt;&lt;p&gt;
Yes, it is! If you take a look at the definition of the [id://15] nodetype, you'll see it actually joins three different db tables:
[id://891], [id://890], and [id://878].
&lt;/p&gt;&lt;p&gt;
Although &lt;c&gt;$VARS&lt;/c&gt; is loaded automatically for the current user, htmlcode can get the "vars" for any user. For example:
&lt;code&gt;
$num_writeups = getVars( getNode($user_id) )-&gt;{numwriteups};
&lt;/code&gt;
&lt;/p&gt;&lt;p&gt;
So you're probably wondering: What other nodetypes might have "vars" (besides, obviously, [id://871]) by virtue of joining the [id://890] db table?
There are a few (scan [id://386578]), but an interesting one (IMHO) is [doclist], or rather, its two subtypes, [faqlist] and [tutlist].
&lt;/p&gt;

&lt;hr/&gt;
&lt;h2&gt;Usage of &lt;c&gt;%HTMLVARS&lt;/c&gt;&lt;/h2&gt;
&lt;p&gt;
See the [id://461491] for an explanation of what &lt;c&gt;%HTMLVARS&lt;/c&gt; is for.
&lt;/p&gt;&lt;p&gt;
&lt;c&gt;%HTMLVARS&lt;/c&gt; is loaded by [Everything/HTML.pm] using [id://49]. It loads the data from &lt;b&gt;[id://916]&lt;/b&gt;.
(It also reads the contents of &lt;b&gt;[id://84]&lt;/b&gt;, but this data is dropped into the bit bucket.)

&lt;hr/&gt;

&lt;a name="pmdev_tips"&gt;&lt;/a&gt;
&lt;h2&gt;Tips for the new [PmDev]il&lt;/h2&gt;
&lt;p&gt;
The [pmdev] group is actually one of the &lt;i&gt;safest&lt;/i&gt; groups to be in, in terms of being able to commit destruction to the site.
That's because the only thing you can do is write patches: unless/until a [gods|god] applies the patch, it has zero effect.
&lt;/p&gt;&lt;p&gt;
The [http://everydevel.com/index.pl?node=Everything Documentation Index|Everything] structure is pretty complicated, to be sure.
To gain familiarity with it, you pretty much just have to keep slogging through nodes, through code, manually tracing function calls.
 The wall I hit is about the database and various related things that are still opaque to [pmdev]ils.
&lt;/p&gt;
&lt;h4&gt;How should a new [pmdev]il get started?&lt;/h4&gt;
&lt;p&gt;
The very first thing to do is [Nodelet Settings|enable] the PmDev Nodelet, of course. That should almost go without saying. I would also enable the Cabalists Nodelet, if you haven't done so already.
&lt;/p&gt;&lt;p&gt;
The various [pmdev] wikis are good resource, of course.  You should read at least these:
&lt;ul&gt;
 &lt;li&gt; [id://106868] &lt;/li&gt;
 &lt;li&gt; [id://222493] &lt;/li&gt;
 &lt;li&gt; [id://461491] &lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;p&gt;
It's really essential to understand about node types.
You can start at [id://386578] (linked in the PmDev Nodelet as "Types") and browse around.
Also check out "chromatic's library" (linked in the PmDev Nodelet);
it has more info than you'll ever need, but the first five links in the list are essential.
(&lt;i&gt;Update:&lt;/i&gt; everydevel.com is now gone. But the contents are preserved in the Wayback Machine.)
&lt;/p&gt;&lt;p&gt;
Many types of nodes are patchable. Primarily there is [htmlcode]; it's the real workhorse nodetype, essentially a subroutine in the Everything framework. There are several other code-like and template-like nodetypes. Then there's [id://871]s, which are data tables.
So choose some of these, read the code, and read some of the patches people have written against them.
For a (not quite random) example, go to [id://131] and click on the 'code' link.
You see the code formatted with line numbers, then the code in a text edit box, and then a table of all the node's patches.
(Btw... when you're viewing a nodetype, either on its own display page or within the [Type Tree], it has a link to a listing of all of the nodes of that type. That is &lt;i&gt;very&lt;/i&gt; handy, in my experience.)
&lt;/p&gt;&lt;p&gt;
As you browse around the code and start to get familiar with perlmonks' workings, you'll encounter certain basic subroutines time and again.
In most cases, such subroutines are defined in nodes of the same name.
For example, [parseCodeInString].
Nodelets are defined this way as well &amp;mdash; for example, [PmDev Nodelet].
So, as a first resort, you can type/paste the name of the sub you're curious about into the Search box.
&lt;/p&gt;&lt;p&gt;
Failing that, you can use the [id://157620] tool (linked in the PmDev Nodelet as "Search code").
This tool is truly your friend.
&lt;/p&gt;&lt;p&gt;
You'll eventually discover that some of the code that runs the site is not in patchable nodes.
I'm referring to [id://118397] nodes (see near the bottom of the [id://386578] page).
Most important is [id://165672]. &lt;!-- Everything/HTML.pm --&gt;
Many of the most fundamental functions that you encounter in pm code are defined there.
You'd do well to be familiar with it.
E.g. say you're trying to find the definition of sub linkNode.
There's no linkNode node!  That's because it's defined in Everything/HTML.pm.
([id://157620] would find it there, but many other places besides.)
&lt;/p&gt;

&lt;h3&gt;pmdev notes&lt;/h3&gt;
&lt;p&gt;
Some node types are ultimately just html.  With templating features, of course.&lt;br/&gt;
The node types in this category include [superdoc], [fullpage], and [htmlpage]. &lt;br/&gt;
Note that [superdoc] and [fullpage] are sub-nodetypes of [document]. &lt;br/&gt;
([document], [htmlpage], and [htmlcode] are not related. That is, their closest common ancestor is [node].)
&lt;/p&gt;&lt;p&gt;
The templating syntax uses three flavors, all based on square brackets:
&lt;ul&gt;
&lt;li&gt; &lt;c&gt;["perl string"]&lt;/c&gt; evaluates simply to the given string. It's a perl string literal, so it does interpolation of variables etc. &lt;/li&gt;
&lt;li&gt; &lt;c&gt;[{code_call}]&lt;/c&gt; or &lt;c&gt;[{code_call:arg1,arg2}]&lt;/c&gt; evaluates to the result of calling the code contained in the [htmlcode] node named &lt;c&gt;code_call&lt;/c&gt;. &lt;/li&gt;
&lt;li&gt; &lt;c&gt;[% full perl code here %]&lt;/c&gt; evaluates to whatever the given perl code evaluates to. &lt;/li&gt;
&lt;/ul&gt;
In each case, the square-bracketed expression is replaced in the html with the string resulting from its evaluation. 
&lt;/p&gt;&lt;p&gt;
Here's a node which happens to use all three: [id://113501]
&lt;/p&gt;
&lt;p&gt;
Nodes of type [htmlcode] contain straight perl code, &lt;i&gt;not&lt;/i&gt; html. &lt;br/&gt;
Sub-nodetypes of [htmlcode] are [opcode], [patch], and [accessrule].&lt;br/&gt;
&lt;/p&gt;

&lt;a name="add_user_setting"&gt;&lt;/a&gt;
&lt;h4&gt;How To Add a User Setting&lt;/h4&gt;
&lt;p&gt;
It's really not complicated:
&lt;ol&gt;
&lt;li&gt; Make up a name for the new variable. E.g. &lt;c&gt;show_id_on_note&lt;/c&gt;.&lt;/li&gt;
&lt;li&gt; Decide which type of variable it should be, e.g. &lt;c&gt;checkvar&lt;/c&gt; is a boolean, which gets rendered as a checkbox. &lt;/li&gt;
&lt;li&gt; In [Display Settings] (for example), add something like &lt;tt&gt;&amp;#91;{[checkvar]:show_id_on_note}]&lt;/tt&gt; &lt;/li&gt;
&lt;li&gt; Use it in node code as an element of %VARS. E.g. 
&lt;c&gt;
( $VARS-&gt;{show_id_on_note} ? " [id://$NOTE-&gt;{node_id}]" : "")
&lt;/c&gt;
&lt;/li&gt;
&lt;/ol&gt;
(The example above is taken from [id://581735] and [id://581731].)
&lt;/p&gt;
&lt;p&gt;
The available [htmlcode]s for form input elements are:
&lt;ul&gt;
&lt;li&gt; checkbox   = &lt;tt&gt;&amp;#91;{[checkvar]:&lt;i&gt;varname&lt;/i&gt;}]&lt;/tt&gt; &lt;/li&gt;
&lt;li&gt; text field = &lt;tt&gt;&amp;#91;{[setvar]:&lt;i&gt;varname&lt;/i&gt;}]&lt;/tt&gt; &lt;/li&gt;
&lt;li&gt; text area  = &lt;tt&gt;&amp;#91;{[setvararea]:&lt;i&gt;varname&lt;/i&gt;}]&lt;/tt&gt; &lt;/li&gt;
&lt;li&gt; menu       = &lt;tt&gt;&amp;#91;{[listVarMenu]:&lt;i&gt;varname&lt;/i&gt;}]&lt;/tt&gt; &lt;/li&gt;
&lt;/ul&gt;
See each one's code for a description of optional arguments.
&lt;/p&gt;&lt;p&gt;
(Note: &amp;#91;{[varmenu]}] is not a general-purpose form input widget; ignore it for now.)
&lt;/p&gt;


&lt;a name="embed_sitedoclets"&gt;&lt;/a&gt;
&lt;h4&gt;How to embed a [sitedoclet] in another node&lt;/h4&gt;
&lt;p&gt;
An example can be seen in the code of [id://101], which embeds [id://156912].
&lt;/p&gt;&lt;p&gt;
The basic formulas are as follows.
&lt;/p&gt;&lt;p&gt;
For embedding in the template types ([superdoc], [fullpage], [htmlpage]) &amp;mdash;
&lt;code&gt;
[{get_sitedoclet}]  # use default doclet selection

[{get_sitedoclet:Choosing a username}] # select specific doclet

&lt;/code&gt;
For embedding in Perl code, e.g. within &lt;c&gt;[%....%]&lt;/c&gt; blocks and in [htmlcode] nodes &amp;mdash;
&lt;code&gt;
$html .= htmlcode('get_sitedoclet',...);

&lt;/code&gt;
&lt;/p&gt;&lt;p&gt;
[id://370014] is quite flexible. Read its code, which has embedded doco.
&lt;/p&gt;&lt;p&gt;
Note that the [id://370014] doco also includes critical information on the 
&lt;i&gt;formatting&lt;/i&gt; of [sitedoclet]s, which [SiteDocClan] will find highly pertinent!
&lt;/p&gt;&lt;p&gt;
If the first arg (the sitedoclet node title) to [id://370014] is omitted (i.e. false),
a default title of "&lt;i&gt;Foo&lt;/i&gt; sitedoclet" is used, where "&lt;i&gt;Foo&lt;/i&gt;" is the title of the
node being rendered, i.e. the node in which the [sitedoclet] is being embedded.
&lt;/p&gt;&lt;p&gt;
Also, it appears that the first arg can be a node ID instead, since &lt;tt&gt;getNode&lt;/tt&gt;
has been enhanced to defer to &lt;tt&gt;getNodeById&lt;/tt&gt; if the title given is a string of digits.
&lt;/p&gt;&lt;p&gt;
Another htmlcode you can use instead of [get_sitedoclet] is [showsitedoclet].&lt;br&gt;
[showsitedoclet] differs from [get_sitedoclet] only in that it adds some "decoration" to
the rendered doclet: If the user is in [SiteDocClan], it adds an "Edit" link (or a link
to create the doclet if it does not yet exist); if the user is not in [SiteDocClan] and
there is no doclet, a "no such sitedoclet" message is inserted at the top.&lt;br&gt;
Currently this is only used in two spots: in [usergroup display page|displaying usergroups]
and in [accessrule display page|displaying accessrules].
Because of the rather annoying message shown to Poor Ol' Monks when there is a missing
sitedoclet, use of [showsitedoclet] should probably be carefully considered.
&lt;/p&gt;


&lt;h4&gt;How to control user access to a node?&lt;/h4&gt;
&lt;p&gt;
You make the following call, which returns a boolean:
&lt;code&gt;
Everthing::isApproved( $USER, $AccessControl );
&lt;/code&gt;
Where &lt;c&gt;$AccessControl&lt;/c&gt; is the ID of either a [usergroup] or an [accessrule].
If it's a [usergroup], &lt;c&gt;isApproved&lt;/c&gt; will return true if the user is in the group.
If it's an [accessrule], &lt;c&gt;isApproved&lt;/c&gt; will return whatever the [accessrule] returns.
An [accessrule] contains an arbitrary chunk of perl code (rather like an [htmlcode]) which 
should return a boolean. See the existing [accessrule]s for an idea.
&lt;/p&gt;&lt;p&gt;
&lt;c&gt;isApproved&lt;/c&gt; is defined in [id://165673].
&lt;/p&gt;

&lt;h4&gt;Generating XML&lt;/h4&gt;
&lt;p&gt;
The function to use is [new_xml_fling] ([href://?node_id=157620;searchterms=new_xml_fling|uses]). This supercedes [href://?node_id=157620;searchterms=XML%3A%3AFling|XML::Fling] (defined in [id://165689]) which is still in use in a significant number of nodes. Note that XML::Fling itself is not going away; [new_xml_fling] calls it!
&lt;/p&gt;
&lt;p&gt;
Observe that the current uses of [new_xml_fling] are either in [fullpage] nodes, which generally have "xml&amp;nbsp;generator" or "xml&amp;nbsp;ticker" in the name, or in [htmlcode] nodes, which means it's being wrapped in another function.
&lt;/p&gt;


&lt;h4&gt;pmdev links&lt;/h4&gt;

&lt;p&gt;
Mentioned in [id://403447].

&lt;/p&gt;&lt;code&gt;[pmdev://TARGET|pmdevTEXT|othersTEXT]&lt;/code&gt;&lt;p&gt;
For [pmdev]ils, the pmdevTEXT is displayed, and links to the given target.
For everyone else, the othersTEXT is displayed, and is not a link.
&lt;/p&gt;&lt;p&gt;
e.g.
&lt;/p&gt;&lt;p&gt;
&lt;code&gt;[pmdev://42|secret magic node|Poor muggle]&lt;/code&gt; =  
[pmdev://42|secret magic node|Poor muggle]
&lt;/p&gt;&lt;p&gt;
[demerphq] &lt;i&gt;&lt;small&gt;in the cb, on 2005-10-25&lt;/small&gt;&lt;/i&gt; saith:&lt;br/&gt;

so &lt;c&gt;[pmdev://14]&lt;/c&gt; will show a link to pmdevils, and just text &lt;c&gt;[pmdev://14]&lt;/c&gt; for everybody else.&lt;br/&gt;
&lt;c&gt;[pmdev://foo|bar|baz]&lt;/c&gt; acts like &lt;c&gt;[foo|bar]&lt;/c&gt; for pmdevils and as simply &lt;c&gt;baz&lt;/c&gt; for non pmdevils.&lt;br/&gt;

the original reason was i wanted links to source code on the xml ticker list. 
but i didnt want normal users to see links that would lead them to a tough beans. 
its use in chatter was just a bonus.&lt;br/&gt;
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;

&lt;h4&gt;The basic page framework&lt;/h4&gt;
&lt;p&gt;
...&lt;i&gt;information lost!&lt;/i&gt;...</field>
</data>
</node>
