2014-09-25

Brad Shannon posted a blog post

SPChat Transcript: Jeremy Thake Chats on SharePoint App Model (Season 2)

Important links to note in this chat!http://dev.office.comhttp://github.com/officedev/pnphttp://officespdev.uservoice.com12:58Brad ShannonAlright everyone, let's roll with this SPChat. Please stop all chatting.**** STARTING SPCHAT WITH JEREMY THAKE ****Hello everyone and thank you for joining us for today's #SPChat. A couple rules to go over:1. Only the guest speaker (chatter) or Admins may chat in the main room, unless the guest speaker or admin asks for another question2. Please do not post your questions until the guest speaker or admin says 'Next question?'3. We will post the full transcript on the blog immediately following the chat.4. Have fun and learn lots!Jeremy, thank you again for joining us! We are all very excited to learn from one of our SharePoint Community experts on the topic of 'Transforming your Code: Taking your Full Trust Code to the App Model'. If you wouldn't mind, could you please give a brief introduction on the topic and about yourseJeremy ThakeHi guys. Jeremy here. I recently joined Microsoft in the Office 365 marketing team. our team, headed up by Chris Johnson, looks after the developer story for Office 365.With regards to this topic, Office 365 SharePoint Online does not support Full Trust Code Solution PAckages and many organizations have been building on SharePoint Server since the sdays of 2007.We have started to provide guidance on how to transform your existing FTC code to the App Model which WILL work in Office 365 SharePoint Online through dev.office.comHappy to take any questions around this subject or broader developer questions around OFfice 365Brad ShannonI'll go first Jeremy. What is the thought on the MS side of the house with REST vs SOAP API usage?13:04Jeremy ThakeSOAP web services, you mean the ASMX end points?Brad Shannonyes13:05Jeremy Thakeso the ASMX end points are actually deprecated. What this essentially means is that engineering are not focusing any efforts on improving these. The REST services and Client Side Object Model runtimes within SharePoint are where the investments are going. Therefore we encourage you to use these.13:06Jeremy ThakeI know that open source projects like SPSErvices do heavily use ASMX, and its a viable solution for sure.We've not disclosed that these will be totally removed from the service and if we did it'd be the same types of timeframes as InfoPath e.g. 10+ years.its your call, but they'll be things that ASMX won't do moving forward as we introduce new features into SharePoint. also from a career development perspective you should all be really using REST services as that what the rest of the world is using ;-)Jeff CollinsDo you have any good guides on beginner programmer guides to using REST?I want more yammer integration and have been trying to come up with creative ways13:09Jeremy ThakeGood question on REST...there are tons of beginner guides out there...I actually used a Pluralsight course to learn about the REST spec and what things you could do with it in general. ROb Windsor has a great Pluralsight course on REST with regards to SharePoint.I hear you on the "more yammer integration"...and we're seeing some creative ways of doing this. Just be careful that naturally the yammer team are working on this and I would strongly encourage against bending the out of the box UI to add this integration as these guys will improve this over time.next questionPaul ChoquetteWhat's the best pattern for getting information from the Azure AD associated with an Office365 tenant from within SP? Does Delve open any doors there?Hugh WoodQ: With the remote provisioning model not supporting some components at the moment, is the drive still to implement the more important of these missing components in CSOM/JSOM/REST?Jeremy ThakePaul - what information are you after from Azure AD?Paul Choquettespecifically, we want to enumerate users in an AD groupif you assign an AD group in an SP group, end users can't see who is in itclients want to define business units in AD and let admin handle mapping to SP. but end users need to see who is in there.Jeremy ThakeSo with the new Office 365 APIs, you can connect to Azure User and Groups service and get this information. Essentially you can register an application in Azure AD which you then use the client id and secret to call that service. If the tenant admin creates this application it can grant access to alYou could then have a SharePoint Provider hosted app that called this API and have an app part on a SharePoint page that showed what is rendered.please note that by default SharePoint apps use ACS authentication, where as the new Office 365 APIs use Azure AD authentication.there is a great training module on this at dev.office.com/training that is hosted on Microsoft Virtual Academy.for Hugh's question, what do you mean by remote provisioning model...what components?Hugh WoodReferencing Vesas blog post: http://blogs.msdn.com/b/vesku/archive/2013/08/23/site-provisioning-techniques-and-remote-provisioning-in-sharepoint-2013.aspxDetailing the Remote Provisioning Techniques, there are many components highlighted in which he replied that they are being worked on, or will be looked intoIs there a specific drive and focus for filling in the missing functionalityJeremy ThakeOh I see...so I'd be encouraging the use of code CSOM/JSOM/REST to create all your components (artifacts) and not using declarative approaches. I talk about this in my latest blog post on jeremythake.comYep...we've been screaming from the roof tops about UserVoice site to give feedback and vote things up. we've had *some* traction. I sit in weekly meetings (one today) going through these to prioritize with engineering which ones come first.Hugh WoodWhat about missing items that are important like custom actionscoolJeremy Thakeso if it isn't in uservoice alreay...which I don't think it is...time to add that to user voice and then campaign about it in the community.we genuinely are looking there and making decisions based on it. Its fine for me to sit in a room with these guys and say this is a high priority...but having votes on an item speaks volumes ;-)next question...Vlad CatrinescuHey Jeremy, quick question (from an SP Admin, not a dev, :P). In the past there was problems when Microsoft changed the internal names of SharePoint Objects, and that caused a lot of Javascript custom code to fail. How can dev's be sure that their code won't fail in the next weeks if MS does thosePaul ChoquetteEarly Access ;)Jeremy Thakeoh boy...an ADmin...these are not the droids you are looking for ;-)but serouisly you asked a dev question.13:21Jeremy ThakeI blogged about this in the same post...the SharePoint UI DOM (document object model) is not an API. We encourage you not to be using JavaScript to go discover objects on a page and hide them, modify them. our engineers are rapidly innovating on the UI and we can't cater for customers hacking away.Now in my blog I explain that you can do this, we aren't totally stopping you...but you run the risk of this happening and having to react as the UI DOM does change.We encourage you to use the UI hooks that we provide...App Parts, custom actions across the Ribbon, ECB etc.if there are other UI hooks that you need to that we don't provide...UserVoice is where you need to submit it.engineering are doing research on what the common scenarios are with the SharePoint MVPs to target a roadmap here.you'll see with announcements coming out later this year that we're adding some more UI hooks that will be SUPER compelling to customers.next questionPaul ChoquetteAny plans to allow targeting the suite bar in the same way that we target the ribbon with custom actions?Brad ShannonMicrosoft recently announced that it is completely removing some O365 features (Tags & Notes, etc). Are there any dev related features (other than the obvious like ASMX) that we should be avoiding or working away from?13:25Jeremy ThakePaul - certainly.13:28Jeremy ThakeBrad - oh boy...throw that one at me why don't you ;-) The tags & notes etc. was due to looking at usage and seeing that it was extremely low. naturally there is a lot of overlap here with what the service is doing with Yammer too.You'll see this a lot more as we consolidate all our products in the service to work better together.as for things to avoid...if you don't see us talking about them....adding code samples on them...blogging, podcasting about them...its a good hint that there is no future focus from engineering on it.Brad ShannonVery good. Thanks! I know you had to be political :)Paul ChoquetteI attended a session at a conference and it was brought up that remote event receivers don't have any fallback if there is an error. Is there a more robust solution coming to address that? It was suggested to use Service Bus as a workaround.Jeremy Thakenaturally the developer story sometimes is just a knock on effect...it was the product team in charge of those features "Tags & NOtes" that made that call. so naturally those APIs are now null and void. there are technical decisions that are made like Sandboxed Solutions with managed code that are.....truly developer owned decisions and we communicate directly from our team.RezJeremy - Any thoughts on creating OOTB apps/app parts that can render lists/libraries in the normal fashion (without coding - just app part configuration) across SharePoint environments (i.e. hybrid, Online and OnPrem)?Jeremy ThakeGreat question around remote event receivers and the fact that if the service it is trying to call fails, it basically disappears. it is not transactional per se. i'm pretty sure that isn't in uservoice either...i'd love to get some data and votes in there on that one.... ;-)RezPS HI :)Jeremy ThakeRez - hi rezrez - so you want to be able to use the Content By Search Web Part to show data from not just SharePoint Online but also SharePoint SErver that is connected?13:34Brad ShannonFor those wondering what UserVoice is - https://officespdev.uservoice.comJeremy Thakethe ONLY place you should be going to is dev.office.com ... from there you can get everything from our worldif you aren't listening to our podcast...you are doing something wrong ;-)13:36Jeremy Thakeno more questions....?Tim Ferroi got onePaul Choquettenext question = mother may i ;)Tim Ferrois there going to be an increased effort around documentation? lately i have found a lot of msdn pages with little to no technical helpi have asked in yammer for an update with no updateJeremy Thaketim ... great question. Sonya on our team is driving the effort from our perspective as the voice of the customer back to the content publishing team.the content publishing team has been through 2 restructures since I've been here which has hurt progress a little as they get settled. this is due to it realigning with an engineering org that is restructuring too.Tim Ferrois there a place where updated technical articles are listed?and where can we ask for updated documentation besides yammer?Jeremy Thakethere is work in play to make the experience of how you provide feedback and contribute to the content mind blowing. essentially we are borrowing from the work that Azure have done with community contributions through GitHub for doco. watch this space...Tim FerrothanksJeremy Thakeyoull find people like Lola from Cpub being very active in the Office 365 Technical Network. she even replies with the work tickets that get created for ref to see they are in the queue. they are listeningwe are working on an rss feed and also a page on dev.offic.ecom where we can show updates to dev content . Sonya is also responsible for the strategy on dev.office.com and is doing a great job. we shipped the code samples page and podcast page last week in the resources section... ;-)RezSorry for late response - Kind of - In a hybrid SharePoint On-Prem/Online environments, I want the option of just rendering a list or library across environments easily in some sort of canned app partwithout any search configuration, stying, etc...13:43Jeremy Thakethere is nothing right now other than Search capability if you get it hooked up hybrid wise. essentially you'll need devs to do this for you. definitely something to bring up in the Office 365 Technical Network and at mention the likes of Bill Baer who look after hybrid in our team.next questionPaul ChoquetteWhat pattern is recommended for converting legacy solutions that deploy timer jobs to the Office365 platform?Hugh WoodQ: After writing your recent 10 points blog post, what do you feel is the number one thing to consider when deciding to migrate to the App model?Rezthx bud13:45Jeremy ThakePaul - if you check out the Office 365 Developer Patterns and Practices repo in GitHub.com/officedev/pnp you'll see that the recommendation is Azure Worker Roles. We have a video that also explains it too.if you check http://dev.office.com/code-samples , you'll see it listed therehttps://github.com/OfficeDev/PnP/tree/master/Samples/Core.SimpleTimerJoboddly it looks like the markdown page is blankI've emailed Vesahttps://github.com/OfficeDev/PnP/blob/master/Samples/Core.SimpleTimerJob/readme.mdHugh- number one thing? go learn the app model to understand the value...start by watching the Microsoft Virtual Academy course on dev.office.com/trainingnext quAhmed MEZRII think there is a lot of things in CSOM to improve in order to be similar to Server Object Model like Office365 administration from a provider-hosted app, Jeremy do you agree ?13:48Jeremy Thakethere are certainly still some gaps between CSOM and SSOM. from the perspective of administration...the focus has been on PowerShell for these things rather than CSOM.what types of scenarios are you seeing around administration in provider hosted apps Ahmed?again, if they aren't on uservoice...I need them there to help campaign.Chris JohnSorry if this has been asked, but is there better documentation on the JavaScript libraries for SharePoint 2013/365 yet?13:52Ahmed MEZRI@Jeremy like deleting office365 Sharepoint online users from provider hosted appJeremy ThakeChris - do you mean the Client sside APIs for JavaScript?why would you want to delete users from SharePoint Onlien and not from the entire Office 365 service? remember that SharePoint CSOM is SHAREPOINT not the entire service.armaaniQ. what is more into pattern csom vs clientscriptingJeremy ThakeChris - here is the doco http://msdn.microsoft.com/library/jj220031(v=office.15).aspx from clicking "Docs" in dev.office.comArmanni - can you explain further?armaaniimean are the dev.. free to use any line say if one is strong into csom/server side or dont want to be into jquery /knokcout whateveror we have to adapt13:57Jeremy Thakeyou can absolutely build Apps for SharePoint using the Provider hosted approach and continue to build with managed code with the SharePoint CSOM API. I would strongly encourage against using SharePoint Server Side Object Model approach with FTC. It is time to adapt where you can.FTC will simply not work on SharePoint Online and there is no focus from engineering on FTC since 2010.armaaniso what skills we need to adapt fully 2013Jeremy Thakeif you are not investing in JavaScript client side development I also fear you are missing out on your next step in career development. look at the job boards and look what people are askgin for...you simply can't be a web developer these days without knwing JavaScriptI would encourage you to watch the training on dev.office.com/training that links to the MVA course (first block) we explain it there.next quMark JonesHi Jeremy – thanks once again! Q : We did a poll on SPCOM that showed 62% of customers use Apps “on-premises”. Are you seeing many customers using “Apps” internally or is their main use via the SP online / App Store? I am really interested to see what the general trend for dev is inside the Org...Paul ChoquetteAny recommendations for migrating solutions that rely on Word Automation Services to O365?14:00Chris JohnAnd that's why you do what you do Jeremy, thanks!Jeremy ThakeMark - great question. Yes we are seeing many orgs moving to the app model for on-premises. The reason being is that although they don't wish to move to Office 365 now...they are making sure thet they can safely go there later. If they continue to use FTC...its a huge blocker for cusotmizations.They are also seeing the value in moving to the app model from the perspective of the flexibility it gives of being able to write in any web dev platform, not being forced to asP.NET web forms etc. we are seeing lots wanting to build using ASP.NET MVC 5 for instance with provider hosted.Adnan AminJeremy can you do a live session on app model on SharePoint Community plateform so we can have better idea on thatJeremy Thakeit is easier to find devs who know these newer techs rather than asking a web dev to sit in asp.net web forms. as devs know they need to be on the new technologies to stay relevant.I believe the days of being a SharePoint consultant and being the passionate guy that doesn't mind being stuck writing FTC code and getting a nice consulting rate are going away. AS orgs can find web developers who can now write in their own thing and be comfortable.we are actively trying to make this story better and better.Paul - we are not there with Word Automation services yet from a dev story right now. it is something engineering are investigating.ok I have to wrap up guys.I have a meeting with engineering folk here in Redmond. Thanks for your time and your questions. Please keep them coming and PLEASE give feedback on UserVoice ;-)Brad ShannonThanks Jeremy!Jeremy Thakeone last point.... DEV.OFFICE.COMSee More

Show more