Pages enfant
  • Installation Gestion d'attribut LDAP

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Volet
bgColor#F8F7EF

Canal PréférencesVersion 2

Installation, paramétrage du canal du canal
Auteur : Sébastien GAUDIN (Université nancy 2)

Sommaire
minLevel1
indent20px
styledisc

Installation du MAG


Ce canal est dépendant du MAG (testé en versions 1 et 2).

Configuration du canal


Le fichier de configuration


  Voir la documentation du fichier de configuration du MAG,également sur son plugin RestrictedAction car certaines action MAG sont filtrées par groupe.

Restreindre l'accès à des groupes uPortal


Il est possible de bloquer certaines action à un (ou plusieurs) groupe uPortal. Pour cela, il faut commencer par les déclarer dans le fichier de configuraiton.

Bloc de code
Balise Wiki
{panel:bgColor=#F8F7EF}
h1. Canal PréférencesVersion 2

*Installation, paramétrage du canal du canal*
\\
Auteur : Sébastien GAUDIN ([Université nancy 2|http://www.univ-nancy2.fr])
{panel}
{toc:style=disc\|indent=20px\|minLevel=1}

h1. Installation du MAG

\\
Ce canal est dépendant du MAG (testé en versions 1 et 2).

h1. Configuration du canal

\\

h2. Le fichier de configuration

\\
  Voir la documentation du fichier de [configuration du MAG|PROJ:Framework pour le développement de channels uPortal],également sur son plugin [RestrictedAction|PROJ:Framework pour le développement de channels uPortal] car certaines action MAG sont filtrées par groupe.

h3. Restreindre l'accès à des groupes uPortal

\\
Il est possible de bloquer certaines action à un (ou plusieurs) groupe uPortal. Pour cela, il faut commencer par les déclarer dans le fichier de configuraiton.
{code}
<groupmapping>
	<group localname="PERS"
		uportalid="local.106"/>
	<group localname="ETUD"
		uportalid="local.103"/>
</groupmapping>
{code}\\

Par 



Par exemple,

...

les

...

seuls

...

groupes

...

que

...

nous

...

utiliseront

...

sont

...

"local.106"

...

que

...

nous

...

appellerons

...

"PERS"

...

dans

...

le

...

reste

...

du

...

fichier

...

de

...

configuration

...

et

...

"local.103"

...

que

...

nous

...

appellerons

...

"ETUD".

...

Les

...

actions

...

MAG

...


Comme

...

le

...

canal

...

se

...

base

...

sur

...

le

...

MAG,

...

il

...

faut

...

définir

...

les

...

actions.

...

Il

...

faut

...

en

...

premier

...

lieu

...

définir

...

l'action

...

par

...

défaut.

{
Bloc de code
}
<!-- ACTION CENTRALE -->
	<action name="default"
		classname="org.esupportail.portal.channels.CPref.Menu"
		rendertype="xsl">
			<param name="PERS">
				<value>menu_personnel.xsl</value>
			</param>
			<param name="ETUD">
				<value>menu_etudiant.xsl</value>
			</param>
		</action>
{code}\\

Cette action pointe sur la page la classe gérant le menu. Vous pouvez, comme le montre 



Cette action pointe sur la page la classe gérant le menu. Vous pouvez, comme le montre l'exemple,

...

avoir

...

une

...

page

...

xsl

...

de

...

menu

...

par

...

groupe

...

que

...

vous

...

avez

...

déclaré

...

ci-dessus.

...

Pour

...

les

...

autres

...

actions,

...

il

...

faut

...

positionner

...

les

...

attributs

...

LDAP

...

qui

...

seront

...

utilisés

...

:

{
Bloc de code
}
<!-- Information personnel pour un membre du personnel -->
<action name="infoPers"
	classname="org.esupportail.portal.channels.CPref.actions.Default"
	sslfile="infoPers.ssl" rendertype="ssl"
	log="info">
	<param name="plug.esup.restrictedAction">
		<value>PERS</value>
	</param>
	<param name="attributeRead">
		<value>uid</value>
		<value>givenname</value>
		<value>sn</value>
		<value>supannorganisme</value>
		<value>postaladdress</value>
		</param>
	<param name="attributeWrite">
		<value>telephonenumber</value>
		<value>facsimiletelephonenumber</value>
		<value>description</value>
		<value>supanncivilite</value>
		<value>labeleduri</value>
		</param>
	<param name="attributeXsl">
		<value>uid</value>
	</param>
</action>
{code}\\

Dans cette 



Dans cette action,

...

nous

...

pouvons

...

voir

...

que

...

l'accès

...

est

...

restreind

...

aux

...

membres

...

de

...

"PERS".

...

Cette

...

restriction

...

est

...

bien

...

entendue

...

optionnelle.

...

La

...

liste

...

des

...

attributeRead

...

définis

...

les

...

attributs

...

qui

...

seront

...

lus

...

dans

...

le

...

LDAP

...

pour

...

l'affichage.

...

La

...

liste

...

des

...

attributeWrite

...

définis

...

les

...

attributs

...

qui

...

seront

...

lus

...

et

...

qui

...

seront

...

modifiable

...

par

...

l'utilisateur.

...

La

...

liste

...

des

...

attributeXsl

...

définis

...

les

...

attributs

...

qui

...

seront

...

envoyés

...

à

...

la

...

feuille

...

xsl

...

(pour

...

faire

...

des

...

testes

...

sur

...

la

...

valeur

...

par

...

exemple).

...

La

...

partie

...

LDAP

...


Dans

...

cette

...

partie,

...

vous

...

allez

...

préciser

...

les

...

paramètres

...

LDAP

...

que

...

vous

...

allez

...

utiliser.

...

Entrez

...

tout

...

d'abord

...

les

...

informations

...

du

...

serveur,

...

dans

...

le

...

tag

...

"ldap",

...

en

...

séparant

...

les

...

adresses

...

accessibles

...

pour

...

la

...

lecture

...

et

...

celle

...

accessible

...

pour

...

l'écriture.

{
Bloc de code
}
<ldap urlRead="ldap://ldap.univ.fr:392 ldap://ldap2.univ.fr:392" urlWrite="ldap://ldap.univ.fr:392"
{code}\\



Ensuite,

...

précisez

...

la

...

base

...

de

...

recherche

...

des

...

personnels.

{
Bloc de code
}
baseDn="ou=People,dc=univ,dc=fr"
{code}\\

La



La dernière chose à préciser dans les informations du serveur est le filtre de recherche d'une personne. Indiquez par un %u l'endroit ou le login devra être placé.

Bloc de code
 dernière chose à préciser dans les informations du serveur est le filtre de recherche d'une personne. Indiquez par un %u l'endroit ou le login devra être placé.
{code}
filtreDn="(&(objectclass=inetOrgPerson)(uid={u}))"  >
{code}\\

Vous pouvez préciser aussi les bindDn passDn pour la connexion 



Vous pouvez préciser aussi les bindDn passDn pour la connexion "anonyme".

...

Pour

...

cela,

...

saisissez

...

le

...

bindDn

...

(dn

...

complet)

...

et

...

le

...

passDn.

...

A

...

l'intérieur

...

de

...

ce

...

tag

...

ldap,

...

décrivez

...

la

...

liste

...

des

...

attribts

...

que

...

vous

...

voulez

...

formater.

...

Pour

...

affecter

...

un

...

format

...

à

...

un

...

attribut,

...

précisez

...

le

...

nom

...

ldap

...

de

...

l'attribut

...

et

...

la

...

classe

...

correspondante

...

:

{
Bloc de code
}
<attribut ldapName="facsimiletelephonenumber" format="org.esupportail.portal.channels.CPref.formats.supann.TelephoneNumber" />
{code}\\

Soit vous avez besoin de 



Soit vous avez besoin de différencier le format selon les différents groupes uPortal déclarés plus haut. Dans ce cas, vous ne devez pas remplir l'attribut "format" comme ci-dessus, mais créer un sous tag "format" par groupe.

Bloc de code
différencier le format selon les différents groupes uPortal déclarés plus haut. Dans ce cas, vous ne devez pas remplir l'attribut "format" comme ci-dessus, mais créer un sous tag "format" par groupe.
{code}
<attribut ldapName="n2atrmaildrop" >
	<format group="PERS" name="org.esupportail.portal.channels.CPref.formats.nancy2.RedirectionPersonnelN2"/>
	<format group="ETUD" name="org.esupportail.portal.channels.CPref.formats.nancy2.RedirectionEtudiantN2"/>
</attribut>



Options diverses


Bloc de code
{code}\\

h3. Options diverses

\\
{code}
<divers passwordInSession="no" />
{code}

Avec

...

cette

...

option,

...

l'utilisateur

...

devra

...

saisir

...

son

...

mot

...

de

...

passe

...

avant

...

chaque

...

paneau

...

de

...

modification.

...

Par

...

contre,

...

avec

...

la

...

valeur

...

"yes",

...

l'utilisateur

...

saisie

...

une

...

seule

...

fois

...

son

...

mot

...

de

...

passe

...

pour

...

la

...

durée

...

de

...

la

...

session

...

uportal.

...

Les

...

formats

...


Des

...

formats

...

standards

...

sont

...

fournis

...

avec

...

le

...

package.

...

Ils

...

se

...

trouvent

...

dans

...

le

...

package

...

org.esupportail.portal.channels.CPref.formats.supann.

...

Vous

...

pouvez

...

en

...

écrire

...

d'autres.

...

Je

...

conseille

...

de

...

les

...

mettre

...

dans

...

un

...

package

...

séparé,

...

pour

...

les

...

repérer

...

plus

...

facilement

...

:

...

exemple

...

org.esupportail.portal.channels.CPref.formats.univ.nomFormat

...

Les

...

formats

...

que

...

vous

...

définissez

...

doivent

...

hériter

...

de

...

la

...

classe

...

org.esupportail.portal.channels.CPref.formats.Format.

...

Cette

...

classe

...

propose

...

différentes

...

méthodes

...

abstraites

...

que

...

vous

...

devrez

...

re

...

définir

...

dans

...

vos

...

formats.

...

Chacune

...

des

...

méthodes

...

décrites

...

ci-dessous

...

(sauf

...

"exemple")

...

peux

...

avoir

...

en

...

paramètre

...

un

...

tableau

...

de

...

valeur.

...

Ce

...

cas

...

de

...

figure

...

est

...

pris

...

en

...

charge

...

directement

...

par

...

la

...

classe

...

Format.

...

Cela

...

signifie

...

que

...

vous

...

n'avez

...

qu'a

...

spécifiér

...

les

...

caractéristiques

...

pour

...

une

...

valeur

...

et

...

lors

...

de

...

la

...

vérification

...

de

...

plusieurs

...

valeurs,

...

les

...

appels

...

sont

...

faits

...

automatiquement.

...

boolean

...

check

...

(String

...

before)

...


Cette

...

méthode

...

décrit

...

les

...

différentes

...

expressions

...

régulières

...

acceptées

...

lors

...

de

...

la

...

saisie

...

et

...

retourne

...

true

...

si

...

le

...

format

...

est

...

correct,

...

false

...

sinon.

...

String

...

transform

...

(String

...

before)

...


L'utilisateur

...

peut

...

avoir

...

la

...

possibilité

...

de

...

saisir

...

la

...

valeur

...

dans

...

différents

...

formats.

...

Or

...

il

...

faut

...

normaliser

...

les

...

entrées

...

dans

...

le

...

LDAP.

...

Pour

...

cela,

...

avant

...

chaque

...

écriture

...

d'attribut,

...

cette

...

méthode

...

est

...

appellée

...

et

...

transforme

...

la

...

saisie

...

utilisateur

...

dans

...

un

...

format

...

spécifique.

...

Balise Wiki
display (String\[\] before)

...


Lors

...

de

...

l'affichage

...

d'une

...

valeur

...

d'un

...

attribut,

...

il

...

y

...

a

...

un

...

appel

...

à

...

cette

...

méthode

...

qui

...

transforme

...

la

...

valeur

...

enregistrée

...

dans

...

LDAP

...

en

...

une

...

valeur

...

plus

...

conviviale

...

pour

...

l'utilisateur.

...

Balise Wiki
String\[\] exemple ()

...


Vous

...

pouvez

...

décrire

...

ici

...

autant

...

d'exemple

...

que

...

vous

...

voulez.

...

Ils

...

apparaitront

...

à

...

coté

...

du

...

champs

...

lors

...

de

...

la

...

saisie.

...

Les

...

fichiers

...

xsl


Les imports


L'import

...

de

...

"common"

...

permet

...

d'avoir

...

accès

...

aux

...

templates

...

d'affichage

...

des

...

attributs.

...

Dans

...

la

...

feuille

...

errorBar,

...

sont

...

définit

...

les

...

message

...

d'erreur

...

à

...

afficher

...

si

...

la

...

saisie

...

se

...

passe

...

mal.

{
Bloc de code
}
<xsl:import href="../errorBar.xsl" />
<xsl:import href="../../common.xsl"  />
{code}\\

h2. 



L'affichage

...

d'un

...

attribut

...


Dans

...

une

...

ligne

...

d'un

...

tableau

...

html,

...

appliquez

...

le

...

template

...

comme

...

dans

...

l'exemple

...

ci-dessous

...

:

{
Bloc de code
}
<tr>
  <xsl:apply-templates select="INFOS/ATTRIBUTE[@name='uid']">
    <xsl:with-param name="label">Login</xsl:with-param>
  </xsl:apply-templates>
</tr>
{code}\\

Appliquez le template ATTRIBUTE mais en ne sélectionnant que 



Appliquez le template ATTRIBUTE mais en ne sélectionnant que l'attribut

...

dont

...

le

...

nom

...

est

...

"uid".

...

Ceci

...

permet

...

de

...

positionner

...

le

...

label

...

lors

...

de

...

l'affichage.

...

L'intérêt

...

de

...

passer

...

par

...

ce

...

template

...

est

...

que

...

les

...

styles

...

css

...

seront

...

mis

...

automatiquement.

...

La

...

saisie

...

d'un

...

attribut

...


Vous

...

devez

...

appliquer

...

le

...

même

...

template

...

que

...

pour

...

l'affichage

...

mais

...

en

...

précisant

...

des

...

paramètres

...

supplémentaires.

{
Bloc de code
}
<tr>
	<xsl:apply-templates select="INFOS/ATTRIBUTE[@name='telephonenumber']">
		<xsl:with-param name="label">Téléphone</xsl:with-param>
		<xsl:with-param name="modifiable">true</xsl:with-param>
		<xsl:with-param name="saisie">true</xsl:with-param>
		<xsl:with-param name="allowMultiValue">true</xsl:with-param>
	</xsl:apply-templates>
</tr>
{code}\\

h1. Déploiement

\\
Préparation du fichier de configuration 



Déploiement


Préparation du fichier de configuration ConfigChannel.xml.:

...

mettre

...

les

...

renseignements

...

relatifs

...

aux

...

attributs

...

qu'il

...

faut

...

gérer

...

Préparation

...

du

...

déploiement

...

:

...

modifier

...

les

...

chemins

...

d'installation

...

du

...

fichier

...

build.properties.

...

Si

...

vous

...

aviez

...

déjà

...

installé

...

une

...

ancienne

...

version

...

du

...

canal,

...

lancez

...

la

...

commande

...

ant

...

undeploy

...

,

...

pour

...

effacer

...

toute

...

trace

...

du

...

canal

...

dans

...

l'environnement

...

de

...

production.

...


Lancement

...

de

...

la

...

commande

...

ant

...

deploy

...

,

...

pour

...

déployer

...

le

...

canal

...

dans

...

les

...

bons

...

répertoires.

...


L'administrateur

...

peut

...

maintenant

...

publier

...

les

...

canaux

...

dont

...

il

...

a

...

besoin

...

en

...

fonction

...

du

...

paramètre

...

d'instanciation

...

:

...

"serverView".

...

Pour

...

cela,

...

il

...

y

...

a

...

2

...

méthodes

...

:

...

La

...

plus

...

simple

...

étant

...

de

...

publier

...

le

...

canal

...

de

...

manière

...

normale,

...

par

...

l'interface

...

WEB

...

prévue

...

à

...

cet

...

effet.

...

La

...

seconde

...

étant

...

d'utiliser

...

la

...

commande

...

ant

...

pubchan

...

.

Cette méthode remplace toute la démarche de publication.

Utilisez la commande ant deploypubchan qui va déposer le fichier de déploiment (pubchan_CPref.xml)

...

dans

...

le

...

répertoire

...

{uPortal}

...

/properties/chanpub.

...

Les

...

informations

...

nécessaires

...

à

...

la

...

publication

...

sont

...

décrites

...

dans

...

des

...

tags

...

XML,

...

vous

...

permettant

...

ainsi

...

même

...

de

...

spécifier

...

l'attribut

...

"serverView".

...


Ensuite,

...

lancez

...

la

...

commande

...

"ant

...

pubchan

...

-Dchannel=pubchan_CPref.xml".

...

depuis

...

le

...

répertoire

...

"racine

...

esup".

...

Vous

...

pouvez

...

bien

...

sur

...

créer

...

autant

...

de

...

fichier

...

xml

...

que

...

vous

...

désirez.

...

Par

...

exemple,

...

rien

...

n'interdit

...

d'en

...

avoir

...

un

...

pour

...

la

...

vue

...

en

...

anonyme,

...

un

...

pour

...

les

...

étudiants

...

et

...

un

...

pour

...

le

...

personnel.