Archive

Archives pour la catégorie ‘Non classé’

Content Type Hub et Document ID : Pas d’ID assigné

Je rencontre actuellement un comportement anormal sur l’utilisation de features conjointes, la feature Document ID et la feature Content Type Hub : un id n’est pas attribué aux documents dont le content type est publié par la feature Content Type Hub.

Toutes les étapes pour reproduire le bug :
- Créez une site collection « AA » et définissez-la comme la site collection source de la feature Content Type Hub
- Créez un content type « docA » héritant du content type document par défaut
- Publiez ce nouveau content type
- Exécuter les timers Jobs « Content Type Hub » pour forcer la propagation du content type nouvellement créé
- Créez une site collection BB
- Activez la feature Document ID
- Editez les paramètres de la librairie par défaut et ajoutez le content type « docA » (qui doit être en readonly puisque publié par la feature Content Type Hub)
- Créez un nouveau document de type « docA » en utilisant le bouton « New »
- Le document n’a pas d’ID
- Créez un nouveau document (avec le content type document par défaut) en utilisant le bouton « New »
- Le document a bien un ID

Pour résoudre le problème dans tous les sites existant :
- Republiez le content type « docA » dans la site collection « AA »
- Exécutez les timer jobs associés
- A partir de maintenant tous les documents créés auront un id

Problème : A chaque création de site collection il faut refaire la manipulation précédente (republication, etc …) sinon les documents héritant du content type custom (celui publié par la feature Content Type Hub) n’auront pas d’ID.

Quelqu’un ayant rencontré le même problème (non résolu) :

http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/df83bfb9-dd4d-409b-97f1-9d88bb6d7760

Categories: Non classé Tags:

SharePoint 2010 – Détecter les langages packs installés en Powershell

Petite ligne de commande utile pour détecter les langages packs installés:

(Get-SPSite "http://MONSITE:PORT").RootWeb.RegionalSettings.InstalledLanguages |foreach-object { write-host -f green "Nom : " $_.DisplayName "LCID: " $_.LCID }

WP7 MarketPlace : Valider ses informations de paiement

Valider ses informations de paiement et recevoir ses gains : voici la nouvelle croisade du développeur WP7 !

Avant tout, sachez que je suis ni expert-comptable, ni avocat, ni financier … Je voudrais simplement toucher les gains que me rapportent les ventes d’applications sur le Marketplace Windows Phone 7. Je décris donc ici les étapes que j’ai suivi pour y arriver, sachant qu’à ce jour je ne suis pas encore rendu au bout. (Cet article sera mis à jour au fur et à mesure).

Un seul formulaire est vraiment indispensable : le W8-BEN de Microsoft. Vous pourrez le trouver dans l’AppHub à cette adresse : https://users.create.msdn.com/Account/PayeeDetails. Mais, en ne remplissant que ce formulaire vous paierez deux fois les impôts (en plus de la part de Microsoft). Voici comment se découpe le partage :
- 30% pour Microsoft
- 30% pour l’IRS (service des impôts aux US)
- La part pour les impôts français (à déclarer dans la catégorie « revenus annexes » dans votre déclaration en fin d’année -> pour ceux qui le déclare ;) ).

Bref, tout ça pour dire que si vous voulez plus de « sousous dans la popoche » vous pouvez être exonéré du prélèvement de l’IRS. Pour cela il vous faut un numéro ITIN que vous obtiendrez en remplissant le formulaire W7. Je cite « L’obtention de ce numéro ITIN permet de certifier que vous vous comportez correctement vis à vis de la loi Américaine, et de la loi de votre pays, et est sujette aux accords entre l’organisation des impôts de votre pays, et de l’IRS. » Source

Pour résumer (et pour ceux du fond qui suivent à moitié) voici les différentes étapes :
- Formulaire W7 pour obtenir un numéro ITIN auprès de l’IRS
- Formulaire W8-BEN pour Microsoft

1. Formulaire W7

Update (01/11/2011) : Le numéro ITIN n’est plus obligatoire depuis aout 2011. Je cite MSDN ici :

As of August 2011, we are simplifying the application sales payout process by no longer requiring you to provide an Individual Taxpayer Identification Number (ITIN) on your W-8 form to take advantage of a reduced withholding rate.  If you are planning to apply for an ITIN, you are no longer required to do so and may submit a W-8 form without it.

Vous pouvez donc passer directement à la partie suivante. :)

Le formulaire W7 est disponible ici. Voici les renseignements génériques à remplir :

Les autres informations sont personnelles (nom, prénom, adresse, date/lieu de naissance, … ).

Il vous sera demandé de fournir un copie conforme d’une pièce d’identité (passeport recommandé). Cette copie vous sera délivrée par n’importe quelle mairie : il s’agit simplement d’une photocopie avec un coup de tampon dessus. Attention : les mairies ne délivrent plus ce genre de copie à moins de prouver que vous en avez le besoin. Pensez donc à prendre le formulaire W7 avec vous pour prouver le besoin. A cela il faudra aussi fournir une lettre de Microsoft disponible ici. (compte Premium nécessaire ).

Pour info : la mairie m’ayant refusé une copie certifiée conforme j’ai envoyé mes documents à l’IRS avec une simple photocopie. Six semaines après j’ai reçu un courrier me demandant de renvoyer une copie de mon passeport certifiée conforme. Impossible de passer entre les mailles du filet, j’ai donc du y retourner et insister (très fort) pour avoir cette copie.

[27.04.2011] Voila ou j’en suis actuellement : 2 mois après le premier envoi j’attends toujours mon numéro ITIN. J’aurais pu éviter un aller/retour de courrier en envoyant directement des photocopies authentifiées. Récupérer son argent va bientôt devenir plus difficile (et long) que de développer une application complète pour Windows Phone 7 :)
Je mettrais cet article à jour au prochain épisode.

2. Formulaire W8-BEN

2 mois après le renvoi du formulaire W7, j’ai reçu mon numéro ITIN \o/ Me voilà donc, plus ou moins, à la moitié du processus. La prochaine étape est donc le formulaire W8-BEN à envoyer à Microsoft.

Le formulaire W8-BEN est téléchargeable depuis l’interface de votre compte msdn.

Partie 1
Les informations de base sont demandées, n’ oubliez pas de renseigner votre numéro ITIN à l’emplacement 6 du formulaire (si vous en avez demandé un).

Après une demande de validation du form’ auprès de MS (voir la note plus bas),  j’ai dû mettre mon « Prénom Nom [Pseudo MarketPlace] » dans le champ n°1.

Partie 2
Il faut cocher la case A et mettre FRANCE.
Si vous avez un numéro ITIN, il faut cocher la case B.

Partie 3
Cochez l’unique case.

Il ne vous reste plus qu’à dater, signer et envoyer à l’adresse :

Microsoft – Windows Phone Marketplace
Attn: Finance Department
29011 Commerce Center Drive
Valencia, CA 91355
USA

Note : Je n’ai vu aucun document à joindre au courrier.

Note 2 : Avant d’envoyer le formulaire par voie postale, vous pouvez le faire valider par le service Communication du MarketPlace.
Il suffit de l’envoyer en PJ à cette adresse mail (mplcomm@microsoft.com) et de demander une validation. Une réponse est renvoyée dans les 7 jours ouvrés (j’ai du relancer le service une fois quand même).
Plus de détails dans la FAQ MSDN ici – Paragraphe 8.

[06.08.2011] Et voilà ! Je suis donc en attente de validation de mon compte de la part de Microsoft.
Je mettrai cet article à jour au prochain épisode.

3. Les sousous dans la popoche

Une vingtaine de jour après avoir envoyé le formulaire W8-BEN, j’ai reçu un mail disant :

« The relevant W-8 tax form for non-US residents has been received by our payment provider. The information on the tax form has been verified, so that your payment can be processed in the future.
Please note: If there are any changes to the information provided on this form, you will be required to provide an updated form in order to remain in compliance with the U.S. Internal Revenue Service regulations. Please refer to the instruction sheet for your relevant non-US resident tax form for full details.
Thanks again for your cooperation.

The ‘Windows® Marketplace for Mobile’ Team »

C’est donc le « GG » (Good Game :) )!

Une fois ce formulaire validé, plus rien ne vous sépare du paiement dès que vous aurez dépassé le seuil minimum (qui doit être de 200$ – à confirmer).

Note : Votre compte MSDN ne sera pas mis à jour tout de suite. Les informations de paiement (et l’alerte concernant le n° ITIN sur votre interface développeur MSDN) vont disparaitre une fois le premier paiement reçu.

Voilà, il m’a fallu environ 6 mois pour faire valider mon compte et commencer à toucher les royalties ! J’ai fait quelques erreurs, trainé un peu et aurai pu éviter des allers retours de courrier inutiles. Mais recevoir son premier paiement fait oublier toute la sueur transpirée (ou presque) :)

J’espère que cet article vous sera utile, n’hésitez pas partager votre expérience dans les commentaires.

Categories: Non classé Tags: ,

Ajouter les comptes SharePoint dans l’AD en Powershell

En ce moment je dois très souvent (re)monter des VM SharePoint en mode ferme avec tout sur une seule machine
- Active Directory
- SQL
- SharePoint 2010
Pour créer les comptes utilisateurs et comptes de service je me suis fait un petit script Powershell (que voici).

(Attention, comme je suis en mode ferme sur une seule machine (cas très spécial à réserver pour les tests/dev), tout mes utilisateurs doivent être dans le groupe « Domain Admins ». Sur le contrôleur de domaine il n’est pas possible de définir des « Local administrators ». On est obligé d’être « Domain Admin » pour se logguer sur la machine).

Import-Module ActiveDirectory

$users = @("sqlSvcAcc", "spAdmin", "spFarmAcc", "spAppPoolAcc")

foreach($u in $users){
  $user = Get-ADUser -Filter * | where {$_.Name -like "*$u*"}
  if($user -eq $null){
    New-ADUser -SamAccountName $u -Name $u -UserPrincipalName $("$u@demo.lab") -AccountPassword (ConvertTo-SecureString -AsPlainText "Password123" -Force) -Enabled $true -PasswordNeverExpires $true -Path "CN=Users,DC=demo,DC=lab"
    $user = Get-ADUser -Filter * | where {$_.Name -like "*$u*"}
    Write-Host "$u account created" -ForegroundColor Green
  }
  else {
    Write-Host "$u account already created" -ForegroundColor Yellow
  }
  $admGroup = Get-ADGroup -Filter * | where {$_.Name -like "Domain Admins"}

  if($(Get-ADGroupMember $admGroup | where {$_.Name -like "$($user.Name)"}) -eq $null ){
    Add-ADGroupMember $admGroup $user
    Write-Host "$u account added to admin group" -ForegroundColor Green
  }
  else {
    Write-Host "$u account already added to admin group" -ForegroundColor Yellow
  }
}

Sharepoint – Anonymous Access pour une Application Page

Pour autoriser l’accès anonyme à une page applicative, votre page ne doit plus hériter de la classe LayoutsPageBase mais UnsecuredLayoutsPageBase (MSDN).
De plus
, il faut surcharger la propriété AllowAnonymousAccess (qui renvoie False par défaut) et lui faire renvoyer True.

public partial class AVASamplePage : UnsecuredLayoutsPageBase
{
    protected override bool AllowAnonymousAccess
    { 
        get { return true; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
    }
}
Categories: Non classé Tags: ,