Programmierung
Programmierung
|
Administration •
Links •
Vorgehensmodelle •
NuGet •
Transformations •
MSBuild •
Raspberry •
Cheatsheets •
Git •
Mathematica
|
C♯
|
|
F♯
|
|
Python
|
Classes •
Loops •
Anonymous Types •
Lambda Expressions •
Queries (LINQ) •
Iterators (yield)
|
PHP
|
|
T-SQL / SQL Server
|
T-SQL Fundamantals
|
Select •
Programming •
Pitfalls •
Query from Multiple Tables •
Groups and Summaries •
Advanced Select •
Aggregation and Windowing •
Insert, Update, Delete •
Strings •
Date and Time •
Numbers •
Transactions, Locking, Blocking, Deadlock •
Tables •
Views •
Large Tables and Databases •
Indexes •
Stored Procedures •
User-Defined Functions and Types •
Triggers •
Error Handling •
Query Performance and Tuning •
Hints •
Index Tuning and Statistics •
XML •
Files, Filegroups, Integrity •
Backup •
Recovery •
Principals and Users •
Securables, Permissions, Auditing •
Objects and Dependencies
|
SQL Server Performance Tuning
|
Memory Performance Analysis •
Disk Performance Analysis •
CPU Performance Analysis •
Baseline Creation •
Query Performance Metrics •
Query Performance Analysis •
Index Architecture and Behavior •
Index Analysis •
Database Engine Tuning Advisor •
Key Lookups •
Statistics, Data Distributuon, and Cardinality •
Index Fragmentation •
Execution Plan Generation •
Execution Plan Cache Behavior •
Parameter Sniffing •
Query Recompilation •
Query Design Analysis •
Reduce Query Resource Use •
Blocking and Blocked Processes •
Causes and Solutions for Deadlocks •
Row-By-Row Processing •
Memory-Optimized OLTP Tables and Procedures •
Database Performance Testing •
Database Workload Optimization •
SQL Server Optimization Checklist
|
Service Broker
|
Message •
Contract •
Queue •
Service •
.NET Integration •
Route •
Security
|
|
Datatypes •
Unit Testing •
Dependency Injection •
Partitioning •
|
|
.NET
|
|
ASP.NET
|
|
Messaging
|
|
User Interface
|
|
Parallel Programming
|
|
ECMAScript
|
|
SharePoint
|
|
Microsoft CRM
|
Reporting and Dashboards •
SharePoint Integration •
Authentication •
Entity Handling •
Workflows •
Queries
|
Security
|
Forms Authentication •
Membership and Role Provider •
Zertifikate •
OAuth •
OpenID •
Windows Identity Foundation
|
Dateiformate
|
CSV •
Excel •
Word •
PDF •
Email
|
Azure
|
|
Muster
|
|
Powershell
|
|
Android
|
ROM Flashen •
Unit Testing •
Assistant
|
Machine Learning
|
|
Core Server
|
Hyper-V •
Active Directory User Groups •
Active Directory Domain Services •
Active Directory Federation Services •
DHCP •
IIS •
DNS •
RDP •
WSUS •
User Permissions •
IP •
SMB •
DHCP •
IPAM •
Sonstige
|
Bot Framework
|
Rich Messages •
|
- direkt in das SharePoint-Webinterface integriert
- vorgefertigte Komponenten für
- Standardaktivitäten (Nachricht senden)
- Interaktion mit Systemen von Drittanbietern
- Überwachung und Protokollierung
- Darstellung von Ablaufdiagrammen
- Statistiken und Berichte
- Funktioniert auch mit
- SharePoint Foundation
- Windows SharePoint Services 3.0 (SharePoint 2007)
- Enterprise-Edition bietet zusätzliche Workflows
- Verwaltung von Active Directory-Accounts und -Gruppen
- Microsoft Dynamics
- BizTalk
- etc.
- Feature muss über Zentraladministration aktiviert werden
NintexWorkflow20xx.wsp
NintexWorkflow20xxEnterprise.wsp (optional; zusätzliche Business-Aktivities)
NintextLiveCore.wsp (optional)
- Support Cloud Dienste wie Twitter, DropBox, Office 365, Facebook, SharePoint, Xammer, Amazon EC2 Cloud, Bing-Suche, Skydrive, Wordpress
- wird in der Zentraladministration als eigener Unterpunkt eingehängt
Nintext Workflow Konfiguration
Konfiguration nach Installation
|
Konfiguration im Betrieb
|
- Lizensierung
- Datenbankeinstellung
- Aktivierung von Webanwendungen
- zum Speichern von Inhaltsdaten, Workflowzustand und Protokolle
- Konfiguration auf welche Webanwendungen zugegriffen werden kann
- Erlaubte Aktionen verwalten
- Freigabe von Aktionen auf Farmebene
- kann auf Unterebenen weiter eingeschränkt werden
- Globale Einstellungen
- SMTP-Server, Berechtigung, erweiterte Protokollierung, etc.
- Lazy-Approval-Einstellungen
- Konfiguration eines Tokens in E-Mail für schnelle Zuweisung
- Vorlage für Benachrichtigungen
- Kopf- und Fußzeilen von E-Mails
- Workflowkonstanten verwalten
- Servernamen, LDAP-Accounts, Web-Services, etc.
|
- User Defined Actions verwalten
- Farm-weite Freigabe von eigenen Actions
- kann auf Unterseiten weiter eingeschränkt werden
- Kontextdaten verwalten
- Verwalten von Metadaten
- Workflowberichte verwalten
- hinzufügen und verwalten von Workflowberichtetn
- können in mitgelieferten Webparts angezeigt werden
- Verwaltungsberichte
- Anzeige der Workflowberichte
- Benachrichtigung bei Workflowfehlern
- Einstellung, ob Fehler an den Initiator des Workflows gesendet werden sollen
- Wokflowdaten löschen
- Live-Einstellungen
- Konfiguration von Nintex Live
- Live-Katalogeinstellungen
- Verwaltung von Cloud-Diensten
- Live-Zugriffsverwaltung
- Verwaltung von Rechten auf Nintex Live Dienste
|
Site Collection |
Site
|
→ Website Settings
→ Website Collection Management
→ Website Collection Features
→ Nintex Workflow 2013
→ Activate
|
→ Website Settings
→ Website Management
→ Website Features
→ Nintex Workflow 2013
→ Activate
|
- sind unter
http://meinserver.com/_vti_bin/NintexWorkflow/Workflow.asmx erreichbar
- Importierund und Veröffentlichen von Workflows
- Speichern und Exportieren von Workflows
- Starten und Stoppen von Workflows
- Managen von Aufgaben
- unter anderem auch Abschließen und Delegieren von Aufgaben
- Feature Receiver zum Veröffentlichen eines Workflows
public class NintexWFComponentsFeatureReceiver : SPFeatureReceiver
{
public override void FeatureActivated(SDPFeatureReceiverProperties properties)
{
using(var web = properties.Feature.Parent as SPWeb)
{
SPList projectList = web.Lists["Projekte"];
EnsureWorkflows(properties, web, projectList, "Projektgenehmigung"), "projektgenehmigung.nlf");
}
}
public void EnsureWorkflow(SPWeb web, SPFeatureReceiverProperties properties, SPList list, string destinationWorkflowName, string pathToNWF)
{
SPSecurity.RunWithElevatedPrivileges(() => {
using(var elevatedSite = new SPSite(web.Site.ID))
{
using(var elevatedWeb = elevatedSite.OpenWeb(web.ID))
{
// load workflow
byte[] nwfFile = getWorkflowNWF(pathToNWF);
// create web service URL
var webServiceUrl = web.Url;
if(!webServiceUrl.EndsWith("/"))
{
webServiceUrl += "/";
}
webServiceUrl += "_vti_bin/nintexworkflow/workflow.asmx";
// initialize Nintex Workflow Webserivce
var service = new NintexWorkflowWS.NintexWorkflowWS()
{
Url = webServiceUrl,
Credentials = getRunTimeCredentials(elevatedWeb);
};
// check if workflow is published
if(service.WorkflowExists(destinationWorkflowName, list.ID) == NameInUseStatus.NameUsedInThisList)
{
RemoveWorkflow(elevatedWeb, properties, list, destinationWorkflowName);
}
// publish workflow
try
{
service.PublishFromNWF(nwfFile, list.Title, destinationWorkflowName, true);
}
catch(Exception e)
{
throw new Exception("Fehler beim Veröffentlichen des Workflows '" + destinationWorkflowName + "' für Liste '" + list.Title + "': " + ex.ToString());
}
}
}
});
}
}
→ Websaiteeinstellungen
→ Web-Designer-Kataloge
→ Websiteinhaltstypen
→ Inhaltstyp auswählen
→ Workfloweinstellungen
→ Workflow hinzufügen
fassen mehrere WF-Schritte zusammen; wiederverwendbare Komponenten
→ Websiteeinstellungen
→ Manage User defined Actions
- dient der Dokumentation
Run as WF User - run with elevated Privileges
Save as Snippet - speichert die Gruppe als Snippet für Copy&Paste
Pattern:
→ Element auschecken (Checkout)
→ Feldwert setzen
→ Element einchecken (Checkin)
Achtung: aus- und einchecken verändert Dokumentversion!
Alternative: (custom code)
→ Nachschlagen in Liste
→ Update item (systemupdate)
Query Builder
Einstellung |
Bedeutung
|
Liste |
Auswahl in welcher Liste nach Items gesucht wird
|
Filter |
- field of item in list
- relation to
- field of current item or global variable
|
Sort |
Angabe der Sortierung
|
Field |
Zuweisung von einem oder mehreren Feldern des gefundenen Items auf globale Variablen
|
- Field name
- Name des Feldes am Item das geändert werden soll.
- Value
- Globale Variable die als Wert gesetzt werden soll.
- Error occured, Error message
- Nachricht und Detailbeschreibung aus globalen Variablen, welche geloggt werden sollen, falls das Setzen des Wertes nicht klappt.
Applikationsmanagement
|
Regeln
|
Richtlinien
|
- Art und Scope der Anwendung
- Anforderungsprozess
- Deployment-Prozess
- Test/Qualitätssicherung
- Art, Architektur, Patterns der Workflows
- Freigegebene Workflowaktivitäten
- Integrierte Komponenten
- (zB. Formulare, Webdienste, Code)
- Konfiugration von Rahmenbedingungen ua. referenzierte Listen, Workflowkonstanten, Inhaltstypen, Nachrichtenversand
|
- Wo werden Workflows erstellt?
- Wann werden sie produktiv eingespielt?
- Wie sind Benachrichtigungen zu konfigurieren?
- Welche Aktivitäten werden für welche Ebenen und Websites freigegeben?
|
- Dokumentation der Workflows/Workflowaktivitäten
- In-Workflow-Protokollierung
- Zustellung von Nachrichten
- Verwendung von Aufgabenaktivitäten und Delegierung
- Supportaufgaben
- Berücksichtigung von Werktaen und Feiertagen im Workflow
- Auswertung von Workflows und anwenderbezogenen Daten im Rahmen des Workflows
- Lebenszyklus von Workflows
|
Rollen
Endanwender |
PowerUser IT-Pro |
Administratoren |
Entwickler |
Prozessverwantwortliche
|
Erhalten Aufgaben und Nachrichten im Rahmen des Workflows
|
erstellen Nintex Workflows
|
verwalten und betreiben die Plattform und Workflow Engine
|
programmieren Erweiterungen und Schnittstellen
|
definieren den Prozess und sind verwantwortlich für den Ablauf im Workflow und die Weiterentwicklung
|
Beschreiben von Prozessaktivitäten
|
Implementierungsworkshop
|
Definition von Tests
|
- Welche technische Aktivitäten (Mail versenden, Aufgabe erstellen, Datum berechnen, etc.) verbergen sich hinter Prozessaktivitäten?
- Welche Personen und Rollen sind beteiligt?
- Welche Metadaten werden benötigt?
- Welche Drittsysteme (z.B. Datenbank oder Webdienst) sind beteiligt?
- Verbale Beschreibung der Prozessaktivität
- Input und Output der Prozessaktivitäten
- zB. Ein- uns Ausgabendokumente, Metadaten, Variablen
- Welche zeitlichen Abhängigkeiten (Wartezeiten, parallele Abarbeitung, Erinnerungen und Eskalationen) gibt es zwischen den Aktivitäten?
- Welche Aktivitäten des gelebten Prozesses werden eventuell nicht mehr benötigt?
- (Eingabevalidierung ersetzt eine technische oder manuelle Prüfung, etc.)
|
- Welche Funktionen/Workflowaktionen hat Nintex Workflow?
- Wie kann der Workflow im Rahmen des Prozesses in die Arbeitsumgebung der beteiligten Personen integriert werden?
- Lösungsmöglichkeiten wären Mails und Aufgaben in Outlook, Benachrichtigungen, Erinnnerungen
- Wie wird der Workflow gestartet und verwaltet?
- Wie bearbeitet man Workflowaufgaben?
- Genügen die Standardaufgabenformulare (zB. für Genehmigungen), oder müssen sie beispielsweise durch InfoPath oder Nintex Forms angepasst werden?
|
- Workflowverlaufsplan und Berücksichtigung aller möglichen Verzweigungen
- Test aller möglichen „Workflowwege“
- Zu jeder Workflowaktivität
- Eingabe, erwartete Ausgabe, tatsächliche Ausgabe, Bemerkungen
- Testpläne gemäß Rollen im Prozess/Workflow individualisieren
|
|