2012-04-02 19 views
0

Ich lerne gerade, wie man eine Anwendung für Sharepoint entwickelt.Welche Möglichkeiten gibt es, um Anwendungen für Sharepoint zu entwickeln?

Soweit ich es drei Arten der Integration in Sharepoint möglich sehen kann: (von Administrator nur Installation)

  • Sandkastenlösung (begrenzte Ressource Zugriff aber einfach zu installieren usw.)
  • Farm Lösung
  • Standardanwendung (vielleicht .net MVC) mit der Sharepoint-Baugruppe Referenzierung der SPS-Funktionalität

zuzugreifen Ist das richtig und com Pleite oder fehle ich etwas?

+0

Es gibt viele andere Dinge wie Timer-Jobs, Event-Handler, Client-Anwendungen in Silverlight oder .net etc. etc – Shoban

Antwort

2

Je nach Umfang, Anforderungen usw. gibt es mehrere Möglichkeiten für die Entwicklung von SharePoint. Mein Wissen ist mehr im SP2007-Bereich als 2010 und meine Antwort spiegelt das wider.

JavaScript

Content Editor Webparts Verwenden Sie das Aussehen von Sharepoint anpassen können, mit Listendaten interagieren und einige interessante UI Auswirkungen haben nur mit jQuery und das SPServices Plugin. Diese Lösungen erfordern kein Paket und keine Bereitstellung.

Custom Content Type

Diese können durch die Sharepoint-Benutzeroberfläche oder definiert durch benutzerdefinierte XML-Dokumente und bereitgestellt über WSP erstellt werden. Im Wesentlichen sind dies nur eine Sammlung von Felddefinitionen, die logisch miteinander verknüpft sind. Inhaltstypen können zu einer Liste hinzugefügt werden, damit alle Felder automatisch verfügbar sind. Darüber hinaus bieten sie eine bequeme Möglichkeit, Daten in derselben Liste zu mischen und abzugleichen (denken Sie an Roll-ups oder Sichern von Listendaten), obwohl ich sie nie auf diese Weise verwendet habe.

Ereignisempfänger

Ereignis Empfänger können auf bestimmte Ereignisse in Sharepoint reagieren erstellt werden. Wenn Sie einen Ereignisempfänger an eine Liste anhängen, können Sie auf Ereignisse wie ein Element oder eine Anlage, die synchron (-ing) hinzugefügt, aktualisiert oder gelöscht werden, warten und darauf reagieren. So können Sie die Überprüfung implementieren und die Operation abbrechen - oder asynchron (-ed) - um nach der Verarbeitung von SharePoint eine Nachbearbeitung durchzuführen. Ereignisempfänger werden vom Front-End-SharePoint-Server verarbeitet, der die Anfrage bearbeitet hat, die das Ereignis ausgelöst hat. Dies unterscheidet sich von Timer-Jobs und Workflows, die von jedem Server in der Farm ausgeführt werden, der gerade verfügbar ist.

Ferner können Ereignisempfänger Listen basierend auf ihrem Typ angehängt werden (gelten für alle Listen dieses ID-Typs) oder sie können einem Inhaltstyp zugeordnet werden und auf diese Weise einer Liste zugeordnet werden (wenn der Inhaltstyp ist der Liste hinzugefügt, wird auch der Ereignisempfänger hinzugefügt).

Feature-Empfänger ist eine besondere Art von Ereignisempfänger, dass sie auf eine Eigenschaft reagieren aktiviert werden oder deaktiviert einige zusätzliche Arbeit zu tun. Viele Leute bezeichnen diese zusätzliche Arbeit als Feature-Heften, da Sie damit zusätzliche Aufgaben auf Anforderung ausführen können, die sonst nicht mit XML-Dokumenten erledigt werden könnten.

Timer Job

Ein Timer Job ist ein Stück Code, der auf einem Zeitplan ausgeführt wird. Es wird im W3WP-Prozess nicht wie Event-Receiver ausgeführt, sondern über den TimerService. Aus diesem Grund fehlen bestimmte Features oder Werte im SPRequest-Objekt. Das Entwickeln von Zeitgeberaufträgen ist schwieriger und in der Praxis fehleranfälliger, schwieriger zu debuggen usw. als Ereignisempfänger.

Workflow-

Workflows können mithilfe von Sharepoint Designer oder Visual Studio erstellt werden. Der Hauptunterschied zwischen Ihnen sind Funktionen, die Ihnen zur Entwurfszeit zur Verfügung stehen. SharePoint Designer Workflows sind leichter zu erstellen und in Betrieb zu nehmen, sind jedoch in SharePoint 2007 eher fehlerbehaftet. Außerdem lassen sie sich nicht einfach in verschiedenen Umgebungen packen und bereitstellen, sondern werden direkt der Liste zugeordnet, in der sie erstellt wurden (2007; 2010) erweiterte Funktionalität, um das Packen oder sogar die Migration in Visual Studio für komplexere Anpassungen zu ermöglichen.

Die Verwendung von Visual Studio gibt Ihnen mehr Tiefe und Fähigkeiten, aber wie Timer-Jobs sind sie oft schwer zu "bekommen" und werden auch vom Timer-Service-Prozess verarbeitet.

Webpart

Eine benutzerdefinierte Web Part ist sehr ähnlich zu einem regulären ASP.NET Web-Teil mit einigen erweiterten Fähigkeit innerhalb der Sharepoint-Kontext. Sie haben Zugriff auf das SPRequest-Objekt und damit auf alle kontextuellen Informationen (aktueller Benutzer, aktuelle Liste/Web/Site usw.), um Ihre Arbeit zu erledigen. Sie können externe Datenbanken zugreifen, die Verwendung der meisten ASP.NET-Steuerelemente machen usw.

Individuelle ASPX Seite

Wenn ein Webpart für Ihre Bedürfnisse nicht ausreichend ist, oder Sie wollen die Kontrolle über die ganze Seite, Sie können SharePoint-aktivierte Webseiten erstellen. Dies sind Standard-ASP.NET-Seiten, die mit der richtigen SharePoint-Masterseite versehen und in einem Unterverzeichnis des Hive LAYOUTS-Verzeichnisses bereitgestellt werden. Damit haben Sie einen ähnlichen Zugriff auf den aktuellen Anforderungsstatus wie mit einem Webpart, aber Sie haben mehr Kontrolle über das gesamte Seitenrendering.

Custom Web Anwendung

Wenn Sie eine Standalone-Anwendung benötigen, können Sie immer noch die Vorteile der Authentifizierung und Autorisierung Tool Sharepoint nutzen, ohne direkt in seinem Kontext ausgeführt wird. Erstellen Sie dazu eine IIS-Webanwendung, und legen Sie die Identität des Anwendungspools auf die gleiche Größe wie SharePoint fest. Alternativ können Sie ein virtuelles Verzeichnis innerhalb Ihres SharePoint-Anwendungspools erstellen, dies wird jedoch im Allgemeinen nicht empfohlen. Sie müssen weiterhin die .NET Framework 2.0-Laufzeit verwenden, wenn Sie das SharePoint-Objektmodell überhaupt verwenden möchten. Dieses Setup wird selten in diesem Bereich verwendet, da Sie Ihre Anforderungen meist nur mit benutzerdefinierten ASPX-Seiten oder Webparts erfüllen können.

In Bezug auf Ihre speziellen Fragen:

Sandkastenlösungen sind nur eine besondere Art von Lösung, die die Namespaces Ihre Web-Teil beschränkt, usw. haben Zugang zu. Zum Beispiel kann Ihr Code nicht auf Zugriffslisten außerhalb seines Zugriffsbereichs zugreifen. Es kann in Ihrem Namen keine E-Mails senden. Sie können Ihre Rechte erhöhen, indem Sie benutzerdefinierte Berechtigungssätze verwenden. Dies ist jedoch ein erweitertes Thema.Ich wollte nur darauf hinweisen, dass "sandboxed solution" kein Typ an sich ist, sondern lediglich eine Einschränkung beschreibt, für die es zuvor keine gab (SP 2007 GAC-implementierte Lösungen).

In Bezug auf Ihre Frage bezüglich einer MVC-Anwendung, die das SharePoint-Objektmodell verwendet, wie ich bereits erwähnt habe, sind Sie weiterhin auf .NET 2.0-Laufzeit beschränkt.

EDIT: Ich habe (mindestens) eine weitere Option vergessen!

Liste Service/Andere ASMX Dienstleistungen

Sharepoint verfügt über eine Reihe von Web-Services, die Sie mit Listen unter anderem zu interagieren, konsumieren. In diesem Fall kann Ihre Anwendung mit jeder gewünschten Technologie (oder Laufzeit!) Entwickelt werden, solange sie weiß, wie sie die ASMX-Dienste nutzen kann. Die verfügbare Funktionalität ist nicht so umfangreich wie die direkte Verwendung des Objektmodells (weshalb ich oft vergesse, sie zu berücksichtigen), aber der Code kann dadurch besser von der SharePoint-Umgebung selbst entkoppelt werden. Im Jahr 2010 gibt es für Client Services wesentlich mehr Optionen, um noch mehr Funktionalität bereitzustellen.

+0

Vielen Dank für Ihre Antwort, das hilft mir sehr! – Marc

+0

Ich habe die List Services vergessen! Ich habe bearbeitet, um einen Klappentext hinzuzufügen. Vielleicht sollte ich ein paar Links nachschlagen und etwas mehr bearbeiten oder reicht das weiter? –

+0

Sie haben bereits viel mehr Informationen zur Verfügung gestellt als ich erwartet habe und danke für die Ergänzung! Ich würde mich freuen, wenn Sie weitere Informationen hinzufügen! Danke vielmals! – Marc

0

Für die Entwicklung einer Lösung in Visual Studio können Sie sich für Sandbox Lösung und Farm-Lösung entscheiden. Wenn Sie SharePoint 2013 verwenden, haben Sie eine weitere bessere Option, nämlich die Entwicklung von App-Teilen.

Da die Sandbox-Lösung ab SharePoint 2013 nicht mehr unterstützt wird, sollten Sie nicht mit Sandbox-Lösungen arbeiten. Besser mit der Entwicklung von App-Teilen.

Verwandte Themen