Archive for March, 2010

Mar 29 2010

Timer Job Definition löschen

Problem:

Timer Jobs können von der Zentraladministration aus nur deaktiviert werden, jedoch nicht gelöscht. So kann sich, meist in der Entwicklung, eine Menge Schrott ansammeln.

 

Lösung:

Verwenden Sie den stsadm um einen TimerJob zu löschen.

   1: stsadm -o deleteconfigurationobject -id <ObjectID>

Die ObjectID representiert die ID des zu löschenden Jobs. Diese kann in der Zentraladministration unter Timer Job Definitions gefunden werden. Einfach mit der Maus über den gewünschte Job fahren und ID aus dem Link entnehmen.

Comments Off

Mar 24 2010

WSS 3.0 Mehrfach Checkin

Problem:

Möchte man in einer Bibliothek mehrere Dateien auf einmal einchecken, so ist dies beim Office Server direkt integriert. Der Administrator hat die Möglichkeit in den Site Settings > Content & Structure mehrere Dateien auszuwählen und miteinander einzuchecken, löschen usw.. Leider fehlt dieser Menüpunkt in den SharePoint Services, so dass via Browser nur einzelne Dateien eingecheckt werden können.

 

Lösung:

Um nun trotzdem effizient mehrere Dateien einzuchecken kann der SharePoint Designer verwendet werden. Markieren Sie im TreeView, auf der linken Seite, die gewünschten Dateien, Klicken Sie mit der rechten Maustaste und wählen Sie im Menü Ein- oder Auschecken.

MultibleCheckIn

Comments Off

Mar 22 2010

Chuck Norris

Published by under Fun

Chuck Norris tränen können Krebs heilen, leider weint er nie!
 
Wenn Chuck Norris ins Wasser geht, wird er nicht nass, das Wasser wird Chuck Nors.
 
Portraits schließen ihre Augen, wenn er sie ansieht.
 
Chuck Norris hat keinen Schatten. Licht geht ihm grundsätzlich aus dem Weg.
 
Chuck Norris schläft nicht, er wartet.
 
Chuck Norris glaubt nicht an Gott. Gott glaubt an ihn!
 
Wer als letzte lacht, lacht am besten. Wer über Chuck Norris lacht…stirbt.
 
Chuck Norris spielt nicht Gott. Spielen ist was für Kinder.
 
Chuck Norris hat auf Unendlich gezählt, zwei mal!
 
Der schnellste Weg zum Herzen einem Mannes ist mit Chuck Norris’ Faust.
 
Chuck Norris ist schon seid drei Tagen Tod! Der Tod traut sich nur nicht an Ihn ran!
 
Wenn Chuck Norris Liegestütze macht stößt er sich nicht vom Boden ab sondern er drückt den Boden von sich weg.
 
Chuck Noris fragt kein Kind wer sein Vater ist den er kennt die Antwort.
 
Es gibt keine Evolutionstheorie, nur eine Liste von Kreaturen, denen Chuck Norris erlaubt hat zu leben.
 
Wenn Chuck Norris mit einem Mann schläft, liegt das nicht daran das er Schwul ist, sondern daran das ihm die Frauen ausgegangen sind.
 
Chuck Norris schläft mit Licht an. Nicht weil Chuck Angst vor der Dunkelheit hätte, sondern die Dunkelheit vor ihm.
 
Einmal hat Chuck Norris eine ganze Torte gegessen, bevor ihm jemand sagen konnte, dass eine Stripperin drin war.
 

Comments Off

Mar 22 2010

Ausführen von zeitintensiven Operationen im SharePoint

Problem:

Wird in einem Webpart sehr zeitintensiver Code ausgeführt, kann dies zu einem TimeOut führen.

 

Lösung:

Mit der Klasse “LongRunningOperationJob”  (Microsoft.SharePoint.Publishing) können zeitintensive Operationen durchgeführt werden. Dies wird wie folgt angewendet.

 

public class IntensivJobClass : LongRunningOperationJob

{

  

 

Überschreiben Sie in der Klasse “IntensivJobClass” die Methode DoWork().

public override void DoWork()

{

    this.StatusDescription = “What going on :) ”;
    this.UpdateStatus();
    this.OperationsPerformed++;

    IntensivJob();

}

 

private void IntensivJob()

{ … }

 

Nun können Sie diesen Job aus dem Webpart per Event starten

IntensivJobClass intensivJob = new IntensivJobClass();
intensivJob.Title = “Lange Operation”;
intensivJob.WaitMessage = “Bitte warten Sie…”;
intensivJob.RedirectWhenFinished = true;
intensivJob.UserCanCancel = true;
intensivJob.TotalOperationsToBePerformed = 1;
intensivJob.GearsImageUrl = “~/layouts/images/gears_an.gif”;
intensivJob.MillisecondToWaitForFinish = 500;
intensivJob.StatusDescription = “…”;
intensivJob.Start(SPContext.Current.Web);

HttpContext.Current.Response.Redirect(job.StatusPage.Url);

Comments Off

Mar 17 2010

Office 2010, SharePoint 2010

Published by under SharePoint 2010

Office 2010 und SharePoint 2010 wird gemäss Microsoft ab dem 12 May erhältlich sein. Der RTM (Realese to Manufacturing) vorausichtlich bereits im April.

http://blogs.msdn.com/sharepoint/archive/2010/03/05/sharepoint-2010-office-2010-launch.aspx

Comments Off

Mar 17 2010

ListItem.Update() Security Exception

Problem:
Beim Erstellen eines ListItems nach folgender Methode wird beim Update() Befehl eine Sicherheits-Exception ausgelöst: Exception : “The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again.”


SPSite site = new SPSite("URL");
site.AllowUnsafeUpdates = true;


SPWeb web = site.OpenWeb();
web.AllowUnsafeUpdates = true;


SPList list = web.Lists["Name"];
SPListItem item = list.Items.Add();


item["Titel"] = "Test";
item.Update();

 

Lösung:
Dieses Problem tritt in der Regel auf, wenn eine grosse Anzahl Elemente in einer Liste erstellt werden soll. Mittels using (die Gültigkeit des Objekts auf einen Bereich zu beschränken) kann das Problem abgefangen werden.

using(SPSite site = new SPSite("URL"))
{
    site.AllowUnsafeUpdates = true;
    using(SPWeb web = site.OpenWeb())
    {
        web.AllowUnsafeUpdates = true;
        SPList list = web.Lists["Name"];


        SPListItem item = list.Items.Add();


        item["Titel"] = "Test";
        item.Update();
    }
}

Comments Off

Mar 02 2010

Mit einem Forms Based SharePoint Webservice verbinden

Problem:
Sie möchten auf einen SharePoint-Webservice zugreifen. Die SharePoint Site wurde jedoch mit FBA (Forms Based Authentication) realisiert und somit erhalten Sie stets Security-Exceptions.

 

Lösung:
Authentifizieren Sie sich zuerst mittels dem Webservice "/_vti_bin/Authentication.asmx" und erstellen sie ein Cockie welches Sie beim Zugriff auf den gewünschten Webservice einsetzen.

 

Quellen:
Unter folgendem Link finden Sie weitere Erläuterungen sowie ein Beispiel Programm.


   1: // Web Referencen einbinden

   2: using ... .WSAuthentication;

   3: using ... .WSLists;

   4:  

   5:  

   6: // Authenticate

   7: Authentication spAuthentication = new Authentication();

   8: spAuthentication.Url = ".../_vti_bin/Authentication.asmx";

   9: spAuthentication.CookieContainer = new CookieContainer();

  10: LoginResult loginResult = spAuthentication.Login("user", "password");

  11: Cookie cookie = new Cookie();

  12:  

  13:  

  14: // Webservice laden

  15: Lists wsLists = new Lists();

  16: wsLists.Url = ".../_vti_bin/lists.asmx";

  17:  

  18: // Login

  19: CookieCollection cookies = spAuthentication.CookieContainer.GetCookies(new Uri(spAuthentication.Url));

  20: cookie = cookies[loginResult.CookieName];

  21: wsLists.CookieContainer = new CookieContainer();

  22: wsLists.CookieContainer.Add(cookie);

  23:  

  24:  

  25: // nun können Sie auf den Webservice zugreifen

Comments Off