Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into release/1.8
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeAlhayek committed Jan 1, 2024
2 parents 39f9132 + ef1eaab commit 932f858
Show file tree
Hide file tree
Showing 13 changed files with 170 additions and 36 deletions.
4 changes: 4 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -260,3 +260,7 @@ nav:
- 1.0.0-beta3: docs/releases/1.0.0-beta3.md
- 1.0.0-beta2: docs/releases/1.0.0-beta2.md
- 1.0.0-beta1: docs/releases/1.0.0-beta1.md
- Community:
- Overview: docs/community/README.md
- Honorable Members:
- Jean-Thierry Kéchichian: docs/community/jean-thierry/README.md
12 changes: 6 additions & 6 deletions src/OrchardCore.Build/Dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<PackageManagement Include="GraphQL.DataLoader" Version="4.8.0" />
<PackageManagement Include="GraphQL.MicrosoftDI" Version="4.8.0" />
<PackageManagement Include="GraphQL.SystemTextJson" Version="4.8.0" />
<PackageManagement Include="Jint" Version="3.0.0-beta-2057" />
<PackageManagement Include="Jint" Version="3.0.0-beta-2058" />
<PackageManagement Include="HtmlSanitizer" Version="8.1.812-beta" />
<PackageManagement Include="Irony.Core" Version="1.0.7" />
<PackageManagement Include="libphonenumber-csharp" Version="8.13.27" />
Expand All @@ -46,8 +46,8 @@
<PackageManagement Include="NEST" Version="7.17.5" />
<PackageManagement Include="Newtonsoft.Json" Version="13.0.3" />
<PackageManagement Include="NJsonSchema" Version="10.9.0" />
<PackageManagement Include="NLog.Web.AspNetCore" Version="5.3.7" />
<PackageManagement Include="NodaTime" Version="3.1.9" />
<PackageManagement Include="NLog.Web.AspNetCore" Version="5.3.8" />
<PackageManagement Include="NodaTime" Version="3.1.10" />
<PackageManagement Include="OpenIddict.AspNetCore" Version="5.0.1" />
<PackageManagement Include="OpenIddict.Core" Version="5.0.1" />
<PackageManagement Include="OrchardCore.Translations.All" Version="1.8.0" />
Expand All @@ -58,9 +58,9 @@
<PackageManagement Include="StackExchange.Redis" Version="2.7.10" />
<PackageManagement Include="StyleCop.Analyzers" Version="1.1.118" />
<PackageManagement Include="System.Linq.Async" Version="6.0.1" />
<PackageManagement Include="xunit" Version="2.6.3" />
<PackageManagement Include="xunit.analyzers" Version="1.7.0" />
<PackageManagement Include="xunit.runner.visualstudio" Version="2.5.5" />
<PackageManagement Include="xunit" Version="2.6.4" />
<PackageManagement Include="xunit.analyzers" Version="1.8.0" />
<PackageManagement Include="xunit.runner.visualstudio" Version="2.5.6" />
<PackageManagement Include="YesSql" Version="4.0.0" />
<PackageManagement Include="YesSql.Abstractions" Version="4.0.0" />
<PackageManagement Include="YesSql.Core" Version="4.0.0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,16 @@ public override IEnumerable<Outcome> GetPossibleOutcomes(WorkflowExecutionContex

public string FormLocationKey
{
get => GetProperty<string>();
set => SetProperty(value);
get => GetProperty(() => string.Empty);
set => SetProperty(value ?? string.Empty);
}

public override Task<ActivityExecutionResult> ExecuteAsync(WorkflowExecutionContext workflowContext, ActivityContext activityContext)
{
if (workflowContext.Output.TryGetValue(WorkflowConstants.HttpFormLocationOutputKeyName, out var obj)
&& obj is Dictionary<string, string> formLocations)
{
// if no custom location-key was provided, we use empty string as the default key.
var location = FormLocationKey ?? string.Empty;

if (formLocations.TryGetValue(location, out var path))
if (formLocations.TryGetValue(FormLocationKey, out var path))
{
_httpContextAccessor.HttpContext.Items[WorkflowConstants.FormOriginatedLocationItemsKey] = path;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
<label asp-for="FormLocationKey" class="form-label">@T["Form Location Key"]</label>
<input type="text" asp-for="FormLocationKey" class="form-control" />
<span asp-validation-for="FormLocationKey"></span>
<span class="hint">@T["This value needs to correspond with the Form Location Key value utilized in the HTTP request event settings. Leave blank if the workflow handles a single form event."]</span>
<span class="hint">@T["This key name should be equal to the 'Form Location Key' of the HTTP request event. Leave blank if the workflow only handles a single form."]</span>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ public int TokenLifeSpan

public string FormLocationKey
{
get => GetProperty<string>();
set => SetProperty(value);
get => GetProperty(() => string.Empty);
set => SetProperty(value ?? string.Empty);
}

public override bool CanExecute(WorkflowExecutionContext workflowContext, ActivityContext activityContext)
Expand All @@ -77,13 +77,10 @@ public override Task<ActivityExecutionResult> ExecuteAsync(WorkflowExecutionCont
if (!workflowContext.Output.TryGetValue(WorkflowConstants.HttpFormLocationOutputKeyName, out var obj)
|| obj is not Dictionary<string, string> formLocation)
{
formLocation = new Dictionary<string, string>();
formLocation = [];
}

// if no custom location-key was provided, we use empty string as the default key.
var location = FormLocationKey ?? string.Empty;

formLocation[location] = GetLocationUrl(value);
formLocation[FormLocationKey] = GetLocationUrl(value);

workflowContext.Output[WorkflowConstants.HttpFormLocationOutputKeyName] = formLocation;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@


<div class="mb-3" asp-validation-class-for="FormLocationKey">
<label asp-for="FormLocationKey" class="form-label">@T["Form Location"]</label>
<label asp-for="FormLocationKey" class="form-label">@T["Form Location Key"]</label>
<input type="text" asp-for="FormLocationKey" class="form-control" />
<span asp-validation-for="FormLocationKey"></span>
<span class="hint">@T["This key serves to differentiate the current form's location. Leave blank if the workflow handles a single form event."]</span>
<span class="hint">@T["This key name is used to store and then retrieve the current form's location. Leave blank if the workflow doesn't handle any form or a single one."]</span>
</div>

<script depends-on="jQuery" asp-src="~/OrchardCore.Workflows/Scripts/orchard.http-request-event-editor.min.js" debug-src="~/OrchardCore.Workflows/Scripts/orchard.http-request-event-editor.js" at="Foot"></script>
Expand Down
7 changes: 7 additions & 0 deletions src/docs/community/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Community

The Orchard Core community is a thriving hub of collaboration and knowledge exchange, where diverse members come together to contribute to the growth and innovation of Orchard Core. This dynamic group is characterized by its shared passion for development and a commitment to supporting one another. In recognizing those who have played instrumental roles in our collective journey, we extend our gratitude to the following honorable member:

## Honorable Members

- [Jean-Thierry Kéchichian](jean-thierry/README.md)
13 changes: 13 additions & 0 deletions src/docs/community/jean-thierry/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# In honor of Jean-Thierry Kéchichian

![image](images/profile.png)

It is with sadness that we grieve the loss of [Jean Thierry Kéchichian](https://github.com/jtkech) on the morning of December 24, 2023. His incredible kindness, unwavering assistance and vast knowledge have left an impression on our community. Jean-Thierry was a guiding light to provide detailed answers and educate those in search of guidance. His dedication to the Orchard Core project was unmatched. His contributions will forever resonate within the spaces he helped shape.

Jean-Thierry never turned anyone away in need; he always extended a helping hand with grace. His legacy can be found not only in the lines of code he wrote, or the detailed comments he blessed us with. But, in the countless lives he touched through his generosity and warmth. The void left by his absence is immeasurable. We will deeply miss him in our community.

As we navigate this time let us remember and celebrate the person that Jean Thierry was – a friend, mentor and true pillar of our community. His spirit will continue to live on through the projects he championed. The knowledge he generously shared.

Rest peacefully Jean Thierry Kéchichian. Your memory will forever inspire us.

If you like to recall the moments that he brought smiles to your face, the wisdom he shared with you, or the profound impact he had on you, [please leave your comment here](https://github.com/OrchardCMS/OrchardCore/issues/14954).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions src/docs/reference/modules/Elasticsearch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ You should get this result in Docker Desktop app:

### Set up Elasticsearch in Orchard Core

- Add Elastic Connection in the shell configuration (OrchardCore.Cms.Web appsettings.json file). [See Elasticsearch Configurations](#elasticsearch-configuration).
- Add Elastic Connection in the shell configuration (OrchardCore.Cms.Web `appsettings.json` file). [See Elasticsearch Configurations](#elasticsearch-configuration).

- Start an Orchard Core instance with VS Code debugger
- Go to Orchard Core features, Enable Elasticsearch.
Expand Down Expand Up @@ -109,7 +109,7 @@ It doesn't delete existing entries from the index.
{
"steps":[
{
"name":"lucene-index-reset",
"name":"elastic-index-reset",
"Indices":[
"IndexName1",
"IndexName2"
Expand All @@ -125,7 +125,7 @@ To reset all indices:
{
"steps":[
{
"name":"lucene-index-reset",
"name":"elastic-index-reset",
"IncludeAll":true
}
]
Expand All @@ -141,7 +141,7 @@ Deletes and recreates the full index content.
{
"steps":[
{
"name":"lucene-index-rebuild",
"name":"elastic-index-rebuild",
"Indices":[
"IndexName1",
"IndexName2"
Expand All @@ -157,7 +157,7 @@ To rebuild all indices:
{
"steps":[
{
"name":"lucene-index-rebuild",
"name":"elastic-index-rebuild",
"IncludeAll":true
}
]
Expand Down Expand Up @@ -214,7 +214,7 @@ See: <https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.

## Elasticsearch configuration

The Elasticsearch module connection configuration can be set globally in the appsettings.json file or per tenant.
The Elasticsearch module connection configuration can be set globally in the `appsettings.json` file or per tenant.

```json
"OrchardCore_Elasticsearch": {
Expand Down
116 changes: 116 additions & 0 deletions src/docs/reference/modules/Lucene/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,122 @@ If you are running on Azure App Services or if you are using Elasticsearch, then
The Lucene module provides a management UI and APIs for querying Lucene data using ElasticSearch Queries.
See: <https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html>

## Recipe step

Lucene indices can be created during recipe execution using the `ElasticIndexSettings` step.
Here is a sample step:

```json
{
"steps":[
{
"name":"LuceneIndexSettings",
"Indices":[
{
"Search":{
"AnalyzerName":"standardanalyzer",
"IndexLatest":false,
"Culture":"",
"StoreSourceData":false,
"IndexedContentTypes":[
"Article",
"BlogPost"
]
}
}
]
}
]
}
```

## Lucene settings recipe step

Here is an example for setting default search settings:

```json
{
"steps":[
{
// Create the search settings.
"name":"Settings",
"LuceneSettings":{
"SearchIndex":"search",
"DefaultSearchFields":[
"Content.ContentItem.FullText"
],
"AllowLuceneQueriesInSearch":false
}
}
]
}
```

### Reset Lucene Index Step

This Reset Index Step resets an Lucene index.
Restarts the indexing process from the beginning in order to update current content items.
It doesn't delete existing entries from the index.

```json
{
"steps":[
{
"name":"lucene-index-reset",
"Indices":[
"IndexName1",
"IndexName2"
]
}
]
}
```

To reset all indices:

```json
{
"steps":[
{
"name":"lucene-index-reset",
"IncludeAll":true
}
]
}
```

### Rebuild Lucene Index Step

This Rebuild Index Step rebuilds an Lucene index.
Deletes and recreates the full index content.

```json
{
"steps":[
{
"name":"lucene-index-rebuild",
"Indices":[
"IndexName1",
"IndexName2"
]
}
]
}
```

To rebuild all indices:

```json
{
"steps":[
{
"name":"lucene-index-rebuild",
"IncludeAll":true
}
]
}
```

### Query Filters

Query filters are used to retrieve records from Lucene without taking care of the boost values on them. So, it is retrieving records just like a SQL database would do.
Expand Down
4 changes: 2 additions & 2 deletions src/docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
mkdocs>=1.5.3
mkdocs-material>=9.5.2
mkdocs-material>=9.5.3
mkdocs-git-authors-plugin>=0.7.2
mkdocs-git-revision-date-localized-plugin>=1.2.2
pymdown-extensions>=10.5
pymdown-extensions>=10.7
mkdocs-exclude>=1.0.2
mdx_truly_sane_lists>=1.2
12 changes: 6 additions & 6 deletions src/docs/resources/libraries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The below table lists the different .NET libraries used in Orchard Core:
| [HtmlSanitizer](https://github.com/mganss/HtmlSanitizer) | Cleans HTML to avoid XSS attacks. | 8.1.812-beta | [MIT](https://github.com/mganss/HtmlSanitizer/blob/master/LICENSE.md) |
| [Image Sharp](https://github.com/SixLabors/ImageSharp.Web) | Middleware for ASP.NET-Core for image manipulation. | 3.1.0 |[Apache-2.0](https://github.com/SixLabors/ImageSharp.Web/blob/master/LICENSE) |
| [Irony.Core](https://github.com/daxnet/irony) | A modified version of the Irony project with .NET Core support | 1.0.7 | [MIT](https://github.com/daxnet/irony/blob/master/LICENSE) |
| [Jint](https://github.com/sebastienros/jint) | Javascript Interpreter for .NET. | 3.0.0-beta-2057 | [MIT](https://github.com/sebastienros/jint/blob/dev/LICENSE) |
| [Jint](https://github.com/sebastienros/jint) | Javascript Interpreter for .NET. | 3.0.0-beta-2058 | [MIT](https://github.com/sebastienros/jint/blob/dev/LICENSE) |
| [libphonenumber-csharp](https://github.com/twcclegg/libphonenumber-csharp) | .NET library for parsing, formatting, and validating international phone numbers | 8.13.27 | [Apache-2.0](https://github.com/twcclegg/libphonenumber-csharp/blob/main/LICENSE) |
| [Lorem.NET for netstandard](https://github.com/trichards57/Lorem.Universal.NET) | A .NET library for all things random! | 4.0.80 | [MIT](https://github.com/trichards57/Lorem.Universal.NET/blob/master/license.md) |
| [Lucene.Net](https://github.com/apache/lucenenet) | .NET full-text search engine. | 4.8.0-beta00016 | [Apache-2.0](https://github.com/apache/lucenenet/blob/master/LICENSE.txt) |
Expand All @@ -34,8 +34,8 @@ The below table lists the different .NET libraries used in Orchard Core:
| [NEST](https://github.com/elastic/elasticsearch-net) | .NET Library for Elasticsearch | 7.17.5 | [Apache-2.0](https://github.com/elastic/elasticsearch-net/blob/main/LICENSE.txt) |
| [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) | Json.NET is a popular high-performance JSON framework for .NET | 13.0.3 | [MIT](https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md) |
| [NJsonSchema](https://github.com/RicoSuter/NJsonSchema) | JSON Schema reader, generator and validator for .NET | 10.9.0 | [MIT](https://github.com/RicoSuter/NJsonSchema/blob/master/LICENSE.md) |
| [NLog.Web.AspNetCore](https://github.com/NLog/NLog.Web/tree/master/src/NLog.Web.AspNetCore) | NLog integration for ASP.NET. | 5.3.7 | [BSD-3-Clause](https://github.com/NLog/NLog.Web/blob/master/LICENSE) |
| [Noda Time](https://github.com/nodatime/nodatime) | A better date and time API for .NET. | 3.1.9 | [Apache-2.0](https://github.com/nodatime/nodatime/blob/master/LICENSE.txt) |
| [NLog.Web.AspNetCore](https://github.com/NLog/NLog.Web/tree/master/src/NLog.Web.AspNetCore) | NLog integration for ASP.NET. | 5.3.8 | [BSD-3-Clause](https://github.com/NLog/NLog.Web/blob/master/LICENSE) |
| [Noda Time](https://github.com/nodatime/nodatime) | A better date and time API for .NET. | 3.1.10 | [Apache-2.0](https://github.com/nodatime/nodatime/blob/master/LICENSE.txt) |
| [OpenIddict](https://github.com/openiddict/openiddict-core) | Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET. | 5.0.1 | [Apache-2.0](https://github.com/openiddict/openiddict-core/blob/dev/LICENSE.md)) |
| [PdfPig](https://github.com/UglyToad/PdfPig/) | Library to read and extract text and other content from PDF files. | 0.1.8 | [Apache-2.0](https://github.com/UglyToad/PdfPig/blob/master/LICENSE) |
| [Serilog.AspNetCore](https://github.com/serilog/serilog-aspnetcore) | Serilog integration for ASP.NET Core. | 7.0.0 | [Apache-2.0](https://github.com/serilog/serilog-aspnetcore/blob/dev/LICENSE) |
Expand Down Expand Up @@ -95,6 +95,6 @@ The below table lists the different Tests libraries:
| [Cypress Orchard](https://www.npmjs.com/package/cypress-orchardcore) | A collection of cypress commands for Orchard Core. | 0.4.5 | MIT |
| [Moq](https://github.com/moq/moq) | The most popular and friendly mocking framework for .NET. | 4.20.70 | [MIT](https://github.com/moq/moq/blob/main/LICENSE) |
| [VS Test SDK](https://github.com/microsoft/vstest/) | Visual Studio Test Platform. | 17.8.0 | [MIT](https://github.com/microsoft/vstest/blob/master/LICENSE) |
| [xUnit](https://github.com/xunit/xunit) | Free, open source, community-focused unit testing tool for the .NET Framework. | 2.6.3 | [MIT](https://github.com/xunit/xunit/blob/main/LICENSE) |
| [xUnit Analyzers](https://github.com/xunit/xunit.analyzers) | Roslyn analyzers for xUnit.net. | 1.7.0 | [MIT](https://github.com/xunit/xunit.analyzers/blob/main/LICENSE) |
| [xUnit VS runner](https://github.com/xunit/visualstudio.xunit) | VSTest runner for xUnit.net. | 2.5.5 | [MIT](https://github.com/xunit/visualstudio.xunit/blob/main/License.txt) |
| [xUnit](https://github.com/xunit/xunit) | Free, open source, community-focused unit testing tool for the .NET Framework. | 2.6.4 | [MIT](https://github.com/xunit/xunit/blob/main/LICENSE) |
| [xUnit Analyzers](https://github.com/xunit/xunit.analyzers) | Roslyn analyzers for xUnit.net. | 1.8.0 | [MIT](https://github.com/xunit/xunit.analyzers/blob/main/LICENSE) |
| [xUnit VS runner](https://github.com/xunit/visualstudio.xunit) | VSTest runner for xUnit.net. | 2.5.6 | [MIT](https://github.com/xunit/visualstudio.xunit/blob/main/License.txt) |

0 comments on commit 932f858

Please sign in to comment.