archivi mensili: Marzo 2008

Determinare la porta QRServer veloce

Per poter comunicare con una veloce ricerca tramite le sue API, Abbiamo bisogno di sapere la porta su cui è in esecuzione il QRServer.

Ho seguito questa procedura per individuarlo:

  1. Accedere al sito veloce admin (http://server:port/admin).
  2. Passare al prospetto del sistema.
  3. Individuare "ricerca Dispatcher" e clicca sull'icona di spyglass:

    immagine

  4. Ho usato con successo il valore, 15100 per Info Name"" = "http":

    immagine

Note:

1. Porta 15100 sembra essere il numero di out-of-the-box porta predefinita per il QRServer.

2. Usa questo codice simile al seguente per creare un'istanza di una connessione veloce:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = Nuovo NameValueCollection();
    
        NameValueCollection("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
        NameValueCollection("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15102");
        NameValueCollection("Com.FastSearch.Esp.Search.Http.RequestMethod", "OTTENERE");
    
        searchFactory = SearchFactory.NewInstance(nameValueCollection);

3. Se si sceglie una porta ampiamente scorretto, si ottiene un messaggio di errore utile:

immagine

4. Tuttavia, Se si sceglie il numero di porta elencato nella panoramica (15102) non si ottiene questo messaggio di errore disponibile. Invece, più tardi, quando si tenta di accedere ai dati tramite una ricerca o una visualizzazione rapida di riferimento, si ottiene un errore. Il debug Mostra che il numero di visualizzazioni di searchFactory è zero. Ti verrà dato il messaggio "Failed to fetch ricerca visualizzazione elenco".

</fine>

Technorati Tags:

Iscriviti al mio blog.

Verso modelli di progettazione tecnica di SharePoint: Flusso di lavoro SharePoint Designer + Ricevitore di eventi = Cocktail ad alta potenza

Uno dei modelli emergenti che trovo nella lavorazione di soluzioni SharePoint sfrutta il flusso di lavoro di SharePoint Designer e un ricevente di eventi.

Ecco uno scenario aziendale di metterlo in contesto:

  • Caricare un documento di un lib doc.
  • Dà il via più passaggi del flusso di lavoro creato utilizzando SharePoint Designer.
  • A un certo punto durante tale processo, flusso di lavoro viene assegnato un compito a qualcuno (via raccogliere dati dall'utente o assegnare un compito).
  • Vogliamo utilizzare un indicatore KPI per tenere traccia di quanto tempo tale attività è in attesa di completamento. L'indicatore KPI mostri verde per le attività che vengono completate o due più di 3 giorni da oggi. Essa mostra giallo se l'attività è scadenza domani o oggi. Si vede rosso se l'attività è scaduto.
  • Ecco il kicker: Voglio la data che spinge quel KPI per essere informati-vacanza.

Io non riesco a calcolare una dovuta vacanza-aware data molto facilmente nel flusso di lavoro SharePoint Designer. Avrei dovuto creare un'azione personalizzata o utilizzare uno strumento di partito 3 °. Tuttavia, è abbastanza facile calcolare tale data in un ricevitore di eventi. Quei due si fondono insieme e otteniamo un modello come questo:

  • Definire un nascosto sì/no colonna sito sulla raccolta documenti etichettati "DoCalcualteDueDate".
  • Inizializzarla su false.
  • Al momento opportuno nel flusso di lavoro (e. g. poco prima di "raccogliere dati" azione), assegnare il valore a True.
  • Un ItemUpdate() ricevente di eventi Guarda per vedere se "DoCalculateDueDate" è vero. Dal momento che il ricevente di eventi viene eseguito su ogni aggiornamento, "DoCalculateDueDate" è normalmente false.
  • Quando il flusso di lavoro assegna DoCalculateDueDate true, il ricevente di eventi calcola il dovuto vacanza consapevole data.
  • Quando il ricevente di eventi fa questo calcolo, imposta il flag DoCalculateDueDate false.

Alla fine, Flusso di lavoro SPD è collegato con un ricevitore di eventi tramite il semaforo di DoCalculateDueDate e abbiamo vacanza-informato del debito date che vengono assegnate al momento esattamente corretto nella vita del flusso di lavoro. Controlli di SharePoint Designer quando viene assegnata la data di scadenza ma il ricevente di eventi esegue il calcolo effettivo e assegnazione.

</fine>

Iscriviti al mio blog.

Comportamento osservato: SPD flussi di lavoro all'interno di una raccolta siti in movimento

AGGIORNAMENTO: Sono stato alla ricerca di come incorporare un flusso di lavoro SPD in una definizione di sito. Questa catena di forum MSDN ha alcune interessanti informazioni. Non è determinante, ma punti al percorso attraverso la giungla.

Sto dando questo post un po' stravaganti "comportamento osservato" piombo, dato che io sono un po' sospettosa di trarre conclusioni da esso. Flussi di lavoro SPD sono … temperamentali.

Persone spesso chiedono / chiedendo / da sfregamento sopra i flussi di lavoro SPD in movimento da un luogo a altro. Oggi, Ho seguito questi passi e ha fatto queste osservazioni:

  • Ho creato un flusso di lavoro utilizzando SharePoint Designer in un sito collegato a una raccolta documenti.
  • La libreria del documento associato già ospitato diversi documenti.
  • Salvato il sito come un modello.
  • Quando salvato il sito come un modello, Salvato il contenuto pure.
  • Creato un nuovo sito nella stessa raccolta siti utilizzando quel modello.

A questo punto, Ho provato a eseguire il flusso di lavoro. Ha prontamente si è terminato con il messaggio del registro, "Impossibile su start".

Mi aspettavo questo. Ho grandi aspettative quando si tratta di spostare i flussi di lavoro SPD.

Ho continuato:

  • Aperto il sito in SharePoint Designer.
  • Dato un'occhiata al flusso di lavoro. Sembrava bello.
  • Ho cliccato su "Finish".
  • Ho eseguito il flusso di lavoro.

Stavolta, ha funzionato benissimo.

Io aggiungo che questo flusso di lavoro utilizzato "raccogliere dati dall'utente" azione che è un'azione relativamente complessa sotto il cofano.

Provvisoriamente concludere che il processo di "finitura" il flusso di lavoro causato SPD associare correttamente il flusso di lavoro SPD con la nuova raccolta documenti. Concludo anche il XOML e altri manufatti XML sono ragionevolmente "sciolti". Essi non sono super strettamente accoppiati alla raccolta documenti.

Che cosa fa questo significa? Supponendo che si tratta di un processo affidabile e riproducibile, C'è almeno un metodo grezzo che possiamo usare per posizionarli. Non so se questo sarebbe lavorare se abbiamo superato i limiti di raccolta del sito o anche più drasticamente, interi nuove aziende (e. g. dev alla fase a prod).

Se stai leggendo questo e inclinato, si prega di inviare un commento o email me la tua storia di migrazione di SharePoint Designer. I'll aggiornare volentieri questo distacco con qualsiasi intuizioni così offerti.

</fine>

Iscriviti al mio blog.

Technorati Tags:

Semplice e veloce: Campo di aggiornamento sola del flusso di lavoro

Spesso è utile archiviare informazioni sullo stato in un elenco personalizzato come un codice di approvazione che mai deve essere manipolato direttamente dagli utenti finali. Si tratta di uno scenario comune di affari. Ho lavorato su un progetto quest'anno che genera varie date di status e promemoria tramite flussi di lavoro SharePoint Designer che poi guidare KPI e generalmente supportano i processi aziendali critici.

Utilizzare un tipo di contenuto del sito / colonna per ottenere questo effetto.

Creare un tipo di contenuto del sito con la colonna stato come mostrato:

immagine

Nota lo stato" (per Demo)" campo in basso.

Successivo, fare clic sul nome della colonna per accedere alle proprietà della colonna. Selezionare "nascosto (Non apparirà in forme)" nella sezione Impostazioni di colonna come indicato:

immagine

Questo rimuove il campo dalle forme standard di modifica/aggiornamento. Tuttavia, è ancora disponibile nelle visualizzazioni, Indicatori KPI, il modello a oggetti e si desidera utilizzarlo altrove, tra cui SPD workflow.

</fine>

Iscriviti al mio blog.

Funny domenica: “Ho pensato che questo avrebbe dovuto essere una città Rich”

Un po' più di tre anni fa, Io e mia moglie ha firmato il mio figlio per un'attività estiva, I giocatori di Midland Park. Si tratta di un gruppo teatrale che spende circa tre o quattro settimane di preparazione per un gioco e poi mostrarlo ai genitori, amici e parenti. Si è sempre fatto molto bene.

Non so se il bambino di tutti è come questo, ma mio figlio sono estremamente riluttanti a provare cose nuove. Sapendo questo, lo abbiamo firmato per il programma. Abbiamo trovato che è meglio avvisare lui a questi tipi di cose presto e spesso. Così, al fine di superare la sua riluttanza naturale, gli abbiamo detto all'inizio, e ha fatto il nostro meglio per rendere il suono come divertimento, ecc. Anche con una campagna pubblicitaria multi-mese, era ancora convinto. Siamo costretti a fargli fare, anche se, e come spesso accade, aveva un ottimo tempo.

Per il momento il secondo anno arrotolata intorno, si aveva ancora una volta convinto che non voleva partecipare. Ma, noi avevamo firmato lui alto e zero-giorno, Ho lasciato una mattina alla high school dove si pratica. Quando sono andato a prenderlo dopo pranzo, lui era molto eccitato, tutti sorrisi e annunciato, "Il gioco è la Coniglio con vellutino e io voglio essere il coniglio". Aveva trascorso letteralmente mesi portando avanti (a volte istericamente) circa come non voleva avere niente a che fare con il parco giocatori e dopo il primo giorno, Egli vuole essere il ruolo di protagonista nella commedia. Abbiamo visto questo modello prima.

(La nostra sorpresa, Egli ha ottenuto il ruolo di coniglio ed era incredibile.)

Fast forward pochi anni. Egli è stato nel parco giocatori tre volte, quindi è qualcosa di un veterano. Quest'estate (2008), I giocatori si riparte. Nel frattempo, Egli infine ci ha convinto lui davvero non vuole giocare a calcio e ha mai voluto basket. Che lo ha lasciato con nessuna attività extra-curriculari per fine inverno / all'inizio della primavera. Un client con il quale stavo lavorando accennato che sua figlia era in un programma chiamato palco proprio. A destra è una versione leggermente più costosa del parco giocatori e non è nella mia città, ma adiacente ad esso. Perfetto.

La cosa da sapere su quella città è che è praticamente un altro paese in termini di ricchezza. Ha un treno ad alta frequenza diritto di Wall Street e New York in generale. È solo un luogo ricco. Uno dei temi in corso famiglia discussione è se noi dovremmo mosso verso quella città invece di dove viviamo adesso. È una città più grande, le scuole offrono ulteriori programmi per i bambini, ecc. Mia moglie è cresciuto in quella città e i suoi genitori vivono lì, così noi stiamo "agganciati in" pur non vivendo ci. Sono cresciuto personalmente in diverse circostanze in Massachusetts, quindi non ho molto da dire su questo durante la conversazione a cena in famiglia. Questo non vuol dire che non siamo molto felici dove viviamo. Sappiamo solo che quella città è un livello sopra la nostra città economicamente.

Programma successivo della fase destra iniziato troppo presto per noi lanciare la nostra campagna pubblicitaria normale per superare la riluttanza di mio figlio. Questo è quando egli si avvicinò con uno mio personale Preferiti argomenti contro facendo qualcosa: "Venerdì sera sono primo notti per overs di sonno!" Fase destra stava per interferire con la sua socials week-end.

Arriva il giorno, lo portiamo c'e lanciarlo fuori e come con tutto il resto, ha assunto il suo naturale amore solo di essere vivo e lui ha avuto un buon tempo con esso.

Lo scorso fine settimana mia moglie stava parlando con lui e per la prima volta, Penso che egli è sartoria sue discussioni molto proprio per il suo pubblico. Lei gli aveva chiesto come scena destra paragona a Midland Park giocatori. Lui le dice che "nel parco giocatori, Abbiamo adolescenti che aiutarci. Non c'è alcuna in scena destra. Nel parco giocatori, gli adolescenti fanno tutti i puntelli. A destra del palco, Abbiamo dovuto portare i nostri puntelli. Dobbiamo fare di tutto. E poi contorce il coltello: "Ho pensato che questo doveva per essere una città ricca."

In tutti questi anni, Non ho mai veramente pensato che era ascoltare o capire nulla come correlato della città"ricca". Tuttavia, si scopre che egli è stato.

</fine>

Iscriviti al mio blog.

Technorati Tags:

SharePoint non fornisce aggiornamenti cumulativi calendario; Possibili soluzioni

AGGIORNAMENTO: Una persona anonima nei commenti post questo link: http://www.atidan.com/atidan-collaboration-kit.php

Gli utenti del forum spesso porre una domanda come questa:

"Mi piacerebbe avere un calendario a livello di sito è popolato da eventi da calendari sito secondario. Idealmente, gli utenti di siti secondari creerà gli eventi del calendario, e avrà la possibilità di contrassegnandole come ' pubblica.’ Eventi contrassegnati come pubblici verranno visualizzati dinamicamente nel calendario sito condiviso. Così il calendario sito condiviso è un roll-up di tutti gli eventi pubblici da tutti i calendari di sito secondario."

È WSS 3.0 o muschio 2007, non è possibile configurare direttamente un "roll-up" calendario. Calendari esistono per conto proprio, indipendente da qualsiasi altro calendario.

Per creare un calendario di avvolgibili, seguire uno di questi percorsi:

  1. Utilizzare una Web Part Query contenuto. Questa è la soluzione più semplice per gli utenti di muschio (WSS non fornisce CQWP). DISPONIBILI, Purtroppo, non fornisce una visualizzazione del calendario di dati fuori dalla scatola. Fornisce flessibilità di enorme rendering (per un esempio vedere qui) ma per impostazione predefinita, Mostra i risultati in formato semplice elenco. In molti casi, CQWP probabilmente una buona scelta.
  2. Una soluzione più orientata alla programmazione sarebbe quella di utilizzare ricevitori di eventi. Implementare i ricevitori di eventi sui calendari sito secondario che mantengono le loro manifestazioni pubbliche in sincronia con il calendario master. Come un determinato sito secondario viene modificato il calendario, raggiungere il calendario master e aggiornarlo come necessario. Questa opzione è disponibile in entrambi WSS 3.0 e MOSS.

Ci sono probabilmente altre soluzioni intelligenti a questo problema. Se ne hai uno, o sapere di uno, si prega di lasciare un commento o email me e aggiornerò questo post.

</fine>

Iscriviti al mio blog.

Creare siti (SPWeb) tramite SharePoint Designer Workflow

Questo blog è più di un "nel Regno del possibile" entrata vs. informazioni di calcestruzzo.

Abbiamo un disegno tecnico che chiede di creare un sito in una raccolta di siti tramite un processo di workflow manualmente lanciato. Fondamentalmente, gli utenti immettere i dati in un nuovo cliente di"" elenco personalizzato e poi quando hanno finito e convalidato il processo di immissione dei dati, abbiamo bisogno di creare un sito per quel cliente.

Io sono un grande fan del flusso di lavoro dichiarativo così come un programmatore di flusso di lavoro debole visual studio, così ho voluto soddisfare il requisito di SharePoint Designer.

Intenzione di scrivere su questo più dettagliatamente (e si spera di presentare ad un gruppo di utenti o due l'anno prossimo), ma ecco la soluzione globale:

  • Creare un'azione personalizzata che si integra con SPD.
  • L'azione personalizzata consente SPD richiamare un servizio web e passarlo a una stringa di XML.
  • Servizio Web individua la riga nell'elenco personalizzato e crea un nuovo sito, come per i dati per quel nuovo client utilizzando una definizione di sito personalizzato.
  • Servizio Web quindi aggiorna l'elenco personalizzato con alcune informazioni, ad esempio un collegamento al nuovo sito.

Abbiamo preso in considerazione altri approcci, ad esempio i gestori eventi e flussi di lavoro di visual studio in base. L'approccio SPD dà nostri utenti finali un po' più controllo sul processo di. Concesso, c'è un sacco di codice c# in questa soluzione, ma esso è racchiuso in un flusso di lavoro dichiarativo, così ottenere alcuni dei benefici del flusso di lavoro dichiarativo mentre agganciando il servizio di creazione del sito.

Tutto ciò di cui abbiamo bisogno ora è uno strumento semplice per migrare automaticamente i flussi di lavoro SPD il più facilmente possibile per i flussi di lavoro di visual studio e cucineremo davvero con il gas 🙂 Capisco che alcune persone stanno lavorando su questo problema e spero che lo abbiano fatto qualche buon successo con esso presto.

</fine>

Iscriviti al mio blog.

Technorati Tags: ,

Semplice e veloce: Eseguire il provisioning di un sito Web utilizzando il modello a oggetti di SharePoint In c#

Ho provato a cercare per un piccolo frammento di codice che Mostra come posso creare un nuovo SPWeb in una raccolta siti. Non ho trovato più velocemente o facilmente come mi aspettavo così ho pensato che sarebbe schiaffo insieme di voce un sull'argomento.

Questo codice crea un nuovo sito Wiki:

 SPSite siteCollection;

    siteCollection = Nuovo SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy titolo",
        "xyzzy Descrizione", 1033, SPWebTemplate.WebTemplateWIKI, falso, falso);

Mie ricerche iniziali non riuscita perché stavo cercando frasi come "eseguire il provisioning di un sito web utilizzando il modello a oggetti di sharepoint" e simili.

Se si ricerca per "Webs.Add()", troverete una serie di voci di blog molto utile, Articoli di MSDN e documentazione di SDK che vanno in profondità su questo argomento. Vi consiglio caldamente Questo sito.

</fine>

Iscriviti al mio blog.

Technorati Tags:

Integrare i flussi di lavoro di SharePoint Designer con i servizi Web

Ho giocato con azioni personalizzate per SharePoint Designer per qualche tempo (vedi qui per alcune cose dettagliate, Se che ti interessa).

Nel mio progetto attuale, Abbiamo bisogno di fare qualche lavoro abbastanza pesante e vogliamo utilizzare flussi di lavoro dichiarativi SPD per gestire il processo di business associate.

Lunga storia breve, Questo è del tutto possibile. Ho allungato il mio progetto Codeplex per richiamare un servizio di supporto"" e ora possiamo invocare un servizio web direttamente da un flusso di lavoro SPD.

Ecco la firma:

 pubblica stringa Oggetto Dispatcher(
        GUID WebID, // Passati per l'ambiente di runtime
        GUID SiteID, // Passati per l'ambiente di runtime
        stringa ListID, // Passavano la RTE (non so perché questa è una stringa, non un GUID)
        int ListItemID, // Passavano la RTE.
        stringa XmlMessage) // Passati da parte dell'utente, come dichiarato nella SPD.

Questo sfrutta il fatto che possiamo ottenere informazioni importanti del flusso di lavoro, come il sito, elenco ID, ecc. Questo è ben documentato in diversi posti per coloro che sono interessati nella creazione di proprie azioni personalizzate. L'idea è di estrarre la stringa XML come forniti dall'utente per inviare una procedura appropriata. Fun Stuff Fun stuff!

Purtroppo, Questo è ovviamente un biglietto di sola andata giù per "Loosey Goosey" Terra anti-pattern, ma è meglio che colpire un muro di mattoni 🙂

Esso è un anti-modello, se lo si fa anche se sai che è un anti-modello?

Spero di concludere questa all'interno di Codeplex nel prossimo futuro. Se siete interessati a me in questo modo, Dammi poke (Posta elettronica o lasciare un commento) e sarò più entusiasta di farlo 🙂

</fine>

Iscriviti al mio blog.

Technorati Tags: ,

Funny domenica: “Mi chiedo se la password è …”

Ho recentemente acquistato il pranzo per mio fratello (come al solito) e abbiamo finito per parlare di cose divertenti che abbiamo fatto nei nostri rispettivi College. Alla mia alma mater, Lafayette College, il reparto IT di supporto accademico aveva un modo molto comprensivi riguardo. Ci hanno dato un sacco di corda e ho approfittato di che a volte.

Due miei ricordi preferiti si riferiscono al mio buon amico, Gabe. Aveva fatto il terribile errore di raccontare il suo anno di matricola che "sono una matricola di persone, ma ho Sophomore in piedi" aveva preso a causa di varie classi di posizionamento avanzato, ecc. Molti di noi erano situati allo stesso modo, ma non parliamo tanto. Suo anno da senior, Quando abbiamo introdotto per persone, possiamo dire che "questo è Gabe. Egli è un Senior, ma lui ha Sophomore in piedi ".

Il Collegio ha avuto alcune workstation/server di Sun in esecuzione X-Window. Avevano gigantesco monitor e gli ingegneri li ha usati per CAD e altre cose noiose di ingegnere. Abbiamo CS persone li hanno utilizzati per imparare a programmare e, Naturalmente, Gioca giochi.

Non abbiamo come gli ingegneri computer-impotente a molto così una delle nostre cose preferite fare sarebbe telnet alla casella, essi erano su ed eseguire X-occhio su di loro. Questo pop-up un paio di occhi che seguirono il mouse sullo schermo. Si potrebbe pop-up ancora di più e hanno letteralmente una dozzina o più le applicazioni X-occhio in esecuzione. Cerca di non ridere ad alta voce quando uno sfortunato ingegnere sta cercando di chiudere X-eye dopo X-eye e borbottando sottovoce 🙂

Abbiamo anche giocato X-trek su quelle scatole. Per farlo, si doveva scaricare il sorgente, ottenere varie dipendenze ovunque si poteva trovare e costruirlo. Non ero un sofisticato programmatore C, ma ho potuto leggere i file di intestazione. Stavo guardando attraverso questi e trovato le direttive come "#DEFINE MAX_TORPEDO_DISTANCE 10". Ho giocato con che aumentano la gamma e potenza per fasi e siluri, ri-costruito e poi distrutto Gabe la prossima volta che abbiamo giocato.

Gabe è stato anche un grande fan di uno show televisivo chiamato Di Blake 7. Non l'avevo mai visto, ma che non impedisce a me di insistendo che Dr. Chi è lo spettacolo superior. Le discussioni a volte si accendevano 🙂

Un giorno, mi venne in mente che probabilmente ho potuto indovinare la password di UNIX. Io seduto accanto a lui un giorno e ha annunciato in un tono forte, "Io vado a indovinare la password adesso, Gabe." "sì, destra" fu la sua risposta. Ho quindi effettuato l'accesso, inserito il suo id utente, si girò per affrontarlo, scritto e detto ad alta voce, "Mi chiedo se è B-L-A-K-E-7" ? Dattilografia non ha mai dato come ottimi frutti, come ha fatto quel giorno.

La settimana prossima (o presto): Altre buffonate di camera di computer da college.

Avete qualche condividere? Lasciare un commento o e-mail me e io li pubblicherò qui.

</fine>

Iscriviti al mio blog.

Technorati Tags: