Pm Wiki

PmWiki is probably a stealth fork [1] of UseModWiki [2] that uses PHP of PhpWiki [3] instead of Perl (probably a bad choice considering PHP's "fail upwards" design approach [4]).

I am forking off PmWiki (at 2.2.133, future will attempt to update to 2.2.142, and if that works update to 2.2.145 while reverting 2.2.143) for several reasons:

  1. Development is at a standstill
  2. The little development that goes on by Petko is focused on things I don't want like 2FA tokens and markup highlighting (which doesn't work on Vector and pmwiki markup is so simple as to provide zero use for highlighting). Petko has made PmWiki into his own personal fork that serves himself not the community.
  3. PmWiki software scrapes and records all editors browser fingerprint and IP addresses onto the webserver and makes it impossible to turn this tracking off without editing the source code (which I did).
  4. Petko doesn't care about breaking cookbooks that he doesn't use (just to make inconsequential and unnecessary updates for features no one wants nor asked for), and seems to actually have disdain for Vector skin (wikipedia lookalike that I use). His updates in recent years have totally broke the skin - from pmwiki's built in TOC not working, to titledictindex not displaying correctly, to sectionedit not working.
  5. Things I do care about like fixing search, making certain single words always linked, or making external links into a references section at the bottom of pages, he doesn't care about.
  6. Petko censors comments in pmwiki.org talk pages that cast a negative light on things.

Fork ideas

I have a vision of everyone hosting thier own personal Vault but thier site also has Vaults of 'everyone' (or everyone who they want) Vaults as well. Sort of like how this site hosts it's own instance of NatureVault, Crypto Projects, and PmWiki. Using Github to keep your instance updated with everyone elses Vault's may use github or something like that, or even a blockchain like Blockvault. Kind of like Ward Cunningham's "wiki federation" idea [5]

Mypedia

Ourpedia

Ournotes

Sharenotes

Swapnotes

Publicnotes

Mynotepad

Vmwiki (vault management wiki)

Pubnote

Vaults

HiveMind

ThinkDifferent

GroupThink

ThinkTank

MentalMob

MindUpload

MyMind

Future of wiki

Not sure if the 'wiki' name can/should stick. Wikipedia gives a lot of (some positive some negative) connotation.

Collaborative note taking, team collaboration, project management [6]

For mainstream adoption must have wysiwyg, vector skin has some but probably not enough.

Need to lean in to a desired userbase while keeping all the flexibility (or most, whatever makes sense) of a full fledged wiki. Could be personal/collaborative note taking, collaborative knowledge base, etc. Drop the wiki term which is scary to people and focus on a market.

Personal knowledge base with option to upload to others, need common syntax [7]

Should be interconnectable [8] which means common syntax. Creole isn't bad, but I think some improvements need to be made.

One of the worst problems with pmwiki and languages in general is different characters mixed in the tags like [+ big +] not only does it take longer to write, but it's not memorable and the order of the two types of characters is reversed for the opening and the closing, so you can't just copy and paste the same thing for opening and closing tags. Creole does fix this by making the vast majority just repeating the same characters for a certain function [9] it does seem that "big" tags and similar aren't in creole though... Also it looks like any hope for creole 2.0 are dead, and the project seems dead and in "less than maintenance" mode. Lots of good ideas there though.

The conundrum of PmWiki

see my post on this at [10] on 10/27/2022.

PmWiki seems to be founded on a faulty premise, that of making core as simple as possible and relying on cookbooks, especially user created and maintained cookbooks to provide additional functionality. The fact is that as this mountain of user generated content has grown, they inevitably have not been kept up to date with core upgrades and have thus been broken along the way. Petko has kept his pet cookbooks compatible with current PmWiki, but those he has not maintained have been broken by his core upgrades. The way forward I feel is to never make breaking changes (that includes php updates or moving functions to different files) in a core version ie: 2.2.xxx. This way we know for sure that a cookbook made for a certain version will reliably work with any revision in that version, and that if you want to use that cookbook you have to use a revision within that version. --NatureHacker 2022 Oct27 20:52 UTC

Updates

see also code

Make sure not to overwrite Site.PageListTemplates or Category.GroupFooter also be mindful to forward updates from Pmwiki.php that remove spyware.

Keep offlineconfig.php up to date with config.php

Comparison of web development languages [11] considering broad applicability, python is probably best.

PHP

PHP will cause the collapse of the internet, bar none. The development moves with reckless abandon leaving a wake of destroyed websites. Nearly all websites (including PmWiki) run primarily on PHP. Its almost as if they are trying to destroy the internet. The internet is a bubble inflated with PHP hot air, sooner or later it will pop.

Upgrading 7.4 to 8.0 [12]

Even between 8.0 to 8.1 there are lots of backwards incompatible changes [13] and 5.4 to 5.6 [14]

It's hard to tell from this but active support ends only 1 year after stable release [15]

Assisted code version upgrading by rector [16]

Python

Python isn't used in pmwiki but it is used in other wiki alternatives

Python backwards compatibility is better and never changes from a revision [17]. I consider it (majorversion.minorversion.revision) some call it (majorversion.minorversion.microversion) where micro/revision are only bug fixes never new syntax or deprications.

Perl

Perl has a strong commitment to backwards compatibility and has been on the same major version since 1994 [18]. UseModWiki, which PmWiki is probably a stealth fork of, uses Perl instead of PHP.

Cookbooks

SectionEdit

[19]

Troubleshooting

Wow it fixed itself after reverting to old version and also after making this page. Wuen I made it, it strangely went to pmwiki/pmwiki so I made naturevault/pmwiki and as soon as I created that sectionedit worked again! Must have reset something. Its possible I was just never logged in so didn't see it after reverting.

Dictindex

Troubleshooting

Currently the anchor arrows on each letter are not showing up in vector skin (are other skins working?) may need to downgrade pmwiki installation to 2.102 I believe which might have been the last update for vector [20]. Or 2.2.119 so that PmTOC TableOfContents is enabled.

PmTOC TableOfContents

Non working anchors

[[#uses]] on page earthworms

Search

Needs to be fixed with my stack, when you search it only matches a page title if you omit the space between words. Also copy pmwiki.org search where they allow you to narrow search by group. Needs to search AsSpaced version of every pagename $AsSpacedFunction line 648 currently in pmwiki.php.

modify the "there is no site.xxx would you like to create it?" and change that to naturevault.xxx or just remove it.

make option to sort search results by last updated time.

Bugs

Links in header don't show up as backlinks to the respective pages.

To do

PmWiki's roadmap [21] and roadmap talk [22] and changelog [23]

Many of these are from [24] see also features of pmwiki [25]

Attempt update to 2.2.142 and if successful attempt update to 2.2.145 while reverting 2.2.143 [26]

See if sectionedit can show even when not logged in.

titledictindex.php does not show arrows to "top" by each letter with vector skin. see if can modify it with things from extdictindex to make them show up or modify vector [27].

See if url's can be rewritten to either not include pmwiki.php or remove the .php while a. Not requiring server modification and b. Making sure it is compatible with "all servers" [28]

Recent uploads log [29]

Enable not saved warning [30]

Enable listinclidedpages [31]

Add signature [32] - signature is working if you do 4 ~'s

Ezdate and time [33] and include it into groupheader

Bug fix from 2.3.5

Sort search by score [34] [35]

Case correction [36]

Make exporting PDF's easier [37] and for groups [38]

Other backup options [39] [40]

possibly use a revisioncontrol cookbook to make it more compatible with github change highlighting. Saw a mention about it either on comments on pmwiki changelog or roadmap but having trouble finding it. Possibly sysdiff [41] (user who uses sysdiff [42]), ya probably is. Need ability for separate offline wikis to be periodically merged using diff merge tools [43] (NFS to run multiple servers). Possible Vim editor [44]. Possible GNU diff [45]

Possible Diff improvements if needed [46] [47] [48]

Learn how to redirect pages like pmwiki site does

Attachable attachment options [49]

Fix my pmwiki.php with the commenting out of the spy lines

Numberofarticles [50]

Browser cache updates for uploads [51]

Consider wikish [52]

Consider opensearch [53]

Consider sitemapper [54] or simplesitemap [55]

Consider tracetrail [56]

Consider creditsblock [57]

Consider deletepage [58] or trash [59]

Consider globaloperations [60]

Consider grouphomepagechange [61]

Consider newgroupwarning [62]

Consider pagegenerationtime [63]

Consider persistent login [64]

Consider pagecounter [65]

Consider siteinformation [66]

Consider most least popular [67]

Consider movepage [68]

Comsider icons to images [69]

Consider newline [70] to prevent loosing space in the text after edits

Consider autolink words [71] but I would need it to be group specific and perhaps? case insensitive.

Consider case correction [72]

Anchor highlighting (currently in place in pmwiki.org)

Adding summaries and categories to more pages and potentially making the first edit of any page have a "Page Summary" box on the edit form. Also a "Categories" box would be nice too. Summaries could also be scraped from the first sentence of pages when not specified directly.

Add (:redirect PageName:) to the page editing instructions and a link to PageDirectives - added to page template

Create a Profiles.Profiles where all profiles are listed like pmwiki.org does and so there is a link when I do this --Profiles 2022 Oct28 11:32 UTC

mouseover a page link should show summary

Make redirected from backlink show the page so you can see backlinks to that. Actually best would be to make backlinks show from not only the given page but all pages that redirect to it.

add nostalgiaeq-wiki [73] as a wikifarm in vault2 [74]

make index and summary also have a : in front of the page name like talk: does.

Fix attachment text in group footer is preent formatting timestamp

Add %comment% and common colors to the edit page display. yolo

If needed in future

Consider pageregenerate [75]

Consider pergroupcustomizationinconfigphp [76]

Pergroupsubdirectories [77]

Pmwikiexport to git [78]

Powertools multipage processing [79]

Speed optimizations [80] [81]

Surveyaccesspermissions [82]

Systemlimits [83]

Templatemarkuptricks [84]

Timezones [85]

Titlespaced [86]

Consider totalcounter [87] but probably not for privacy and cookie concerns.

Consjder trackchanges [88]

Probably not updatebashscript [89]

Uploadpiccompression [90]

Get base url [91]

Consider visitors logging [92] [93] but probably not.

Watchthatpage [94]

Php file manager without ftp [95]

Htaccess security [96]

Wikihost config [97]

Wikifarm info [98]

Wiki refactoring [99]

Wikiroot for images [100]

Word file to pmwiki [101]

Wordwrap for preformatted [102]

Pagestore as xml [103]

Admin tasks [104]

Adminhints [105]

Autocreate pages [106]

Autothumber [107]

Dynamic page actions [108]

Consider SEO [109] [110]

Adding functionality to configphp [111]

Page watch lists [112] and notify [113]

Download manager [114]

Path variables (or other variables) for configphp [115]

Table formatting [116]

Make cookbook that automatically sets tooltiptitle Links#tooltiptitle to be the title (or summary) of the page.

Make recent changes and all recent changes organized under date headings like wikipedia

what pages the current page links to (forwardlinks) I don't want to do this because it seems then if this is needed the page failed to direct users in context.

Alternatives

Things that I look for is flat file data storage, able to host online and offline, and a stable programming language (not php)

Security: python, ruby [117] as well as perl are secure. Javascript and PHP are less secure.

PHP

DokuWiki is better than PmWiki in every way except for no concurrent editing [118]. Since I design for mass use, I initially selected Pm because of this fact. I do sort of regret my decision now since Doku is actively developed by/for the community whereas Pm has no community and is just a personal project of Petko now with all the unnecessary bloat, breaking updates, and missed opportunities that brings.

Python

moin wiki [119]

zim desktop [120]

Perl

usemod [121]

foswiki [122]

Clojure

cardigan bay [123]

Javascript

tiddlywiki [124]

Ruby

gollum [125] (tuned for git)

Haskell

gitit [126]



Other pages that link to PmWiki:

C

Attachments to PmWiki:

Password to edit: nature



It's Sat, 10 Dec 2022 01:08 UTC in Vaultlandia