Archive for July, 2008
stsadm - Ein Tool das man kennen muss wenn man mit SharePoint arbeitet
Stsadm ist das Kommandozeilentool mit dem sich praktisch alles in SharePoint machen lässt. In Zukunft werde ich immer bevor ich einen Arbeitskollegen frage nochmals kurz durch die Funktionsliste von stsadm schauen. Diese ist riesig.
Z.B. kann man ganze Sites als Template exportieren:
stsadm -o export -url http://localhost/sites/sitename –filename C:\\test\\test.cab -includeusersecurity
Posted: July 21st, 2008 under Programmieren.
Tags: Add new tag
Comments: none
ConnectionString aus Web.config auslesen in ASP.NET
Angenommen der ConnectionString ist in der folgenden Form in der Web.config abgelegt:
<connectionStrings>
<add name="ConnectionString" connectionString="..." />
</connectionStrings>
Dann kann er in ASP.NET 2.0/C# wie folgt ausgelesen werden:
string connectionString = ConfigurationManager.ConnectionStrings["NameConnectionString"].ConnectionString;
Posted: July 19th, 2008 under Programmieren.
Comments: none
Insane reason for System.StackOverflowException
If you get a System.StackOverflowException out of nowhere, this could be the reason:
What I wrote in my code:
public LogWriter Logger
{
set { Logger = value;}
get { return Logger; }
}
Call me stupid if you like but stuff like that happens all the time and I wonder why the compiler doesn’t say anything!
You really have to take care that you don’t mix up the syntax of C# 2.0 and C# 3.0. Because that is what I did. At first I wanted to write the Field in the new syntax:
public LogWriter Logger { set;get; }
Then I thought of our companies policy not to use the new syntax yet. So I wrote the set and get out and did that mistake.
Posted: July 17th, 2008 under Programmieren.
Tags: .NET
Comments: none
ConnectionStrings
ConnectionsStrings made easy:
Posted: July 15th, 2008 under Programmieren.
Comments: none
Facebook is evil
Ich habe mich lange - sehr lange - gegen Facebook gesträubt. Heute ist der Tag gekommen und ich habe mich angemeldet.
Viele meiner Freunde schwärmten von dem Feature, dass man beim anmelden einfach sein “Adressbuch heraufladen” kann und Schwups, hat man alle seine Freunde zusammen. Ich freute mich darauf. Doch was kam? Man muss die Daten seines Emailaccounts angeben, was gar nicht gut ist. Ok, ich schätze das Feature, aber ehrlich, es wäre nicht schwer auch kommaseparierte Listen (CSV) zu akzeptieren, dann könnte man auch sein Offline-Adressbuch hochladen und die Sicherheit meines Emailaccounts wäre gewährleistet. Facebook, you failed!
Posted: July 14th, 2008 under Informatik, Uncategorized.
Comments: none
SharePoint-Begriffsklärungen
SharePoint ist ein Paradebeispiel für die Bennenungsinkonsistenzen bei Microsoft. Hier ein erster Versuch Licht ins Dunkel zu bringen.
SiteCollection heisst nichts anderes als Webseitensammlung, der Begriff wird aber hauptsächlich für die top-level website dieser Sammlung verwendet.
Besonderheiten:
- Die zugehörige Klasse im API heisst SPSite.
- In der DB heisst die Tabelle Sites.
- Der Pfad einer SiteCollection ist
http://servername(im Falle von WSS ist die Wurzel eine Site Collection) oder wenn mehrere SiteCollection unter derselben Applikation laufen:http://servername/sites/EineSite. - Eine SiteCollection hat einen eigenen Administrator.
- SiteCollections haben eigene Vorlagenkataloge für Webparts, Listen und Seiten.
- Alle Sites einer SiteCollection befinden sich in derselben Datenbank. Werden mehrere Datenbanken verwendet, braucht es auch mehrere SiteCollections.
Eine Stufe unter der SiteCollection ist die Site. Nein, eine Seite steht nicht für das Äquivalent einer einzelnen HTML-Seite. Eine Site ist eine Sammlung von Listen, Dokumentbibliotheken etc. Eine Site kann Subsites enthalten. Subsites lassen sich praktisch beliebig schachteln. Es kann also z.B. folgende Pfade geben:
http://servername/Subsite
http://servername/subsite/tiefereSubsite/nochtiefereSubsite
Besonderheiten:
- Die Sites hiessen früher Webs.
- Die DB-Tabelle heisst Webs.
- Die Klasse im API heisst SPWeb.
Jede SiteCollection enthält mindestens eine Site, die top-level website.
Unterhalb der Site befinden sich dann folgende Elemente: DocumentLibraries, Lists, Pages. Eine DocumentLibrary kann zusätzlich noch Ordner enthalten. Das heisst in den DocumentLibraries können die Dokumente ebenfalls wieder in einem Baum geordnet werden. Die Ordnung der Webseiten ist aber bei der DocumentLibrary auf atomaren Niveau angekommen.
| SiteCollection | SPSite |
| Site | SPWeb |
| Page | |
| List | SPList |
Geht man noch eine Stufe weiter so findet man die folgende Hierarchie:
- ApplicationPool
- WebApplication
- SiteCollection
- Site
- DocumentLibrary / List
- Folder
Die ersten beiden Punkte gehören zum IIS. Ist eine wirklich grosse Applikation vorgesehen, kann es auch sein, dass man auf Ebene ApplicationPool oder WebApplication parallelisiert und aufteilt.
Weitere Informationen
Eine SiteCollection kann nicht geschachtelt werden. Der Normallfall ist eine WebApplikation mit einer SiteCollection und darin sind alle Sites und Subsites etc.
WSS hat eine zentrale Administration. In meinem Fall läuft die auf http://localhost:28744. Unter SharePoint Web Application Management kann man eine Liste aller Webapplikationen aufrufen.
Dort kann man auch zusätzliche WebApps erstellen. Diese müssen jeweils auf einem anderen Port laufen. Man kann aber auch mehrere SiteCollections in eine WebApplication einfügen. Mögliche Pfade sehen so aus:
http://servername/sites/eineCollection/Subsite
http://servername/sites/eineCollection/subsite/tiefereSubsite/nochtiefereSubsite
Es ist auch möglich mehrere SiteCollections einer WebApplikation zuzuordnen. Die SiteCollections laufen dann parallel. Sinnvoll ist das z.B. wenn eine WebApplikation gebaut wird, aber verschiedene Teil von verschiedenen Externen bearbeitet werden sollen. Man kann z.B. für jeden Kunden eine SiteCollection erstellen und dem Kunden das externe bearbeiten ermöglichen.
Die verschiedenen SiteCollections muss man dann von Hand verbinden. Z.B. in der ersten SiteCollections Links einbauen.
Posted: July 14th, 2008 under Programmieren.
Comments: none
iGoogle-Gadget: SBB-Fahrplan
Ich habe ein Google-Gadget entwickelt. Wer iGoogle als Startseite einbindet, kann sich jetzt auch den folgenden Direktlink auf den SBB-Fahrplan in seine Startseite einbinden:
Fahrplan
Zum Gadget geht es hier. Im Moment wird das Gadget von 293 Personen benutzt.
Gadget zu ihrer iGoogleseite hinzufügen:
PS: Der Usercounter scheint einen Bug zu haben. In den letzten Tagen hat er mir 293 Nutzern angezeigt. Heute plötzlich 283, dann wieder 293, 283, 293.
Udate vom 26.August 2008: Über 600 User
Posted: July 13th, 2008 under Informatik, Uncategorized.
Comments: none
George Carlin is dead
George Carlin scheint ein super Stand-Up-Comedian zu sein. Ich muss noch mehr von ihm sehen! Danke Michèle Roten für den Tipp.
Sein Input über Religion ist sehr aufschlussreich, er bringt einige philosophische Probleme des Christentums gut (und witzig!) auf den Punkt. Als Christ sollte man sich nicht davon ablenken lassen, dass er mit einem etwas vereinfachten Gottesbild startet, das ändert nichts an seiner Aussage.
Hier eine Abschrift der zentralen Aussagen:
Religion has actually convinced people that there is an invisible man. Living in the sky. Who watches everything you do, every minute of every day. And the invisible man has a special list of ten things he does not want you to do. And if you do any of these ten things he has a special place full of fire and smoke and burning and torture and anguish where he will send you to live and suffer and burn and choke and scream and cry forever and ever till the end of time.
But he loves you.
He loves you and he needs money! He always needs money. He is all-powerful, all-perfect, all-knowing and all-wise, but somehow just can’t handle money. …
Posted: July 13th, 2008 under Fun, Religion.
Comments: none
Beer Makes Women Beautiful
Auf youtube habe ich endlich eine der Werbungen die ich super finde wiedergefunden:
Für weitere wirklich witzige Videos lohnt sich die Youtubesuche mit den Schlagworten “banned commercial” - “Aus dem Verkehr gezogene Werbung”.
Posted: July 13th, 2008 under Fun.
Comments: none
Touch für Windows
Dieses Touch für Windows funktioniert wunderbar:
http://www.codeproject.com/KB/applications/touch_win.aspx
Dieses wäre wohl etwas komfortabler (mit GUI), aber es erfordert zusätzliche Bibliotheken die nicht im Zip-File vorhanden sind: http://www.flos-freeware.ch/archive.html
Posted: July 13th, 2008 under Programmieren.
Comments: none