Forum OpenACS Development: And now, how do we go back to the original page?

Collapse
Posted by Pablo Moreno-Ger on
Following the suggestions received here we integrated the wiki into a custom package that we are working on so that blocks of text can be edited using xowiki (using adp includes).

Here is what we are trying to achieve:

1. Add edit buttons to the adp page that has the wiki includes that goes to the edit page. Ideally the edit page would show up in the URL space of the package itself and not within the xowiki url space (We have already achieved this following Gustaf's suggestion except for the URL space).

2. Pass a return URL to the xowiki edit page that we can use to bring us back to the page we were on before the edit.

For #2 Ham suggested we changed edit.tcl to add that param and modify the form when it is created like this:

set form_class [$object_type getFormClass]
$form_class create ::xowiki::f1 -volatile \
-data $page \
-folderspec $folderspec \
-submit_link $return_url

Unfortunately, it is not working. Even if we change the submit_link original definition in xowiki-form-procs.tcl, it always goes back to "view" after we edit.

Something is instructing it to do that and although it is probably obvious, we don't find it. Can any one help?

(commenting out line 160 didn't affect the behaviour, since we are dealing with plain pages)

Collapse
Posted by Hamilton Chua on
I'm not sure if you got this but I also suggested that you add a return_url to the query section on ad_page_contract at the top of edit.tcl

ad_page_contract {
This is the edit page for notes.

@author Gustaf Neumann (mailto:gustaf.neumann@wu-wien.ac.at)
@creation-date Oct 23, 2005
@cvs-id $Id: edit.tcl,v 1.13 2006/05/19 22:21:30 gustafn Exp $

@param item_id If present, item to be edited
@param name Name of the item
@param object_type the source class providing the data source for filling the form
} -query {
item_id:integer,optional
name:optional
last_page_id:integer,optional
folder_id:integer,optional
{object_type:optional ::xowiki::Page}
page_template:integer,optional
{return_url "view" }
}

By line #60, you should be referring to this line of code

### provide a nice link
my set submit_link [::xowiki::Page pretty_link \
-package_id [$data set parent_id] \
[$data set name]]

Also your edit link should ressemble edit?item_id=0000&return_url=/your_return_url

Also, please remember to go to acs-admin/apm and reload the changes on xowiki. Your changes to the proc will not take effect until you restart the instance or reload the changed tcl files.