Introducing the amazing new Liferay wiki (part 2)

As promised, I want to finish the review of the new features of the wiki portlet. This time I'm not going to write much and will let the screenshots speak for themselves:

Diff view of changes betweeen versions.

Here goes a feature that we've waited for for a long time:

Click the button and you get:




Nice, right? You have to thank Bruno for it.

Subscriptions to changes

It's now very easy to keep up to date of changes made to the wiki either by subscribing to a single page or to a all the pages of a wiki (aka node). You can subscribe to a page from the pages Properties table and to the node from the Recent Changes page:



Showing images

You can include images published anywhere in the Internet by using the URL. Note how simple and easy to remember is Creole's syntax specially when compared to WikiPedia's syntax:


And here is the result:



Attachments

Some times you want to include an image that is not yet published somewhere else. Or you may want to attach some other type of file to the wiki page. Welcome attachments!


No images yet. Let's upload some:



There you go:


When editing a page you get a list of all files attached to the page (with links to preview the image if desired), so showing an image is as easy as copying the image name between {{ and }} signs.



Table of contents, inclusion of pages and other JSPWiki plugins

One of the nice characteristics of JSPWiki is that it has lots of plugins. While I haven't  tested them all and can't ensure they work, I've tested two of the most useful ones, including pages and table of contents. Note that Creole has a defined syntax to include plugins which is quite easy to type and does not conflict with other constructs. For example:

<<TableOfContents>>
 

Here is the result:


To include a page, it's necessary to use JSPWiki's InsertPage plugin (although I plan to support an easier syntax in the future):

<<InsertPage page='IncludedPage'>>

Regarding plugins, if you test a JSPWiki and it fails, please let me know.

Optimistic locking

Have you ever spent some time writing some text and for some reason lost it? Isn't very very annoying?. How about if you don't notice and someone overwrites your wiki changes. That can't happen anymore in Liferay's wiki:



Children pages

This is one of the last features added and is one of my favorites. In wiki.liferay.com we often have to create related content that spans several pages. Wouldn't it be nice for the wiki itself to handle these relationships? Here you go:

A nice detail is that when visiting a children page you get a breadcrumb showing its parents above the title:



Tag based navigation

The last feature is very simple, but nevertheless very useful. Whenever a page has several tags, these tags are shown as links that can be clicked to see a list of all pages with the same tag:

And when clicking, for example, the "creole" tag you get:


Future

My plans for the future of the wiki are to make it as robust and easy to use as possible. I'm sure there are lots of features that could be added (I have lots of ideas myself), but sometimes adding more features makes an application harder to use in general. So I want to be cautious and spend the time doing little improvements to make sure it's a pleasure to use the current functionalities rather than making it become a fat bag of features :)

Having said so, keep the suggestions coming :)

Blogs
Great blog post Jorge... Wiki is looking awesome!

One thing (unrelated to Wiki, but related to your posts) is that when you use the WYSIWYG editor to references images in the IG... it creates broken links in the RSS item.

e.g.
/image/image_gallery?img_id=510939&t=1203883426683

No host url is added... we should fix that. Not sure if it should be handled in the editor... or in the feed generator.
Hi Jorge,

I know this is a little off topic but could you let me know who is developing the Mail portlet? My developers are currently looking at integrating with Exchange 2007 and don;t want to re-invent the wheel. It may be that we can contribute our client back to the community as a starter.

Thanks,
@Luke: I don't think anybody is working on that feature right now. So go ahead and implement it. If you want to contribute you have information about it in http://wiki.liferay.com/index.php/How_to_contribute_to_Liferay#Contribute_with_new_features

In particular, I would recommend asking your developers to take a look at http://wiki.liferay.com/index.php/Liferay_Core_Development_Guidelines
This looks really great!
One feature I really love in MediaWiki ist the possiblity to edit a single paragraph or chapter of a page.
Is this possible?
Hola Jorge, te escribo en español porque mi inglés no es muy fluido que se diga, disculpas; pero bueno ya que me interesaría mucho está funcionalidad, no conozco ningún wiki que tenga está característica, pero por ejemplo hay nombres propios como nombres de paises, ciudades, personajes, etc, en el caso que yo buscara en wikipedia definiciones de El Salvador (mi país), si quiero una definición en ingles voy a en.wikipedia.org/wiki/El_Salvador y en español a es.wikipedia.org/wiki/El_Salvador que son 2 instalaciones independientes de MediaWiki; si en el portal tuviera un wiki con definiciones de nombres propios y ofrezco multiple idiomas, sería bueno tener la capacidad de ofrecer WikiWords disponibles en todos los idiomas que el portal ofrece y mostrar el contenido basado en el idioma preferido del visitante; así como actualmente se puede hacer con los artículos con contenido "localizado", por lo demás dejame decirte que se nota el excelente trabajo que estás haciendo y quizas está funcionalidad que te comento es más de wishlist; pero me gustaría que la pudieras considerar.

Salu2.
Hi Jorge,
these are great news.
How deep is the integration of JSPWiki?
is there a way to use a jsr 170 compliant content repository to store the pages?

Great work, thanx
Gerfried
@Gerfried: we only use JSPWiki's engine but the storage is managed by Liferay. That means that just as you can do with any other Liferay portlet you can swap the service layer with your own that uses JSR-170 and keep all other funcionalities intact.

BTW, what would be the biggest benefits that you see in using a JSR-170 storage? I ask because I see some controversy lately about it so I'd be glad to learn the reasons of a promoter of it.
Hi,

actually it would be nice to have all content data in a common repository and not spread out over various tables.
We would like to integrate our product as storage provider for all types of content, and one of the preferred ways of doing that would be using jsr 170 as the base technology.

regarding JSPWiki: we already have implemented a JSPWiki PageProvider, so it would have been easy to integrate.
Jorge you have done great job ..!
How about the Infobox.. just like in wikipedia with image and few short information on right-hand side
and also [Hide] in contents I had added this to my html-wiki using small script ..
I'd like to see it in classic-wiki

thanks,
Nice !

I've a ask :

We currently have a wik made upon JSPWIKI. Will it be possible to import it in Liferay Wiki ?
@Christophe: You can copy & paste all of your pages into Liferay Wiki and it'll work. Also I had in mind writing batch importers from the most popular wiki products, so I could add JSPWiki to the list. Do you know if it has an export feature to a file that we could import?
I think there's an export to WordPress.

But, isn't Liferay Wiki already based upon JSP Wiki ?

So why is it not possible to have something like a bulk import ?
Link to Wiki pages with HTML editor?

I apologize if I missed this elsewhere. With all of your improvements, will it now be possible to link to other wiki pages from withing FCKeditor (or other WYSiWYG editors)?

This is important for less technical users that would not typically use Creole or other wiki syntax.
@Fred: that's already possible since we added friendly URLs. Just create a regular link and use the title of the target page name as the link URL.
Thanks, I see that now - Protocol <other> and URL = PageName. May I suggest a new feature then, if this is the right place to do so?

It would be more intuitive to find a list of existing wiki pages using the fckEditor Browse Server function. Perhaps Wiki could be a Resource Type, with available nodes listed as folders, and wiki pages listed within (similar to the current navigation for Documents, Images and Pages).

This would eliminate the need to remember the wiki page a user is trying to link to, and help avoid typos and some confusion. Please advise if this would be better addressed as a Jira issue or forum post.
Hi Fred,

Sounds good, do you have the knowledge and time to give it a try yourself?
Hi Jorge,

I could always find time for something as worthwhile as Liferay, but have zero knowledge of coding or database usage. I can write well though, and look forward to contributing to the community wiki as I learn more.

Once v5 is released I'll be making Liferay instances and virtual hosts available to non-profits and not-for-profits in this area at no charge, as a community service. I was thinking of how valuable wikis could be for them, but it would really have to be drop-dead easy to use for beginners.

Certainly it's clear that Liferay continues to lead in that area!
The Wiki is getting better and better..thanks!
I have a problem and a couple of questions though

How do you delete pages?
How do I add the plugins?

My problem question is posted here:
http://www.liferay.com/web/guest/community/forums/-/message_boards/message/932648

thanks!