WebSockets, Apps und SharePoint-Konferenzen im Juni

Der­zeit fin­det in New Orleans die TechEd North Ame­rica 2013 statt, Micro­softs wich­tigs­ter Ter­min für IT-Pro­fes­sio­nals und Ent­wick­ler in Unter­neh­men. Neben Details zu Win­dows 8.1, Neu­ig­kei­ten zu Win­dows Azure, Visual Stu­dio 2013 und vie­lem mehr, inter­es­sier­ten mich dabei ges­tern beson­ders die fol­gen­den bei­den Ankün­di­gun­gen: Team Foun­da­tion Ser­vice Updates for TechEd 2013 Office Store now accept­ing lis­tings in four addi­tio­nal lan­guages…

ASP.NET security update against #hashDoS attacks

In a pre­sen­ta­tion (“Effi­ci­ent Denial of Ser­vice Attacks on Web App­li­ca­tion Plat­forms”, Dec 28th 2011, PDF) at 28th Chaos Com­mu­ni­ca­tion Con­gress in Ber­lin (#28c3) there have been published details on how to per­form so cal­led “hash col­li­sion attacks” on web­ser­vers. This does not only affect Micro­soft tech­no­logy (ASP.NET), but also Java, Python, Ruby, PHP, v8/node.js, … Micro­soft has alre­ady reac­ted…

ASP.NET Sicherheitsupdate gegen #hashDoS Angriffe

Im Rah­men eines Vor­trags (“Effi­ci­ent Denial of Ser­vice Attacks on Web App­li­ca­tion Plat­forms”, 28.12.2011, PDF) auf dem 28. Chaos Com­mu­ni­ca­tion Con­gress in Ber­lin (#28c3) wurde eine Mög­lich­keit vor­ge­stellt, Web­ser­ver mit­tels einer soge­nann­ten “hash col­li­sion attack” zu über­las­ten, so dass diese prak­tisch zum Still­stand kom­men. Betrof­fen ist dabei nicht nur Micro­soft-Tech­no­lo­gie (ASP.NET), son­dern auch Java, Python, Ruby, PHP, v8/node.js, … Micro­soft hat…

Microsoft Web Camps (München) – Tag 1

Unter dem Motto “Make Web, Not War” tourt Micro­soft zur Zeit mit sei­nen Web­camps durch die Welt. Am 07. und 08. Juni (war) ist Zwi­schen­stopp in Unter­schleiß­heim / Mün­chen. Ich hatte das Glück dabei zu sein. An bei­den Tagen haben sich Chris­tian Wenz sowie John Gal­lo­way (ASP.NET Com­mu­nity Pro­gram Mana­ger) auf die Fahne geschrie­ben uns die Micro­soft Web Plat­form und…

Neues aus der SharePoint-Welt von der Basta! Spring (2. Tag)

Auf zum 2. Tag der Basta! Haupt­kon­fe­renz – und damit dem ers­ten der bei­den Share­Point Days. Heute gibt es keine mor­gend­li­che Key­note, son­dern es geht gleich in die Ses­si­ons – für mich ist das als ers­tes Sehens­wer­tes aus Share­Point 2010 mit Tom Wen­del. Erstaun­lich für mich, dass nur ca. ein Drit­tel der anwe­sen­den Ent­wick­ler Share­point 2010 über­haupt schon gese­hen hat. Dem­entspre­chend…

Einladung zum Treffen der .NET Usergroup Dresden am 24.02.2010

Das nächste Tref­fen der .NET User­group Dres­den steht vor der Tür: Die .NET-User­group Dres­den trifft sich das nächste Mal am 24.02. um 18:00 Uhr. Auch die­ses Mal ver­spricht es wie­der sehr inter­es­sant zu wer­den: Alex­an­der Groß – vie­len bekannt von der .NET User­group Leip­zig – macht mit uns einen Rund­gang durch sein aktu­el­les Pro­jekt. Tech­nisch wird das sehr inter­es­sant, denn…

Visual Studio 2010 and .NET Framework 4 Training Kit – Neue Version

Für alle, die sich mit dem neuen Visual Stu­dio und dem .NET Frame­work 4.0 ver­traut machen  wol­len oder mehr erfah­ren möch­ten, hat Micro­soft das neu aktua­li­sierte Visual Stu­dio 2010 and .NET Frame­work 4 Trai­ning Kit ver­öf­fent­licht. Das am 11.01.2010 ver­öf­fent­lichte 151 MB große Paket ent­hält eine Viel­zahl von Prä­sen­ta­tio­nen, Demos und Tuto­ri­als. Genau genom­men 17 Prä­sen­ta­tio­nen, 21 Demos und 26…

Sharepoint, ARF – Menü & Open Link in new window

Wohl jeder Share­point Ent­wick­ler wel­cher sich je mit Bar­rie­re­frei­heit befasst hat, wird schon ein­mal von dem Alter­na­tive Ren­de­ring Frame­work von SPWorks gehört haben. ARF ist ein Open Source Pro­ject, wel­ches von Vin­cent Rothwell ent­wi­ckelt wurde um Share­point etwas bar­rie­re­freier zu gestal­ten. Das Frame­work beinhal­tet mehr als 30 Con­trols für die Ent­wick­lung bar­rie­re­feier Publi­shing Sei­ten. Alle Con­trols erzeu­gen XML wel­ches mit…

.NET RIA Services mit deutschem Visual Studio 2008 nutzen

Neu­gie­rig gewor­den von der dies­jäh­ri­gen  Basta! und Oli­ver Scheers Vor­trag über Sil­ver­light und das .NET RIA Frame­work, wollte ich das Gehörte heute ein­mal ver­su­chen in die Pra­xis umzu­set­zen. Das .NET Rich Inter­net App­li­ca­tion (RIA) Frame­work unter­stützt  den Ent­wick­ler bei der Erstel­lung  n- schich­ti­ger Appli­ka­tio­nen. Die .NET RIA Ser­vices bil­den dabei ein Daten­zu­griffs­mo­dell wel­che aus einem Objekt­mo­dell (z.B. ADO.NET Ent­ity Frame­work)…

Sharepoint und der eigensinnige XSS – Filter (Bericht)

Ein Teil unse­rer Kern­kom­pe­ten­zen im Umgang mit Share­point, ist die Migra­tion von Alt­sys­te­men zu Share­point. Ein aktu­el­les Pro­jekt stellte uns vor die Her­aus­for­de­rung, Inhalte, Sty­levor­ga­ben und Meta-Daten mit­tels XML Import aus einem bestehen­den Con­tent Manage­ment Sys­tem 1:1 nach Share­Point zu über­neh­men. Beson­ders pro­ble­ma­tisch war dabei der Fakt, dass sich inner­halb der Daten Para­me­ter für die Busi­ness­lo­gik ver­steck­ten. Diese Logik musste…

Crystal Reports Runtime auf 64-Bit-Systemen

Crys­tal Reports ist ein leis­tungs­fä­hi­ges Berichts­er­stel­lungs­tool (mitt­ler­weile) aus dem Hause SAP, vor­her von Busi­ness Objects, noch davor von Crys­tal Deci­si­ons (nein, Sea­gate Soft­ware erwähne ich jetzt nicht auch noch…) am Markt ange­bo­ten. Die Crys­tal Reports Run­time ist für Micro­soft-Ent­wick­ler (bzw. deren Anwen­dun­gen) kos­ten­los nutz­bar, solange ich mich zurück­er­in­nern kann (und das geht immer­hin abwärts bis Visual Basic 5.0 – in…

Diagramme erstellen mit den Microsoft Chart Controls

Seit Herbst 2008 bie­tet Micro­soft mit den Micro­soft Chart Con­trols für Micro­soft .NET Frame­work 3.5 sowohl für ASP.NET als auch für Win­Forms-Anwen­dun­gen kos­ten­lose Con­trols an, mit denen man schnell anspre­chende und aus­sa­ge­kräf­tige Dia­gramme gene­rie­ren kann. Die Instal­la­tion zusätz­li­cher Run­ti­mes auf dem Ser­ver bzw. Cli­ent, wie z.B. bei Crys­tal Reports, ent­fällt. Ein­zige Vor­aus­set­zung ist ein instal­lier­tes .NET Frame­work 3.5 SP1. Zu den Haupt­merk­ma­len gehö­ren:…

ASP.NET AJAX Control Toolkit anpassen / Bug in Positionierung des ModalPopupExtender

Möchte man den Modal­Po­pupEx­ten­der aus dem ASP.NET AJAX Con­trol Tool­kit ver­wen­den, dann geht das nur mit dem DOCTYPEXHTML 1.0 Tran­si­tio­nal” so rich­tig rei­bungs­los. Beim Col­lap­si­b­le­Pa­nel gibt es dazu einen Hin­weis in der Doku­men­ta­tion, beim Modal­Po­pup fehlt die­ser Hin­weis. Das Pro­blem besteht aber auch dort. Sym­ptome: Das Popup wird nicht kor­rekt posi­tio­niert, zen­triert sich nicht und viel zu lange Scroll­bal­ken ent­ste­hen.…

Clientseitiges “onchange” für ASP.Net CheckBoxList Items

Als net­ter ASP.Net Pro­gram­mie­rer mutet man dem Anwen­der wegen eines Klicks in eine Check­Box (in die­sem Fall als Item einer Check­Box­List) kein Postback/Reload der Seite zu. Nun hat man ja aber viel­leicht doch den Wunsch, das eine oder andere beim Klick zu erle­di­gen – cli­ent­sei­tig per Java­script. Wenn mög­lich, will man den ein­zel­nen Check­Box­List Items noch ein paar Attri­bute mit­ge­ben,…

XML String browserunabhängig mit Javascript parsen

Manch­mal hat man ein Pro­blem, und wenn man es dann gelöst hat, ist die Lösung so ein­fach, dass man es fast nicht glau­ben mag. So ging es mir mit fol­gen­der Auf­gabe: Gege­ben ist ein String, der ein XML Docu­ment reprä­sen­tiert: <books> <book author=“Meier”>Lexikon der Meierei</book> <book author=“Muster”>Patterns in der Schneiderstube</book> </books> Die­sen String möchte man (mög­lichst brow­se­r­un­ab­hän­gig, wenigs­tens soll es…

Sharepoint Listenelement (SPListItem) in eine andere Liste kopieren

Dafür gibt es (theo­re­tisch) eine denk­bar ein­fa­che Lösung: SPLis­tI­tem bie­tet eine Methode CopyTo(destinationUrl) an (http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.copyto.aspx) – lei­der scheint diese aber nicht (in jedem Fall?) zu funk­tio­nie­ren. Zumin­dest in mei­nem Fall (benut­zer­de­fi­nierte Liste mit benut­zer­de­fi­nier­tem Inhalts­typ UND Attach­ments – viel­leicht erwarte ich ein­fach auch zu viel von Share­point…) tat sie es nicht. Statt­des­sen erhielt ich fol­gende Excep­tion: “Source item can­not be…

Formular URLs für Sharepoint Inhaltstypen anpassen

Wenn man in Share­point einen benut­zer­de­fi­nier­ten Inhalts­typ erstellt und die­sen einer Liste zuweist, muss man sich im Ide­al­fall nicht um die For­mu­lare für das Anle­gen, Anzei­gen und Edi­tie­ren der Lis­ten­ein­träge küm­mern – dies erle­digt Share­point anhand der zum Inhalts­typ zuge­hö­ri­gen Spal­ten freund­li­cher­weise auto­ma­tisch für uns. Nun kann es aber pas­sie­ren, dass wir mit dem von Share­point gene­rier­ten Stan­dard­for­mu­lar nicht zufrie­den sind…

User Controls dynamisch zur Laufzeit in ein Web Form einbinden

Web User Con­trols (*.ascx) kann man zur Design­zeit sehr bequem per Drag & Drop auf ein Web Form (*.aspx) zie­hen – den Rest erle­digt Visual Stu­dio für uns.Wenn man das Glei­che dyna­misch zur Lauf­zeit errei­chen möchte (weil man z.B. unter­schied­li­che ascx-Dateien ver­wen­den oder ein­und­die­selbe ascx-Datei mehr­mals nach­ein­an­der laden will), kann man das fol­gen­der­ma­ßen bewerk­stel­li­gen: Unser User Con­trol heißt “Sam­ple­Con­trol” und…

Verwenden von Sharepoint Listen als Datenquellen für CheckBox Lists oder RadioButton Lists

Wer für Share­point Web Forms und/oder Con­trols ent­wi­ckelt, hatte viel­leicht auch schon ein­mal das Bedürf­nis, eine Share­point Liste als Daten­quelle für z.B. eine Radio­But­ton List zu ver­wen­den. Dies lässt sich glück­li­cher­weise mit gerin­gem Auf­wand umset­zen: Hier ist erst ein­mal unsere Share­point Bei­spiel­liste: Und hier die Radio­But­ton List, an die wir die Liste bin­den wol­len: Wich­tig sind hier die Pro­per­ties Data­Text­Field…

Clientseitige Validierung mit dem CustomValidator

In ASP.NET gibt es die doch sehr nütz­li­chen Vali­da­tor-Con­trols. Diese bie­ten die Mög­lich­keit, Werte von Web-For­mu­la­ren zu prü­fen. Beson­ders sinn­voll ist aus mei­ner Sicht die cli­ent­sei­tige Vali­sie­rung, weil hier Post­backs zum Ser­ver schon im Vorab unter­bun­den wer­den. Aller­dings gibt es hier beson­ders beim Custom­Va­li­da­tor eini­ges zu beach­ten, wor­auf ich in die­sem Blog-Ein­trag etwas ein­ge­hen möchte. Mein kon­kre­ter Anwen­dungs­fall war, zu…