Forum OpenACS Development: Re: A small question about xowiki
What did you change? Did you add <property name="object_id">@item_id@</property>?
I also modified index.vhu querying cr_items to get item_id given it:$page_name and I would to know the better way to get it.
About the "magic": xowiki offers a higher flexibility for using template files compared to other packages. Furthermore, while most packages on OpenACS use purely function-based templates (e.g. "edit"), xowiki uses an object oriented resolution based on objects and methods (the template for "edit" for different pages or types of pages can be different).
The methods responsible for rendering are defined in xowiki-www-procs.tcl. The method for viewing pages is the method "view". xowiki does not pass blindly global variables to the template, but names explicitly all variables passed to the templates (see the invocation of the method "return_page"). This is done actually to to reduce the level of magic. For every method you find there all variables that ones can depend on in the template file.
I will add the passing of the property as you suggested to xowiki. Do you have an example, where we can the included "portlet" you are mentioning in action?
From there when you view an object, i.e. a news, a faq, a xowiki page, a forum, you get an includelet that enables you to tag, rate, categorize the object.
I have taken the idea and most of the code from the cop-base and cop-ui packages.
If you enter the community 'Sistema organizzativo' you can also view an example of the tags presented as a tag cloud.
The tag-cloud looks nice, but there seems to be in this installation a problem with pagination:
It occurs only when you filter the documents with ::xowiki::Page. Apparently the double colons disturb the pagination procs.
Being in a hurry I corrected my local version replacing the :: with __ in my query and now it works, but I think that the problem lies in the paginator.