Arxius per mes: Gener 2008

És per això que jo no com utilitzant eines dia Zero

http://groups.google.com/group/microsoft.public.sharepoint.portalserver.development/browse_thread/thread/41e8cbe4f15e8b4c/76506ea401403e35?#76506ea401403e35

Si l'eina està fent coses no entenc i llavors falla a n pas d'un nombre indeterminat de passos, estàs mort en l'aigua…

</final>

Etiquetas de Technorati:

Solució al fracàs d'importació del BDC ADF: “S'ha produït el següent error:”

Una vegada més va ser elaboració arxius BDC ADF a mà (Així que poden acumular meu "baixar el meu jardí!" Cred) i colpeixi aquest error encantadora:

imatge

"Importació de definició d'aplicació fracassada. S'ha produït el següent error:"

Com es pot veure, hi ha un error, però … no va a dir-me quin és.

En el meu cas, la qüestió va resultar que tenia començava amb una ADF funcional per a un projecte diferent que connectat a una base de dades i executar una consulta SQL contra una visió. En aquest nou projecte, Vaig a trucar a un mètode a un servei web. Havia despullat de la matèria específica de DB i afegir la meva matèria de servei web, però no ha pogut actualitzar la <LobSystem>de l'atribut de tipus. Em vaig canviar a "WebService" i feliçment continuava a errors d'importació més nous i més emocionant, que van ser manejat properament.

Heus aquí el LobSystem malament:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema
XSi:schemaLocation =http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Tipus = "base de dades"
Versió = "1.0.0.0" Nom = "xyzzy"
xmlns ="
http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Això és correcte:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema
XSi:schemaLocation =http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Tipus = "WebService"
Versió = "1.0.0.0" Nom = "xyzzy"
xmlns ="
http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

</final>

Etiquetas de Technorati:

BDC sembla un reemplaçament Viable per a cerques

ACTUALITZACIÓ: Aquest anunci de MSDN té algunes interessants observacions des JXJ basat en el seu, principalment negatives, experiències anant per aquest camí: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Disposem d'un escenari de negoci on cal enllaçar dues biblioteques de documents mitjançant un comú "ID de document" camp.

Sovint utilitzem una columna de cerca que implementa enllaços com aquest. Hi ha diversos inconvenients a les columnes de cerca, tres de les quals es:

  1. Només una columna de la biblioteca de consulta de cerca es pot relacionar.
  2. Rendiment: La biblioteca d'origen pot contenir centenars d'entrades. Això és massa entrades en la cerca.
  3. Cerca: No hi ha cap cerca integrada. No em refereixo en el sentit de molsa de cerca, però no hi ha cap manera de buscar / filtrar en diverses columnes de la biblioteca de document font i localitzar l'enllaç que voleu.

Recolzat per BDC, podem utilitzar unes dades de negoci"" tipus de columna i proporciona una recerca superior i fins i tot permet múltiples columnes de dades que apareixen a les visualitzacions de llista.

He tingut algun èxit preliminar amb aquest enfocament i pla a escriure més sobre això.

Si he treballat aquest angle abans i teniu algun comentari, Si us plau comparteixi!

</final>

Etiquetas de Technorati:

Solució per Error d'importació BDC: “No ha pogut carregar el tipus descrit pel TypeName del TypeDescriptor …”

He estat treballant amb BDC avui, Codificant arxius ADF a mà i generant-me alguns errors. Un tal error:

Fallat la Importaci definició aplicació. S'ha produït el següent error: No ha pogut carregar el tipus descrit pel TypeName del TypeDescriptor. Nom del paràmetre: typeName Error s'ha trobat a o just abans de línia: ' 35’ i la posició: '20'.

MOSS apareix aquest error quan intentava importar el fitxer ADF XML.

He investigat la Internets i va trobar que jo estava referenciant el nom d'instància LOB (des de la <LobSystemInstance>) en el meu <TypeDescriptor> node quan ha he referenciat el propi nom LOB (des de <LobSystem>).

Malament:

<El TypeDescriptor TypeName="Conchango.KeyValue, Nom d'instància LOB" Nom = "KeyValue">

Corregir:

<El TypeDescriptor TypeName="Conchango.KeyValue, Nom LOB" Nom = "KeyValue">

Espero que aquest algú estalvia una hora o dues de temps.

</final>

Subscriure's al meu blog!

Etiquetas de Technorati:

Solució al problema: “FileNotFoundException” Amb el meu tret d'auricular.

Jo estava treballant en un tret de la setmana passada que vols afegir alguns auriculars d'esdeveniment a una instància de llista específica. (He blogged una mica sobre aquell receptor llista aquí).

Utilitzant la línia d'ordres, Podria instal·lar el tret amb cap error (però vegeu més avall per l'error ocult). Quan vaig intentar desplegar el tret en el lloc, MOLSA queixat d'una «FileNotFoundException" error. Aquesta entrada del blog es descriu com el resolia.

Aquest és l'error que MOSS em va mostrar en el navegador web:

Tret d ' b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ no es podria instal·lar perquè la càrrega de l'assemblat receptor d'esdeveniment "xyzzyFeatureReceiver_0" ha fallat: System.IO.FileNotFoundException: No es pot carregar arxiu o Assemblea ' xyzzyFeatureReceiver_0’ o una de les seves dependències. El sistema no pot trobar el fitxer especificat.
Nom d'arxiu: ' xyzzyFeatureReceiver_0’
a System.Reflection.Assembly.nLoad(Nom del fitxer AssemblyName, Corda codegraden, Proves assemblySecurity, Muntatge locationHint, StackCrawlMark& stackMark, ThrowOnFileNotFound booleana, ForIntrospection booleana)
a System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Proves assemblySecurity, StackCrawlMark& stackMark, ForIntrospection booleana)
a System.Reflection.Assembly.InternalLoad(Corda assemblyString, Proves assemblySecurity, StackCrawlMark& stackMark, ForIntrospection booleana)
a System.Reflection.Assembly.Load(Corda assemblyString)
a Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Registre de muntatge vinculant és convertida OFF.
Permetre registre de fracàs Assemblea s'uneixen, establir el valor de registres [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) per 1.
Nota: Hi ha algun penal d'actuació associades a registre de fracàs Assemblea s'uneixen.
Per desactivar aquesta funció, treure el valor de registres [HKLMSoftwareMicrosoftFusion!EnableLog].

Detectar problemes amb Windows SharePoint Services.

Sé com provocar deliberadament aquell error: no instal·li l'Assemblea al GAC. Però, era la GAC. Jo normalment instal·la els assemblats a la GAC arrossegant-los a la c:\windowsassembly carpeta utilitzant Explorador de windows. Mai m'he sentit 100% còmode fent això perquè sempre he pensat que el gacutil existia per una raó … així provava que. Feia cap diferència.

Buscava la Internets i trobava aquest lloc: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

El cartell va passar a estar utilitzant el mateix bit arrel del codi (del llibre WSS dins d'aquesta llista) Així que era un signe d'esperança. No obstant això, el suggeriment de la decoració de l'Assemblea amb una [l'Assemblea: ] Directiva no tenia sentit per a mi. De tota manera ho tastava i estava bé. Feia cap diferència.

Llavors em vaig adonar que la meva definició de classe no era pública. Ho vaig fer públic i que va fer cap diferència.

Següent, Vaig anar a la molèstia d'habilitar el "muntatge s'uneixen fracàs registre" (seguint les instruccions precises i útils, sempre) i aquí és on les coses van començar a obtenir interessants. Aquest registre em mostra que el temps d'execució és buscar a tot arreu en aquest servidor meu Assemblea. Fins i tot apareix a buscar-lo a la meva farmaciola. Però … això no cercar-lo en la GAC.

Vaig posar en la meva jaqueta d'hivern i anar a buscar la Internet una altra vegada i trobar que algú ha tingut aquest problema massa. La llarga discussió en aquest anunci peters fora en res i no puc trobar una solució.

Moc la meva Assemblea en un dels llocs que el registre afirma que està buscant i vaig avançar una mica més. Jo estic recompensat amb un nou error al navegador quan I intenten activar la funció de:

No ha pogut crear l'objecte receptor de tret de "xyzzyFeatureReceiver_0" de l'Assemblea, tipus "Conchango.xyzzyFeatureReceiver" per b2cb42e3-4f0a-4380-aaba-1ef9cd526f20 tret: System.ArgumentNullException: Valor no poden ser nul·les.
Nom del paràmetre: tipus
a System.Activator.CreateInstance(Tipus tipus, Booleans no públics)
a System.Activator.CreateInstance(Tipus tipus)
a Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Detectar problemes amb Windows SharePoint Services.

Temps per a un últim viatge de l'Internets!

Aquesta vegada vaig esbrinar, previsiblement prou, Aquesta molsa emet aquest error perquè l'Assemblea no és al GAC.

Vull aconseguir alguna cosa positiva d'aquesta i intentar sentir una mica orgullós que he creat la Fugitiu d'assemblees MSIL, però no està funcionant. Simplement suplements. Em trobo murmurant "o la gallina" sota el meu alè.

Finalment decideix punt. Crear un projecte totalment nou i copiar i enganxar el codi del projecte incredible-cloaked-from-the-GAC-assembly inhàbils per a aquest nou projecte. (Vaig buscar una bandera de complexió anomenar quelcom així com "Amagatall d'Assemblea vinculant si s'instal·la al GAC" però no puc trobar una).

Puc instal lar el tret i activar-lo i … funciona! Així, després de tot allò, Havia bàsicament d ' arrencar’ meu projecte. Això és una altra raó per què odio ordinadors.

Vaig aprendre alguna cosa útil d'aquest. Havia estat instal·lant trets utilitzant la línia d'ordres de stsadm tot el dia i l'estat utilitzant els "-força" opció per hàbit. Per alguna raó, Jo no ús-opció força quan I instal·lava el nou projecte. Aquesta vegada, Feia realment, realment us oblideu copiar Assemblea d'aquest nou projecte a la GAC. Com a resultat, He rebut aquest «FielNotFoundException" error. Aquesta vegada, Em portava de stsadm, no quan intentava activar la funció mitjançant el navegador web. Així, -força de fet juga dos papers. Li permet tornar a instal lar un element existent. També permet instal·lar un tret de vagonetes que no pot treballar a temps d'execució per a la supressió de l'error. Probablement diu tant en l'ajuda d'algun lloc, però mai es va adonar.

</final>

Diumenge Funny: Part superior 10 Maneres de molestar a la seva muller

  1. Comprar bròquil quan saps que ja hi ha més que suficient a la nevera.
  2. Sortir a córrer. Refresqueu-vos. Trec la funda de coixí net i reemplaçar amb samarreta. Cobrir amb funda de coixí net.
  3. Quan conduint, preguntar si hem de seguir el camí equivocat per un carrer de sentit únic.
  4. Per a 15 anys, cada diumenge suggereix que vostè dona anar a un Museu, expressar sorpresa que els museus estan oberts de diumenge.
  5. Per a 15 anys, ocasionalment aconsellem anar a la botiga local el diumenge. Expressar sorpresa que no estan obertes del diumenge (Gràcies alot Lleis de blau!).
  6. Ús 20 punts per fer un 3 torn de punt.
  7. En una tarda de tardor freda, a peu a l'habitació i enceneu l/c. Es queixen que fa fred. Quan diu dona, "llavors per què engega que, ximple" i s'aixeca apagar-lo, agafar el lloc càlid que tenia al sofà. Punts de bonificació si ella no adonar-se que ho fins molt més tard.
  8. Obrir una llauna de tonyina Albacora blanc deliciós i menjar-se directament de la llauna, al llit, a la nit.
  9. Entrar a la cuina, mentre que la dona està sopant, obrir el calaix de coberts i empènyer estris als voltants fins dona crits, "el que busques!"
  10. Rebuda de noves targetes de visita, situar-los en secret tot al voltant de la casa: Sota el llit, en casos de coixí, dins les tasses de cafè, a la bossa, a les butxaques de jaqueta, cotxe guanteres, el rebost — a qualsevol lloc que vostè pot pensar en.
  11. Escriure les entrades del bloc sobre la seva dona.
  12. Despertar-se.
  13. En caminar pels carrers de Nova York, estar alerta contra "cruixent" objectes a terra. Tenint en compte especial temors de la seva dona, arribar avall com si per triar cap amunt amunt i preguntar, "els hmm, Em pregunto què això és?" (Estar preparat per muller al cos de slam com si ella és un agent del servei secret protegint el President d'un franctirador, o vostè trobarà imposició sobre la seva esquena a la vorera).
  14. Unitat dues vegades al voltant d'un aparcament buscant espai. Vostè sap que realment copejat rodó quan crida el seu fill al seient del darrere, "Oh no! Que està fent una altra vegada!"
  15. Escriure "top 10" llistes que no tenen 10 elements.

===

Acudit de bonificació dona:

Dos co-treballadors anar a dinar. Un d'ells diu que l'altre, "Vaig deixar perdre una relliscada freudiana vergonyós l'altra nit."

"Una relliscada freudians? Què és això?"

"Bé, Quan vam acabar de menjar, la cambrera es va acostar i li va preguntar com ens ha agradat els nostres menjars. Volia dir, "Em va encantar el pit de pollastre’ però en canvi em va dir "Estimava els seus pits". Jo estava tan avergonyit."

"Ah," seu company de treball va respondre. "Tenia la mateixa cosa passar-me aquest cap setmana amb la meva dona. Estàvem menjant esmorzar que volia demanar-li a passar la mantega, però en canvi em va cridar al seu, "La meva vida en ruïnes!’"

</final>

Etiquetas de Technorati:

ID de succés 1023: “Windows no pot carregar extensible comptador DLL MSSCNTRS”

ACTUALITZACIÓ (04/08/08): Em sembla que ha de resoldre aquest problema. Línia d'ordres, Corria "c:\windowssystem32lodctr /R" segons una entrada parlant d'InstallShield problemes i que sembla que hagi resolt per a mi.

He notat que últimament, el meu ventilador de taula de treball/servidor mai s'apaga. Sé que solia girar-se. Vaig prendre un moment per revisar-lo adonar que la un procés VMware estava corrent un coherent 20% utilització en un de la CPU. Comprovava el registre de successos i veure aquests errors en el registre de l'aplicació passant desenes de vegades per minut:

Windows no pot carregar extensible comptador DLL UGatherer, la primera DWORD de la secció de dades és el codi d'error de Windows.

Windows no pot carregar extensible comptador DLL UGTHRSVC, la primera DWORD de la secció de dades és el codi d'error de Windows.

Windows no pot carregar extensible comptador DLL MSSCNTRS, la primera DWORD de la secció de dades és el codi d'error de Windows.

Si jo perforar els detalls d'un dels missatges, Vaig aconseguir que això:

Font: Perflib

Tipus: Error

Categoria: Cap

ID de succés 1023

Vaig fer algunes investigacions i hi va haver algun indici que podria ser un problema de permís en termes d'accés a la dll en qüestió. Va jugar amb aquestes coses, però no podria afectar les coses de manera positiva, així em rendia en allò.

VMware havia estat em molesta sobre realitzant una actualització durant força temps, Així vaig anotar la versió havia instal·lat (aparentment "1.0.1 construir 29996") i feia l'actualització. Això em millorat a v 1.04. Tristament, no fixava l'assumpte.

Puc deixar el boig nombre de missatges que va al meu registre aplicació si vaig tancar un servei anomenat "Servei d'autorització de VMware". Això m'impedeix utilitzar el programari de VMware, Així … no una opció tan gran.

El sistema operatiu d'amfitrió és Windows XP 64 mica.

No crec que això ha passat sempre, però no recordo cap esdeveniment en particular que podria haver provocat a la mateixa.

És per això que odio ordinadors.

</final>

Etiquetas de Technorati:

Ràpida & Fàcil: Rebategi l'arxiu carregat mitjançant el Model d'objectes de SharePoint mitjançant un auricular d'esdeveniment

ACTUALITZACIÓ: Això treballa però existeixen importants limitacions que es descriuen en els comentaris. Això encara pot ser útil en alguns cirumstances.

ACTUALITZACIÓ 2: En el meu projecte actual, els usuaris sempre carregar documents. Com a resultat, No corro a un problema on MS Word està funcionant i pensa que l'arxiu fou rebatejada en això. Corria a un problema, "l'arxiu va ser modificat per una altra persona" i això resolia mitjançant una bandera de tipus simple semàfor. Els usuaris necessiten canviar un camp de dades meta del seu valor per defecte a una altra cosa. La itemupdated() receptor busca un valor vàlid allà abans d'efectuar en realitat el canvi de nom i des d'aleshores, No he tingut cap problema. El seu quilometratge pot variar.

Tinc un requeriment del client a canviar el nom dels arxius pujats a una biblioteca de documents específics per ajustar-se amb una convenció de nomenclatura particular. L'API no proporciona un "canvi de nom()" mètode. En canvi, utilitzem "MoveTo(…)". Heus aquí una mica de codi per aconseguir això mínima:

 públic invalidació buit ItemAdded(SPItemEventProperties Propietats)
        {
            SPFile f = propietats.ListItem.File;

            f.MoveTo(propietats.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

La mica complicat només és les propietats". ListItem.ParentList.RootFolder.Url". La MoveTo() mètode requereix una adreça URL. Que amassat amunt punts corda m a la carpeta arrel de la meva biblioteca de document actual. Això permet em d'evitar qualsevol codificació dura al meu auricular d'esdeveniment.

Aquesta és una versió més útil que fa el mateix, però assigna el nom del fitxer "Títol":

 públic invalidació buit ItemAdded(SPItemEventProperties Propietats)
        {
            DisableEventFiring();

            // Assignar el títol d'aquest element al nom d'arxiu propi.
 // NOTA: Aquesta tasca ha de tenir lloc abans que podem modificar l'arxiu mateix.
 // Anomenant actualització() en l'SPFile sembla invalidar les propietats de
 // una mica de sentit.  Actualitzacions al títol"" fracassat fins que canvieu (i actualització de() convocatòria)
 // s'han desplaçat davant el canvi de nom del fitxer.
            propietats.Element de llista[Títol""] = propietats.ListItem.File.Name;

            propietats.ListItem.Update();

            SPFile f = propietats.ListItem.File;

            // Aconseguir l'extensió del fitxer.  Necessitem que més tard.
 corda spfileExt = nou FileInfo(f.Name).Extensió;

            // Rebategi l'arxiu a ID de l'element llista i utilitzeu l'extensió per mantenir
 // aquesta part del que intacta.
            f.MoveTo(propietats.ListItem.ParentList.RootFolder.Url +
                "/" + propietats.Element de llista["ID"] + spfileExt);

            // Cometre el moviment.
            f.Update();

            EnableEventFiring();
        }

Fòrum de discussió: De fer complir millors pràctiques en MOSS no Trivial entorn

Becari, "Marca", ha posat en marxa una discussió potencialment interessant discussió centrant-se en "establint governança SharePoint excel·lent des del principi" per a un 35,000 ambient d'usuari.

La discussió és aquí: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Pop a sobre i contribuir!

</final>

Acció personalitzada URL no mostrarà per novetat

Estic encara en l'hàbit d'elaboració els meus arxius XML tret a mà ja que és bastant nou per a mi. No vull confiar en una eina frontal que fa coses que no entenc (deia com ell va escriure una entrada de bloc utilitzant una eina que no entén).

Avui, Jo estava tractant d'afegir una acció personalitzada a la configuració del lloc, però això només no demostració cap amunt. Podia instal·lar el tret i veure en els trets de lloc, però quan vaig activar-lo (sense error) Això simplement no apareixen en el menú desplegable.

Finalment em vaig adonar que jo mallletrejat "del SharePoint" a l'atribut d'ubicació de la <CustomAction> Node. Aquest és el fitxer de mal elements.xml:

<?XML versió="1.0" codificació="UTF-8" ?>
<Elements xmlns="http://schemas.Microsoft.com/SharePoint/">
  <CustomAction
 Identificador="SiteActionsToolbar"
 GroupId="SiteActions"
 Localització="Microsoft.Sharepoint.StandardMenu"
 Seqüència="100"
 Títol="Hola!"
 Descripció="Acció de menú de costum afegir via un tret."
 ImageUrl="_layouts/images/menuprofile.gif">

    <UrlAction URL="http://www.xyzzy.com"/>

  </CustomAction>
</Elements>

Bona:

<?XML versió="1.0" codificació="UTF-8" ?>
<Elements xmlns="http://schemas.Microsoft.com/SharePoint/">
  <CustomAction
 Identificador="SiteActionsToolBar"
 GroupId="SiteActions"
 Localització="Microsoft.SharePoint.StandardMenu"
 Seqüència="100"
 Títol="Hola!"
 Descripció="Acció de menú de costum afegir via un tret."
    >
    <UrlAction URL="http://www.xyzzy.com"/>
  </CustomAction>
</Elements>

That one took me a good two hours to figure out 🙂

Prenc consol en el fet que algun dia en el futur, Seré capaç de dir amb convicció, «tornada en el dia, Que havia de caminar tres quilòmetres turó a la neu (descalç!) per tal d'implementar un tret personalitzat a la molsa. Que els nens, no saps com fàcil ho tenen! Baixar el meu jardí!"

No puc esperar.

</final>

Etiquetas de Technorati: ,