You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by albert bertal <al...@gmail.com> on 2007/03/26 18:22:44 UTC

the best authentication approach, cocoon guru needed!!!!

  Hi :

  I need to develop a web application with user authentication. I was
reading the "authentication framework" docs at cocoon's documentation and I
liked that authentication approach. But I've just read the Cocoon's
"authentication framework" is now deprecated, so... which is the best
approach to manage user's authentication right now ( 26, March 2007)? is
there any sample about that? where?.

 Thanks a lot!!!. Please, help me to choose the right approach before
getting hands dirty!!!!.


  Albert

Re: the best authentication approach, cocoon guru needed!!!!

Posted by bart remmerie <re...@gmail.com>.
Dear Albert,

You might want to take a look at Acegi, a security framework that
integrates with Spring.

I've had it working in a cocoon-hibernate-spring environment and I was
surprised by how easy it was to get it up and running.

Not being a security-framework-expert, I think it offers sufficient
flexibility & features to take a look at it.

kind regards,
bart


>  From: albert bertal [mailto:albertbertal@gmail.com]
> Sent: 26 March 2007 17:23
> To: users@cocoon.apache.org
> Subject: the best authentication approach, cocoon guru needed!!!!
>
>
>
>   Hi :
>
>   I need to develop a web application with user authentication. I was
> reading the "authentication framework" docs at cocoon's documentation and I
> liked that authentication approach. But I've just read the Cocoon's
> "authentication framework" is now deprecated, so... which is the best
> approach to manage user's authentication right now ( 26, March 2007)? is
> there any sample about that? where?.
>
>  Thanks a lot!!!. Please, help me to choose the right approach before
> getting hands dirty!!!!.
>
>
>   Albert


-- 
Bart Remmerie

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: the best authentication approach, cocoon guru needed!!!!

Posted by albert bertal <al...@gmail.com>.
  Hi again !! :

  Billion of thanks to Warrell and Bart by your help. I can't use Spring
(it's not up to me take that decisions), i can only use Cocoon, so i'll take
Warrell's help and i'll try the new Portal Block. I'm reading about it at
Cocoon's docs right now to see if it meets all my requirements. Do you know
if the i could change all the look & feel freely? E.G : could i change the
look & fell of the tabs easily? could i not to show the title bar of a
coplet easily? could i not to show minimize & maximize buttons of a coplet
easily?

  Thanks a lot again by your help!!.


albert




2007/3/27, Warrell <wa...@iquo.co.uk>:

>  Hi Albert,
>
> I would not call myself a cocoon guru but I have faced this dilemma. The
> first time I didn't use any framework at all but referenced an ActiveX
> control in IE to return the windows user id which I tracked in an Oracle
> table.The second time I was using the Cocoon Portal so it was an obvious
> choice to use the new framework and this worked well using the
> http://osoco.sourceforge.net/cowarp/ stuff from Carsten Ziegler. I
> remember I did struggle and it was not totally clear to me how it all worked
>
> More recently I have reverted to the deprecated framework which satisfies
> my requirements for a small project. So, I would say it's down to your
> requirements. I'm sure it is worth investing the time in the new framework
> as I would expect it to better support LDAP authentication.
>
> Hope this helps,
>
> Warrell
>
>  ------------------------------
> *From:* albert bertal [mailto:albertbertal@gmail.com]
> *Sent:* 26 March 2007 17:23
> *To:* users@cocoon.apache.org
> *Subject:* the best authentication approach, cocoon guru needed!!!!
>
>
>    Hi :
>
>   I need to develop a web application with user authentication. I was
> reading the "authentication framework" docs at cocoon's documentation and I
> liked that authentication approach. But I've just read the Cocoon's
> "authentication framework" is now deprecated, so... which is the best
> approach to manage user's authentication right now ( 26, March 2007)? is
> there any sample about that? where?.
>
>  Thanks a lot!!!. Please, help me to choose the right approach before
> getting hands dirty!!!!.
>
>
>   Albert
>

Re: SOLVED Problem with Binding of fd:multivaluefield

Posted by Alexander Malic <Al...@workflow.at>.
hi again,

after some debugging in cocoon i realized that the multi-value issue was 
not working because the fact that the row-path must not be an attribute.

<fb:multi-value id="selectedGroups" parent-path="selectedGroups" row-path=
"group/@uid"/> 
->
<fb:multi-value id="selectedGroups" parent-path="selectedGroups" row-path=
"group"/> 

regards,
alex




Alexander Malic <Al...@workflow.at> 
27.03.2007 15:15
Please respond to
users@cocoon.apache.org


To
users@cocoon.apache.org
cc

Subject
Problem with Binding of fd:multivaluefield







hi there, 

i have a form with a repeater containing a multivaluefield. 

i noticed following issues: 
        - when i submit the form, the selected items (the ones in the 
right select-multiple-box) are not selected 
        - when i select them manually before submitting only the last 
value is saved 

below is my sample 

regards, alex 

btw: i'm using cocoon 2.1.10 

here's the snipped of the repeater in the definition 
            <fd:repeater id="selection"> 
                    <fd:widgets> 
                            <fd:field id="selectedClient"> 
                                    <fd:datatype base="string"/> 
                                    <fd:label><i18n:text>
ta_createRebookings.job_selectedClient</i18n:text></fd:label> 
                                    <fd:selection-list/> 
                                    <fd:on-value-changed> 
                                            <javascript> 
                                                    var 
widget=event.source; 
                                                    var 
gWidget=widget.lookupWidget('../selectedGroups'); 
 
 if(widget.getValue()!=null){ 
 gWidget.setState(ACTIVE); 
                                                            var 
client=PoOrganisationService.getClient(widget.getValue()); 
                                                            var 
orgHierarchy=PoOrganisationService.getOrgHierarchy(client); 
                                                            var 
topLevelGroup=orgHierarchy.getTopLevelGroup(); 
                                                            var 
clientsGroups=PoOrganisationService.findAllChildGroupsFlat(orgHierarchy.getTopLevelGroup()); 

 gWidget.setSelectionList(clientsGroups,"UID","shortName"); 
                                                    } else { 
 gWidget.setState(INVISIBLE); 
                                                    } 
                                            </javascript> 
                                    </fd:on-value-changed> 
                            </fd:field> 
                            <fd:multivaluefield id="selectedGroups" state=
"invisible"> 
                                    <fd:datatype base="string"/> 
                                    <fd:label><i18n:text>
ta_createRebookings.job_selectedGroups</i18n:text></fd:label> 
                                    <fd:selection-list/> 
                            </fd:multivaluefield> 
                            <fd:row-action id="deleteSelection" command=
"delete"> 
                                    <fd:label><i18n:text>po_delete
</i18n:text></fd:label> 
                            </fd:row-action> 
                    </fd:widgets> 
            </fd:repeater> 
            <fd:repeater-action id="addSelection" command="add-row" 
repeater="selection"> 
                    <fd:label><i18n:text>po_add</i18n:text></fd:label> 
                    <fd:on-action> 
                            <javascript> 
                                    var widget=event.source; 
                                    var 
repeater=widget.lookupWidget('../selection'); 
                                    if(repeater.getSize()>0){ 
                                            var 
lastRow=repeater.getRow(repeater.getSize()-1); 
                                            var 
cWidget=lastRow.lookupWidget('selectedClient'); 
                                            var 
allClients=PoOrganisationService.loadAllClients(); 
                                            allClients.add(0,null); 
 cWidget.setSelectionList(allClients,'UID','name'); 
                                    } 
                            </javascript> 
                    </fd:on-action> 
            </fd:repeater-action>


here's the template-snippet: 
            <table> 
                    <tr> 
                            <th><ft:repeater-widget-label id="selection" 
widget-id="selectedClient"/></th> 
                            <th><ft:repeater-widget-label id="selection" 
widget-id="selectedGroups"/></th> 
                            <th/> 
                    </tr> 
                    <ft:repeater-widget id="selection"> 
                            <tr> 
                                    <td> 
                                            <ft:widget id="selectedClient"
> 
                                                    <fi:styling 
submit-on-change="true"/> 
                                            </ft:widget> 
                                    </td> 
                                    <td> 
                                            <ft:widget id="selectedGroups"
> 
                                                    <fi:styling list-type=
"double-listbox"> 
                                                            
<fi:available-label><i18n:text>
ta_createRebookings.job_selectedGroups_Available
</i18n:text></fi:available-label> 
                                                            
<fi:selected-label><i18n:text>
ta_createRebookings.job_selectedGroups_Selected
</i18n:text></fi:selected-label> 
                                                    </fi:styling> 
                                            </ft:widget> 
                                    </td> 
                                    <td><ft:widget id="deleteSelection"
/></td> 
                            </tr> 
                    </ft:repeater-widget> 
            </table> 
            <ft:widget id="addSelection"/>


and here's the binding-snippet: 
        <fb:repeater id="selection" parent-path="selections" row-path=
"selection"> 
                <fb:javascript id="selectedClient" path="client/@uid"> 
                        <fb:load-form> 
                                var 
allClients=PoOrganisationService.loadAllClients(); 
                                allClients.add(0,null); 
                                java.lang.System.out.println("allClients: 
" + allClients); 
 widget.setSelectionList(allClients,"UID","name"); 
                                widget.setValue(jxpathPointer.getValue()); 

                        </fb:load-form> 
                        <fb:save-form> 
                                jxpathPointer.setValue(widget.getValue()); 

                        </fb:save-form> 
                </fb:javascript> 
                <fb:multi-value id="selectedGroups" parent-path=
"selectedGroups" row-path="group/@uid"/> 
        </fb:repeater>


Re: SOLVED Problem with Binding of fd:multivaluefield

Posted by Alexander Malic <Al...@workflow.at>.
hi again,

after some debugging in cocoon i realized that the multi-value issue was 
not working because the fact that the row-path must not be an attribute.

<fb:multi-value id="selectedGroups" parent-path="selectedGroups" row-path=
"group/@uid"/> 
->
<fb:multi-value id="selectedGroups" parent-path="selectedGroups" row-path=
"group"/> 

regards,
alex




Alexander Malic <Al...@workflow.at> 
27.03.2007 15:15
Please respond to
users@cocoon.apache.org


To
users@cocoon.apache.org
cc

Subject
Problem with Binding of fd:multivaluefield







hi there, 

i have a form with a repeater containing a multivaluefield. 

i noticed following issues: 
        - when i submit the form, the selected items (the ones in the 
right select-multiple-box) are not selected 
        - when i select them manually before submitting only the last 
value is saved 

below is my sample 

regards, alex 

btw: i'm using cocoon 2.1.10 

here's the snipped of the repeater in the definition 
            <fd:repeater id="selection"> 
                    <fd:widgets> 
                            <fd:field id="selectedClient"> 
                                    <fd:datatype base="string"/> 
                                    <fd:label><i18n:text>
ta_createRebookings.job_selectedClient</i18n:text></fd:label> 
                                    <fd:selection-list/> 
                                    <fd:on-value-changed> 
                                            <javascript> 
                                                    var 
widget=event.source; 
                                                    var 
gWidget=widget.lookupWidget('../selectedGroups'); 
 
 if(widget.getValue()!=null){ 
 gWidget.setState(ACTIVE); 
                                                            var 
client=PoOrganisationService.getClient(widget.getValue()); 
                                                            var 
orgHierarchy=PoOrganisationService.getOrgHierarchy(client); 
                                                            var 
topLevelGroup=orgHierarchy.getTopLevelGroup(); 
                                                            var 
clientsGroups=PoOrganisationService.findAllChildGroupsFlat(orgHierarchy.getTopLevelGroup()); 

 gWidget.setSelectionList(clientsGroups,"UID","shortName"); 
                                                    } else { 
 gWidget.setState(INVISIBLE); 
                                                    } 
                                            </javascript> 
                                    </fd:on-value-changed> 
                            </fd:field> 
                            <fd:multivaluefield id="selectedGroups" state=
"invisible"> 
                                    <fd:datatype base="string"/> 
                                    <fd:label><i18n:text>
ta_createRebookings.job_selectedGroups</i18n:text></fd:label> 
                                    <fd:selection-list/> 
                            </fd:multivaluefield> 
                            <fd:row-action id="deleteSelection" command=
"delete"> 
                                    <fd:label><i18n:text>po_delete
</i18n:text></fd:label> 
                            </fd:row-action> 
                    </fd:widgets> 
            </fd:repeater> 
            <fd:repeater-action id="addSelection" command="add-row" 
repeater="selection"> 
                    <fd:label><i18n:text>po_add</i18n:text></fd:label> 
                    <fd:on-action> 
                            <javascript> 
                                    var widget=event.source; 
                                    var 
repeater=widget.lookupWidget('../selection'); 
                                    if(repeater.getSize()>0){ 
                                            var 
lastRow=repeater.getRow(repeater.getSize()-1); 
                                            var 
cWidget=lastRow.lookupWidget('selectedClient'); 
                                            var 
allClients=PoOrganisationService.loadAllClients(); 
                                            allClients.add(0,null); 
 cWidget.setSelectionList(allClients,'UID','name'); 
                                    } 
                            </javascript> 
                    </fd:on-action> 
            </fd:repeater-action>


here's the template-snippet: 
            <table> 
                    <tr> 
                            <th><ft:repeater-widget-label id="selection" 
widget-id="selectedClient"/></th> 
                            <th><ft:repeater-widget-label id="selection" 
widget-id="selectedGroups"/></th> 
                            <th/> 
                    </tr> 
                    <ft:repeater-widget id="selection"> 
                            <tr> 
                                    <td> 
                                            <ft:widget id="selectedClient"
> 
                                                    <fi:styling 
submit-on-change="true"/> 
                                            </ft:widget> 
                                    </td> 
                                    <td> 
                                            <ft:widget id="selectedGroups"
> 
                                                    <fi:styling list-type=
"double-listbox"> 
                                                            
<fi:available-label><i18n:text>
ta_createRebookings.job_selectedGroups_Available
</i18n:text></fi:available-label> 
                                                            
<fi:selected-label><i18n:text>
ta_createRebookings.job_selectedGroups_Selected
</i18n:text></fi:selected-label> 
                                                    </fi:styling> 
                                            </ft:widget> 
                                    </td> 
                                    <td><ft:widget id="deleteSelection"
/></td> 
                            </tr> 
                    </ft:repeater-widget> 
            </table> 
            <ft:widget id="addSelection"/>


and here's the binding-snippet: 
        <fb:repeater id="selection" parent-path="selections" row-path=
"selection"> 
                <fb:javascript id="selectedClient" path="client/@uid"> 
                        <fb:load-form> 
                                var 
allClients=PoOrganisationService.loadAllClients(); 
                                allClients.add(0,null); 
                                java.lang.System.out.println("allClients: 
" + allClients); 
 widget.setSelectionList(allClients,"UID","name"); 
                                widget.setValue(jxpathPointer.getValue()); 

                        </fb:load-form> 
                        <fb:save-form> 
                                jxpathPointer.setValue(widget.getValue()); 

                        </fb:save-form> 
                </fb:javascript> 
                <fb:multi-value id="selectedGroups" parent-path=
"selectedGroups" row-path="group/@uid"/> 
        </fb:repeater>


Problem with Binding of fd:multivaluefield

Posted by Alexander Malic <Al...@workflow.at>.
hi there,

i have a form with a repeater containing a multivaluefield.

i noticed following issues:
        - when i submit the form, the selected items (the ones in the 
right select-multiple-box) are not selected
        - when i select them manually before submitting only the last 
value is saved

below is my sample

regards, alex

btw: i'm using cocoon 2.1.10

here's the snipped of the repeater in the definition
        <fd:repeater id="selection">
                <fd:widgets>
                        <fd:field id="selectedClient">
                                <fd:datatype base="string"/>
                                <fd:label><i18n:text>
ta_createRebookings.job_selectedClient</i18n:text></fd:label>
                                <fd:selection-list/>
                                <fd:on-value-changed>
                                        <javascript>
                                                var widget=event.source;
                                                var 
gWidget=widget.lookupWidget('../selectedGroups');
 
 if(widget.getValue()!=null){
 gWidget.setState(ACTIVE);
                                                        var 
client=PoOrganisationService.getClient(widget.getValue());
                                                        var 
orgHierarchy=PoOrganisationService.getOrgHierarchy(client);
                                                        var 
topLevelGroup=orgHierarchy.getTopLevelGroup();
                                                        var 
clientsGroups=PoOrganisationService.findAllChildGroupsFlat(orgHierarchy.getTopLevelGroup());
 gWidget.setSelectionList(clientsGroups,"UID","shortName");
                                                } else {
 gWidget.setState(INVISIBLE);
                                                }
                                        </javascript>
                                </fd:on-value-changed>
                        </fd:field>
                        <fd:multivaluefield id="selectedGroups" state=
"invisible">
                                <fd:datatype base="string"/>
                                <fd:label><i18n:text>
ta_createRebookings.job_selectedGroups</i18n:text></fd:label>
                                <fd:selection-list/>
                        </fd:multivaluefield>
                        <fd:row-action id="deleteSelection" command=
"delete">
                                <fd:label><i18n:text>po_delete
</i18n:text></fd:label>
                        </fd:row-action>
                </fd:widgets>
        </fd:repeater>
        <fd:repeater-action id="addSelection" command="add-row" repeater=
"selection">
                <fd:label><i18n:text>po_add</i18n:text></fd:label>
                <fd:on-action>
                        <javascript>
                                var widget=event.source;
                                var 
repeater=widget.lookupWidget('../selection');
                                if(repeater.getSize()>0){
                                        var 
lastRow=repeater.getRow(repeater.getSize()-1);
                                        var 
cWidget=lastRow.lookupWidget('selectedClient');
                                        var 
allClients=PoOrganisationService.loadAllClients();
                                        allClients.add(0,null);
 cWidget.setSelectionList(allClients,'UID','name');
                                }
                        </javascript>
                </fd:on-action>
        </fd:repeater-action>

here's the template-snippet:
        <table>
                <tr>
                        <th><ft:repeater-widget-label id="selection" 
widget-id="selectedClient"/></th>
                        <th><ft:repeater-widget-label id="selection" 
widget-id="selectedGroups"/></th>
                        <th/>
                </tr>
                <ft:repeater-widget id="selection">
                        <tr>
                                <td>
                                        <ft:widget id="selectedClient">
                                                <fi:styling 
submit-on-change="true"/>
                                        </ft:widget>
                                </td>
                                <td>
                                        <ft:widget id="selectedGroups">
                                                <fi:styling list-type=
"double-listbox">
                                                        
<fi:available-label><i18n:text>
ta_createRebookings.job_selectedGroups_Available
</i18n:text></fi:available-label>
                                                        
<fi:selected-label><i18n:text>
ta_createRebookings.job_selectedGroups_Selected
</i18n:text></fi:selected-label>
                                                </fi:styling>
                                        </ft:widget>
                                </td>
                                <td><ft:widget id="deleteSelection"/></td>
                        </tr>
                </ft:repeater-widget>
        </table>
        <ft:widget id="addSelection"/>

and here's the binding-snippet:
        <fb:repeater id="selection" parent-path="selections" row-path=
"selection">
                <fb:javascript id="selectedClient" path="client/@uid">
                        <fb:load-form>
                                var 
allClients=PoOrganisationService.loadAllClients();
                                allClients.add(0,null);
                                java.lang.System.out.println("allClients: 
" + allClients);
 widget.setSelectionList(allClients,"UID","name");
                                widget.setValue(jxpathPointer.getValue());
                        </fb:load-form>
                        <fb:save-form>
                                jxpathPointer.setValue(widget.getValue());
                        </fb:save-form>
                </fb:javascript>
                <fb:multi-value id="selectedGroups" parent-path=
"selectedGroups" row-path="group/@uid"/>
        </fb:repeater>

RE: the best authentication approach, cocoon guru needed!!!!

Posted by Warrell <wa...@iquo.co.uk>.
Hi Albert,
 
I would not call myself a cocoon guru but I have faced this dilemma. The
first time I didn't use any framework at all but referenced an ActiveX
control in IE to return the windows user id which I tracked in an Oracle
table.The second time I was using the Cocoon Portal so it was an obvious
choice to use the new framework and this worked well using the
http://osoco.sourceforge.net/cowarp/ stuff from Carsten Ziegler. I remember
I did struggle and it was not totally clear to me how it all worked
 
More recently I have reverted to the deprecated framework which satisfies my
requirements for a small project. So, I would say it's down to your
requirements. I'm sure it is worth investing the time in the new framework
as I would expect it to better support LDAP authentication.
 
Hope this helps,
 
Warrell

  _____  

From: albert bertal [mailto:albertbertal@gmail.com] 
Sent: 26 March 2007 17:23
To: users@cocoon.apache.org
Subject: the best authentication approach, cocoon guru needed!!!!


  Hi :
 
  I need to develop a web application with user authentication. I was
reading the "authentication framework" docs at cocoon's documentation and I
liked that authentication approach. But I've just read the Cocoon's
"authentication framework" is now deprecated, so... which is the best
approach to manage user's authentication right now ( 26, March 2007)? is
there any sample about that? where?. 
 
 Thanks a lot!!!. Please, help me to choose the right approach before
getting hands dirty!!!!.
 
 
  Albert