Question

Je construis un site de publication SharePoint (MOSS) pour l'information des employés sur mon site Web de l'entreprise. J'ai un type de contenu employé et je utilise la colonne du site Adresse Contact E-Mail pour stocker l'adresse e-mail d'un employé.

Voulez-vous que je voudrais est la possibilité de coder les adresses e-mail lors de l'exécution pour empêcher l'adresse e-mail réelle d'être récoltées par les spammeurs. Ce serait décodé lorsqu'un utilisateur clique sur le lien e-mail par exemple le code HTML suivant sera envoyé au navigateur:

<a href="javascript:sendEmail('5237952A6F67618E407373772E6063212E6175')">Email Jonny</a>

Je l'ai déjà les méthodes javascript pour le codage / décodage d'une valeur de texte de la chaîne vide de sens ci-dessus, mais je ne suis pas trop sûr quant à la façon d'aborder cela avec SharePoint à l'esprit. Je pense un contrôle personnalisé et / ou J-Query personnalisé?

Toute aide serait grandement appréciée!

Jonny

Était-ce utile?

La solution

Dans le cas où vous ne parvenez pas à mettre les utilisateurs dans AD, un mesure de contrôle sur le terrain vous donnera la possibilité d'inclure le rendu personnalisé (jquery) dont vous avez besoin, ainsi que la possibilité d'entrer les données sous forme de texte « normal ».

Le champ personnalisé, une fois défini « fonctionne » partout où vous devez afficher le champ.

Étant donné que vous envisagez d'utiliser JQuery, la question devient alors l'un de se assurer que la bibliothèque jquery est correctement lié à chaque fois que vous avez besoin d'un champ de ce type.

Autres conseils

Si vous faites ces employés membres du site, SharePoint prend en charge cette question.

Vous pouvez envoyer des courriels à eux, mais l'adresse e-mail ne sera utilisé au moment de l'envoi, lorsque vous ajoutez un bouton pour envoyer un courriel à quelqu'un, il ne sera pas afficher l'adresse e-mail, son manutentionné au back-end.

SPUtility.SendEmail(SPContext.Current.Web, false, false,
[SPUser.Email][1], "E-mail title",
"E-mail body");


(source: msdn.com )

Deux autres options / approches que vous pouvez essayer:

(1) mettre en oeuvre une commande de champ de texte de commande, héritant de Microsoft.SharePoint.WebControls.TextField et remplacer RenderFieldForDisplay

Ensuite, dans le code -. Encoder le champ pour l'affichage

Ajouter ce contrôle à SafeControls et utiliser à la place du champ de texte normal dans le pagelayout.

(2) utiliser le contrôle TextField existant, mais injecter un bouton [Encode] en utilisant jQuery à côté du champ de texte en mode édition.

Utilisez la méthode encode JavaScript pour coder ce que l'utilisateur a tapé dans une valeur codée, en remplaçant la valeur TextField existante. Qu'ils peuvent ensuite enregistrer sur dans SharePoint.


Je dirais que les approches en fonction de votre scénario de déploiement - celui de Nat est le plus propre mais probablement plus impliqué pour le déploiement et le jQuery seul semble très hackish mais facile sur le déploiement. L'approche TextField override quelque part siégerait probablement au milieu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top