2016年11月24日星期四

Modern SharePoint pages and team 新闻 pages - how to query/search for them

现代页面现在位于Office 365的SharePoint工作组网站中,其中包括新的“team 新闻” facility. This 是 a simple way of creating 新闻 articles within a team site - it’s no replacement for an organization-wide intranet 新闻 facility, but it 对于团队在团队中传达新闻或其他信息很有用。虽然它’s called “news”,当然页面本身可以是任何东西–提醒团队,当前的优先事项/重点领域,政策和程序以及其他任何内容。一个关键要素是用户可以轻松地从他们的移动设备提交这些文章–特别是SharePoint移动应用。但它’只是一个页面,其中包含作者添加的文本,图像和任何其他Web部件(尽管这需要PC经验)。

I spent a little time looking 在 how all this works, and how developers and power users can query and search for such pages. Just to set the context since this 是 all shiny and new 在 the time of writing, this 是 what a display of team 新闻 looks like:

(顺便说一下,请原谅这个租户中的糟糕品牌-我用它来清楚地告诉我这是我的哪个测试租户!)

新闻页面

在组网站(即连接到Office 365组的现代网站)的上下文中,页面页眉/横幅看起来有些不同,但基本相同:

新闻页面-组

..然后放大一点“News headlines” control:

新闻头条

..或作为替代,“News list” control:

新闻列表

这两个都是新的Web部件,您可以将它们添加到现代页面中–并且由于可以将通过SharePoint框架开发的新型Web部件用于“classic” pages, it should be possible to use these new web parts everywhere. However, since 经典 pages use the old web part gallery and picker, it could be that we need to export and import one of these web parts to add them to a 经典 page.

General notes on 新闻:

  • When a 新闻 page 是 created, it gets displayed on the site *立即* 在里面“News headlines” and “News list” controls –无需等待搜索爬网
  • It’请务必点击“Add” button next to 新闻 to create a 新闻 page. Otherwise you’会得到一个现代的页面,但它赢了’t show up as 新闻 - because it 是n’t a 新闻 page. As Elio points out in What makes a page be a 新闻 page in SharePoint Online?, 新闻 pages have a field called Promoted State and the value gets set to 2. 以便 晋升国=2 是 the thing that identifies 新闻 pages
    • 请注意,这不是’不会暴露在用户界面中,因此’一旦创建页面(至少现在),就没有简便的方法(在代码/ PowerShell /工具之外)进行更新
  • Images uploaded during 新闻 page creation go into Site Assets/Site Pages/[escaped page name], like this:

     SNAGHTMLf13e9a2

以便’s a sense of how team 新闻 works in team sites. But what if you want to search/query for these pages as a developer or power-user?

Searching for modern pages and 新闻 pages

Searching for 新闻 pages

我想在这里说的主要是扩展Elio’消息,并说还有一个具有相同名称的托管属性(“PromotedState”), and so we can use search to find these pages too (e.g. if we wanted to roll-up team 新闻 from 许多 sites):

图片

..因此,对于Content Search Web部件或类似部件,我们可以在简单的查询中使用它来查找结果:

SNAGHTML16154ef2

For now it seems only 新闻 pages use this property, but it might be wise to add a filter on say, content type, in case Microsoft decide to use it elsewhere 在里面future.

其他说明:

  • 内容类型 是 the same for standard modern pages and 新闻 pages –详细信息如下:
    • ContentType(名称)=“Site Page”
    • ContentTypeId = 0x0101009D1CB255DA76424F860D91F20E6C411800D294F66E48650D4DB0D1477463DC0B51
  • 所有Web部件的数据 是 stored in one page field 在里面content type,并将其转换为搜索中的一个托管属性–详细信息如下:
    • 栏位名称=“CanvasContent1”
    • 托管财产=“CanvasContent1OWSHTML”
    • 样本数据:

      SNAGHTML16253821

因此,将所有内容都存储在一个字段中的想法可能对现代页面构成挑战。它’无法轻易查询/过滤某些内容’存储在页面中,因为数据不存在’就像我们在发布场景中通常会在内容类型上分为不同的字段(例如,向我显示新闻类别=‘Politics’). That’我想这只是权衡因素,它具有现代页面的灵活性和简化的页面编辑体验– I’我不确定Microsoft在那儿有太多选择。

The JSON response from the _api/sitespages/pages/feed endpoint (which the 新闻 headlines/news list controls use behind the scenes) looks like this:

概要

The new modern pages are here, and the "team 新闻" feature in team sites 是 one example of their use. Developers and power-users will find it useful to understand what things look like underneath, and for 新闻 pages it's the 晋升国=2 field value (and managed property) that identifies them. Thanks to Elio for pointing out the field value, and consider also the managed property which may be useful to you in search.

2016年11月1日,星期二

使用SharePoint框架进行开发时的陷阱–我在阿姆斯特丹Unity Connect上的演讲

UnityConnect几周后’我会在 Unity Connect 会议于2016年11月17日至18日在阿姆斯特丹举行。’我期待这次活动!那里有一些很棒的演讲者,例如 Waldek,Spence,Dan Holme,Scot Hillier,Marc Anderson,Neil Hodgkinson和 许多 其他,我认为现在是谈论SharePoint和Office 365的好时机–不管您使用哪一方面。当然对开发人员来说’s pretty good –我们许多人已经摆脱了使用SharePoint框架(SPFX)的最初学习经验,但是与此同时’s a 话题,那里’仍有很多东西需要学习,并且需要一些首选的方法来解决。

在我的课程中,我想传达一些在开始使用SPFX时很容易犯的错误。在编码端和包装/部署端之间,肯定有一些小陷阱–到目前为止我已经发表了一些我认为很棒的文章,但是我认为’是一个不断发展的清单,我肯定有几件事。一世’我还送了20分钟“innova”在SharePoint Framework中开发Web部件的会议。

以下是我的课程的详细信息:

使用新的SharePoint框架进行开发时避免常见的陷阱 -11月17日,星期四13:20

开始使用新的SharePoint框架可能是一个挑战。无论您是选择在阳光下使用每个JavaScript框架,还是要使事情尽可能简单,都需要学习一些合理的知识。不可避免地,您会陷入一些陷阱,并且本节讨论了常见的陷阱,以确保您快速获得生产力。从添加JavaScript库到处理异步代码,从实现TypeScript模块到处理npm,此课程都试图简化您的学习道路。

INNOVA(20分钟的课程):在SharePoint Framework中开发客户端Web部件–你需要知道的 -11月18日,星期五,11:45

在新模型中创建客户端Web部件与开发人员习惯的经典SharePoint Web部件体验非常不同。从使用Yeoman Generator创建初始文件,到在TypeScript中添加代码,然后打包以进行部署–随时都有新的东西要学习!但是新方法有巨大的优势–为使用Web部件的用户提供了更好的体验,更好的性能以及使用现代Web技术进行开发的自由。您的JavaScript代码也可以托管在任何您喜欢的位置(例如CDN),这会打开一些新选项,这些新选项在SharePoint世界中非常受欢迎。该讨论和演示会话着眼于客户端Web部件的基础知识,因此您可以快速开始这个重要的开发人员主题。

此次会议

反正那里’如果您仍然有时间注册会议,’重新感兴趣。查看时段和价格(€699), I think it’亲自讨价还价。去 //www.unityconnect.com/2016/Registration 了解更多