카테고리 아카이브: SharePoint 온라인

흥미로운 발표를 악한

정말 내 일이 아닙니다 공지 사항 만들기, 하지만 이번이에, 정말 정말 그냥 시작 회전 빅 애플 SharePoint 사이트에 대 한 흥분. 

회전 컨설팅에서 근무 하 고 포털을 관리 & 협업 연습입니다.  빅 애플 사이트는 여기 뉴욕에 내 연습에 대 한 "내" 사이트가입니다.  이들 중 하나 싶었습니다 긴 했습니다.. 나는 확실히 많은 SP 프로 유사한 무언가 대 한 달라고.  몇 번 이나 우리가 우리 자신의 회사의 공개 사이트에서 봤어요, 고객 중 하나 또는 그것을 밖으로 알고 그냥 건물 고 그들이 SP에 그것을 만들 것 이라고 볼 수?  우리 모두 SP는 이런이 종류의 일에 꽤 잘 알으십시오, 하지만 그것은 매우 일반적입니다. 

음, 마지막으로-나를 위해 바로 정렬 세계 SP 온라인 정말 저렴 하다, 바로 팀과 실제로 그것을 할 시간이 충분 했다.

그것은 시작에 도착 하는 놀라운 여행을 하 고 그 중 일부는 거기 사이트에 공유 하 고.

여기에 대 한 모든 읽기 및 그것의 뒤에 세부 사항에 관심이 있다면, 난 그것에 대해 얘기 보다 더 행복 해요.

여기에 공식 발표 링크가입니다.: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=82 #O365

</끝>

HOWTO: 사무실에 대 한 QUnit.js 및 Blanket.js 단위 테스트 및 테스트 범위 구성 365 SharePoint 응용 프로그램

소개

단위 테스트 탐험 했습니다 하 고 SharePoint 온라인 사무실에 대 한 새로운 SharePoint 응용 프로그램에 작업으로 자바 스크립트에 대 한 범위를 테스트 365 스위트입니다.  명백한 연구 경로를 알려준 Qunit.js 그리고 그 후 바로, 받는 사람 Blanket.js.

QUnit을 사용 하자 단위 테스트를 설정 하 고 모듈에 그룹화 수 있습니다.  모듈은 관련된 테스트를 구성 하는 간단한 방법. (의도 한 대로 그것을 사용 오전 확실 하지, 하지만 작동 나를 위해 지금까지 지금까지 정의한 테스트의 작은 세트).

Blanket.js Qunit 통합 하 고 그것은 내게 실제 줄의 JavaScript 했다-그리고 더 중요 한 것은-하지 실제로 실행 된 테스트를 실행 하는 동안 표시 됩니다.  이것은 "범위"-다른 하는 동안 실행 라인 테스트에 의해 보호 됩니다..

좋은 테스트 사례를 설정 하 고 범위 보기 사이, 우리가 우리의 코드 결함 숨겨진 위험을 줄일 수 있습니다.  좋은 시간.

Qunit

Visual Studio를가지고 가정 프로젝트 설정, 자바 패키지를 다운로드 하 여 시작 http://qunitjs.com.  솔루션에 해당 CSS와 자바 스크립트를 추가 합니다.  이런 내 모습:

image

그림 1

당신이 볼 수 있습니다, 사용 하 던 1.13.0 당시 나는이 블로그 게시물을 작성. 다운로드 CSS 파일에 추가 하는 것을 잊지 마세요.

하는 방법, 다음 단계는 테스트 프로그램의 어떤 종류를 만들고 Qunit 비트 참조.  난 라는 "QuizUtil_test.html"와 같이 HTML 페이지를 만들어 "QuizUtil.js" 라는 스크립트 파일에 잔뜩 기능 테스트:

image 그림 2

다음은 코드:

<!문서 종류 html>
<html xmlns"http =://www.w3.org/ 1999/xhtml">
<머리>
    <제목>Qunit QuizUtil 테스트</제목>
    <링크 확인해"스타일 시트 =" href="../CSS/qunit-1.13.0.css" />
    <스크립트 유형= "텍스트/자바 스크립트" src="QuizUtil.js" 데이터 커버></스크립트>
    <스크립트 유형 ="텍스트/자바 스크립트" src ="qunit-1.13.0.js"></스크립트>
    <스크립트 유형 ="텍스트/자바 스크립트" src ="blanket.min.js"></스크립트>

    <스크립트>
        모듈("getIDFromLookup");
        테스트("QuizUtil getIDFromLookupField", 함수 () {
            var goodValue = "1;#폴 Galvin";

            동등한(getIDFromLookupField(goodValue) + 1, 2), "ID의 [" + goodValue + "] + 1 2 해야 합니다.";
            동등한(getIDFromLookupField(정의 되지 않음), 정의 되지 않음, "정의 되지 않은 입력된 인수가 정의 되지 않은 결과 반환 해야 합니다.");
            동등한(getIDFromLookupField(""), 정의 되지 않음, "빈 입력된 인수를 정의 되지 않은 값을 반환 해야 합니다.");
            동등한(getIDFromLookupField("gobbledigood3-thq;dkvn 이다;skfja sdjfbvubvqrubqer0873407t534piutheqw;vn"), 정의 되지 않음,"항상 반환 해야 결과 컨버터블을 정수로");
            동등한(getIDFromLookupField("2;#일부 다른 사람"), "2", "검사 [2;#일부 다른 사람].");
            동등한(getIDFromLookupField("9834524;#long 값"), "9834524", "큰 값 테스트입니다.");
            notEqual(getIDFromLookupField("5;#누구 든 지", 6), 6, "테스트는 notEqual (5 같지 6 이 샘플에 대 한: [5;#누구 든 지]");

        });

        모듈("htmlEscape");
        테스트("QuizUtil htmlEscape()", 함수 () {
            동등한(htmlEscape("<"), "&lt;", "이스케이프 연산자 보다 덜 ('<')");
            동등한(htmlEscape("<사업부 클래스 =  "someclass">일부 텍스트</div>"), "&lt;사업부 클래스 =&quot;someclass&quot;&gt는;일부 텍스트&lt;/div&gt는;", "더 복잡 한 테스트 문자열입니다.");
        });

        모듈("getDateAsCaml");
        테스트("QuizUtil getDateAsCaml()", 함수 () {
            동등한(getDateAsCaml(새로운 내용 날짜("12/31/2013")), "2013 12 31T:00:00:00", "테스트 하드 코딩 된 날짜: [12/31/2013]");
            동등한(getDateAsCaml(새로운 내용 날짜("01/05/2014")), "2014-01-05T:00:00:00", "테스트 하드 코딩 된 날짜: [01/05/2014]");
            동등한(getDateAsCaml(새로운 내용 날짜("01/31/2014")), "2014-01-31T:00:00:00", "테스트 하드 코딩 된 날짜: [01/31/2014]");
            동등한(getTodayAsCaml(), getDateAsCaml(새로운 내용 날짜()), "getTodayAsCaml() getDateAsCaml 동일 해야 합니다.(새 날짜())");
            동등한(getDateAsCaml("말도 값"), 정의 되지 않음, "넌센스 값의 날짜를 보십시오.");
            동등한(getDateAsCaml(정의 되지 않음), 정의 되지 않음, "의 날짜를 얻는 것을 시도 [정의 되지 않음] 날짜입니다.");
        });

        모듈("getParameterByName");
        테스트("QuizUtil getParameterByName (쿼리 문자열에서)", 함수 () {
            동등한(getParameterByName(정의 되지 않음), 정의 되지 않음, "얻는 것을 시도 정의 되지 않은 매개 변수는 정의 되지 않은 반환 해야 합니다.");
            동등한(getParameterByName("존재 하지 않습니다."), 정의 되지 않음, "우리가 알고 매개 변수가 존재 하지 않는 매개 변수 값을 좀 하려고 합니다.");

        });

        모듈("쿠키");
        테스트("QuizUtil 다양 한 쿠키 기능.", 함수 () {
            동등한(setCookie("테스트", "1", -1), getCookieValue("테스트"), "가져오기 설정 쿠키 작동 합니다.");
            동등한(setCookie("anycookie", "1", -1), true, "유효한 요리 설정 반환 해야 '사실'.");
            동등한(setCookie("미친 쿠키 이름 !@#$%"%\^&*(()?/><.,", "1", -1), true, "나쁜 쿠키 이름 설정 false를 반환 합니다 ''.");
            동등한(setCookie(정의 되지 않음, "1", -1), 정의 되지 않음, "쿠키 이름으로 정의 되지 않은 전달.");
            동등한(getCookieValue("존재 하지 않습니다."), "", "쿠키 테스트를 존재 하지 않습니다.");
        });

    </스크립트>
</머리>
<바디>
    <div id"qunit ="></div>
    <div id= "qunit 조명 기구"></div>

</바디>
</html>

여기 일어나 고 몇 가지:

  1. 내 코드 참조 (QuizUtil.js)
  2. Qunity.js 참조
  3. 일부 모듈 정의 (getIDFromLookup, 쿠키, 그리고 다른)
  4. 배치는 <div> ID가 "qunit".

다음, 그냥이 페이지를 당겨 하 고 당신이 이것 같은 것을 얻을합니다:

image

그림 3

위쪽에 보시 면, 몇 가지 옵션이 있습니다., 두 번째는 재미 있습니다:

  • 테스트를 통과 하는 숨기기: 꽤 분명 합니다.  문제 영역 및 불 요 반사 파의 많은 하지 그냥 볼 눈을 도울 수 있다.
  • 모듈: (드롭 다운): 이 테스트를 해당 그룹으로 테스트를 필터링 합니다..

테스트 스스로 – 몇 가지 의견 서:

  • 그것은 그것을 테스트할 수 처음에 코드를 작성 해야 한다는 말도 없이 간다.  그 규율을 적용 도울 수 있는 도구를 사용 하 여. 예를 들어, "GetTodayAsCaml 라는 함수를 했다()”.  이러면 아주 쓸만한 입력된 인수 걸리기 때문에 평등에 대 한 테스트를 하 고, 우리가 지속적으로 현재 날짜를 반영 하기 위해 테스트 코드를 업데이트 해야 합니다.  나는 데이터 입력된 매개 변수를 추가한 다음 CAML 형식으로 오늘 날짜를 원하는 경우 현재 날짜를 전달 리팩터링.
  • Qunit 프레임 워크 문서 자체 테스트 하 고 꽤 강력한 것 같습니다.  그것은 일치 여부를 테스트 같은 간단한 것 들을 할 수 있으며 ajax 스타일 호출에 대 한 지원 ("진짜" 또는 당신의 가장 좋아하는 mocker를 사용 하 여 모의).
  • -"정의 되지 않은"와 어떻게 지 사례를 통해 생각 하는 세력 또한 과정을 통과 또는 null 함수에 전달 됩니다.  그것은 죽은 간단 하 게 밖으로 이러한 시나리오를 테스트 합니다.  좋은 물건.

Blanket.js 범위

Blanket.js는 테스트 실행의 과정에서 실행 하는 코드의 실제 라인을 추적 하 여 Qunit을 보완 합니다.  그것은 통합 오른쪽 Qunit 그렇게 하더라도 그것은 완전히 별도 응용 프로그램, 그것은 정중 하 게 재생-정말 마치 그것은 하나의 완벽 한 애플 리 케이 션.

이것은 행동에 blanket.js:

image 그림 4

image

그림 5

(실제로 맨 "범위 사용" 확인란을 클릭 해야 [그림 참조 3] 이 수 있도록.)

그림에서 강조 표시 된 라인 5 내 테스트에 의해 실행 되지 않 았, 그래서 전체 범위를 원한다 면 실행 하도록 발생할 않는 테스트를 고안 해야.

다음이 단계에 따라 작업 하는 blanket.js를 얻을:

  1. 다운로드 http://blanketjs.org/.
  2. 프로젝트에 추가
  3. 테스트 프로그램 페이지 업데이트 (내 경우에는 QuizUtil_test.html) 다음과 같이:
    1. 참조 코드
    2. 장식 귀하 <스크립트> 이 같은 참조:
    <스크립트 유형= "텍스트/자바 스크립트" src="QuizUtil.js" 데이터 커버></스크립트>

Blanket.js "데이터-커버" 특성을 줍 고 그것의 마술을 않습니다.  Qunit에 후크, "범위 사용" 옵션 추가 UI 업데이트 봐라!

요약 (TL; 박사)

Qunit을 사용 하 여 테스트 사례를 작성.

  • 그것을 다운로드합니다
  • 프로젝트에 추가
  • 테스트 프로그램 페이지 작성
  • 테스트 만들기
    • 일부 쓸만한 수 코드 리팩터링
    • 창의력을 발휘해!  미친 생각, 불가능 한 시나리오 고 어쨌든 테스트.

Blanket.js를 사용 하 여 범위를 확인

  • Qunit 작동 하는지 확인
  • Blanket.js를 다운로드 하 고 프로젝트에 추가
  • 테스트 프로그램 페이지 추가:
    • Blanket.js에 대 한 참조 추가
    • "데이터-커버" 특성을 추가 여 <스크립트> 태그
  • Qunit 테스트 실행.

난 결코 전에 이런 한 초보적인 물건 시간의 소수에서 근무 했다. 

행복 한 테스트!

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

BPOS 2010 그리고 "상위 집합”

중 하나를 읽 었 BPOS에이 꽤 일반적인 ㅋ ㅋ 같은 기사 (Microsoft의 exchange 및 SharePoint 구름에) 그리고 끝에 다행히 통해 waded:

다른 단기적 결과물 면에서, Ms는 BPOS v.Next 네이티브 PowerShell 스크립팅 PowerShell 버전에 PowerShell 끝점 빌드를 통해 제공 하는 저지르고 2. 온라인 Id를 통해 인증을 할 수, 단일 자격 증명으로 PowerShell와 포털에 사용할 수 있게 되 고.킨 에코 메시지 다른 Microsoft 경영진이 되었습니다 표명 TechEd에서 이번 주: 클라우드 기능, 시간이 지남에 따라, 것입니다  사용할 수 있는 온-프레미스의 상위 집합 되. 현재, 반전은 진실, 그리고 각 제품의 해당 하는 소프트웨어에서에서 사용할 수 있는 기능의 하위 집합을 제공 하는 마이크로소프트의 온라인 서비스.

구름에 전제 보다 더 많은 기능을 제공할 것입니다 개념은 나에 게 새로운. 나는 얼마나 진실한 그 마지막에 될 것입니다 궁금 하다.  그것은 나에 게 어 긋 느낀다.  난 완전히 많은 기업의 클라우드로 물건을 이동 것 이다 아이디어를 얻을 (또는 구름에서 시작) 일반적으로 하기 때문에 그들은 그것을 할 생각 하지만 프로 (쉽게 관리, Sla, 등) 지금까지 단점을 보다 큽니다 (기능 제한). 

나는 클라우드 오퍼링에 prem 기능을 초과할 것 이다 힘든 시간을 믿음의 약간을가지고 있다.  멀티 테 넌 트 하드와 같아 좋은 SLA 및 사용의 용이성을 제공 하기 위하여 타협을 강제 해야...

나는 아마 내 말이 먹고 있을 거 야.  난 아무도 필요 가능 하 게 수 생각 했던 기억이 더 이상 650 데이터의 mb 때문, CD 향상 시킬 려 하지.

</끝>

내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

온라인 Sharepoint와 InfoPath

이 실현 하기 위해 마지막 사람을 수 있습니다., 하지만 SharePoint 온라인 (종종 사람들이 말을 듣고는 명예로운된 WSS) InfoPath Forms Services를 지원합니다.  그것은 아주 강력한 물건 이다., 특히 IP FS는 MOSS 엔터프라이즈 기능 및 BPOS는 1.99 $/ 월에 대 한 같은 것을 고려 10,000 사용자 가입니다.  어쩌면 그것은 그것 보다 조금 더.

그래서, SharePoint Online 아무리 쉬운 정의.  그것은이 기업 특징, 하지만 익명 액세스 (심지어는 WSS 지원).  검색을 몇 가지 흥미로운 것 들을 할 수 있습니다 (MOSS-ish, 사이트 수준 범위를 정의할 수 있기 때문), 그러나 SSP에 액세스 해야 하는 경우, 당신이 그것을 할 수 없습니다.  You can play the “on the one hand and on the other” game all night long with this product 🙂

Microsoft는 향후 몇 개월에 SP 온라인의 새로운 버전을 출시 예정 이다.  궁금 그것은 있을 거 야 어떤 이상한 하이브리드?

</끝>

내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin