SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Neuigkeiten Webpart erweitern oder Alternative?

Unbeantwortet Dieser Beitrag hat 11 Antworten

Ohne Rang
17 Beiträge
Alex_E erstellt 23 Mai 2013 14:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Moin Moin,

ich bin ganz frisch hier und konnte schon enige Informationen erlesen.

Ich habe einen Sharepoint 2010 Foundation aufgesetzt. Darin befinden sich mitlerweile diverse Bibliotheken (über 20 Stück). Ich möchte unseren Mitarbeitern nun immer alle neuen Dateien / Änderungen pp. mitteilen.

Dafür habe ich zunächst den "Neuigkeiten"-Webpart benutzt und konfiguriert. Dieser bietet mir leider aber nur die Möglichkeit, 9 Bibliotheken hinzuzufügen - Dann ist Schluss.

Ich könnte es also über mehrere Neuigkeiten-Webparts lösen - Das möchte ich aber eigentlich nicht, weil sich die Inhalte nicht wirklich so inhaltlich trennen lassen, dass es dem Mitarbeiter zu vermitteln ist, dass es zwei Übersichten zu neuen Dateien gibt.

Im Quellcode (über den Designer) habe ich schon versucht, eine zehnte Bibliothek hinzuzufügen: Ohne Erfolg - Dann zeigt der Webpart gar nichts mehr an. Hinzugefügt habe ich es unter TargetConfig im <WpNs0:WhatsNewWebPart - Tag. Die Syntax habe ich dabei kopiert.

Gibt es ggf. eine andere Alternative, alle Bibliotheken zu vereinen? Ein Webpart für inhaltsabfragen bietet mit die Foundation-Version nicht, wenn ich richtig informiert bin.

Gäbe es vielleicht eine Lösung per Workflow? Mit diesem Bereich habe ich keinerlei Erfahrungen.
Meine Idee war: Bei neuer / geänderter Datei in einer der Bibliotheken -> Eintrag in Liste "Neuigkeiten" mit Dateiname, Änderungsdatum und Link zur Datei.

Wäre das umsetzbar?

 

Besten Dank für Eure Mühen und Eure Hilfe,
Alex

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 Mai 2013 15:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Deine Idee mit dem Workflow würde funktionieren, aber ob das so sinnvoll ist? Du müßtest dazu ja wirklich alle Listen und Bibliotheken mit einem Workflow versehen. Bis jetzt habt Ihr offenbar alles in einer einzigen Website, aber was machst Du dann, wenn weitere Websites oder gar Websitesammlungen dazu kommen?

Man kann sowas entweder durch Selbstprogrammieren lösen (Stichwort SPSiteDataQuery) oder nach Drittanbieter-Lösungen suchen (es gibt div. What's New Webparts). Auch eine Lösung, die über die Search Engine geht wäre denkbar.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Alex_E Als Antwort am 23 Mai 2013 19:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Moin Moin Andi (wenn ich richtig sehe, wird sich hier -zum Glück- geduzt),

genau das war auch der Grund, weshalb  ich mich hinsichtlich der Workflows noch nicht weiter informiert habe (wenn das Ganze dann vernünftig läuft, dann greife ich dort an).


Kannst du ggf. meinen Ansatz für SPSIteDataQuery einmal ansehen (kann es leider nicht testen, bin auf Dienstreise):

Deinen Beitrag unter http://blogs.evocom.de/af/archive/2010/12/03/caml-anfragen-in-sharepoint.aspx habe ich gefunden - Damit kann ich schon etwas anfangen.


SPQuery query = new SPQuery();

 

query.Query = @"<Where>
      <Eq>
         <FieldRef Name='
Last_x0020_Modified' />        

<Value Type="DateTime">

   <Today OffsetDays="7" />

</Value>

      </Eq>
   </Where>

                <OrderBy>

 

                  <FieldRef Name='Last_x0020_Modified/>

 

                </OrderBy>

<ViewFields>
    <FieldRef Name="Datei" ShowField="xd_ProgID"/ >
    <FieldRef Name="Geändert" ShowField="Last_x0020_Modified"/>
  
  </ViewFields>


";

 

SPListItemCollection items = myList.GetItems(query);


Was ich nicht herauslesen konnte: Kann ich alle Liste einzeln abfragen, eine Ergebnismenge bilden, dann sortieren und dann "beschneiden" (nur 10 EInträge?)

Mit einem Join komme ich wohl nicht weiter (SQL ist schon lange her).


Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Mai 2013 08:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das sieht schon ziemlich gut aus. Und meinen Beitrag zur CAML-Syntax hast Du ja auch schon gefunden. Ich benutze den selbst zum Nachschlagen und erweiter ihn auch, wenn ich etwas Neues finde :-)

Deine Where-Bedingung schränkt allerdings auf ein einziges Datum ein, weil Du mit <Eq> (ist gleich) vergleichst. Wenn Du alle Elemente der letzten sieben Tage möchtest, mußt Du <Geq> (größer oder gleich) verwenden.

Mit SPQuery kannst Du nur eine Liste abfragen (wie in Deinem Code). Wenn Du SPSiteDataQuery benutzt, kannst Du listenübergreifende Abfragen machen (sogar innerhalb einer ganzen Websitesammlung). Die Query übergibst Du dann nicht einer Liste, sondern SPWeb.GetSiteData(). Fange mal hier an zu lesen: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsitedataquery(v=office.14).aspx

[quote user="Alex_E"]wenn ich richtig sehe, wird sich hier -zum Glück- geduzt[/quote]

Das hat sich hier so eingebürgert :-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Alex_E Als Antwort am 24 Mai 2013 08:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen Andi,

Danke für die schnelle Rückmeldung ;) Was ich irgendwie noch nirgendwo gefunden habe: Wie bekomme ich die Abfrage auf meine Website?

Kann ich den Abfragecode in z.B. die Homepage.aspx kopieren (dafür bräuhcte ich sicher irgendwelche Tags?)?

Oder muss ich einen eigenen Webpart erstellen? Wenn ja: Wie?

 

Herzlichen Dank für deine Hilfe,
Beste Grüße,
Alex

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Mai 2013 08:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Klicke doch mal den von mir geposteten Link an. Dort wird ein Beispiel mit einem Webpart gezeigt...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Alex_E Als Antwort am 24 Mai 2013 09:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das habe ich schon probiert - Ich wollte es mit einem XML-Webpart probieren.

Nur glaube ich nicht, dass in einer XML-Datei

SPListItemCollection items = myList.GetItems(query);

richtig umgesetzt wird.

Meine Basis:

<?xml version="1.0" encoding="utf-8" ?>
  <webParts>
     <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
       <metaData>
         <type name="Test, Version=0.1, Culture=neutral,
         PublicKeyToken=PublicKeyToken" />
         <importErrorMessage>Cannot import this Web
         Part.</importErrorMessage>
       </metaData>
       <data>


         <properties>
           <property name="Title" type="string">
           Test</property>
           <property name="Description" type="string">
              WebPartDescription
           </property>
         </properties>

 


       </data>
     </webPart>
   </webParts>

 

 Muss ich mir vielleicht doch Visual Studio besorgen und ein Webpart mit C++ schreiben?

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Mai 2013 09:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Webpart mußt Du schon selbst entwickeln. Dazu brauchst Du eine ordentliche Entwicklungsumgebung und das heißt einen eigenen Server mit SharePoint und Visual Studio. C++ mußt Du Dir allerdings nicht antun, es geht jede .NET-Sprache, wie C# (oder VB.NET).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Alex_E Als Antwort am 24 Mai 2013 12:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das hatte ich befürchtet - Dafür fehlt mir aber leider die Zeit :(

Ist vielleicht noch ein Weg über den Search Server Express denkbar? Der läuft hier wunderbar...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Mai 2013 13:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die Suche ist sicher eine Möglichkeit das zu verwirklichen, ist aber auch nicht ganz einfach zu konfigurieren. Du kannst beim Webpart "Kernergebnisse der Suche" eine feste Abfrage hinterlegen (und die Ergebnisse damit auf das gewünschte einschränken). Dann muß man noch in die Sotrierung eingreifen und evtl. in die Darstellung. Mit einer kompletten Anleitung kann ich aber nicht dienen.

Vielleicht ließe sich auch über die von SharePoint bereitgestellten RSS-Feeds etwas realisieren?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
Alex_E Als Antwort am 27 Mai 2013 11:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielleicht bin ich meinem Ergebnis näher gekommen:

Über den SP Designer habe ich eine verknüpfte Datenquelle aus den Bibliotheken erstellt.

Diese Datenquelle habe ich dann per Datenansicht integriert.

Dort habe ich dann eine Sortierung nach "Geändert" eingestellt und eine Begrenzung auf 10 Einträge.

Was noch feht: Die ordentliche Ansicht mit Dateiverknüpfungen. Muss ich dazu die XSL anpassen?

Ohne Rang
17 Beiträge
Alex_E Als Antwort am 27 Mai 2013 12:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe es hinbekommen ;)

 

Spalte 1: Typ (Icon, Anleitung: http://sympmarc.com/2007/03/30/showing-document-icons-in-the-sharepoint-data-view-web-part/)

Spalte 2: Name (Nach dieser Anleitung als Hyperlink formatiert: https://www.nothingbutsharepoint.com/sites/eusp/Pages/data-view-web-part-the-basics-add-a-hyperlink.aspx)

Spalte 3: Geändert