News Publisher Portlet
b
présentation
installation
utilisation
download


Cette application est développée avec les technologies :

Spring Portlet MVC, Spring/Annotations, Spring LDAP, iBatis pour la persistance...

 
installation

 

Cette application  permet de gérer des annonces sous forme hiérarchique, et de  publier les annonces en flux RSS ou ATOM avec accès sécurisé ou accès public. Il est également possible de cibler des annonces à des populations (individu ou groupe) avec différents types de souscription.

Les principales fonctionnalités sont :

Gestion fine des autorisations basées sur les rôles

  • Possibilité d’assigner des rôles (notamment rôle « Administrateur ») par un « Super Utilisateur »
  • Délégation de droit : possibilité d’assigner des rôles de « Editeur » ou « Contributeur » par « Administrateur » d’un contexte
  • Héritage de droits Contexte Catégorie à Contexte thème

Les rôles et leurs permissions associées :

Contributeur: Ce rôle a la permission de proposer des annonces. Ces annonces sont soumises à la validation. Il est lié à un contexte (Catégorie ou Thème).

  • Peut consulter toutes les annonces
  • Peut proposer des annonces soumises à la validation
  • Peut modifier ou supprimer ses propres annonces

Editeur: Ce rôle a la permission d'éditer des annonces (non soumises à la validation). Il est lié à un contexte (Catégorie ou Thème).

  • Peut consulter toutes les annonces
  • Peut publier des annonces (non soumises à la validation)
  • Peut modifier ou supprimer ses propres annonces

Administrateur: Ce rôle a tous les permissions dans un contexte (Catégorie ou Thème).

- Rôle Administrateur sous contexte Thème :

  • Peut consulter toutes les annonces
  • Peut publier des annonces (non soumises à la validation) dans le thème
  • Peux modifier ou supprimer toutes les annonces du thème
  • Peut modifier les propriétés du thème
  • Peut assigner des rôles (contributeur, éditeur, administrateur) aux utilisateurs dans le thème
  • Peut cibler le thème à des populations (individu ou groupe)
  • Peut valider les annonces du thème

- Rôle Administrateur sous contexte Catégorie :

  • Peut créer de nouveaux thèmes
  • Peut modifier les propriétés de la catégorie
  • Peut assigner des rôles (contributeur, éditeur, administrateur) aux utilisateurs pour la catégorie et pour tous les thèmes
  • Peut cibler la catégorie ou les thèmes à des populations (individu ou groupe)
  • Peut valider des annonces de la catégorie
  • + toutes les privilèges du rôle "Administrateur" sous contexte "thème".

Super utilisateur: Ce rôle a toutes les permissions pour cette application. Il n'est pas lié à un contexte.

  • Peut assigner le rôle "Super utilisateur"
  • Peut créer des catégories
  • Peut supprimer une catégorie
  • Peut activer ou désactiver temporairement un compte utilisateur
  • Peut consulter le profil d'un utilisateur
  • + toutes les privilèges du rôle "Administrateur" sous contexte "Catégorie".
Un utilisateur peut avoir de multi-rôles dans des contextes différents.

Gestion et structuration des annonces

  • Organisation hiérarchique des annonces par catégorie, par thème
  • Possibilité de publier une annonce dans plusieurs thèmes
  • Gestion du cycle de vie d’une annonce
  • Gestion de l’ordre d’affichage des annonces, des thèmes, des catégories
  • Gestion de la pagination et du tri
  • Validation des annonces
  • Notification automatique des annonces à valider pour les "Administrateurs" du thème et de la catégorie

Support de Internationalisation

  • Le portlet sera affiché en Français ou en Anglais par  la détection automatique de la préférence de langue utilisée du navigateur

Gestion de ciblage et types d’abonnement

  • Possibilité de cibler une catégorie ou un thème à des populations (individu ou groupe) différentes
  • Possibilité d’indiquer le type d’abonnement  (pré abonnement, abonnement libre, abonnement forcé) pour un ciblage

Création de flux RSS ou ATOM en accès sécurisé ou en accès public

  • Possibilité d’exporter les thèmes en flux RSS ou ATOM (support de différents formats : rss_0.92, rss_1.0, rss_2.0, atom_0. 3, atom_1.0)
  • Possibilité d'exporter les nouveautés (depuis les derniers n jours) d'une catégorie sous forme de flux RSS ou ATOM
  • Possibilité de gérer le type d’accès (accès public ou protégé par le serveur CAS) du flux  généré

Support de format opml

aller au haut de la page

installation

 

Pré-requis :

uPortal 2.5+, Tomcat 5.5.x, JVM1.5+

Installation :

Dézipper le package dans un répertoire, par exemple: C:\newsPortlet

1. Adapter le fichier build.properties

Adapter  les paramètres à votre environnement : tomcat home, url du serveur CAS, informations relatives à la connexion à la base de données, paramètres du serveur smtp...

2. Adapter le fichier properties/news.properties

Renseigner les paramètres de votre annuaire LDAP
Paramétrer les valeurs personnalisables de l'application : Nombre de ligne à afficher par page, le comportement par défaut  concernant le cycle de vie d'une annonce, le format par défaut d'export du flux RSS...

3. Lancer la commande : ant portlet-init


4. Lancer la commande ci-dessous pour créer les tables de la base de données  (pour mySQL) :

 ant db-init

Attention :  le nom de la base doit exister déjà.
 Pour les bases de données autre que MySQL, adapter le script web-root/db/create.sql (et copier le connecteur approprié à la base de données dans le répertoire lib) avant de lancer la commande : ant db-init

Note : Pour une base de données autre que MySQL, vérifiez si une légère adaptation est nécessaire pour le fichier de mapping iBatis Item.xml (requêtes autour des fonctions Date)

5. Lancer la commande : ant deploy

Note importante :

Vérifier si un fichier newsPortlet.xml est bien déployé dans le répertoire ${tomcat_home}/conf/Catalina/localhost, si ce fichier n'existe pas, il faut ajouter le contexte dans le fichier server.xml (dans le répertoire ${tomcat_home}/conf) :
<Context path="/newsPortlet" docBase="[DEPLOY.HOME]/newsPortlet" crossContext="true">
<Resource name="jdbc/newsDb" auth="Container" type="javax.sql.DataSource"
username="[JDBC.USERNAME]" password="[JDBC.PASSWORD]"
driverClassName="[JDBC.DRIVER]" url="[JDBC.URL]"
maxActive="30" maxIdle="30" maxWait="10000"/>
</Context>

Adapter les paramètres [DEPLOY.HOME], [JDBC.USERNAME], [JDBC.PASSWORD], [JDBC.DRIVER], [JDBC.URL].


6. Installer le web service esup-portal-ws coté serveur si ce n'est pas encore fait sur votre portail, réf : http://sourcesup.cru.fr/esup-portal-ws/main/index.html

Note importante :

Vérifier si les méthodes "searchUsers", "searchGroupsByName" sont bien configurées dans le fichier server_config.WSDD qui se trouve dans le répertoire webapps/uPortal/WEB-INF : <service name="UportalService" provider="java:RPC"> <parameter name="allowedMethods" value="getUser,getUserAttributes,getGroupById,getGroupByName,searchUsers,searchGroupsByName,
getSubGroups,getSubGroupsById,getSubGroupsByName,getRootGroup,getGroupHierarchyById,getGroupHierarchyByName,
getGroupHierarchy,getUserGroups,isUserMemberOfGroup"/> <parameter name="className" value="org.esupportail.portal.ws.server.UportalService"/> <parameter name="scope" value="application"/> </service>


7. Publier le portlet avec portlet definition  ID : newsPortlet.news

channel publish

Mise en place de la notification automatique des annonces à valider

Planifier la tâche (avec crontab, par exemple, la tâche se lance toutes les nuits) avec la commande : ant notify,

Note :

  • seuls les administrateurs du thèmes et de catégories recevront les mails de notification

Pour désinstaller le portlet, lancer la commande :

ant undeploy

aller au haut de la page

 
Utilisation

 

Quelques Copies écran :

Les actions possibles dans les différents contextes :

- Actions possibles pour un Super Utilisateur

- Actions possibles dans le contexte "Catégorie" (suivant le rôle)

- Actions possibles dans le contexte "Thème" (suivant le rôle)

- Actions possibles dans le contexte "Item" (suivant le rôle)

Gestion de permissions

- Assigner un rôle à un utilisateur dans le contexte "Thème" (il est également possible d'assigner un rôle à un utilisateur dans le contexte "Catégorie")

 Assign permission

- Profil d'un utilisateur avec multi-rôles (différents rôles dans des thèmes d'une catégorie, et rôle "Editeur" dans une autre catégorie)

Gestion et structuration des annonces

 - Organisation : les thèmes dans une catégorie

category view

- Ajout ou modification d'une annonce

edit

- Prévisualisation d'une annonce (avec navigation retour vers la catégorie ou les thèmes d'appartenance, bouton "Valider" ou "Supprimer" selon le rôle de l'utilisateur dans le contexte)

preview

Support de Internationalisation

Le portlet sera affiché en Anglais si l'Anglais est classée en premier dans la préférence de langue utilisée par navigateur

 choix

Gestion de ciblage des populations et de types d’abonnement

- Cibler des populations à une catégorie

 ciblage

- Une vue de ciblage pour un thème

Création de flux RSS ou ATOM en accès sécurisé ou en accès public

aller au haut de la page

 
Utilisation

https://sourcesup.cru.fr/projects/newsportlet

aller au haut de la page