Blog b = new Blog("marcos blog"); RSS 2.0
# Monday, May 03, 2010

Ab sofort gibt es den Proxy Switcher v3 als öffentliche Beta zum download.

DOWNLOAD HIER

Wichtig: .NET Framework 4 wird benötigt.
Desweiteren liefen die Tests bisher nur auf Windows 7.

Alle auftretenden Probleme und Vorschläge bitte hier eintragen:

http://bugs.mwiedemeyer.de

 

Ein paar Highlights:

Komplettes Re-Design (Sichtbar und im Hintergrund)
MEF als AddIn Framework
Ribbon User Interface (http://fluent.codeplex.com/)
Windows 7 Location API Integration

Monday, May 03, 2010 9:46:25 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.NET | ProxySwitcher | Software | Windows 7
# Wednesday, April 28, 2010

Overview

Currently, I’m investigating what can be improved in the new release of Proxy Switcher.

For those of you, who don’t know what Proxy Switcher is a few facts:

  • Proxy Switcher automatically set the proxy depending on your current network connection
  • Beside of that, it can set other things too. E.g.: Execute scripts, change default printer, etc.
  • Click here to go to the project site for more info

Windows 7 Sensor and Location Platform

With Windows 7 Microsoft created a new “Sensor and Location Platform”. Until now, there is not much hardware compatible with it, but this hopefully will change in the near future.
With this API, applications can easily access the available sensors. Here you can find some examples and also a “manual” location provider by clicking on a map.

For the location API, there is a cool free “software” device called Geosense. From their website:

Geosense is designed to use a hybrid mix of geolocation service providers and geolocation methods to pinpoint the most accurate location information possible - including but not limited to WiFi triangulation, cell tower triangulation and IP lookup. Source: http://www.geosenseforwindows.com/

While your laptop vendor has not yet integrated a Windows 7 compatible hardware GPS sensor, Geosense is a good compromise.

Proxy Switcher Integration

For Proxy Switcher this will become a new option for switching proxy configurations, or doing some other stuff as you can see here:

image  (click to open in a new window)

 

Code

To access the Windows 7 location API all you need is the .NET Framework 4. There is a new System.Device.dll (contained in the Client Profile of the .NET Framework). Adding a reference allows you to access the current location.

First, add the following using statement:

using System.Device.Location;

Use the following code  to get the address:

GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));
// Get the location, including lat, long, speed, altitude, etc.
GeoCoordinate location = watcher.Position.Location;
// Try to get the current address, including street, city, etc.
CivicAddressResolver resolver = new CivicAddressResolver();
CivicAddress address = resolver.ResolveAddress(location);

Summary

With this new functionality, Proxy Switcher is not a pure “Proxy Switcher” anymore, but a multi-functional network/location based “generic” extensible execution tool. New actions can be easily created by developers through the MEF AddIn Framework. More on this in a later post.

 

If you want to become a beta tester, feel free to contact me at “mail” at thisdomain.

Wednesday, April 28, 2010 11:53:18 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.NET | C# Code | Microsoft | ProxySwitcher | Software | Windows 7
# Thursday, November 26, 2009

English version below

Es ist endlich soweit und Version 2 ist fertig geworden.

Von der Roadmap musste die UI Überarbeitung allerdings vorläufig gestrichen werden. Das heißt es gibt keine Ribbons und kein WPF, sondern weiterhin das Tabbed Interface wie gehabt. Allerdings ist zum deaktivieren ein neues Tab hinzugekommen.

Dafür aber nun die gute Nachricht: Neben einigen Bugfixes haben es die folgenden Features in die neue Version geschafft:

  • Standard Drucker wechseln nun auch beim deaktivieren
  • Neue Settings um das Taskbar Verhalten zu ändern und Nachfragen abzuschalten
  • Im Auto Switch Tab werden nun einige Werte (WLAN SSID, DNS suffix, Gateway) mit Werten des aktuell verbundenen Netzes vorbelegt
  • Wenn ein neues WLAN connected wird, erscheint eine Abfrage ob dieses WLAN einen Proxy benötigt, der dann direkt konfiguriert werden kann
  • Mehr Hilfen im Programm verfügbar durch überfahren von Fragezeichen mit der Maus
  • Application Änderungen:
    • Opera Support nun inkl. Opera 10
    • Firefox: Neben den Profilen kann nun auch der Standard Profilordner gewechselt werden
    • Thunderbird gehört nun ebenfalls zu den Unterstützten Applikationen
    • Internet Explorer 8: Proxy kann nun auch für Wählverbindungen gewechselt werden, allerdings aktuell nur mit einem kleinen Trick. Mehr dazu in der FAQ und im Tool über die Hilfe.
  • Neue Enterprise Features:
    • Alle Konfigurationsdateien ([User]\AppData\Roaming\ProxySwitcher) werden nun live überwacht und können per Group Policy, o.ä. geändert und ausgetauscht werden, ohne die Anwendung beenden zu müssen. Dies ermöglicht z.B. Proxy Einstellungen für alle Mitarbeiter hinzuzufügen oder zu ändern.
    • Group Policx (ADMX) Template: Proxy Switcher lässt sich nun über Group Policies einschränken und deaktivieren. Download und Infos hier: http://projects.mwiedemeyer.de/ProxySwitcher/pages/GroupPolicy.aspx
      Das Template ist nur für Windows Vista oder höher und Window Server 2008 oder höher anwendbar, da Microsoft erst ab dieser Version das neue ADMX Format eingeführt hat.

Download wie immer direkt hier: http://mwiedemeyer.de/downloads/ps/ProxySwitcherSetup.zip

Für Fragen und Anregungen bitte die FAQ und das Forum hier verwenden: http://projects.mwiedemeyer.de/ProxySwitcher

 

----------------------------------------------------------------------

ENGLISH VERSION

Today the new version 2 was released!

The UI changes mentioned in the roadmap had been postponed. So no ribbons and no WPF, but a tabbed interface like in the releases before with an additional tab for deactivating the proxy.

The great news: Beside some bug fixes there are many new features available as you can see here:

  • Change the default printer also on deactivating the proxy
  • New settings to change the taskbar behavior and eliminate ask on exit
  • Within Auto Switch tab, switch settings will be pre-populated with the values (WLAN SSID, DNS suffix, Gateway) from the currently connected network
  • When you connect to a new WLAN, a task dialog appears and you can directly create a proxy entry for this connection
  • More help available throughout the application (hover the mouse over the question marks)
  • Application changes:
    • Opera support including Opera 10
    • Firefox: Also change the default profile folder
    • Thunderbird support added
    • Internet Explorer 8: From now on, proxy can be changed for dial-up connections too. See FAQ or help within the tool for a how-to.
  • New Enterprise features:
    • All configuration files ([User]\AppData\Roaming\ProxySwitcher) are now live monitored, so they can be changed or replaced by policies, etc. without exiting the application. Now it is possible to add or remove proxy entries for all employees.
    • Group Policy (ADMX) template: Proxy Switcher can now be managed by group policies. Download and info here: http://projects.mwiedemeyer.de/ProxySwitcher/pages/GroupPolicy-en.aspx
      The template is only available on Windows Vista or above or Windows Server 2008 or above, because Microsoft supports the new ADMX file format only in these versions.

Direct download here: http://mwiedemeyer.de/downloads/ps/ProxySwitcherSetup.zip

Please use the FAQ or the forum for questions and feedback here: http://projects.mwiedemeyer.de/ProxySwitcher

Thursday, November 26, 2009 10:07:09 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.NET | ProxySwitcher | Software | Windows 7
# Sunday, September 06, 2009

Da sich inzwischen doch ein paar kleine aber feine private Projekte angesammelt haben, gibt es nun eine neue site wo alle Projekte an einer Stelle zu finden sind:

http://projects.mwiedemeyer.de

Für den Proxy Switcher gibt es dort nun auch ein Forum, damit nicht alle Fragen verstreut über die einzelnen Blog Posts verteilt werden.

Außerdem gibt es dort noch zwei andere kleine Tools: AutoHistory for Word 2007 und den Browser Selector.

Sunday, September 06, 2009 1:36:06 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [3]
.NET | AutoHistory | ProxySwitcher | Software
# Saturday, July 18, 2009

Heute nun ein paar kleine Bug fixes und Windows 7 Improvements.

Außerdem ab nun auch (endlich) support für Opera!

Download wie immer hier!

Saturday, July 18, 2009 1:27:09 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [14]
.NET | ProxySwitcher | Software
# Monday, June 29, 2009

Proxy Switcher arbeitet derzeit mit dem Internet Explorer und Firefox zusammen. In der Regel greifen Anwendungen automatisch auf die Proxy Einstellungen des Internet Explorers zurück, weshalb es normalerweise vollkommen ausreichend ist.

Hat man nun aber einen Sonderfall, also eine Applikation die nicht auf die Internet Explorer settings zurückgreifen kann, benötigt man ein zusätzlichen “Switcher”.

In diesem Artikel zeige ich, wie einfach es ist, selbst einen zu entwickeln und im Proxy Switcher zu verwenden.

Implementierung

Zunächst erstellt man ein neues Class Library Projekt im Visual Studio 2008. Dies ist auch mit der kostenlosen Variante Visual Studio 2008 Express (C# oder VB.NET) ohne Probleme möglich.

image

Als nächstes fügt man eine Referenz auf ProxySwitcher.Shared.dll hinzu. Dort befindet sich die benötigte Basisklasse.

image

Nun noch die Class1.cs Datei umbenennen, z.B. in DemoSwitcher.cs. Dadurch wird auch automatisch die Klasse umbenannt. Diese Klasse muss nun von der SwitcherBase Klasse erben, wofür außerdem das using statement hinzugefügt werden muss:

image

Über das SmartTag was erscheint wenn man SwitcherBase ausgeschrieben hat, lassen sich automatisch alle benötigten Methoden erzeugen. Das wären “DisableProxy”, “EnableProxy” und die Eigenschaft “Name”.

image

Über die Name Eigenschaft kann man einen Namen vergeben, der später dann im Proxy Switcher angezeigt wird.

Enable und Disable sollte sich von selbst erklären. Innerhalb der Methoden kann man auf this.CurrentProxyEntry zugreifen um die Daten abzurufen, die nun aktiviert/deaktiviert werden sollen.

image

Damit hätten wir die minimal Implementierung beendet.

Erweiterte Funktionen

Man kann nun noch für seinen Switcher Einstellungen laden und speichern und auch einen Settings Dialog als Windows Form anbieten (wofür dann noch eine Referenz auf “System.Windows.Forms” hinzugefügt werden muss):

image 

Deployment

Nachdem man alles soweit fertig hat, muss das Projekt noch kompiliert werden. Dadurch entsteht eine DLL, in meinem Fall PSDemoSwitcher.dll.

Diese muss nur noch in das Verzeichnis kopiert werden, wo auch ProxySwitcher.exe liegt. Also normalerweise “C:\Programme\ProxySwitcher”.

Startet man nun den ProxySwitcher, erscheint im ersten Tab direkt mein neuer Switcher und kann selektiert werden, damit er auch aufgerufen wird.

image

 

Update:

Die dokumentierte Beispielimplementierung gibt es hier zum download.

Monday, June 29, 2009 8:17:43 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [6]
.NET | C# Code | ProxySwitcher | Software | Visual Studio 2008

Version 1.5 ist fertig! Neben einigen Bug Fixes sind, wie bereits im Feature Preview Post erwähnt folgende neue Funktionen hinzugekommen:

  • Vollständige Integration in Windows 7, inklusive Jumplist support 
  • Internet Explorer 8 support
  • Standard Drucker wechseln
  • Scripting
    • Script kann nun mit dem proxy namen als Parameter aufgerufen werden

    • Beim deaktivieren der proxies kann nun ebenfalls ein script aufgerufen werden

    Leider gibt es einige Probleme mit Click-Once, so dass v1.5 weiterhin nur über ein Setup zur Verfügung steht und nicht automatisch aktualisiert wird (aber automatisch benachrichtigt, sobald eine neue Version verfügbar ist).

    Desweiteren hat es die Wählverbindung-Unterstützung nicht mehr in diese Version geschafft, ist aber definitiv auf der Roadmap für v1.6.

    Da Microsoft ein paar gravierende Änderungen am Proxy System vom IE 8 vorgenommen hat, gibt es nun einen Switcher für “Internet Explorer” und einen für “Internet Explorer 8”. Nur einer von beiden sollte, je nach System, aktiviert werden.

    DOWNLOAD HIER

    WICHTIG: Der Pfad zu den Einstellungen und Proxy Konfigurationen hat sich wie folgt geändert:

    Speicherort vor v1.5: C:\Users\[USERNAME]\AppData\Local\ProxySwitcher (Windows XP: C:\Documents and Settings\[USERNAME]\Local Settings\Application Data\ProxySwitcher")

    Neuer Speicherort v1.5+: C:\Users\[USERNAME]\AppData\Roaming\ProxySwitcher (Windows XP: C:\Documents and Settings\[USERNAME]\Application Data\ProxySwitcher)

    Um die vorhandenen Einstellungen zu übernehmen, einfach alle Dateien im genannten Ordner in den neuen Ordner kopieren.

     

    Vorschau

    Für v1.6 steht, neben dem Support für Wählverbindungen, auch eine bessere Unterstützung für größere Firmen Deployments auf der Agenda (z.B. Konfiguration und Sperren von Änderungen über Group Policies, als auch Überwachung der Einstellungsdateien, so dass diese im laufenden Betrieb geändert werden können)

    Außerdem steht auch immer noch Opera support auf der Agenda... wird auf jedenfall noch vor v1.6 ausgeliefert...

     

  • UPDATE:

    Es gab ein kleines Problem mit den advanced exceptions, was nun behoben ist. Die Version ist nun 1.5.1. Sorry für die Unannehmlichkeiten!

    Monday, June 29, 2009 8:13:13 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [16]
    .NET | ProxySwitcher | Software | Windows 7

    With the Windows API Code Pack, Microsoft released a really cool managed wrapper for most of the new Windows 7 features. See here for more details and download.

    One thing you can do is to create a .NET app with Jumplist support. Jumplists are these cool menus appearing on right click on an icon in the task bar:

    image

    But there is something wrong with the jumplist: It can only launch new apps! The demo solution for the Code Pack launches notepad and some other things, but there is no word about how to open the same app but with a new form.

    So here is my solution, which is not very nice, but it works like a charm.

    Scencario:
    AppInstance1 is running –> click on a jumplist item starts a new instance –> appInstance2 now knows, that this is the second instance, so appInstance2 calls appInstance1 through remoting (IPC) and terminates–> appInstance1 receives the remoting call und execute something.

    Ok, how to implement this?

    First of all, create a new Windows Forms app and go to the Program.cs file. Within this class create a new class which works as your service for the remoting part and also a static reference to your form:

    static class Program
        {
            public class RemotingService : MarshalByRefObject
            {
                public RemotingService() { }
    
                public void ShowText(string text)
                {
                    Program.formMain.SetTextToTextBox(text);
                }
            }
    
            internal static Form1 formMain;

    Then you will need some remoting code for the communication. I created two methods “InitRemoting” and “CallRunningInstance”. InitRemoting is called from the main method if this is the first instance. CallRunningInstance is called if the main method detects, that this is the second instance.

    For the detection I use a system wide mutex.

    I hope you get the idea. Because there are some more lines of code I created a demo project for you to download:

     Download the entire working demo solution here.

     

    Monday, June 29, 2009 7:42:20 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | C# Code | Microsoft | Software | Visual Studio 2008 | Windows 7
    # Wednesday, June 03, 2009

    Hier gibt es heute schon mal eine kleine Vorschau auf die nächste Version.

    Nach vielen Mails und Kommentaren wurden hoffentlich die meisten Wünsche weitestgehend erfüllt.

    Zu den Neuerungen gehören:

    • Vollständige Integration in Windows 7, inklusive Jumplist support
      • image
    • Internet Explorer 8 support und damit auch unterstützung für Wählverbindungen
    • Standard Drucker wechseln
      • image
    • Scripting

      • Script kann nun mit dem proxy namen als Parameter aufgerufen werden

      • Beim deaktivieren der proxies kann nun ebenfalls ein script aufgerufen werden

    • Click-Once Anwendung. Damit gibt es automatische updates ohne Installation

     

    Es ist natürlich weiterhin Zeit für Anregungen, Wünsche und Kommentare.
    Als Release Termin für die Version 1.5 plane ich aktuell Ende Juni.

    Wednesday, June 03, 2009 9:15:59 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [7]
    .NET | ProxySwitcher | Software | Windows 7
    # Saturday, May 23, 2009

    Today I have created a little tool. I called it “Browser Selector”. It is for all people who uses more than one browser.

    My scenario:

    I’m using Opera and Internet Explorer. Opera for daily browsing and Internet Explorer for all Microsoft sites and for the company intranet.

    Browser Selector now helps to avoid copy&paste url’s in one of the browsers depending on the url. Instead I can click directly on each url from all applications (Outlook, MSN Messenger, etc) or even enter the url in the start menu and it opens automatically in the correct browser!

    Configuration:

    To configure, which url will be opened in which browser, there is a config.xml file:

    <?xml version="1.0" encoding="utf-8" ?>
    <BrowserSelector>
      <Rules>
        <Rule Url="microsoft.com" Browser="IE" />
        <Rule Url="live.com" Browser="IE" />
      </Rules>
      <Browsers>
        <Browser Name="Opera" Path="C:\Program Files (x86)\Opera\opera.exe" Default="true" />
        <Browser Name="IE" Path="C:\Program Files (x86)\Internet Explorer\iexplore.exe" />
      </Browsers>
    </BrowserSelector>

    There you see a Rules section. In the Url attribute you can use regular expressions as well.
    In the Browsers section you define all of your browsers and mark one as default which will be used if no rule matches.

    Now download the msi, install it and configure it as you like. It is well tested with Windows 7 RC.

    If you have any questions, problems or suggestions, write a comment.

    Saturday, May 23, 2009 6:10:06 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
    .NET | Avanade | Das wahre Leben | Software | Windows 7
    # Wednesday, April 22, 2009

    ! ENGLISH VERSION BELOW !

    Auf Anfrage eines freundlichen Nutzers gibt es ab sofort eine neue Auto Switch Funktion: “Adapter Description contains”.

    Um ein klein wenig “Dokumentation” hinzuzufügen, hier ein Überblick über die verfügbaren Auto Switch Funktionen:

    • Adapter Description contains
      • Diese Funktion ermöglicht das wechseln des Proxies, sobald ein Netzwerk Adapter verfügbar wird, der den angegebenen Text enthält.
        Damit ist es möglich, einen proxy zu aktivieren, sobald z.B. eine UMTS Verbindung hergestellt wird. Den Namen des Adapters findet man raus, in dem man die Liste durchschaut, die Windows einem liefert, wenn man folgendes auf der Kommandozeile eingibt (ohne anführungszeichen): “ipconfig /all”
        Dort ausschau halten nach “Beschreibung: MeinUMTSAdapter”
    • DNS Suffix contains
      • Diese Funktion ermöglicht das wechseln des Proxies, sobald eine Netzwerkverbindung existiert, die als DNS suffix den angegebenen Text enthält. Dies ist z.B. in Firmennetzwerken sinnvoll. Auch hier liefert “ipconfig /all” die aktuellen DNS suffixe.
    • Gateway contains
      • Diese Funktion ermöglicht das wechseln des Proxies, sobald eine Netzwerkverbindung existiert, die als Gateway Adresse den angegebenen Text enthält. Auch hier liefert “ipconfig /all” die aktuellen Gateway Adressen.
    • WLAN SSID contains
      • Diese Funktion ermöglicht das wechseln des Proxies, sobald eine Verbindung mit einem WLAN hergestellt wird, dessen Name den angegebenen Text enthält.
        Diese Funktion ist erst ab Windows Vista und folgende verfügbar.

    Proxy Switcher wurde erfolgreich mit Windows XP, Windows Vista und Windows 7 getestet.

    DOWNLOAD HIER

    ---------------------------

    Here is now some “documentation” about the available auto switching methods.

    • Adapter Description contains
      • This function allows switching the proxy, if a network adapter becomes available which contains the specified text as the description.
        So from now on, it is possible for example to activate a proxy for a UMTS connection. Search for the “Description: AdapterName” after executing “ipconfig /all” in a command line.
    • DNS Suffix contains
      • This function allows switching the proxy, if a network connection with the specified DNS suffix becomes available. See “ipconfig /all” for the current DNS suffixes.
    • Gateway contains
      • This function allows switching the proxy, if a network connection with the specified gateway address becomes available. See “ipconfig /all” for the current gateway addresses.
    • WLAN SSID contains
      • This function allows switching the proxy on connecting to a WLAN with the specified name.
        This method is ony available from Windows Vista or above.

    Proxy Switcher was successfully tested with Windows XP, Windows Vista and Windows 7.

    DOWNLOAD HERE

    Wednesday, April 22, 2009 7:03:21 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [12]
    .NET | ProxySwitcher | Software
    # Thursday, April 16, 2009

    Ein kleines Update ist nun verfügbar.

    Dank dem Kommentar von Enrico kann nun neben dem wechseln des Proxys auch ein Script oder Programm ausgeführt werden.

    Proxy Switcher v1.3.0

    From now on, Proxy Switcher can execute scripts or executables.

     

    –> DOWNLOAD HIER

    Thursday, April 16, 2009 11:01:29 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [5]
    .NET | ProxySwitcher | Software
    # Saturday, April 04, 2009

    Ich hab mal ausnahmsweise ein bisschen Zeit gehabt um ein paar neue / nicht mehr ganz so neue Technologien anzusehen und auszuprobieren.

    Da ich ja nun doch schon seit einiger Zeit meine halbwegs aktuelle Position per Virtual Earth auf woist.mwiedemeyer.de visualisiere und es seit kurzem ein Virtual Earth Silverlight Control gibt, ist es wie geschaffen, um endlich einen ernsthafteren Einstieg in Silverlight 2 zu starten.

    Das interactive SDK ist wirklich genial und die Bedienung ist super einfach. Zumindest dann, wenn man bereits ein wenig WPF oder Silverlight Erfahrungen gesammelt hat.

    Beispiel:

    Man möchte in einer Silverlight Anwendung einfach nur die gesamte Karte darstellen. Dazu reicht es das Map Control zur Seite hinzuzufügen:

    <UserControl x:Class="VirtualEarthSilverlightTest.Page"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:m="clr-namespace:Microsoft.VirtualEarth.MapControl;assembly=Microsoft.VirtualEarth.MapControl"
        Width="800" Height="600">
        <Canvas x:Name="LayoutRoot" Background="White">
            <m:Map Name="MyMap"></m:Map>
    (...)
    

    Um per code einen Pin (oder jedes andere UIElement, z.B. auch Bilder, Videos, etc.) auf der Karte an einer bestimmten Position anzuzeigen, reicht folgender code:

    // Neuen MapLayer hinzufügen um Elemente an Locations anzuzeigen
    MapLayer mapLayer = new MapLayer();
    MyMap.Children.Add(mapLayer);
    // Beliebiges UIElement (Canvas, Border, etc) an der Position latitude, longitude anzeigen
    mapLayer.AddChild(anyUIElement, new Location(latitude, longitude));
    

    Ich habe für einen ersten Versuch mal den letzten Urlaub in die Silverlight Karte eingefügt. Hier gibts das ganze nun zu sehen:

    http://woist.mwiedemeyer.de/silverlight

    UPDATE:

    Was ich an der Stelle noch vergessen habe zu erwähnen: Es funktioniert nicht nur im Internet Explorer, sondern auch in Opera (und natürlich auch Firefox…)!

    Saturday, April 04, 2009 4:14:53 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [11]
    .NET | ASP.NET 2.0 | Microsoft | Silverlight
    # Wednesday, January 14, 2009

    Das Tool AutoHistory von dem ich vor einigen Tagen bereits geschrieben habe, steht nun auch inkl. source code auf CodePlex zum Download bereit.

    Fragen und Anregungen daher bitte gerne weiterhin per Mail oder im Projekt Forum.

    -> CodePlex Projekt Seite

    Wednesday, January 14, 2009 7:35:32 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | AutoHistory | C# Code | Office 2007 | Software
    # Sunday, January 11, 2009

    I’ve created a new little tool, which is called AutoHistory (for Word 2007).

    I got the inspiration from Visual Local History for Visual Studio. This tool automatically creates a backup every time you save a file.

    AutoHistory now provides the same functionality within Word 2007. Everytime you save your document (and something has changed), a backup is created.

    From now on you will never lost important information. You can restore every version you’ve ever saved, even if you do not use a version control system (like Team Foundation Server or Subversion).

    This tool is fully integrated in Word 2007 within the View Ribbon:

     image

    If you check the checkbox you will see all saved versions of the current document:

    image

    Within this taskpane you can easily view and restore every version.

    You can download the setup from here: http://mwiedemeyer.de/downloads/AutoHistory/AutoHistorySetup.zip

    Please feel free to drop me a line, if you have any questions or suggestions: mail at mwiedemeyer dot de.

    Sunday, January 11, 2009 2:54:14 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | AutoHistory | Office 2007 | Software
    # Thursday, September 04, 2008

    If you ever got this message and don’t know where it came from, here is the solution.

    I got it if I click on “Edit Page” on a publishing page. So after some investigation it seems to be a problem with the web parts on the page.

    My page layout contains some EditModePanels, so the user have different views in display and edit mode of the page. Therefore we also have one web part in a web part zone which is in one of the EditModePanels for display only.

    <PublishingWebControls:EditModePanel PageDisplayMode="Display">
      <WebPartZone ID="zone1" ...>
          the web part added through the onet.xml site definition

    The same web part zone “zone1” does not exists for editing, because I do not want the user to edit the web part. There is another web part zone “zone2” which lives outside of any EditModePanel.

    Now comes SharePoint.

    If you check out the page and then click on “Edit Page”, everything is working. Except of, that the web part from zone 1 has moved to zone 2! Automatically! Thank you SharePoint…

    It seems that SharePoint think it has to show the web part in edit mode. And because the original web part zone is not visible, SharePoint moves the web part to the next available zone which is visible also in edit mode.

    So remember:

    Never put a web part zone in an EditModePanel which is only visible in display mode.

    Maybe the solution is to make the web part not editable, but I didn’t tested this. My fast workaround hack is to create a div instead of the EditModePanel and makes it “runat=server” and give it an ID. Then I wrote this code on top of the page:

    <script runat="server">
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        this.navleftdiv.Visible = (this.SPWebPartManager1.DisplayMode == WebPartManager.BrowseDisplayMode);
    }
    </script>

    Now it works like a charm.

    Thursday, September 04, 2008 12:52:52 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ASP.NET 2.0 | C# Code | SharePoint

    If you ever tried to publish one or more pages with your site definition (by onet.xml), you see in Visual Studio (with the SharePoint XSD schemas selected) only one valid value for the “Level” attribute which is “Draft”:

    image

    But for this attribute you can choose between every value of the SPFileLevel enum. So for publishing the page automatically, set the Level to “Published”. Thats it.

    If you already know how to enable XSD schema validation and IntelliSense support stop reading here.

    Enable Schema Validation:

    1. Open your xml file, e.g. onet.xml (works with all SharePoint related xml files)
    2. In the property pane, click the ellipsis next to the “Schemas” property
    3. Add the wss.xsd. This file is located in the 12\Template\XML directory
    4. Now add the following xml Namespace attribute to the root element (here Project in onet.xml):
    5. <Project xmlns="http://schemas.microsoft.com/sharepoint/" Title="" [...]
      

    Now you should have IntelliSense and schema validation enabled.

    Thursday, September 04, 2008 9:24:02 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | SharePoint | Visual Studio 2005 | Visual Studio 2008
    # Tuesday, September 02, 2008

    Today I found a version history “bug” in SharePoint publishing pages:

    The version history system of SharePoint covers only Page Fields, but not Web Parts.

    In detail:

    • Create a new page (e.g. “Blank Web Part Page”) within a publishing web.
    • Now add text and a Web Part. Save changes and check-in.
    • Check out and change the text and some properties of the Web Part.
    • After that, check-in again, and open the “Version History”

    If you now try to recover the first version, it seems to work, but only the page fields are recovered. The Web Part is always the latest version, because the Web Parts are saved in a totally different location, so they are not covered by the version history system.

    Lets have a look on a cool solution:
    Garry Lapointe created a web feature which replaces the version history system and saves a whole page with all Web Parts on every check-in through an Event Receiver on the Pages list.
    The version is Alpha 0.0.1 but it is working very well, so download it from codeplex.

    Tuesday, September 02, 2008 8:44:01 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | SharePoint
    # Friday, August 15, 2008

    The RadEditor for MOSS 2007 version 4.5.3.0 has a Bug, which is very annoying...

    You create a new custom tool in the ToolsFile.xml and set the “showtext” property.

    <tool name="CustomToolName" showtext="true" /> 

    Then you create a corresponding javascript method in the RadEditorCommandList.

    RadEditorCommandList["CustomToolName"] = function(commandName, editr, oTool)
    {
      (...)
    }

    If you now click on this new Tool Button, the RadEditor shows the message “Could not find the command xxx. Please update your command list.”

    radeditor_error

    The solution for that: Remove the “showtext” property from your tool in the ToolsFile.xml and everything is working as expected.

    Friday, August 15, 2008 6:52:30 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Avanade | SharePoint
    # Wednesday, August 13, 2008

    Seit heute habe ich das Service Pack 1 für das .NET Framework 3.5 und den SQL Server 2008 auf meinem Server installiert. Ein paar neue kleine private Projekte warten und können nun mit den neuen Features ausgerüstet werden (z.B. Entity Framework und auch ASP.NET MVC obwohl das nur eine CTP ist).

    An der Stelle kann ich das .NET 3.5 Enhancements Training Kit empfehlen! Sehr guter Überblick über alle Neuheiten.

    Außerdem werde ich vielleicht die Datenbank von WoIstMarco? auf die neuen SQL Server 2008 Geo Datentypen upgraden. Mal schauen, was das so für Vorteile bringt.

    Jetzt brauche ich nur noch viiel Zeit...

    Wednesday, August 13, 2008 9:52:06 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ASP.NET 2.0 | Microsoft | Software | Visual Studio 2008

    I have an issue creating a new Web Site programatically. Sometimes, the following exception occurs:

    Content type '0x01010007FF3E057FA8AB4AA42FCB67B453FFC100E214EEE741181F4E9F7ACC43278EE811' not found in web 'xxx'

    Live Search has no solution (by the way: Google has no solution as well ;-)). The only thing you can do is re-run the SharePoint Products and Configuration Wizard. After that, the error disappears and the site creation process is successful.

    The weird thing is, that the content type ID is the ID from the “PageLayout” Content Type... If anyone found another solution I would be very interested.

    Wednesday, August 13, 2008 9:36:22 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Avanade | Microsoft | SharePoint

    Es ist kaum zu glauben! Mit Visual Studio 2008 SP1 hat nun endlich die Funktion einzug gehalten, die man schon seit Jahren vermisst, wie ich gerade entdeckt habe...

    Man hat z.B. folgendes geschrieben:

    public bool IsFoo(object x)
    {
    }

    Früher war es so: Den “Fehler” dass nicht alle Pfade der Methode einen Wert zurückgeben bekommt man erst, wenn man “Build” aufruft.

    Jetzt neu: Der Fehler wird sofort im Error Log sichtbar! Ohne speichern, ohne Build! Danke Microsoft!

    Wednesday, August 13, 2008 9:36:10 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [5]
    .NET | Microsoft | Visual Studio 2008
    # Wednesday, June 18, 2008

    Nachdem ich ja seit einiger Zeit MCPD EA bin, habe ich letzte Woche eine weitere Prüfung, die 70-541 abgelegt und bin nun also: MC Technology Specialist: Microsoft Windows SharePoint Services 3.0: Application Development

    MCTS SharePoint Application Development

    Mein Transcript wie gehabt hier zu finden: http://www.microsoft.com/learning/mcp/transcripts

    ID: 761136
    Kennwort: marcowiedemeyer

    Wednesday, June 18, 2008 7:33:42 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Avanade | Microsoft | Microsoft Zertifizierungen | SharePoint
    # Tuesday, June 10, 2008

    Wie bereits hier geschrieben habe ich nun eine Lösung für meinen GPS Logger BT747.

    Da das Tool BT747 mit Vista x64 nicht klar kommt, verwende ich also nun gpsbabel um die Daten abzurufen. Es kommt ein bin file raus, was gpsbabel leider nicht in csv konvertieren kann.

    Dazu habe ich nun ein eigenes Tool geschrieben, oder besser gesagt von Java in .NET übersetzt.
    Hier gibts den download des Tools. Verwendet wird es so:

    bt747logconverter.exe data.bin output.csv

    Zuvor noch diese Zeile ausführen um das bin file vom Logger zu laden (com4 durch entsprechenden Port ersetzen):

    gpsbabel.exe -p "" -w -i mtk -f com4:

    Endlich eine funktionierende Lösung unter 64bit…

    Tuesday, June 10, 2008 4:35:59 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | C# Code | Das wahre Leben | Fun | Software
    # Saturday, June 07, 2008

    Nachdem unter Vista x64 ja das Tool für den GPS Logger nicht mehr lief, habe ich länger nach einer neuen Lösung gesucht. Dabei zwischenzeitlich auch eine eigene Anwendung gehabt, die aber nur blödsinn von dem GPS Logger abrufen konnte…

    Jetzt hab ich gpsbabel getestet und bin positiv überrascht. Es ist eine Kommandozeilenanwendung, und der Aufruf kann somit per Script automatisiert werden. Das einzige Problem das ich jetzt noch habe: gpsbabel kann das mtk bin file nicht in ein csv file konvertieren. Es gibt zwar keine Fehlermeldung aber die Datei bleibt einfach leer. An der Stelle kommt im Moment also doch noch die alte BT747 Anwendung zum Zuge. Diese kann das bin file von gpsbabel in ein csv file konvertieren und ich kann es dann hochladen.

    Wenn ich jetzt noch den Konvertier-Teil von der BT747 Java Anwendung in .NET übersetzen kann, dann wäre ich glücklich...

    Also funktioniert ab sofort die Wo Ist Marco Seite wieder.

    Saturday, June 07, 2008 1:02:12 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Das wahre Leben | Fun | Software
    # Wednesday, May 28, 2008

    Seit ein paar Tagen gibt es eine neue Version von dasBlog: 2.1. Viele Bugs wurden behoben und im aktuellen Sourcecode Snapshot ist sogar bereits die OpenID Unterstützung für Kommentare implementiert, leider ist die .NET Bibliothek (dotnetopenid) etwas sehr optimistisch was Timeouts angeht. So musste ich im dasBlog code ein paar kleine Änderungen vornehmen, damit nun beim hinzufügen von Kommentaren hoffentlich kein Timeout auftritt.

    openid

    Mehr zum Thema OpenID gibts hier auf der offiziellen Seite oder hier auf deutsch und hier bei Scott Hanselman, dort beschreibt er auch, wie man es auf seinem eigenen Blog implementiert, oder wie man seine eigene Domain zum OpenID Login macht.

    Also los, gleich hier ausprobieren und einen nutzlosen Kommentar hinterlassen!

    Außerdem zeigen die Kommentare jetzt auch die gravatar icons der Kommentatoren an, wenn vorhanden.

    Wednesday, May 28, 2008 9:28:26 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Blog
    # Sunday, May 25, 2008

    Mikhail Dikov has written a very good article about how to use and deploy global resources within SharePoint.
    He uses a Feature Receiver and creates a one-time scheduled job which copies the resource files from the feature folder to the App_GlobalResources folder under Inetpub\wwwroot\wss\VirtualDirectories\[port].

    Now, why I'm writing about this?

    Because there is one little thing within his code, that makes this solution unusable for a farm with more than one WFE (Web front-end server).
    The resource files were copied only on one WFE each time I activated the feature. After searching the web a while, I found that the parameter SPJobLockType is the problem.

    In Mikhails solution this parameter is set to "Job", which defines that this job executes only on one machine at a time. In a farm, I want to execute this job on each WFE. So set this parameter to "None" and it works!

    Another solution is the article from Maxime Bombardier "Deploying resource files across a farm". For me it seems to be a little bit difficult and more complex than the solution from Mikhail.

    Sunday, May 25, 2008 4:49:57 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [5]
    .NET | Microsoft | SharePoint | Software
    # Sunday, May 18, 2008

    Ich weiß, dass es einige Webseiten gibt, die insgesamt wahrscheinlich eine Menge Gründe nennen können, warum man Variations mit SharePoint 2007 nicht einsetzen sollte.

    Im aktuellen Projekt war die Entscheidung für Variations bereits lange vor Beginn gefallen...

    Daher ein paar nützliche Hinweise die man evtl. vorher beachten sollte oder die im Nachhinein vielleicht noch was retten können. ;-)

    1. Insgesamt ist das Variationsystem leider sehr instabil, auch mit installiertem SP1.
      Beispiel: Für die Migration von einem vorhandenen alten System haben wir u.a. ein Tool geschrieben, um aus Einträgen einer SharePoint Liste Sites und Pages auf einem Zielsystem zu erstellen. Sei es über as SP Objektmodell oder über stsadm, stellenweise und aus unerfindlichen Gründen knallt es beim Anlegen der Variations. Da die Sourcesprache aber (durch unseren code) (meistens) korrekt angelegt wird, ist der dahinterliegende Timerjob des Variationsystems das Problem.
      Eine wirkliche Lösung gibt es offensichtlich bisher nicht, daher führen wir das Erstellen der Sites und Pages nun verzögert aus, um jeweils nach ein paar Sites erstmal auf den SharePoint Timerjob zu warten...
    2. Variations per SharePoint Solution/Feature deployen bereitete uns ebenfalls einige Kopfschmerzen.
      Die Labels der Variationen die man anlegen möchte, lassen sich noch relativ leicht über ein paar Zeilen code in einem Feature Receiver anlegen. Um nun die Hierarchien zu erstellen, kann man entweder über die GUI gehen und auf den Button "Create Hierarchies" klicken oder man macht auch das per Code. Sinnvoll ist es, damit man später das ganze wirklich ohne manuelle Eingriffe von einem Administrator installieren lassen kann. Leider will Microsoft das wohl nicht, denn die zugehörige Klasse, bzw. Methode ist als internal deklariert und somit nicht verfügbar. Da das inakzeptabel ist, half nur ein Artikel von Codeplex, in dem beschrieben wird, wie man mittels Reflection doch noch zum gewünschten Ergebnis kommt. Und ja, die Alternative die Seite per WebRequest aus dem Code raus anzustoßen und vorher entsprechend zu manipulieren funktioniert nur bedingt und natürlich schon gar nicht zusammen mit Mehrsprachigkeit ;-)
    3. Custom ASP.NET 2.0 WebParts und Variations vertragen sich leider gar nicht!
      Beispiel: Eine Page erstellen, ein (selbst geschriebenes) WebPart hinzufügen und Publish klicken. Das Ergebnis ist ein leerer Eintrag im Variation Log, wo dann zwar Datum und Uhrzeit, aber weder Success, noch Failure Meldungen stehen.
      Weiterhin passiert dann einfach nichts mehr. Entfernt man das WebPart und klickt erneut auf Publish, funktioniert alles wieder wie es sollte.
      Nach einiger Recherche gibt es dazu offensichtlich 2 Lösungen:
      1. Man erbt von Microsoft.SharePoint.WebPartPages.WebPart anstatt von System.Web.UI.WebControls.WebParts.WebPart, was jedoch laut Microsoft nicht empfohlen ist, oder
      2. Installiert neben den Post-SP1 Hotfixes vom 31. Januar 2008 auch noch das 21. Februar 2008 Hotfix Package, was genau dieses Problem behebt. Somit können dann auch bereits vorhandene ASP.NET WebParts verwendet werden.

    Weitere Teile folgen, denn noch ist das Projekt nicht zu Ende... Im nächsten Beitrag geht es dann um das ebenfalls allseits beliebte Content Deployment und warum  ich das ganze nahezu komplett neu Entwickelt habe...

    Sunday, May 18, 2008 7:07:51 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Avanade | Microsoft | SharePoint
    # Sunday, May 11, 2008

    Kleines Update:

    Bug fixes:

    - Automatische Überprüfung auf Updates deaktivieren hatte keine Funktion / Disable Check for Updates option had no function

    New Features:

    - Automatisch starten mit Windows als Option verfügbar / Autostart with Windows available

     

    Wie immer: Download hier

    Sunday, May 11, 2008 11:59:49 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [16]
    .NET | ProxySwitcher | Software
    # Saturday, May 03, 2008

    Der Proxy Switcher ist nun in einer neuen Version verfügbar.
    Neben einer grundlegenden Änderung am Switcher PlugIn Interface, gab es noch ein paar weitere Änderungen und Neuerungen.

    Das wichtigste dürfte für die meisten jedoch sein: Der Proxy Switcher bringt nun ein Firefox Switcher PlugIn mit. Leider muss Firefox geschlossen sein, da Firefox keine API mitbringt um eine laufende Instanz zu benachrichtigen, dass sich die Proxy Einstellungen geändert haben. Sollte jemand dazu Informationen haben, bitte melden.

    DOWNLOAD HIER

    Changelog:

    • Automatische Prüfung auf neue Versionen
    • Verbessertes PlugIn Interface (Bietet nun laden/speichern von Konfigurationen)
    • Minimiert starten funktioniert nun auch zuverlässig auf Windows XP und ist explizit konfigurierbar
    • Neues PlugIn für Firefox 2 und 3 (außerdem kann bei mehreren Profilen gewählt werden, für welches Profil die Einstellungen gelten sollen)

    --------------------------

    English:

    DOWNLOAD HERE

    Changelog:

    • Auto check for updates
    • Enhanced PlugIn interface (now an abstract base class with load/save configuration functions)
    • Start minimized now configurable and working on Windows XP
    • New PlugIn for Firefox 2 and 3; works also with different Firefox profiles
    Saturday, May 03, 2008 7:28:31 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [3]
    .NET | ProxySwitcher | Software
    # Monday, March 17, 2008

    Download here!

    Changelog:

    • A new switching method is available (Wireless LAN SSID)
      image
    • Switching method "Gateway is" was removed, because "Gateway contains" also works for exact matches. NOTE: Please check your AutoSwitch settings if you used the "Gateway is" method.
    Monday, March 17, 2008 11:02:21 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [6]
    .NET | ProxySwitcher | Software
    # Sunday, February 24, 2008

    Now available: Version 1.5, download here!

    Changelog:
    -  Check for auto-switch rules on startup. Now if you start the program, all settings will be applied even if the LAN cable already plugged-in.

    Sunday, February 24, 2008 8:39:54 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ProxySwitcher | Software
    # Sunday, January 27, 2008

    So, das wäre geschafft.

    Ab sofort bin ich nun Microsoft Certified Professional Developer: Enterprise Applications Developer.

    Dementsprechend ein neues Logo rechts. Und weils so schön ist, hier alle Logos mit denen ich mich nun schmücken kann/darf:

     MCP(rgb)  MCTS(rgb)_513_512_514  MCPD(rgb)_506

    Mein zugehöriges MCP Transcript gibt es unter folgender Adresse:

    http://www.microsoft.com/learning/mcp/transcripts
    Transcript ID: 761136
    Passwort: marcowiedemeyer

    Sunday, January 27, 2008 4:53:19 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [3]
    .NET | ASP.NET 2.0 | Avanade | Das wahre Leben | Microsoft Zertifizierungen
    # Tuesday, January 22, 2008

    Ein kleines neues Feature ist hinzugekommen:

    - Import und Export von Proxy und AutoSwitch Einstellungen

    Nun kann man also Proxy Einträge erstellen, per Export in eine Datei exportieren und seinen Kollegen zur Verfügung stellen.

    Jeweils per Rechtsklick auf den Listen, was dann so aussieht (klick für groß):

    image

    Weitere Anregungen und Wünsche wie immer gern an mich oder in die Kommentare.

    Wer übrigens seine gesamte Liste "exportieren" möchte, macht einfach ein Backup aller Dateien in folgendem Ordner (unter XP entsprechend):
    "C:\Users\USERNAME\AppData\Local\ProxySwitcher"

    DOWNLOAD v1.0.4 (englisch)

    -----------ENGLISH-----------

    Now v1.0.4 is available for download. Changes to 1.0.3:

    - Proxy and networt settings can be exported/imported

    DOWNLOAD v1.0.4 (english)

    Tuesday, January 22, 2008 9:23:08 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
    .NET | ProxySwitcher | Software
    # Thursday, January 17, 2008

    Heute mussten wir eine sehr fragwürdige Entdeckung machen:
    Bei SharePoint/MOSS ist die Reihenfolge der styles im .css file wichtig! Ok genauer gesagt liegt es wahrscheinlich am ASP.NET Menu Control.

    Wie kommt man nun zu so einer Erkenntnis?

    Dazu fügt man ein neues SharePoint Menu Control zu einer MasterPage hinzu, alternativ auch das Standard ASP.NET Menu Control.
    Nun die CSS Klassen für die verschiedenen Level festlegen, und auch die Selected Eigenschaft.

    Die Styles liegen dabei in einem extra .css file, was etwa so aussieht:

    .NavBarSelected { (...) }
    
    .NavBarLevel1, .NavBarLevel2 { (...) }

    Nun werden die MenuItems zwar korrekt dargestellt, aber nur bis man eines selektiert. Das Problem ist hier, dass SharePoint, oder eben das ASP.NET Menu, den HTML code folgendermaßen rendert:

    ...menuitem class=“NavBarSelected, NavBarLevel1, NavBarLevel2“

    Es werden einfach alle styles in die class Eigenschaft gerendert, nur leider in der Reihenfolge in der sie auch im .css file aufgeführt sind.

    Vertauscht man im .css file nun einfach die Reihenfolge der class angaben so

    .NavBarLevel1, .NavBarLevel2 {} 
    
    .NavBarSelected {} 

    dann wird das Menu richtig gerendert und das Ergebnis sieht so aus:

    ...menuitem class=“NavBarLevel1, NavBarLevel2, NavBarSelected“

    Dabei sollte man im Normalfall davon ausgehen können, dass wenn man schon das "selected" class property setzt, die style angabe automatisch ans Ende gesetzt wird und man nicht in einem mehrere 1000 Zeilen großen .css file auf die Reihenfolge achten muss...

    Thursday, January 17, 2008 9:53:23 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ASP.NET 2.0 | Microsoft | SharePoint
    # Tuesday, December 11, 2007

    Jetzt gibt es also auch das Service Pack 1 für Microsoft Office SharePoint Server 2007.

    Vorher muss das SP1 für WSS 3 installiert werden. Downloads hier:

    WSSv3 SP1: http://www.microsoft.com/downloads/details.aspx?FamilyId=4191A531-A2E9-45E4-B71E-5B0B17108BD2&displaylang=en

    MOSS 2007 SP1: http://www.microsoft.com/downloads/details.aspx?FamilyID=ad59175c-ad6a-4027-8c2f-db25322f791b&DisplayLang=en

    Tuesday, December 11, 2007 8:19:18 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Microsoft | SharePoint | Office 2007 | Software
    # Thursday, November 29, 2007

    Wie ich soeben meinen Logfiles entnehmen konnte, bin ich ab sofort auch auf blogs.dotnetgerman.com gelistet. Vielen Dank an der Stelle für das plötzlich erhöhte Besucher aufkommen.

    Thursday, November 29, 2007 8:32:51 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Blog
    # Sunday, November 25, 2007

    Wie ja bereits seit Tagen an diversen Stellen zu lesen ist, steht das Visual Studio 2008 für alle MSDN Subscription Kunden zum Download zur Verfügung!

    Dies ist die erste VS Version, mit der man für alle .NET Framework Versionen entwickeln kann, weshalb ich direkt mal VS 2005 deinstalliert und 2008 installiert habe. Bisher bin ich ganz zufrieden. Der Team Explorer 2008 läuft sogar mit TFS 2005. Wer den Team Explorer 2008 übrigens sucht, hier ist der Download.

    Jetzt warte ich nur noch auf Windows Server 2008... wohl leider bis Februar.

    Sunday, November 25, 2007 2:00:03 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Microsoft | Software | Visual Studio 2008
    # Sunday, November 18, 2007

    Nachdem der Proxy Switcher nun auch im Heise Software Archiv gelistet ist, gab es doch einige Anfragen vor allem bezüglich der Proxy Ausnahmen.

    Dieses Feature ist ab sofort enthalten. Weitere Anregungen und Wünsche aber weiterhin gern an mich oder in die Kommentare.

    Autostart mit Windows muss noch per Hand eingerichtet werden, einfach eine Verknüpfung in dem Autostart Ordner erstellen. In der nächsten Version dann vielleicht enthalten.

    DOWNLOAD v1.0.3 (englisch)

    -----------ENGLISH-----------

    Now v1.0.3 is available for download. Changes to 1.0.2:

    - Proxy exceptions can be configured

    DOWNLOAD v1.0.3 (english)

    Sunday, November 18, 2007 11:31:11 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [3]
    .NET | ProxySwitcher | Software
    # Thursday, November 08, 2007

    In einer Document Library gibt es ja ein paar Menüs. Nun möchte man jedoch einige Funktionalitäten nicht jedem User zur Verfügung stellen. In diesem Beispiel möchte ich "Open in Explorer" nicht mehr im Action Menü haben.

    Dafür gibt es zwei Vorgehensweisen:

    1. Den Usern das UseRemoteAPIs Recht entziehen wenn möglich
    2. Eine Anpassung des Action Menüs (nicht offiziell supported!) in dem man folgendes macht:

    Die Datei "DefaultTemplates.ascx" im Ordner "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES" öffnen, nach der Zeichenfolge ID="ToolbarActionsMenu" suchen. Dort finden sich die entsprechenden Einträge als SharePoint:MenuItemTemplate. Nun kann man z.B. das gesamte Item entfernen, aber auch neue hinzufügen.

    Thursday, November 08, 2007 8:17:25 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ASP.NET 2.0 | SharePoint
    # Friday, September 28, 2007

    Nachdem ich SSL für die Reporting Services auf einem anderen Port als dem Standard aktiviert habe (Port 444), konnte ich keine Verbindung mit dem SQL Management Studio mehr herstellen.

    Es kam folgende Fehlermeldung: "The file you are attempting to save or retrieve has been blocked from this Web site by the server administrators." Wobei im Event Log etwas genauer steht, dass er versucht auf https://domain/ReportServer... zuzugreifen.

    Die Portangabe muss manuell in der Datei

    "C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportServer\rsreportserver.config"

    hinzugefügt werden. In dem o.g. Microsoft Dokument steht, dass man dies nur manuell ändern muss, wenn man die E-Mail delivery extensions verwendet.

    If you are using the report server e-mail delivery extension, you can create subscriptions that included a report URL in the e-mail message. To construct the report URL, the report server uses the UrlRoot configuration setting in the RSReportServer.config file.

    Friday, September 28, 2007 9:00:46 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Microsoft | Software | SQL Server 2005
    # Thursday, September 27, 2007

    Setzt man das SharePoint GridView (Microsoft.SharePoint.WebControls.SPGridView) in eigenen Seiten ein, und benutzt man für die Datenquelle die DataSource Eigenschaft

    spGridView.DataSource = dataView;

    dann zeigt das GridView beim sortieren keine Pfeile neben der sortierten Spalte an.

    Dank Reflector stellt man fest, dass das SPGridView leider die Spalten Sortierung nur anzeigt wenn man als Datenquelle "DataSourceID" verwendet... Warum? Ich sehe da keinen Grund. Deshalb hier in etwa die Implementierung wie es das SPGridView auch intern macht:

          public static void SetGridViewSortArrow(SPGridView spGridView, string sortExpression, SortDirection sortDirection)
          {
             // Show arrow on sorted column
             for (int colIndex = 0; colIndex < spGridView.Columns.Count; colIndex++)
             {
                DataControlField field = spGridView.Columns[colIndex];
                if (((field == null) || string.IsNullOrEmpty(field.SortExpression)) 
    || (field.SortExpression.ToLower(CultureInfo.CurrentCulture) != sortExpression.ToLower(CultureInfo.CurrentCulture))) continue; DataControlFieldHeaderCell cell2 = (DataControlFieldHeaderCell)spGridView.HeaderRow.Cells[colIndex]; Image image = new Image(); if (sortDirection == SortDirection.Ascending) image.ImageUrl = "/_layouts/images/sortup.gif"; else image.ImageUrl = "/_layouts/images/sortdown.gif"; image.Style[System.Web.UI.HtmlTextWriterStyle.MarginLeft] = "2px"; cell2.Controls.Add(image); break; } }

    Aufgerufen wird das ganze dann im gridView_Sorting Event nach dem sortieren und vor allem nach dem

    spGridView.DataBind();
    Thursday, September 27, 2007 1:25:29 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | ASP.NET 2.0 | C# Code | Microsoft | SharePoint
    # Thursday, September 20, 2007

    Der Link im Proxy Switcher v1.0.2 Artikel zeigte auf eine alte Version.

    Fehler ist behoben und über den Download Link bekommt man nun auch wirklich Version 1.0.2.

    Thursday, September 20, 2007 9:48:56 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ProxySwitcher | Software
    # Tuesday, September 11, 2007

    Wer Anwendungen nutzt, die aus irgendeinem Grund nicht auf die Internet Explorer Proxy Settings zurückgreifen können, der kann Proxy Switcher auch für beliebige weitere Anwendungen erweitern.

    Dazu muss zunächst ein Class Library Projekt mit Visual Studio erstellt werden und eine Referenz auf ProxySwitcher.Shared.dll hinzugefügt werden. Das ganze funktioniert natürlich auch mit den kostenlosen Varianten Visual Studio 2005 Express Editions.

    Nun einfach eine neue Klasse erstellen, die das Interface ISwitcher im Namespace ProxySwitcher.Shared implementiert. Die Methoden sind eigentlich selbst erklärend und müssen dementsprechend befüllt werden.

    image

    Die fertig kompilierte DLL dann nur noch in das ProxySwitcher "plugins" Verzeichnis kopieren und ProxySwitcher neu starten. Das neue Plugin steht nun im "Applications" Tab zur Auswahl zur Verfügung.

    Demnächst gibts dann hier das Plugin (inkl Sourcecode) für meinen Lieblingsbrowser Opera.

    Das Problem an Opera und an vielen anderen Produkten (Firefox, RSS Bandit, etc.) ist, dass man die Anwendungen neu starten muss, damit die neuen Proxy Einstellungen wirksam werden. Der Internet Explorer, bzw. Windows, bietet dafür eine API, mit der man Windows mitteilen kann, dass die Einstellungen aktualisiert wurden.

    Tuesday, September 11, 2007 9:35:13 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | C# Code | ProxySwitcher | Software
    # Thursday, August 30, 2007

    Ein Kunde, der InfoPath 2003 einsetzt, hat einige Anforderungen, die sich nicht so einfach umsetzen lassen. Da das große weite Internet leider fast nichts dazu hergibt, hier meine Probleme inkl. Lösungen.

    Anforderung 1: Eine "multi-select list box", also eine ListBox zum anhaken. In InfoPath 2007 bereits enthalten, muss diese bei 2003 leider selbst gebaut werden. Dazu gab es einen recht guten Artikel bei InfoPathDev, den ich nun (nach deren umgestaltung) leider nicht mehr wieder finde... Deshalb hier nochmal in Kürze:

    Die DataSource Struktur (der InternetPortals Knoten ist repeatable und "internetPortalSelected" ist vom Typ boolean):

    image

    Nun erstellt man eine optionale Section auf dem Formular, und bindet sie an den "PortalsGroup" Knoten. Innerhalb der optionalen Section erstellt man eine Scrolling Region. Dort zieht man dann den "InternetPortals" Knoten hinein und wählt "Repeating Table". In den Eigenschaften hakt man "Allow users to insert and delete rows" und "Include Header" ab. Außerdem sollte die Tabelle natürlich keine Rahmen haben.

    Jetzt nur noch das ganze entsprechend ansortieren, die Textbox durch ExpressionBox ersetzen und als default Wert für den Namen etwas schreiben wie "loading...". Die ID muss dabei dem Benutzer gar nicht gezeigt werden und kann gelöscht werden. So sieht das ganze dann aus:

    image

    Anforderung 2: Und hier wird es komplizierter. Die ListBox soll nun mit Daten von einem WebService befüllt werden, und zwar erst beim öffnen der Section.
    Problem 1 daran ist, dass es im IP 2003 Objektmodell keinerlei Events gibt, die ein aufklappen einer section anzeigen. Das einzige Event, was an der Stelle hilft ist das OnContextChange Event. Dieses wird allerdings ziemlich häufig gefeuert, z.b. bei jedem klick irgendwo auf das Formular, etc.

    Problem 2 ist, dass man an die selbstgebaute ListBox keine DataSource anbinden kann (zumindest nicht über Wizards). Hier die Lösung (siehe Kommentare im Code): 

    [InfoPathEventHandler(EventType = InfoPathEventType.OnContextChange)]
    public void OnContextChange(DocContextChangeEvent e)
    {
        if (e.Type == "ContextNode")
        {
            LoadPortals();
        }
    }
     
    private void LoadPortals()
    {
        // Zunächst den Knoten finden der den Repeatable Knoten enthält
        IXMLDOMNode ipGroup = thisXDocument.DOM.selectSingleNode("my:Fields/my:PortalsGroup/my:Portals1");
     
        // Ist dieser null dann ist die section nicht aufgeklappt, es muss nichts getan werden
        if (ipGroup == null)
            return;
     
        // Die DataSource abrufen (hier: "GetInternetPortals"). Diese muss zunächst über
        // Tools->Data Connections angelegt werden und das häkchen bei "Automatically retrieve data
        // when form is opened" muss nicht selektiert werden, denn die Daten sollen ja nur bei Bedarf
        // geladen werden, um so das öffnen des Formulars nicht unnötig zu verlangsamen.
        DataObject dob = thisXDocument.DataObjects["GetInternetPortals"];
        dob.Query();
     
        // Hier müssen die Namespaces gesetzt werden um auf das DOM des WebServices zugreifen zu können.
        // Der erste Namespace ist IP 2003 standard, der zweite muss durch den Namespace
        // des WebServices ersetzt werden. 
        IXMLDOMDocument2 d = (IXMLDOMDocument2)dob.DOM;
        d.setProperty("SelectionNamespaces",
              "xmlns:dfs=\http://schemas.microsoft.com/office/infopath/2003/dataFormSolution\
               xmlns:tns=\"http://MY-WEB-SERVICE-URL.COM/SERVICES\"");
     
     
        // Den Knoten des WebService Response holen (wie dieser Knoten heißt lässt sich am einfachsten
        // raus finden, in dem man im debug modus einfach mal den Inhalt von d.xml anschaut).            
        IXMLDOMNode rootNode = d.selectSingleNode("dfs:myFields/dfs:dataFields/
                       tns:GetInternetPortalsResponse/tns:GetInternetPortalsResult");
     
        // Erst jetzt kann man feststellen, ob die Daten bereits in der Listbox enthalten sind
        if (ipGroup.childNodes.length > rootNode.childNodes.length)
            return;
     
        bool removeFirst = true;
     
        foreach (IXMLDOMNode node in rootNode.childNodes)
        {
            // Hier die beiden Knoten die vom WebService zurückgeliefert werden.
            string id = node.selectSingleNode("tns:Id").text;
            string name = node.selectSingleNode("tns:Name").text;
     
            IXMLDOMNode group = thisXDocument.DOM.
                     selectSingleNode("my:Fields/my:PortalsGroup/my:Portals1");
            IXMLDOMNode field = thisXDocument.DOM.
                     selectSingleNode("my:Fields/my:PortalsGroup/my:Portals1/my:InternetPortals");
            IXMLDOMNode newNode = field.cloneNode(true);
            if (removeFirst)
            {
                group.removeChild(field);
                removeFirst = false;
            }
            // Werte vom neuen Knoten setzen
            newNode.selectSingleNode("my:internetPortalId").text = id;
            newNode.selectSingleNode("my:internetPortal").text = name;
            group.appendChild(newNode);
        }
    }

     

    Demnächst mehr aus der InfoPath Hell...

    Thursday, August 30, 2007 8:31:27 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Avanade | C# Code | Microsoft | Software
    # Wednesday, August 22, 2007

    Folgendes Szenario: Ein (relativ umfangreiches) InfoPath 2003 Formular, mit Managed Code in .NET 2.0 und ein paar Data Connections die Daten von WebServices abrufen.

    Das Formular selbst ist inzwischen ziemlich groß geworden und von einer Sekunde auf die andere lädt das Forumlar einfach nicht mehr. Dazu folgende Fehlermeldung:

    The query cannot be run for the following DataObject: XXX
    InfoPath cannot run the specified query.
    Attachment: Maximum retry on the connection exceeded. - HRESULT=0x80004005: Unspecified error

    Nach ein paar google recherchen ist dieser Fehler scheinbar nur in anderen Zusammenhängen bekannt... Also alles mögliche probiert, aber keine Besserung. Dann mal ein neues Formular erstellt, data connection hinzugefügt, geladen --> lädt ohne Probleme.

    Nach etwa einem Tag verzweifelten rumprobieren, das Formular mal auf einem anderen Rechner geladen --> lädt ohne Probleme!

    Der Unterschied der beiden Systeme: Auf dem, auf dem es nicht läuft, ist nur das Office 2003 SP1 installiert, auf dem anderen SP2!

    Lösung also: SP2 installieren.

    Trotzdem bleibt es natürlich sehr fragwürdig, wieso es a) lange ging und erst auf einmal nicht mehr und b) ein neues Formular mit den komplett selben Einstellungen läuft.
    Mag vielleicht an der größe des Formulars liegen oder an dem Wetter... ;-)

    Wednesday, August 22, 2007 12:02:24 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Microsoft | Software | Visual Studio 2005
    # Thursday, August 16, 2007

    New Version here!


    --- English version below ---

    Hier gibt es nun endlich ein Tool, dass die nervigen Proxykonfigurationen überflüssig macht.

    Wenn man immer unterwegs ist, und mal in dieser Firma, mal in einer anderen Firma, dann im Hotel, zu Hause, etc. und man jedesmal eine andere Proxykonfiguration benötigt, hilft mein neues Tool.

    Der große Unterschied zu bestehenden Tools (und davon wird es sicher eine Menge geben) ist der, dass Proxy Switcher nicht nur ein Tasktray Symbol zum schnellen umschalten bietet, sondern dass Proxy Switcher automatisch, je nach Netzwerk, die Proxyeinstellungen setzen kann!

    Dazu legt man einmalig die Proxyeinstellungen fest und definiert eine Bedingung, wann dieser Proxy aktiv werden soll. Als Bedingungen stehen derzeit zur Verfügung:
    - Eine bestimmte Gateway Adresse
    - Der DNS Suffix enthält eine bestimmte Zeichenfolge

    Somit werden die enstprechenden Einstellungen aktiv, sobald man ein LAN Kabel einsteckt oder eine WLAN Verbindung herstellt die die entsprechenden Bedingungen erfüllt sind. Kein manuelles klicksen oder tippen mehr.

    Also sofort downloaden: Download Installer

    Requirements: .NET Framework 2.0 und Windows XP oder Windows Vista

    Features:

    • Verschiedene Proxy Einstellungen per Klick abrufen
    • Plugin basiert um die Proxyeinstellugen von verschiedenen Anwendungen zu setzen die nicht auf Internet Explorer Einstellungen zurückgreifen können. Mehr dazu in einem der nächsten Posts.
    • Automatisches Switching von Proxies, je nach Netzwerkkonfiguration

    image

    Änderungswünsche und Bugs bitte direkt hier in die Kommentare oder per Mail.

    -------------------- ENGLISH --------------------

    Proxy Switcher is a little helper tool for switching between different proxy settings.

    If you are at many locations, e.g. at work, home, hotel, etc. you may be tired of setting (and remember) proxy settings for the different locations.

    So, Proxy Switcher will assist you in remeber and easily switch between proxy settings. The major feature which is different from many other tools is, that Proxy Switcher can switch settings automatically depending on network connections.

    To make this work, define a new proxy configuration and set a condition for activating it. Possible conditions (in this version) are depending on the DNS suffix (e.g. yourcompany.com) or on the gateway IP address. If you now connect you notebook to a network, the settings will activated automatically.

    Another point is, that the application is Plugin-based. So if you have an application which cannot use the Internet Explorer settings write your own plugin for Proxy Switcher. More on this in one of my next posts.

    If you have any questions or bugs, leave a comment or drop me a line.

    Thursday, August 16, 2007 9:06:21 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [12]
    .NET | Das wahre Leben | ProxySwitcher | Software
    # Friday, July 27, 2007

    Danke Microsoft für die Implementierung dieses fundamentalen Features in der kommenden Version des Team Foundation Servers / VS 2008... endlich!

    image

    Friday, July 27, 2007 6:54:13 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Microsoft | Software | Visual Studio 2008

    Die Beta 2 vom Visual Studio 2008 (ehemals Orcas) ist ab sofort verfügbar.

    Die beste Einstiegsseite ist die MSDN Subscription Seite falls verfügbar oder hier:
    http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx

    Dort gibt es auch bereits fertige VPCs mit VS 2008 Team Suite und Team Foundation Server (TFS) vorinstalliert.

    Friday, July 27, 2007 8:59:49 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Microsoft | Software | Visual Studio 2005
    # Sunday, July 22, 2007

    Eigentlich wollte ich warten, bis dasBlog dann endlich in Version 2.0 verfügbar ist, aber heute hatte ich gerad mal ein wenig Zeit... Nun gibts auch ein neues, hübscheres Design.

    Allerdings lässt sich die configuration page nicht mehr aufrufen... Hoffe mit Version 2 wird dann alles besser. Diese wird dann auch nur noch auf .NET 2.0 aufsetzen und Medium Trust unterstützen, womit das ganze auch in einer Hosting Environment einsetzbar ist.

    Sunday, July 22, 2007 1:42:38 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | ASP.NET 2.0 | Blog | Software
    # Wednesday, July 11, 2007

    Der Team Foundation Server ist im großen und ganzen ein sehr nettes Tool. Insbesondere im Gegensatz zu SourceSafe nicht nur deutlich umfangreicher, sondern er "soll" auch besser sein.

    Problem / Bug(?):

    - Neue Datei zu einem Projekt hinzufügen oder besser noch durch copy/paste eine vorhandene, eingecheckte Datei in das gleiche Projekt kopieren
    - Die soeben neu erstellte Datei umbenennen
    - Alles einchecken

    Die Datei lässt sich nicht einchecken, obwohl es zunächst so aussieht. Nach beenden und neu starten des Studios hat die Datei überhaupt kein Zeichen mehr vor dem Dateisymbol und ist somit nicht mehr unter Quellcodekontrolle.

    Lösung des Problems:

    Die Team Foundation Server Power Tools runterladen, installieren und mit der Kommandozeile in den Ordner mit der Solution wechseln, bsp.:

    cd "C:\Documents and Settings\user1\Visual Studio 2005\Projects\testproject"

    Dann tfpt.exe aufrufen mit: "tfpt.exe online"

    Im erscheinenden Fenster die entsprechende Datei anhaken und auf "Pend changes" klicksen. Studio neu starten und die Datei lässt sich wieder einchecken wie gewohnt.

    Wednesday, July 11, 2007 4:12:09 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Avanade | Microsoft | Software | Visual Studio 2005
    # Friday, June 15, 2007

    Geschafft. Auf dem Web zum MCPD EA habe ich nun etwas Zeit gehabt um schon mal die ersten beiden Prüfungen zu machen. Zum einen die 70-536 (Microsoft .NET Framework 2.0 - Application Development Foundation) und direkt hinterher die 70-528 (Microsoft .NET Framework 2.0 - Web-Based Client Development).

    Damit bin ich jetzt also MCTS Web. Beide Prüfungen waren ganz ok, wobei ich bei der Web Prüfung die Möglichkeit der Kommentierung genutzt habe und bei 3-4 unklaren/falschen Fragen meinen Kommentar hinterlassen habe. Ob das jemand liest ist eine andere Frage...

    Friday, June 15, 2007 5:44:58 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | ASP.NET 2.0 | Avanade | Das wahre Leben | Microsoft | Microsoft Zertifizierungen
    # Thursday, May 24, 2007

     Hier noch ein paar Bilder die von den professionellen Fotografen gemacht wurden:

    Das war die große Bühne auf der wir auch die VSTO Session hatten (die war wirklich so groß):

    Dann noch der etwas kleinere Raum für die Games Development Sessions (hier spricht übrigens gerade Dirk Primbs):

    Und noch ein paar Bilder in Action ;-)

     

    Thursday, May 24, 2007 8:22:17 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Avanade | Das wahre Leben | Fun | Microsoft | Student Technology Conference
    # Tuesday, May 22, 2007

    Für mich endete die STC ja bereits gestern, aber als Fazit kann ich sagen, dass zum einen die Location zwar ganz nett war, aber irgendwie hat es mir 2005 in Kassel besser gefallen. Auch die Party am Abend war sehr verteilt in den ganzen Räumen, was eher nicht so toll war, auch wenn es sehr coole Aktivitäten wie z.B. Hochofenaufstieg bei Nacht, GPS Rally, XBox Contest, etc. gab.

    Meistens war ich allerdings beim AntMe Coding Contest zu finden, um einigen Teams noch ein paar Tipps zu geben. Und so sah das ganze auf der Leinwand aus, wenn zwei Ameisenvölker gegeneinander angetreten sind:

    Moderiert und gemanaged wurde das ganze von Wolfgang und Tom:

      Schönes Bild wie ich finde ;-)

    Ok, und damit alle die da waren nochmal nachlesen können, und alle die nicht da waren, aber gerne da gewesen wären, sehen können, was sie verpasst haben, gibt es hier die Slides und Demos der beiden Sessions "AntMe! - Teil 2" und "VSTO - Office Programmierung mit .NET":

    Download AntMe! Teil 2 Slides + Demos / Plugins
    Download VSTO Slides + Demos

    Wer noch fragen hat, gerne hier melden oder per Mail, siehe Slidedecks.

    Tuesday, May 22, 2007 11:02:48 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | AntMe | Avanade | C# Code | Das wahre Leben | Fun | Microsoft | Office 2007 | Student Technology Conference
    # Monday, May 21, 2007

    Heute bin ich auf der STC in Duisburg.

    Dort hat Avanade natürlich auch einen Stand, der von Maryla betreut wird.

    Hier ein (Teil-) Auszug aus der Agenda. Ich steh auch drauf...

     

    Die Slides zu den Vorträgen gibt es dann später an dieser Stelle. Jetzt erstmal zur nächsten Session...

    Monday, May 21, 2007 4:28:02 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Avanade | Das wahre Leben | Fun | Microsoft | Student Technology Conference
    # Friday, May 04, 2007

    Wie ich hier und hier ja schon mal angedeutet hatte, werde ich ebenfalls am 21. Mai auf der Student Technology Conference sein.

    Diesmal nicht als Student sondern als Speaker und zwar für das Thema AntMe! Teil 2, wo sich alles um die Architektur und Plugin Entwicklung drehen wird. Außerdem evtl. für eine Session gemeinsam mit einem Kollegen zum Thema Office Entwicklung mit VSTO (entscheidet sich Montag).

    Ich freue mich schon auf alle Besucher meiner Session(s) und natürlich auf die Party am Montag abend... ;-)

    Für die, die nicht kommen können, wollen oder dürfen, gibt es die Slides und Demos nach der Konferenz dann übrigens hier zum Download.

    Wer bis dahin wissen will, wie es bei den vergangenen Konferenzen war, der schaut hier bei der STC 2005 und/oder hier (2004).

    Friday, May 04, 2007 11:57:40 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | AntMe | Avanade | Das wahre Leben | Fun | Microsoft | Office 2007 | Student Technology Conference
    # Thursday, April 19, 2007

    Länger gab es nichts Neues, deshalb hier ein kurzes Update.

    1. Ein MOSS 2007 Problem:

    Ich versuche über folgende Zeilen (aus einer Windows Forms Anwendung) eine Verbindung zum SharePoint aufzubauen:

    SPSite site = new SPSite("http://moss2007/sites/test");
    SPWeb web = site.OpenWeb();
    SPListCollection lists = web.Lists;

    Bereits in der ersten Zeile bekomme ich eine Exception (ausgeführt mit einem MOSS Admin Account) geworfen die auch noch relativ unverständlich ist: "FileNotFoundException: The web application at http://moss2007/sites/test could not be found. (...)"

    Mit einem globalen Domain Admin Account (der kein eingetragener MOSS Admin ist, aber auf allen System in der Domäne admin permissions hat) läuft das ganze hingegen ohne Probleme. Ich habe schon rausgefunden, dass der Account in der WSS_Admin_WPG Gruppe sein muss und zusätzlich Zugriff auf die SharePoint_Config Datenbank haben muss, dann gehts... aber wieso? Was genau macht dieser API Call, wenn er nicht über das SharePoint User Objekt Modell geht? Falls jemand eine Erklärung oder ein paar Links zur Hand hat, immer her damit.

    2. Die STC 2007 ist zwar noch etwas hin, aber meine Präsentation zum Thema AntMe werde ich bereits auf unserem Avanade Team Meeting vorstellen, dementsprechend bin ich dabei diese bereits vorzubereiten. Einige Plugins sind dafür in der Entstehung und die Slides füllen sich auch langsam mit Inhalt...
    Die Agenda steht inzwischen übrigens auch schon fest.

    Thursday, April 19, 2007 9:22:29 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [5]
    .NET | AntMe | Avanade | C# Code | Das wahre Leben | Microsoft | SharePoint | Student Technology Conference
    # Monday, March 12, 2007

    Is it possible that no one ever tried this "easy" thing before? I can't belive that, but I did't find anything on the whole internet.

    Ok, here it is:
    I have a class library makes use of the Visual Studio feature to automatically create satellite assemblies for other languages. Nothing special. If you don't know, here it is how it works:

    Create the class lib project, add a resource file (Strings.resx) with one entry (Hello=Hello) and Visual Studio automatically created a strongly-typed resource from that.
    Now you can use MessageBox.Show(Strings.Hello); to access this string.

    If you now add another resource file called Strings.de.resx (Hello=Hallo) you can do this to access it:
    Strings.Culture = new CultureInfo("de");
    MessageBox.Show(Strings.Hello);
    And this is the output after building:

    • \MyAssembly.dll
    • \de\MyAssembly.resource.dll

    So, now I want to use this simple library in my InfoPath project. Open it in Visual Studio, add the reference to the assembly and build: Ok. Then publish this InfoPath Form. VS now should compile all associated resources, dlls and so on into the InfoPath *.xsn file, but it does not!

    And that's the problem here: It looks like that VS can't embed the satellite assemblies residing in subfolders into the .xsn file...
    If anyone has tried this before (and got a solution ;-)) let me know.

    Monday, March 12, 2007 3:09:33 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Avanade | Office 2007 | Visual Studio 2005
    # Monday, March 05, 2007

    Dieses Jahr wird es (endlich) wieder eine STC in Duisburg geben... nur bin ich kein Student mehr, schade.

    Aber alle die es sind, denen Empfehle ich sich sofort anzumelden, denn es gibt nicht nur unter den ersten Anmeldungen Office 2007 zu gewinnen, sondern es lohnt sich. In den 2 Tagen wird es um viele Interessante Themen gehen (hier Voten!), u.a. wahrscheinlich auch um AntMe, die Ameisensimulation.

    Und vielleicht werde ich auch dort sein, obwohl ich kein Student mehr bin... aber mehr wird noch nicht verraten.

    Monday, March 05, 2007 2:16:08 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | AntMe | Das wahre Leben | Fun | Microsoft | Office 2007 | Student Technology Conference
    # Thursday, February 15, 2007

    Für alle, die es auch noch nicht mitbekommen haben:
    RssBandit ist seit Januar in einer neuen Version verfügbar, die nun auch unter Vista ohne Probleme läuft.
    Das es sich bei der Version um ein RC handelt merkt man aber dennoch... insbesondere das Scrollen in meiner langen Feedliste ist sehr langsam...

    Wer damit natürlich nicht zufrieden ist (und viel Zeit hat) der kann sich auch die Sourcen downloaden und das ganze selbst anpassen, es ist natürlich in .NET / C# (v1.1) geschrieben.

    Thursday, February 15, 2007 4:41:38 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Software
    # Sunday, February 11, 2007

    Man glaubt es kaum, aber da bin ich gerade mal eine Woche in Kronberg und wen treffe ich: Mathias Raacke
    Er und einige andere Microsoft Student Partner haben an einem 2-tägigen Seminar bei Avanade teilgenommen.

    @Mathias: Habs am Freitag nicht mehr geschafft nochmal vorbei zu kommen. Wünsch dir aber viel Spaß bei deinen Vorträgen nächste Woche auf der VSOne und Basta.

    Sunday, February 11, 2007 3:45:56 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Avanade | Das wahre Leben
    # Tuesday, January 16, 2007

    Installiert man zunächst Outlook Web Access (OWA) 2007 in einen frischen IIS auf Windows Server 2003, gibt es noch keine Probleme.
    Installiert man nun die WSS 3.0, um z.B. die "öffentlichen Ordner" mit Exchange/Outlook verwenden zu können, kommen die Probleme.

    Möglichkeit 1: Man installiert die WSS in eine eigene neue Website. Problem: Port 80 wird nun also von der Standardwebsite und von der SharepointSite verwendet => Nicht möglich (mit nur einer IP).

    Möglichkeit 2: Mit dem Sharepoint Administrationstool lassen sich auch die Services in die vorhandene Standardwebsite installieren. Problem: Da beim ersten Einrichten kein Ordner angegeben werden kann wird WSS direkt in die Standardwebsite in "/" eingerichtet. => Das Problem ist bekannt und für Exchange 2003 gibt es hier auch eine Lösung: Microsoft KB 823265 In diesem Artikel werden die von OWA benötigten Ordner einfach der Kontrolle durch WSS entzogen.

    Das ganze hilft trotzdem nicht bei Exchange 2007!

    Nach diversen Experimenten am heutigen Nachmittag habe ich nun die Lösung gefunden:

    1. OWA 2007 muss installiert und funktionsfähig sein. Ordner: http(s)://localhost/owa
    Dann so vorgehen wie in Möglichkeit 2 beschrieben, also eine neue Sharepoint "Webanwendung" in die vorhandene Standardwebsite installieren.

    2. Testen ob nun die Sharepoint Services laufen. Dazu im Adminstrationstool eine neue "Websitesammlung" erstellen (Ich frage mich wirklich wie das in der englischen Version heißt) und schauen ob diese läuft. Im Beispiel unter http://localhost/websites/test1
    (Der Unterordner "websites" war bereits als websitepräfix vorgegeben)

    3. "Verwaltete Pfade definieren" wählen, und den Pfad "/" markieren und löschen.

    4. Als letztes muss nun die web.config im Root der Standardwebsite geändert werden, denn sonst läuft OWA nicht und quittiert den Aufruf mit einer Sicherheitsfehlermeldung im Eventlog. Also die Web.config öffnen und folgendes hinter den letzten <location> Eintrag anfügen:

    <location path="owa"> <system.web> <trust level="Full" originUrl="" /> <identity impersonate="false" /> <authorization> <allow users="*" /> </authorization> <httpModules> <clear /> </httpModules> <pages enableSessionState="true" enableViewState="true" enableViewStateMac="true" validateRequest="false" /> </system.web> </location>

    Wichtig ist vor allem das Trustlevel, denn das Standardtrustlevel für die gesamte Website wurde von WSS auf "WSS_Minimum" festgesetzt. In dieser "Trust-Umgebung" verweigert aber OWA seinen Dienst.

    Der <pages> Eintrag ist nicht notwendig, kann aber bei anderen Applikationen notwendig werden, die auf SessionState angewiesen sind. (Z.B. OWAAdmin)

    Nach den Änderungen den IIS neu starten und schon laufen die Sharepoint Services gemeinsam mit Outlook Web Access auf einer IIS Website, auf einem Port.

    Tuesday, January 16, 2007 4:24:39 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [6]
    .NET | ASP.NET 2.0 | Microsoft | Software | Windows
    # Wednesday, December 20, 2006

    Nachdem ich hier ja schon vom SP1 geschrieben habe, ist nun auch das VS2005 SP1 Update for Vista (Beta) zum Download verfügbar.

    Nach der Installation startet das Studio jetzt mit einer anderen Warnmeldung: Man soll das Studio doch bitte mit Adminrechten starten... naja, mal sehen ob es auch ohne Adminrechte (wie bisher ohne SP1 bestens)  läuft...

    Wednesday, December 20, 2006 11:32:43 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | Microsoft | Software | Visual Studio 2005
    # Friday, December 15, 2006

    Hmm... Gerade auf Vista installiert (und Windows Vista wird als gültiges Betriebssystem in den Systemrequirements aufgeführt) und jetzt erscheint diese tolle Meldung:

    Aha... also nochmal auf die Microsoft Seite, und was lese ich da jetzt?
    Das "SP1 Vista Update" ist derzeit a) nur als Beta erhältlich und b) ist der Downloadlink tot!

    Ach ja, die Installation dauerte nur 25 Minuten.

    Friday, December 15, 2006 12:24:18 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Microsoft | Software | Visual Studio 2005

    Gerade hier gelesen, dass das Service Pack 1 von Visual Studio 2005 ab sofort erhältlich ist. (Für die Express Edition hier)
    Und dann nachgesehen und erstmal über solche Aussage gestolpert:

    "When installing on Windows Vista™ with User Account Control (UAC) active, there can be a substantial delay before the initial setup dialog is displayed. During this time, a UAC function is verifying digital signatures within the installation package. This service pack carries a large number of files causing the process to take up to one hour in some cases."

    Ein "erhebliches" Delay... eine Stunde! Wow... Mal gucken wie lange es auf meinem Vista mit einem "Experience Index" von 4,4 dauert... (naja, an meinen Platten wirds nicht liegen... mit 5,4 von 5,9 möglichen Punkten)

    Bin gespannt ob sich dann auch wirklich soviel getan hat, insbesondere beim Betrieb unter Vista. Bei einem knapp 500MB großen Service Packt dürfte man da einiges erwarten...

    Friday, December 15, 2006 11:19:33 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Microsoft | Software | Visual Studio 2005
    # Monday, December 11, 2006

    Heute gibt es mal einen Beitrag auf Englisch.

    Yesterday I read the new dotnet-magazin issue (1/2.07), and the best article was: "Die Zwischenablage wird lebendig" (Page 107), an article about Microformats and Microsoft Live Clipboard.
    The LiveClipboard is XML-based and using Microformats to transport Businesscards (vCard), Appointments (iCal) or other things you can think about.

    What can I do with Live Clipboard?

    An Example: You are on Xing (openBC) or LinkedIn and want easily copy one of your contacts to your Outlook Addressbook, you normally have to create a new Contact in Outlook, copy each line from the website with CTRL+C, CTRL-V to the corresponding fields in Outlook and save.
    With Live Clipboard you can right click the contact on the website, select Copy from context-menu (or use CTRL+C), go to Outlook and paste it there. Ready! No more things to do.

    Well, because Live Clipboard isn't really widespread, most Websites are not yet Live Clipboard enabled. An alternative is using Firefox with Tails. Xing supports the Firefox Tail extension, but I think Live Clipboard will be the better technology, if more websites will support it.

    You can use Live Clipboard today, with Internet Explorer and Firefox (I hope Opera will support it in the next release too). Ray Ozzie has a sample website where you can play around with LiveClipboard, and also implement Live Clipboard (and your contact informations) on your own website (more on this in one of my next posts).

    What about Outlook?

    Yes you're right... Outlook does not support LiveClipboard out-of-the-box, but I build an AddIn for Outlook 2007 with VSTO 2005 SE. If you want to try it, download the Live Clipboard Outlook AddIn here!
    Systemrequirements: VSTO runtime, Outlook 2007. (Successfully tested with Windows Vista RC1 and Outlook 2007 B2TR). Don't know if it will work with Outlook 2003, but when, let me know.

    After installing and change to a Folder containing Contacts, there is a new MenuItem:

    Also there is a new context-menu-item on a Contact available:

    If you now go to a website that offers a contact through Live Clipboard, indicated by this icon , you can copy and paste to Outlook easily.

    More on VSTO can be found in MSDN or at outlookcode.com.

    Monday, December 11, 2006 3:31:34 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Microsoft | Office 2007 | Software
    # Tuesday, November 28, 2006

    Nachdem irgendwie der Voice Chat Live Call mit Trillian leider aus unbekanntem Grund nicht funktionierte, habe ich den Live Messenger 8.1 Beta installiert. Kleiner Test, und alles funktioniert bestens.

    Nur jetzt das große ABER: Ich bin es von Trillian gewöhnt, dass ich a) die Tastenkombination zum senden einer normalen Textnachricht frei konfigurieren kann und b) das es CTRL+Enter (=STRG+Enter oder Alt+S, oder Alt+Enter, etc...) ist!

    Nur wieso kommt man auf die Idee, das senden einer Nachricht gerade auf [Enter] zu legen? Das ist und bleibt für mich ein Zeilenumbruch.

    Um das Problem zu beheben, dachte ich, mit einem AddIn lässt sich sicher irgendwas entwickeln... aber leider bietet das SDK (besser gesagt die MessengerClient API) keine Möglichkeit in das Texteingabe-Fenster einzugreifen. Einzig das senden einer Nachricht lässt sich abfangen...

    Wer ein AddIn entwickeln möchte, findet hier die nötigen Infos.

    Und wenn jemand Kontakt zu den Live Messenger Entwicklergruppe hat, möge er diesen doch bitte mitteilen, dass der Senden-Shortcut konfigurierbar sein sollte! ;-)

    Tuesday, November 28, 2006 11:01:02 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | Microsoft | Software | Windows
    # Monday, November 20, 2006

    Ich habe das Highscore Plugin für AntMe aktualisiert. Es besteht nun die Möglichkeit, sein Ameisenvolk gleich mit dem Punktestand mit hochzuladen. So können andere nun auch fremde Völkchen analysieren... Geplant für die nächste Zeit ist jedoch eine Trennung der Highscore, so dass besser differenziert werden kann zwischen "globalem", "lokalem" und "keinem" Gedächtnis der Ameisen... Dazu dann später mehr.

    Vorläufig also erstmal AntMe downloaden, Highscore Plugin downloaden und sein Ameisenvolk auf Platz 1 positionieren...

    Monday, November 20, 2006 2:51:26 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | AntMe | Fun | Microsoft

    Der folgende Code, legt für "s" entweder den String in "myString" fest, oder wenn myString NULL ist, wird der Text auf "nullText" festgelegt.

    string myString = null; string s = myString==null ? "nullText" : myString;

    Soweit so klar... braucht man ja schon mal ab und zu. Wie ich nun vor kurzem herausgefunden habe, gibt es eine noch kürzere Form:

    string myString = null; string s = myString ?? "nullText";

    Monday, November 20, 2006 2:40:39 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | C# Code
    # Wednesday, November 15, 2006

    Da leider NDoc für das .NET Framework 2.0 derzeit nicht funktioniert, und es sich unter Vista noch nicht mal installieren lässt, weil es Version 1.1 vermisst, habe ich nach einer Alternative geschaut.

    Ich wusste, dass Microsoft seine eigenen Dokumentationen mit einem Tool erstellt, was es seit noch nicht allzulanger Zeit auch kostenlos zum Download gibt: Sandcastle. (Direkt Download)

    Vor kurzem hatte ich damit bereits rumprobiert, allerdings schrecken die x einzelnen Aufrufe auf der Kommandozeile ein wenig ab, zumal es nicht so funktionierte wie ich wollte...

    Da ich nun aber wirklich eine Dokumentation für das Diplomprojekt benötige, hab ich mich nochmal ein wenig umgesehen und bin auf den Sandcastle Help File Builder gestoßen. Eine grafische Oberfläche für Sandcastle die im Prinzip genauso aussieht wie die GUI von NDoc. Somit ist die Bedienung sehr einfach und ich habe meine Dokumentation im VS2005 Style erstellt bekommen.

    Wednesday, November 15, 2006 11:53:22 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Diplomarbeit | Microsoft | Software
    # Saturday, November 11, 2006

    Also erstmal: Ich hab den Job! Mein zukünftiger Arbeitgeber wird nun also Avanade.

    Hier meine Erfahrungen mit dem Bewerbungsprozess:

    Nach der schriftlichen Bewerbung über die Webseite, wurde ich zu einem ersten telefonischen Interview eingeladen.

    Das Telefongespräch dauerte etwa 40 Minuten und war mit einer Frau aus dem Recruiting. Anfangs ein bisschen erzählt was Avanade ist, wie es so abläuft, was man als Consultant so macht. Eindringlich darauf hingewiesen, dass man sehr viel immer Unterwegs ist, und von Montags bis Freitags im Projekteinsatz ist und im Hotel schläft. Dann habe ich ein bisschen erzählt, also was hab ich vor, was stelle ich mir vor, wie denke ich passe ich in den Job und was hab ich bisher so gemacht. Da war dann auch u.a. ein kurzes gespräch auf Englisch dabei.

    Danach hatte ich noch die Möglichkeiten ein paar Fragen zu stellen, und sie teilte mir gleich am Telefon schon mit, wie sie das Gespräch fand, und dass ich eine Runde weiter bin!

    Das zweite (technische) Telefon Interview war dann bereits eine Woche später mit einem Principal Consultant. Das Gespräch dauerte eine Stunde und er hat auch am Anfang ein wenig erzählt und dann sehr viel gefragt. Das ging über alle Bereiche im .NET Umfeld, und auch das allgemeine Microsoft Technologie Umfeld. Angefangen bei WinForms, UserControls, DataSet, ADO.NET, dann weiter zum Webbereich, also ASP.NET, ein bisschen IIS, WebServices und deren Hosting Möglichkeiten etc. Aber auch Fragen wo ich nicht so viel  keine Ahnung von hatte, wie z.B. BizTalk Server und Office Programmierung mit VSTO.

    Danach war wieder die Gelegenheit ein paar Fragen zum Projektumfeld zu stellen. Insgesamt ist das Gespräch aber recht gut verlaufen und er sagte mir dann, dass er einen positiven Bericht schreiben wird und empfehlen wird mich einzuladen.

    Der Termin war dann bereits für 2 Wochen später eingeplant.

    Das war dann gestern. Ich hab mir dafür einen kleinen aber feinen Mietwagen (;-)) genommen und bin nach Frankfurt, genauer gesagt nach Kronberg gefahren. Dort angekommen, ging es im Prinzip direkt los, meine Gesprächspartner waren die Frau vom ersten Telefongespräch und ein Projekt Manager für den technischen Bereich. Das Gespräch verlief ganz gut, mit den üblichen Fragen und auch einiger technischer Diskussion zum Diplomarbeitsthema und vielen Nachfragen.
    Dann gabs noch eine Fallstudie, also eine kleine Aufgabe die ich als Mitarbeiter dem Kunden präsentieren musste. Nach den 20 Minuten Vorbereitungszeit hab ich mein Ergebnis präsentiert und es war wohl ganz ok.

    Direkt im Anschluss haben sie dann gesagt, dass sie mir ein Angebot machen möchten. Ab 01.02.07 gehts dort also los. Ich bin schon sehr gespannt und freue mich drauf.

    Insgesamt war der ganze "Recruiting" Prozess sehr angenehm, da man sehr schnell bescheid bekommen hat und insgesamt vom Abschicken der Bewerbung bis zur Zusage es nur etwas mehr als einen Monat gedauert hat.

    Saturday, November 11, 2006 5:09:15 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
    .NET | Avanade | Das wahre Leben
    # Wednesday, November 08, 2006

    Sooo, nachdem ich mich ein wenig mit AntMe beschäftigt habe, gibt es nun mein (und das erste) PlugIn! Es dient dazu seinen Punktestand hochzuladen. Die Rangliste findet sich auf http://mwiedemeyer.de/AntMe. Dort gibt es ebenfalls den Download des PlugIns.

    Für alle die noch nicht wissen was AntMe ist: Eine Ameisen Simulation in .NET, bei dem man seinem eigenen Ameisenvolk künstliche Intelligenz auf einfachste Art und Weise verleiht programmiert.

    Mehr zu AntMe auf Coding4Fun (Forum) oder in meinem vorigen Beitrag.

    So, und nun versucht mich von Platz 1 zu verdrängen! ;-)

    Wednesday, November 08, 2006 9:05:53 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | AntMe | Fun | Microsoft
    # Friday, November 03, 2006

    Entstanden aus einem Spaßprojekt für die GC Leipzig ist daraus jetzt wohl was richtig nettes geworden.
    Es ist im Prinzip ähnlich wie RoboCode oder auch Terrarium (wovon man aber auch lange nichts gehört hat...wohl gestorben!?).

    Man programmiert in diesem Fall jedoch ein Ameisen Volk, wie es auf bestimmte Situationen, wie z.B. "Futter in Reichweite" oder "Gegenerische Ameise entdeckt" reagieren soll.
    Danach lässt man es dann in einer Simulation, also in einem Spielfeld selbstständig agieren und kann seinem Völkchen zusehen, was es für Dummheiten macht. Später soll laut Uwe auch noch ein "Kampfmodus" hinzukommen, wo man verschiedene Völker gegeneinander antreten lassen kann.

    Das ganze ist komplett in C#, aber dank .NET kann man seine Ameisen natürlich auch in beliebigen anderen .NET Sprachen schreiben.

    Also: Download (inkl. Sourcen) hier! Und ein extra Forum gibts nun auch.

    Ich weiß..eigentlich sollte ich meine Diplomarbeit schreiben, aber jetzt wird erstmal am Ameisen Volk gehackt... ;-)

    Friday, November 03, 2006 7:08:03 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
    .NET | Diplomarbeit | Fun | Microsoft | Software | AntMe
    # Monday, October 09, 2006

    Ich bin zur Roadshow in Hannover angemeldet. Vielleicht trifft man ja den ein oder anderen?

    Könnt gerne bescheid sagen, noch sind 1 oder sogar 2 Plätze im Auto von Paderborn über Bielefeld nach Hannover frei.

    Aber Achtung: Frühbucherrabatt gibt es nur noch bis 25.10.! Also schnell anmelden. Mehr Infos hier!

    Monday, October 09, 2006 6:13:41 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | Das wahre Leben | Microsoft | Office 2007 | Software | Windows
    # Tuesday, September 26, 2006

    Wie ich eben bei Sebastian Weber gelesen habe, stehen die Termine für die Roadshow zu Windows Vista, Office System und Exchange Server 2007.

    Es handelt sich um eine Eintägige Veranstaltung und die Agenda hört sich äußerst Interessant an. Und das beste kommt noch:

    Es gibt Windows Vista Ultimate und Office 2007 Pro kostenlos!

    Ich denke es lohnt sich, deshalb werde ich auf jedenfall dabei sein, nur wo weiß ich noch nicht so recht...

    Mehr Infos und Anmeldung: Ready for a New Day - Bereit für die IT-Infrastruktur von morgen

    Tuesday, September 26, 2006 12:38:27 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | Das wahre Leben | Microsoft | Office 2007 | Software | Windows
    # Tuesday, August 22, 2006

    Gestern habe ich zwei sehr interessante Artikel von Ralf Westphal entdeckt, in denen er auf Komponenten-orientierung, Contract-First-Design und Microkernel eingeht.

    Da wäre zum einen "Dynamic component binding made easier" in dem auch ein Beispiel Projekt gezeigt wird und zum anderen "Training students to use Software Cells, Contract-First-Design and a Microkernel" wo es um einen Workshop an einer Uni zu diesem Thema geht.

    Bisher war mir nicht bewusst was ein Microkernel beim Komponenten basierten erstellen von Software leisten kann: Nämlich saubere Trennung der einzelnen Komponenten über vorher definierte Interfaces (Contract-First). So lassen sich die einzelnen Komponenten unabhängig voneinander entwickeln und eben auch vollkommen unabhängig voneinander testen.

    Also mein Tip: Unbedingt die beiden Artikel von Ralf lesen! Es lohnt sich wirklich! Hätte ich das alles etwas eher entdeckt, würde unser Diplomarbeitsprojekt jetzt sicher auch etwas anders aussehen... ;-)

    Nützliche Tools für das ganze:

    • Eine Microkernel Implementierung, z.b. die von Ralf (siehe Downloadlink am Ende des Artikels) oder das Castle Project, etc.
    • NUnit - Das bekannte Unit Testframework für .NET zum Testen der einzelnen Komponenten.
    • NMock - Ein Mock Object Framework. Damit lassen sich Dummy-Objekte für die Unit Tests bauen.
    Tuesday, August 22, 2006 2:12:40 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Diplomarbeit | Software | Visual Studio 2005
    # Saturday, August 12, 2006
    Ab sofort gibt es MSDN Solve auch auf Deutsch!
    Dort gibt es kurze Codeclips, ähnlich wie Webcasts, zu einigen Interessanten Themen und auch sonst viel Wissen.
    Das besondere: Wenn man jetzt bis Oktober einige der Codeclips ansieht, kann man ein Visual Studio 2005 kostenlos bekommen!
    Saturday, August 12, 2006 10:47:29 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ASP.NET 2.0 | Microsoft | Visual Studio 2005
    # Monday, July 17, 2006
    In diesem MSDN Artikel beschreibt Jeff Prosise zehn häufige Fehlerquellen in ASP.NET Anwendungen.
    Insbesondere die auch in ASP.NET 2.0 (trotz Masterpages) häufig eingesetzte LoadControl Funktion kann wirklich tückisch in Verbindung mit dem OutputCache sein.
    Aber am besten selbst lesen und dazu lernen!
    Monday, July 17, 2006 8:26:57 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ASP.NET 2.0 | Microsoft
    # Tuesday, June 13, 2006
    Lange danach gesucht, und nun endlich gefunden:
    Es gibt einen kostenlosen grafischen Editor für MSBuild Files.
    Er heißt MSBuild Sidekick und sieht recht vielversprechend aus...
    Tuesday, June 13, 2006 7:54:20 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Visual Studio 2005
    # Thursday, May 25, 2006
    Notiz für mich:
    Man braucht nicht stundenlang suchen, und es dann doch nicht finden, sondern man kann für den Script Explorer alternativ auch einfach STRG+ALT+N drücken.

    Oder auf Tools->Customize->Commands dort links Debug suchen und rechts den Script Explorer.

    Mit dem kann man dann wunderbar auch Javascript debuggen. Mit Breakpoints, IntelliSense und allem anderen was man so gewohnt ist.

    Ach so und vorher nicht vergessen im IE "Script debugging deaktivieren" abschalten.
    Thursday, May 25, 2006 12:37:37 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | ASP.NET 2.0 | Visual Studio 2005
    # Thursday, May 04, 2006
    Auf jabber.org gibt es eine Liste mit Code Libraries, und dort finden sich sogar zwei freie Komponenten in C#. Damit lässt sich also ein eigener Client schreiben...
    Die Komponenten:
    1. agsXMPP und
    2. Jabber-Net
    Thursday, May 04, 2006 10:57:34 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Software | Windows
    # Wednesday, May 03, 2006
    Ich hatte kurz ein bisschen Zeit, und habe mal die UrlRewriting Komponente für ASP.NET 2.0 getestet, da ich schon länger eine solche Funktion in WeissteNochGestern.de implementieren wollte.
    Also runtergeladen, eingebaut, und: nix. Erst nach einigen versuchen und doch mehr Zeit als gewünscht, klappte es dann.
    Problem war, dass, wenn man eine neue extension verwendet (z.b. *.picture), dann muss diese im IIS so eingetragen werden, dass der ganze Request auch an ASP.NET weitergegeben wird.

    Nun kann man also Bilder, sofern man ihre Nummer kennt folgendermaßen direkt aufrufen: http://WeissteNochGestern.de/BILDNUMMER.picture
    Wednesday, May 03, 2006 3:40:03 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | ASP.NET 2.0
    # Tuesday, February 28, 2006
    Also habe gerade eine Singleton Klasse in C# erstellt, und wollte nun aber doch mal bei Google gucken, was denn so Standard ist...
    Dabei bin ich auf mehrere Seiten gestoßen und bin mir nicht mehr sicher, was "gut" ist und was nicht.

    Da hätten wir zunächst die "offizielle" MSDN Seite: MSDN: Implementing Singleton in C#
    Dann eine andere, die aber recht seriös wirkt: Implementing the Singleton Pattern in C#

    Leider weiß ich nicht was ich jetzt für "gut" halten soll... ich hab mich jetzt für:
    private static readonly ServiceManager instance = new ServiceManager();
    entschieden, was auf der MSDN Seite als threadsafety steht, und auch auf der anderen Seite als Beispiel 4 angewendet wird. Nur das dort steht, dass man unbedingt einen static Constructor braucht, da der C# Compiler sonst die Klasse mit beforefieldinit markiert... sollte da jemand Licht ins dunkle bringen können, immer her damit!
    Tuesday, February 28, 2006 6:00:31 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | C# Code | Microsoft
    # Thursday, February 16, 2006
    Wie ich gestern im MCP Newsletter erfahren habe, hat MS wieder ein "2. Chance Angebot"... diesmal gilt das Angebot sogar recht lange wie ich finde.
    Nämlich ab sofort bis zum 30. Juni 2006.

    Mehr Infos gibts hier: Zweite-Chance-Angebot
    Thursday, February 16, 2006 6:17:36 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Das wahre Leben | Microsoft Zertifizierungen | Microsoft
    # Thursday, January 12, 2006
    So, hab mir einen Client geschrieben, der auf dem dasBlog EditWebService aufsetzt.
    Damit kann ich nun ohne die Seite lange laden zu müssen schnell neue Beiträge schreiben.
    Und um das ganze ein wenig komfortabler zu machen, hab ich den EditWebService angepasst, so dass ich alle vorhandenen Kategorien empfangen kann, und nicht mehr alle wissen und per Hand eintragen muss. Nur die Eingabe ist noch nicht so schön, da man HTML direkt eingeben muss, und keinen Editor hat, aber das wird sich auch noch ändern.
    Wer ihn sich ansehen will: (Sourcen gibts später auch noch)

    Download dasblog Client [Screenshot] (es ist die .config Datei anzupassen, um die URL zum EditService anzugeben)
    Download des aktualisierten EditWebService (nur die aktualisierte DLL, einfach ins bin Verzeichnis von dasBlog kopieren)
    Thursday, January 12, 2006 9:20:02 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | Blog | Software
    # Wednesday, December 14, 2005
    Nach weiteren Tests unterstützt mein neuer SourceSafe Client nun quasi alle Funktionen, die der VSS WebService bietet.
    Einiges ist mir zwar noch nicht ganz klar, aber das wird schon noch...
    Damit von dem Projekt noch ein paar mehr Leute was mitbekommen, hab ich einen Workspace auf GotDotNet.com eingerichtet.
    Hier zu finden: http://workspaces.gotdotnet.com/SourceSafeClient

    Wenn ich die GUI soweit habe, dass sie auch andere Leute verstehen, gibts ne erste Alpha im GotDotNet Workspace.
    Wednesday, December 14, 2005 3:13:08 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
    .NET | Software | SourceSafe Client | Visual Studio 2005 | Windows
    # Monday, December 12, 2005

    Ich wusste zwar schon länger, dass Visual SourceSafe 2005 einen WebService anbietet, hab aber jetzt erst damit ein wenig rumgespielt.
    Was soll ich sagen: Cool! ;-)
    Jetzt habe ich feststellen müssen, dass man auf den WebService leider nur mit dem PlugIn aus dem Visual Studio darauf zugreifen kann. Der SourceSafe Explorer unterstützt leider keinen Internet Zugriff.

    Da ich aber auch gerne mal von fremden Rechnern auf Dokumente/Sourcen aus dem SourceSafe zugreifen möchte, hab ich mir gedacht, schreib ich mir doch nen eigenen SourceSafe Windows Client für Web-Zugriffe.
    Durch ein bisschen rumprobieren und tcptrace hab ich soweit auch schon mal etwas zu Stande bekommen.

    Ich denke, wenn das Teil halbwegs vorzeigbar ist, werde ich es sicher zum Download anbieten. Vielleicht richte ich ein SourceForge Projekt ein.. mal sehen.
    Wenn jemand ähnliches bereits vor hatte oder so etwas fertig hat, der möge sich doch einfach mal melden. Oder falls jemand interesse hat, daran mitzuwirken natürlich auch.

    Monday, December 12, 2005 9:54:54 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Software | Visual Studio 2005 | Windows | SourceSafe Client
    # Wednesday, November 30, 2005

    Da ich gerade an einem kleinen Client für dasBlog werkel, dachte ich mir, verwende ich doch die RichTextBox, und wandel vor dem Upload das RTF zeugs um in HTML....
    aber das ist leicher gesagt als getan! Nachdem ich jetzt das ganze Internet durchsucht habe und nur kostenpflichtiges gefunden habe (was meisten dann auch nur HTML zu RTF und nicht andersrum konvertieren kann), hab ich es vorübergehend aufgegeben...

    Also wenn jemand sowas kennt, immer her damit, ansonsten bastel ich mir da irgendwie was anderes...

    Wednesday, November 30, 2005 11:44:52 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [5]
    .NET | Blog | Software | Visual Studio 2005
    # Friday, November 25, 2005

    Nachdem unser kleines Projekt (WeissteNochGestern.de) nun auf ASP.NET 2.0 läuft, hab ich natürlich für den Client (zum Bilder Upload) auch Click-Once verwendet.
    Nun bin ich in Leipzig an der FH und wollte mal schauen, ob der Client auch vernünftig läuft, und was muss ich feststellen:
    Es läuft nicht!

    Problem 1:
    Es war kein .NET Framework 2.0 installiert... aber dazu ist auf der publish Seite ein Link, mit dem die Prerequisites installiert werden...ok, klicks ich drauf und denk mir läuft... .NET 2.0 wird installiert, und ich versuchs nochmal. Wieder eine Fehlermeldung: .NET 2.0.xxxx stimmt nicht mit 2.0.50727.42 überein.. es stellt sich raus, dass dieses Setup für die Voraussetzungen auf eine Beta von .NET 2.0 zeigt!!! Hab bisher noch nicht nachgeguckt, aber ist das bereits als Bug gemeldet, oder liegt der Fehler bei mir?

    Problem 2:
    Nach der Installation der richtigen Framework Version, dachte ich es läuft... aber wieder eine Fehlermeldung.
    Da die Verbindung ins Internet in der FH nur über einen Proxy mit Authentication läuft, hacke ich meine Kontodaten ein, und die publish seite öffnet sich. Nach klicks auf Run kommt dann aber die Fehlermeldung, dass die Datei xxx.application nicht runtergeladen werden konnte. Nun ist meine Frage: Gibt es keine Möglichkeit Click-Once zu nutzen, wenn man auf einen Proxy mit Authentifizierung angewiesen ist?

    Fazit: Click-Once ist wirklich eine coole Erfindung, aber evtl. noch nicht ganz ausgereift!?

    Friday, November 25, 2005 12:09:56 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [4]
    .NET | ASP.NET 2.0 | Software | Visual Studio 2005
    # Thursday, November 17, 2005

    Hmm... Irgendwie hab ich gerad festgestellt, dass die bisherigen MSDN Webcasts (http://www.microsoft.com/germany/msdn/webcasts/bisherige.mspx) nicht mehr runtergeladen werden können...
    Weiß jemand warum? Die Seite sieht noch gleich aus, nur nach dem Klicks auf Download landet man auf der Event-Anmeldeseite...

    Schade, wollte mir ein paar für die Zugfahrt Sonntag nach Leipzig mitnehmen...

    Thursday, November 17, 2005 7:19:35 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Microsoft
    # Tuesday, November 08, 2005

    Ein Tag und eine lange Nacht nach erscheinen von Visual Studio 2005 und SQL Server 2005 möchte ich über die Installationen berichten:
    Zunächst erstmal Visual Studio und die MSDN auf meinem Desktop System installiert... bis dahin keine Probleme, da ich zuvor die Beta's deinstalliert hatte, und zwar mit dem Uninstall Tool. Der Uninstaller ist allerdings nicht ganz zu ende gelaufen, da ich vorher bereits irgendeine Komponente manuell deinstalliert hatte...
    Das zeigte sich dann auch beim Installieren des SQL Servers... Die Installation brach mit der Meldung ab, dass noch inkompatible Beta Komponenten installiert wären... Nach einigem suchen und löschen von Registryschlüsseln fand ich dann das Logfile ("c:\Programme\Microsoft SQL Server\90\Setup Bootstrap\LOG") der installation wo die Fehlermeldung etwas konkreter beschrieben war. Also den Eintrag aus der Registry entfernt und schon gings!

    Merke: Nächstes mal den Readme Anweisungen strikt folgen ;-)

    Tuesday, November 08, 2005 9:19:52 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | SQL Server 2005 | Visual Studio 2005
    # Wednesday, October 05, 2005

    Gerade gelesen, dass es ab sofort eine neues .NET Steuerelement von Microsoft zum kostenlosen Download gibt:
    Die InkListBox. Eine Erweiterung der bekannten ListBox um Funktionen für die Stifteingabe.
    Download hier

    Ich werd sie wohl auch gleich mal ausprobieren...

    Wednesday, October 05, 2005 10:22:41 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | TabletPC
    # Thursday, September 22, 2005

    Es gibt nun eine Vorabversion des Windows Vista UX Guide, um sich auf die neuen Controls und die MS Richtlinien für schöne Anwendungen einzustimmen. (Download UX Guide)
    Mit Hilfe des Guides sollen also Vista konforme Anwendungen entstehen. Vieles gilt aber sicherlich auch schon für aktuelle Anwendungen.
    Es lohnt sich diesen Guide zu lesen.

    Angeregt von dem Guide habe ich mir dann auch gleich mal eine PromptTextBox gebastelt... Damit lässt sich, so wie bei Outlook, eine TextBox mit einem grauen Text austatten, der den Zweck der TextBox anzeigt.
    Download PromptTextBox.zip

    Thursday, September 22, 2005 10:10:01 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Software | Visual Studio 2005 | Windows
    # Tuesday, August 30, 2005



    Heute hatte ich also die 70-229 "Designing and Implementing Databases with SQL Server 2000" und obwohl ich dachte, dass ich das 2. Chance Angebot für diese Prüfung brauchen würde, habe ich bestanden! Mit 860 Punkten (wobei man 700 zum bestehen brauchte).

    Jetzt fehlt nur noch die 70-320 "Developing XML Web Services and Server Components with Microsoft Visual C# .NET" und dann bin ich MCAD!
    Die werd ich dann allerdings wohl erst im Oktober machen, da ich ende September erstmal eine nicht sehr spaßige mündliche Prüfung in der FH habe...

    Tuesday, August 30, 2005 8:07:20 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET | Microsoft Zertifizierungen
    # Thursday, August 25, 2005

    Da ich diverse Newsletter von Microsoft bekomme, wurde ich bis gestern immer und immer wieder an der ein oder anderen Stelle darauf hingewiesen, dass es doch noch bis zum 31.08. das "2. Chance Angebot" für Microsoft Zertifikate gibt... und gestern war es dann soweit und die Newsletter haben mich überzeugt ;-)

    Hab mich dann gleich zur "70-229 Designing and Implementing Databases with MS SQL Server 2000" Prüfung angemeldet. Für Dienstag... hab also noch ein bisschen Zeit zum lernen. Und wenns nichts wird hab ich ja gratis ne zweite Chance.

    Leider gab es in den hier verfügbaren VUE Testcentern keine Termine mehr vor dem 31. für die 70-320 ("Developing XML Web Services and Server Components with Microsoft Visual C# and the Microsoft .NET Framework").
    Dann hätte ich nämlich die 3 für den MCAD (Microsoft Certified Application Developer) zusammen... (die 70-316 hab ich ja bereits vor einiger Zeit gemacht, und gleich mit 900 Punkten bestanden).

    Thursday, August 25, 2005 9:20:27 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [3]
    .NET | Microsoft Zertifizierungen
    # Wednesday, August 24, 2005

    Am 17.09. gibt es einen kleinen Wettbewerb in Hamburg: .NET gegen Java!
    Sehr cool... ich hoffe ich kann dabei sein. Vielleicht findet sich ja jemand der mit will? (sei es als Javamensch und damit als Gegner oder als mein Teampartner)

    Weitere Infos / Regeln gibts hier:
    Bei Lehmann's: http://www.lob.de/cgi-bin/work/pages?id=Hc0wTJIjBWQ2&frame=yes&flag=new&menupic=no&page=hh_veranstaltungen#17092005
    und bei Ralf, der in der Jury sitzen wird: http://weblogs.asp.net/ralfw/archive/2005/08/19.aspx

    Wie ich von Ralf erfahren habe wird auch .NET 2.0 erlaubt sein... je nach Aufgabe die erst ab 18Uhr bekanntgegeben wird kann es vielleicht sinnvoll sein tatsächlich 2.0 zu verwenden... ich bin gespannt.

    Wednesday, August 24, 2005 12:41:14 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]
    .NET | Das wahre Leben | Fun
    # Saturday, August 20, 2005

    Heute habe ich mich am .NET Golf versucht... dabei geht es darum eine Aufgabe in möglichst wenig Bytes zu erledigen.
    Leider scheint meine Lösung falsch zu sein... zumindest bei mir lokal funktioniert sie aber! Bin auf die Auswertung gespannt.

    Details gibts hier:
    http://codefairway.net/de/

    Saturday, August 20, 2005 3:48:33 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    .NET
    # Thursday, June 02, 2005

    Hab gestern erstmal das ganze System unter die Lupe genommen... und bin zu dem schluss gekommen, dass ich es erstmal nicht komplett neu aufsetzen werde.
    Nach gründlicher Aufräumaktion (deinstallieren, löschen, registry bearbeiten) bin ich nun sehr zufrieden! Das System läuft schnell und stabil.
    Besonders der Stift läuft jetzt deutlich besser! Der "Trick":
    http://www.wacom.com/tabletpc/driver.cfm
    Dieses Wacom Modul wird wohl in (fast) allen Tablet PC's verwendet. Durch den neuen Treiber soll alles besser werden...naja, man bekommt zumindest einige Einstellmöglichkeiten über ein neues Systemsteuerungspanel dazu. Insgesamt bin ich jetzt aber sehr zufrieden und ich hab seit dem ersten Starten die Tastatur bisher noch nicht wieder verwendet.
    Was mir auch sehr gut gefällt ist das Programm "Centrino Hardware Control":
    http://www.pbus-167.com/chc.htm (sogar in .NET geschrieben)

    Jetzt erstmal das TabletPC SDK runterladen und mal sehen was das so bietet...

    Thursday, June 02, 2005 9:47:21 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
    TabletPC | .NET
    Statistics
    Total Posts: 192
    This Year: 4
    This Month: 0
    This Week: 0
    Comments: 291


    Sign In
    All Content © 2010, Marco Wiedemeyer
    DasBlog theme 'Business' created by Christoph De Baene (delarou)