SharePoint 2013 Apps: el nuevo modelo de desarrollo ADVERTENCIA LEGAL Todos los derechos de esta obra están reservados
Views 51 Downloads 3 File size 10MB
SharePoint 2013 Apps: el nuevo modelo de desarrollo
ADVERTENCIA LEGAL Todos los derechos de esta obra están reservados a SolidQTM Press
-
-
© SolidQTM
Serie SharePoint Autores
http://www.solidq.com
-
Índice 44 45 45
Cloud App Model 12 Herramientas de desarrollo 14 Visio 2013 14 SharePoint Designer 2013 16 Visual Studio 2012 20 Proyecto NAPA 23 Mayor uso de los estándares web 24 Más tipos de aplicaciones 25 Representación del lado del cliente (Client-side rendering) 26 Novedades en las API 27 Integración de mapas y geolocalización 27 Características Sociales 29 Comunidades (Communities) 29 Servicios de conectividad Connectivity Services) Búsqueda empresarial Dispositivos móviles
empresarial
33
(Business 33
Contenido de inteligencia de negocio desde iPad 46 Geolocalización en aplicaciones móviles 46 ¿Cómo se desarrollan aplicaciones de Windows Phone para SharePoint 2013? 46 ECM (Enterprise Content Management) 47 eDiscovery 47 WCM (Web Content Management) 50 Gestor de diseño (Design Manager) 50 Sitios dirigidos por las búsquedas 51 Catálogos y publicación entre colecciones de sitios 53 Mejoras en SEO (Search Engines Optimization) 54 Cambios en multimedia 54 Navegación administrada (metadatos administrados) 54 Otras novedades 55 Nuevas aplicaciones de servicio 55 Novedades en inteligencia de negocio para SharePoint 2013 55 Conclusiones 56
38 44
Introducción. El desarrollo sobre SharePoint a lo largo de los tiempos 57 SharePoint 2013 y su nuevo modelo de aplicaciones 59 ¿Cuándo usar soluciones y cuándo aplicaciones? 61 62
Tipos de SharePoint App. Visualización y funcionalidad
65
Página completa (Immersive Full Page) 65 Parte de página (App Part) 66 Acción personalizada (UI Custom Action) 68 Tipos de SharePoint App. Opciones de alojamiento 69 Apps alojadas en SharePoint (SharePoint-hosted Apps) Apps auto-alojadas (Autohosted Apps) Apps combinadas (Hybrid Apps) Resumiendo Conclusiones
69 72 73 75 76
Mi primera app Introducción Preparación del entorno de desarrollo ¡Hola Mundo! Maquetación y diseño de apps
77 77 78 88
Introducción 105 Cloud-hosted Apps 142 Modelo de objetos de cliente y API REST en SharePoint 2013 150 API REST en SharePoint 2010 155 API REST SharePoint 2013 156 Ejemplos de uso de las API 161 Conclusiones 176
105
177
Administración de aplicaciones instaladas El catálogo de aplicaciones (App Catalog) Conclusiones
Plataforma de desarrollo en la Nube – Introducción a Microsoft Napa 190 Navegadores soportados 192 Instalando y ejecutando NAPA por primera vez 193 Conclusiones 201 Eventos en SharePoint 2013 201 Events Receivers Remotos 203 App Event Receivers 207 Conclusiones 208 Autores
185 187 189
Para el diseñador Para el desarrollador Para el responsable de IT Arquitectura Windows Azure Service Bus
209 209 209 210 210 211 211 212
Interfaces de programación Conclusiones
212 217
218
-
©
-
-
-
©
P
6
-
Partiendo de colaboraciones directas con el equipo de producto que el grupo que tengo
-
-
P
7
del resto de novedades incluidas en SharePoint
parte de eDiscovery
workarounds
Remote Event Receivers
-
P
8
desde las siguientes direcciones url:
P
9
-
ron SharePoint Team Services
SharePoint Portal Server 2001 codename
-
Windows SharePoint Services 2.0 que era la ediSharePoint Portal Server 2003 -
Management Server 2002
Microsoft Content
P
10
Capítulo 1. Novedades en SharePoint 2013 Preview
surgiendo el producto Microsoft Content Management Server Connector for SharePoint Technologies Windows SharePoint Services 3.0 Microsoft
-
workloads
2010 UI
SharePoint Foundation 2010
Powerset
Dundas FAST ESP
SharePoint Server Ribbon
Groove en SharePoint WorkSpace sociales: My Site
11
Capítulo 1. Novedades en SharePoint 2013 Preview
SharePoint 2013 Preview
RTM en el -
dría el branding Windows 8
workloads
-addinSharePoint Apps
Sandbox
MarketPlace
12
Capítulo 1. Novedades en SharePoint 2013 Preview
wsp
app
-
-
13
Capítulo 1. Novedades en SharePoint 2013 Preview
Las SharePoint Solutions son las soluciones tradicionales de SharePoint que pueden crearse -
- Proporcionar un alto nivel de aislamiento en las aplicaciones
- Facilitar la instalación y actualización de aplicaciones
- Solventar una única necesidad de negocio
14
Capítulo 1. Novedades en SharePoint 2013 Preview
Visio Visual Studio NAPA,
SharePoint Designer
-
-
Steps
Shapes
Stages
Loops -
15
Capítulo 1. Novedades en SharePoint 2013 Preview
SharePoint
16
Capítulo 1. Novedades en SharePoint 2013 Preview
En SharePoint Designer 2013
branding Designer
SharePoint
1. Desaparece la vista de Diseño para HTML design view 2.
17
Capítulo 1. Novedades en SharePoint 2013 Preview
Nota. -
3.
-
18
Capítulo 1. Novedades en SharePoint 2013 Preview
shapes
Style
de SharePoint Visual Designer Visual Designer se introducen las etapas de la Sentence-
5.
19
Capítulo 1. Novedades en SharePoint 2013 Preview
6. Soporte a copiar y pegar
Loops
8.
9. 10. Loop blog del equipo de producto:
SharePoint Designer
20
Capítulo 1. Novedades en SharePoint 2013 Preview
1. Diseñador de listas y tipos de contenido
2. Crear columnas de sitio Item Template
-
3.
21
Capítulo 1. Novedades en SharePoint 2013 Preview
5. SharePoint
-
6. SandBoxed solution
Visual Web Part con una
22
Capítulo 1. Novedades en SharePoint 2013 Preview
VS 2012 Tools for Visual Studio 2012
aquí
Ultimate Premium o Professional
-
sandbox
23
Capítulo 1. Novedades en SharePoint 2013 Preview
24
Capítulo 1. Novedades en SharePoint 2013 Preview
-
iFrame
-
o de Client Object Model
-
25
Capítulo 1. Novedades en SharePoint 2013 Preview
Más tipos de aplicaciones
- SharePoint Apps App Store
-
branding
Global Assembly Cache
feature
s Custom
Access Security
-
sandbox están - Aplicaciones para móvil
26
Capítulo 1. Novedades en SharePoint 2013 Preview
lado del cliente client-side rendering
-
27
Capítulo 1. Novedades en SharePoint 2013 Preview
-
-
Geolocation
28
Capítulo 1. Novedades en SharePoint 2013 Preview
1. Almacenamiento de coordenadas Server queda representado con los nuevos tipos de datos geometry geography hierarchy ID que requieren tener instalado SQLSysClrTypes.msi -
Nota. dirlo a una lista lo deben hacer los desarrolladores
2.
-
:
Nota.
Set-SPBingMapsKey –BingKey “”
aquí
29
Capítulo 1. Novedades en SharePoint 2013 Preview
Community Site like
Community Portal -
30
Capítulo 1. Novedades en SharePoint 2013 Preview
31
Capítulo 1. Novedades en SharePoint 2013 Preview
colleagues -
-
32
Capítulo 1. Novedades en SharePoint 2013 Preview
Compartir Contenido
-
-
33
Capítulo 1. Novedades en SharePoint 2013 Preview
- Social Feeds
CreatePost LikePost GetAllLikers GetMentions GetFeed
- Follow people - Follow content -
Follow GetFollowers GetFollowed GetSuggestions FollowedDocumentsUri GetFollowed GetMyProperties
Novedades
-
OAuth on-premise
online
-
34
Capítulo 1. Novedades en SharePoint 2013 Preview
-
35
Capítulo 1. Novedades en SharePoint 2013 Preview
client-side solution
aquí
-
- OData como fuentes de datos -
Windows Live
36
Capítulo 1. Novedades en SharePoint 2013 Preview
- Event Receivers remotos
-
Se puede establecer el límite de elementos
el BCD Model Ordenamiento en las columnas
- BCS en SharePoint Online
37
Capítulo 1. Novedades en SharePoint 2013 Preview
- Acceso desde plataforma móvil con los servicios REST
-
den ver aquí
-
38
Capítulo 1. Novedades en SharePoint 2013 Preview
en el interior de un - Seguridad.
-
-
- Distintos repositorios
-
-
-
-
- Fechas de los documentos - Personalización del modelo de relevancia
39
Capítulo 1. Novedades en SharePoint 2013 Preview
-
-
1.
40
Capítulo 1. Novedades en SharePoint 2013 Preview
-
2. parsing
-
stopwords stemming o lematización
tokens
-
3.
-
ranking
-
41
Capítulo 1. Novedades en SharePoint 2013 Preview
Social Tags
-
-
5. query spellcheking
thesaurus
word breaking stemming
6.
42
Capítulo 1. Novedades en SharePoint 2013 Preview
- Topología - Managed Properties Mappings -
- Host Controller -
-
-
Set-SPEnterpriseSearchService –PerformanceLevel Reduced
de
43
Capítulo 1. Novedades en SharePoint 2013 Preview
cosas:
-
44
Capítulo 1. Novedades en SharePoint 2013 Preview
Otras novedades -
los Result Types Query rules Result Sources
Vista Contemporary View
Vista Pantalla completa
45
Capítulo 1. Novedades en SharePoint 2013 Preview
Viewer
46
Capítulo 1. Novedades en SharePoint 2013 Preview
recursos interesantes: -
en:
location
47
Capítulo 1. Novedades en SharePoint 2013 Preview
Enterprise Content
Management
Records Management records -
records eDiscovery
-
48
Capítulo 1. Novedades en SharePoint 2013 Preview
eDiscovery
eDiscovery Case
fuentes de origen holds hold
holds
-
in-place holds hold site collection admins holds
in-place Team Folders que proTeam Folder
49
Capítulo 1. Novedades en SharePoint 2013 Preview
Electronic Data Reference Model
Result Sources
Content Source
Record Management
50
Capítulo 1. Novedades en SharePoint 2013 Preview
branding
estructura de master pages layouts
51
Capítulo 1. Novedades en SharePoint 2013 Preview
eCommerce Product Catalog
o
o
: el nuevo
o Display Templates
aplicarle un estilo de acuerdo a nuestro branding Control Display Templates
52
Capítulo 1. Novedades en SharePoint 2013 Preview
-
53
Capítulo 1. Novedades en SharePoint 2013 Preview
-
eCommerce o
54
Capítulo 1. Novedades en SharePoint 2013 Preview
Search Engine Optimization Content Management
WCM
SEO
post del blog del equipo de SharePoint de SolidQ:
-
-
o
thumbnails
metadatos administrados
55
Capítulo 1. Novedades en SharePoint 2013 Preview
-
Otras novedades
Nuevas aplicaciones de servicio o Machine Translation Services o PowerPoint Automation Services
o
sobre todo para
-
56
Capítulo 1. Novedades en SharePoint 2013 Preview
-
aquí
serie de webcasts novedades de
57
En este capítulo dedicado a las nuevas apps
colaboración online
on premise
Web Parts
controles
soluciones
-
P
58
Capítulo 2: Introducción a las SharePoint Apps
C# o VB había -
Microsoft SharePoint Server 2010 Standard/Enterprise Foundation 2010 absoluto o en inglés farm solutions
soluciones de espacio aislado
Microsoft SharePoint
soluciones de granja
sandbox solutions
-
59
Capítulo 2: Introducción a las SharePoint Apps
las versiones online
on premise
marketplace de aplicaciones
online
on premise
Cloud App Model
-
en
1 De ahora (2012) en adelante, Microsoft llama exclusivamente en la Nube o bien se instalan desde la Nube, por lo tanto, cabe tener en cuenta que este término Lync Online, Online y SharePoint Online.
60
Capítulo 2: Introducción a las SharePoint Apps
-
con algunas consideraciones especiales de trocito
través de la Nube
Cloud App Model -
Concretamente utilizan el motor de
.
61
Capítulo 2: Introducción a las SharePoint Apps
-
Azure o de OData
-
de servicios web en Azure
SQL Azure
acceso a través de servicios REST
-
_api
SharePoint Apps
-
3 Business Connectivity Services, el servicio que nos permite conectar a distintas fuentes de datos de otras herramientas de negocio (LOB – Line Of Business) desde SharePoint.
62
Capítulo 2: Introducción a las SharePoint Apps
-
ciones en el
-
Store Marketplace
-
4 Marketplace directamente como es el nombre del auténtico mercado de aplicaciones que nos ocupa.
Store ya que
63
Capítulo 2: Introducción a las SharePoint Apps
importantes sencilla un solo archivo
-
manifest -
64
Capítulo 2: Introducción a las SharePoint Apps
Otras de las
que nos proporciona el
son:
o
o o Licenciamiento de servicios mework
fra-
-
65
Capítulo 2: Introducción a las SharePoint Apps
¿Qué ocurriría en el momento en el que rompieran la seguridad del Office Store
framework
o Monetización -
-
-
66
Capítulo 2: Introducción a las SharePoint Apps
plantillas de lista
Las aplicaciones tipo Parte de página o App Part
ones
-
iframe
5 A partir de este punto, me referiré a este tipo de aplicaciones como App Part ya que la traducción es literal
67
Capítulo 2: Introducción a las SharePoint Apps
-
Parts Parts
-
68
Capítulo 2: Introducción a las SharePoint Apps
que hacen las veces de widget
Ribbon
concreto
envío
activación de algún proceso que
-
69
Capítulo 2: Introducción a las SharePoint Apps
-
Autohosted SharePoint-hosted
Provider-hosted
-
-
6 Dado que los tipos de alojamiento han sido nombrados con combinaciones peculiares que es difícil que sean traducidas dos veces igual, acompaño mis traducciones de estos términos con el término original, que muy probablemente os encontraréis en otras publicaciones. 7 En algunas ocasiones también se les ha llegado a llamar Windows Azure Autoprovisioned Apps, en
70
Capítulo 2: Introducción a las SharePoint Apps
-
-
hosting REST OData OAuth domain library
JavaScript cross-
-
cor-
71
Capítulo 2: Introducción a las SharePoint Apps
o los servicios web REST/OData
-
cross-domain library8
-
Más información sobre cómo utilizar esta biblioteca de JavaScript aquí http://msdn.microsoft.com/en-us/ (en inglés).
72
Capítulo 2: Introducción a las SharePoint Apps
OAuth
9
-
9 Aquellos lectores interesados en ampliar información sobre este servicio, pueden hacerlo aquí http://www. windowsazure.com/es-es/home/scenarios/web-sites/
73
Capítulo 2: Introducción a las SharePoint Apps
-
trar con el cross-site scripting
-
-
10 cross-site scripting para aquellos interesados en ampliar información http://es.wikipedia.org/wiki/Cross-site_scripting
74
Capítulo 2: Introducción a las SharePoint Apps
web role
-
75
Capítulo 2: Introducción a las SharePoint Apps
TIPO DE APP SharePoint-hosted
- JavaScript
-
Provider-hosted
con restricciones
- cross-domain
servicios web
Autohosted
-
con restricciones cross-domain servicios web
-
76
Capítulo 2: Introducción a las SharePoint Apps
-
-
77
-
para
arquitectura SharePoint-hosted Apps Immersive Full Page App desplegar apps dentro del propio servidor donde está instalado
Parts
Acción personalizada UI Custom Actions
App de
App -
P
78
Capítulo 3: Desarrollo de SharePoint Apps
-
-
en Desarrollador
Sitio de
79
Capítulo 3: Desarrollo de SharePoint Apps
-
instalamos la app
se encarga de crearle APP#0 App Template , Host App
80
Capítulo 3: Desarrollo de SharePoint Apps
.
81
Capítulo 3: Desarrollo de SharePoint Apps
laintranet.miempresa.com reservar sería el siguiente: apps.miempresa.com. cia de una app a1b2c3d4.apps.miempresa.com a1b2c3d4
-
-
Hosts
-
nueva app.
cmdlets
-
82
Capítulo 3: Desarrollo de SharePoint Apps
Set-SPAppDomain “apps.miempresa.com”
cmdlet
spadminv4
sptimerv4
net start spadminv4 net start sptimerv4
el cmdlet Get-SPAppDomain
Application Aplicación de Servicio de Administración de Apps
App Management Service
83
Capítulo 3: Desarrollo de SharePoint Apps
Started dor Manage Services on server
Administrar los servicios del servi-
de servicio -
84
Capítulo 3: Desarrollo de SharePoint Apps
tenant tenant
tenants en un entorno tenants Subscription Settings Service Application tenant tenant correspondiente
Get-SPServiceInstance | where{$_.GetType().Name –eq “AppManagementServiceInstance” -or $_.GetType().Name -eq “SPSubscriptionSettingsServiceInstance”} | Start-SPServiceInstance
85
Capítulo 3: Desarrollo de SharePoint Apps
Get-SPServiceInstance | where{$_.GetType().Name –eq “AppManagementServiceInstance” -or $_.GetType().Name -eq “SPSubscriptionSettingsServiceInstance”}
Pool SPManagedAccount.
Application
$account = New-SPManagedAccount
86
Capítulo 3: Desarrollo de SharePoint Apps
dominio\usuario SPManagedAccount
-
$account = Get-SPManagedAccount “dominio\usuario” $appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account $appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account $appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB $proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc $appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName AppServiceDB $proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc
tenant
Set-SPAppSiteSubscriptionName -Name “app”
-
:$false
87
Capítulo 3: Desarrollo de SharePoint Apps
*.apps.miempresa.com
88
Capítulo 3: Desarrollo de SharePoint Apps
Microsoft NAPA
online
el resto de tipos de apps,
Abrimos Visual Studio 2012 como Administrador... 11
App for SharePoint 2013
en
http://
89
Capítulo 3: Desarrollo de SharePoint Apps
Seleccionar la arquitectura
90
Capítulo 3: Desarrollo de SharePoint Apps
Repaso de los componentes del proyecto
-
-
91
Capítulo 3: Desarrollo de SharePoint Apps
Un primer despliegue -
cionales per se, deploy Succesfully installed App for SharePoint
gada app.
Apps in Testing
Sitio de Desarrollador
-
Web que -
92
Capítulo 3: Desarrollo de SharePoint Apps
-
93
Capítulo 3: Desarrollo de SharePoint Apps
. No -
Client Web Part (Host Web) UI Custom Action (Host Web) iFrame que se inserta
de ese iFrame
-
94
Capítulo 3: Desarrollo de SharePoint Apps
Client Web Part
(Host Web)
UI Custom Action App Client Web Part
App Part Elements.xml UI Custom Action
-
Elements.xml
Elements.xml
iFrame
ClientWebPart
iFrame
Content.
Src Type¸ con
Properties/Property
con las etiquetas Properties/Property
QueryString Elements.xml
string Int
bool
Enum -
Content QueryString Src : ?prop1=_prop1_&prop2= _prop2_& prop3=_prop3_. Elements.xml
-
96
Capítulo 3: Desarrollo de SharePoint Apps
Src
la página AppPart.aspx
de la etiqueta Content
Pages QueryString
-
97
Capítulo 3: Desarrollo de SharePoint Apps
poder insertar Web Parts,
Ribbon
,
-
-
F12 para los
98
Capítulo 3: Desarrollo de SharePoint Apps
iFrame
Src del iFrame QueryString http://app-b85358d732ed70.apps.devsite.local/HolaMundoApp/Pages/AppPart.aspx?nombre=Mundo
Elements.xml
-
nombre
99
Capítulo 3: Desarrollo de SharePoint Apps
-
Elements.xml
Nombre
100
Capítulo 3: Desarrollo de SharePoint Apps
UI Custom Action (Host Web) Elements.xml
(Host Web) Elements.xml
CustomAction
101
Capítulo 3: Desarrollo de SharePoint Apps
-
CustomAction EditControlBloc UrlAction Url QueryString
-
Elements.xml por el que sigue:
< > < Location = “Ribbon.Documents.Manage.Controls._children”>
RegistrationID=”101”
QueryString de la página que contiene la Url de la etiqueta UrlAction
que en la QueryString están las siguientes palabras reservadas: Hosturl Source ListUrlDir -> SelectedListID -> SelectedItemID -> Elements.xml Pages CustionAction.html
UrlAction
103
Capítulo 3: Desarrollo de SharePoint Apps
Mi Acción Personalizada (Custom Action)
Parámetros de la Query String pasados por la Acción personalizada (Custom Action):
¡Hola Mundo!
...para que queden las Apps bien bonitas
14 Para más información y ver un listado completo de los marcadores que se pueden utilizar, consulte la siguiente página: http://msdn.microsoft.com/en-us/library/ms431831(v=office.15).aspx 15 En la siguiente documentación tenemos un listado completo de las clases CSS existentes que se usan en SharePoint, y en qué casos se deben utilizar: http://msdn.microsoft.com/en-us/library/jj220046%28v=office.15%29.aspx#UXGuide_CSS
120
Capítulo 3: Desarrollo de SharePoint Apps
:)
este formato queda bien para los enlaces
Hola Mundo!
146
Capítulo 3: Desarrollo de SharePoint Apps
147
Capítulo 3: Desarrollo de SharePoint Apps
Paso 3. Chrome Control etiqueta
Client
ID
. Por lo
Mi App en Página Completa
Hola Mundo!
-
var hostweburl; // Obtenemos los recursos de SharePoint necesarios. jQuery(document).ready(function () { // partir de los parametros en la Query String. hostweburl = decodeURIComponent(getQueryStringParameter(“SPHostUrl”)); // Los archivos js se encuentran todos a partir de “/_layouts/15/”
148
Capítulo 3: Desarrollo de SharePoint Apps
var scriptbase = hostweburl + “/_layouts/15/”; // ejecuacion con el manejador de exito correspondiente. jQuery.getScript(scriptbase + “SP.UI.Controls.js”, prepararChrome) }); function prepararChrome() { . var options = { “appIconUrl”: “../images/sp.jpg”, “appTitle”: “Título de mi App”, “appHelpPageUrl”: “Ayuda.html?” + document.URL.split(“?”)[1], “settingsLinks”: [ { “linkUrl”: “cuenta.html?” + document.URL.split(“?”)[1], “displayName”: “Mi Cuenta” }, { “linkUrl”: “contactanos.html?” + document.URL.split(“?”)[1], “displayName”: “Contáctanos” }, { “linkUrl”: + document.URL.split(“?”)[1], “displayName”: } ] }; var nav = new SP.UI.Controls.Navigation(“chrome_control_marcador”, options); nav.setVisible(true); } // Función para obtener un valor de la Query String function getQueryStringParameter(paramToRetrieve) { var params = document.URL.split(“?”)[1].split(“&”); var strParams = “”; for (var i = 0; i < params.length; i = i + 1) { var singleParam = params[i].split(“=”); if (singleParam[0] == paramToRetrieve) return singleParam[1]; } }
149
Capítulo 3: Desarrollo de SharePoint Apps
que hace las veces de callBack
prepararChrome
appIconUrl appTitle appHelpPageUrl. settingsLinks. o linkUrl. o displayName.
la etiqueta Paso 5
-
150
Capítulo 3: Desarrollo de SharePoint Apps
-
151
Capítulo 3: Desarrollo de SharePoint Apps
_api -
-
152
Capítulo 3: Desarrollo de SharePoint Apps
Tipo de la aplicación en SharePoint con un IFrame
-
-
153
Capítulo 3: Desarrollo de SharePoint Apps
Microsoft.SharePoint
Modelo de objetos de cliente .NET
Modelo de objetos de cliente de Silverlight
-
ProgramFiles\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS\ ClientBin
Modelo de objetos de móviles de Silverlight
154
Capítulo 3: Desarrollo de SharePoint Apps
ProgramFiles\Common Files\Microsoft Shared\ web server extensions\15\TEMPLATE\LAYOUTS\ClientBin .xap
Modelo de objetos JavaScript (JSOM) -
cross-domain
protocolo OData
endpoint
client.svc
155
Capítulo 3: Desarrollo de SharePoint Apps
API REST en SharePoint 2010
-
ListData.svc quedaría http://mistio/_vti_bin/ListData.svc
156
Capítulo 3: Desarrollo de SharePoint Apps
_api Web/?$select=Title
sitios
servicios http://misitio/_api/... http://misitio/_api/
$
bre del sitio introduciendo http://mistio/_api/Web/title tracto o se podría decir una abreviatura de _vti_bin/client.svc
client.svc
-
parsear
157
Capítulo 3: Desarrollo de SharePoint Apps
tengan su correspondiente endpoint
endpoints endpoint repre-
endpoint
endpoints
endpoint
CONTEXTO Colección de sitios Sitio actual
http://myapplication/site/_api/ site http://myapplication/site/_api/ web
SPContext.Current.Site ClientContext.Site SPContet.Current.Web
ClientContext.Web
158
Capítulo 3: Desarrollo de SharePoint Apps
http://myapplication/site/_api/web/lists/getbytitle(“Title”)
GetByTitle
ÁREA Colección de sitios Sitio actual Perfil de usuario Búsqueda Publicación
http://myapplication/site/_api/site http://myapplication/site/_api/web http://myapplication/site/_api/search http://myapplication/site/_api/publishing
Utilizar parámetros con “alias” @template http://myapplication/site/api/web/appyWebTemplate(title=@template)?@template=”STS#0
Parámetros en la query string query string http://myapplication/site/_api/web/applyWebTemplate?template=”STS#0”
-
http://myapplication/site/_api/SP.Utilities.Utility.getImageUrl(‘imageName’)
159
Capítulo 3: Desarrollo de SharePoint Apps
Consultar elementos $select *
http://myapplication/site/_api/web/lists/getbytitle(‘nombreLista’)?$select=Title
Filtrar elementos
http://myapplication/site/_api/web/lists/getbytitle(‘Customers’)/items?$filter= Country eq ‘UK’
Operadores que podemos utilizar COMPARACIONES NUMÉRICAS Lt, Le, Gt, Ge, Eq, Ne
startsWidth substringof Eq Ne
day() month() year() Hour() minute() second()
Ordenar elementos query , asc
$orderby
-
desc
http://myapplication/site/_api/web/lists/getbytitle(‘Customers’)/items?$orderby=Name
Cláusula top
160
Capítulo 3: Desarrollo de SharePoint Apps
endpoint
400
404
- Endpoints
500
- Errores internos del servidor
cross-domain library
cross-domain library
que se encuentra
/_layouts/15/… entre SharePoint
domain library:
cross-
161
Capítulo 3: Desarrollo de SharePoint Apps
social feeds My Site App for SharePoint 2013
Default.aspx ContentPlaceHolder PlaceHolderMain social feeds PlaceHolderMain
162
Capítulo 3: Desarrollo de SharePoint Apps
layUntilScriptLoaded, el archivo
excuteOrDePublishPost después de haber cargado
SP.SOD.executeOrDelayUntilScriptLoaded(PublishPost,
);
-
PublishPost
SocialFeedManager social feeds
clientContext = SP.ClientContext.get_current(); feedManager = new SP.Social.SocialFeedManager(clientContext);
link
-
SP.Social.SocialDataItem
var linkDataItem = new SP.Social.SocialDataItem(); linkDataItem.set_itemType(SP.Social.SocialDataItemType.link); linkDataItem.set_text(‘link’); linkDataItem.set_uri(‘http://www.solidq.com’); var socialDataItems = [linkDataItem];
link creado SP.Social.SocialPostCreationData
163
Capítulo 3: Desarrollo de SharePoint Apps
var postCreationData = new SP.Social.SocialPostCreationData(); postCreationData.set_contentText(‘Este es el texto del comentario, el cual contiene un {0}.’); postCreationData.set_contentItems(socialDataItems);
post
PublishReply
PostFailed
resultThread = feedManager.createPost(null, postCreationData); clientContext.executeQueryAsync(PublishReply, PostFailed);
PublishReply id
-
var postCreationData = new SP.Social.SocialPostCreationData(); postCreationData.set_contentText(‘Este texto es la respuesta.’); resultThread = feedManager.createPost(resultThread.get_id(), postCreationData); clientContext.executeQueryAsync(PostSucceeded, PostFailed);
span
164
Capítulo 3: Desarrollo de SharePoint Apps
function PostSucceeded(sender, args) { $get(“spanMessage”).innerText = ‘El comentario y la respuesta fueron publicados.’; } function PostFailed(sender, args) { $get(“spanMessage”).innerText = ‘La petición falló: ‘ + args.get_message(); }
hora de interactuar con los social feeds
social feeds AppManifest.xml
165
Capítulo 3: Desarrollo de SharePoint Apps
link
SolidQDocument
full Crawl
Aplicación de consola
Microsoft.SharePoint.Client.dll Microsoft.SharePoint.Client.Runtime.dll Microsoft.SharePoint.Client.Search.dll
using Microsoft.SharePoint.Client; using Microsoft.SharePoint.Client.Search; using Microsoft.SharePoint.Client.Search.Query;
166
Capítulo 3: Desarrollo de SharePoint Apps
-
using (ClientContext clientContext = new ClientContext(“http://mydevelopersite”))
KeywordQuery QueryText Nota.
KeywordQuery keywordQuery = new KeywordQuery(clientContext); keywordQuery.QueryText = “SolidQ”;
SearchExecutor
SearchExecutor searchExecutor = new SearchExecutor(clientContext);
SearchExecutor
ExecuteQuery
KeywordQuery
167
Capítulo 3: Desarrollo de SharePoint Apps
ClientResult
ClientResult resultado = searchExecutor. ExecuteQuery(keywordQuery);
ExecuteQuery
clientContext.ExecuteQuery();
en resultado
namespace SharePoint2013_3_3_2 { class Program { static void Main(string[] args) { using (ClientContext clientContext = new ClientContext(“http://mydevelopersite”)) { KeywordQuery keywordQuery = new KeywordQuery(clientContext); keywordQuery.QueryText = “SolidQ”; SearchExecutor searchExecutor = new SearchExecutor(clientContext);
168
Capítulo 3: Desarrollo de SharePoint Apps
ClientResult resultado = searchExecutor.ExecuteQuery(keywordQuery); clientContext.ExecuteQuery(); foreach (var resultRow in resultado.Value[0].ResultRows) { Console.WriteLine(resultRow[“Title”] + “-” + resultRow[“Path”] + “-”); } Console.ReadLine(); } } } }
cross-domain library
-
169
Capítulo 3: Desarrollo de SharePoint Apps
Customers Contacts
170
Capítulo 3: Desarrollo de SharePoint Apps
Elements. xml
Jose Quinto 11111
Guillermo
171
Capítulo 3: Desarrollo de SharePoint Apps
44444
App.
sha-
-
-
nando con FirstName Title
FirstName Title WorkPhone _spPageContextInfo.webAbsoluteUrl nos proporciona getJSON onSuccess onFail
function sharePointReady() { var requestUri = _spPageContextInfo.webAbsoluteUrl + “/_api/Web/Lists/getByTitle(‘Customers’)/items/” + “?$select=FirstName,Title,WorkPhone” + “&$orderby=FirstName,Title”;
172
Capítulo 3: Desarrollo de SharePoint Apps
jqhxr = $.getJSON(requestUri, null, onSuccess); jqhxr.error(onFail); }
onSuccess
id=results
function onSuccess(data) { var odataResults = data.d.results; var markup = “
-
function onFail(errorObject, errorMessage) { $(“#results”).text(“Error: “ + errorMessage); }
default.aspx
173
Capítulo 3: Desarrollo de SharePoint Apps
default.aspx en el que habrá que incluir el con id=results así:
PlaceHolderMain
-
174
Capítulo 3: Desarrollo de SharePoint Apps
175
Capítulo 3: Desarrollo de SharePoint Apps
Nº 1 2 3 4 5 6
-
7
-
8
eventos de SharePoint
endpoints
9
SharePoint
-
10
endpoints
11
del 12
vaScript -
vaScript
-
-
13
endpoints 14
176
-
cross domain cross-domain library
P
177
-
-
P
178
Capítulo 4: Instalación y administración de SharePoint Apps
“Lo sentimos, pero no hay ninguna sitio de EE.UU. para ver las últimas aplicaciones.”
-
179
Capítulo 4: Instalación y administración de SharePoint Apps
Integration
-
-
180
Capítulo 4: Instalación y administración de SharePoint Apps
181
Capítulo 4: Instalación y administración de SharePoint Apps
aplicaciones
-
182
Capítulo 4: Instalación y administración de SharePoint Apps
link
-
183
Capítulo 4: Instalación y administración de SharePoint Apps
-
16
184
Capítulo 4: Instalación y administración de SharePoint Apps
-
185
Capítulo 4: Instalación y administración de SharePoint Apps
-
- Detalles
-
186
Capítulo 4: Instalación y administración de SharePoint Apps
- Permisos
- Quitar.
-
-
187
Capítulo 4: Instalación y administración de SharePoint Apps
-
cada a las SharePoint apps
188
Capítulo 4: Instalación y administración de SharePoint Apps
-
189
Capítulo 4: Instalación y administración de SharePoint Apps
-
-
-
190
-
-
Napa
P
191
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
- Aplicaciones para SharePoint ni las Provider-hosted ni - Aplicaciones para Word. Task Pane Content Apps
192
Capítulo 5: Novedades influenciadas por las SharePoint Apps
- Aplicaciones para Outlook.
Mail Apps sin
Navegadores soportados
plugin
-
-
193
Capítulo 5: Novedades influenciadas por las SharePoint Apps
Sitio de desarrollador
aplicaciones
194
Capítulo 5: Novedades influenciadas por las SharePoint Apps
SharePoint_5_1_1
195
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
-
196
Capítulo 5: Novedades influenciadas por las SharePoint Apps
manifest
endpoints
197
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
198
Capítulo 5: Novedades influenciadas por las SharePoint Apps
199
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
-
200
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
-
201
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
-
Event Receiver
-
Click ItemDataBound
-ed Events
-ing
-ing Before
202
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-ed
After Events
no
NUEVOS EVENTOS EN SHAREPOINT 2013 GroupAdding
GroupAdded
GroupUpdating
GroupUpdated
GroupDeleting GroupUserAdding GroupUserDeleting
GroupDeleted GroupUserAdded GroupUserDeleted
RoleAssignmentAdding RoleAssignmentDeleting InheritanceBreaking InheritanceRestoring
RoleAssignmentAdded RoleAssignmentDeleted InheritanceBroken InheritanceRestored ItemVersionDeleted
Events Receivers Remotos para App Event Receiver
eventos sobre
remotos
componentes
203
Capítulo 5: Novedades influenciadas por las SharePoint Apps
app1
app2
-
-
en el servicio serán:
AppManifest.xml
AppManifest.xml al ItemAdding e ItemUpdating
204
Capítulo 5: Novedades influenciadas por las SharePoint Apps
RemoteEventReceiverItemAdding ItemAdding 10000 ~remoteAppUrl/RemoteEventReceiver.svc
RemoteEventReceiverItemUpdating ItemUpdating 10000 ~remoteAppUrl/RemoteEventReceiver.svc
205
Capítulo 5: Novedades influenciadas por las SharePoint Apps
el concepto de ACS
-
NOMBRE DEL EVENTO
Sincronía
Eventos Web A siting deleted
Sí
A site is being deleted
Sí
A site is being moved
Sí
A site is being provisioned
Sí
A site collection was deleted
No
A site was deleted
No
A site was moved
No
206
Capítulo 5: Novedades influenciadas por las SharePoint Apps
A site was provisioned
No
Eventos en listas A field was added
No
A field is being added
Sí
A field was removed
No
A field is being removed
Sí
A field was updated
No
A field is being updated
Sí
A list is being added
Sí
A list is being deleted
Sí
A list was added
No
A list was deleted
No
Eventos en elementos de la lista A file was moved
No
A file was converted
No
An attachment is being added to the item
Sí
An attachment is being removed from the item
Sí
A file is being moved
No
An item was added
No
An item was updated
No
An item was deleted
No
An item was checked in
No
An item was checked out
No
An item was unchecked out
No
An attachment was added to the item
No
207
Capítulo 5: Novedades influenciadas por las SharePoint Apps
An attachment was removed from the item
No
A file was moved
No
A file was converted
No
-
True o False
-
-
208
Capítulo 5: Novedades influenciadas por las SharePoint Apps
True
entrada en el apartado Properties del archivo AppManifest.xml gada de relacionar el App Event receiver AppManifest.xml anterior instanciados a True
-
SharePointApp3 ~remoteAppUrl/Pages/Default.aspx?{StandardTokens} ~remoteAppUrl/AppEventReceiver.svc ~remoteAppUrl/AppEventReceiver.svc ~remoteAppUrl/AppEventReceiver.svc
-
209
Capítulo 5: Novedades influenciadas por las SharePoint Apps
desarrollador
Visio 2013
usuario de negocio
SharePoint Designer
Para el desarrollador
2012
Visual Studio
210
Capítulo 5: Novedades influenciadas por las SharePoint Apps
Para el responsable de IT
framework
-
-
-
211
Capítulo 5: Novedades influenciadas por las SharePoint Apps
Es el encargado de escuchar los eventos generados desde SharePoint para trasladárselos Azure Service Bus recoge el evento itemCreated
212
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
-
framework que no tiene Windows
-
213
Capítulo 5: Novedades influenciadas por las SharePoint Apps
http://technet.microsoft.com/en-us/library/
http://technet.microsoft.com/en-us/library/
-
sysAdmin
214
Capítulo 5: Novedades influenciadas por las SharePoint Apps
http://www.microsoft.com/web/downloads/platform.aspx
http://go.microsoft.com/fwlink/?LinkID=252092
Installer
215
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
216
Capítulo 5: Novedades influenciadas por las SharePoint Apps
muy importante poner [email protected] PASSWORD : al tratarse de un entorno de desarrollo : escribir una clave cualquiera para que se genere -
217
Capítulo 5: Novedades influenciadas por las SharePoint Apps
-
“http://ServerName:XXX” -AllowOAuthHttp
-
http://code.msdn.microsoft.com/
218
José es SharePoint and Search Specialist en SolidQ
-
branding
blogs de SolidQ de SharePoint
PowerPivot
Sigue a José en Twitter:
SolidQ
-
-
Branding
-
P
219
SolidQ
-
blog
SolidQ
blog del equipo de
Iván Paredes SolidQ
-
colaborador habitual en el blog Sigue a Iván en Twitter:
220
P
aquí
- Formación.
-
- Mentoring y consultorías. -
The SolidQ Journal
blogs
-
Da un giro a tu carrera profesional.
Máster en BI SolidQ
http://www.solidq.com/es/MasterBI
Máster SQL Server DBA http://www.solidq.com/es/MasterSQLServerDBA
POR
MASTERS CERTIFICADOS
Es tiempo de oportunidades.
Máster en SharePoint http://www.solidq.com/es/MasterSharePoint
¡Infórmate Ya! Conviértete en un profesional altamente especializado en tecnologías Microsoft. Para más información llama al 800.300.800 o +34 91 414 8950 o bien manda un e-mail a: [email protected]