Hallo lieber Besucher !
Dies ist der Blog von Sascha Baumann, selbständiger Software-Entwickler aus Berlin.
In diesem Blog beschäftige ich mich mit Themen, mit denen ich beruflich zutun habe.
Das ist hauptsächlich die Konzeption und Entwicklung von Software im Microsoft .net Umfeld (.net, Silverlight, Xaml, ASP.net, Windows) aber nicht ausschließlich.
Solltest Du Unterstützung, Beratung oder eine zweite Meinung für ein aktuelles Projekt benötigen, kontaktiere mich einfach über die folgende Seite.
viel Spaß beim Stöbern
Sascha Baumann
Hallo zusammen,
heute morgen hat sich meine Sharepoint Central Administration beim Auftruf über einen fehlenden SPXmlAdminContentMapProvider beschwert.
Das Problem kann man lösen indem man in der Web.Config der Administration unter <siteMap> den entsprechenden Provider hinzufügt.
Bei dieser Gelegenheit bin ich über folgenden Artikel zum Thema Sharepoint Navigation Providers gestolpert, dem ich alle nötigen Pfade und Infos entnommen habe.
Hope it helps
Sascha
Hallo zusammen,
immer wieder stoße ich im Netz auf interessante Artikel-Serien, die sich mit dem Lernen einer neuen Technologie befassen.
An dieser Stelle habe ich mal ein paar zusammengetragen, und werde die Liste updaten wenn mir neue Artikel unterkommen.
Viel Spaß damit
Update
Ich habe aus der Übersicht nun eine Resourceseite gemacht.
The Rumours
Recently there are spreading some rumours based on what Bob Muglia, the Microsoft President said. When I read that, and some other Blogpost about this “Shift of strategy” I thought: Damn, I have to do something. Maybe I should hurry up learning about Phone 7, so I can at least use my skills to keep my business going . But wait a minute .
I’m not that special
Lets assume for a moment, I’m not the only one got that Idea. Preserve business and reuse my existing Silverlight-skills I nurtured over the last couple of years. Also Microsoft is not stupid, and they just convinced a very big customer of mine to make Silverlight their major Smart Client Strategy. So they would not change their focus so rapidly and risk loosing a lot of clients. They just want more . . .
Money
Anyone read that article about Microsoft is profitable with their Windows, but sinking loads of money into the internet ? They are promoting Silverlight, but what do they really get out of it ? Some Visual Studio Licences ? Most of us would buy it anyway, because if there was no Silverlight, we would still build ASP.NET Apps, or even WinForms Applications. So they trying to convince us to bring them some money by . . .
Phone 7
Selling Apps in the App-Store for Phone 7 would bring Microsoft a percentage of what we Silverlight Developers get. And to be honest, they are trying to convince us to do more Apps for Phone 7 for a while now. Of cause they don’t say “Guys, we don’t get a dime for the great Silverlight App you just coded, but we would, If you would do a nice Phone 7 App instead. So . . .
The Conclusion
So, if this rumour is intended to push Silverlight Developers to the Phone 7 Market because “We can safe our Jobs by doing so” . would that be okay ? . I’m not so sure about that. It looks all like marketing to me. Increase the pain of not coding Phone 7, and present the solutions : Phone 7. Just like a commercial.
Some more words
I’m not condemning the intension to earn money. Otherwise I would code pearl on Linux machines or something like that. But if what I just outlined was really the intension (Using fear to get people to write Phone 7 apps), I think it would be kind of dirty. Forgive me. Lets just hope its not like this – or maybe lets hope it is like this, and we all will be coding Silverlight during the years to come
PS
I’m currently learning Phone 7 development anyway :-p
Silverlight November 1st 2010
Hello everyone,
today I want to share an implementation I’m using in my personal prototyping-Framework for Silverlight. This is important to mention, because I have tested it only for “works” but not including any productive parameters like memory-usage or processing-time.
The meaning of a prototyping-framework for me is to get thinks working as quick as possible, to show the outcome to my customer. There are some things I need very often, and so I’m using base-classes a lot.
Click here to read more.. »
Silverlight Juni 9th 2010
Hello everyone,
I originally planed to write a blog-post about the right way to localize Silverlight Apps. While researching I came across two really good posts about that topic already. So instead of writing the same stuff again, I follow an extended D.R.Y.-Principal ( I might call it D.R.O.P – Don’t repeat other people ) and point you in the right direction instead
A short but clear post about Localization was written by Patric Schouler on dotnet-redzone.blogspot.com.
If you like more detail and "Hands-On"-Experience have a look at the Post "Localizing Business Application" by Brad Adams.
Keep on improving !
Sascha
Silverlight Mai 24th 2010
Hi everyone,
just found a nice Silverlight game for Phone 7. You can play it in the browser, don’t need a phone or emulator.
Check out DroppyPop
Cheers
Sascha
Windows Phone Mai 15th 2010
I like using Base-Classes for any kind of “Class-Group”. Very prominent groups are Models and ViewModels in Silverlight-Applications.
The ViewModel-Baseclass can hold any functionality, that applies to every ViewModel inheriting from it and, if we are talking about Generics, can be very convenient to use.
For example, if I want to apply the factory-pattern to my ViewModels and want every Model to have a static Create-Method I can simply implement this Method in the Base-Class.
public class ViewModelBase
{
public virtual ViewModelBase Create()
{
return new ViewModelBase();
}
} |
Of cause, without Generics we are limited to the return-Type. We could now override this method in every specific ViewModel to at least return the right ancestor of ViewModelBase. An easier way is, to use Generics for this case. The class could look like this :
public class ViewModelBase<TViewModel> where TViewModel : ViewModelBase
{
public virtual TViewModel Create()
{
return Activator.CreateInstance(typeof(TViewModel));
}
} |
Now we can simply create our new specific ViewModel like this
public class MyViewModel : ViewModelBase<MyViewModel> |
to get what we want generically.
Another possible scenario would be the following. We know, every ViewModel contains a Collection of Models, all inheriting from a class called ModelBase. we could extend out code the following way:
public class ViewModelBase<TViewModel> where TViewModel : ViewModelBase
{
public virtual TViewModel Create()
{
return Activator.CreateInstance(typeof(TViewModel));
}
public List<ModelBase> MyList {get;set;}
} |
or, the better way, we could extend our Generic header to be type safe.
public class ViewModelBase<TViewModel, TChildModel>
where TViewModel : ViewModelBase
where TChildModel : ModelBase
{
public virtual TViewModel Create()
{
return Activator.CreateInstance(typeof(TViewModel));
}
public List<TChildModel> MyList {get;set;}
} |
Defining a Class by
public class MyViewModel : ViewModelBase<MyViewModel, MyModel> |
Like always, if we talk about inheritance, you should avoid to go too far with that. I implemented a Framework I use for rapid prototyping where a lot of things are done in the base-class via reflection, but in a productive environment its not always what you want. Plan your development as precise as possible.
- What do you want to be individually implemented by each ViewModel ?
- When is it a good thing to implement it in the Base-Class ?
- How confusing is you inheritance for other developers ?
Good Luck
Silverlight Mai 14th 2010
I read very often things like “Should work, cause its downward compatible”. But I’m too long in the business to trust sentences like this – so basically If I write a Silverlight 3 App for a customer I want to test it with the SL 3 Runtime, if I play around with the new SL 4 Features, I obviously need SL 4 Runtime. Are you like me ? Don’t you like VMs for these small requirements ?
Click here to read more.. »
Silverlight Februar 16th 2010
The main difference between the Generic Classes Lookup and Dictionary is the uniqueness of the Key. While Dictionarys can only have a Key-Value once,
in Lookup it can occur multiple times.
Declaration is the same.
Lookup<int,string> myLookup = new Lookup<int,string>();
vs.
Dictionary<int,string> myDic = new Dictionary<int,string>();
Furter Reading:
* A nice article about using ToDictionary and ToLookup in Linq can be found @blog.donnfelker.com
My preferred .NET-language is C#, but as a consultant I have to write VB every once in a while. Here is a little introduction, how my beloved Extension Methods work in VB.Net.
Just two steps:
Step1 – Create a new Module called for example “StringExtensions.vb” and add an Import –Statement for System.Runtime.CompilerServices
Step2 – Write your Extension Method, and put an <Extension()> directive on top. Here is an example:
<Extension()> _
Public Function AddAbcX(ByVal mystring As String) As String
Return myString + "ABC"
End Function
Notice the _ behind the directive. Don’t forget this one.
You notive one additional thing. A while ago I read an article about Extension Methods and got the suggestion to add an X to each methodname.
So, if using intellisense, you will see directly if the method you’re about to call is an Extension Method or a build-in Method. Good idea I think.
Another suggestion – Put the method in the same namespace as the object it belongs to (I said namespace, not file!).
So you have your methods ready when you start using the object.
Cheers
Sascha
|