</kết thúc>
Tháng Sáu 2008 Hội nghị SUGDC — Đó là một bọc
Tôi đã tham dự đầu tiên của tôi bao giờ SharePoint hội nghị Điều này qua tuần qua và nó là một vụ nổ.
Chiều thứ năm, Tôi đã lái xe xuống Virginia, hướng dẫn bởi vừa được mua của tôi $50 GPS thiết bị điều plug-in để điện thoại của tôi. Thiết bị hoàn hảo. Sau năm giờ lái xe, Tôi đã có năng lượng để làm một chạy tốt đẹp vào nhà máy tread và sau đó, thậm chí nhiều hơn đáng ngạc nhiên, có năng lượng để đi đến hành lang cho một diễn giả được quảng cáo phục vụ cocktail giờ. Hội nghị n00b rằng tôi, it turned out that the cocktail hour was really a ruse to get speakers to show up and help stuff papers and swag into shoulder bags for conference attendees 🙂
Có một thời gian khó ngủ vì tôi đã nói điều đầu tiên thứ sáu PM. Căng thẳng, một cảm giác đòi hỏi rằng tôi cần thiết để thêm một slide cho trình bày của tôi và hiển thị một con mèo rất đáng lo ngại về Animal Planet giữ tôi muộn. Kể từ khi tôi đã đi ngủ muộn, Tôi tự nhiên đứng dậy sớm. Tôi đã thêm một slide khá chi tiết kỹ thuật kiến trúc. Nó đã cũng có giá trị các nỗ lực vì các 25 phút của Q&A đã rất khó khăn mà không có nó. Tôi đã may mắn để có được các khe cắm đầu tiên trong việc theo dõi kỹ thuật. Sahil Malik đã ban đầu sẽ nói thứ sáu AM và tôi đã đi để nói thứ bảy, nhưng ông cần phải hoán đổi lần. Điều này cho phép tôi để trình bày của tôi và sau đó ngồi lại và tận hưởng tất cả mọi thứ sẽ chuyển tiếp thứ sáu và thứ bảy.
Trình bày đã đi rồi. Tôi chắc chắn có phòng để cải thiện nó. Tôi đã nói chuyện về làm thế nào chúng tôi có thể truy cập và sử dụng dịch vụ web từ một quy trình làm việc SharePoint Designer bằng cách sử dụng một hành động tùy chỉnh. Theo thời gian, Tôi sẽ buộc thông tin này thành của tôi qua tại EUSP.com cho người dùng cuối đang cố gắng để có được sử dụng nhất ra khỏi công cụ. Tôi thổi qua slide và demo trong tôi 35 phút, để mất tinh thần của tôi tại thời điểm. May mắn, Q&A là sôi động, không nghi ngờ gì đã giúp bởi thực tế là nó là vào buổi sáng sớm trước khi ăn trưa. Q&A là một phần yêu thích của tôi của bất kỳ bài trình bày.
Có nhiều môn học thú vị và tôi hy vọng sẽ blog về họ chi tiết hơn tuần này (thời gian cho phép, như mọi khi). Thành viên từ CMS Watch cung cấp một đánh giá rất quan trọng, nhưng vẫn rất hy vọng của SharePoint của vị trí trên thị trường. Một cuộc thảo luận khác nhau tập trung vào paucity của các nguồn tài nguyên SharePoint và những khó khăn mà nhà tuyển dụng có việc tìm kiếm tài năng tốt cũng là "giá cả phải chăng" trong thị trường này rất chặt chẽ. CMS xem chàng gọi trời nhân SharePoint như là giống như một "guild." Tôi chủ yếu là quen thuộc với cụm từ đó trong điều khoản MMORPG và nó đã cho tôi một hộp nhỏ, to be honest 🙂
Điểm nổi bật của hội nghị đã là chỉ là cuộc họp và bắt kịp với những người tôi đã "biết" trực tuyến cho một trong khi. Tốt nhất ngồi ở quán bar với Becky Isserman (MossLover) cho 3 hoặc 4 giờ (và đó, sau khi tôi đã hoàn thành uống cho ban đêm). Tôi thường không nhận được để nói về Farscape hoặc Babylon 5 với cư dân thành phố Kansas.
Bob Fox đã có và như thường lệ, là một cơn lốc của intros, cuộc trò chuyện và chỉ là đồng bằng năng lượng điên cuồng. Ông mời tôi đến ăn sáng thứ bảy với Sahil Malik và đó là tuyệt vời.
Thứ bảy (Ngày 2), Mike Lotter kéo mình để hội nghị để nói chuyện về InfoPath và sau đó ông gia nhập Becky cuối ngày để làm một loại tổng quát Q&Một buổi cho về 30 để 45 phút chủ yếu tập trung vào InfoPath (Mike) và AJAX (Becky). Tôi muốn Becky đã có thể đi qua của cô trình bày đầy đủ/chính thức, nhưng tôi chắc chắn tôi sẽ nhận được một cơ hội để thấy rằng một trong những ngày này. Tôi có một cảm giác cô ấy sẽ "đánh các mạch" đi về phía trước.
Tôi có thể đi và về. Hai điểm cuối — mục đích tài chính của hội nghị là nhằm gây quỹ the Children's Miracle Network và nó lớn lên $5,000. Tuyệt vời. Cuối cùng, Tôi muốn công khai cảm ơn Gary Blatt, Gary Vaughn và Bob Fox cho cảnh báo cho tôi và cho phép tôi để nói chuyện tại hội nghị. Tất nhiên, Gary hai đã có một đội ngũ những người hỗ trợ và tổ chức và tất cả các bạn đã được awesome. Tôi đã có những kỳ vọng cao trước khi tôi đã đi và nó đã tốt hơn so với tôi đã hy vọng cho.
Giữ cho báo động cho các tiếp theo Hội nghị dự định vào ngày thứ 7 và thứ 8. Ngoài một số nội dung tuyệt vời, nó là tuyệt vời cho cuộc họp lên với tất cả những nhân vật trực tuyến mà bạn đã biết đến thông qua blog, Twitter, diễn đàn, vv.
</kết thúc>
FBA và SQL Server: Một câu chuyện tình yêu
Đồng nghiệp của tôi đã làm việc trên một phần web trong một môi trường FBA. Trong số những thứ khác, phần web kéo một số dữ liệu từ máy chủ SQL. Kế hoạch lớn cho dự án này chỉ ra rằng một DBA cấu hình bảo mật cấp dữ liệu trong SQL (như trái ngược với nhúng một ID người dùng trong một truy vấn SQL hoặc một số phương pháp tiếp cận khác).
Vấn đề là rằng máy chủ SQL không biết bất cứ điều gì về môi trường FBA vì vậy nó không thể tin tưởng chúng tôi. Chúng tôi giải quyết vấn đề này bằng, cho thiếu từ tốt hơn, theo cách thủ công mạo danh một người sử dụng quảng cáo do đó chúng tôi có thể kết nối với SQL sao cho dữ liệu SQL cấp hoạt động an ninh.
Mặc dù FBA là một tính năng ASP.NET, chúng tôi dân tộc SharePoint người đã dạy tìm kiếm các công cụ mà nếu bạn đang câu cho FBA, bạn phải có nghĩa là bạn muốn biết làm thế nào để đặt cấu hình FBA trong SharePoint. Tôi không tìm thấy bất kỳ thông tin về làm thế nào để kích hoạt một FBA theo định hướng ứng dụng ASP.NET để giao tiếp với SQL trong cách chúng ta cần tìm.
Trong quá trình nghiên cứu này, chúng tôi tái đọc bài viết này: ASP.net mạo danh
Nghiên cứu thêm dẫn chúng tôi vào bài viết này codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx
Điều đó đã giúp chúng tôi viết mã của chúng tôi, Tôi đã bao gồm dưới đây. Nó không phải là công cụ thanh lịch nhất, nhưng nó đã làm việc. Tôi hy vọng bạn tìm thấy nó hữu ích.
Đây là mã mà làm việc cho chúng tôi:
bảo vệ void btnSearchCarrier_Click(người gửi đối tượng, EventArgs e) { Hãy thử { IU / ImpersonateUser = mới ImpersonateUser(); // TODO: Thay thế thông tin đăng nhập iU.Impersonate("DomainName", "Tên người dùng", "Mật khẩu"); // MÃ // iU.Undo(); } bắt (Ngoại lệ cũ) { } } // Bằng cách sử dụng mạo danh lớp như đã đề cập dưới đây. công cộng lớp học ImpersonateUser { [DllImport("advapi32.dll", SetLastError = sự thật)] công cộng tĩnh extern bool LogonUser( Chuỗi lpszUsername, Chuỗi lpszDomain, Chuỗi lpszPassword, int dwLogonType, int dwLogonProvider, REF IntPtr phToken); [DllImport("kernel32.dll", CharSet = CharSet.Auto)] tư nhân extern tĩnh bool CloseHandle(IntPtr xử lý); tư nhân tĩnh IntPtr tokenHandle = mới IntPtr(0); tư nhân tĩnh WindowsImpersonationContext impersonatedUser; // Nếu bạn kết hợp mã này vào một DLL, Hãy chắc chắn để yêu cầu rằng nó // chạy với FullTrust. [PermissionSetAttribute(SecurityAction.Demand, Tên = "FullTrust")] công cộng vô hiệu Impersonate(Chuỗi domainName, tên người dùng Chuỗi, Chuỗi mật khẩu) { Hãy thử { // Sử dụng các chức năng LogonUser không được quản lý để có được người sử dụng mã thông báo cho // người dùng được chỉ định, tên miền, và mật khẩu. const int LOGON32_PROVIDER_DEFAULT = 0; // Đi qua các tham số này gây ra LogonUser để tạo ra một mã thông báo chính. const int LOGON32_LOGON_INTERACTIVE = 2; tokenHandle = IntPtr.Zero; // Bước -1 Gọi LogonUser để có được một xử lý cho một mã thông báo truy cập. bool returnValue = LogonUser( tên người dùng, domainName, mật khẩu, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, REF tokenHandle); // tokenHandle - mới bảo mật mã thông báo Nếu (sai == returnValue) { int ret = Marshal.GetLastWin32Error(); System.console.WriteLine("LogonUser cuộc gọi thất bại với mã lỗi : " + RET); ném mới System.ComponentModel.Win32Exception(RET); } // Bước - 2 WindowsIdentity newId = mới WindowsIdentity(tokenHandle); // Bước -3 impersonatedUser = newId.Impersonate(); } bắt (Ngoại lệ cũ) { System.console.WriteLine("Ngoại lệ xảy ra. " + cũ.Tin nhắn); } } /// <tóm tắt> /// Điểm dừng mạo danh /// </tóm tắt> công cộng void Undo() { impersonatedUser.Undo(); // Miễn phí các thẻ. Nếu (tokenHandle != IntPtr.Zero) CloseHandle(tokenHandle); } }
</kết thúc>
Thêm vào Lore: SSRS nói với tôi “rsAccessDenied”, Nhưng … Tôi thực sự có thể truy cập
Một vài tuần trở lại, Tôi đã làm việc với đồng nghiệp của tôi phát triển một dự án liên quan đến SQL máy chủ Dịch vụ báo cáo plug-in Moss. Ông đã phát triển một phần web cung cấp một ưa thích front-end để báo cáo thích hợp (Các tính năng chính là một tra cứu thông minh trên một tham số với một vài nghìn có thể tìm kiếm giá trị đằng sau nó).
Điều này làm việc rất lớn trong môi trường phát triển nhưng chấp nhận người dùng thử nghiệm (UAT) môi trường, nó sẽ không làm việc. Bắn lên trình gỡ lỗi, chúng ta sẽ thấy ngoại lệ chi tiết như thế này:
Các quyền cấp cho người sử dụng 'UAT_domainmosssvc' là không đủ để thực hiện thao tác này.(rsAccessDenied).
Nếu bạn làm một tìm kiếm trực tiếp trên lỗi trên, bạn tìm thấy nó là khá phổ biến. Scarily phổ biến. Loại tồi tệ nhất của phổ biến bởi vì nó có tiềm năng gốc khác nhau rất nhiều nguyên nhân và giải pháp đề nghị của mọi người "cảm thấy" quyền. Chúng tôi có thể thử tất cả.
Trong trường hợp của chúng tôi, vấn đề là chúng tôi đã thực hiện một sao lưu/khôi phục lại của DEV để UAT. Một nơi nào đó trong dữ liệu, một cái gì đó vẫn còn đề cập đến "DEV_domain" (thay vì Cập Nhật "UAT_Domain"). Chúng tôi tạo ra một trang web mới, Thêm vào phần web và mà giải quyết vấn đề của chúng tôi.
Hy vọng rằng điều này sẽ tiết kiệm một người nào đó một giờ hoặc hai xuống dòng.
</kết thúc>
Nhanh chóng khắc phục: Truy cập vào trang web SharePoint ném [HttpException (0x 80004005): Yêu cầu hết thời gian.]
Một trong những đồng nghiệp phát triển của tôi đã làm việc trên một dự án tuần này và chạy vào một vấn đề thời gian chờ trong khi làm việc trên một số phần điên web xây dựng. Một phần trang web của mình được tốt, nhưng "đột nhiên" một trang web không liên quan đã trở thành rất chậm và thường xuyên hết với lỗi này:
[HttpException (0x 80004005): Yêu cầu hết thời gian.]
Tôi đăng nhập và thấy rằng một số các trang web khác đã chỉ là tốt. Tôi nghi ngờ rằng đã có một số bộ phận ẩn web trên trang và sử dụng đáng tin cậy ?nội dung = 1 gỡ lỗi kỹ thuật, Tôi đã tìm thấy trong thực tế 11 web phụ tùng trên trang, chỉ là hai trong số đó đã có thể nhìn thấy. Thậm chí tốt hơn (từ một quan điểm let's-hope-I-find-something-ugly-here-that-I-can-fix), ba trong số các bộ phận đóng cửa trang web có tên "Lỗi".
Tôi đã xóa các bộ phận web (mà tự nó mất một thời gian dài đáng ngạc nhiên) và đó giải quyết vấn đề. Cho ngày hôm nay 🙂
</kết thúc>
Trong lớp đào tạo nhanh là tuyệt vời
Tôi bắt đầu ngày 4 của nhanh của đối tác đào tạo đầu lên bởi Larry Kaye ở đây ở Needham, MA.
Phiên làm việc 5 ngày này được chia thành các lớp học (3 và 2 ngày tương ứng) với tiêu đề "nhanh ESP: Phát triển ứng dụng tìm kiếm tuỳ chỉnh cho liên minh đối tác tôi" và "nhanh ESP: Phát triển ứng dụng tìm kiếm tuỳ chỉnh cho các đối tác liên minh II".
Đây là một lớp loại thực sự khởi động trại. Các tài liệu là sâu (Rất, rất sâu). Người hướng dẫn (Larry) rõ ràng biết công cụ của mình. Tôi đánh giá cao đề nghị đào tạo này, nếu bạn xem xét nó.
</kết thúc>
SharePoint và nhanh — của Reese Peanut Butter ly của doanh nghiệp ứng dụng?
Tôi đã kết thúc lên ngày 2 đào tạo nhanh trong nắng Needham, MA, và tôi bursting với những ý tưởng (mà tất cả các lớp đào tạo tốt học làm cho tôi). Một khía cạnh cụ thể của nhanh đã cho tôi suy nghĩ và tôi muốn viết nó trong khi nó đã là vẫn còn tươi và bình thường hàng ngày "thứ" đẩy nó ra khỏi đầu của tôi.
Chúng tôi SharePoint WSS 3.0 / MOSS cơ quan thực hiện thường xuyên gặp phải một vấn đề khó khăn với bất kỳ dự án SharePoint có kích thước hợp lý: Làm thế nào để chúng tôi nhận được tất cả các dữ liệu untagged nạp vào SharePoint như vậy mà tất cả phù hợp trong kiến trúc được thiết kế hoàn toàn thông tin chúng tôi?
Thường xuyên, đủ, đây không phải là một vấn đề khó khăn bởi vì chúng tôi phạm vi chính mình ra khỏi khó khăn: "Chúng tôi không quan tâm về bất cứ điều gì nhiều hơn 3 tháng tuổi." "Chúng tôi sẽ xử lý các công cụ tất cả những gì cũ với từ khoá tìm kiếm và đi về phía trước chúng tôi sẽ làm nó đúng cách…" Vv.
Nhưng, điều gì xảy ra nếu chúng tôi không thể phạm vi chính mình ra khỏi khó khăn và chúng tôi đang tìm lúc 10 ngàn hoặc 100 ngàn (hoặc thậm chí hàng triệu) của tài liệu — nạp và gắn thẻ trong đó là mong muốn người sùng đạo của chúng tôi?
Nhanh chóng có thể là câu trả lời.
Quá trình tìm kiếm nhanh của bao gồm rất nhiều bộ phận chuyển động nhưng điều này là một lần xem đơn giản:
- Một quá trình thu thập công cụ tìm kiếm nội dung.
- Nó tìm thấy nội dung và bàn tay nó đi đến một quá trình môi giới quản lý một hồ bơi của bộ vi xử lý tài liệu.
- Quá trình môi giới bàn tay nó đi đến một bộ vi xử lý tài liệu.
- Bộ vi xử lý tài liệu phân tích các tài liệu và thông qua một quá trình đường ống, phân tích các bejeezus ra khỏi tài liệu và bàn tay nó đi đến một quá trình loại chỉ số xây dựng.
Trên tàu vũ trụ nhanh, chúng tôi có rất nhiều kiểm soát đối với các tài liệu chế biến đường ống. Chúng tôi có thể trộn và kết hợp về 100 đường ống dẫn các thành phần và, thú vị nhất, chúng tôi có thể viết thành phần riêng của chúng tôi. Như tôi nói, NHANH phân tích tài liệu mọi cách mà nhưng chủ nhật và nó biên dịch rất nhiều thông tin hữu ích về những tài liệu. Những người điên nhanh được rõ ràng điên và ám ảnh về phân tích tài liệu bởi vì họ có công cụ và/hoặc các chiến lược để thực sự phân loại tài liệu.
Vì vậy … bằng cách sử dụng nhanh chóng trong sự kết hợp với thành phần đường ống dẫn tùy chỉnh riêng của chúng tôi, chúng tôi có thể lấy tất cả các thông tin bối cảnh đó từ nhanh và ăn nó quay lại MOSS. Nó có thể đi một cái gì đó như thế này:
- Tài liệu được đưa vào nhanh từ MOSS.
- Bình thường điên-ám ảnh nhanh tài liệu phân tích cú pháp và phân loại sẽ xảy ra..
- Thành phần đường ống dẫn tùy chỉnh riêng của chúng tôi giảm xuống một số thông tin bối cảnh đó ra một cơ sở dữ liệu.
- Một quá trình thiết kế của riêng của chúng tôi đọc thông tin bối cảnh, làm cho một số quyết định trên làm thế nào để phù hợp với các tài liệu đó MOSS trong vòng chúng tôi IA và đánh dấu nó bằng cách sử dụng một dịch vụ web và các mô hình đối tượng.
Tất nhiên, không có quá trình tự động có thể được hoàn hảo nhưng nhờ sự ám ảnh (và có thể insane-but-in-a-good-way nhanh người), chúng tôi có thể có một thực sự chiến đấu bắn tại một quá trình tải hàng loạt thực sự hiệu quả hơn chỉ cần điền lên một cơ sở dữ liệu SQL với một bó của hiếm khi tìm kiếm tài liệu.
</kết thúc>
Học tập về người dùng cuối tại www.EndUserSharePoint.com
Mark Miller qua tại http://www.endusersharepoint.com đã xây dựng, Theo kinh nghiệm của tôi, người dùng cuối cùng tốt nhất tập trung SharePoint trang web trong các ' hình cầu. Trong tháng trước, ông đã tham gia một số blogger người dùng cuối đầu tập trung xung quanh để đóng góp vào "trang đầu" một cách thường xuyên, bao gồm nhưng không giới hạn Paul Culmsee, Chris Quick, và Dessie Lunsford. Ông đã có những người khác lót lên và sẵn sàng đóng góp như lịch trình của họ cho phép.
Tôi đã nhảy vào cơ hội để tham gia và đăng bài đầu tiên của tôi là ở đây. Tôi đang viết một loạt các trên làm thế nào để sử dụng SharePoint Designer để tạo ra giải pháp quy trình làm việc kinh doanh lớp học đầu tiên. Để phù hợp với tập trung của EUSP.com, những bài viết sẽ luôn luôn giữ cho người dùng cuối trước và Trung tâm.
Tôi cá nhân có xu hướng để chia thế giới SharePoint thành ba nhóm rộng: Tư vấn viên SharePoint, toàn thời gian SharePoint nhân viên phát triển và người dùng cuối. Khi tôi viết, Tôi thường hỏi bản thân mình, trong số các nhóm này có thể quan tâm trong các chủ đề? Thường xuyên nhất, Tôi đã kết thúc bằng văn bản cho hai đầu tiên (kỹ thuật) Nhóm, chủ yếu là bởi vì tôi là một nhà tư vấn bản thân mình; nó luôn luôn dễ dàng hơn và xác thực hơn để viết về những điều mà bạn đang quen thuộc nhất trên một mức độ cá nhân.
Như tôi đã lưu ý trước khi, cộng đồng người dùng cuối là đến nay, lớn hơn so với các cộng đồng kỹ thuật. EUSP.com là top-notch và tôi chân thành khuyên bạn nên nó để tất cả ba nhóm. Các trang web laser tập trung là rõ ràng là có giá trị cho người dùng cuối. Tuy nhiên, chúng tôi phát triển và tư vấn chỉ có thể tốt hơn lúc nghề nghiệp của chúng tôi nếu chúng tôi có thể hiểu và có hiệu quả đáp ứng nhu cầu của người dùng cuối cùng mà chúng tôi phục vụ. I know I need all the help I can get 🙂 Kiểm tra xem nó.
</kết thúc>
Invoking dịch vụ Web SSRS từ WSS / RÊU thuộc họ FBA môi trường
Chúng tôi cần thiết để gọi "CreateSubscription" Các phương pháp trên một dịch vụ web SSRS được lưu trữ trong một FBA quản lý môi trường MOSS từ một phần web tùy chỉnh. Chúng tôi giữ nhận được các biến thể của:
- 401: Chưa được kiểm chứng
- Đối tượng di chuyển
"Đối tượng di chuyển" tin nhắn là thú vị nhất bởi vì nó đã nói rằng "đối tượng" (chúng tôi dịch vụ SSRS) muốn "di chuyển" để login.aspx. Điều này rõ ràng có nghĩa là chúng tôi đã có một số loại vấn đề xác thực.
Tôi cuối cùng đã nhận ra rằng tôi đã có đánh dấu một blog entry bởi Robert Garret mô tả làm thế nào để gọi một dịch vụ web WSS/RÊU trơn sống bên trong một môi trường FBA. Lưu ý rằng tôi không thể liên kết trực tiếp đến bài viết (như của 06/09/08) bởi vì nó muốn xác thực. Liên kết tôi cung cấp mang đến cho bạn một "bài viết tất cả" xem và bạn có thể xác định bài viết cụ thể bằng cách tìm kiếm cho "Truy cập MOSS Web dịch vụ bằng cách sử dụng hình thức dựa trên xác thực".
Đây là mã mà làm việc cho chúng tôi:
ReportingService2006 rs = null; // Xác thực Xác thực auth = mới Xác thực(); Nếu (kết quả.ErrorCode == LoginErrorCode.NoError) Hãy thử { RS.CreateSubscription(báo cáo, extSettings, desc, eventType, matchData, parameters1); } bắt (Ngoại lệ cũ) { System.console.WriteLine(cũ.Message.ToString()); } |
Tôi giải thích những điều để làm việc như thế này:
- Một phần trang web của chúng tôi cần phải quay số dịch vụ xác thực và nói, "Hey, Tony, nó là tôi!".
- Xác thực dịch vụ trả lời nói, "Hey, Tôi biết bạn. Làm thế nào là những đứa trẻ? Đây là một mã thông báo."
- Chúng tôi gọi Dịch vụ SSRS và nói, "Tony đã gửi cho tôi, đây là kỷ niệm."
</kết thúc>
Bạn đã thực hiện phân tích tìm kiếm hàng tháng của bạn?
Nó là một thực hành tốt, thậm chí có thể là một thực hành tốt nhất, Xem lại báo cáo tìm kiếm của bạn mỗi tháng một lần và tìm kiếm cơ hội để thêm hay nhất bets, điều chỉnh từ điển của bạn và có lẽ thậm chí khám phá một số tình báo kinh doanh nếu không ẩn để quản lý.
Nó đã là thứ 3 của tháng. Thời gian của awastin’ 🙂
</kết thúc>