|
|
|
|
|
|
|
|
|
|
|
|
|
 |
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
 |
|
|
|
|
|
|
|
|
|
Mon nom est Olivier Steffen, j'ai 26 ans et je suis employé chez Vision IT Group depuis Juillet 2008. Jeune diplômé, je travaille actuellement dans le domaine du e-commerce avec le logiciel Microsoft Commerce Server.
Egalement photographe amateur, j'expose mes créations sur le site DeviantArt http://ostefn.deviantart.com
_513_526.png)
|
 |
| |
|
10/31/2008Tom Schultz et Kerry Havas viennent de faire une présentation de Commerce Server "Mojave" à la PDC 2008. La grande évolution réside dans l'intégration de Commerce Server dans Sharepoint (MOSS/WSS). L'architecture de Commerce Server: | Commerce Server 2007 | Commerce Server Mojave | | | Qu’est que Mojave ? - Création de boutique sur différent support (web, mobile, Live service)
- 30 web parts dédiés à Commerce Server.
- Des outils graphiques pour gérer les boutiques.
- templates XSL.
- ...
Video de la session PDC2008 - Commerce Server Mojave 9/14/2008 - Connection au CatalogContext du site
CatalogContext ctx = CommerceContext.Current.CatalogSystem; - Récupérer toutes les tailles de la propriété Clothing_size (cette propriété a été créée dans le "Catalog and Inventory Schema Manager").
CatalogEnumerationProperty property = (CatalogEnumerationProperty)ctx.GetProperty("Clothing_size"); On implémente ensuite un Array avec toutes les valeurs de la propriété en fonction de la langue de l'utilisateur.
public static ArrayList ArrayPropertySearch(CatalogEnumerationProperty property) { ArrayList al = new ArrayList(); foreach (DataRow row in property.EnumerationValues.EnumerationPropertyValues.Rows) { if (row["language"].ToString() != "") { if (row["language"].ToString() == Thread.CurrentThread.CurrentUICulture.ToString()) al.Add(row["value"]); } else { al.Add(row["value"]); } } return al; } La checkboxlist est ensuite créée avec toutes les valeurs "tailles" de la propriété du produit.
- Il suffit maintenant de récupérér les valeurs des checkbox sélectionnés et de créer ensuite une requête de recherche. Nous allons donc créer une clause de recherche "SqlWhereClause" pour les produits.
// Exemple d'une structure SqlWhereClause // cs.SqlWhereClause = // "[Clothing_Size] = '35' AND [Clothing_Size] ='30/32'"; On crée la structure SqlWhereClause.
if (!CheckBoxListColor.SelectedIndex.Equals(-1)) { bool first = true; string strchklist = string.Empty; foreach (ListItem cblc in CheckBoxListColor.Items) { if (cblc.Selected) { if (first) strchklist += "[Clothing_Size] ='" + cblc.Text + "' "; else strchklist += "OR [Clothing_Size] ='" + cblc.Text + "' "; first = false; } } } - Maintenant que nous avons notre structure SqlWhereClause, nous allons pouvoir afficher le résultat de la sélection.
// On crée un objet CatalogSiteAgent pour se connecter à la BD du site CatalogSiteAgent catalogSiteAgent = new CatalogSiteAgent(); catalogSiteAgent.SiteName = "CSharpSite";
// Connection au CatalogContext du site CatalogContext cc = CatalogContext.Create(catalogSiteAgent);
// On cr?e un objet catalogsearch CatalogSearch cs = cc.GetCatalogSearch();
// Nom du catalogue où la recherche sera effectuée cs.CatalogNames = "ClothingsAll";
// Spécifier la langue ? récupérer cs.Language = Thread.CurrentThread.CurrentUICulture.ToString();
// Spécifier quel type de classe on voudrait récupérer cs.SearchOptions.ClassTypes = CatalogClassTypes.ProductClass | CatalogClassTypes.ProductFamilyClass | CatalogClassTypes.ProductVariantClass | CatalogClassTypes.ProductFamilyForVariantsClass;
// Spécifier quelles propriétés on voudrait retourner cs.SearchOptions.PropertiesToReturn = "ProductId, VariantId, cy_list_price, DisplayName, Clothing_Size";
// On utilise notre structure SqlWhereClause créée au point précédent cs.SqlWhereClause = strchklist;
// On exécute notre objet Search dans un CatalogItemsDataSet CatalogItemsDataSet catalogItems = cs.Search();
// On implémente une gridview GridView1.DataSource = catalogItems; GridView1.DataBind();
8/10/2008 Le module profile permet la gestion des profils utilisateurs qu’ils soient identifiés ou anonymes. L’intérêt de ce module est de pouvoir modifier des propriétés existantes à Microsoft Commerce Server ou d’en rajouter en étendant le modèle existant. Par exemple, on pourrait rajouter un numéro de membre Delhaize si une société a un partenariat avec eux pour l’ajout de points de fidélité. Dans notre cas, on rajoutera un "gender" à la définition "User Object" qui sera visible dans le "Customer and Orders Manager" et sur le site. Cet ajout se fera en plusieurs étapes : - Ajout d'un Site-Terms
- Ajout d'une propriété
- Configuration ProfilesWebService
- Implémentation dans un site asp.net
Ajout d'un nouveau "Site Terms" - Ouvrir Commerce Server Manager
- Placez vous dans le Dossier Site Terms
(Global Resources/Profiles) - Ajouter à la structure "User Site Terms" un nouveau Site Terms
(Add -> Add a new site-term)
Site Term Attributes Name: Gender Display name: Gender Terms Ajouter les terms Mr, Ms et Miss - Sauvegarder
Ajout d'une propriété - Placez vous dans le Dossier Profile Definitions
(Global Resource/profiles/Profile catalog/Profile Definitions) - Selectionner la définition User Object
- Ajouter une nouvelle propriété
(Add -> Add a new property)
Attributes Name: Gender Display name: Gender Type: Site Term Type reference: < Selectionner le Site Term que vous avez créé > Advanced Attributes Active: Yes Map to data: ProfileService_SQLSource -> User Oject -> Custom Property 1 L'utilisateur peut créer lui-même des nouvelles colonnes dans table sql UserObject - Sauvegarder
Configuration ProfilesWebService - Ouvrir le fichier en_PresentationInfo.xml
- Ajouter le code suivant:
<profile name="UserObject" displayName="User Object" description="User Object"> <displayArea name="main" displayName="Main">
<property name="gender" displayName="gender" description="Genfer for the user" /> </displayArea> </profile> Ce code permet donc de rajouter le champ Gender dans le "Customer and Orders Manager" - Sauvegarder
Pour que les changements soient actifs dans Microsoft Commerce Server, n'oubliez pas de faire un iisreset.exe Implémentation dans un site asp.net - Récupération du Site Term Gender et l'implémenter dans un control "RadioButtonList"
protected void Page_Load(object sender, EventArgs e) { // Get the profilContext ProfileContext pc = CommerceContext.Current.ProfileSystem; // Retrieve all the elements contained in a particular siteterm SiteTerm st = pc.GetSiteTerm("gender"); ArrayList al = new ArrayList(); if (st != null) { // Show all elements foreach (SiteTermElement ste in st.Elements) { al.Add(ste.Name); } GenderRadioButtonList.DataSource = al; GenderRadioButtonList.DataBind(); } } - Création d'un nouveau profile avec la propriété gender
// Create a new Profile GUID using the required format (Jeff Lynch) StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append(Guid.NewGuid().ToString()); sb.Append("}"); // Create a new UserObject Profile Profile profile = CommerceContext.Current.ProfileSystem.CreateProfile(sb.ToString(), "UserObject"); ... profile.Properties["GeneralInfo.gender"].Value = Request.Form["GenderRadioButtonList"]; ... //Update and save the profile profile.Update();
| Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blog/ost/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blog/ost/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
|
|
|
|
|
 |
 |
 |
 |
|