A new version of Liquid had been released and will be available as soon as the Drupal site updates (in less than 5 minutes).
Changes
There are many changes from the first hack. Some of the more important ones are listed here.
Modularization
The main problem with the old module was that any extension had to be made by patching. Therefore, the most important change has been to define a hook point interface and split out all but the base functionality into separate modules. Today liquid consists of four modules:
* Liquid Base - The base system which provides the infrastructure for wiki name-binding and access permissions.
* Liquid Access - Provides five more permission controls and three access levels that can be defined for each node in the wiki.
* Liquid MoveRef - Provides redirects and references to moved wiki pages (similar to those in media wiki)
* Liquid Filter - Provides the Media Wiki Markup Language filter.
The extension interface provided by Liquid Base consists of three parts
* Wiki API - Allows modules to respond to wiki events (insert, move, remove, update, validate).
* Page Handles - Allows modules to provide page handles for specific wiki id's. This makes it possible for other modules to provide special pages and similar functionality
* Access Controll - A similar interface to the one provided by the node module for the operations "wiki_move" and "wiki_manage".
Update to Drupal 5.1
The code has been upgraded to work with Drupal 5.1. The older version of Liquid has been deprecated and, unless someone is VERY persuasive, no further development will be done on that branch.
Internationalization
I havn't had the time to test this thoroughly, but Liquid should now support wiki id's in native languages. If you experience problems with this functionality, turn off "use path module" feature.
Hierarchical Wiki Ids
Liquid now support hierarchical wiki ids. You should turn on "set breadcrumbs" in order for this to be of any significant use.
Under development
Sandboxes
Sandbox functionality. I really don't think that this should be a part of liquid so I might release this under a separate project...
The Filter Module
The filter module is an awful hack as it is now. I'm halfway through rewriting it to support several features such as information on what pages link to what pages and so forth. This is done by letting the filter module provide an interface that all wiki filters are required to use. The new liquid_filter module also supports adding of new wiki filters through a hook interface.
An Appology
Many of you have noticed that I've been gone for quite some time now. I'm sorry. The reason is, however, simple: 24h/day is far to little. Although I've had some time to develop liquid, I haven't had the time to finish it up for a release. Until now that is. I still have more to do than I'd prefer to have, but I hope that I'll have the time to develop liquid in a somewhat more timely fashion.
Comments
Welcome back
No apologies necessary. We appreciate the effort you can spare.
Looking forward to testing it out.
And I'm looking forward to
And I'm looking forward to here your comments... :D
Welcome back!
Hey,
Nice to see ya back in action. Speaking of filters and wikis, have you had time to check out the wiki group, http://groups.drupal.org/node/2454 - PEAR Wiki filters?
I look forward to trying out the new stuff.
Kind regards,
Jim
I will look into it in
I will look into it in time... Right now I'm struggling with Drupals incredibly slow issue tracker... contemplating to place that on one of my own web servers...
Last time I dived into pear i made the conclusion that it was to early to be of any real use... but thats 10 months ago..
I also plan to focus on the framework needed to create and use wiki filters, not on the actual filters them selves. I don't have all the time in the world and would like to focus on the wiki infrastructure rather than dive into all those markup languages. The current markup support in liquid is a huge hack and will be dropped as soon as the filter infrastructure is ready someone is willing to start working on a separate "media wiki liquid filter" - project.
Regarding the MediaWiki Filter in Liquid
Please do not submit any more issues regarding MediaWiki Markup support in Liquid. All such requests has been denied with the following comment:
Suggestions regarding non markup language specific aspects on how to handle wiki markup (that is things that relate to the wiki markup infrastructure) are still VERY wellcome.
// Soren
Hierarchical Wiki Ids
Glad to see Hierarchical Wiki Ids in there. Can't wait to try them out.
XeQUae
----
http://www.xequae.com
First Impressions
Here are my frist impressions from installing.
Hierarchical Wiki Ids are great. This would be a filter change, but it would be nice if [[level/item]] would display 'item' instead of 'level/item'.
It looks like you have removed the wikipage node type. How does this effect wikis that are already using that type?? Also if there is no wiki page type and I want to apply settings to only pages inserted into the wiki, how do I set it up so that it doesn't apply to normal pages that are created.
I'm running into an error if I try to edit an existing wiki_page:
warning: array_merge_recursive() [function.array-merge-recursive]: Argument #2 is not an array in /home/www/tech/mm/modules/node/node.module on line 1990.
Looks great so far. I'll let you know if I see anything else. Let me know if you need any help with anything.
XeQUae
----
http://www.xequae.com
Move
It also looks like Move is updating the path, but not the Wiki ID, so the title ends up wrong.
XeQUae
----
http://www.xequae.com
Not sure what you mean...
Some Liquid Concepts:
* WID - the identifier for a wiki bound node. This is unique, has first letter in upper case, formated in UTF-8 and contains no spaces. Levels are separated with a slash.
* Wiki name - the last part of the WID. For instance level/item has name item
* Title - the node title.
The title has nothing to do with the WID. You can insert a node into the wiki under another WID than the title. If you move the node (that is, change it's WID), the title will not be modified. However, if you check Force ""-node titles to be the same as their Wiki ID node titles will be kept the same as the WID (except for underscore and space handling).
I believe that the move operation changes both paths (if you use and enable liquid for the path module) and WID. However, as stated earlier, titles are not touched unless you check the force option.
Did this solve your problem?
// Soren
That did it.
That was what the problem was. Since I had to add the new node as a page type, I didn't have that set for that type of node.
Thanks,
XeQUae
----
http://www.xequae.com
I'm not sure whether
I'm not sure whether level/item should be displayed as "item" unless you are on another page with id level/* ... could be confusing as there might be more than one page with the name item. This is, however, not a MediaWiki filter issue but should be incorporated into the filter infrastructure. I will look into this...
The wikipage node type has been removed since there is now functionality in Durpal to add new node-types dynamically. Wikis upgrading will run into a bunch of other problems as well... Since the whole module has been redesigned and the original module was in such poor shape, I had no intentions to keep backward compatibility. It is possible to upgrade, but requires some poking around in the database.
If you want to apply changes to wiki elements only, you could do one of three things:
* Create and use a special type for wiki nodes
* Access the wiki_name table to see whats in the wiki
* Use liquid_in_wiki($nid) to check whether a certain node is in the wiki
I've never stumbled into the error you are listing. Could you submit an issue and provide some more info?
By looking in node.module at
By looking in node.module at line 1990 i guess that you have the following problem:
After upgrading to Liquid 0.2, you no longer have a content type named "wikipage" (since you removed liquid_wikipage.module). When you try to edit the node, node_form tries to call hook_form on the wikipage node-type (through node_invoke) , fails (since the module is gone) and returns NULL. This NULL value is then used where an array is expected.
Generally, removing a content type definition from a site with nodes of the specific content type can cause all kinds of problems. You should probably have converted the nodes before removing liquid_wikipage.module.
I'm not sure this works, but you could try to add a new content type with type id "wikipage". Since type binding is done dynamically (on type id) the newly created type should take over the responsibility for your wikipage nodes and bring your site back to a "well defined" state.
None of these problems will occur on a fresh install.
// Soren
Error
I think the error is probably related to the fact that I don't have a wikipage type anymore. I'll look into it some more when I get some time.
I'm not sure what the best way to handle the level/item wiki ids when you are not in the level/* hierarchy. I would probably want to still display 'item', but I could see where users may want to display 'level/item' on pages outside of the hierarchy.
Another issue is that I didn't see an update script to add the wiki access table and had to do it manually. This isn't a big deal, but you should probably document on how to update this until an update script is working.
So what is the process of creating a special type for wiki nodes??
Thanks Again,
XeQUae
----
http://www.xequae.com
Error
The error is being caused because it is calling node_hook inside of node_invoke with a node type of wiki_page and returning false causing array_merge_recursive to be passed no second value. Do you want me to look further into this. Basically I just need to convert over the nodes to a different type.
XeQUae
----
http://www.xequae.com
I think you missed my note
I think you missed my note 1½ hour ago... this was what I guessed was your problem.
Instead of converting your nodes (which may be a little cumbersome), you should try creating a new content type with id "wikipage". It should fix your problem.
// Soren
Missed your note
Yeah, sorry about that, I somehow missed your note about the problem.
XeQUae
----
http://www.xequae.com
I think the error is
Isn't this what I just said? :D
Based on your comments, I think a setting allowing people to choose how links should be displayed is the best solution. Makes everyone happy!
Hm... liquid.install adds the wiki_access table (remember that the base module delivers the interface for all wiki access modules?) and liquid_access adds the wiki_access_level table. If your tables weren't added upon upgrade its because you didn't do a clean uninstall+install (or if you're using postgre).
Again, Liquid 0.2 isn't backward compatible. You should remove the old version completely before you install the new. If you don't, your on your own.
Creating new content types? Administer -> Content Management -> Content Types -> Add content type . Could it be any simpler? :D
// Soren
Setting
Yeah, I think a setting for how to display level/item would be great!!
Yeah, well, I was updating from my 5.0 version to your 5.0 version and didn't uninstall so I'm sure that is why the table didn't update correctly.
Cool, I'll add that new content type then.
Thanks Again, I think I'm close to getting everything working again.
XeQUae
----
http://www.xequae.com
Hope everything works out
Hope everything works out for you!
By the way, are you familiar with PostgreSQL?
I need someone to help me write the install code for PostgreSQL since I know practically nothing about that database.
Currently, PostgreSQL users will have to do their database installation on their own.
If you have time to take a look at this, just post the patch in the issue system.
Best regards
Soren
Sorry
I'm running MySQL on my server as well.
I just created a new content type with the name wikipage and everything is working great. Thanks for all of your work on this.
Can't wait to get the hierarchical ids on my main site. That is going to be cool and just what I've be waiting for.
If you need any help testing anything or any other help, I'll be glad to do what I can.
XeQUae
----
http://www.xequae.com
I have been waiting for over
I have been waiting for over a year for the return of this module, and had almost given up hope! You have made me a very very happy person today.
*Welcome back!*
:)
Happy to make you happy! If
Happy to make you happy!
If you have been waiting for over a year you must have started waiting about a month before I downloaded and installed my first copy of Drupal... thats what I call proActive!
Thanks. If you have any suggestions on features or similar, feel free to post suggestions in the issue system!
// Soren
Hehe, so I over exaggerate
Hehe, so I over exaggerate at times. It does feel like a year though.
PS. I submitted a bug.
Who doesn't exaggerate at
Who doesn't exaggerate at times? But it's fun to point out never the less. Hope I didn't hurt any feelings...
I've seen that bug before. I has been reported a number of times and was fixed a good 24 hours ago :D . Please download the current dev version (not the 0.1 release) and this should not be a problem anymore.
// Soren
Haha, don't worry, I'm made
Haha, don't worry, I'm made of harder stuff than whatever Superman is made out of. O.o
I'll download the dev version now and give it a good testing. :)
Thanks for your help!
Exaggeration
You even exaggerate about how much you exaggerate – now that’s what I call over exaggeration.
Welcome Back sorenp!
sorenp
I'm glad to see you back. I've used Drupal for a couple years now, but have used MediaWiki before and like a lot about that type of wiki. I'm looking forward to trying out your Liquid wiki Modules. But I may wait a while, since I'm rebuilding my main website with Drupal (before now I was using Drupal in folders, but had built my main website with NetObjects Fusion several years ago. I'm so pleased with the new Drupal 5.0 (and I'm excited about where this Liquid seems to be going, that I started converting my main website to Drupal. Best wishes in your endeavor. Another reason I'm writing this message is so that I can keep track of this thread in the "Recent Posts".
Thanks for all your hard work.
Stephen Winters
Winters Sewing
Winters Sewing: Upholstery Information Website
Working Great!!
I've been using this on my site for a couple weeks and it is really working great. The hierarchical wiki id's are great. I made one small change to mw_parser.inc so that an internal link such as:
[[Level 1/Level 2]]
would be displayed as just:
Level 2
If anyone is interested just change the line on either 709 or 710 to the following two lines:
$did=explode('/',$text);
$s .= l(array_pop($did), 'wiki/'.$wid->toURLString()) . $trail
One thing that might be cool is if you have a wiki ID like:
Level 1/Level 2/Level 3
and Level 2 is empty then it will redirect to Level 1. I haven't decided if I'm going to try and implement this or not yet.
If anyone wants to take a look, here is one of my more complete pages:
http://www.xequae.com/wiki/Nightmare_Before_Christmas/Neca/6_inch
Thanks again for all the cool changes!!
XeQUae
----
http://www.xequae.com
is liquid avaliable for download?
sorry for havning not read prevoius posts, but can someone tell me if liquid is currently avaliable for download, or if it is still in beta?
I think the current release
I think the current release is a development release, but I've been using it and haven't had any issues at all with it.
XeQUae
----
http://www.xequae.com
Anything new on the Liquid
Anything new on the Liquid front??
BTW, this module is really working out great. You did a great job on putting this together.
XeQUae
----
http://www.xequae.com
A useful block?
Hi there
I am a total Drupal novice, but I have installed the Liquid Wiki module and I have to say it really is fantastic and I am very pleased with it - so congratulations to sorenp, you've done a fantastic job! I am using it as a development tool for some young people to set up their own non-profit voluntary organisation and they were just bowled over how easy to use it is.
The one though that struck me and forgive me is this has already been suggested, but could anyone out there program a block that listed latest changes to wiki nodes? It would bit a little like the 'latest blog entries' post, but (I'm guessing) based on the revisions of nodes. It would seem a really useful block so that when someone makes a change, it can be easily reviewed by others, rather than them having to email each other.
Best wishes
Simon
Commenting for tracking...
Any new news on this project at this point in time? The last post by Soren is a bit dated.
Thanks.
Well
One of the cool things fo the moment is that, in my opinion, Liquid is now pretty much a fully functioning wiki, once you add diff module to your drupal install. Easy, self contained, Good stuff! Thanks Soren!
backlinks
Anyone know how to make http://drupal.org/project/backlinks module work with Liquid?
http://socialsynergyweb.net/cgi-bin/wiki/HomePage
Check out Flexifilter
This mod seems to be dead, it took me so long to find the newer options I thought I'd put this here.
http://drupal.org/project/flexifilter
http://drupal.org/project/flexifilter_cite
http://drupal.org/project/wikitools
Drupal needs to re-index their search, maybe? Anyways, the flexifilter + wititools + cite combo should cover things pretty well ;)