Suplementos do SharePointSharePoint Add-ins

H? dois tipos b?sicos de Suplementos do SharePoint: hospedados pelo SharePoint e hospedados pelo provedor.There are two basic kinds of SharePoint Add-ins: SharePoint-hosted and provider-hosted. Para tomar a melhor decis?o sobre o tipo a ser desenvolvido para o seu cen?rio, aprenda o que os dois tipos de Suplemento do SharePoint t?m em comum.To make the best decision about the right kind to develop for your scenario, start by learning what both types of SharePoint Add-ins have in common.

Observação

Um aplicativo de dispositivo, como um aplicativo m?vel, n?o ? realmente um "Suplemento do SharePoint" mesmo quando ele acessa o SharePoint.A device app, such as mobile app, isn't really a "SharePoint Add-in" even when it accesses SharePoint. O mesmo vale para um aplicativo Web iniciado de fora do SharePoint.The same is true of a web application that is launched from outside of SharePoint. Se quiser desenvolver aplicativos desses tipos, confira Acessar o SharePoint de aplicativos m?veis e nativos de dispositivo.If you want to develop any of these kinds of apps, see Access SharePoint from mobile and native device apps.

  • Um Suplemento do SharePoint ? uma funcionalidade autocontida que estende os recursos de sites do SharePoint para resolver problemas de neg?cios bem definidos.A SharePoint Add-in is a self-contained piece of functionality that extends the capabilities of SharePoint websites to solve a well-defined business problem.

  • Suplementos n?o t?m um c?digo personalizado que ? executado em servidores do SharePoint.Add-ins don't have custom code that runs on SharePoint servers. Em vez disso, toda a l?gica personalizada ? movida "para cima" na nuvem, "para baixo" nos computadores clientes ou "por cima" para um servidor local fora do farm do SharePoint ou da assinatura do SharePoint Online.Instead, all custom logic moves "up" to the cloud, or "down" to client computers, or "over" to an on-premises server that is outside the SharePoint farm or SharePoint Online subscription. Manter o c?digo personalizado fora dos servidores do SharePoint fornece uma garantia para os administradores do SharePoint de que o suplemento n?o pode danificar seus servidores ou reduzir o desempenho de seus sites do SharePoint Online.Keeping custom code off SharePoint servers provides reassurance to SharePoint administrators that the add-in can't harm their servers or reduce the performance of their SharePoint Online websites.

  • A l?gica de neg?cios em um Suplemento do SharePoint pode acessar dados do SharePoint por meio de uma das v?rias APIs cliente inclu?das no SharePoint. A API que voc? vai usar para o seu suplemento depende de determinadas decis?es de design tomadas.Business logic in a SharePoint Add-in can access SharePoint data through one of the several client APIs included in SharePoint. Which API you use for your add-in depends on certain other design decisions you make.

  • Quase todos os principais tipos de componentes do SharePoint podem fazer parte de um Suplemento do SharePoint, incluindo p?ginas, listas, fluxos de trabalho, tipos de conte?do personalizado, modelos de lista, web parts e mais.Almost all major types of SharePoint components can be part of a SharePoint Add-in, including pages, lists, workflows, custom content types, list templates, Web Parts, and more.

  • Os sites do SharePoint onde os Suplementos do SharePoint s?o instalados e dos quais os usu?rios os iniciar?o s?o chamados de hosts da Web.The SharePoint websites where SharePoint Add-ins are installed, and from which users launch them, are called host webs. Os componentes do SharePoint, no entanto, geralmente se encontram em uma Web filha especial do host da Web, chamada de suplemento da Web.The SharePoint components, however, are generally in a special child web of the host web called the add-in web.

  • Os Suplementos do SharePoint podem se ajustar a um site do SharePoint de diversas maneiras:SharePoint Add-ins can fit into a SharePoint website in several ways:

    Experi?ncia imersiva de p?gina inteira do aplicativo SharePoint Como uma experi?ncia de p?gina inteira imersiva que pode ter a apar?ncia de uma p?gina do SharePoint.As an immersive full-page experience that can have the look and feel of a SharePoint page.
    Experi?ncia de parte do aplicativo do SharePoint Como parte de uma p?gina da Web, o uso de um tipo especial de controle, chamado parte do suplemento, para utilizar umAs part of a webpage, using a special kind of control called an add-in part, to surface an
    elemento iframe que cont?m o suplemento.iframe element that contains the add-in.
    Experi?ncia de a??o personalizada do aplicativo SharePoint Como comandos da interface do usu?rio que estendem faixas de op??es e menus para listas, documentos e mais.As UI commands that extend ribbons and menus for lists, documents, and more.
  • Todos os Suplementos do SharePoint instalados pelos usu?rios obt?m um bloco na p?gina Conte?do do Site do site do SharePoint.All SharePoint Add-ins that users install get a tile on the Site Contents page of the SharePoint website. Clicar no bloco executa o suplemento.Clicking the tile runs the add-in.

  • Um Suplemento do SharePoint ? configurado usando um manifesto de suplemento, um arquivo XML que declara as propriedades b?sicas do suplemento, onde ele ? executado, e o que o SharePoint deve fazer quando o suplemento ? iniciado.A SharePoint Add-in is configured using an add-in manifest?an XML file that declares the add-in's basic properties, where it runs, and what SharePoint should do when the add-in starts. Entre outras coisas, o manifesto pode especificar os idiomas com suporte, de quais servi?os e funcionalidades do SharePoint ele depende, e as permiss?es para o host da Web das quais o suplemento precisa.Among other things, the manifest can specify what languages the add-in supports, what SharePoint services and functionality it depends on, and the permissions to the host web that the add-in needs. Suplementos do SharePoint t?m total controle dos seu pr?prios suplementos da Web.(SharePoint Add-ins have full control of their own add-in web.)

  • Suplementos do SharePoint s?o distribu?dos em pacotes de suplementos que sempre incluem pelo menos o manifesto do suplemento.You distribute SharePoint Add-ins in add-in packages that always include at least the add-in manifest. Caso n?o haja nenhum componente do SharePoint, o manifesto do suplemento pode ser o ?nico elemento do pacote do suplemento. Se o suplemento tiver componentes do SharePoint em um suplemento da Web, eles ser?o inclu?dos no pacote como um conjunto de arquivos XML.(If there are no SharePoint components, the add-in manifest may be the only thing in the add-in package.) If the add-in has SharePoint components in an add-in web, these are included in the package as a set of XML files. Componentes remotos que s?o hospedados fora do SharePoint, como um aplicativo Web remoto ou um banco de dados, n?o s?o inclu?dos no pacote e s?o implantados separadamente do pacote do suplemento.Remote components that are hosted outside of SharePoint, such as a remote web application or database, are not included in the package and are deployed separately from the add-in package. No entanto, o manifesto do suplemento especifica os URLs dos componentes remotos.(However, the add-in manifest does specify the URLs of the remote components.)

  • Os pacotes de suplementos tamb?m podem incluir Suplementos do Office. Quando o Suplemento do SharePoint ? instalado, o Suplemento do Office ? adicionado a um cat?logo de Suplementos do Office no SharePoint.Add-in packages can also include Office Add-ins. When the SharePoint Add-in is installed, the Office Add-in is added to an Office Add-ins catalog in SharePoint. Os usu?rios podem instal?-lo a partir do cat?logo em aplicativos do Office como o Word ou o Excel.Users can install it from the catalog into Office applications such as Word or Excel.

Dica

D? uma olhada em alguns Suplementos do SharePoint na Office Store para ter uma no??o do que voc? pode desenvolver.Take a look at a few SharePoint Add-ins in the Office Store to get a sense of what you can develop. Ou abra um site do SharePoint e instale alguns dos Suplementos do SharePoint gratuitos. Basta navegar para Conte?do do Site| Adicionar um suplemento | Reposit?rio do SharePoint.Or open a SharePoint website and install some of the free SharePoint Add-ins. Just navigate to Site Contents | add an add-in | SharePoint Store.

Alguns pontos para desenvolvedores experientes do SharePointA few points for veteran SharePoint developers

Substitu?mos as solu??es em ?rea restrita que cont?m c?digo personalizado do lado do servidor. N?s ainda damos suporte solu??es em ?rea restrita "Sem c?digo" e solu??es em ?rea restrita que cont?m apenas JavaScript.We've deprecated sandboxed solutions that contain custom server-side code. We still support "No code" sandboxed solutions and sandboxed solutions that contain only JavaScript.

Suplementos do SharePoint n?o usam o modelo de objeto de servidor do SharePoint.SharePoint Add-ins don't use the server-side SharePoint object model. Os modelos de objeto de cliente est?o muito expandidos no SharePoint.The client-side object models are greatly expanded in SharePoint. Embora algumas APIs no modelo de objeto de servidor do SharePoint n?o estejam dispon?veis nos modelos de objetos de cliente, elas s?o classes quase totalmente administrativas e relacionadas ? seguran?a.Although some APIs in the SharePoint server object model aren't available in the client object models, these are almost entirely administrative and security-related classes. Uma l?gica personalizada do SharePoint que aborda essas ?reas ? mais apropriada para obter um script do Windows PowerShell script ou uma solu??o de farm cl?ssica do SharePoint.Custom SharePoint logic that addresses these areas is more appropriate for a Windows PowerShell script or classic SharePoint farm solution. Para saber como escolher entre os Suplementos do SharePoint, solu??es cl?ssicas de farm do SharePoint e solu??es de ?rea restrita, consulte Suplementos do SharePoint em compara??o a solu??es do SharePoint.To learn how to choose among SharePoint Add-ins, classic SharePoint farm solutions, and sandboxed solutions, see SharePoint Add-ins compared with SharePoint solutions.

Duas maneiras de distribuir ou de vender um pacote de suplementosTwo ways to distribute or sell an add-in package

Voc? pode distribuir um pacote de suplemento de duas maneiras:You can distribute an add-in package in two ways:

  • Para um cat?logo de suplementos da organiza??o, dedicado a um conjunto de sites do SharePoint na assinatura do SharePoint Online ou em um farm local.To an organization's add-in catalog, which is a dedicated SharePoint site collection in the SharePoint Online subscription or on-premises farm. Esse m?todo ? usado quando o suplemento ? criado de forma personalizada para uma organiza??o em particular.This method is used when the add-in is custom-made for a particular organization.

  • Para a Office Store.To the Office Store. A Store gerencia o processo de marketing, incluindo a descoberta, a compra e a atualiza??o.The store handles the marketing process for you, from discovery to purchase to updates. A Microsoft tem um Painel do Vendedor para vender suplementos na Office Store.Microsoft has a Seller Dashboard to help you sell add-ins through the Office Store.

Depois de implantar o suplemento de uma dessas maneiras, ele estar? dispon?vel para instala??o na p?gina Adicionar um suplemento de sites do SharePoint. Se o suplemento precisar de permiss?es para o host da Web ou para sua assinatura principal, o SharePoint solicitar? ao usu?rio que instale o suplemento que conceda essas permiss?es.After you deploy the add-in in either way, it's available for installation on the add an add-in page of SharePoint websites. If the add-in needs permissions to the host web or its parent subscription, SharePoint prompts the user who installs the add-in to grant those permissions.

Quando voc? precisar atualizar um suplemento para corrigir um bug ou para adicionar funcionalidades, fa?a as altera??es e eleve o n?mero de vers?o do suplemento no respectivo manifesto. Em seguida, reimplante o pacote do suplemento na loja ou no cat?logo de suplementos. Em at? 24 horas, os usu?rios recebem um aviso na interface do usu?rio do SharePoint informando que h? uma atualiza??o dispon?vel. Eles podem instalar a atualiza??o com um ?nico clique.When you need to update an add-in to fix a bug or to add functionality, make the changes and raise the add-in's version number in the add-in manifest. Then redeploy the add-in package to the store or add-in catalog. Within 24 hours, users get a notice in the SharePoint UI that an update is available. They can install the update with a single click.

Dois tipos de Suplementos do SharePoint: hospedados pelo SharePoint e hospedados pelo provedorTwo types of SharePoint Add-ins: SharePoint-hosted and provider-hosted

Compara??o entre os aplicativos hospedados pelo SharePoint e pelo provedor

Suplementos do SharePoint hospedados pelo SharePointSharePoint-hosted SharePoint Add-ins

Os suplementos hospedados pelo SharePoint consistem quase que inteiramente de componentes do SharePoint em um site de suplemento. Algumas vezes, diz-se que eles t?m seu centro no SharePoint.SharePoint-hosted add-ins consist almost entirely of SharePoint components in an add-in web. They are sometimes said to have their center in SharePoint.

Como todos os Suplementos do SharePoint, um usu?rio pode executar um Suplemento do SharePoint hospedado na p?gina Conte?do do Site do site do SharePoint no qual ele est? instalado.Like all SharePoint Add-ins, a user can run a SharePoint-hosted add-in from a tile on the Site Contents page of the SharePoint website to which it's installed. Opcionalmente, ele tamb?m pode ter dois outros tipos de componentes de interface do usu?rio no host da Web: partes de suplemento e a??es personalizadas (ou seja, os bot?es da faixa de op??es ou itens de menu personalizados).Optionally, it can also have two other kinds of UI components in the host web: add-in parts and custom actions (that is, custom ribbon buttons or menu items). Todos os demais elementos de um suplemento hospedado no SharePoint s?o implantados no suplemento da Web.Everything else in a SharePoint-hosted add-in is deployed to the add-in web. Esses componentes s?o definidos de forma declarativa usando os arquivos XML e podem incluir, dentre outros:These components are defined declaratively using XML files, and they can include, among others:

P?ginas personalizadasCustom pages Fluxos de trabalhoWorkflows M?dulos (conjuntos de arquivos)Modules (sets of files)
Modelos de listaList templates Inst?ncias de lista e de bibliotecaList and library instances Formul?rios e exibi??es de lista personalizadosCustom list forms and views
Tipos de conte?do personalizadosCustom content types Modelos da WebWeb templates Colunas internas (n?o colunas personalizadas)Built-in columns (not custom columns)
Web parts internas (e n?o web parts personalizadas)Built-in Web Parts (not custom Web Parts) Arquivos JavaScriptJavaScript files Bot?es e itens de menu personalizados para o site de suplementoCustom buttons and menu items for the add-in web

Toda a l?gica de neg?cios em um suplemento hospedado no SharePoint usa JavaScript, seja diretamente em uma p?gina personalizada ou em um arquivo JavaScript que ? referenciado a partir de uma p?gina personalizada.All business logic in a SharePoint-hosted add-in uses JavaScript, either directly on a custom page or in a JavaScript file that is referenced from a custom page. Uma vers?o JavaScript do modelo de objeto do SharePoint (JSOM) est? dispon?vel para simplificar a realiza??o de opera??es CRUD (criar, ler, atualizar e excluir) em dados do SharePoint por parte do suplemento.A JavaScript version of the SharePoint object model (JSOM) is available to make it simple for the add-in to perform CRUD (create, read, update, and delete) operations on SharePoint data.

As p?ginas personalizadas em um suplemento hospedado pelo SharePoint geralmente s?o p?ginas ASP.NET (ASPX) e podem referenciar declarativamente controles ASP.NET e controles prontos do SharePoint, mas n?o pode haver code-behind.Custom pages in a SharePoint-hosted add-in are generally ASP.NET pages (ASPX), and they can declaratively reference ASP.NET and in-the-box SharePoint controls, but there can be no code behind. No entanto, ? poss?vel personalizar os controles do SharePoint usando uma op??o de renderiza??o do lado cliente e o JavaScript personalizado.However, you can customize the SharePoint controls by using a client-side rendering option and custom JavaScript.

O JavaScript em suplementos hospedados pelo SharePoint pode acessar dados e recursos que estejam fora do site de suplemento usando uma de duas t?cnicas para trabalhar com seguran?a com a mesma pol?tica de origem do navegador: uma biblioteca entre dom?nios especial do JavaScript ou uma classe WebProxy espec?fica do JavaScript.The JavaScript in SharePoint-hosted add-ins can access data and resources that are outside of the add-in web by using either of two techniques for safely working around the browser's same origin policy: a special JavaScript cross-domain library or a specific JavaScript WebProxy class. Usando essas t?cnicas, um suplemento hospedado pelo SharePoint pode trabalhar com dados no site de host, em sua assinatura principal ou em qualquer local da Internet.Using these techniques, a SharePoint-hosted add-in can work with data on the host web, its parent subscription, or anywhere on the Internet.

Suplementos do SharePoint hospedados pelo provedorProvider-hosted SharePoint Add-ins

Qualquer componente do SharePoint que pode estar em um suplemento hospedado no SharePoint tamb?m pode estar em um suplemento hospedado pelo provedor.Any SharePoint component that can be in a SharePoint-hosted add-in can also be in a provider-hosted add-in. No entanto, suplementos hospedados pelo provedor s?o diferenciados dos suplementos hospedados pelo SharePoint por inclu?rem pelo menos um componente remoto, como um aplicativo Web, um servi?o ou um banco de dados, hospedado externamente do farm do SharePoint ou da assinatura do SharePoint Online.But provider-hosted add-ins are distinguished from SharePoint-hosted add-ins because they include at least one remote component, such as a web application, service, or database, that is hosted externally from the SharePoint farm or SharePoint Online subscription. Esse componente pode ser um servidor na mesma rede corporativa, como um farm do SharePoint ou um servi?o de nuvem.This could be a server in the same corporate network as a SharePoint farm or a cloud service. Componentes externos podem ser hospedados em qualquer pilha de hospedagem na Web, incluindo a pilha do Linux, Apache, MySQL e PHP (LAMP).The external components can be hosted on any web hosting stack, including the Linux, Apache, MySQL, and PHP (LAMP) stack.

Observação

O "provedor" ? o respons?vel pela conta do servidor ou da nuvem.The "provider" is whoever owns the server or cloud account. Ele pode ser a mesma empresa ou organiza??o que possua o farm do SharePoint ou um locat?rio do SharePoint Online onde o suplemento ser? instalado.It can be the same company or organization that owns the SharePoint farm or SharePoint Online tenancy where the add-in is to be installed. No entanto, o desenvolvedor do suplemento tamb?m pode ser o provedor.But the developer of the add-in can also be the provider. Normalmente, quando um suplemento ? criado para uma organiza??o, a organiza??o fornece a hospedagem.Typically, when an add-in is created for an organization, the organization provides the hosting. Por?m, quando um suplemento ? criado para v?rias organiza??es, ? mais prov?vel que o desenvolvedor hospede os componentes remotos.However, when an add-in is created for multiple organizations, it's more likely that the developer hosts the remote components. A hospedagem no desenvolvedor ? obrigat?ria se o Suplemento do SharePoint for comercializado pela Office Store, pois o desenvolvedor n?o ter? as informa??es de contato dos compradores do suplemento.Developer-hosting is mandatory if the SharePoint Add-in is being marketed through the Office Store, because the developer doesn't have any contact information for the add-in purchasers. Nesse cen?rio, as v?rias inst?ncias do suplemento conhecem o URI do componente remoto porque ele est? especificado no manifesto de suplemento.In this scenario, the various instances of the add-in know the URI of the remote component because it is specified in the add-in manifest.

Voc? tem total flexibilidade para a estrutura de hospedagem usada para os componentes remotos.You have complete flexibility for the hosting framework that you use for the remote components. N?o ? necess?rio usar uma pilha da Microsoft.You don't have to use a Microsoft stack. Qualquer estrutura de hospedagem na Web pode ser usada, inclusive AMP (Linux, Apache server, MySQL, PHP), MEAN (MongoDB, ExpressJS, AngularJS, Nodejs), Java, Python e outras, e voc? tamb?m pode usar ferramentas de desenvolvimento n?o produzidas pela Microsoft.Any web hosting framework can be used, including LAMP (Linux, Apache server, MySQL, PHP), MEAN (MongoDB, ExpressJS, AngularJS, Nodejs), Java, Python, and others, and you are welcome to use non-Microsoft development tools. Al?m disso, os componentes remotos poder?o ser hospedados em servi?os de nuvem n?o s?o da Microsoft.In addition, the remote components can be hosted in non-Microsoft cloud services.

Voc? pode dar a mesma apar?ncia das p?ginas do SharePoint ?s p?ginas remotas do suplemento ** usando um controle de cromo especial.You can give remote pages in the add-in the look and feel of SharePoint pages** by using a special chrome control.

Os dados remotos podem ser blobs, caches, filas de mensagens, redes de entrega de conte?do (CDN) e bancos de dados, entre outros. E os bancos de dados podem ser de qualquer tipo, incluindo relacionais e orientados a objetos. Os dados remotos podem ser acessados em uma variedade de formas. Por exemplo, voc? pode usar o Business Connectivity Services (BCS) para expor os dados em uma lista do SharePoint. Outra op??o ? expor dados em uma grade de uma p?gina em um aplicativo Web remoto.Remote data can be blobs, caches, message queues, content delivery networks (CDN), and databases, among others. And databases can be any type including relational and object-oriented. The remote data can be accessed in a variety of ways. For example, you can use Business Connectivity Services (BCS) to surface the data in a SharePoint list. Another option is to expose data in a grid on a page of a remote web application.

Os Suplementos do SharePoint usam as APIs do SharePoint para se conectarem e se integrarem aos recursos do SharePoint pesquisa, fluxo de trabalho, redes sociais, taxonomia, perfis de usu?rio, BCS e mais. Isso permite que eles leiam documentos, fa?am pesquisas, conectem pessoas e executem opera??es CRUD. H? mais de um conjunto de APIs:SharePoint Add-ins use SharePoint APIs to connect and integrate with SharePoint features?search, workflow, social networking, taxonomy, user profiles, BCS, and more. This lets them read documents, do searches, connect people, and perform CRUD operations. There is more than one set of the APIs:

  • Quando os componentes remotos forem implementados com o .NET, a biblioteca Modelo de Objeto do Lado Cliente do SharePoint (CSOM) de c?digo gerenciado estar? dispon?vel.When the remote components are implemented with .NET, the managed code SharePoint Client-Side Object Model (CSOM) library is available.

  • Para os componentes remotos que n?o baseados em .NET, um conjunto de APIs REST/OData pode ser usado para acessar os dados do SharePoint.For remote components that are not based on .NET, a set of REST/OData APIs can be used to access SharePoint data. Eles tamb?m podem ser usados de um cliente .NET, se voc? preferir trabalhar com uma interface OData.These can also be used from a .NET client if you prefer working with an OData interface.

  • A biblioteca JSOM, mencionada anteriormente, n?o pode ser usada em uma p?gina remota, mas os suplementos hospedados pelo provedor podem ter p?ginas personalizadas do SharePoint em um site de suplemento e o JavaScript nessas p?ginas pode usar a biblioteca JSOM.The JSOM library, mentioned earlier, cannot be used on a remote page, but provider-hosted add-ins can have custom SharePoint pages in an add-in web, and JavaScript on these pages can use the JSOM library.

Suplementos hospedados pelo provedor que acessam o SharePoint s?o entidades de seguran?a, assim como usu?rios e grupos. A entidade do suplemento deve ser autenticada e autorizada, assim como o usu?rio. O suplemento deve ter permiss?es para executar opera??es nos dados do SharePoint, no site de host. Na maioria dos cen?rios, as permiss?es efetivas de um usu?rio trabalhando com o SharePoint por meio de um Suplemento do SharePoint s?o a interse??o das permiss?es do usu?rio e do suplemento, embora haja alguns cen?rios em que um usu?rio pode realizar a??es com um suplemento, que n?o seriam poss?veis, caso n?o tivesse permiss?o para faz?-las.Provider-hosted add-ins that access SharePoint are security principals just as users and groups are. The add-in principal has to be authenticated and authorized, just as the user does. The add-in needs permissions to perform operations on SharePoint data in the host web. In most scenarios, the effective permissions of a user working with SharePoint through a SharePoint Add-in are the intersection of the user's and the add-in's permissions, although there are some scenarios in which a user can do things with an add-in that she wouldn't otherwise have permission to do.

Os suplementos hospedados pelo provedor podem se conectar a qualquer servi?o da Web interno ou p?blico e, ao contr?rio de aplicativos hospedados pelo SharePoint, eles podem manipular listas do SharePoint e eventos de itens de lista, como a adi??o de um item a uma biblioteca de documentos.Provider-hosted add-ins can connect to any internal or public web service and, unlike SharePoint-hosted add-ins, they can handle SharePoint list and list item events, such as adding an item to a document library.

Escolher seu caminho de desenvolvimento do SharePointChoose your SharePoint development path

Pronto para come?ar?Ready to get started?

Observação

Se voc? for iniciante no desenvolvimento no SharePoint e na Web, voc? se beneficiar? mais ao come?ar com o curso gratuito na Microsoft Virtual Academy ou ao trabalhar com um livro sobre desenvolvimento no SharePoint.If you're a beginner at both SharePoint and web development, you'd benefit most by starting with the free course at Microsoft's Virtual Academy, or working through a book about SharePoint development.

Veja tamb?mSee also