Aylıq Arxiv: Fevral 2008

Kiçik İctimai Elanın: Windows Security Settings Live və Space sahibləri əlaqə

I receive a handful of messages from individuals via the built-in "send a message" function Microsoft provides with live spaces (which also hosts my blog) every month.

About one third of the time, those users have secured their live spaces account such that I cannot reply. This is some kind of anti-spam feature I assume.

</son>

Simple İzahı: “Dəyər gözlənilən diapazona düşən deyil.”

UPDATE: An anonymous poster left a great comment about internal names. Be sure to read it.

Tədbirdə alıcıları və digər kodu ilə iş zaman olduğu obyekt model vasitəsilə istinadlar SharePoint siyahısı maddələr, Mən tez-tez zamanı bu səhv yaradan səhvlər:

Xyzzy hata yüklənməsi və çalışan hadisə qəbuledici Conchango.xyzzyEventReceiver, Version = 1.0.0.0, Mədəniyyət = neytral, PublicKeyToken = 0dc50a750396c3ac. Additional information is below. : Value does not fall within the expected range.

I think this is a fairly generic error that is potentially caused many different ways. Lakin, one simple explanation is that I’m referencing a field incorrectly. If the name of the field is "Due Date", Mən hadisə alıcı bu kimi istinad olunmalıdır:

properties.ListItem["Due Date"]

Sahəsində bir sened mən yanlış işi orfoqrafik səhv etmək və ya istifadə, SharePoint generates the above mentioned runtime error. Məsələn, bu səhv:

properties.ListItem["due Date"]

</son>

Blog abunə.

Technorati Tags:

Son İstifadəçi Quick Tip: Bir Document Kitabxana Sort Views, Siyahı, və s..

Biz, və SharePoint siyahıları çox fikir yaratmaq etməlidir (sənəd kitabxana, xüsusi siyahıları, və s.). SharePoint always lists available views in alphabetical order. We cannot change this using out of the box functionality. If it can be done via customization (və mən ola bilər əmin deyiləm), sizin tipik son istifadəçi üçün texniki uzaq.

SharePoint mövcud views siyahıları hansı qaydada nəzarət etmək istəyirsinizsə,, sadəcə görünüşü adı bir sıra və ya məktub başına, kimi:

1 – Material növü
2 – Bütün sənədlər
3 – Teslim tarixi

-və ya-

A – Material növü
B – Bütün sənədlər
C – Teslim tarixi

I have also created views whose purpose is strictly to feed a KPI. I have been following this naming convention:

Z_KPI_[təsvir]

That causes my "KPI" views siyahısı altında görünür.

</son>

Blog abunə.

Bazar Funny: “Mən bir az oğlan idi”

Bir valideyn kimi,, somewhere along the line I discovered the "When I was a little boy" trick.

Oğlum, zamanı yəqin ki, dörd və ya beş, bir balon oynayan və balonları ilə oynamaq ki, ən kiçik oğlan kimi oldu, he popped it. He was very upset. The world had come to an end. I said to him, "when I was little boy, Mən bir şar idi və o, nəticədə atdı və, I got a new balloon." It seemed to help him cope with his loss and led to a fun talk about what it was like when I was a little boy.

That worked well as a consolation technique and I used it a several times over the next period of time. I did get into trouble once when his Monster Rancher 3 creature died. I talked about how my dog, Şahzadə, had died in a car accident. Bu dəfə, onun cavab idi, "Now I feel bad about two things!" I shied away from using the "when I was a little boy" sonra təsəlli üçün texnika.

Ölü it hadisədən əvvəl, lakin, I had also started to use the technique to convince him to do chores. "When I was a little boy, I had to go out and get the newspaper", "clean my room", "get Mommy her coffee cup", və s..

Bu da bir müddət üçün olduqca uğurlu olmuşdur, but he started to increasingly rebel against the tyranny of my childhood. One event, xüsusilə, marked the end. I told him to bring the garbage cans from curb back to the garage. He argued and I responded, "When I was a little boy, I had to take the garbage back to the garage." He responded, "Oh yeah! Well when you were a little boy, ki axmaq idi!".

</son>

Blog abunə.

Technorati Tags:

Siyahıları və Document Kitabxanalar fikir və Sütun təmin edilə bilmir

UPDATE (02/29/08): Bu yeni codeplex layihə fərdi sütunları təmin olunması üçün bir üsul təmin görünür: http://www.codeplex.com/SPListDisplaySetting. If you have any experience working with it, Şərh tərk edin.

Forum plakat tez-tez bu kimi bir sual: "I have a manager view and and a staff view of a list. How do I secure the manager view so that staff can not use it?"

Onlar da tez-tez əlaqəli sual: "I want to secure a specific metadata column so that only managers may edit that column while others may not even see it."

These answers apply to both WSS 3.0 və MOSS:

  • Views təmin olunması üçün SharePoint vermir out-of-the-box dəstək.
  • Təhlükəsizlik sütunlar üçün SharePoint vermir out-of-the-box dəstək.

There are several techniques one can follow to meet these kinds of security requirements. Here’s what I can think of:

  • Use out-of-the-box item level security. Views always honor item level security configuration. Event receivers and/or workflow can automate security assignment.
  • Use personal views for "privileged" views. These are easy enough to set up. Lakin, due to their "personal" təbiət, these need to be configured for each user. Use standard security configuration to prevent anyone else from creating a personal view.
  • Bir veri görünüşü web iştirak edin və AJAXy təhlükəsizlik giydirme həlli bir növ həyata.
  • Öz siyahısı Display funksionallığı gəzmək və təhlükəsizlik sütun səviyyədə bəzək daxil.
  • Məlumat giriş formalarını dəyişdirmək və bəzək sütun səviyyədə təhlükəsizlik həyata keçirilməsi üçün təhlükəsizlik modeli ilə birlikdə JavaScript istifadə.
  • Use an InfoPath form for data entry. Implement column-level security trimming via web service calls to SharePoint and conditionally hide fields as needed.
  • Giydirme sütun səviyyəli təhlükəsizlik həyata keçirir ki, öz ASP.NET məlumatların daxil funksiyası gəzmək.

Bu variantlardan heç biri həqiqətən ki, böyük, lakin eger gerekirse aşağıdakı azı bir yol var, o çətindir, hətta.

QEYD: Bu yol heç bir yerə getmək əgər, don’t forget about "Actions -> Open with Windows Explorer". You want to be sure that you test with that feature to make sure that it doesn’t work as a "back door" və təhlükəsizlik sxem məğlub.

Siz təmin sütun və ya views digər fikir və təcrübə varsa,, xahiş edirik Mənə e-poçt və ya Yorum bırakmak və bu müvafiq olaraq poçt yeniləyirik.

</son>

Blog abunə.

Sadə Tip: BDC AİF Version Nömrələr Dostunu var

Siz değilseniz AİF faylları əl-kodlaşdırma kod və bir çox / idxal / test dövründən məşğul, use the version number to make your life easier.

Mən bunu qəbul nifrət, lakin qədər bu həftə, I was always deleting the ADF and re-importing it. This would break my business data columns and make me re-wire them. All unnecessary.

File this under "it’s obvious once you see it".

Misal:

<LobSystem
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Növü="Belediyesi Web Services" Variant="1.2.0.0" Ad="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

Ki, versiyasını və təkrar idxal dəyişmək və mövcud biznes data sütun əlavə konfiqurasiya tələb avtomatik olaraq yenilənmiş versiyasını istifadə edir.

</son>

Blog abunə.

Technorati Tags:

Həll: BDC Seçici Results yalnız bir sütun göstərir

Bir təmin mənim davam cəhdlərində BDC istifadə daha faydalı axtarış sütun, I hit a wall with the BDC picker. If you haven’t see it, the BDC picker is similar to a people picker except that it works with columns of type "business data".

Siz kimi bir məlumatı sütun açıq kitab icon tıklayarak seçici olmaq:

image

The above image shows a business data column called "Master Document Id". That column is connected, BDC vasitəsilə, to a web service. The web service returns two columns of information: Document ID and Title. The business purpose here is to provide a "this document is based on" funksiyası. Users select a "master" sənəd və onlar qazanc, Bu istinad usta bir hadisə qəbuledici nüsxə meta data sahələri.

Mənim cari, the BDC picker looks like this when I search for a document whose ID = "38":

clip_image002

Bu faydalı deyil, but not good enough. People don’t think in terms of IDs, they think in terms of titles and/or other meta data. The picker allows you to search on other columns (e.g. Title) lakin aşkar adların faktiki siyahısı göstərmir, yalnız onların DocId burada gösterildiği kimi oldu:

clip_image002[1]

(Mən qüvvədə nəticəsində bu qaytarır bir axtarış seçin etməyib, çünki ekran shot qədər də böyük deyil, lakin siz görə bilərsiniz ki, bəzi tapılıb əgər, yalnız DocId nin göstərir ki,, deyil adları).

I searched high and low for the answer to this and failed. Mənim həmkarım, bu qocaman Jonathan Bradshaw, had faced and solved this issue. When I reached out to him for help, o düzgün istiqamətdə mənim qeyd.

Configure the picker to show multiple columns via the "ShowInPicker" Bu AİF mülkiyyət:

<Əmlak Ad="ShowInPicker" Növü="System.Boolean">doğru</Əmlak>

Daha ətraflı:

  <!-- Title -->
  <TypeDescriptor TypeName="System.String" Ad="Title" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Title</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Xassələri>
      <Əmlak Ad="DisplayByDefault" Növü="System.Boolean">doğru</Əmlak>
      <Əmlak Ad="ShowInPicker" Növü="System.Boolean">doğru</Əmlak>
    </Xassələri>
  </TypeDescriptor>

Setting this property does introduce a minor problem. As soon as you set it once, you need to set it for every column you want to show. Mənə gəldikdə isə, BDC picker showed DocId by default. Lakin, once I added "ShowInPicker" Title üçün, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

Burada nəticəsində:

image

(I’ll explain the odd-looking "168 – CamlSchema.xsd" construction in a future blog post. Qısa, bir az daha yaxşı user experience imkan verir ki, concatenated simli var).

Əlbəttə, Bu blog giriş yazılı olan, I just did a search for "ShowInPicker" çoxsaylı hits tapılıb, Bu, o cümlədən: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</son>

Blog abunə!

Technorati Tags:

Sürətli & Asan: Qovluq yaradın və məzmun Tipi Təyin (Və ya, Sizin KPIs və onların çox yeyin)

Ətrafında bir KPI problem işləmək üçün Burada haqqında yazıb, I did some testing and discovered that KPI’s work against folders with meta data in the same way that they work against documents or list items. I proved it out by creating a new content type based on the folder content type and then added a few fields. I created some indicators and proved to myself that KPIs work as expected. This was welcome news. It’s not perfect, because the drill-down you get from the KPI against the folders is not exactly what you want. This isn’t too much a drawback in my case because 1) sonunda istifadəçilər hər hansı bir daha bilmirəm 2) the drill-down goes to a folder. They click the folder name and they are at the item. It’s two clicks instead of one, Dünya sonu deyil.

This flowed nicely with the work I was doing. I am creating a folder for every document that gets uploaded. This is done via an event receiver. Nəticəsində, onu saxlamaq üçün tort bir parça var ana qovluq nin meta data in sync with the KPI-driven meta data from the file itself since the plumbing is already in place. This allows me to have my KPI’s and eat them too 🙂

I modified the event receiver to add the folder and then set this new folder’s content type to my custom KPI-friendly content type. This bit of code did the trick:

 SPFolderCollection srcFolders = targetWeb.GetFolder("Documents").Alt;
  SPFolder addedFolder = srcFolders.Add(properties.ListItem.ID.ToString());
  SPContentTypeId kpiCT = yeni SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Content Type ID"] = KpiCT;
  addedFolder.Item.Update();

Faktiki məzmun Tipi ID tapmaq üçün, Mən kimi haqqinda ayarlarınızı və surəti vasitəsilə məzmun növü / URL onu yapışdırılır ki, əldə:

image

</son>

Blog abunə!

Technorati Tags: ,

Tez və asan: Bir hadisə Alıcı bir SPListItem və SPFolder almaq

Mən bunu qəbul nifrət, but I struggled with this one all day. My event receiver needs to update a field of its parent folder. This little bit shows how to do it:

xüsusi ləğv UpdateParentFolder(SPItemEventProperties xassələri)
{

SPFolder thisItemFolder = properties.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ Approval Status"] = "Good news, hamı!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

Bu halda, Mən bir sənəd kitabxana ilə çalışıram və xüsusiyyətləri bir ItemAdded hadisə gelen.

Bu oyun Öğeyi özü birbaşa maddəsinin SPFolder ala bilmir ki, (i.e. properties.ListItem.Folder null deyil). Əvəzində, siyahısını öğenin bağlı Fayl gedin ve Fayl qovluğunu almaq.

</son>

Blog abunə!

Technorati Tags:

Lakin başqa bir hadisə Alıcı debug Trick

I’m sure I’m not the first person to come up with this. Lakin, I haven’t noticed anyone publish a trick like this since I started paying close attention to the community last July. Belə, Mən bu sürətli və asan debug tip göndərmək istədiyiniz fikir.

Mən bu səhv yaratmaq üçün açılmış bir hadisə alıcı üzərində çalışıram 12 arı şanı:

Xyzzy hata yüklənməsi və çalışan hadisə qəbuledici Conchango.xyzzyEventReceiver, Version = 1.0.0.0, Mədəniyyət = neytral, PublicKeyToken = blahbalhbalh. Additional information is below. : Obyekt istinad obyekti bir instansiya müəyyən deyil.

I didn’t know where I had introduced this bug because I had done too many things in one of my code/deploy/test cycles.

Mən cəhd Bu həll ümidlər var mənim pdb almaq üçün SharePoint nin 12 Hive bu yığını iz göstərir ki,, but no luck. I don’t know if it’s possible and if someone does, lütfen 🙂

Mən bunu mümkün bilirik üçün öz Giriş mesaj yazmaq 12 arı şanı. Frankly, Mən həyata keçirmək üçün bir az daha az qorxu və tez bir şey istədilər.

Mən ən azı bu kimi ümumi istisna tutmaq və yenidən atma bəzi əsas iz məlumat ala bilər ki, mənə baş:

  cəhd {
    UpdateEditionDate(xassələri);
  }
  tutmaq (Istisna və)
  {
    atmaq yeni Istisna("Dispatcher, UpdateEditionDate(): Istisna: [" + e.ToString() + "].");
  }

Bu qədər göstərdi 12 Hive thusly:

Xyzzy hata yüklənməsi və çalışan hadisə qəbuledici Conchango.xyzzyEventReceiver, Version = 1.0.0.0, Mədəniyyət = neytral, PublicKeyToken = blahblahblah. Additional information is below. : Dispetçer, UpdateEditionDate(): Istisna: [System.NullReferenceException: Obyekt istinad obyekti bir instansiya müəyyən deyil. at Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties xassələri) at Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties xassələri, Simli eventDescription)].

Ki, mənə xüsusi problem aşağı izlemek üçün lazım olan bütün təfərrüatı verdi və mən irəli gedən çox istifadə gözləyirik.

</son>

Blog abunə!