Modifier la précision ou la longueur des propriétés d’un smartbox

Les  smartobjects utilisant le service smartbox sont très pratiques pour créer rapidement des espaces de stockage pour les données métier. La plupart des concepteurs les utiliseront uniquement en mode maquettage, car les propriétés sont peu personnalisables… par exemple pour stocker du texte, on va avoir le choix entre le type Text (100 caractères, équivalent SQL du nvarchar(100)) et le type Memo (équivalent SQL du nvarchar(max)). Mais tout ça, c’est sans connaître les possibilités de personnalisation des propriétés que nous allons aborder dans ce billet.

En effet, si on souhaite stocker dans une propriété de smartobject smartbox un texte qui peut potentiellement contenir 200 caractères, le 1er réflexe sera de choisir le type Memo, qui va permettre de mettre autant de caractères que souhaité. Le 2ème réflexe pourrait être d’utiliser un type Text puis une fois déployé, d’aller modifier le DataType dans SQL server ( solution hyper dangereuse et à proscrire complètement… elle aura des effets dévastateurs lors de la publication d’une nouvelle version du smartobject). Le 3ème réflexe sera de ne pas utiliser les smartbox et de créer sa structure dans SQL Server puis de l’exposer via le SQL Server Service broker (comparée aux 2 précédentes solutions, celle-ci est complètement viable, mais nécessitera un peu plus de travail que ce qui va être présenté dans la suite du billet).

La même problématique se pose avec le type Decimal. En effet, une fois le smartobject déployé, la propriété SQL est un decimal(18,2). Comment faire si je veux du decimal(18,4) ?

La solution : il suffit de le configurer depuis les outils de conception (excepté avec le Web Designer qui ne propose pas cette fonctionnalité) . Prenons l’exemple avec K2 Studio : il suffit de sélectionner la propriété à modifier pour le smartobject puis de cliquer sur l’icône SmartBox Settings. Cette action a un comportement différent du double-clic sur la propriété qui affiche l’assistant d’édition… bon OK c’est tout bête, mais il n’empêche qu’il y un nombre important de personnes qui ne connaissent pas cette possibilité :

Modification des propriétés d'un SmO SmartBox
Modification des propriétés d’un SmO SmartBox

 Profitons au passage pour commenter les autres options de configuration des propriétés :

  • Key : permet de faire de cette propriété une clé au sens SQL du terme.
  • Unique : permet de définir cette propriété comme identifiant dans SQL.
  • Sort By : va permettre de créer un index sur cette propriété dans SQL.
  • Constant Size Value : à sélectionner lorsque la valeur de la propriété a toujours le même nombre de caractères (CP, SECU…)
  • Encrypt Property : permet l’encryptage de la donnée dans la base de données.

Happy K2ing!

jean

Directeur technique de K2 France depuis 2006 et passionné par les technologies, je travaille dans le monde du BPM et des applications métier depuis… que je travaille :). Vous pouvez également me suivre sur twitter, linkedin.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *