Thú vị iPhone ứng dụng

image Điện thoại di động đội ở đây tại Slalom đã phát triển một ứng dụng thực sự mát mẻ iPad kết hợp thực tế ảo augmentation w / gián tuyến khả năng cung cấp những gì có thể tốt nhất New York tàu điện ngầm finder và định tuyến app có sẵn hôm nay.

Đây là trang web mô tả các ứng dụng chi tiết hơn: http://www.nycstationfinder.com/.

Tôi không có bất kỳ sản phẩm của Apple, vì vậy tôi không thể kiểm tra nó ra bản thân mình, nhưng có vẻ đẹp, thoáng mát. Tôi hy vọng họ cổng nó qua cho Android sớm.

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

MVP một lần nữa

Microsoft re-awarded tôi với SharePoint MVP vào ngày 01 tháng bảy năm nay và nó là không ít thú vị hơn nó đã là lần đầu tiên bốn năm trước đây.

Cộng đồng SharePoint là chỉ là một nơi tuyệt vời.  Tôi nhớ khi tôi lần đầu tiên được giới thiệu với SharePoint bởi chủ nhân cũ của tôi, Conchango.  Tôi đã không hài lòng về nó Nụ cười.  Tôi đã sống trong một thế giới BizTalk cho một năm hoặc hai dẫn đến công việc của tôi có và trước đó, làm việc trong một thế giới hải của người dân và các công ty đó thực hiện một cuộc sống tắt của Phần mềm tiến bộ.  Tôi nói "Hải", vì thế giới SharePoint là bất cứ điều gì nhưng!

Tôi đang liên tục vui mừng và vui mừng là một phần của cộng đồng trực tuyến này kỳ lạ của những người mà cảm thấy lạ bắt buộc phải blog vô tận, từ bỏ ngày thứ bảy của họ miễn phí hội nghị, ám ảnh diễn đàn trực tuyến, xây dựng tất cả các loại whacked ra sản phẩm miễn phí để đưa lên ngày CodePlex và vô số các nỗ lực cộng đồng khác của tất cả các hình dạng và kích cỡ. 

Tôi không biết nó là gì về sản phẩm này mà truyền cảm hứng cho các hoạt động tình nguyện và ngâm, nhưng tôi hy vọng nó không bao giờ thay đổi.

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

Hãy để sáng ví dụ dẫn cách để tăng nhận con nuôi SharePoint

Đầu tiên "tinh khiết" BrightStarr blog entry của tôi đã được xuất bản ngày hôm nay.  Đây là một lời trêu ghẹo:

Đã có rất nhiều cuộc hội thoại trên Internets của cuối về chủ đề nhận con nuôi SharePoint và đặc biệt là thiếu đó. Không ai muốn đi đến tất cả những rắc rối của việc thiết kế một cơ sở hạ tầng nông trại và an ninh, tham gia hội thảo, đặt lại với nhau một snazzy diện, làm việc ra một kiến trúc đá rắn thông tin mà có thể chịu được những thăng trầm của công ty tái-orgs và cuối cùng, một buổi giới thiệu đầy phô trương chỉ để khám phá ba tháng bài đi-sống mà ít hơn 50% công ty nhân viên đang sử dụng SharePoint và hầu hết trong số họ đang sử dụng nó để thay thế cũ máy chủ tập tin mạng ("S:\ ổ đĩa").

Không có đạn bạc (hoặc đơn đăng blog) là sẽ giải quyết vấn đề đó. Tuy nhiên, có rất nhiều điều bạn có thể làm giảm nguy cơ của một thiếu máu SharePoint portal. Một kỹ thuật như vậy là "Shining ví dụ mẫu."

Tôi rất muốn biết về chiến lược nhận con nuôi SharePoint khác mà bạn quan tâm để chia sẻ.  Nếu bạn chia sẻ, Xin vui lòng để lại như một bình luận trên blog của BrightStarr.

Đọc toàn bộ điều ở đây: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

"Truy cập bị từ chối” để Default.aspx ngày một SharePoint 2010 Phụ trang web

Một trong những khách hàng của tôi đã sống với họ SharePoint 2010 môi trường ngày hôm nay.  Chúng tôi phát hiện ra rằng một nhóm người dùng không thể truy cập vào trang chủ mặc định của họ.  SharePoint đáp trả bằng "Truy cập từ chối" và bình thường "đăng nhập như người dùng khác" hoặc "yêu cầu truy cập" phản ứng. 

Khi chúng tôi sử dụng chức năng "Kiểm tra truy cập" tiện lợi này xác nhận rằng các người dùng cuối thực sự đã có thể truy cập.  Được, họ có thể không nhận được để trang.

Tôi theo sau nhiều con đường để kết thúc chết khác nhau cho đến khi tôi quyết định để so sánh các bộ phận web trên trang bị hỏng chống lại một trang làm việc tương tự.  Tôi đã làm điều đó bằng cách đặt trang trong chế độ bảo dưỡng bằng cách thêm"?nội dung = 1 "trang. Vì vậy, nó trông giống như "http://Server/Subsite/Subsite/Default.aspx?nội dung = 1 ". 

Điều này cho thấy tôi hai web phần tên là "Lỗi" với một mô tả như "Lỗi" trên trang bị hỏng.  Tôi không nghĩ rằng có một nắp màn hình lúc.

Tôi gỡ bỏ chúng và có giải quyết được vấn đề.

Tôi đã nhìn thấy một câu hỏi như này đến lên trên các diễn đàn trong quá khứ và tôi đã rất hoài nghi về các áp phích khăng khăng rằng ông đã có bảo mật thiết lập đúng.  Tôi * biết * tôi có bảo mật thiết lập quyền Nụ cười  Tiếp theo thời gian, Tôi sẽ được rộng mở hơn và ít không tin.

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

XSLT và jQuery mẫu

Tôi đã làm rất nhiều của XSLT và jQuery và nghĩ rằng tôi muốn chia sẻ một vài đoạn mà những người khác có thể tìm thấy hữu ích trong tương lai.

Ví dụ 1: Phát ra đơn giản JavaScript / jQuery trong XSLT:

<XSL:trận đấu tiêu bản = "cái gì" XML:vũ trụ = "bảo vệ">

  <!– Trống trong lĩnh vực này ẩn truy vấn thân thiện bộ lọc –>
  <kiểu kịch bản = "text/javascript">
    $(tài liệu).sẵn sàng(chức năng(){
      $("#QueryFriendlyFilters").Val("rỗng");
    });
  </kịch bản>

</XSL:tiêu bản>

Mà bit phát ra một số JavaScript mà chờ đợi cho trang để hoàn tất tải (vì các $(tài liệu).sẵn sàng(…)) và sau đó bộ giá trị của một lĩnh vực ẩn tên QueryFriendlyFilters với giá trị chữ "rỗng".

Ví dụ 2: Sử dụng <XSL:Nếu> để kiểm tra "lớn hơn",  "ít hơn", vv.

<XSL:trận đấu tiêu bản = "cái gì" XML:vũ trụ = "bảo vệ">

  <div id = "fdcAllFilters">
 
    <XSL:Nếu test="@Count>0">
      <div class = "fdcFilterLabel">Hiện tại bộ lọc:</khoảng>
    </XSL:Nếu>

    <!– nhiều thứ xảy ra ở đây. –>

</XSL:tiêu bản>

Đoạn mã trên sẽ kiểm tra xem liệu một thuộc tính được đặt tên "Tin cậy" của nguyên tố "một cái gì đó" lớn hơn 0.  XML sau này sẽ là một cái gì đó như:”

<một cái gì đó Count = "5" />

Ví dụ 3: Iterate qua tất cả các yếu tố, xen jQuery cuộc gọi.

<!– Iterate qua tất cả các bộ lọc và hiển thị đúng  liên kết. –>
<XSL:cho mỗi chọn = "UserFilter">

  <một tầng lớp = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</một>

  <div class = "fdcFilterLabel"><XSL:giá trị của select="@FilterValue"/></khoảng>

  <kiểu kịch bản = "text/javascript">

    $(tài liệu).sẵn sàng(chức năng(){
        <XSL:văn bản><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:văn bản>\"<XSL:giá trị của select="@FilterValue"/>\"<XSL:văn bản><![CDATA["));]]></XSL:văn bản>
    });

  </kịch bản>

</XSL:cho mỗi>

Đoạn mã trên là phức tạp nhất và có thể có cách dễ dàng hơn để làm điều đó.

XML sau này trông gần như thế này:

<UserFilter ID = "123" FilterValue = "xyzzy" />

Đoạn này iterating thông qua <UserFilter> các nút. 

Nó lần đầu tiên phát ra một neo từ khóa đó khi nhấp invokes hàm JavaScript là đã có trên trang, "mySubmitPage" và đã vượt qua giá trị của một thuộc tính trên các <UserFilter> nút đặt tên "ID". 

Nó sau đó phát ra một số jQuery mà chờ đợi cho trang để tải.  JQuery đó Cập Nhật một lĩnh vực ẩn tên là "QueryFriendlyFilters" bằng cách thêm giá trị của thuộc tính FilterValue.  Lưu ý tất cả các điên <XSL:văn bản> và <![CDATA[ … ]]> công cụ.

Đó là nó, hy vọng nó sẽ giúp!

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

PerformancePoint và lỗi 33494

Một trong những khách hàng của tôi được gọi là ngày hôm nay khi môi trường PerformancePoint (trong SharePoint 2010) phá vỡ.  Một trong các máy chủ ứng dụng trong các trang trại được đang ở mức thấp trên không gian đĩa.  Trong khi địa chỉ đó, khách hàng gỡ cài đặt "quá nhiều" và những gì PP tất cả ngừng hoạt động.  Các bộ phận web sẽ hiển thị "một lỗi bất ngờ xảy ra. Lỗi 33494. Chi tiết bổ sung đã được đăng cho quản trị viên của bạn":

image

Tôi nhìn lên các lỗi và đã không thấy bất cứ điều gì cụ thể để "Lỗi 33494" nhưng này MSDN Diễn đàn gửi bài đã được hữu ích: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Tôi tìm thấy ADOMD.NET đây là một thành phần trong SQL Server 2008 Gói tính năng: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Click vào để phóng to)

Tôi tải về và cài đặt mà và nó cố định tất cả mọi thứ.

Tôi nghĩ rằng đây là một loại khá oddball lỗi, nhưng nếu bạn nhấn nó, bạn ít bạn có một tùy chọn.

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

Lists.asmx, GetListItems và thư mục

Tôi đã làm một số nghiên cứu cho một ai đó ngày hôm nay trên các dịch vụ web list.asmx cung cấp như một phần của SharePoint 2010 (và trước đó).  Cô đã có thể nhận được các bản ghi danh sách ở thư mục gốc (bao gồm tên của thư mục con), nhưng không thể có được các mục trong thư mục con.  Tôi đã làm một số tìm kiếm xung quanh trên internets và đó là một câu hỏi phổ biến đáng ngạc nhiên.  Được, Tôi không thể nhận được một câu trả lời tốt các câu hỏi đơn giản, "nếu tôi biết thư mục, làm thế nào để có được các mục trong thư mục?”  Để được trung thực, Tôi đã không thử tất cả những khó khăn kể từ khi tôi đã muốn con số này một ra ngày của riêng tôi trong một thời Nụ cười.

Để thiết lập, Tôi tạo ra một trang web được đặt tên "Viết blog kịch bản" và một danh sách tùy chỉnh tên "Tùy chỉnh danh sách với tiểu Folders".  Tôi sau đó tạo ra thư mục tên:

  • Năm 2005
  • Năm 2006
  • Năm 2007

Tôi thêm một vài bài vào thư mục "Năm 2006".  Đây là những gì nó trông giống như:

image

Bạn bè của tôi không phải là văn bản C# Mã nhưng thay vì sử dụng Java, Vì vậy, phong bì xà phòng là những gì cô ấy thực sự cần.  Để nhận được rằng, Tôi đã viết một chút về jQuery và sau đó sử dụng fiddler để có được cuộc trò chuyện thực tế HTTP.

Ở đây là có liên quan jQuery (Tôi sao chép mã xuống dưới đây nếu bạn muốn sao chép/dán):

image

Họ quan trọng đầu tiên là để bao gồm cả một <queryOptions> và <QueryOptions> nút.  Điều quan trọng thứ hai là các <Thư mục> nút là một URL mà khách hàng có quyền truy cập.

Có thể có những cách khác để có được điều này, nhưng điều này đã làm việc tốt cho tôi khi sử dụng jQuery.

Đây là phong bì xà phòng cho các bên trên:

<soapenv:Phong bì xmlns:soapenv =’http://schemas.xmlsoap.org/Soap/Envelope/’>                
  <soapenv:Cơ thể>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/Soap/’>
      <listName>Tùy chỉnh danh sách với tiểu thư mục</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef tên =' tiêu đề’ />
          <FieldRef tên ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Thư mục>
http://demoserver1/blog Kịch bản/danh sách tùy chỉnh danh sách với tiểu thư mục/năm 2006</Thư mục>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Cơ thể>
</soapenv:Phong bì>

Rất nhiều ví dụ và thảo luận xung quanh này dẫn tôi để tin rằng tất cả tôi cần là <QueryOptions> và chỉ ra tên thư mục.  Đối với tôi, Tôi cần cả hai quấn nó bên trong <queryOptions> cũng như chỉ định một URL đầy đủ điều kiện cho các <Thư mục> nút.

Đây là thiết lập AJAX của jQuery:

$(tài liệu).sẵn sàng(chức năng() {
       var soapEnv =
           "<soapenv:Phong bì xmlns:soapenv =’http://schemas.xmlsoap.org/Soap/Envelope/’> \
               <soapenv:Cơ thể> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/Soap/’> \
                       <listName>Tùy chỉnh danh sách với tiểu thư mục</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef tên =' tiêu đề’ /> \
                              <FieldRef tên ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Thư mục>http://demoserver1/Blogging Kịch bản/danh sách tùy chỉnh danh sách với tiểu thư mục/năm 2006</Thư mục> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Cơ thể> \
           </soapenv:Phong bì>";

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

SPD Workflow Patterns, Mẹo và thủ thuật

Tôi đã trình bày của tôi vào ngày hôm qua lúc SharePoint Fest ở Denver. Đây là PowerPoint trình bày chính nó: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

Lists.asmx, GetList và "giá trị không thể được null”

Tôi phát hiện ra ngày hôm nay rằng GetList() phương pháp trong lists.asmx Dịch vụ web đã được gọi là rất cẩn thận hoặc nó là dễ bị ném một bí ẩn "Giá trị hiện tại không thể được null" ngoại lệ (và đó giả sử bạn có thể vượt qua các thông báo lỗi chung tồi tệ hơn nữa, "Ngoại lệ của loại ' Microsoft.SharePoint.SoapServer.SoapServerException’ bị văng ra.")  Đặc biệt, Tôi thấy rằng bạn không thể cung cấp cho bất kỳ hình thức nào của tiền tố về phương pháp GetList.  Đoạn jQuery sau minh họa điểm:

image

Nếu bạn làm điều đó, Dịch vụ web đáp ứng với "Giá trị không thể được null" theo điều này Fiddler-cung cấp bảng điểm HTTP:

<?Phiên bản XML = "1.0" mã hóa = "utf-8"?>
  <xà phòng:Phong bì
     xmlns:xà phòng ="
http://schemas.xmlsoap.org/Soap/Envelope/"    
     xmlns:XSi = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:xsd ="
http://www.w3.org/ 2001/XMLSchema">

  <xà phòng:Cơ thể>
    <xà phòng:Lỗi>
      <faultcode>xà phòng:Máy chủ</faultcode>
      <faultstring>
        Các ngoại lệ của loại ' Microsoft.SharePoint.SoapServer.SoapServerException’ ném.
      </faultstring>
      <chi tiết>
        <errorstring xmlns ="
http://schemas.Microsoft.com/SharePoint/Soap/">
Giá trị không thể được null.
        </errorstring>
      </chi tiết>
    </xà phòng:Lỗi>
  </xà phòng:Cơ thể>
</xà phòng:Phong bì>

Tất nhiên, bạn có lẽ sẽ không thêm tiền tố "s0" đó ngày của riêng bạn, nhưng một số công cụ có xu hướng để làm điều đó (như Eclipse).

Điều này là khó hiểu tất cả chi tiết / bực bội vì các phương pháp khác chịu đựng tiền tố.  Ví dụ, các GetListCollection phương pháp không quan tâm nếu nó được mục, ngay cả với vô nghĩa tiền tố như "xyzzy":

image

Điều này "giá trị hiện tại không thể được null" có vẻ khá phổ biến với lists.asmx để hy vọng điều này sẽ giúp đỡ người ra trong tương lai.

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin