Thanks Bobby. Antonio Gallardo
El Miércoles, 16 de Octubre de 2002 08:53, Bobby Mitchell escribió: > Bobby Mitchell wrote: > > Antonio Gallardo Rivera wrote: > >> I am trying to start the example of mod-db using PostgreSQL. > >> > >> Currently, I have the autoincr, working, but the problem now is > >> inserting a new row in the table "groups" - the easier one ;). > >> > >> In the database.xml there is defined as: > >> > >> <table name="groups"> > >> <keys> > >> <key name="gid" type="int" autoincrement="true"> > >> <mode name="auto" type="autoincr"/> > >> </key> > >> </keys> > >> <values> > >> <value name="gname" type="string"/> > >> </values> > >> </table> > >> > >> Also.... > >> > >> <table-set name="groups"> > >> <table name="groups"/> > >> </table-set> > >> > >> In the userlist.xsp there is a form that handle the new-group action: > >> > >> <sqltblrow> > >> <gname> > >> <form> > >> <input type="text" name="groups.gname" size="20" maxsize="20"/> > >> <input type="submit" name="add-group" value="new group"/> > >> </form> > >> </gname> > >> </sqltblrow> > >> > >> But when I try to Add a new group, It cannot get the groups.gname > >> parameter. It store a null. In the sitemap.log I found the following: > >> > >> Current Sitemap Parameters: > >> LEVEL 2 > >> PARAM: 'add-group' VALUE: 'new group' > >> PARAM: 'groups.gname' VALUE: 'wsqa' > >> LEVEL 1 > >> PARAM: '../0' VALUE: 'user-list' > >> PARAM: '../1' VALUE: 'user-list' > >> > >> Thread-9/DefaultComponentFactory: ComponentFactory creating new > >> instance of org.apache.cocoon.acting.modular.DatabaseAddAction. > >> Thread-9/DefaultComponentFactory: no logger attribute available, > >> using standard logger > >> > >> Thread-9/AbstractComplementaryConfigurableAction: (Re)Loading > >> database.xml > >> Thread-9/DatabaseAction: modeTypes : {1=others, 2=attribute, 0=autoincr} > >> Thread-9/DatabaseAction: i=0 > >> Thread-9/DatabaseAction: requested mode was "autoincr" returning > >> "autoincr" > >> Thread-9/DatabaseAction: i=1 > >> Thread-9/DatabaseAction: requested mode was "others" returning "others" > >> Thread-9/DatabaseAction: query: INSERT INTO groups (gname) VALUES (?) > >> Thread-9/DatabaseAction: Trying to set column groups.gname from > >> request using getAttribute method > >> Thread-9/DatabaseAction: Setting column groups.gname [0] null > >> Thread-9/DatabaseAction: ====> row no. 0 > >> Thread-9/DatabaseAddAction: Automatically setting key > >> Thread-9/DatabaseAction: Setting column groups.gname[0] to null > >> Thread-9/DatabaseAction: Could not select output mode attribute:null > >> Thread-9/DatabaseAction: Setting column groups.gid[0] to 10 > >> Thread-9/DatabaseAction: Could not select output mode attribute:null > >> Thread-9/DatabaseAction: Could not select output mode attribute:null > >> Thread-9/DefaultComponentFactory: ComponentFactory decommissioning > >> instance of org.apache.cocoon.acting.modular.DatabaseAddAction. > >> > >> Also, the sitemap is: > >> > >> <!-- add own new group --> > >> <map:act type="req-params"> > >> <map:parameter name="parameters" value="add-group > >> groups.gname"/> > >> <map:act type="mod-db-add"> > >> <map:parameter name="table-set" value="groups"/> > >> </map:act> > >> </map:act> > >> > >> > >> Please help, > > > > Check the documentation at User Documentation/Actions/Database. Read > > closely the sections "How to obtain Values" and "How to store Values > > e.g. in your Session". > > > > It's not completely clear, but it helps. Here are some examples from > > what I have done so far. I hope they are right. > > > > 1. Declaration of the modular action in the sitemap: > > <map:action name="mod-db-add" > > src="org.apache.cocoon.acting.modular.DatabaseAddAction"> > > <!-- <throw-exception>true</throw-exception> --> > > <!-- If this is set false, when the action fails it does not > > produce an error > > <input>request-parameter</input> <!--This input > > module has to be described in cocoon.xconf. --> > > <output>session-attribute</output> > > <!--Ditto for the output module--> > > </map:action> > > 2. Define <map:act/> in the sitemap: > > <map:act type="mod-db-add" src="optional src" > > > <map:parameter name="descriptor" value="database.xml"/> > > <map:parameter name="table-set" value="<"table-set > > value"/> > > <!-- You can also map parameters for the action, such > > as <map:parameter name="throw-exception" value="true"/> --> > > </map:act> > > > > Hope this helps. > > Forgot a couple of things. > In the descriptor file: > <value name="ID" type="int"> > <mode name="session-attribute" > parameter="org.apache.cocoon.components.modules.output.OutputModule:ID[0]" > type="attrib"/> > <!-- if others-mode=attrib, use this one --> > <mode name="request-parameter" parameter="ID" type="request"/> > <!-- if others-mode=request, use this one --> > <mode name="something" parameter="ID" type="all"/> > <!-- I don't care what others-mode is, always use this one --> > </value> > > > <mode name="request-parameter" parameter="PREFIX" type="request" > > <table-set name="MAILLIST-upd"> > <table name="NIAC_MAILLIST" others-mode="request"/> > </table-set> > Here others-mode request is saying "get the values from however I > defined type=request in the mode name". > Other values are: attrib - get values from attributes; session if > <input/> is session, request if <input/> is request. others -- I'm not > sure. > I could be absolutely wrong on this one, but it seems to work. > > It would be really nice if we could list all combinations of values with > a short description(not too short) about what each setting accomplishes > and put it in the docs for the mod-db actions. > > Bobby > > >> Regards, > >> > >> Antonio Gallardo. > >> > >> --------------------------------------------------------------------- > >> Please check that your question has not already been answered in the > >> FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> > >> > >> To unsubscribe, e-mail: <[EMAIL PROTECTED]> > >> For additional commands, e-mail: <[EMAIL PROTECTED]> --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>