Edin Kapić's Blog, page 2

July 3, 2018

How to Create a Graph Schema Extension using Graph Explorer

I've been doing a lot of SPFx, NET Core and Office 365 related development and I have several stories to share. During the implementation of���
 •  0 comments  •  flag
Share on Twitter
Published on July 03, 2018 17:00

June 29, 2018

Back to Blog

It has been more than a year that I have written on this site.


I could bring all kind of excuses. The newly found paternity has taken a toll on my writing time. (By the way, my son is over a year now! The time really flies…)


Edin with Quim at children playground


Also, I changed jobs. I joined isolutions, a Swiss Microsoft partner company that’s specialized in Office 365, SharePoint, Azure and Dynamics CRM. I have found again the joy of building solutions with carefully crafted code.


After a long hiatus, I also started to speak on events again. I was speaking at European Collaboration Summit (hats down to Adis, Matthias and Toni) and soon will be speaking at TUGA IT in Lisbon. The preparations for SharePoint Saturday Barcelona are also underway.


Finally, I have a string of posts to publish regularly again on my newly found blog. Happy reading!


 


 


The post Back to Blog appeared first on EdinKapic.com.

 •  0 comments  •  flag
Share on Twitter
Published on June 29, 2018 11:02

June 28, 2018

Back to Blog

It has been more than a year that I have written on this site. I could bring all kind of excuses. The newly found paternity has taken a toll���
 •  0 comments  •  flag
Share on Twitter
Published on June 28, 2018 17:00

February 12, 2017

SharePoint Lookup Field Throttling Causes Missing Fields in CSOM Query

A very annoying bug appeared few weeks ago in one of our production environments with SharePoint 2013.


SYMPTOMS

You have a custom list with some lookup columns that refer to other lists. In our case the main list contained news and the lookup columns contained the classification of the news.


You add a new lookup column to the list, due to customer feedback.


Suddenly, you can’t get the list results any more by code. When you do a CSOM query, the lookup fields are lost. Only the non-lookup fields are retrieved.


CAUSE

SharePoint throttling also includes list item maximum lookup references. It is set to eight (8) lookup fields per list, by default.


Resource Throttling


This particular configuration is set on the web application throttling page in Central Administration, under the heading “List View Lookup Threshold”.


SOLUTION

If you don’t need all of the lookups at the same time, you can still make the query by choosing the fields you want to retrieve. However, in our case we needed all of the classification columns.


In this case you have two choices:



Increase the list lookup threshold limit to more than 8 (that’s what we did)
Establish a large query window, an interval during the day during which you can perform the queries

The post SharePoint Lookup Field Throttling Causes Missing Fields in CSOM Query appeared first on EdinKapic.com.

 •  0 comments  •  flag
Share on Twitter
Published on February 12, 2017 03:55

February 11, 2017

SharePoint Lookup Field Throttling Causes Missing Fields in CSOM Query

A very annoying bug appeared few weeks ago in one of our production environments with SharePoint 2013. SYMPTOMSYou have a custom list with���
 •  0 comments  •  flag
Share on Twitter
Published on February 11, 2017 16:00

January 5, 2017

De buenos propósitos cara al 2017

Tenía la intención de escribir un post resumen del año 2016, pero los posts de los compañeros como Marc Rubiño o Yeray han tenido que ver en el contenido y enfoque del mismo. Más que un mero resumen, es además una carta de propósitos.


Mirando el 2016 en retrospectiva

Para mí, este pasado 2016 ha sido un año muy satisfactorio personal y profesionalmente.


He participado en varios eventos internacionales de SharePoint y Office 365, sobre todo en las comunidades técnicas portuguesa y belga, que conozco muy bien desde hace años y siempre me hace especial ilusión. Participé en el MVP Summit en Redmond, para poder aportar mi granito de arena a que Microsoft saque mejores productos para sus clientes, que son los nuestros también. Dentro de SUG.CAT, el grupo de usuarios de SharePoint de Catalunya, he impulsado el segundo SharePoint Saturday Barcelona (que salió mejor que el primero, así que algo habremos aprendido por el camino) y he colaborado en la organización del SharePoint Saturday Madrid.


New Year


Escribí un curso de Reactive Extensions en Pluralsight, que siempre es una experiencia gratificante.


Junto con otros compañeros en Sogeti, participé en una candidatura “atípica” de representación sindical (siendo no afiliados a ningún sindicato). Ganamos en Barcelona y nos pusimos a mejorar aquellas cosas que veíamos necesarias, democratizando la representación de los trabajadores y buscando ideas que ayuden a que Sogeti sea un buen sitio tanto para la empresa como para la plantilla.


En Sogeti he podido impulsar algunas medidas de cambio, tanto tecnológicas como culturales. No son muchas, ya que hacer cambios en una empresa tan grande es más lento, pero me dan la satisfacción de poder pensar en otras más ambiciosas. He hecho de mentor de otros compañeros con excelentes capacidades técnicas pero poco recorrido en el mundo de la comunidad técnica. Incluso he tenido que hacer algún que otro “chantaje” para poder sacar a la palestra aquellas personas que creo que se merecen explicar sus experiencias y de las que todos podemos aprender.


Inner circles y demás “bestias”

Le robo el título a Yeray Smile espero que no le importe.


Es precisamente en este aspecto de hacer el esfuerzo a sacar nuevos talentos en la comunidad donde empecé a notar cierta resistencia por una parte de la comunidad de los ponentes establecidos. Para que nos entendamos, con “ponentes establecidos” me refiero a la gente de la talla de Yeray, de Marc, de Eduard, de Lluís, por poner un ejemplo.


El hecho es que algunos de los ponentes establecidos no creen que tengamos que hacer nada para que se vaya renovando el cartel de los ponentes en la comunidad. Sostienen que la gente buena ya se abrirá el camino, lo que es yo también creo, y que no hay que hacer nada especial que no estemos haciendo ya. Aquí es donde discrepo. En mi opinión, podemos hacer mucho más y lo iré explicando en otros posts.


Nota para navegantes: el cacareado y malentendido “inner circle” para mí es la comunidad de los ponentes establecidos, dentro de los cuales me incluyo.


La misma opinión sale a relucir en los comentarios respecto a la falta de diversidad en los eventos tecnológicos. Todavía somos una minoría los que pensamos que este es un problema grave. La gran mayoría de la comunidad ya está cómoda con que la audiencia y el cartel de speakers sean hombres blancos mayoritariamente “frikis”. Yo he decidido luchar por cambiar esta situación. ¿Utópico? Puede que sí. Por mi parte prefiero compartir la misma utopía con gente como Jon Skeet y hacer acciones tangibles para no participar en la perpetuación de la falta de diversidad como para participar en la búsqueda de maneras de inclusión de voces minoritarias en el debate técnico general.


Igual que los “development evangelists” que se dedican a convencer a su público sobre la necesidad del cambio (tecnológico), yo me dedico a convencer a mi público en la comunidad sobre las cosas que tenemos que cambiar. No voy a pedir perdón por ello.


MVPs, las empresas y las comunidades

Entrando de lleno al espinoso tema de los MVPs (de los que formo parte) y de la relación de empresas con la comunidad, voy a exponer mi opinión.


El programa MVP de Microsoft tiene su parte positiva y su parte negativa. La positiva la conocemos: ayuda en la marca personal, el prestigio del profesional (y por extensión de la empresa en la que está), la comunidad de otros MVPs y la interacción con el equipo de producto. Ah, ¡y la suscripción MSDN complementaria, por supuesto!


La parte negativa: la opacidad en el proceso de selección es quizás la más importante. Donde falta luz siempre se forman cuentos, leyendas y fábulas sobre quién está “en el bombo”, con qué criterios y con qué “padrinos”. También cada MVP es un mundo y los hay que siguen siendo los mismos tipos alegres y accesibles de siempre y los hay que se endiosan y se piensan que están más allá del bien y del mal. La riqueza humana es lo que tiene.


Las empresas que tienen en su nómina a un MVP o varios, tienen un activo de branding y de marketing muy útil para vender de cara a los clientes y los futuros empleados. No hay nada de malo en ello. Lo malo es poner objetivos de ser MVP, ya que estaríamos pervirtiendo el modelo, tal como bien expone Yeray en su post.


Y si soy una empresa, ¿cómo podría colaborar con la comunidad? Yo creo que hay muchos modelos de colaboración posibles: patrocinio de las comunidades locales donde esté ubicada la empresa, liberar partes de su código como open-source, la cesión de espacios para charlas (que siempre nos faltan en los grupos de usuarios), dejar tiempo a sus empleados a que asistan a los eventos durante las horas de trabajo (que hay pocas empresas que lo hacen). Para mí esto es ayudar a la comunidad como empresa.


Otro mundo aparte son los eventos comerciales donde se cobra entrada y el organizador de turno decide sobre quién habla y quién no. Allí cada empresa es libre de patrocinar lo que le parezca adecuado en términos de beneficio esperado. Y cada ponente es libre de aceptar los términos o no.


Organizando los eventos como los SharePoint Saturday de Madrid y Barcelona sí que me he encontrado con situaciones en las que un patrocinador suponía que su patrocinio incluye un charla. Mi opinión es que hay sitio para charlas de patrocinadores, debidamente separadas de las charlas de la comunidad (como p.ej. poniéndolas en una hora dedicada o durante la hora de comer).


De cara al 2017

Vale, ya he dicho lo que quería decir sobre la comunidad y los temas candentes. Ahora voy a explicar lo que serán mis propósitos de este año 2017.


Igual que Marc Rubiño, continuaré siendo selectivo con los eventos en los que me involucro. Me centraré en aquellos que son realmente para la comunidad y que cuentan con medidas para tener asistentes y ponentes diversos.


Seguiré creando espacios para otras personas: montar eventos, ayudar a comunidades y mentorizando a las personas valiosas que pueden aportar su voz al debate.


Seguiré buscando ideas de mejora personal y profesional, compartiéndolas con todo el mundo que esté interesado en mejorar.


Y, finalmente, dedicaré el máximo tiempo a mi prioridad número 1: mi mujer Vanessa y nuestro/a futuro/a niño/a que está en camino.


The post De buenos propósitos cara al 2017 appeared first on EdinKapic.com.

 •  0 comments  •  flag
Share on Twitter
Published on January 05, 2017 06:40

January 4, 2017

De buenos prop��sitos cara al 2017

Ten��a la intenci��n de escribir un post resumen del a��o 2016, pero los posts de los compa��eros como Marc Rubi��o o Yeray han tenido que ver en���
 •  0 comments  •  flag
Share on Twitter
Published on January 04, 2017 16:00

December 21, 2016

Programar para SharePoint hoy (I): el legado

En esta serie de posts intentaré hacer un resumen de las posibles opciones que tiene un desarrollador (o desarrolladora) para programar una aplicación que tenga que comunicarse de algún modo con SharePoint, en cualquiera de sus variantes.




En los tiempos en los que los dinosaurios vagaban por la Tierra, el ser humano vivía en cuevas y SharePoint era novedad todavía, para programar tenías dos opciones. Cada nueva versión de SharePoint traía algún modo nuevo, así que hoy en día tenemos bastante elección y a veces se hace difícil saber que enfoque es el mejor para una situación dada. Por favor…que viejo me siento contando batallas. ¡Que alguien me sacrifiqueeeee!


El legado

Desde que SharePoint corre sobre .NET Framework (es decir desde su versión 2003), hay dos métodos de desarrollo que están todavía presentes sin muchos cambios. Son el “full-trust code” (FTC) y los servicios web SOAP (o ASMX).


[image error]


Full-Trust Code o SSOM (Server-Side Object Model)

Full-Trust Code o SSOM es el modelo de programación de SharePoint donde nuestro código se ejecuta dentro de los procesos de SharePoint (IIS y/o servicios Windows), como una parte adicional al propio código de Microsoft, para lo bueno (la velocidad) y lo malo (hundir el rendimiento de SharePoint mismo).


Este es el modelo “clásico” de los programadores SharePoint “de los de antes”. Si eres uno de ellos, tengo una mala noticia y otra buena.


La mala es que este modelo es cada vez menos relevante en los desarrollos de SharePoint. Así que si tu idea de especialización era focalizarte en código de SharePoint y te memorizabas las listas de los objetos que empiezan por SP*, tendrás que reciclarte, ¡y pronto!


La noticia buena es que FTC no desaparecerá. Siempre habrá alguna funcionalidad que es necesaria para los desarrollos de SharePoint on-premises, y no habrá otra solución tan elegante y eficiente que el código de SharePoint en el mismo servidor de SharePoint. Vaya..que saber SSOM será el equivalente de programadores COBOL en el siglo XXI.


Las limitaciones serias de este modelo son tener que desplegar en los servidores de SharePoint (y dar ataques al corazón a los administradores de sistemas cuando les explicas que necesitas un Visual Studio en el servidor), usar autenticación implícita (tu código se ejecutará con los permisos del usuario actual) y que no es compatible de ninguna manera con SharePoint Online de Office 365.


Los servicios web SOAP

Evidentemente, alguien siempre ha tenido la necesidad de integrar SharePoint con otros sistemas (¿qué otros sistemas hay? diría algún SharePointero “de los de antes”). En los tiempos en los que nació SharePoint, eso significaba usar el lenguaje universal de la web: los servicios web SOAP (o ASMX, por la extensión del fichero ASP.NET en los que se programan).


SharePoint incluye una capa de servicios web SOAP, accesibles a cualquier plataforma que sepa hacer una llamada SOAP (y que pueda autenticar el usuario correctamente, claro está). Las operaciones que expone son bastante de bajo nivel, y con muchos parámetros obligatorios, y para muestra sólo hay que mirar la documentación de los estándares. Hablando en claro, son prehistóricas.


Hoy en día han quedado bastante en desuso ya que el modelo de REST API los hace casi obsoletos. Sin embargo, es posible que todavía haya cosas que se pueden hacer con los servicios web y con la API REST no, así que es posible (pero no probable) que tengas que recurrir a ellos.


En el siguiente post expondré las opciones modernas de desarrollo con SharePoint.


The post Programar para SharePoint hoy (I): el legado appeared first on EdinKapic.com.

 •  0 comments  •  flag
Share on Twitter
Published on December 21, 2016 07:43

December 20, 2016

Programar para SharePoint hoy (I): el legado

En esta serie de posts intentar�� hacer un resumen de las posibles opciones que tiene un desarrollador (o desarrolladora) para programar una���
 •  0 comments  •  flag
Share on Twitter
Published on December 20, 2016 16:00

September 26, 2016

Las mujeres, la informática, la diversidad….

Después de “liarla” un poco parda este verano con las opiniones incómodas sobre la diversidad en la comunidad técnica y el “círculo interno” de ponentes MVP en las conferencias, vuelvo a estar en el ojo del huracán del Twitter. Y no sólo Twitter, hasta el gran @noradrex me menciona en su blog.


Woman in Tech


¿La razón? Mi comentario en Twitter el viernes pasado después de ver la agenda de Codemotion, donde las mujeres representan sólo un 7% de los ponentes. Me sorprendió que en un evento organizado por un grupo tan diverso saliera una agenda tan poco diversa. Este comentario derivó en una batalla dialéctica via Twitter y otros medios. Después de que haya pasado el fragor de la discusión, voy a poner algunas opiniones mías por escrito para que no haya malentendidos.


Primero: la organización de Codemotion no tiene la culpa. Después de leer sobre su proceso de selección y las iniciativas que han hecho, está claro que el resultado es un síntoma de una situación de todo el sector. Supongo que si ellos no hubieran hecho nada, la agenda estaría aún más desequilibrada.


Segundo: tenemos una seria falta de diversidad en las actividades visibles de las comunidades técnicas. No sólo la crónica falta de visibilidad de las mujeres técnicas, sino también de minorías o LGBT.


Tercero: hay un desconocimiento del problema, de su dimensión, sus causas y sus síntomas. Por ejemplo: no es lo mismo diversidad que igualdad. Pero para la mayoría, me atrevería a decir que lo ignoran por completo. El concepto de sesgo inconsciente es una interesante lectura y a unos cuantos les puede abrir los ojos. Otro problema intrínsecamente ligado con la falta de diversidad es el micromachismo latente, del que no se libra ni el gran Uncle Bob.


Cuarto: las causas de esta situación son diversas y complejas, y no admiten soluciones simplistas. En el debate de Twitter había mensajes del tipo “…que propongan ellas…”. No es tan sencillo porque es un tema estructural y que los cambios son muy lentos. De nada sirve hacer un evento diverso un día y olvidarnos el resto del año.


Quinto: por lo que a mí me toca, seguiré aportando mi granito de arena. Rechazaré ir a los eventos en los que no se empuja por la diversidad. Seguiré invitando a más ponentes de sectores demográficos menos representados, para que aporten su charla y su voz a la comunidad. Me esforzaré para que los eventos que esté organizando sean lo más inclusivos posible. En SharePoint Saturday Barcelona de este año he conseguido que casi un cuarto de ponentes sean mujeres, más de acuerdo con la media del sector.


¿Qué hacemos con todo esto?

Para los que quieran profundizar sobre como hacer una comunidad técnica más diversa, hay mucho escrito en Internet. Aunque algunos temas son más representativos de un país subdesarrollado socialmente como EEUU, la mayoría de los consejos son igualmente aplicables aquí en España. Os dejo unos cuantos ejemplos:



Las “booth-babes” (chicas atractivas y sugerentes en los stands) no tienen lugar en un evento en el que queramos potenciar la igualdad
Para los padres y las madres que quieran ir a un evento, tener una guardería móvil en el sitio del evento será muy relevante para que decidan si asistir o no
Podemos aprender de otros eventos como FlowCon, NoShowConf o PyConES que hicieron esfuerzos por conseguir un evento más representativo
Tener un Código de conducta público y de obligada aceptación por todos ayuda para hacer la filosofía del evento más clara a todo el mundo
Hay iniciativas como Diversity Charter que hacen visible aquellos eventos y personas en la comunidad que se esfuerzan por conseguir una representación más justa en los eventos técnicos

Y tú, estimado lector,  ¿qué opinas? Deja un comentario si quieres aportar tu voz a esta conversación.


 


 


 


 


The post Las mujeres, la informática, la diversidad…. appeared first on EdinKapic.com.

 •  0 comments  •  flag
Share on Twitter
Published on September 26, 2016 05:40