Forum OpenACS Development: Re: Modifying xowiki page content from a script

Collapse
Posted by Alvaro Rodriguez on
It worked!

Gustaf,
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,

Collapse
Posted by Byron Linares on
If I’m understanding correctly, what you want to do .
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
$template save
$template initialize_loaded_object

try it,

how do you solved the first problem ?

Collapse
Posted by Alvaro Rodriguez on
Right, I was getting kind of confused, but of course this would be the right way of doing it, creating a new revision every time.

Thanks,

The first problem was solved with doing the flush like Gustaf said.

Collapse
Posted by Gustaf Neumann on
you had any doubts?

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.

-gustaf neumann