Monatliche Archive: Dezember 2007

Nachdenken über kommerzielle Produkte

Ich habe eine SharePoint Designer-Extensions-Projekt oben bei CodePlex in diesem Jahr und obwohl es wirklich sehr beschränkt ist, Ich schätze, dass es vom übertragen worden ist 40 An 60 (vielleicht sogar 100) Firmen in etwa zwei Monaten. Die zeigt mir, dass es ein Markt für diese Lösung und würde ich es erfolgreich zu vermarkten, that could translate into a goodly amount of beer 🙂

Mein Hintergrund ist eigentlich viel mehr in der Produktentwicklung und ich weiß, was zu einem erstklassigen Produkt erforderlich ist, im Gegensatz zu ein CodePlex-Hobby-Projekt, auf den Markt. In meiner früheres Leben, Ich war verantwortlich für Produkt R&D für alle Software-Produkte. Der Unterschied zwischen damals und heute ist, dass ich ein Berater arbeitet jetzt für eine (Ausgezeichnet) Beratungsunternehmen (Conchango). Zuvor, Ich hatte ein ganzes Unternehmen hinter mir und vor mir, Verkauf und Unterstützung der Produkte, die wir auf den Markt gebracht. Heute, Ich möchte allein sein..

Ich habe mehrere Produkt-Ideen im Kopf, aber ich denke, das einfachste wäre, eine kommerzielle Version der oben genannten CodePlex-Projekt zu erstellen, die als Ausgangspunkt verwendet und erweitert es weiter. Mein unscharfe Stegreif denken ist so etwas wie aufladen $100 für eine uneingeschränkte Entwicklerlizenz und $500 pro Produktion Web-front-end. Ich denke, dass ich den Quellcode auch verschenken würde.

Wenn Sie Gedanken oder Erlebnisse, die Sie bereit sind zu teilen, Bitte hinterlassen Sie einen Kommentar oder mailen Sie mich direkt. Ich würde gerne Meinungen wie hören:

  • Ist es lohnt sich?
  • Praktische Vorschläge für das marketing, Geld sammeln, Verteilung von.
  • Preise.
  • Unterstützung.
  • Alle anderen Kommentar möchten Sie verlassen.

Es ist "einfach" Produktideen zu erarbeiten und umzusetzen, Obwohl viele Dutzende von Stunden Arbeit erforderlich sind. Das andere Zeug ist nicht so einfach für mich.

</Ende>

Technorati Tags:

Sonntag Morgen lustig: “Jesus muss sterben”

Kauften wir unsere erste (und nur) "Luxus" Auto zurück als Hurrikan Floyd der Ostküste der USA genagelt. Wir haben eine Menge Regen hier in New Jersey und mehrere Tage vergangen bevor Leben normal zurückgegeben. Unmittelbar vor dem Floyd geschlagen, Wir haben ein Angebot für einen gebrauchten Volvo 850 GL und nachdem Floyd einschlug, fuhr sie nach Hause.

Es war unser erstes Auto mit dem CD-Player. Wie die meisten neuen Autobesitzer, Wir gingen ein wenig CD-verrückt, wieder belebt unsere ruhenden CD-Sammlung und ging auf lange Laufwerken nur um CD's im Auto hören. Wie alle Moden, dies für uns übergeben und wir beendeten die gleiche CD immer und immer wieder anhören. In unserem Fall, Es war Jesus Christ Superstar.

Eines der (viele) brillante Stücke in dieser Rockoper wird von der Einrichtung religiösen Typen gesungen, unter der Leitung von Kaiphas, der "hohe Priester". Singen sie ihren Weg zu entscheiden, wie das "Jesus-Problem zu behandeln." und Caiaphas leitet sie zu dem Schluss, die "Jesus sterben muss". Der Refrain in dem Lied ist "muss sterben, muss sterben, muss sterben, dieser Jesus muss sterben". Sie hören, dass viele in diesem Stück zu verzichten.

Zum Zeitpunkt, Mein Sohn war ungefähr drei Jahre alt. Sie können wahrscheinlich sehen, wohin dieses geht.

Ich nach Hause kam von der Arbeit eines Tages und mein Sohn ist im Wohnzimmer spielt mit Spielzeug und Brummen zu sich selbst. Ich nehme aus meiner Jacke, Blick durch die Post und alles, was, die meine üblichen walk-in-the-Door-Sachen und ich plötzlich erkennen, dass er nur sagt, nicht wirklich singen: "Jesus muss sterben, muss sterben, muss sterben." Ich war gedemütigt. Ich konnte nur sehen ihn damit auf einer der sein Baby Termine im Haus eines Freundes spielen — wahrscheinlich das letzte Datum mit dem Baby-Freund spielen.

We pulled that CD out of the Volvo after that 🙂

</Ende>

Technorati Tags: ,

Google hat meine Live Spaces-Blog in das AdSense-Programm akzeptiert.

UPDATE: Als der 03/09, Ich habe keine Möglichkeit, meine live Spaces-Konto mit Google Adsense zu integrieren. Microsofts System hier scheint alle technischen Mechanismen zu verhindern, die Google Adsense Möchtegern-Hoster bietet. Ich neige dazu zu glauben, dass dies hauptsächlich eine Nebenwirkung der Sicherheit, die sie, in Leben Räume erstellt haben, keine direkte Anstrengung Adsense deaktivieren.

Dies ist kein SharePoint-Beitrag, aber in der Regel für Blogger von Interesse sein könnten.

Jemand kommentierte ihre Windows Live Spaces-Blog, dass Google positiv ihre Anwendung zur Teilnahme an AdSense verweigert. Sie stellte die Theorie, dass Google ihr verweigert, weil Windows Live Spaces ihr Blog hostet. Jedoch, Ich war vor kurzem in das Programm live Spaces Blog akzeptiert., so die Politik hat entweder geändert oder Google verweigert sie aus irgendeinem anderen Grund.

Natürlich, Ich sehe nicht, dass offensichtliche Möglichkeit zur Integration von Google AdSense in meinem Leben Raum, but it’s a start 🙂

</Ende>

Technorati Tags: ,

Implementieren von Master / Detail-Beziehungen mithilfe von benutzerdefinierten Listen

Forum-Benutzer häufig als Fragen wie diese:

> Hallo,
>
> Bitte sagen Sie mir, wenn es gibt Möglichkeiten zum Erstellen einer benutzerdefinierten Liste mit
> Master- und Detailseiten Typ (wie Rechnungen) ohne Verwendung von InfoPath.
>

SharePoint bietet einige aus der Box-Merkmale, die Arten von geschäftlichen Anforderungen so unterstützen.

Im allgemeinen, einer links, zwei Listen zusammen mit einem Nachschlagefeld. Liste A enthält die Rechnung-Header-Informationen und Liste B Rechnungsdetails.

Verwenden Sie zusätzliche Listen Kundennummern beibehalten, Produktnummern, usw..

Verwenden Sie einen Inhaltsabfrage-Webpart (in MOSS nur) und/oder eine Datenansicht-Webpart zusammengeführte Ansichten der Listen erstellen. SQLServer Reporting Services (SRS) ist auch für die Berichterstattung Seite.

Jedoch, Es gibt einige wichtigen Einschränkungen, die machen es schwierig, reine Out-of-Box-Funktionen für alles verwenden, das auch mäßig komplexe ist. Dazu gehören:

  • Größe der Verwandte Suche listet vs.. "Schlauheit" des Spaltentyps lookup. Ein Lookup-Spaltentyp präsentiert sich auf der Benutzeroberfläche unterschiedlich, je nachdem ob Sie Mehrfachauswahl aktiviert haben, oder nicht. In beiden Fällen, das Out-of-Box-Steuerelement zeigt alle verfügbaren Elemente aus der Liste "Quelle". Wenn die Liste "Quelle" hat 1,000 Elemente, Das wird ein Problem sein. Das Nachschlagesteuerelement wird nicht durch diese Elemente Seite. Stattdessen, Es zieht sie alle in das Steuerelement. Das macht für eine sehr unangenehme Benutzeroberfläche sowohl in Bezug auf die Dateneingabe und Leistung.
  • Suchvorgänge "Pull back" einer Spalte der Informationen. Sie können mehr als einer Spalte der Informationen aus der Liste "Quelle" nie zurück ziehen. Zum Beispiel, ein Kunde "12345 können nicht ausgewählt werden" und Anzeige der Anzahl als auch der Kunde Nameund Anschrift zur gleichen Zeit. Die Suche zeigt nur den Kunden Nummer und sonst nichts. Dieses bildet für eine unangenehme und schwierige Benutzeroberfläche.
  • Keine Kommunikation Intra-form. Ich habe über dieses hier geschrieben.. Sie können keine cascading Drop-Downs implementieren., bedingt Felder aktivieren/deaktivieren, usw..
  • Keine Löschweitergaben oder eingebaute referentielle Integrität. SharePoint benutzerdefinierte Listen als unabhängige Einheiten behandelt und können Sie in einem traditionellen Sinn ERD miteinander verknüpfen nicht. Zum Beispiel, SharePoint können Sie zwei benutzerdefinierte Listen erstellen, "Kunde" und "Rechnungskopf". Sie können einen Rechnungskopf zurück an einen Kunden erstellen in der Kundenliste verknüpft. Dann, Sie können den Kunden aus der Liste löschen.. Out of the box, Es gibt keine Möglichkeit, dies zu verhindern. Diese Art von Problem zu lösen, Normalerweise würden Sie Ereignishandler verwenden.

Es mag düster, aber ich würde immer noch SharePoint als Ausgangspunkt für die Erstellung von diese Art von Funktionalität. Zwar gibt es Lücken zwischen, was Sie, in einer Lösung brauchen, SharePoint ermöglicht es uns, diese Lücken mit Tools wie z.B.:

  • Event-Handler. Benutzen sie, um die referenzielle Integrität zu erzwingen.
  • Benutzerdefinierte Spalten: Erstellen Sie benutzerdefinierte Spaltentypen und verwenden sie anstelle der Standardspalte-lookup. Hinzufügen der Auslagerungsdatei, Pufferung und AJAX-Features zu reagieren machen.
  • BDC. Dieses Moos nur Feature ermöglicht es uns, Abfrage, die andere SharePoint-mit einer überlegenen Benutzerschnittstelle für die üblichen Nachschlagespalte Listen. BDC kann auch an einen Back-End-Server-Anwendung erreichen. Verwenden von BDC um Replikation zu vermeiden. Anstatt das Replizieren von Kundendaten von einem Back-End-ERP-system, Verwenden Sie stattdessen BDC. BDC-Funktionen bieten eine schöne Benutzeroberfläche um diese Informationen direkt aus dem ERP-System zu ziehen, wo es gehört und vermeidet den Aufwand für die Aufrechterhaltung einer Replikationslösung.

    BDC ist eine MOSS-Funktion (nicht verfügbar in WSS) und ist schwierig um zu konfigurieren.

  • ASP.net Web-Formular: Erstellen Sie ein funktionsreiches AJAX-fähigen Formular, das die SharePoint Objekt Modell und/oder Web Services, um SharePoint-Listen zu nutzen, und bietet gleichzeitig eine sehr reaktionsfähige Benutzeroberfläche verwendet.

Die letzte Option kann fühlen, wie Sie von vorne anfangen, aber betrachten Sie die Tatsache, dass die SharePoint-Plattform mit den folgenden Hauptfunktionen beginnt:

  • Sicherheitsmodell mit Wartung.
  • Menü-System mit Wartung.
  • "Master-Tabelle" (dh. Benutzerdefinierte Listen) mit Sicherheit, integrierte Wartung und Überwachung.
  • Suche.
  • Tools für Back-End-integration (BDC).

Wenn Sie ein neues leeres Projekt in visual Studio zunächst, Sie haben eine Menge von Infrastruktur und Sanitär zu bauen, bevor man in der Nähe, was SharePoint bietet.

Ich glaube, dass Microsoft SharePoint in dieser Richtung Anwendungsentwicklung ausdehnen will. Es scheint wie eine natürliche Erweiterung auf die vorhandene SharePoint-Basis. Microsofts CRM-Anwendung bietet ein hohes Maß an Erweiterbarkeit der Header/Detail-Anwendungsentwicklung Unterstützung benötigten Typen. Zwar sind diese Features in CRM, die Technologie steht natürlich das SharePoint-Entwickler-Team und ich erwarten, dass es seinen Weg in das SharePoint-Produkt bis Jahresende 2008. Wenn jemand ein wissen oder Einsicht in diese, Bitte terlassen Sie einen Kommentar hin.

</Ende>

Quick-Tipp: Webpart für Inhaltsabfragen, Spalte Suchwert und XSL

Ich habe einen Spaltennamen in einem Inhaltstyp namens "Real Estate Lage".

Die Spalte ist vom Typ "Lookup".

Ich habe geändert <CommonViewFields> und ItemStyle.xsl, die Spalte anzeigen.

Eine einfache <XSL:Wählen Sie Wert von =…> Gibt zurück einen internen Wert, der die Ordnungsposition Daten enthält, wie:

1;#Miami

Zum Abrufen des Werts der Menschen-freundlich, Verwenden Sie Xsl Teilzeichenfolge-nach, wie gezeigt:

<XSL:Wählen Sie ValuXSLf = "Substring-after(@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:Wert der>

Verwenden Sie dieses Verfahren, wenn Sie mit Nachschlagewerten in XSL-Transformationen arbeiten und den Wert des Menschen-freundlich zu erhalten müssen.

<Ende />

Technorati Tags: , ,

SharePoint Beagle-Dezember-Ausgabe bis & Leben

Viele von euch wissen dies bereits, aber die Dezember-Ausgabe des SharePoint-Beagle ist live.

Jeder Artikel ist meiner Meinung nach lesenswert.

Ich will ein bisschen mehr Bauch zu geben Mein Kollege Artikel (Natalya Voskrensenskya). Sie bietet ein Screenshot-Spektakel beim beschreiben, wie sie benutzerdefinierte Listen verwendet, Workflow, SharePoint Designer, Datenansichten und andere Elemente ein Self-service-Training-Feature implementieren in MOSS. Sie beschreibt Techniken, die in vielen verschiedenen Business-Szenarien angewendet werden können. Abreise Ihr blog während Sie gerade dabei sind.

Vergessen Sie nicht, schauen Sie sich meine Artikel 🙂 Ich schrieb über die Verwendung von MOSS, um einer Personalabteilung bei der Verwaltung offener Positionen zu helfen.

</Ende>

Moos sagt mir “Zugriff verweigert” Bearbeiten Sie eine Workflow-Aufgabe, Aber ich habe wirklich Zugriff

Ich habe ein Workflows mit SharePoint Designer in eine Website, die auf "NT_AUTHORITYAuthenticated Benutzer hauptsächlich schreibgeschützt ist implementiert" (dh. Alle). Es gibt eine Formularbibliothek für ein InfoPath-Formular. Es gibt einen zugeordneten Workflow-Aufgabenliste damit wann der Workflow funktioniert, Es kann Vorgänge Menschen zuordnen.

Ich breche Berechtigung für die Formulare Bibliothek und Task-Liste, so dass jeder authentifizierter Benutzer kann Formulare erstellen und ihre zugewiesenen Aufgaben aktualisieren.

Ich testen mit meinem niedrig-Privilegien-Test-Konto.

Ich kann aus und speichern Sie ein Formular an die Bibliothek füllen? –> JA

Ich kann die Aufgabe aus einem e-Mail-Link zugreifen? –> JA

Sehe ich, dass ein Edit Workflow Vorgangsverknüpfung –> JA

Ich kann auf diesen Link klicken? –> NR. … Zugriff verweigert.

Warum sehe ich einen Link bearbeiten, der mir Erlaubnis verweigert, wenn ich darauf klicke? Das ist nicht wie es soll's arbeiten…

Ich gehe durch die Sicherheitskonfiguration wieder, sehr eng. Ich tun es wieder. Ich halte diesen Beitrag löschen weil ich natürlich nicht nichts über Sicherheit weiß.

Schließlich, Ich Suche den Internets. Ich finde diese höchst unwahrscheinlich MSDN-Forum-thread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Die Poster scheinen vorgeschlagen werden, dass der einfache Akt des Exports des Workflows in einer Platte mit dem MOSS Sicherheitsproblem beheben? Ich kann es kaum glauben, dass ich gerade eingegeben haben, die. Erinnert mich an die South Park-Episode über die 9/11 Stan wo unsere Preznit fragt Verschwörung, "Wirklich?" immer und immer wieder.

Also, nichts zu verlieren, Ich starte SPD, der rechten Maustaste auf den Workflow und speichern Sie es auf mein c:\ Laufwerk. Das wäre die c:\ Laufwerk auf meinem laptop. Ich Suche über meine Schulter die ganze Zeit so dass niemand mich Fragen, "Warum sind Sie diesen Workflow auf Ihren Laptop sparen?"

Unglaublich, das löst mein problem. Ich kann die Aufgabe bearbeiten..

Ich nominiere hiermit dies für die meisten Bizarre Workflow Abhilfe von 2007.

</Ende>

Technorati Tags:

SharePoint Designer, Aktuelle Artikel “Absolute URL codierte” und HTTPS

Oft wollen wir eine e-Mail zu senden, die enthält einen Hyperlink auf das Element oder Dokument, das den Workflow ausgelöst. Wir können aktuelle Element "codierte Absolute URL verwenden." zu diesem Zweck. Jedoch, Es scheint immer zu "http verwenden" für die URL-Protokoll. Wenn Ihre Website auf HTTPS läuft funktioniert es für Sie nicht.

Bild

Soweit ich weiß, Es gibt keine Out-of-Box-Lösung für dieses problem. Wenn Sie HTTPS verwenden müssen, Sie haben keine von die Option Feld.

Um es zu lösen, Erstellen einer benutzerdefinierten Aktion, die eine Zeichenfolge Replace-Funktion in Ihrem Workflow verwendet bereitstellt. Alternativ, Verwenden Sie eine 3rd-Party-Tool wie das ausgezeichnete Paket hier: http://www.codeplex.com/spdwfextensions 🙂

</Ende>

Technorati Tags: ,

Schnell und einfach: Ermitteln der internen Spaltennamen von einer Websitespalte

UPDATE: Jeremy Thake hat gebloggt dazu und legte einige Code für eine Konsolenanwendung zeigt, dass interne Namen.

Ich war schwierig zu ankommen ein Inhaltsabfrage-Webpart ein Fälligkeitsdatum einer Aufgabe anzuzeigen, und weil die Bildschirm-Bezeichnung "Fälligkeitsdatum" ist, Ich nahm an, dass der Spaltenname in verwenden <CommonViewFields> ist "Due_x0020_Date".

Falsch!

In diesem Fall war die echte Spaltenname "DueDate".

Wie habe ich es gefunden? Ich lese wieder Heather Solomon's Blog-Eintrag zum Ändern von CQWP zusätzliche Spalten mit Daten zeigen. Sie beschreibt diesen Prozess bei Schritt #13. Vertrauen. Es ist richtig. Mindestens, Es war für mich richtig. Ich es zuerst für eine weitere Spalte mit einem viel längeren Namen nicht Vertrauen.

Ich sage "es Vertrauen" weil ich es nicht traute und wahrscheinlich verschwendet nahe zwei Stunden butting meinen Kopf gegen eine Wand. Nachdem ich die "DueDate aufgelöst" Name, Ich wollte ein weiteres Feld hinzufügen <CommonViewFields>. Mithilfe der Solomon-Technik, Ich war immer einen Spaltennamen wie "XYZ_x0020_Project_x0020_Due_x00".

Ich dachte mir, Das ist eindeutig ein gekürzten Namen. Ich ging voran und UN abgeschnittene es ohne Erfolg. Ich habe endlich den scheinbar abgeschnittenen Namen und es funktionierte.

Extra-Tipp: Wenn ich die Arbeit mit den CQWP, Wenn ich einen schlechten internen Namen hinzugefügt <CommonViewFields>, die CQWP würden mir sagen, ob die Abfrage keine Ergebnisse zurückgegeben hatte. Aber, Wenn ich den Feldnamen einen Datentyp hinzugefügt, Es wäre ein Ergebnis zurückzugeben.. Hinzufügen der Daten maskiert Typ tatsächlich ein Problem da ich ein nicht-Existent-Feld verweisen auf war. Ich könnte es hinzufügen, aber als ich versuchte, seinen Wert anzeigen, Ich würde immer eine leere erhalten..

Dies den Fehler nicht maskieren:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Dies den Fehler maskieren.:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</Ende>

Achtung wichtige Änderungen an ItemStyle.xsl

Ich arbeitete mit ItemStyle.xsl zum Anpassen der Darstellung einer Inhaltsabfrage-Webpart und rechts über Mittag, Ich habe ein Bruch mit der XSL-Datei ändern. Ich wußte nicht, es, aber dies hatte weitreichende Auswirkungen auf die Websitesammlung. Ich ging zum Mittagessen und nach meiner Rückkehr, Diese Meldung erscheint in einer Reihe von Orten bemerkt:

Nicht in der Lage, dieses Webpart anzeigen. Um das Problem zu beheben, Öffnen Sie diese Web-Seite in einer Windows SharePoint Services-kompatiblen HTML-Editor wie Microsoft Office SharePoint Designer. Wenn das Problem weiterhin besteht, Kontaktieren Sie Ihren Serveradministrator Web.

Ich machte den client (nicht erkannte noch, dass es meine Schuld an dieser Stelle) aber schließlich bemerkte, dass visual Studio Intellisense wurde warnt mich, dass ich aufgrund eines fehlerhaften XSL hatte. Ich es korrigiert und alles begann.

Verdammt vorsichtig mit ItemStyle.xsl arbeiten (und die globale XSL-Dateien) — brechen sie wirkt sich auf viele Artefakte in der Websitesammlung.

<Ende />