Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coveofoundation #1

Open
wants to merge 72 commits into
base: coveo
Choose a base branch
from
Open

Coveofoundation #1

wants to merge 72 commits into from

Conversation

vbernard-coveo
Copy link
Collaborator

Added CoveoIndexing foundation and CoveoSearch Feature projects and serialized items

@@ -49,10 +49,31 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Coveo.Framework">
<HintPath>..\..\..\..\..\..\inetpub\wwwroot\Habitat.Coveo.Dev.Local\Website\bin\Coveo.Framework.dll</HintPath>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les références de projet doivent pointer à l'intérieur de projet et non dans le web root. Inclue les fichiers que tu as besoin dans une tâche Gulp. Je crois que Habitat a déjà un script pour ramasser les DLLs de WFFM. S'il n'en a pas, je sais que Sitecore.Demo en a un pour ramasser les DLLs de Habitat.

@@ -74,6 +95,11 @@
<None Include="Web.config" />
</ItemGroup>
<ItemGroup>
<Compile Include="InboundFilters\ExcludeDesignerFiles.cs" />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Certains de ces classes n'ont pas de lien avec Habitat mais ont un lien seulement avec Sitecore.Demo. Il faut les enlever de ce repo et les mettre seulement dans le repo Sitecore.Demo.Coveo qui sera créé plus tard.

@@ -82,6 +108,7 @@
<Name>Sitecore.Foundation.SitecoreExtensions</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Supprime cet itemGroup vide qui a été ajouté.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DONE!

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ton éditeur semble avoir ajouté un BOM au début du fichier. Revert ce changement svp. Et assures-toi de ne pas committer de changements de la sorte dans le futur.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je comprend pas la diff entre les deux fichier sur cette ligne?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La différence c'est un caractère invisible au début de la ligne. Ce caractère s'appelle le BOM (Byte order mark) et est utilisé dans les fichiers XML. https://en.wikipedia.org/wiki/Byte_order_mark

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ne semble pas corrected selon le diff dans GitHub

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done.

@@ -0,0 +1,155 @@
// Copyright (c) 2005-2017, Coveo Solutions Inc.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je pense qu'on peut enlever le copyright car on doit en mettre un différent dans notre repo.

<coveo>
<defaultIndexConfiguration>
<fieldMap type="Coveo.SearchProvider.CoveoFieldMap, Coveo.SearchProvider">
<fieldNames hint="raw:AddFieldByFieldName">

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les fields vont aller avec les projets

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai déplacé les fields dans le projet Habitat

.gitignore Outdated
nCrunchTemp*.*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revert de changement de fin de fichier svp.

@@ -0,0 +1,1028 @@
<?xml version="1.0" encoding="UTF-8"?>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce fichier ne devrait pas être dans le repo. Il devrait être exclus par le gitignore.

<configuration name="Feature.CoveoSearch" dscription="Feature CoveoSearch" dependencies="Foundation.Serialization,Foundation.CoveoIndexing" patch:after="configuration[@name='Foundation.Serialization']">
<targetDataStore physicalRootPath="$(sourceFolder)\feature\coveosearch\serialization" type="Rainbow.Storage.SerializationFileSystemDataStore, Rainbow" useDataCache="false" singleInstance="true" />
<predicate type="Unicorn.Predicates.SerializationPresetPredicate, Unicorn" singleInstance="true">
</predicate>
<predicate type="Unicorn.Roles.Predicates.EmptyPredicate, Unicorn.Roles" singleInstance="true" />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

t'es certain que c'est un EmptyPredicate du namespace Unicorn.Roles qu'on a besoin? Je pensais plus au namespace Unicorn.Predicates si c'est disponible. Car on a déjà des rolePredicates plus bas.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui, seulement lorsqu'il n'y a pas d'item a sérializer. C'est un "dummy".

</predicate>
<roleDataStore type="Unicorn.Roles.Data.FilesystemRoleDataStore, Unicorn.Roles" physicalRootPath="$(sourceFolder)\foundation\coveoindexing\serialization\Foundation.Indexing.Roles" singleInstance="true"/>
<targetDataStore physicalRootPath="$(sourceFolder)\foundation\coveoindexing\serialization" type="Rainbow.Storage.SerializationFileSystemDataStore, Rainbow" useDataCache="false" singleInstance="true" />
<predicate type="Unicorn.Roles.Predicates.EmptyPredicate, Unicorn.Roles" singleInstance="true" />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Même commentaire par rapport au namespace

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Meme commentaire qu'en haut

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done.

<configuration name="Foundation.CoveoIndexing" description="Foundation CoveoIndexing" dependencies="Foundation.Serialization" patch:after="configuration[@name='Foundation.Serialization']">
<targetDataStore physicalRootPath="$(sourceFolder)\foundation\indexing\serialization" type="Rainbow.Storage.SerializationFileSystemDataStore, Rainbow" useDataCache="false" singleInstance="true" />

<targetDataStore physicalRootPath="$(sourceFolder)\foundation\coveoindexing\serialization" type="Rainbow.Storage.SerializationFileSystemDataStore, Rainbow" useDataCache="false" singleInstance="true" />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Déplacer dans Projects/Common

<coveoInboundFilterPipeline>
<processor type="Sitecore.Foundation.CoveoIndexing.ExcludeVideoFiles, Sitecore.Foundation.CoveoIndexing" />
<processor type="Sitecore.Foundation.CoveoIndexing.ExcludeImageFiles, Sitecore.Foundation.CoveoIndexing" />
<processor type="Coveo.SearchProvider.CoveoInboundFilters.HasLayoutInboundFilter, Coveo.SearchProviderBase"></processor>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Configurer le processeur pour affecter seulement les items de /sitecore/content mais ne pas toucher la media library.

<defaultIndexConfiguration>
<fieldMap type="Coveo.SearchProvider.CoveoFieldMap, Coveo.SearchProvider">
<fieldNames hint="raw:AddFieldByFieldName">
<fieldType fieldName="metakeywords" isSortable="true" isExternal="true" isMultiValue="true" settingType="Coveo.Framework.Configuration.FieldConfiguration, Coveo.Framework" />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Déplacer dans project/Common

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai déplacé dans le project Common

<fieldMap type="Coveo.SearchProvider.CoveoFieldMap, Coveo.SearchProvider">
<fieldNames hint="raw:AddFieldByFieldName">
<fieldType fieldName="metakeywords" isSortable="true" isExternal="true" isMultiValue="true" settingType="Coveo.Framework.Configuration.FieldConfiguration, Coveo.Framework" />
<fieldType fieldName="title" isFacet="true" settingType="Coveo.Framework.Configuration.FieldConfiguration, Coveo.Framework" />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Déplacer dans project/common puisque le champ title doit être défini dans une feature quelconque.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Déplacé dans le projet Common

<externalFields hint="raw:AddExternalField">
<field fieldName="syslanguage"/>
<field fieldName="sysfiletype"/>
<field fieldName="date"/>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changer pour sysdate.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

<contentSearch>
<configuration>
<indexes hint="list:AddIndex">
<index id="Coveo_master_index_Habitat" type="Coveo.SearchProvider.ProviderIndex, Coveo.SearchProvider" patch:before = "*[1]">

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les indexs Habitat vont dans project/habitat

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@@ -0,0 +1,21 @@
using Coveo.SearchProvider.Pipelines;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ordonner les using en ordre alphabétique en commençant par les using System.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -0,0 +1,21 @@
using Coveo.SearchProvider.Pipelines;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ordonner les using en ordre alphabétique en commençant par les using System.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -0,0 +1,31 @@
---

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les facettes youtube et autres doivent être enlevées de ton pull request. Les facettes utiles doivent être dans Project/common

@@ -2,6 +2,51 @@

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<contentSearch>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce fichier est indenté avec 4 espaces. Assures-toi que tes ajoutes respectent le format du fichier.

Copy link

@francoislg francoislg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passé rapidement sur les items, mais there you go!

{
var extension = args.IndexableToIndex.Item.GetFieldValue("Extension");

if ((extension == "gif") || (extension == "png") || (extension == "jpg"))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Serait facile de rendre ça configurable dans la config.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

{
if (args.IndexableToIndex != null && !args.IsExcluded && ShouldExecute(args))
{
var extension = args.IndexableToIndex.Item.GetFieldValue("Extension");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changer var pour string

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

{
if (args.IndexableToIndex != null && !args.IsExcluded && ShouldExecute(args))
{
var extension = args.IndexableToIndex.Item.GetFieldValue("Extension");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je propose de faire un ExcludeFilesWithExtensionTypes qui prends une liste d'extension. Même pas besoin de classe abstraite.

/// </summary>
/// <param name="p_Item">The item whose site to resolve.</param>
/// <returns>The resolved site name, or <c>null</c> when no suitable site is found.</returns>
protected virtual string ResolveItemSite(IItem p_Item)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça donne rien que cette méthode soit virtual. Rendu là je vais me faire un autre processeur.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est une copie d'un processeur existant de Coveo for Sitecore avec un petit tweak pour Habitat.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done.

/// <summary>
/// Gets the list of sites that are excluded by default.
/// </summary>
public static IEnumerable<string> DefaultExcludedSites { get; private set; }

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je vois pas beaucoup d'intérêt à mettre ça public.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est une copie d'un processeur existant de Coveo for Sitecore avec un petit tweak pour Habitat.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done.

border: none;
}

.CoveoSearchbox{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

border-bottom: 2px solid white;
}

.CoveoSearchbox .magic-box .magic-box-input>input {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

background-color: rgb(240, 240, 240);
}

.CoveoSearchButton>.coveo-icon,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spaces

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

color: #fff;
}

.CoveoSearchButton{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space, le prochain aussi

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -5,9 +5,9 @@ MemberOf:
Role: |
modules\Feature Multisite Admin
Role: |
modules\Feature Social Admin

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je vois pas pourquoi l'ordre a changé pour certains, ça serait plus facile de voir les vrais ajouts

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Surement pas la même version de Unicorn utilisée pour le sync initial et cette modif. Je suis d'accord avec François. Peux-tu resturer l'ordre (à la main au pire)

string itemExtension = args.IndexableToIndex.Item.GetFieldValue("Extension");

foreach (string extensionType in extensionTypesToExclude) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pas mal d'espaces de trop dans cette classe-là :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

l'indentation est désormais de 2 espaces


foreach (string extensionType in extensionTypesToExclude) {

if (extensionType == itemExtension)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tu veux probablement ignorer la casse.

Tu peux aussi remplacer ta boucle par un .Any en LINQ:

if(extensionTypesToExclude.Any(toExclude => StringComparer.OrdinalIgnoreCase.Equals(toExclude, itemExtension))) {
   args.IsExcluded = true;
}

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK


if (args.IndexableToIndex != null && !args.IsExcluded && ShouldExecute(args))
{
string itemExtension = args.IndexableToIndex.Item.GetFieldValue("Extension");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mettre Extension en constante?

<div class="navbar-coveo">
<div id="@Model.SearchboxId">
<div id="@Model.SearchboxId" style="display:none">

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space de trop

@@ -78,4 +65,70 @@

</div>
</div>
<script>
function setCookie(cname, cvalue, exdays) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peux-tu scoper ça dans un autre fichier? Surtout scoper dans un module en fait....

C'est une feature pas mal standalone la switch pour activer Coveo, quelqu'un qui part de ça et qui veut pas la feature pourrait juste retirer 1 ligne pour toute flusher.

.coveo-title > a.CoveoResultLink:visited {
color: #2e384e;
font-weight: 600;
}

.result-summary,
.result-summary > p {
.result-summary{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space

.CoveoResultLink:hover, a.CoveoResultLink:hover, .CoveoResult a.CoveoResultLink:hover{
.CoveoResultLink:hover,
a.CoveoResultLink:hover,
.CoveoResult a.CoveoResultLink:hover{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space


/* No Results */

.coveo-query-summary-no-results-string{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Encore space, lui d'après aussi :)

background-color: rgb(140,140,140);
}

.activate-coveo {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Place le direct en haut avec l'autre

}

.activate-coveo:hover {
background-color: rgb(220,90,0);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

direct en haut avec cursor: pointer

gulpfile.js Outdated
return gulp.src(solution).pipe(nugetRestore());
var solution = "./" + config.solutionName + ".sln";
return gulp.src(solution).pipe(nugetRestore({
additionalArgs: ["-Msbuildversion", "4"]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est pas done. C'est encore en 4 espaces.

gulpfile.js Outdated
return gulp.src(solution).pipe(nugetRestore());
var solution = "./" + config.solutionName + ".sln";
return gulp.src(solution).pipe(nugetRestore({
additionalArgs: ["-Msbuildversion", "4"]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ne pas committer notre flag de MSBuild version 4. C'est un workaround que nous avons besoin à l'interne mais que le reste du monde n'a pas besoin.

<?xml version="1.0" encoding="utf-8"?>

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
<configuration

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La ligne XML n'est toujours pas là


<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
<configuration
xmlns:patch="http://www.sitecore.net/xmlconfig/">

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce n'est toujours pas fait.

string itemExtension = args.IndexableToIndex.Item.GetFieldValue("Extension");

foreach (string extensionType in extensionTypesToExclude) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pas de ligne vide après un foreach

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

<r
ds=""
id="{E9ECDF34-1EB8-4466-9615-CBAD9E0E7CD9}"
par="SearchBoxUniqueId&amp;SearchPageItemId&amp;KeepOmniboxSuggestionsProvidersDefaultOrdering&amp;FilterExpressionRules&amp;BoostExpressionRules&amp;EnableAutomaticBoosting&amp;FilterCulture=1&amp;SearchBoxBehavior&amp;EnablePartialMatch&amp;PartialMatchKeywords=5&amp;PartialMatchThreshold=50%25&amp;EnableWildcards&amp;EnableQuestionMarks&amp;EnableLowercaseOperators&amp;ResultsPerPage=10&amp;DefaultSortType&amp;DefaultSortDirection&amp;DefaultSortField&amp;SearchBoxPlaceholderText&amp;AutoFocus=1&amp;ExternalContentSources&amp;ExternalContentCollections&amp;EnableCoveoUsageAnalytics=1&amp;CoveoUsageAnalyticsCustomMetadata&amp;EnableSitecoreAnalytics&amp;SitecoreAnalyticsRestUri=%2Fcoveo%2Frest%2Fv6%2Fanalytics&amp;ThrowExceptionOnValidationError&amp;EnableClientSideLogging&amp;IncludeBucketFoldersInResults&amp;IncludeMediaFoldersInResults&amp;QueryPipelineName&amp;RestUri=%2Fcoveo%2Frest&amp;OmniboxEnableFieldAddon&amp;OmniboxEnableSimpleFieldAddon&amp;OmniboxEnableQueryExtensionAddon&amp;ItemId=_6F3769A8-2EC7-4160-8492-E647507ACB9F"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pas de datasource ici?

<r
ds=""
id="{E9ECDF34-1EB8-4466-9615-CBAD9E0E7CD9}"
par="SearchBoxUniqueId&amp;SearchPageItemId&amp;KeepOmniboxSuggestionsProvidersDefaultOrdering&amp;FilterExpressionRules&amp;BoostExpressionRules&amp;EnableAutomaticBoosting&amp;FilterCulture=1&amp;SearchBoxBehavior&amp;EnablePartialMatch&amp;PartialMatchKeywords=5&amp;PartialMatchThreshold=50%25&amp;EnableWildcards&amp;EnableQuestionMarks&amp;EnableLowercaseOperators&amp;ResultsPerPage=10&amp;DefaultSortType&amp;DefaultSortDirection&amp;DefaultSortField&amp;SearchBoxPlaceholderText&amp;AutoFocus=1&amp;ExternalContentSources&amp;ExternalContentCollections&amp;EnableCoveoUsageAnalytics=1&amp;CoveoUsageAnalyticsCustomMetadata&amp;EnableSitecoreAnalytics&amp;SitecoreAnalyticsRestUri=%2Fcoveo%2Frest%2Fv6%2Fanalytics&amp;ThrowExceptionOnValidationError&amp;EnableClientSideLogging&amp;IncludeBucketFoldersInResults&amp;IncludeMediaFoldersInResults&amp;QueryPipelineName&amp;RestUri=%2Fcoveo%2Frest&amp;OmniboxEnableFieldAddon&amp;OmniboxEnableSimpleFieldAddon&amp;OmniboxEnableQueryExtensionAddon&amp;ItemId=_C29EEEEC-A038-4022-8BB9-EDE71E064626"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pas de datasource ici?

<r
ds=""
id="{E9ECDF34-1EB8-4466-9615-CBAD9E0E7CD9}"
par="SearchBoxUniqueId&amp;SearchPageItemId&amp;KeepOmniboxSuggestionsProvidersDefaultOrdering&amp;FilterExpressionRules&amp;BoostExpressionRules&amp;EnableAutomaticBoosting&amp;FilterCulture=1&amp;SearchBoxBehavior&amp;EnablePartialMatch&amp;PartialMatchKeywords=5&amp;PartialMatchThreshold=50%25&amp;EnableWildcards&amp;EnableQuestionMarks&amp;EnableLowercaseOperators&amp;ResultsPerPage=10&amp;DefaultSortType&amp;DefaultSortDirection&amp;DefaultSortField&amp;SearchBoxPlaceholderText&amp;AutoFocus=1&amp;ExternalContentSources&amp;ExternalContentCollections&amp;EnableCoveoUsageAnalytics=1&amp;CoveoUsageAnalyticsCustomMetadata&amp;EnableSitecoreAnalytics&amp;SitecoreAnalyticsRestUri=%2Fcoveo%2Frest%2Fv6%2Fanalytics&amp;ThrowExceptionOnValidationError&amp;EnableClientSideLogging&amp;IncludeBucketFoldersInResults&amp;IncludeMediaFoldersInResults&amp;QueryPipelineName&amp;RestUri=%2Fcoveo%2Frest&amp;OmniboxEnableFieldAddon&amp;OmniboxEnableSimpleFieldAddon&amp;OmniboxEnableQueryExtensionAddon&amp;ItemId=_7F51AE1D-66E1-49FF-98A0-8D6580C1BDAD"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pas de datasource ici?

<r
ds=""
id="{E9ECDF34-1EB8-4466-9615-CBAD9E0E7CD9}"
par="SearchBoxUniqueId&amp;SearchPageItemId&amp;KeepOmniboxSuggestionsProvidersDefaultOrdering&amp;FilterExpressionRules&amp;BoostExpressionRules&amp;EnableAutomaticBoosting&amp;FilterCulture=1&amp;SearchBoxBehavior&amp;EnablePartialMatch&amp;PartialMatchKeywords=5&amp;PartialMatchThreshold=50%25&amp;EnableWildcards&amp;EnableQuestionMarks&amp;EnableLowercaseOperators&amp;ResultsPerPage=10&amp;DefaultSortType&amp;DefaultSortDirection&amp;DefaultSortField&amp;SearchBoxPlaceholderText&amp;AutoFocus=1&amp;ExternalContentSources&amp;ExternalContentCollections&amp;EnableCoveoUsageAnalytics=1&amp;CoveoUsageAnalyticsCustomMetadata&amp;EnableSitecoreAnalytics&amp;SitecoreAnalyticsRestUri=%2Fcoveo%2Frest%2Fv6%2Fanalytics&amp;ThrowExceptionOnValidationError&amp;EnableClientSideLogging&amp;IncludeBucketFoldersInResults&amp;IncludeMediaFoldersInResults&amp;QueryPipelineName&amp;RestUri=%2Fcoveo%2Frest&amp;OmniboxEnableFieldAddon&amp;OmniboxEnableSimpleFieldAddon&amp;OmniboxEnableQueryExtensionAddon&amp;ItemId=_D04CCB76-3E4C-47CC-AEB7-8D7B499D779E"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pas de datasource ici?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il manque toujours la datasource ici.

@@ -5,9 +5,9 @@ MemberOf:
Role: |
modules\Feature Multisite Admin
Role: |
modules\Feature Social Admin

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Surement pas la même version de Unicorn utilisée pour le sync initial et cette modif. Je suis d'accord avec François. Peux-tu resturer l'ordre (à la main au pire)

{
if (args.IndexableToIndex != null && !args.IsExcluded && ShouldExecute(args))
{
var extension = args.IndexableToIndex.Item.GetFieldValue("Extension");
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

{
var extension = args.IndexableToIndex.Item.GetFieldValue("Extension");

if ((extension == "gif") || (extension == "png") || (extension == "jpg"))
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

{
if (args.IndexableToIndex != null && !args.IsExcluded && ShouldExecute(args))
{
var extension = args.IndexableToIndex.Item.GetFieldValue("Extension");
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -0,0 +1,12 @@
.CoveoSearchbox {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

float: right
}

body * {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

<ItemGroup>
<Folder Include="Views\Website\Sublayouts\" />
</ItemGroup>
<ItemGroup />
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je ne le vois pas de mon bord (Sitecore.Habitat.Website.csproj ligne 187 dans Notepad++)

</div>
</div>
<script>
function setCookie(cname, cvalue, exdays) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pas à ma connaissance. jquery.cookie est une librairie externe qui permet ce genre de fonction, pas certain qu'on veuille l'inclure

function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

return "";
};

var coveoSearchBox = document.getElementById('@Model.SearchboxId');
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

function getCookie(cname) {
var name = cname + "=";

class CoveoSearchboxSwitcher{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space

function getCookie(cname) {
var name = cname + "=";

class CoveoSearchboxSwitcher{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

class est pas supporté en IE11...

Tu devrais sois le compiler ou juste faire un scope minimal juste pour encapsuler.

Si tu pouvais le mettre dans un fichier appart aussi...

function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pas OK, il s'appelle encore ca. Change pour allCookies ou quelque chose du genre.

}else{
switchCoveoOn();
};
switchCoveoOff(){

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space

function toggleCoveoSearchbox(){

coveoSearchBoxCookie = getCookie("coveoSearchBox");
switchCoveoOn(){

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space

this.setCookie(this.constants.cookieName, this.constants.on, 30);
};

checkCoveoSwitchCookie(){

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui, Comme dit François, on met toujours une espace avant l'accolade ouvrante:
something() { ... }

};

coveoSearchboxSwitcher = new CoveoSearchboxSwitcher();
coveoSearchboxSwitcher.checkCoveoSwitchCookie();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'aime encore mieux "initialize" ou "setInitialState()"

@@ -0,0 +1,11 @@
namespace Sitecore.Foundation.CoveoIndexing
{
internal struct Constants

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Formatte les fichier C# avec 4 espaces pour l'indentation au lieu de 2. C'est ce qui est par défaut dans le fichier .editorconfig à la racine du repo.


namespace Sitecore.Foundation.CoveoIndexing
{
public class ExcludeFilesWithExtensionTypes : AbstractCoveoInboundFilterProcessor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indentation 4 espaces

{
internal struct ExcludeFilesWithExtension
{
public const char FileExtensionSeparator = ';';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cette constante peut aller dans le fichier ExcludeFilesWithExtensionTypes.cs car elle est vraiment propre à ce processeur. Elle devra alors être en majuscules et private: private const string FILE_EXTENSION_SEPARATOR

Le fichier Constants.cs doit être utilisé pour les constantes utilisées à plus d'un endroit et les ID d'items Sitecore, noms de fields... par exemple.

public class ExcludeFilesWithExtensionTypes : AbstractCoveoInboundFilterProcessor
{
/// <summary>
/// ID of the field where activation checkbox is specified.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

activation checkbox?


public override void Process(CoveoInboundFilterPipelineArgs args)
{
string[] extensionTypesToExclude = ExtensionTypesToExclude.Split(Constants.ExcludeFilesWithExtension.FileExtensionSeparator);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tu peux déplacer cette ligne à l'intérieur du IF. Ça va éviter de faire cette opération pour rien si l'item est déjà exclus.

- ID: "ca0479ce-0bfe-4522-83de-ba688b380a78"
Hint: BrowserTitle
Value: Search Results
- Language: "ja-JP"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not fixed. À adresser.

- Version: 1
Fields:
- ID: "04bf00db-f5fb-41f7-8ab7-22408372a981"
Hint: __Final Renderings

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not fixed. À adresser.

- ID: "2f5ef5f2-5b9a-4ce3-9596-3d7654203648"
Hint: EnableSitecoreAnalytics
Type: Checkbox
Value: 0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'aimerais qu'on active les Sitecore Analytics dans nos components de demo.

ID: "d93961e6-59a5-4532-98b2-1d98ab0d34e4"
Parent: "24e745e1-181e-457b-aad0-1caf5ddce16c"
Template: "294075e4-cb2c-4e5f-a646-416fc078581f"
Path: /sitecore/content/Habitat/Settings/Datasources/Coveo/Coveo Search Box Parameters

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'aimerais qu'on désactive le "focus on page load" pour la searchbox.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done.

Value: /sitecore/content/Habitat/Settings/Datasources/Coveo/Coveo Search Box Parameters
- ID: "4867d192-326a-4aa4-81ef-ea430e224aff"
Hint: Css assets
Value: /styles/Habitat/CoveoHabitatSearchbox.css, /styles/Common/CoveoSearch.css

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Serait-il mieux de loader common avant Habitat?

Jean-François LHeureux added 4 commits July 18, 2017 17:59
Also fixed some code here and there from my code review comments
! Fixed inbound filter namespace change in config.
- Patch deleted default Coveo indexes.
- Removed bugged serverUrl setting.
* Removed bold and uppercase from searchbox.
! Fixed JS endpoint introduced yesterday.
! Fixed JS call when switching Lucene/Coveo.
});
</script>

<div class="activate-coveo" title="Activate Coveo Searchbox" onclick="coveoSearchboxSwitcher.toggleCoveoSearchbox()" style="display:none"></div>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce toggle doit être dans sa propre view. Le code JS associé devrait être dans un fichier JS séparé aussi pour améliorer le caching côté browser.

</div>

<script>
class CoveoSearchboxSwitcher{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Convertir cette class ES2015 en ES5 pour qu'elle soit compatible avec tous les browsers supportés.

getCookie(cookieName) {
var name = cookieName + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Donner un nom de variable clair qui explique l'utilité de celle-ci.

var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Donner un nom de variable clair qui explique l'utilité de celle-ci.

};

coveoSearchboxSwitcher = new CoveoSearchboxSwitcher();
coveoSearchboxSwitcher.checkCoveoSwitchCookie();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changer le nom de la méthode pour "initialize" ou "setInitialState"...

Coveo.$(function() {
CoveoForSitecore.componentsOptions = @(Html.Raw(Model.GetJavaScriptInitializationOptions()));
if (CoveoForSitecore.externalComponents) {
CoveoForSitecore.componentsOptions.externalComponents = CoveoForSitecore.externalComponents;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi utiliser un array temporaire (CoveoForSitecore.externalComponents) ici? Pourquoi ne pas coder la searchbox pour qu'elle s'ajoute directement à l'array CoveoForSitecore.componentsOptions.externalComponents?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done

{{ if (raw.syssource === "Sitecore Habitat Videos") { }}
<span class="CoveoYouTubeThumbnail" data-width='100%' data-height='auto'></span>
{{ } else { }}
<div class="page-icon-container CoveoQuickview"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le div CoveoQuickview devrait toujours être dans un if (hasHtmlVersion). L'afficher sans html version va faire une erreur en ouvrant le dialogue du quickview.

@@ -0,0 +1 @@
<div class="searchbox-switcher disabled" title="" onclick="coveoSearchboxSwitcher.toggleSearchboxOnClick()"></div>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ici le code assume que la variable globale coveoSearchboxSwitcher existe. Il serait peut-être mieux d'attacher le click handler lors du constructeur de la classe ou bien lors du DOMContentLoaded. Qu'en penses-tu?

public override void Process(CoveoInboundFilterPipelineArgs args)
{
if (args.IndexableToIndex != null && !args.IsExcluded && this.ShouldExecute(args)) {
string[] extensionTypesToExclude = this.ExtensionTypesToExclude.Split(FILE_EXTENSION_SEPARATOR);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"this." n'est pas nécessaire et ajoute plus de bruit qu'autre chose en C#

<packages>
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net46" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net46" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3" targetFramework="net46" />
<package id="Microsoft.Net.Compilers" version="1.3.2" targetFramework="net46" developmentDependency="true" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />
<package id="Sitecore.Kernel.NoReferences" version="8.2.161115" targetFramework="net46" developmentDependency="true" />

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je ne suis pas certain à propos de developmentDependency puisque cet assembly est nécessaire au runtime pour le projet, pas juste pour compiler.

@@ -250,5 +252,4 @@
</Target>
<Target Name="AfterBuild">
</Target> -->
</Project>

</Project>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ce problème de saut de ligne ne semble pas fixé.

@@ -1,4 +1,4 @@
---
---

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peux-tu restaurer le fichier original svp? Celui que tu as présentement a un BOM en début de fichier et il manque une fin de ligne à la fin.

<r
ds="{4E48D10A-1717-4D1E-9D78-C665CC4F290F}"
id="{2BCAC115-1C0F-49C7-8A73-1E82F5EF8BB4}"
par="FilterExpressionRules&amp;BoostExpressionRules&amp;EnableAutomaticBoosting&amp;FilterCulture=1&amp;SearchBoxBehavior&amp;EnablePartialMatch&amp;PartialMatchKeywords=5&amp;PartialMatchThreshold=50%25&amp;EnableWildcards&amp;EnableQuestionMarks&amp;EnableLowercaseOperators&amp;PagerLocation=%7BA1FBD885-7B5E-4AD3-87D1-06AB48937629%7D&amp;ResultsPerPage=10&amp;PagerShowPreviousNext=1&amp;PagerNumberOfPages=10&amp;PagerMaxNumberOfPages=100&amp;QuerySummaryEnableSearchTips=1&amp;QuerySummaryOnlyDisplaySearchTips&amp;DidYouMeanEnableAutoCorrection=1&amp;EnableInfiniteScroll&amp;InfiniteScrollPageSize=10&amp;DisplayResultsPerPage=1&amp;DisplayFacets=1&amp;DisplayLogo=1&amp;DisplaySearchBox=1&amp;DisplaySorting=1&amp;HideUntilFirstQuery=1&amp;DisplayQueryDuration=1&amp;DisplayQuerySummary=1&amp;DisplayBreadcrumb=1&amp;DisplayDidYouMean=1&amp;DisplayErrorReport=1&amp;DisplayRecommendations=1&amp;DisplayResultList=1&amp;DisplayTabs=1&amp;DefaultSortType&amp;DefaultSortDirection&amp;DefaultSortField&amp;SearchBoxPlaceholderText&amp;AutoFocus=1&amp;ExternalContentSources&amp;ExternalContentCollections&amp;EnableCoveoUsageAnalytics=1&amp;CoveoUsageAnalyticsCustomMetadata&amp;EnableSitecoreAnalytics&amp;SitecoreAnalyticsRestUri=%2Fcoveo%2Frest%2Fv6%2Fanalytics&amp;ThrowExceptionOnValidationError&amp;AutoTriggerQuery=1&amp;ExcerptLength=200&amp;EnableHistory=1&amp;EnableClientSideLogging&amp;IncludeBucketFoldersInResults&amp;IncludeMediaFoldersInResults&amp;QueryPipelineName&amp;RestUri=%2Fcoveo%2Frest&amp;OmniboxEnableFieldAddon&amp;OmniboxEnableSimpleFieldAddon&amp;OmniboxEnableQueryExtensionAddon&amp;ItemId=_7CDDAF40-26B8-4B96-8E3B-54BA20527EBB"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done

<r
ds="{D93961E6-59A5-4532-98B2-1D98AB0D34E4}"
id="{E9ECDF34-1EB8-4466-9615-CBAD9E0E7CD9}"
par="SearchBoxUniqueId&amp;SearchPageItemId&amp;KeepOmniboxSuggestionsProvidersDefaultOrdering&amp;FilterExpressionRules&amp;BoostExpressionRules&amp;EnableAutomaticBoosting&amp;FilterCulture=1&amp;SearchBoxBehavior&amp;EnablePartialMatch&amp;PartialMatchKeywords=5&amp;PartialMatchThreshold=50%25&amp;EnableWildcards&amp;EnableQuestionMarks&amp;EnableLowercaseOperators&amp;ResultsPerPage=10&amp;DefaultSortType&amp;DefaultSortDirection&amp;DefaultSortField&amp;SearchBoxPlaceholderText&amp;AutoFocus=1&amp;ExternalContentSources&amp;ExternalContentCollections&amp;EnableCoveoUsageAnalytics=1&amp;CoveoUsageAnalyticsCustomMetadata&amp;EnableSitecoreAnalytics&amp;SitecoreAnalyticsRestUri=%2Fcoveo%2Frest%2Fv6%2Fanalytics&amp;ThrowExceptionOnValidationError&amp;EnableClientSideLogging&amp;IncludeBucketFoldersInResults&amp;IncludeMediaFoldersInResults&amp;QueryPipelineName&amp;RestUri=%2Fcoveo%2Frest&amp;OmniboxEnableFieldAddon&amp;OmniboxEnableSimpleFieldAddon&amp;OmniboxEnableQueryExtensionAddon&amp;ItemId=_295304F0-C550-4340-8B08-A3354FD878E3"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thread done

ph="navbar-activity"
uid="{F0B59CCD-EC41-4E3E-9F8C-BAC228657FED}" />
<r
ds=""

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il manque ds="{D93961E6-59A5-4532-98B2-1D98AB0D34E4}" pour être pareil come les autres.

<r
ds=""
id="{E9ECDF34-1EB8-4466-9615-CBAD9E0E7CD9}"
par="SearchBoxUniqueId&amp;SearchPageItemId&amp;KeepOmniboxSuggestionsProvidersDefaultOrdering&amp;FilterExpressionRules&amp;BoostExpressionRules&amp;EnableAutomaticBoosting&amp;FilterCulture=1&amp;SearchBoxBehavior&amp;EnablePartialMatch&amp;PartialMatchKeywords=5&amp;PartialMatchThreshold=50%25&amp;EnableWildcards&amp;EnableQuestionMarks&amp;EnableLowercaseOperators&amp;ResultsPerPage=10&amp;DefaultSortType&amp;DefaultSortDirection&amp;DefaultSortField&amp;SearchBoxPlaceholderText&amp;AutoFocus=1&amp;ExternalContentSources&amp;ExternalContentCollections&amp;EnableCoveoUsageAnalytics=1&amp;CoveoUsageAnalyticsCustomMetadata&amp;EnableSitecoreAnalytics&amp;SitecoreAnalyticsRestUri=%2Fcoveo%2Frest%2Fv6%2Fanalytics&amp;ThrowExceptionOnValidationError&amp;EnableClientSideLogging&amp;IncludeBucketFoldersInResults&amp;IncludeMediaFoldersInResults&amp;QueryPipelineName&amp;RestUri=%2Fcoveo%2Frest&amp;OmniboxEnableFieldAddon&amp;OmniboxEnableSimpleFieldAddon&amp;OmniboxEnableQueryExtensionAddon&amp;ItemId=_D04CCB76-3E4C-47CC-AEB7-8D7B499D779E"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il manque toujours la datasource ici.

@@ -37,4 +37,4 @@ MemberOf:
Role: |
modules\Feature Accounts Admin
Role: |
modules\Feature PageContent Admin
modules\Feature PageContent Admin

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peux-tu restaurer le fichier original svp? Celui que tu as présentement manque une fin de ligne à la fin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants