Client Side Rendering & SEO optimization - sharepoint

I want to understand why client side rendering makes it bad for SEO? Are there any articles about this? Isn't the data rendering already from the server and it's just a matter of making it look like anything we want in JavaScript, how will this affect SEO?
Thank you.

The simple answer is that when you render the site with JavaScript you require JavaScript to see the page, right? Well, Google bots don't run JavaScript so in the best case they'll just see plain text.
Nothing wrong with plain text though. The most important thing is that the same info is on the page even without JavaScript.
Can you be more specific on how you planning to implement client side rendering?

Why would you like to use SEO for a SharePoint site?
SharePoint has already a very good native search engine.
Please take in count that using sharepoint as a public website is no longer recommended, furthermore Microsoft and any SP professional will discourage you from using it in that way. Microsoft has already dropped the public website feature from SharePoint Online (Office 365), and as you may know the current Microsoft strategy is “Cloud first, Mobile first” so you can expect that in the middle term most of the ways and patterns will be equivalent in SP Online and SP on-premise. So I'm not saying that you can't do this with a SharePoint server exposed to internet, however you shouldn't continue doing it, considering that you can use web services to call/get sharepoint content from any other web platform in case you need to publish some sharepoint content in a public website.
http://support.microsoft.com/en-us/kb/3027254/en-us
https://www.linkedin.com/pulse/sharepoint-public-website-platform-any-more-marwan-tarek

Related

DocuSign Console within iFrame

I'm currently trying to place the docusign console onto my website. My current method is using an iFrame but I'm wondering if that is secure and the optimal way of doing it. I was also wondering if the docusignAPI has a solution to that implemented already because I couldn't find one after playing around on the website with various code sources.
Preferably, users would be able to go to some part of the website, view the contract or document they need to sign on the website without having the leave the website. This includes viewing the document on the website as well such as using an iFrame allows.
Using iframes to host DocuSign embedded signing is not a good idea for a few reasons.
Typically to have a good experience it is recommended to use a large window.
Security Concerns. The users of your app wouldn't be able to see the DocuSign URL as well as the green check to know they're using a secure website which should make them feel more confident about using your integration.

Lotus Notes Application, Web Based Converting

Does anyone have tips or an ebook that can give me a good foundation on how to create applications in lotus notes using web browsers instead of clients. Links or tips are much appreciated.
Thanks!
Books are a good starter. But you'll find there is alot more to it than you see in books. So, here is a quick list of places to look.
Books
You've got these options for books (all downloadable as eBooks to)
Classic Web development prior to Notes 8.5 -- Reviews here and here
Latest Web stuff with Xpages if you have Notes 8.5+ (kindle/paper)
There are IBM wiki's (html). But have found the IBM wiki experience underwhelming. (The adjectives "half-ar$ed" and "piece-meal" comes to mind alot when reading these.)
IBM's redbook site (pdf/html) has better produced content than the wiki's.
Sites
One of the best web development tip/technique sites for the trickier problems is codestore.net and nsftools.com
OpenNtf a well used site for free code and solutions written by alot of smart people.
Quite a few good bloggers have "coagulated" on planetLotus
Try Searching for XPages in Google. Or start here
If you enable http on the server, you should be able to see your domino applications from the web. You then need to modify them to make them a bit more web friendly. The basic technique for this is to have 2 design elements with the same alias, hide one from notes and the other from the web. This will make it a bit easier to make it functional from both the client and the web browser.
Other functionality which makes this a bit easier would be 'Pass through HTML', the Domino CGI Variables and the 'WebQueryOpen' and 'WebQuerySave' events. As Jasper points out, XPages is the new sparkling way to do this, but it might not be an option for existing systems (It requires the latest version of Domino server). Good Luck!
What version of Domino are you running? If it's an 8.5 variant, I would suggest you use XPages to bring your old client apps to the web (XPages are not an option in releases prior to 8.5).
As to how you go about this, that's well beyond the scope of an answer on Stack Overflow: it's a book in and of itself! To learn about web development with XPages, I suggest visiting some of the well-known sites out there, and perhaps picking up a course or two. Here are some links:
http://xpages101.net
http://www.qtzar.com/blogs/qtzar.nsf/htdocs/LearningXPages.htm
http://notesin9.com/
(Also, IBM publish a book on XPages development, although I've not read it).
With regards "classic" Domino development, your best bet is to view your existing Notes app in a web browser and then start hacking on the default HTML generated (which is nasty). The best single resource out there for classic Domino web development tips and hacks is Jake Howlett's Codestore
Start small, build yourself a small database with a subset of data and explore what you can do. I've been a notes client developer for 10+ years and doing domino web work for last three or four years and still on steep learning curve. Its a very powerful platform but you also need to know html as on many occasions the html that you see in the browser helped me pin down the faults in my application code.

Hosting Google Apps UI in my app

I'm investigating the possibility of re-using Google Apps/Docs in a local hybrid desktop/browser application.
I've been going through the Google documentation on manipulating docs, eg. the Spreadsheet. I can't seem to find any info on actually hosting the UI. Is this possible, or does it require some form of permission from Google?
You want to basically embed an browser control in your application pointed at the URL of a Google Apps doc? You could use the Google Document List API to retrieve the documents for a user, then use the URLs of those documents in your embedded browser control.
You don't need Google's permission to do that; you're writing a browser with some extra smarts built in.
What do you mean by "hosting the UI?" These apps are HTML/CSS/JavaScript. Are you thinking about embedding them in AIR or Titanium, or in some kind of web control in another app?
i briefly looked into doing this, and figured if i really wanted to i could just load the gdocs page content dynamically, and use javascript to strip away the superflous elements like header and footer. but instead i'll probably just use an OS alternate because they have come a long way and I want rich hooks.

SharePoint - Posting and Retrieving files Automatically via VBScript

I'm going to need to push and pull files from a SharePoint site that is not hosted by my company (it is external). I'm only going to get a few days (if that) to get this working so I don't have much time to experiment.
To add to my requirements/headaches, I'm going to have to implement this with VBScript. .Net would be preferred for me but for reasons beyond my control I have to use VBScript. I don't have direct access to my VBScript web server, so I won't be able to implement this in .NET and use that object from VBScript.
I'm looking for anything that would help me accomplish this goal quickly and effectively. I found this post and am wondering if the PUT/GET method used here would work for me?
http://weblogs.asp.net/bsimser/archive/2004/06/06/149673.aspx (I got this link from: Sharepoint API - How to Upload files to Sharepoint Doc Library from ASP.NET Web Application)
To top all of this off, I've never done any programming or administration of a SharePoint site. My knowledge of SharePoint is that of a user. I'm aware that there is an API from the few Google searches I did. However, my readings make me believe that my code would need to run on or in proximity to the SharePoint server. I don't believe I have the proximity I need to use the API.
Sincere thank yous!
Regards,
Frank
Progress Update: I'm still researching this. Tom pointed out that the example I had posted is probably from an old SharePoint version. His recommendation to use .Net to develop a prototype on Web Services is good but I'm hoping for more detailed answers.
I'm now wondering if I can accomplish what I need to accomplish using HTTP PUT and GETs. At my company, for a specific project we do use HTTP PUT and GETs to do something like this. We have files that are stored on an HTTP server and this is how we post and retrieve them.
Would this work over SharePoint or would SharePoint require special handling? Basically, do I have to use Web Services?
Progress Update 2: This link is helpful... Upload a file to SharePoint through the built-in web services
But I am still looking for more information on this topic... Thanks all...
You'll need to use the sharepoint lists web service for metadata and get/put for uploads. That link looks to be for SharePoint 2001, so hopefully you can use the newer/simpler version.
I recommend building something in .net first to get the web service calls worked out - some of the parameters can be quite tricky to debug, and I wouldn't want to be doing that on a remote vbscript page.
Assuming there is no metadata required and the SharePoint library is being used like a file server you can do most of what you want with PUT/GET, but you will probably need a call to GetListItems to find the urls to download.
There's an example on my blog of a lower level call to that web service - it's javascript, but probably close enough.
http://tqcblog.com/2007/09/24/sharepoint-blog-content-rating-with-javascript-and-web-services
What setting up the .net version gets you is very quick set up of a connection to the server (just add a web service reference in visual studio) so you can get the query and queryoptions strings working to retrieve the items you want. Once that works you just have to put it all together as a string including the soap stuff for use without all the nice tools.
I'm a little unclear on the context of the implementation and the prerequisite of having to use VBScript. Are the files being moved from one server to another server or from a user's desktop to this SP server? or are they being accessed via software like Excel?
The first thing that sprang to my mind (this may sound crazy) was using the Office application to make the connection. Your script would call up Excel (just as an example) and pass it the vba needed to initiate the Open File, and then provide the full path to the file that needs to be retrieved. Then have it do a Save As to the location that needs the file. Do the same thing but in reverse for putting files on the SharePoint server.
The tricky part, obviously, is getting the script to interface with the Office app. I know this can be done with the Windows version of PHP, but I don't want to get into anything specific without knowing your situation.
I seriously wonder if you are going to be able to use VBScript to call the SharePoint web services. I haven't looked at the SharePoint web services for a while so I don't remember exactly how they are defined. I thought the web services were SOAP calls though which makes it trickier than
I'm not sure I tried to use Excel to call some web services with the MSSOAP.SoapClient and it seemed this component was unable to handle any WSDL types beyond the very simple strings. Anything with nested data would not work. Instead, you would need to create a COM object to process the conversion which is a major hassle. If you are able to use XMLHTTP component then it might be possible with VBScript, but I'm not sure if it will work with SharePoint web services.
I'm not sure what you mean, "I don't have direct access to my VBScript web server." Is your web server in VBScript (ASP)? Or did you mean SharePoint server?
You might consider C# Script (cs-script) as a scripted solution that uses .NET. I have had good success with it, although it does need to be installed on the computer that runs the script.
I'm integrating between two companies. According to this book, we should use AD FS to accomplish what I'm looking for.
I still don't actually have this working though so if someone has more information I will change the answer to this question.
http://books.google.com/books?id=-6Dw74If4N0C&pg=PA27&lpg=PA27&dq=sharing+sharepoint+sites+external+adfs&source=bl&ots=ojOlMP13tE&sig=FjsMmOHymCOMGo7il7vjWF_lagQ&hl=en&ei=ytqfStClO5mMtgejsfH0Dw&sa=X&oi=book_result&ct=result&resnum=5#v=onepage&q=&f=false
I never really received a answer to this that worked out but this is no longer an issue for me.
What we ended up doing is scraping the html. In effect, we put together our own ad-hoc web service processor where instead of SOAP, html is used to communicate. Then we execute GETs, POSTs, and etc to work with the web service.
We had done something similar in VBScript in for WebDAV -- we had a class and created a new one to work with SharePoint.

Using Windows Live Writer as a web site content editor

What are your thoughts on using Windows Live Writer communicating with your website as the content editing system?
Windows Live Writer supports multiple category blogs (i.e. can be news, articles, and blogs), multiple category pages, tagging, XHTML WYSIWYG editing, image and file uploading via services or ftp, and the client has a "Insert HTML" plug-in library with a lot of already developed plug-ins for popular sites.
The trickiest part is implementing all of the XmlRpc methods in your services, but some digging with Reflector has exposed them as being pretty simple to implement the features.
I've considered it, but it's kind of like putting a triangle into a round hole. It will fit, but not quite right. Since the primary focus is around blogging, the page editing would be counter intuitive if you presented to someone as a page editor.
Well in the case where a web site's normal update pattern is to post new "news" a.k.a. blog posts, the page editing then becomes secondary to update the static content.
I was thinking the exact same thing. Using Windows Live Writer or MS Word 2007 (it supports Atom Publishing as well) to edit web materials on a site would be awesome (in theory), right?
I tried looking into creating an AtomPub Server, (using Google Data API, Apache Abdera, or Project ROME), to create a simple atom publication server backend on Java Google App Engine. It would save entities and images into the GAE datastore. The saved data could be shown via a simple front end on the site. All editing would be done in MS Word.
But creating a custom Atom pub server turned out overwhelmingly hard for me. I'll throw in the towel for now, at least for the AtomPub protocol. Something dead-simple like a CRUD entity interface might still be possible for Windows Live Writer, as it supports simpler protocols.
As far as I know, it hasn't been done for GAE. Umbraco ASP.net CMS supports it though.

Resources