Cycle de vie

Les objets PacList sont lus à partir du portail et ré-écrits vers ce dernier à l'aide des commandes getacl et setacl dans le bean Access. La commande getacl renvoie l'objet PacList pour une ressource. Il attend la catégorie et l'identificateur de la ressource en tant qu'arguments. La catégorie identifie le bean Script responsable de la ressource. Il est fourni comme mot clé, lequel peut correspondre au nom du bean ou au type de la ressource. Les mots clés pris en charge sont documentés dans l'aide relative aux beans Access. Les objets PacList peuvent être obtenus uniquement pour les ressources traitées par les beans Content et Portlet. Il n'existe aucun objet PacList pour le noeud racine du référentiel.

La commande setacl écrit à nouveau un objet PacList vers le portail. Cette commande est nécessaire uniquement si l'objet PacList est modifié. L'objet PacList est le seul argument de la commande. Chaque objet PacList est lié à une ressource particulière et ne peut être écrit pour aucune autre ressource.

Exemple Jython :
Access.getacl(category, ID)
Access.setacl(paclist)

# example: get PacList object for a particular page
#          the object is stored in variable "acl"
Content.find("label", "uniquename",
"ibm.portal.Administration", "select")
acl = Access.getacl("Content", Content.current())

# example: write back PacList object in variable "acl"
Access.setacl(acl)
Exemple Jacl :
$Access getacl category ID
$Access setacl paclist

# example: get PacList object for a particular page
#          the object is stored in variable "acl"
$Content find label uniquename ibm.portal.Administration select
set acl [$Access getacl Content [$Content current]]

# example: write back PacList object in variable "acl"
$Access setacl $acl

Pour accéder ou manipuler un objet PacList, il doit être chargé dans le bean PacList. Les opérations de ce bean font toujours référence à l'objet PacList en cours de chargement. Un objet peut être chargé uniquement pour être affiché à l'aide de view ou pour être manipulé à l'aide de edit. Les deux commandes attendent l'objet PacList en tant qu'argument. Le bean PacList est chargé uniquement s'il est déchargé ou s'il est chargé avec un objet qui n'est pas modifié.

Exemple Jython :
PacList.view(paclist)
PacList.edit(paclist)

# example: load PacList object for content root, view only
PacList.view(Access.getacl("Content", Content.root()))

# example: load PacList object for a particular page
Content.find("label", "uniquename",
"ibm.portal.Administration", "select")
acl = Access.getacl("Content", Content.current())
PacList.edit(acl)
Exemple Jacl :
$PacList view paclist
$PacList edit paclist

# example: load PacList object for content root, view only
$PacList view [$Access getacl Content [$Content root]]

# example: load PacList object for a particular page
$Content find label uniquename ibm.portal.Administration select
set acl [$Access getacl Content [$Content current]]
$PacList edit $acl

La commande current renvoie le nom de l'objet chargé, qui comprend l'identificateur de la ressource. La commande done décharge le bean PacList et renvoie l'objet chargé. Si le bean PacList est déjà déchargé, done renvoie néanmoins l'objet PacList chargé précédemment, ce qui s'avère utile pour la gestion des erreurs.

Si l'objet Paclist actuellement chargé a été modifié depuis son chargement, la commande modified est renvoyée. Si le mot clé numeric est ajouté, elle renvoie la valeur de l'indicateur sous la forme booléenne 1 ou 0. Sans mot clé, il renvoie une chaîne true ou false.

Exemple Jython :
PacList.current()
PacList.done()

PacList.modified()
PacList.modified("numeric")

# example: write back and unload PacList object
#          only if it was modified
if PacList.modified("numeric"):
  Access.setacl(PacList.done()

# example: recover the last loaded PacList object
PacList.view(PacList.done())
Exemple Jacl :
$PacList current
$PacList done

$PacList modified
$PacList modified numeric

# example: write back and unload PacList object
#          only if it was modified
if [$PacList modified numeric] {
  $Access setacl [$PacList done]
}

# example: recover the last loaded PacList object
$PacList view [$PacList done]