Bridge.Kentico
0.1.0-alpha
This is a prerelease version of Bridge.Kentico.
dotnet add package Bridge.Kentico --version 0.1.0-alpha
NuGet\Install-Package Bridge.Kentico -Version 0.1.0-alpha
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Bridge.Kentico" Version="0.1.0-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bridge.Kentico" Version="0.1.0-alpha" />
<PackageReference Include="Bridge.Kentico" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Bridge.Kentico --version 0.1.0-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Bridge.Kentico, 0.1.0-alpha"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Bridge.Kentico&version=0.1.0-alpha&prerelease
#tool nuget:?package=Bridge.Kentico&version=0.1.0-alpha&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
-|--|- Bridge
The what?
- A Yaml based service for handling the promotion of Kentico CMS based items thru source control.
The why?
- Because XML is terrible to read and even harder to merge. The reason I created this was to allow us to not only break down features modularly thru some basic configs, but I wanted to make sure it was easy to adopt and that means making it easy to use with source control.
The when?
- Use this either along side an existing Kentico build using the nuget or standalone by cloning this repo and updating the
connectionString
parameters to match your Kentico db.
The how?
- Installation:
- Standalone: clone, compile and run the app. Fire up a browser and go to
localhost/bridge/index
- Alongside: install via nuget and navigate to
yourKenticoUrl/Admin/BridgeUI/index
- Standalone: clone, compile and run the app. Fire up a browser and go to
- The configs:
- CoreConfig: one or more core config can be specified. They contain a list of
classtypes
to care about and a list ofignoreFields
on the item to simply ignore when serializing/syncing. - ContentConfig: one or more content config can be specified. Contains a list of
pagetypes
to care about and a list ofignoreFields
on the items to not serialize/sync. This also will handle all custom fields. Also, aquery
attribute allows you to pick which content within the tree to focus on. This should support a basic Kentico Query.
- CoreConfig: one or more core config can be specified. They contain a list of
- Using the GUI:
- Core Configs:
- Core Configs Serialize All: iterates thru all of the defined
coreConfig
nodes and fetches all the corresponding classes, and stuffs them into theserialization/core/{coreConfigName}
folder. - Core Configs Sync All: this is the inverse of the
Serialize All
task, it takes what's in the file system and pushes it to the Kentico DB. - "Named Core Config" Serialize: pulls just the specified config down to the file system
- "Named Core Config" Sync: pushes just the specified config up to the database
- "Named Core Config" Diff: does a temp serialize of the current Kentico DB and compares it to what's in the filesystem and spits out a diff.
- Core Configs Serialize All: iterates thru all of the defined
- Content Configs:
- Content Configs Serialize All: iterates thru all of the defined
contentConfig
nodes and fetches all the corresponding classes, and stuffs them into theserialization/content/{contentConfigName}
folder. - Content Configs Sync All: this is the inverse of the
Serialize All
task, it takes what's in the file system and pushes it to the Kentico DB. - "Named Content Config" Serialize: pulls just the specified config down to the file system
- "Named Content Config" Sync: pushes just the specified config up to the database
- "Named Content Config" Diff: does a temp serialize of the current Kentico DB and compares it to what's in the filesystem and spits out a diff.
- Content Configs Serialize All: iterates thru all of the defined
- Core Configs:
- The Endpoints:
- Within a dev-ops cycle (ie a release to a dev or test environment) make a call to the Bridge endpoints using an authenticated call (using something like
curl
,wget
orInvoke-WebRequest
). - The response itself should be a stream so it will respond as things occur rather than processing everything and responding.
- The endpoints are as follows:
yourUrl/bridge/diffcore?/{configName}
: returns the comparison between the serialized DB and what is in the file system for the optional core configNameyourUrl/bridge/diffcontent?/{configName}
: returns the comparison between the serialized DB and what is in the file system for the optional content configNameyourUrl/bridge/serializecore?/{configName}
: serializes the specified core config (or all if none specified) to the filesystemyourUrl/bridge/serializecontent?/{configName}
: serializes the specified content config (or all if none specified) to the filesystemyourUrl/bridge/synccore?/{configName}
: syncs the specified core config (or all if none specified) to the databaseyourUrl/bridge/synccontent?/{configName}
: syncs the specified content config (or all if none specified) to the database
- My ultimate goal is to leverage the endpoints in order to promote a continuous integration and deployment methodology within the Kentico community
- Within a dev-ops cycle (ie a release to a dev or test environment) make a call to the Bridge endpoints using an authenticated call (using something like
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.6.1
- DiffPlex (>= 1.5.0)
- Mapster (>= 4.1.1)
- Nancy (>= 2.0.0)
- Nancy.Authentication.Basic (>= 2.0.0)
- Nancy.Hosting.Aspnet (>= 2.0.0)
- YamlDotNet (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0-alpha | 364 | 3/19/2020 |
Initial 0.1.0 alpha release