Gå videre til hovedindholdet

Napa Adventures - SharePoint 2013 and Office 365

SharePoint Apps

Hand-sorting grapes at peak flavor, punching-down wines in open tanks, that's the wine making philosophy in Napa Valley, California. Coding apps in open SharePoint 2013 Online tank instead of pumping must in small barrels. Bottling Napa-apps under your own private label, that's the Napa-app making philosophy in SharePoint 2013.

The world of making wines, the idea of making my own apps and having my own app-vineyard sounds pretty good to me. Being my own master and concentrating on building good quality apps is not that bad. Kind of cozy, scary and exciting at the same time. This romantic notion of having a vineyard is in reality a lot of hard work. Wine making requires a lot of manual work in the field, extended knowledge about grapes, fermentation, bottling...

Working in the field equals many hours outdoors under the sun. I just need one glimpse in the mirror. A quick reality check. I'm just a pail skinned developer. I'll need a lot of sun cream...

There is also that little funny thing with designing your own label. That's hard too.
It is important, because there are lot of wine bottles on the shelf at the store. Just like wine bottles, my apps will end up on the even bigger shelf in Office Store.

I was also wondering about the region and climate of Napa Valley and quality of grapes. What is the corresponding quality attributes that influence my app making?

I thought it through, and I think it's a challenge. If I continue on making my own apps, I can end up as tanned cool SharePoint fantastic something-something, or I can end up as being good at making apps.

Anyway, here is my top 5 for having my own app-yard:
1. Choose the right app to make
2. Some good quality coding
3. Testing app in different environments
4. Usability, end-user support
5. Design own label

How it works - "Napa" Office 365 Development Tools

There is a very nice step by step how-to start building Napa-apps here.
The only thing that I can add is that you don't really need Office and Exchange to build Napa-apps for SharePoint 2013.

I signed up for SharePoint Online developer site. I clicked on Get tools to build apps and started on my first Napa-app. It's that simple. After you get your developer site and click on Get tools to build apps, you only have to follow the directions on the screen and there you have it. Your first Napa-app with default page and Client Web Part, displayed in browser.
I must say, it's cool to be able to code apps in browser. It works fine. I also tried to open my Napa-app in Visual Studio, and yes, that experience is still top of my pops. :-)

When you click on "Download to Visual Studio" icon, you can download Visual Studio tools for Napa apps.
If you decide to download your Napa-app to Visual Studio. You only need a VM with Windows Server 2008 or Windows Server 2012, and Visual Studio 2012.

Your Napa-app is deployed to your developer site regardless of you are working with code in browser or Visual Studio. Another smart thing about developer site is that you have "Publish to Office Store" tile - a shortcut to Office Store here. When you sign up as a developer, it becomes a shortcut to your own "Seller Dashboard":
SharePoint 2013 Apps
I got my own Seller Dashboard. I also made a Napa-app and I uploaded it to my Dashboard. My app is not complicated, but I did a lot of work to get in the store. The first time is always the hardest. I made a logo, decided how much it will cost, made end-user tutorial for my app, made images and text to present my app, and finally my app was sent to test.

My first Sharepoint 2013 app is a slideshow app. It looks like this:
SharePoint 2013 App

I waited patiently, and I got my app approved ;-) I was happy and proud of myself the entire day.
It's only one bottle, my SlideShow app. I know. I know. One bottle of wine usually gets me drank though.

SharePoint 2013 Apps

This is only SharePoint. We are not in business of saving lives. Cool and other options in Pay Now are here if you think this blog post helped you.

50% of profit goes to charity.

Publishing Pages
18 page layouts 
SharePoint 2013 App
Count down to important events
SharePoint 2013 App
Number of views and reports
SharePoint 2013 App
Quick poll and pie chart statistics
SharePoint 2013 App
Image carousel and transitions
REST Search
With REST Search Content App Part

Related Content
SharePoint Apps and Anonymous Access on Office 365 Public Website
The app works with anonymous access, but the custom domain is causing the CORS problem
SharePoint App Checklist
What do you need to submit your app to the Office Store? An app that works on a dev site?

SharePoint-hosted Apps vs. Cloud-hosted Apps
What can we gain by having an image saved on Azure? SharePoint has libraries and folders to save files.

SharePoint Apps in Office and SharePoint Store
But probably the biggest change that happened to SharePoint custom solution development is the Store. Microsoft's Office and SharePoint App Store

Building SharePoint QuickPoll App
QuickPoll app is SharePoint 2013 app, available for purchase at Office Store.

SharePoint Branding - Themes
SharePoint branding. It is difficult. It can't be done :-)

SharePoint Apps - List Custom Form
You can add a custom list to a SharePoint 2013 app. You can add columns and views. You can also add custom list forms. The hardest part in adding custom list forms is getting the right URL to the custom form files and JavaScript files.

Speaker at European SharePoint Conference
I'm speaking at the European SharePoint Conference 2013

Everything can be an app. A web part, a custom list, or a button in the Ribbon. App is a new way of packaging SharePoint 2013 solutions

SharePoint 2013 Provider App hosted on Office 365
Developer: How to set up Provider hosted app to deploy to Office 365

App Properties in SharePoint 2013
Properties that can be altered by end-users in Tool Pane are not gone in Apps, written with JavaScript.

SharePoint-hosted Apps vs. Cloud-hosted Apps Part II
I wanted to show app architecture and how it differs from SharePoint full-trust farm solutions. I used a relatively simple solution for IT department as an example.

SharePoint is like football
SharePoint is my football

SharePoint Multilingual Apps
How do you localize apps? I do multiple languages in JavaScript code in SharePoint apps

Self-hosted Apps List Access with CSOM
Self-hosted apps run isolated from SharePoint site. The code that worked with SharePoint 2010 web parts, the code that read or write data from the SharePoint site doesn't work in self-hosted apps.

SharePoint JavaScript Office Store App Licensing
Developer: SharePoint JavaScript - How to implement app licensing in SharePoint hosted apps

Script Editor and Embed Code
I was doing a demo of SharePoint 2013 social and publishing features, and I showed how to embed video from Youtube directly on the page. Than I showed how to embed Twitter feed and Linkedin.

SharePoint JavaScript - Add List with Columns
Here is an example how to add custom list with date, link, html, user, and choice column

Use ListView in SharePoint 2013 Apps
XsltListView web part comes in handy when you want to show contents of a list or library

SharePoint JavaScript Client Object Model Why Not
Developer: Why is JavaScript sometimes the best way to do things

Other Things I Wrote
Developer's Guide to Delve
Developer, IT Pro, Business: What is Delve

Cross-Site Publishing
How to use search and Content Search web part on two different site collections. In the example, I use one site collection to manage content and another site collection to show content.

SharePoint Search with REST
SharePoint search with REST is fun. Lots of fun. Open your SharePoint 2013 site and add /_api/search/query?querytext='*' after site Url

The Story of SharePoint
Once upon a time, there was SharePoint and her four sons

Install SharePoint with no domain controller
Choose this proven to work practice, if you want to explore and learn about SharePoint, or if you have a smaller project and you need a small and simple VM running on your PC.

Image Renditions
Image Renditions allows you to crop images, and control image width and height

Metadata Driven Navigation
There is a new kid on the block, metadata driven navigation that uses term structure in the Term Store as menu items

MySite feels like one site with my profile, my conversations and content. Good bye profile page with link to some other site with my content :-)

Geolocation requires at least IE9, Firefox or Chrome browser. Geolocation is process of retrieving current user's coordinates, langitude and latitude.

Content Search, Metadata, and Display Templates
Metadata driven navigation in SharePoint 2013 generates automatically site map and pages that correspond to term set hierarchy in the Term Store. Content Search web part is the web part, we are supposed to use to display content dynamically on these auto-generated pages

Mobile devices are everywhere, and whether we like it or not, working with SharePoint sites can suddenly turn into working with mobile sites.


  1. Hi ... william.. thanks for sharing information.This has to be one of my favorite posts! And on top of thats its also very helpful topic for newbies. Thanks a lot for informative information on sharepoint.


Send en kommentar

Populære indlæg fra denne blog

SharePoint Store - Buying an Add-in, the Customer View

Lite SharePoint add-ins Free to download

Customer at the Microsoft SharePoint Office Store


How hard is to add an app

The practical realization of the dream of making a free app and then eventually earning money

Microsoft made some improvements to the store recently. All improvements are welcome. Microsoft has its own add-ins and is focused on strengthening the platform, Office and SharePoint.
I do not work for Microsoft. No thank you.

I'm, just to make it clear, just as any other developer or a company trying to make money from SharePoint add-ins. My own Store is also open for business.

In the following I'll describe how it is to be a customer at the Microsoft's SharePoint store, the process of finding an app, buying the app... Oh, it is called add-in now...

1. Searching for a SharePoint add-in from SharePoint

I clicked on "Add an app" and searched for "page layouts" from SharePoint

I got 32 results. Nice.

I clicked on the link to open the SharePoint St…

SharePoint Branding Modern Pages

SharePoint Branding Modern Pages

I was in Paris two years ago. I had a session about Branding Office 365. Everything went fine, except the one thing missing - branding. I spent all my time telling people not to brand what today is called classic sites - the old fashioned SharePoint pages and sites that we know from SharePoint on-premises.

I was telling people not to invest heavily in branding. Branding that is often thought of as a long term, one time investment on SharePoint on-premises is no longer so on Office 365.

Constant Microsoft updates are "breaking" your branding and modern pages and sites such as Delve, MySite are built in a different way than the classic sites.

I felt that it was important to tell people about it. But it was a sad session. I'm very positive, glad, smiling, always thinking about new opportunities. Not a Microsoft gray material. People that came to my session were expecting to learn how to brand Office 365. We all ended up being sad. The world …

SharePoint Branding Office 365 classic and modern - CSS on localhost - walk on the wild side

I tend to write a line in CSS, save the file and refresh the page in browser so I can see the result. Any tool that is more complicated and takes more time to see the result is not for me.

How can you work with CSS on localhost while seeing the result on Office 365?

1. Create a project in Visual Studio and add a stylesheet (I chose Core 1.0 Cloud project)

2. Click on Debug -> Start Without Debugging
3. Browse to the CSS file on localhost

4. Open a SharePoint site on Office 365 that you want to style

5. Click on "S" icon, paste the URL to the CSS file and click on "Add website" button
Don't have the "S"? Sans Style free. Get it at Chrome web store

6. Refresh the page

You'll get this error:

Mixed Content: The page at 'https://toughcookie.sharepoint.com/sites/dev/SitePages/DevHome.aspx' was loaded over HTTPS, but requested an insecure stylesheet 'http://localhost:57355/css/sansstyle.css'. This request has been blocked; the content…