Make Link > New Wiki Page has multiple problems
The Make Link feature's various alternatives are really nice to have.
The option to make the link generate a new page is very handy, except that we've noted a couple of problems. These problems may extend to cases beyond the new page case.
1. It appears that when a browser requests a page, zoho wiki transforms the supplied page url into a more canonical form, such that a variety of different punctuations retrieve the same page. For example, it seems to be able to take a url like .../fablabsd.org-issue-.html to fetch .../fablabsd-org-issue.html.
So far so good, except that apparently if the supplied url doesn't match the actual url (whatever that is), then zoho wiki always opens the page in edit mode. (Presumably only for uses with edit perms. Not sure why editing in edit mode in this case is a sensible rule, but OK.)
Unfortunately, the Make Link feature generates such mismatches. The New Page option tries to compose a url for the new page based on the selected text (ie: the link text). We've noted two problems:
- If the selected text accidentally includes trailing spaces, the generated url includes trailing dashes.
- If the selected text includes dots (as in any link whose text includes a domain name!), then the generated url does not replace the dots with dashes, but when the page is created it does replace dots with dashes.
So, our link text 'fablabsd.org issues ' (note dot and trailing space)
caused the New Page code to generate:
'fablabsd.org-issues-.html?pid=4336209000000027105', but the eventual URL of the page was:
'fablabsd-org-issues.html'
and apparently because the link doesn't match the actual page url, clicking that link always opens the page in edit mode.
In short, apparently both the front-end Make Link > New Page code, and the back-end page fetching code, have algorithms for normalizing urls, and those algorithms are different.
2. The Make Link > new page option saves a link with a ?pid=[number] tacked on the end. Experimenting, this appears to be in order to tell the subsequent page creation operation which parent to put the page under. If this is the only rationale for this pid, then it should be harmless. But it looks odd, and if deleted, the subsequent page create puts the page in the wrong place, it seems
- Graham
My Issue tracking Id: GWZ1026