dev-3.0 #1

Merged
Torsten merged 10 commits from dev-3.0 into main 2026-08-18 20:49:15 +00:00
8 changed files with 11 additions and 26 deletions
Showing only changes of commit beaa3ce21d - Show all commits
+2 -2
View File
@@ -6,7 +6,7 @@ PortalSettings V3 ist ein providerbasiertes SPFx-WebPart für SharePoint Server
| Eigenschaft | Wert | | Eigenschaft | Wert |
|---|---| |---|---|
| Version | 3.0.3 | | Version | 3.0.4 |
| SharePoint Framework | 1.4.1 | | SharePoint Framework | 1.4.1 |
| Build-Node | 8.17.0 | | Build-Node | 8.17.0 |
| npm | 6.x | | npm | 6.x |
@@ -155,7 +155,7 @@ sharepoint/solution/portal-settings.sppkg
## Installation ## Installation
1. `portal-settings.sppkg` im App Catalog durch Version `3.0.3.0` ersetzen. 1. `portal-settings.sppkg` im App Catalog durch Version `3.0.4.0` ersetzen.
2. Die App im Root Web der gewünschten Site Collection installieren oder aktualisieren. 2. Die App im Root Web der gewünschten Site Collection installieren oder aktualisieren.
3. Eine moderne Seite erstellen. 3. Eine moderne Seite erstellen.
4. Das WebPart **Portal Settings** einmal auf der Seite hinzufügen. 4. Das WebPart **Portal Settings** einmal auf der Seite hinzufügen.
+1 -1
View File
@@ -2,7 +2,7 @@
Stand: 21.07.2026 Stand: 21.07.2026
Branch: `dev-3.0` Branch: `dev-3.0`
Zielversion: 3.0.3 Zielversion: 3.0.4
## Architektur ## Architektur
+1 -1
View File
@@ -3,7 +3,7 @@
"solution": { "solution": {
"name": "portal-settings-client-side-solution", "name": "portal-settings-client-side-solution",
"id": "1c98e32d-bb7b-43b7-9625-074d6e4ea286", "id": "1c98e32d-bb7b-43b7-9625-074d6e4ea286",
"version": "3.0.3.0", "version": "3.0.4.0",
"includeClientSideAssets": true, "includeClientSideAssets": true,
"skipFeatureDeployment": false "skipFeatureDeployment": false
}, },
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "portal-settings", "name": "portal-settings",
"version": "3.0.3", "version": "3.0.4",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "portal-settings", "name": "portal-settings",
"version": "3.0.3", "version": "3.0.4",
"private": true, "private": true,
"main": "lib/index.js", "main": "lib/index.js",
"engines": { "engines": {
@@ -94,21 +94,7 @@ export const CustomBrandingSettingsProvider: ISettingsProvider<ICustomBrandingSe
allowedCssHosts: [], allowedCssHosts: [],
cssfiles: [], cssfiles: [],
placeholdertop: { elements: [] }, placeholdertop: { elements: [] },
placeholderbottom: { placeholderbottom: { elements: [] }
elements: [{
type: 'div',
attributes: { role: 'contentinfo', 'aria-label': 'Portalverwaltung' },
styles: {
'background-color': '#323130', color: '#ffffff', padding: '12px 16px',
'text-align': 'center', width: '100%', 'box-sizing': 'border-box'
},
children: [{
type: 'a', content: 'Portal Settings',
attributes: { href: '~sitecollection/SitePages/PortalSettings.aspx' },
styles: { color: '#ffffff', 'text-decoration': 'underline' }
}]
}]
}
}), }),
normalize: (value: any): ICustomBrandingSettings => { // tslint:disable-line:no-any normalize: (value: any): ICustomBrandingSettings => { // tslint:disable-line:no-any
const source: any = value && typeof value === 'object' ? value : {}; // tslint:disable-line:no-any const source: any = value && typeof value === 'object' ? value : {}; // tslint:disable-line:no-any
+2 -3
View File
@@ -36,9 +36,8 @@ assert(!!branding.storage.action, 'CustomBranding-Aktivierungsdefinition fehlt.'
assert(branding.storage.action.name === 'CustomBranding', 'CustomBranding Action-Name ist nicht stabil.'); assert(branding.storage.action.name === 'CustomBranding', 'CustomBranding Action-Name ist nicht stabil.');
assert(branding.storage.action.location === 'ClientSideExtension.ApplicationCustomizer', 'CustomBranding Action-Location ist ungültig.'); assert(branding.storage.action.location === 'ClientSideExtension.ApplicationCustomizer', 'CustomBranding Action-Location ist ungültig.');
const defaultBranding: any = branding.createDefault(); // tslint:disable-line:no-any const defaultBranding: any = branding.createDefault(); // tslint:disable-line:no-any
assert(defaultBranding.placeholderbottom.elements.length === 1, 'Standard-Footer für CustomBranding fehlt.'); assert(defaultBranding.placeholderbottom.elements.length === 0,
assert(defaultBranding.placeholderbottom.elements[0].children[0].attributes.href === 'PortalSettings darf keinen Runtime-Standard-Footer in die Konfiguration schreiben.');
'~sitecollection/SitePages/PortalSettings.aspx', 'Standard-Footer verweist nicht auf PortalSettings.');
const normalizedBranding: any = branding.normalize({ elements: [{ type: 'span' }], future: 7 }); // tslint:disable-line:no-any const normalizedBranding: any = branding.normalize({ elements: [{ type: 'span' }], future: 7 }); // tslint:disable-line:no-any
assert(normalizedBranding.placeholdertop.elements.length === 1, 'Legacy-Branding-Elemente werden nicht übernommen.'); assert(normalizedBranding.placeholdertop.elements.length === 1, 'Legacy-Branding-Elemente werden nicht übernommen.');
assert(normalizedBranding.future === 7, 'Unbekannte Branding-Properties gehen verloren.'); assert(normalizedBranding.future === 7, 'Unbekannte Branding-Properties gehen verloren.');
+2 -2
View File
@@ -21,8 +21,8 @@ var sourceFiles = [
'src/ui/PortalSettingsApp.ts' 'src/ui/PortalSettingsApp.ts'
].map(read).join('\n'); ].map(read).join('\n');
assert(packageJson.version === '3.0.3', 'Package-Version ist nicht 3.0.3.'); assert(packageJson.version === '3.0.4', 'Package-Version ist nicht 3.0.4.');
assert(solution.version === '3.0.3.0', 'Solution-Version ist nicht 3.0.3.0.'); assert(solution.version === '3.0.4.0', 'Solution-Version ist nicht 3.0.4.0.');
assert(!solution.features, 'Alte ASPX-Feature-Assets sind noch registriert.'); assert(!solution.features, 'Alte ASPX-Feature-Assets sind noch registriert.');
assert(!!config.bundles['portal-settings-web-part'], 'WebPart-Bundle fehlt.'); assert(!!config.bundles['portal-settings-web-part'], 'WebPart-Bundle fehlt.');
assert(copyAssets.deployCdnPath === 'temp/deploy', 'Ship-Assets werden nicht nach temp/deploy geschrieben.'); assert(copyAssets.deployCdnPath === 'temp/deploy', 'Ship-Assets werden nicht nach temp/deploy geschrieben.');