[Solved... ish] Need to Somehow Enable Wikification in Plone 5

If you are looking for a Wiki then use a Wiki.
Plone was never a good wiki, it will never become a good wiki.

-aj

@merpdotcom wiki-support was removed in Plone 5. https://pypi.python.org/pypi/wicked (https://github.com/plone/wicked) was the package that provided the feature. Problem is, the product was never updated to work with dexterity-objects.

We don't need advanced wiki features, just the basics. It only needs to be an adequate wiki, it does not need to be an especially good wiki. The way it worked previously in Plone was just fine for this scope.
@pbauer How difficult would it be for me to update wicked to work with Dexterity objects?
Is it as simple as my going through and swapping out Archetypes paths and variable names for Dexterity types? Or is it a much more complicated overhaul?
I'm more a sysadmin than coder, but in the Plone IRC claims: "creating Dexterity content types is dead easy TTW and in file system", when discussing trying to get wicked working with Plone 5.
But that is from someone I believe is writing code for Plone all the time, so "easy" is a very relative statement. :slight_smile:
It was years ago that I was involved in enterprise level Java development primarily. I have never really done much more than very simple snippets in Python. The beauty of Zope/Plone all these years (since 1999 as Zope, and 2004 with Plone added), is that I didn't have to write code to make it work wonderfully with a lot of flexibility. It had the broad range of features (and the far better security), that was needed for many (more than 20+ different) small community sites to thrive, with only one volunteer sysadmin.
If it is just a tedious process of finding and swapping out such segments, I could set aside a few hours here and there, throughout the week, to chisel away at it. But if it requires a fully comprehensive coding commitment, that is unfortunately beyond my resources.
Thoughts?
Thanks!

For completeness, I do want to point out that you always have the option of paying someone else to do the work if you don't want to do it yourself ...

1 Like

Any idea what that would cost for something like this specific feature? These are tiny non-profit communities. They have some funds from Kickstarter and Patreon, but very limited. I've been trying to help them out (for free), since they are friends.

Implementing this could be an interesting (re)application of the community funding model we tried successfully for LDAP pagination

1 Like

I am asking just to be sure:

Could you maybe use some of the other alternatives:
http://docs.plone.org/adapt-and-extend/config/markup.html

I am currently looking into if it is possible to sync https://stackedit.io with plone (would be great, since it would enable 'offline editing'. (this will be a slow moving project though)

@espenmn as I understand it, wicked isn't just markup; it also transforms links to nonexistent content into links to the required add form.

1 Like

@tkimnguyen, correct, that is one of the nice basic features of wicked.

I just took a look to it and I would recommend you to stay away from it: wicked is a very old project (more than 10 years old) and it could be more complicated to fix it than to write a complete new version Dexterity only, and Plone 5 compatible.

follow @tkimnguyen advice and try to find funding for that before; I think this could take around 40-80 hours of work for sure.

look for developers outside US and Europe if your budget is limited.

A birdy told me it might be doable in 4 hours as a new transform.

2 Likes

other than a markdown editor, the only other think a wiki does is the method to create a page via unknown link... but is that really the best way? It has problems with CSRF protection due to it's write on click approach.

github wiki doesn't seem to support it - https://help.github.com/articles/adding-wiki-pages-via-the-online-interface/.
Maybe there is another way to add a new page via keyboard (which seems to be your goal)

non-existent pages would just link to an add form I would think.

A simple wiki would just be a transform that:

  • transformed wiki links to full links
  • transformed non-existent links to a custom add form
2 Likes

@vangheem I like the idea of an add form on broken links, but instead of the transform for wiiki links we can just support markdown and a generic feature which gave more options for broken links. ie drop the Wiki link transform... does any modern wiki support the wiki link convention of ThisIsALink?

For example, if the editor types [mylink] or [mylink](mydoc) and saves it and clicks on that link they get a link to a plone 404 page. Instead of saying the normal plone 404 page, if the user is logged in with enough permission we replace it with a 'do you want to add a page called "mydoc"? or add a redirect to another page?'.
That means there is no need for a special wiki link syntax or a special behaviour in a folder that needs to be turned on like wicked did. Instead its a UI enhancement for all users of Plone.

1 Like

No, please! The main Wiki feature is who did what at which hour, with a complete history. Simple text editor (no html!) and a clear way to see who did the modification, where and when.

1 Like

awesome! then fixing it is totally doable in the current state and it could be easy to fund it.

BTW, birdy, did you took into account the time needed to setup the test builds and clean up the package to make maintenance easier and future-proof?

wicked has hard dependencies on Archetypes also, so you can expect some surprises on API incompatibilities.

good luck on that!

I might be a mediocre developer, but I consider myself a pretty decent project manager.

that is achievable by enabling plone.app.versioningbehavior as in any other Dexterity-based content type.

1 Like

Where can I find info on how to make a new transform ( I would like to add 'Markdown Extra' (it has tables, footnotes etc) https://en.wikipedia.org/wiki/Markdown_Extra . )

@espenmn in the manual. http://docs.plone.org/develop/plone/misc/html.html

After a little digging around: it looks like this might already be avalable in Plone, but not enabled.
All one has to do is to enable the plugins in

.markdown(orig, extensions=['markdown.extensions.fenced_code',
'tables', 'extra'])

No idea why this is not enabled by default.

1 Like

I'm assuming this is different from text/x-web-markdown right?
Reading the Wikipedia entry, would "Markdown Extra" be closer to wiki style text markdown than the current default included list?

Is there a reason it is disable? Security? Stability? Other?

@espenmn how is that enabled?

I see that I do have the file markdown_to_html.py in my /opt/plone/buildout-cache/eggs/Products.PortalTransforms-2.2.1-py2.7.egg/Products/PortalTransforms/transforms