对于角指令的故障排除提示 (或, 学会爱连字符)

我有几个应用程序,使 $http.get() 电话和我想要成为能够与丑陋的错误详细信息隐藏显示格式化的错误消息, 但访问。  基本上, 这:

image

然后如果用户点击错误, 他们看到更多的信息:

image

简单的东西。  因为同样的潜在错误可以出现在行政屏幕,以及最终用户屏幕, 它清楚地叫自定义角指令。  我  发现了这个 优秀的系列 文章 (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) 由伟大 丹 Wahlin.  听从他的建议, 我很快创建了 <你好世界> 指令,来到我更复杂的错误显示刮板. 我跑进一点麻烦用这个更复杂的指令。  快乐, 偶然的排序, 我已经告诉 WebStorm (我用这些天的编辑器) JS 文件是一个角的文件,它帮助我弄清楚这个问题。  这是指令本身的代码:

angular.module(""CDLApp).指令(""generalCdlErrorHandler, 功能() {

返回 {
限制: "E",
替换: true,

范围: {
retrieveLastConfigurationError: "&"
},

模板:
'<div 类 ="警戒警报危险" 角色 ="警报" 吴 init ="doShowExpandedErrorDetails = true" 吴秀 ="retrieveLastConfigurationError()">' +
' 没有输入/输出错误或其他错误. 这通常是因为配置数据文件不能 ' +
' 发现或配置文件中包含不准确的信息 (如引用文档库 ' +
' 不存在).' +
' <br />' +
' <div 吴秀 ="doShowExpandedErrorDetails">' +
' <href ="#" 吴单击 ="doShowExpandedErrorDetails = ! "doShowExpandedErrorDetails>' +
单击此处以隐藏详细信息。 +
' </一>: ' +
' <br />' +
' <上一页>{{retrieveLastConfigurationError() | json}}</上一页>' +
' <br />' +
' </div>' +
' <div 吴秀 ="!"doShowExpandedErrorDetails>' +
' <href ="#" 吴单击 ="doShowExpandedErrorDetails = ! "doShowExpandedErrorDetails>' +
单击这里可以展开错误详细信息。 +
' </一>' +
' </div>' +
'</div>'
};
});

基本上, 我创建了一个新的元素被称为"generalCdlErrorHandler"。  它需要调用 retrieveLastConfigurationError 函数访问,这处理的范围对象中。  我大概可以用父范围, 但我感觉这懒惰。  如果有人认为我应该这样做, 我很乐意听到关于它的评论.

这是一切都好, 但我没有得到任何东西。  没有错误弹出在控制台中 (至少一次,我修好了我创建了沿途的所有 sx 错误).  我只是没得到任何输出指令。  又添加了一些静态文本吴秀指令然后 * 做 * 明白. 这让我觉得或许该指令不允许隐式地创建新的 var,像"doShowExpandedErrorDetails"或有"吴 init"在那里。 

我走进 html 代码,看看是否我有一种类型,这一次 WebStorm 为我排忧解难。  像这样的 retrieveLastConfigurationError 函数中过:

<一般 cdl 错误处理程序 retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</一般 cdl 错误处理程序>

但它真的需要拥有这一切:

<一般 cdl 错误处理程序检索最后一个配置错误 ="CDLController.retrieveLastConfigurationError()">
</一般 cdl 错误处理程序>

WebStorm 很聪明,知道它将要断字。  如果它没有提供暗示, 我将可能会仍然来进行故障排除 微笑.  有趣的时代!

诀窍就是这: 不仅是指导元素名称用连字符连接, 因此,是你向它添加任何属性。  我有一次添加连字符, 这一切工作得非常棒。  丹的教程碰巧使用单一的短名称, 没有使连接.

希望这有助于人.

</结束>

undefined订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

IE9 真的不喜欢你走个捷径与你 <大跨度> 标签

我已经染上坏习惯使用 Chrome 所有的时间。  因为我开发的东西真的需要在很多其他 web 浏览器上运行的是"坏", 包括, 可悲的是 IE8。  我工作用的笔记本电脑有 IE9 标准不管出于什么原因) 和我只做一个快速检查以看看什么东西看上去像......它不漂亮。  例如:

image

它具有 * 应该 *,看起来像这样:

image

 

它不仅是关闭, 但我单击事件并没有发射。  (其中绝大多数是, 不管怎么说).

以可视方式, 看起来事情开始去铁轨附近的"高级设置"链接。  我挖成 HTML 的那一部分,发现了这条线:

<跨类 ="glyphicon glyphicon-新-窗口"/>

这似乎是允许的语法 ("Chrome 版本 40.02214.94 m"是好). 我走了,无论如何改变它, 如图所示:

<跨类 ="glyphicon glyphicon-新-窗口"></大跨度>

这样就好了.

这种小小的小东西造成这种巨大的混乱的一个屏幕。  有趣的时代.

这碰巧是一种快速修复, 但它也是那种只是获取你的脊柱没有对齐,当你看到它的事情。  有超过 500 行的 HTML 在这小小的管理员功能,你只是不想发现自己挖当中那些杂草, 过 微笑.

</结束>

undefined订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

HTTP 406 使用角 $http.get 针对 SharePoint 休息结束点时的错误

更新: 马克 AD ndersson 指出信息这个伟大的作品: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. 这也解释了很多 :).

这可能是最糟糕的一篇博客文章标题过! 安美居.

我通常做所有我针对 O365 实例的原型. 我有我个人的实例,所以,我不需要担心影响别人. 顺便说一句 — — 记得当我们称之为进行虚拟机周围长满了苔藓 — — 我们笔记本电脑上 SQL Server, IIS, 决定 HYPER-V vs. VMWare? 安美居......

已经开发了一个应用程序,在这种环境不使用角, 除其他外, 这:

$http.get(serverUrl)
.成功(功能(数据, 状态, 标题, 配置) {

var getLinksResponse = 数据;

getLinksResponse.value.forEach(功能(结果) {

// 和这么泡沫

这两种不同 SharePoint 在线环境中工作正常. 不过, 当我的同事将其移植到一个 Cloudshare 实例时, 他正 HTTP 406 错误 (其中第一次我收到过那个, 所以...耶, 我想). 我们做了一些研究,发现"接受"标题关闭. SharePoint 在线感到满意:

接受: 应用程序/json

但 cloudshare 实例 (即 SP prem, 在虚拟服务器中承载) 想要经典"odata = 详细"以及在中添加:

接受: 应用程序/json;odata = 详细

要解决这个问题, 我们添加了这样的标题:

var config = {标题: {
接受: 应用程序/json;odata = 详细 '
}
};

$http.get(serverUrl,配置)
.成功(功能(数据, 状态, 标题, 配置) {

var getLinksResponse = 数据;

getLinksResponse.value.forEach(功能(结果) {

// 和这么泡沫

那摆脱 406, 但它也改变了响应的格式. 它是更多......详细. (哈哈!) 需要更多的变化,这里是最后的结果:

var config = {标题: {
接受: 应用程序/json;odata = 详细 '
}
};

$http.get(serverUrl,配置)
.成功(功能(数据, 状态, 标题, 配置) {

var getLinksResponse = 数据;

getLinksResponse.d.results.forEach(功能(结果) {

// 和这么泡沫

这只变成 30 我们的小问题, 所以我们很幸运. 希望有人发现这很有用.

</结束>

操作方法: 启用在同一页的多个角的 SharePoint Web 部件。

这个博客帖子描述了你如何可以有多个 Angular.js 基于 SharePoint web 部件 (内容编辑器 web 部件通过引用) 在同一页上. 我打电话内容编辑器 web 部件 (CEWP) 引用 JavaScript 使用 Angular.js 框架"角的 Web 部件"。

角的自举过程是超级容易,只是大约每个示例,您在互联网找到了这样的事情:

<html 吴 app = 'myApp'>

<布拉赫 /><布拉赫 /><布拉赫 />

</html>

这打破了, 然而, 如果您想要启用多个 CEWP 代表在同一页的多个角的 web 部件。. 角将只能自动引导反对第一的吴 app 指令它发现 – 至少版本为角 1.3.6. 解决方案非常简单 — — 那就是手动引导代码相反. 上述现在更改为这样的事情:

<正文>
<d
四、 id =”bootstrapHere” 吴控制器 =”作为 theController myController”>
<布拉赫 /><布拉赫 /><布拉赫 />
</div>
</正文>

<脚本 src =”//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js”></脚本>

<脚本>
angular.bootstrap(angular.element(document.getElementById(“bootstrapHere”)),['' myApp]);
</脚本>

基本上, 而不是使用吴 app 在元素上,要做你的引导, 你拍到该元素的 ID. 然后, 使用引导() 上角的方法本身来控制自举过程在运行时. 这已经进行同一页上的三个不同的角 web 部件和它的作品的魅力.

</结束>

undefined订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

新泽西州机动车委员会需要另一个受害者

所以, 我的儿子是有点逾期获得他的驾驶证。  昨天, 在中期的早晨, 他卡车到奥克兰 NJ 自己得到它。  他到达那里, 填写他的文书工作稿印的许可证,并学会了他现在必须去 另一种 MVC 位置采取他眼睛测试。  因为, 显然, 高度熟练的眼测试人员不只是生活在任何地方, 所以 NJ MVC 需要去人才所在。  或, 也许是因为它们遵循一种整合的哈密顿算符哲学?  就像汉密尔顿感到金融和制造业巩固了共和国未来的经济力量的关键, 也许 NJ MVC 感觉他们需要巩固眼测试未来的 NJ MVC 力量的天赋?  也许它是计划的不可言喻的一部分?  唉, 我有只此主题上没有答案的问题。 

以下奥克兰的建议, 妻子和儿子卡车到洛, 新泽西州与洛印许可证。  洛迪可能有坏停泊的 NJ MVC 的任何位置。  和, 因为他们还举办一些稀缺尚未高度垂涎眼测试机和眼测试专业人员, 他们吸引形形色色的求助者, 色调, 教育和 gawkers。  我儿子工作他穿过迷宫的线路和方向由"never-look-them-in-the-eye"NJ MVC 专业人员提供的方式,终于到达检测线的眼睛。  他们现在学习到奥克兰人无印许可证上犯了一个错误。  他误键控社会安全号码, 把"8"代替"2"的数字中的一个。  NJ DMV 人知道这是因为当她拉起那错了串行计算机中, 它没有表现出我的儿子的名字。  妻子和儿子说, "哦, 这就是拨错号码, "你需要 '2' 那里而不是 '8'。  什么多, 或许每一个公平的志同道合的人会期望在这一点上,NJ MVC 人简单地更正号码是他们刚刚进入计算机。  医管局! 傻瓜!  无, 相反他被要求提供他的社会安全卡。  让我们暂时离开一下话题,而考虑,以放在第一位拿到无印的许可, 他已经提供了一本美国护照,以及新泽西出生证和在他家的地址给他写封信。   他的母亲是他, 分享他的名字, 他的地址, 他的身高 (但遗憾的是, 不是他在科幻电影中的味道) ......你的名字, 我的儿子是井和真正确定为长期居住的生活为这些美国,事实上, 新泽西本身以任何标准衡量,你可以想象。  如果 NJ MVC 的人会有简单地固定的错误,奥克兰人作出, 计算机会拔出了我儿子的信息,这将是故事的结局。  但是再说一遍, 傻瓜!  他们做不到. 相反, NJ MVC 现在坚持社会保障卡。 

所以, 妻子和儿子去回家去拿它和返回.  在结束了, 他得到他的许可.

那是一天中的三个截然不同的旅行到新泽西州 MVC。  要得到他的许可。  花了将近 6 营业时间从开始到结束。  这是我的儿子在花园之州驾驶介绍.

NJ MVC 是明显已破碎。 

</结束>

角未能在 IE9 中引导

我已经一直在玩 Angular.js 为最后一次长时,我的生活, 我不能我角的应用程序,在 IE9 推出。  他们都在 IE11 中工作正常,但是 IE9 将只显示大括号和类似的位.

我到处寻找,找不到任何人抱怨他的问题。  它在 Chrome 中工作正常, IE11, 只是没有 IE9.

是引发 IE 控制台给了我这样的错误的事实:

SEC7111: HTTPS 安全受到水库://ieframe.dll/forbidframing.htm

这一错误都迫使我思考没有下载的角一些问题,或者我需要其他库。  事实证明, 这并不是问题.

撬拨左右互联网, 我终于发现搜索所需的短语是"引导",似乎像失败的引导。  在结束, 我的问题是我装饰过我 <html> 标记与吴应用程序属性, 如在:

<html 吴 app ="MatrixApp">

井, 那不适合 IE9。  相反, 我裹在 HTML 中的其他一切 <正文> 里面一个 div 和引用 MatrixApp 那种方式.

解决问题.

希望这会节省某人一些悲伤.

</结束>

创建自定义 SharePoint 表单没有母版页

我的同事, 劳伦 · 琼斯, 如何创建一个自定义的数据输入窗体使用 SharePoint 设计器上,写下了一个很好的演练。  这不正是"新阳光"下却有点扭曲。  用她的话说:

创建自定义窗体是笔直向前做在 SharePoint 设计器中, 导航到您的列表和在功能区菜单中选择列表窗体’ 和创建新表单模板.

这个工程很好如果你想要您的窗体附加到你的母版页, 但如果你有的用例的创建一个窗体,在弹出的窗口中是还是独立无 SharePoint 铬. 我已经确切地这个使用案例, 我想要向自定义样式的窗体,然后在弹出 div 内嵌在一页内使用该窗体.

不要绝望, 有办法做到这一点不是那么直观但相当容易完成.

你可以阅读所有的细节在这里: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=55&rtitle=customforms&rsrouce=pgblog 你可以看到它在行动中通过单击上任何一项服务在我们的大苹果 SharePoint 网站服务页上的"更多的信息请与我们联系"链接 (http://www.bigapplesharepoint.com/services).

劳伦写很多很好的东西在用户体验和品牌宣传。  你可以看到更多的在这里写在这里: http://www.bigapplesharepoint.com/team?showExpertName=Lauren%20Jones.

</结束>

令人分心的设计和功能 Coolaid 上的喝醉了

我的同事, 劳伦 · 琼斯 (https://twitter.com/laurenjones02) 写了一篇短的文章,讲如何过于复杂的 SP 部署是对最终用户很难。  它是某种明显, 在一种方式, 但它是容易的我说过我已经多年精心策划了很多复杂的事情向毫无准备的最终用户部署.

这里是关键 ' 图:

五年前, 当我给一个组织为主要目标的第一次成为合作平台和替换共享驱动器的推出了 SharePoint 时候, 我们还介绍了社会和通过 RSS 新闻, 我的网站和配置文件, 和大众分类法标记。. 更不用说, 这是很多最终用户采取一举. 虽然没有成功通过周围的文档管理和配置文件, RSS 和标记是不太成功,这是真的由于变化管理沟通和培训. 我们不能一次全部做它. 考虑少是更多的方法和分阶段释放功能会更便于最终用户能够接受和适应.

想起另一位我所读的这篇文章 克里斯 · 盖尔 有关 Yammer 的功能集, “一个造价工程师和产品经理不考虑.”

如果你有一个恐怖故事或者成功故事来分享, 我希望你会这样做在评论中大苹果网站上.

</结束>

每周综述 – 7 月 13, 2014

我公司为到 xpost 这里过去周末。 

这里是 3rd 在我写的博客和在线的文章,在过去的一周左右,特别是我感兴趣的一系列文章。  这周的条目在系列中突出了两个 CodePlex 项目潜在的 InfoPath 更换并负责管理与 SharePoint 的权限, 关于卫星新闻, 然而另一个 JavaScript 框架和 Ada 巴贝奇和她的角色在计算历史点头.

这里你可以阅读它: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=93&rsource=pgblog&rtitle=roundup

</结束>

在真正的时间与 ULS 查看器查看 CAML 查询

我的同事, Ashsih · 帕特尔, 写了一个很好的演练描述如何看到背后各种 SP CAML 查询可发生在经营过程中实时使用 ULS 查看器.

这里是介绍:

你曾经想要知道什么 CAML 查询都由 SharePoint 服务器执行吗?

井, 故障排除和学习目的, 它不是一个糟糕的主意. 毕竟, SQL 事件探查器一直在帮助我们解决很多问题.

可能有的产品,但我想出一个办法来做到不用花额外的钱! 它在这儿......

您可以阅读整件事情在这里: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=68&rsource=pgblog&rtitle=caml.

</结束>