Display a sub site list on a parent site in Sharepoint Online 2010 and 2013

If you want to show a list belonging to one site on another site (in the same site collection), you can use a list template. BUT if you want the list to dynamically reflect changes made in either site on both sites, here’s how:

Insert the sub site list on a sub site page
In Sharepoint Designer, open the page and select the list
From the ribbon “save to gallery”
Choose the option to show items from THIS list (not a list relative to the site the web part is inserted on).

Go to parent site and insert that web part on a page.
This works for an Enterprise account.

In Sharepoint Online 2013, this still works, but Microsoft in their own inimitable way has made it a bit harder and less obvious.
Using Sharepoint Designer 2013, it’s not apparent how to “save (a web part) to gallery”. The trick is to open a page with the list view on it in SPD, click anywhere in the list view web part, right click and select “tag properties”. Click “OK” and the web part tools will show in the ribbon.
From there you click “save to gallery” and the option about showing “list data from the current web site or from the same list relative to the site it’s inserted on” will appear. Opt for “list data from the current web site”, save the web part and insert it (from the “miscellaneous” group) on the other site…

Open links in a new window in Sharepoint Online lists / libraries

?If you want your links in an SP list to open up in a new window, you can change the behavior with this simple update to the list view’s xsl code. All that’s needed is to add “target=”_blank” to the line in the xsl that creates the link. I’m using a “links” list here but this works for any list with links in it.Assuming you already have a list added to a page, open that page in Sharepoint Designer 2010 in advanced mode. Select SPLIT view.The links in the list will display in the “design” view at bottom.
Click a link and you’ll see the corresponding bit of xsl highlighted in the code portion of your screen.
It will look like this:

a href=”{$url}”>
Add target=”_blank” so it looks like this:
/a> , a href=”{$url}” target=”_blank”>
Since the xsl loops through your list, every link will get updated when the page is rendered in a browser. So save the page and test it out.
NOTE: if you’re not able to find the line referenced above and don’t see 1700+ lines of code for the web part, try this:
Click the top of web part in design view where it says “webpartpages:xsltlistviewebpart”
In the ribbon click design under list view tools
Click customize xslt and then select “entire view”.
Then try to locate the code for the links in the list.

Publish Form Submissions On An Office 365 Sharepoint Online 2010/2013 Public Site

In our article: “Create a custom form on your public site ” we covered how to get a Google Docs form onto your O365 site to collect data. If you’re looking to publish visitor comments, feedback or any other data submitted through the form back to the site, here’s how:
Since Google stores submitted data in a spreadsheet, what you need to do is simply embed that spreadsheet on your page.

Open the spreadsheet version of the form in Google Docs.
Click the”Share” button up top and select “Publish as a web page”.
Click the”start publishing button”.
Copy the url that opens in the box.
Enter this code in an html module:

Adjust the url, height and width as necessary.

Click here to see a working example.

A note on spam

We’ve never had much of a problem with Google forms, but if you start getting spurious submissions, you can add a validation field to filter out non human submissions (in Google Docs, go to ‘Data / Validate’). If you still get spam, the best defense is to change the url your form is under so the spammers submit to a url that doesn’t exist.
To do that, save your iframe code in notepad as an .aspx file, upload it to documents and iframe that document on your page instead of the Google code. If you periodically change the file name and reupload it you will foil the spam bots who can only post to a url-which of course you’ve changed.