Web- und Software Development

Automatisiertes Ein- und Auschecken im Buildprozess

Written By: Mario Priebe - Jan• 12•12

Möchte man nach einem Build, die Assembly in ein dafür bereitgestelltes Verzeichnis kopieren, kann man das recht einfach im Prä- und Postbuild-Ereignis im Visual Studio definieren. Hat man die DLL jedoch im TFS eingecheckt, muss man vor dem Kopieren dafür Sorge tragen, dass die Datei ausgecheckt wurde, ansonsten kann die eben wegen dem Schreibschutz nicht überschrieben werden.

Unter “C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE” findet man die tf.exe, die es einem erlaubt, den TFS über den Kommandozeileninterpreter zu verwenden. Wie man die einzelnen Parameter verwendet, findet man ganz leicht über die Hilfe (tf help [command]) heraus : )

Um hier aber nicht händisch vorgehen zu müssen, kann man die über folgende Einträge in den Buildereignissen diese Aufgabe automatisieren. Diese findet man in den Eigenschaften vom Projekt.

2012-01-12 13h26_44

Im Prä- und im Postbuildereignis, kann man Befehle verknüpft mit Makros, Pfade und Dateinamen angeben.

Unter dem Button Makros, findet man einige vordefinierte Makros, die man verwenden kann.

2012-01-12 13h35_441

Jedoch gibt es da noch einige mehr. Eine Liste verfügbarer Makros findet man in der MSDN.

Im Präbuildereignis checken wir die entsprechende Datei aus:

"$(DevEnvDir)tf" checkout "$(SolutionDir)../Bin/$(TargetFileName)"

und nach dem Erstellen, also im Postbuild kopieren wir die Datei und checken diese wieder ein. Hier kann man auch einen notwendigen Kommentar hinterlassen.

copy "$(TargetPath)" "$(SolutionDir)../Bin/$(TargetFileName)" "$(DevEnvDir)tf" checkin /noprompt /comment:"automatic build checkin" "$(SolutionDir)../Bin/$(TargetFileName)"

Das Ganze sieht dann wie folgt aus:

2012-01-12 13h32_29

 

Nach einem erfolgreichen Build, wird die Assembly nun ausgecheckt, durch den neuen Build ersetzt und wieder in den TFS eingecheckt.

 

Viel Spaß beim entwickeln : )

WebSequenceDiagrams API mit .NET

Written By: Mario Priebe - Dez• 28•11

Heute bin ich durch einen Tweet auf websequencediagrams aufmerksam geworden. Mit websequencediagrams kann man sich über eine einfache Textnotation ein SequenzDiagramm in verschiedenen Styles erstellen lassen.

Die Applikation bietet aber auch eine Schnittstelle die es einem ermöglicht mit .NET ein solches Diagramm zu erstellen.

Folgendes CodeSnippet soll zeigen wie:

1 public void SaveSequenceDiagram(string data, string outFile, SequenceStyle style, SequenceOutputFormat outputFormat) 2 { 3 var request = WebRequest.Create("http://www.websequencediagrams.com"); 4 request.Method = "POST"; 5 6 string postData = string.Format("style={0}&format={1}&message={2}", style, outputFormat, HttpUtility.UrlEncode(data, Encoding.UTF8)); 7 8 byte[] byteArray = Encoding.UTF8.GetBytes(postData); 9 request.ContentType = "application/x-www-form-urlencoded"; 10 request.ContentLength = byteArray.Length; 11 12 //because error: The remote server returned an error: (417) Expectation Failed. 13 System.Net.ServicePointManager.Expect100Continue = false; 14 15 Stream dataStream = request.GetRequestStream(); 16 dataStream.Write(byteArray, 0, byteArray.Length); 17 dataStream.Close(); 18 19 dataStream = request.GetResponse().GetResponseStream(); 20 if (dataStream == null) return; 21 22 using (var reader = new StreamReader(dataStream)) 23 { 24 string responseFromServer = reader.ReadToEnd(); 25 var image = responseFromServer.Substring(12, 9); 26 27 using (var webClient = new WebClient()) 28 { 29 byte[] resp = webClient.DownloadData(string.Format("http://www.websequencediagrams.com?{0}={1}", outputFormat, image)); 30 using (var fileStream = new FileStream(outFile, FileMode.OpenOrCreate)) 31 { 32 fileStream.Write(resp, 0, resp.Length); 33 } 34 } 35 } 36 37 dataStream.Close(); 38 }

1 public enum SequenceOutputFormat 2 { 3 img, 4 pdf, 5 png, 6 svg 7 }

1 public enum SequenceStyle 2 { 3 @default, 4 earth, 5 modernblue, 6 mscgen, 7 omegapple, 8 qsd, 9 rose, 10 roundgreen, 11 napkin, 12 }

Aufgerufen wird das ganze wie folgt:

1 SaveSequenceDiagram("Alice->Bob: Authentication Request\nactivate Bob\nBob->Alice: Authentication Response\ndeactivate Bob", "out.svg", 2 SequenceStyle.roundgreen, SequenceOutputFormat.svg);

Beim Aufruf an den Dienst hab ich zu Anfang immer folgende Fehlermeldung bekommen “The remote server returned an error: (417) Expectation Failed.” Die Problemlösung habe ich nach etwas googlen, beim Gordon finden können. Danke nochmal an dieser Stelle.

Viel Spaß beim entwickeln : )

Iconset-Sammlung – Minimalistische Icons

Written By: Mario Priebe - Dez• 25•11

Für die Entwicklung von ansprechenden Applikationen sind die visuellen Elemente essentiell. Dazu gehören die kleinen Bildchen – oder auch Icons genannt – die dem Anwender auf einem Blick klar machen sollen, welche Funktion sich dahinter verbirgt.

Wir Entwickler haben meist nicht so das Händchen dafür, solche Icons zu erstellen. Wir sollten aber wissen, wo man denn das eine oder andere frei verfügbare Icon herbekommt. Ich hatte dazu vor einiger Zeit schon einmal ein paar Icon-Suchmaschinen verbloggt.

In diesem Artikel möchte ich auf ein paar Icon-Sets aufmerksam machen, die ich mit der Zeit so gesammelt habe, jedoch bei allen noch nicht weiß, wie die Lizenzvoraussetzungen sind. Dazu ggfls. einfach beim Designer nachfragen. In diesen Sets sind Icons dabei die für Anwendungen jeglicher Art sind.

Ob Android, für das Webdesign, für die iOS (iPhone, iPad), Windows oder Windows Phone für jeden ist etwas dabei.

Viel Spaß beim stöbern : )

Google+ Icons (200)

2011-12-25 13h48_10

 

Icons for Windows 8

2011-12-25 12h52_37

 

The Noun Project

2011-12-25 12h59_26

 

Open Icon Library

 

2011-12-25 13h54_38

 

Iconic

2011-12-25 12h54_09

 

500+ Free Stunning PC Icons

2011-12-25 12h56_28

2011-12-25 12h56_43

2011-12-25 12h57_04

 

Free Wireframe Toolbar Icons for GUI designers

2011-12-25 13h56_28

 

200+ Free Exclusive Vector Icons: Primo

2011-12-25 13h30_10

 

108 Mono Icons: Huge Set of Minimal Icons

2011-12-25 12h58_05

 

IconSweets 1

2011-12-25 13h06_17

 

IconSweets 2

2011-12-25 13h36_03

30 Vector Icons

2011-12-25 13h27_31

 

15 Free Photoshop Shapes – Web Icons & Buttons

2011-12-25 13h28_05

 

50 Beautiful and Free Social Media Icons For 2010

2011-12-25 13h31_03

 

Payment Icon Set

2011-12-25 13h32_41

 

WPZOOM Developer Icon Set (154 free icons)

2011-12-25 13h34_48

 

3D Glossy Icon Set: 20 Free Icons (with PSD)

2011-12-25 13h39_36

 

app-bits

2011-12-25 13h42_09

 

Switch, A Set of 54 Minimalist Vector Icons

2011-12-25 13h43_26

 

200+ Free Minimalist Icon Sets

2011-12-25 13h46_34

 

Retro Candy: Free Icon Set

2011-12-25 13h50_29

 

25 Free Minimalist Vector Symbols And Icons

2011-12-25 13h57_38

 

Picol

2011-12-25 13h59_34

 

Brightmix

2011-12-25 14h00_08

 

Eclipse II

2011-12-25 14h01_09

 

BacktoPixel

2011-12-25 14h02_10

 

Token

2011-12-25 14h02_48

 

GUI Icons

 

2011-12-25 14h04_16

 

Weitere Blogartikel über Sammlungen von IconSets

40 Minimalist Icon, Symbol & Pictogram Sets

50 High Quality And Free To Use Minimalist Icon Sets

35 Of The Best Minimalist Icons For Web Design Projects

Top 10 Beautiful Minimalist Icon Sets

The Best Icon Sets for Minimal Style Web Design

15 Must-Have Minimalist Icon Sets

31 Free Clean Icon Sets For Minimal Web Design

25 Free High-Quality Minimalist Icon Sets

10 Extremely Eye-Catching Minimalist Icon Sets

30 Free Minimalist Icon Sets for Web Design

Free minimalist Icon Sets for Web and User Interface Design

20 Beautiful Minimalist Icon Sets

20 Free Minimalist Icon Sets for Your Designs

23 Minimalist Icon Sets

25+ Beautiful Minimalist Icon Sets for your Windows Phone 7 App

A Collection of Mini Icon Sets

50 Amazing Free Icon Sets

25 Fresh And Free Icon Sets For Your Design Stash

15+ Kostenlose Twitter Icons/Sets

Fresh Twitter Icon Sets 2010 Version

32 Elegant and Minimalist Icon Packs

25 Outstanding Free Minimal Icon Sets

25 Perfect Free Minimal Icon Sets

 

Du vermisst in der Aufzählung einer deiner Lieblingsquellen? Dann immer her damit.

Erfahrungsbericht Gui & Design 2011

Written By: Mario Priebe - Dez• 13•11

Das war sie nun, die Konferenz für den Software-Oberflächen-Designer und für den Grafikaffinen Entwickler. Vom 8.12. bis zum 9.12. fand die Gui und Design 2011 im Forsthotel in Nürnberg / Fürth statt. Und was soll ich sagen? Es war auch das zweite Mal eine wirklich tolle Konferenz.

Besprochen wurden hier die Themen rund um die User Experience, um Usability, um die Entwicklung von User Interfaces, über Best Practives und vieles, vieles mehr.

Die Keynote am Donnerstag war schon mal ein guter Einstieg für die kommenden beiden Tage. Clemens Lutsch sprach über die großen Herausforderungen der aktuellen UI-Gestaltung. Sehr unterhaltsam!

Es folgten dann zahlreiche, informative Vorträge rund um die UI Entwicklung. Weiterhin wurden Erfahrungen rund um den Umgang mit diversen Tools, wie Expression Blend und Konsorten ausgetauscht.

Hey, eure Vorträge waren alle gut, aber einer der besten und informativsten für mich, war der von Daniel Greitens. Er sprach über die gängigsten Fehler, die man bei der Implementierung von User Interfaces mit WPF und Silverlight machen kann. Schnell und wirklich gut auf dem Punkt gebracht. Seinen Blog übrigens, empfehle ich sehr.

Hannes Preishuber zeigte uns seine Erfahrungen bei der Entwicklung mit Windows 8 und Leute lasst euch gesagt sein, wartet noch ein wenig ab und tut euch den Stress nicht an…

Jede Menge Inspirationen brachte uns Thorsten Jonas mit seinem Vortrag “TV Spielfilm für Windows Phone – Oder Tabbar ist nicht gleich ApplicationBar. In dieser Session, teilte er seine Erfahrungen bei der Portierung der TV Spielfilm App von das IPhone auf das Windows Phone.

Bis auf Roland Weigelt, ebenfalls als Speaker vertreten, war leider keiner aus der aktiven .NET Community zugegen, was sich aber hoffentlich mal ändern wird ; )

Abschließend möchte ich mich bei den Organisatoren bedanken, mein besonderer Dank geht an Shirley Libii, der Frau hinter den Kulissen, die das ganze Drumherum wirklich toll im Griff hatte und dafür sorgte das wirklich alles seinen Lauf nimmt.

Ich hoffe man sieht sich wieder, vielleicht sogar auf der Gui & Design 2012!