Speakers : Laura Rogers, Jennifer Mason
Adoption is all about knowing the users.
Tip 1 : Create meaningful navigation for users. The goal is to help users finding quickly what they are looking for. To facilitate the navigation, it is possible to edit the quick links directly from the browser. The default Seattle layout can be switched to the Oslo site layout. The Oslo layout removes the quick launch navigation helping focusing on the content. Managed navigation uses the managed metadata and term set. It can be used to have cross site collection navigation. Promoted links list help users navigating into the site.
Tip 2 : Create a personal experience. Different methods are available to personalize content : audience targeting, filtered views and out of the box web parts. Audiences can be used to show or hide webparts to specific group of users. But, audience is not security. All the filtered content can be surfaced on a single page, similarly to a dashboard where the webparts are using filtering.
Tip 3 : Drive process and automation of common tasks using workflow. Some automations that can be put in place are email notifications and scheduled reminders. SharePoint Designer is shown to describe how to create workflows in order, for example, send notification when something important happens. In SharePoint 2013, it is possible to have workflows with loops, which enables having reminder workflows.
Tip 4 : Design your site to encourage social interaction. Home page, social features, ratings and likes can help for this topic.
Tip 5 : Utilize existing content and apps within your solutions. The goal here is to really reuse apps that are available in the SharePoint store and not reinventing the wheel.
Tip 6 : Take advantage of Office integration with SharePoint. Using Office Client Links, Office Web Apps and Live Co-Authoring. The embedded content available in the document callout can be used to surface the preview of the document in a page.
Speaker : Edin Kapic
Scalability issues never appear when developing or testing. That is why it is better to design for scalability upfront.
Autohosted applications are not suited for scalable architecture, as it can't be fine tuned. And because Apps are now running outside SharePoint, the first advice is to minimize the round-trips. Deploying an App does not necessarily mean scalability. It must be architected for it.
A scalable architecture should include a CDN, blob storage, table storage and distributed cache.
3 Guidelines : avoid roundtrips (caching, cdn), avoid bottlenecks (NoSQL, Sharding, queue), avoid single point of failure (redundancy).
Caching is the cheapest mechanism to avoid roundtrips. Stale data is the drawback. Local cache sits on each instance of the server or the service. Distributed cache is shared across the servers. Very frequently accessed data and static data should go in the local cache. But, by default, distributed cache should be used. An example of an effective cache mechanism is the DNS. There is a mini cache in the browser, a local cache at the operating system level, and finally, also at the DNS resolver level.
CDNs are used to cache large blob data. Each blob can have a public URL (public blob). Shared signature is a part of the URL to access the private blobs. The first user accessing content from the CDN will pay the price of putting the blob in the cache of the CDN. Everything that is static, such as images, scripts, media files should go in the CDN. In order to ensure that the correct version of the blob is accessed, the URL can contain a version parameter.
Storage locks are a reason for bottlenecks. Database locks appear when changing and reading requests are mixed. While relational data and SQL Azure provides immediate consistency, NoSQL or Table Storage there is an eventual consistency. CQRS is a pattern that splits database operations in queries and commands for different processing. Queries can be optimized by parallezing, whereas commands can't. SharePoint 2013 uses more or less the same pattern. Search for queries are cached, other operations are done in the content database. Sharding is partitioning data across multiple database. The tenant ID in O365 is used as a partition ID. This is a way to go beyond the storage limitations. On the other side, making joins operations are more difficult.
Reducing bottlenecks can also be achieved by using queues. But, request/response model does not scale well, and gets expensive very fast. Queuing requests, we add decoupling and retries can be implemented. DDOS can be preventing. If the requests in a queue gets high, it can be scaled. Azure storage queues are low level and uses TCP/IP (end-to-end scenario). If you need a centralized queue system, it is better to use Service Bus queues. To notify the front end that a job has been done, use framework like Signal-R. Async is a way to optimize the requests so that a same process can serve more than just one request. Async can work even in a single thread. Having multiple thread is better in case there are multiple cores. Until .NET 4.5, it was a bit difficult to implement such solution.
In redundant design, the goal is to avoid to rely on a single node, as the app must continue working if a node goes down. In redundant apps, each requests must be idempotent. Load-balancing is an example of redundancy. Azure Traffic Manager maintains a table of the available nodes by keeping probing them to check if they are online. When a request comes to the traffic manager, it defines which server is the most appropriate before returning the address to the client.
Speaker : Paolo Pialorsi
In SharePoint 2013, authentication is done using Classic mode (Windows Identity), bringing an SPUser, or Claims which is translated into a Claims Based Identity. It is also possible to authenticate a used through SAML.
Classic mode authentication is considered as deprecated, and is only available from PowerShell. Legacy application should migrate to Claims. Claims based is the default mode. Claims based enables anonymous authentication, Windows authentication (NTLM or Kerberos), Forms based authentication (with membership API, LDAP or custom Provider) and Trusted Identity Provider (ADFS 2.0/3.0, Azure ACS, Azure Directory Service – AAD, or custom IdP/STS). It is now the default authentication mode.
The Identity Claims has a specific format. Something like the following :
i:0#.w|piasys\paolo => Windows Account
i:0#.f|fbamembership|paolo => FBA Account
i:firstname.lastname@example.org => SAML Account
The first letter defines whether it is an identity claim (i) or an other kind of claim (c). Then : is the separator followed by 0 which is reserved. The following digit gives the claim type (# = logon name, 5 = email, a = username, ? = name identifier, ! = identity provider, - = role), followed by the value type of the claim (. = String). The following letter gives the claim issuer (w = Windows, t = trusted identity provider, f = forms authentication, g = custom claims provider).
This defines the claim issuer, the way the user authenticated, separators, issuer name and the claim value.
Windows Azure ACS 2.0 encompasses an identity provider and a security token services, which support different identity provider such as Facebook and Google or any other Customer WS-Federation compliant provider. Specifications supported by ACS 2.0 are OAuth 2.0, WS-Trust, WS-Federation, SAML 1.1/2.0 and JSON web token (JWT).
When trusting an external identity provider, only claims are sent. SharePoint uses claims provider to get claim values. It has 3 out of the box claim providers, for Active Directory, Forms based authentication and any kind of identity provider. To develop custom claim provider, it has to inherit from SPClaimProvider, which provides methods for Name resolution, claim augmentation, etc. A claim provider requires a farm solution (so, not suitable for Office 365).
App authentication is supported only for CSOM or REST API requests.
3 app authentication model : internal app authentication used by SharePoint-Hosted apps, external app authentication via OAuth supported by O365, and external app authentication via server to server which is only supported on-premises.
Server to Server is also called High-Trust authentication, but it does not mean Full Trust. It establishes a direct trust between the servers and is based on a X.509 certificates. It is available for provider-hosted apps and configurable using PowerShell.
For authorization, SPUser and SPGroup classes, inheriting from SPPrincipal, are the main actors, that are almost the same as in SharePoint 2010. They define user or group principals to which it can be given explicit permissions to site, lists, items, etc. The authorizations rely on permission levels that are nothing else than a set of permissions.
Apps are not users and are granted as all or nothing. App can include permissions requests. If the app is granted, the app can be installed. If only one request is not granted, the app will not be installed. Permissions cannot be changed after assignment, but only be revoked. App has only full control on its own app web. Permissions are targeting scopes and rights, such as site collection, list and read, read-write, manage or full-control. The rights can also target a specific service. Rights and scopes are not customizable.
Speaker : Agnes Molnar, Israel Vega Jr
Information architecture is a science of organizing and labelling content, in order to find it easily. How much does it cost not finding information ?
Governance is important. So, without governance there is no naming convention (document, document library), no structure (everything stored in the Shared Documents library) or not knowing where to store a new document, leading to the creation of new libraries and duplication. Some organization is needed.
Naming convention implies content type definition, terms along with the correct structure.
Some IA design starting points : Either user interface or randomly, cost, business needs, willingness to train, politics, IT restrictions.
The IA components are Document IDs, sites, etc, etc. SharePoint offers a wide range of possibilities of components. Start, for example, with the metadata and content types, then navigation components. But, the trend is going to a Search driven navigation. Several master pages may be needed to display different kind of content. Visual design can help organizing the visual organization of the information.
Never modify out-of-the-box content types such as Item/Document. But, inherit from the Document content type to create a company document, and subsequently legal, sales and finance document content types. Each content type can be associated with different term groups or policies (i.e. content disposition).
Logical navigation is typically the top navigation, secondary navigation, current, recent and breadcrumb. Physical navigation is structural, such as the quick links.
Home pages normally just surface content from other location of the site. Summary of summaries are content rollups. Detail pages are content.
Metadata may have different meanings depending of the context, so, be careful. On the opposite, several fields may have the same meaning. That is why there is the notion of crawled and mapped properties. Crawled properties are metadata that can be understood by SharePoint, but may not make any sense for the user. Managed properties are metadata used to group crawled properties that have the same meaning.
The recommended IA process is to start to ask what we are trying to do, why, and also how to know it is right or wrong.
During the SharePoint implementation planning, user workshops, input from IT, design and some vision are needed. It is not needed to be right the first time. Planning is crucial. For starting a migration, first, make an inventory of the existing (size, metadata, owners, security). Cleanup may be necessary. It is important to know what is and is not working today.
Cloud has seriously to be considered. It is not necessary to model everything though. It is better to have something than anything.
Document lifecycle needs to be standardized, thinking about governance first. Authoring is done in many places. For example, creation can be done at a single location, but displayed in many different places.
When migrating to the Cloud, challenges are the followings : managed paths, multiple web applications, host header site collections, custom site definitions and large content.
Another motivation is to make the Search better, which is based on crawling, indexing, ranking and results display. Admins have to work on the optimization. But, users are responsible of the content.
For an hybrid integration, it means separating the workloads, for example sending new content to the cloud, and keeping old content on-premises. Whether a content should go in the cloud or not also depends of the licensing. MySites can go in the cloud directly. Department collaboration can go to the cloud, depending of the sensitivity of the information. In a hybrid taxonomy, on-premises and cloud ones are different.
To understand if it is going to the right direction, everything must be measured. Measured are used to improve the things.
Speaker : Cathy Dew
Responsive web design reacts to screen size and orientation. Adaptive web design adjusts the content in the design. Usually, for SharePoint, she starts with 3 different breakpoints : 1024px, 768px and 320px.
Don't try to make mysites responsive !
Design Manager is not good for intranets (lists, etc). Usually, responsive design is deployed on-premise through a full-trust solution, while on Office 365, it is not possible.
Responsive design implementation is based on grids. So, using grid based layouts. Also, this grid will be flexible.
The key is to make everything flexible, such as images that can resize. But, there are some limitations with IE7 and lower.
Media queries are based on media types defined by the w3c. A media query targets a device based on screen resolution and orientation. Ensure the navigation consistency, which becomes more and more important as the device gets smaller. In SharePoint, there are the top, left and breadcrumb navigation. How is there are going to be translated on the devices ? For example, the quick navigation may disappear if the screen is not big enough. What to do with the ribbon ? Maybe it is not needed on a smartphone, but required on a desktop.
Start from the smartphone version.
Step one, the wireframes to separate design from functionalities and not focus on little design details. Also, decide how content will be displayed (not design). The wireframes already have the grid in overlay to help the transition to the mockups. The most important content must be above the scroll level, especially on mobile devices, to avoid to have to scroll down to reach content.
Wireframe tools : Balsamiq, Visio, Adobe Creative Suite and Axure
From the wireframes, create the mockups, with the grids in the background. Also for the different screen resolutions. The SharePoint elements must be clearly identified, especially if the mockups are handed over to a development team in order to avoid them having to guess what they are. Developing design for Office 365 is working with a moving target.
Speaker : Eric Overfield, Rita Zhang
2007 has seen the first release of the iPhone, leading the change in the way people consumed the informations. This also changed the way people were doing designs and user experience. With the increasing number of devices, it is no longer possible to have one site per device.
Responsive design is a concept of using one web site being able to show on every kind of devices, screens or browsers. Two methodologies, progressive enhancement and graceful degradation. Responsive web design is in the middle, which is encompassed in adaptive web design. Progressive enhancement is mobile first, while graceful degradation is desktop first.
Responsive design relies on fluid design, which means that elements have relative dimensions, in percentage, rather than absolute values. It also relies on the media queries (@media in CSS). The media query allows to define the screen sizes and orientation. Be careful, IE8 does not support media queries. For IE8, a specific stylesheet has to be provided, but, normally IE8 is only available on desktop, reducing the amount of work to adapt the design.
It is highly recommended to adopt a mobile first approach and starting building code for mobile interfaces. Also, you can have more control on the resources and already avoid using big images. This helps focusing on content first.
Regarding navigation, it has to be adapted to the different viewports, and what kind of navigation to use (dynamic or static). For mobile navigation, a complete touch navigation experience has to be implemented.
Begin with site planning, such as content planning, site map, information architecture. The wireframes need to include mobile devices, along with the mockups. At the same time, design for the extreme. Always remember SharePoint, and decide what will be part of the Master Page and Page Layout. How to handle the navigation is a frequent question.
After the wireframes and high fidelity mockups, it is time for an html prototype. It is possible to define your own grid, or to reuse an existing framework and leverage the experience of other developers. It obviously saves time and budget. Many of these frameworks provide extra features, such as collapsing navigation for example. Nevertheless, it can take time to ramp up on a framework and may not be SharePoint ready.
Some frameworks : Twitter Bootstrap. Zurb, Skeleton, Less frameworks.
Moving from the html prototype to SharePoint, it has to be split between the Master Page and Page Layouts. It is possible to reuse the SharePoint components from the snippets gallery.
A key advice (among others cited) : develop for the real world (will mobile users need to edit pages ?)
Speaker : Sanjay Narang, Luca Bandinelli
The requirement is to build an internet facing site, highly customized and the needs to be always on. So, minimum downtime and data loss. At which level high availability is needed ? This has also to cover the natural disasters, which implies different data center location. Azure has a connectivity time of 99.95%. If you want more, the solution has to be designed accordingly.
O365 is the place to go for collaboration, but it is not the case for Internet scenarios. Therefore, Azure is the good option and is able to scale on-demand. SharePoint solution on top of Azure is a Microsoft supported solution. Specific features, such as blob storage, fast cross-dc transfer will be very useful.
The solution is based on two different farms in two different Windows Azure regions, using a custom log shipping jobs for data synchronization (and not SQL Always-On). Also, traffic manager will be used.
Content and Management database will be synchronized. Search will have 2 search services, one for the production, one for the DR.
Virtual networks is a challenge as they are restricted to a single datacenter. Also, an AD cannot span multiple DCs. Therefore, each farms will be in different domains, preventing the use of SQL Always-On. Also, a domain trust has to be setup.
The primary farm in a Windows Azure will have an affinity group, in which a virtual network will be defined. Different cloud services will be defined containing the virtual machines. But, each of these elements need to be always available, using an availability set. For front-end servers, Windows Azure Load Balancer can be used. For SQL Server, an Always On Availability Group will be setup, with an Availability Group Listener Group. But, this implies having all the clients in a different Cloud Service. For custom log backups, blob storage will be used.
The DR farm is similar to the primary farm. The custom log shipping job will take the backup from the blob storage. The content DBs and MMS DB are read-only and not part of Always-On AG. The search is created separately and crawls the read-only content DBs and must be scheduled outside of the restore window time.
Custom Log shipping is required on both farms. The backup and restore commands will use an URL for the storage. The challenges of having two farms with different AD is that accounts are different from one farm to the other. Doing a backup/restore will therefore not work. The DR required accounts must be added. Once it is done, it has to be backed up and restored on the primary farm, thus containing the accounts of the DR farm.
For search, log shipping can't be used. Having a separate search services allows to keep the SLAs and not requires to copy the indexes. But, having this setup makes the search analytics not usable (at the global level).
The main component enabling failover is the Azure Traffic Manager. Requests will always be directed to the primary endpoints while it is available. A custom job will poll the TM to check whether the target endpoint has changed. When the primary farm goes down, the TM detects it and redirect the request to the DR farm, which is read-only. The custom job also detects it as well and pauses the restore job to enable read-write accesses. TM takes 90 seconds to detect a farm is not available. When the TM has switched to the DR farm, we need to prevent it to come back to the primary farm when it is back online, as this farm is no longer primary.
Issue now is that when the DR is permanently switched, there is no DR anymore. It has to be rebuilt, similarly to how it was done for the original DR farm. During the patching, the DR can be used temporarily, but, think about SLA, as the DR will be read-only. Consider also using the Content Delivery Network to cache the pages and other content.
Speaker : Sonya Koptyev, Greg Lindhorst
After the announcement of the InfoPath discontinuation, it was expected to have a session quite full, and it was indeed the case. Many people seeking for information about the future of Forms.
4 main scenarios were presented.
Excel Surveys, with which questionnaire can be designed and proposed to the users for filling. For each question, a column is added in the Excel worksheet. The different data types are supported and the editor is simple to used.
A brand new feature, which was apparently showed for the first time : FoSL (Forms on SharePoint List). This feature, available from the ribbon, next to the InfoPath "Customize Forms" button, is opening an editor showing the already available fields, coming from the list. The designer allows the user to place the fields where he wants on the design surface, and also to resize them. In list editing mode, the form is displayed with a user interface that is similar to the one used in Access Services.
Another way to publish forms is to use structured documents, in other words, a Word document containing fields.
The last possibility is App forms or Access Services.
All the presented solutions are for information workers, and do not use developments or code (no CSR, LightSwitch or Visual Studio)
Currently, the alternatives are multiple, from Nintex or Formotus, just to name two of them.
A roadmap presented for the next year, and the features are not yet frozen as the community inputs are very welcome. InfoPath will stay for a while, and will be supported until 2023.
There is currently no migration tool or techniques, and Microsoft is thinking about what can be done.
Speaker : Rafal Lukawiecki
Data mining is about exploring and finding correlations between data. It also can be used to do predictions and to find patterns. But, predictions does not mean predicting the future. Predicting the future means making strong assumptions that nothing will change around you.
Predictive analytics is understanding the customers and building effective marketing campaigns.
In order to do data mining, the data must have some structure, having attributes, flags, etc. But, you have to flatten the data or de-normalize the data structures, which means potentially a lot of data with a lot of different columns.
As an output, there are analysis, such as a risk of fraud or happiness. Another output can be just clusters or groups.
3 steps are necessary, defining the model (input and output), train the model, and validating the results that is likely the most important.
From the data, the data mining engine feeds a mining model.
On the backend, SQL Server with Analysis Services are required, starting with the version 2008. Starting 2012, SSAS comes in two flavor : multidimensional and tabular. But for data mining, no cube is needed.
On the frontend, only Excel is needed plus the free Data Mining add-Ins. The data for the Data Mining Add-Ins must reside in the Excel sheet. SQL Server Data Tool might be used to manage data mining projects. Additionally, SQL Server Management Studio may be helpful as well.
For model validation and statistics, R is the reference (http://cran.r-project.org/), bringing additional statistics tools no available in Excel or SQL.
An excellent presentation with an excellent enthusiastic speaker !
Speaker : Dan Holme
Why SharePoint 2013 delivers business value and decrease risks ?
SharePoint 2010 is a great product, but not for the world we are living today. Since 2007, some revolutions appeared. People became at the center of the attention, with the mobile devices and social networking. The cloud also emerged in that period. From those trends, Microsoft developed SP2013 and Office 365. SharePoint 2010 is so 2006.
Instead of upgrading, move forward. Basically, an evolution of the workload and not a big upgrade project, because the latter deliver little or no value.
But, at some point, migration will be needed (for support reason maybe).
He does not advise to wait for the Service Pack or a specific version. The main reason is that Microsoft is also running SharePoint internally, which makes the product more stable and reliable from day 1 and from the first version. Service Packs are now just a cumulative update, introducing new features. Stop giving justification for waiting and really move forward.
Business does not wait and have evolving needs that need to be answered quickly. If IT can’t deliver, business will go around them.
Migrating to SP2013 should be done by adding services to the current SP2010 implementation. For example, by deploying the Search Center or the My Sites. Web Content Management and Mobile Devices access are two examples of big drivers to migration of the workload to the new platform.
This leads to a hybrid solution, with SP2010 and SP2013 side-by-side, each achieving different business goals.
When SP2007 is still in place, several factors need to be considered (decision tree). One of them is if SP2010 can answer to business needs, chances are that it can be done better in SP2013. At the end, there is no real business that would benefit in sticking in SP2010.
Upgrade is dead. Migrate instead. There is no In-place upgrade, a new farm has to be deployed, doing a database migration (for example). SharePoint 2013 keeps the 14 hive from SharePoint 2010 and content from that hive would still be available and still works. The user may not even see the migration to SP2013, by staying in SP2010 mode. The reason for this compatibility is the Microsoft had also to use it for Office365, to avoid having users suddenly seeing the 2013 user interface overnight.
The sequence, therefore is : build the servers, deploy the SP2010 customization, deploy and upgrade the services, migrate to claims (new features are highly relying on claims), upgrade the content databases and site collections. Don’t forget to backup and test everything. This can be in a quite short amount of time (example of 12TB of data migrated in a 4 days week-end). If something work in SP2010, it should work on SP2013. From a technical perspective, it is not possible to go directly from SP2007 to SP2013. At step in SP2010 has to be made. Don’t stay too long on SP2010 and move quickly to SP2013. Moving from 2007 to 2013 can be done with a 3rd party tool though.
Database attach upgrade should also be considered when deploying a Service Pack, starting with a clean farm and then migrating the database to the new farm, instead of an in-place upgrade.
For Cloud services, there are different kind of Cloud : SaaS with O365, IaaS with Winows Azure, managed IaaS where the management of the infrastructure is outsourced, and the Private Cloud. Truly said, “private cloud” is a new wording for “on-premises”.
Team sites are typically things that can be deployed in the Cloud, such as O365. The same for extranet scenarios or social features.
Public-facing websites, full trust solutions or development environments are more typically deployed in a IaaS.
Moving to one type of cloud or another depends of the workload, not everything must be migrated to a same cloud. Currently tools and guidance are still incomplete, and there is no magic button to move to the cloud. Hybrid service architecture challenges should be addressed early (before the business comes with a burning need). Also, architect the on-premises environment implementation to reflect O365, for example by separating the customized solutions from the out-of-the-box implementations. Building customizations for the cloud as much as possible is crucial too. Use the full-trust solution only when necessary.
This will end up with a hybrid solution, in terms of cloud type (O365, IaaS, on-prem), versions (2010, 2013), edition of SharePoint and services.
Title : Getting Started with SharePoint 2013
Author : Robert Crane
This book explores the very first steps of SharePoint 2013, using a standard team site. It starts with an explanation of how to use document libraries, calendars and some other type of libraries or lists. Then, it finishes with the search and the recycle bin.
Book Review :
For the price of the book, there was not risk in having a look and reading the book. Unfortunately, it stays at the very basic level of the usage of only some of the library and list types. Yes, it explains how to upload a file, how to recover a file from the recycle bin, but, from my point of view, most of the things described in this book can be discovered by a user exploring the platform. Moreover, it stays explaining some of a team site features. In my opinion, this book can be skipped, and a reader that wants to explore SharePoint 2013 should rather go directly with a book like SharePoint 2013 for Dummies (which I haven't read yet) that will go beyond what Getting Started with SharePoint 2013 goes.
Title : SharePoint 2013 – Planet of the Apps 2.0
Author : Sahil Malik
SharePoint 2013 comes with a new development model, based on Apps. This book goes through the different kind of Apps, giving examples of each of them, explaining what Apps are and building the next examples on top of the previous App. It is an introductory book and it is not intended to be an in-depth one, going in all the details of Apps development. This is understandable looking at the topic and how vast it is.
Book Review :
The very good thing is that the book is written in such a way that you read it fast. It is not a 600 pages paving stone and to give an overview of SharePoint 2013 Apps, it is perfect. It starts with a really simple App, a SharePoint hosted, and going further, adds complexities and ends with Server-to-Server type of App, talking about permissions, Azure ACS and many aspects that a developer starting putting his hands in Apps development should know. That said, as some subjects are complex, some parts of the book should be read carefully and some time should be spent to really understand some notions before going forward to the next example or chapter. Additionally, the writing style is nice and Sahil uses a good humor to help digesting some topics.
For me, this is the book to start with (well, at the same time, I haven’t read many of Apps development book so far; it is coming…), giving the first steps to develop SharePoint 2013 Apps. It is short and long enough to get a nice understanding, and finally, it is fun. And remember, “Hash is legal in Amsterdam (almost)” (ref. to the first version of the book).
After the setup of a new SharePoint 2013 environment, I started testing it by creating a really simple SharePoint-Hosted App, like a basic “Hello World” App. For this environment, I am using a Visual Studio 2012 development machine remotely from the SharePoint 2013 box. In order to test this very simplistic application, I just pressed F5 to launch the VS debugger and I landed on the SharePoint 2013 page, and was able to see my App in the quick launch menu. But when I clicked on the link, I got a nice “The resource cannot be found” (404), as show in the picture at the beginning of this post.
I checked several times the SharePoint 2013 App settings, such as the “App domain” URL and the “App prefix”, and they were correct. I also checked the DNS settings and the bindings to the IIS site and everything was perfect.
During my troubleshooting, I saw that deploying manually the App was working perfectly. It means that there was a difference between a deployment using VS and a manual one, or, the execution of the App.
Googling a bit, I found this post on the Microsoft forums : http://social.msdn.microsoft.com/Forums/en-US/appsforsharepoint/thread/188d78d8-8c35-46df-8770-695d1258ad18/
In this long thread, people are mentioning that they were adding a colon to the loopback IPv6 address that VS is adding in the hosts file (located in %Windir%\System32\drivers\etc ), making the address ::1 invalid. This indeed worked for me, but raised another question. VS was adding two IP addresses for the same host :
Clearly, ::1 is the IPv6 equivalent of 127.0.0.1, but my App was not running locally, but on the 10.180.128.195 server. So, why the IPv6 was wrong and not equal to my SharePoint 2013 IPv6 address ?
While in debug mode, I replaced the ::1 address by the real IPv6 address of my SharePoint 2013. And………it worked like a charm.
So far, my theories are (and be cautious, because they need to be confirmed), coming from many different tests I did :
- By adding a colon to the loopback IPv6 address, it makes it invalid (rfc5952). This causes my development machine falling back to IPv4 to connect the server.
- The reason why VS adds the loopback IPv6 instead of the correct one is likely because it cannot resolve the host name with IPv6. And rather than not adding any entry, it adds the ::1 address.
As also written in the MSDN forum, to avoid having to every time manually change the hosts entries while in a debugging session, disabling IPv6 is a good way, and most probably not an issue for most of the people.
Last November, during the SharePoint Conference 2012, I bought the Surface RT and so far, I’m really happy with it (and don’t want to change for a Pro version).
But, yesterday, when I took it to read my favorites blogs, I saw that there was no WiFi connection. I was still able to see the dozens of other non-hidden WiFi of my neighbors, but, none of the 3 SSIDs (2 of them are visible, but protected) that I use. Switching on and off the flight mode didn’t help, so I tried the option to refresh the Surface, and after about 30 minutes, still nothing.
The day after, I took it and tried to connect it to another WiFi network and there was no issue. I took this opportunity to download and install all the available updates, in case one of the could fix a potential bug (knowing that many people have issues with WiFi connectivity with the Surface). Back at home, no luck. Still not able to connect my hidden SSID or the two others.
Trying again my search engine, I found this superuser.com post, about an issue connecting a Windows 7 computer on a WiFi router. One of the answer was to change the WiFi channel used by the router. Then, I refined my searches, and found this interesting thread on the XDA developers forum. Here, it says that US Surface RT can’t connect to channels 12 & 13.
Looking at my router’s WiFi settings, I saw that it was in “Automatic Mode” and setting it to a specific channel other than 12 and 13 made my Surface finding the network again. Honestly, I didn’t checked if it was confirmed and that US Surface RT really can’t connect to channels 12 and 13, but at least, it works for me, and maybe for others as well.
So, if, like me, you bought your Surface RT in the US, check your router WiFi settings if you loose your wireless network and try to change the channel used…
After two weeks of vacations in Las Vegas and around, after the SharePoint Conference (@SPConf, #SPC12), I had time to think about what I found good and less good at this event. Even though it was not mandatory to let that amount of time to write a wrap-up, doing a step back from the conference was not bad in order to make the things more objective. So, in this post I will review the different aspects of the event, from the location, through the content.
When, in Los Angeles last year, it was announced that in 2012 the SharePoint Conference would take place in Las Vegas, I immediately thought to register. And for mainly two reasons. First, I really love Las Vegas, and, second, it meant that something great would happen. Even if most of the attendance knew that a new release would come, not that many people thought that SharePoint 2013 would have came out in such a short period of time. Since the SPC09, I was convinced that one of the reason of going back to Vegas was because of a new version of the products (a bit of intuition as well). The Mandalay Bay is a great place for such huge event, even if I’m not sure it is the only Convention Center able to contain that many rooms for sessions and 10’000 people. Moreover, the number of places where parties or dinners can be made is unbelievable. Taking a room in the same location (either the Mandalay Bay or TheHotel) is also a good decision, as going from the room to the Convention Center takes already 15 minutes, staying in another hotel would take really more time (even from the Luxor, count 10 more minutes). So, an advice for the people that wonder if it worth being in the same hotel as the conference, the answer is : YES.
In 2011, it was the first real time I used Twitter and I was blown. For a long time I was wondering about the reason or the purpose of such tool. Basically, is that really useful ? A conference is a really good example of usage of this tool. The communication medium was perfect to propagate information, room changes or other important news. Moreover, communication to and from the conference organizer (@SPConf) was radically easier. Moreover, it fosters people to interact with others and exchange experience or news. On the real life side, this year was amazing. I saw and was involved in many discussions, with people I’ve never met before, or people I exchanged with on Twitter or only via e-mail. One could see people really discussing and making new friends. The Community Hub, setup by Joel Oleson (@joeloleson) and Mark Miller (@EUSP) was a great success. A lot of people were passing by the booth to meet and it was very dynamic, showing that the SharePoint community is not only a word, but is also very active. Here, my advice to people that would be new at a (SharePoint) Conference would be : don’t be shy, engage with others and take a good bunch of business cards.
With the partner events and the Microsoft Tuesday event with Bon Jovi, there was many occasions to party all along the week. Passport party, red party or green party participated in the lot of fun that people were able to get. They were great events. Nevertheless, it goes fast and being able to meet each of your friends during a week is definitely hard. Goes too fast. And, also, don’t go to sleep too late, you would pay it off during the next days of the conference. A special mention also to Erica Toelle (@ericatoelle) and her #SPCSuite idea, that was a lot of fun.
Once again, the organization was great. Even if there was 10’000 attendees, the registration went smooth, almost with no waiting time. During the course of the week, I haven’t seen big problems. If I had to give an area to improve, it would probably be the room’s session allocation. Several times, sessions were packed and it was no longer possible to enter the room. An idea to avoid these situations in the future is maybe to enforce the registration to the sessions. On the other side, I was really surprised to see the lack of tolerance of some people. Indeed, I could see once a blue-shirt lady explaining hundreds of times that the session was full and that no more people could enter. Suddenly, one or two guys insulting her so much that she had to leave, shocked. I don’t understand this kind of behavior from an attendee. It is like shooting to the messenger. I would also like to thank all of these blue-shirts people for their guiding information and their kindness during the week.
Another point to improve is the break between the sessions, that was not long enough, at least from my own point of view. 15 minutes to go from the lower-level up to the 3rd level, with some many people in the corridors, it is too short. I am open to have sessions starting earlier in the morning and finishing later in the evening, making the breaks longer, as I know that many people are not attending the same kind of session (business, developer or IT) the whole day, but rather switch from one to another. Splitting the types of sessions by floor was very good though.
Organizing the catering for 10’000 people is really serious and can’t be improvised. Here as well, thumb up for the organization. I’ve never waited more than several minutes to reach the buffet and then to find a seat. Again, we should not be afraid of joining a table with already many people around. It is a very good way to make new friends or to network a bit. For non-american people, the food can be......different, but it was ok.
Seeing my colleague coming back from the Build Windows conference with a Surface and a Lumia 920 got me mad. Ok, not that much, but still. Of course, we could not imagine that Microsoft would leak 10’000 Surface to the attendees. Instead, we got a backpack and a bottle. I can’t count the number of bottle I got from conferences. The first day of the conference, I immediately thought that a nice swag would have been a 3G SIM card for smartphone. At least, people would have been able to twit or get access to the internet (see my last paragraph).
Since the keynote, it was obvious that 3 main topics that would be addressed during the week : Social Networking, the Apps and the Cloud. And we were not disappointed. Almost. In reality, when discussing with colleagues and friends, it appeared that several sessions were similar. Moreover, there was some lack of in-depth sessions, most likely because of the recent release of the platform. I didn’t attend sessions that were really bad, but watching few videos and also gathering some feedbacks, it appeared that many presentations were not enough prepared or rehearsed to avoid bugs or issues on stage. Another thing : when promoting the “all-in-the-Cloud” strategy, it works better when there is a network, but I will come back later to this specific point. Indeed, many demos failed because of the connectivity. I was also lucky to mostly attend great sessions held by top speakers. When you attend a session with Andrew Connell or Eric Shupps (@eshupps), it is a guarantee that you will have good time. But according to some other attendees, some of them were not that lucky. On the other side, it is true that in some occasion, I attended sessions where the title was not really aligned with its content. The strategy I adopted was to mainly select the sessions according to its presenter. My favorite presentation, because of its originality and also because it was really spectacular, was without doubt the “Zero to Live in 60 minutes using SharePoint 2013 Publishing”, with Andrew Connell, Daniel Kogan and 4 others Microsoft Program Managers.
Wifi (because it deserves its own section)
Finally, and even if it was “heard loud and clear” by the organizer, the wifi connectivity was not even bad, but awful. I understand, ensuring the wifi for 10’000 people is not that easy, but there was already a warning in Los Angeles where attendees were complaining that the wifi was not reliable. Also, nowadays, both technology and people are able to support such a big number of connections. At the end, 2 days without connectivity is simply not acceptable. Sorry. Moreover, the last day of the conference, connectivity was also lost for the exhibitors. Again, when promoting the Cloud, there is a bit of an issue.
Last but not least, I would also like to thank Dave Coleman (@davecoleman146) for offering his platform for blogging to some people like me, and was happy to meet Dave and discuss a bit during the conference. I hope to see again the people I met or missed during the conference in the course of next year or at the next SharePoint Conference (not yet announced).
Definitely, the SharePoint Conference, is THE conference to attend when working with SharePoint.