Forum OpenACS Development: Re: Modifying xowiki page content from a script
To check, whether my guess is right, browse to http://YOURMACHINE/xotcl/cache?cache=xotcl_object_cache
and flush the cache, and retry.
If this helps, then do in your script
::xo::clusterwide ns_cache flush xotcl_object_cache ::$item_id
(and maybe as well with the revision_id, if you fetch items in your program via revision_ids) after the update.
I'm not sure if this is the way to go, I'm trying to update the content of every Page Instance, is it better to do a new revision every time?, is there a way to get the attributes from the Page Instance, setting the value the way I want and putting it back, treating the Page Instance as an object.
Thanks in advance,
You can do it like this
set page [xowiki::Package instantiate_page_from_id -item_id $item_id]
set instance_attributes "ATTRIBUTE ATTRIBUTE_value ...."}
$page set page_template $tmp_item_id
$page set instance_attributes $instance_attributes
how do you solved the first problem ?
The first problem was solved with doing the flush like Gustaf said.
in the "stable branch", the best thing is to load the page instance (or FormPage) object, read/write the "instance_attributes", and call "save" on the object. This cares about everything. The cache-page from my last posting is quite convenient to see, what is stored where in these objects.
I am working on improved support for FormPages, but the best thing is to wait for the new stuff until the release in case you are working on a product.