Product analysis by Vlad Catrinescu – requested by Harmon.ie, but thoughts are my own.

Information Overload is an increasing problem both in the workplace, and in life in general. Information Overload is when you are trying to deal with more information than you are able to process to make sensible decisions. The result is either that you either delay making decisions, or that you make the wrong decisions. And let’s be honest, we all feel a kind of information overload because all of the sources of information we have today. If you are an Office Worker, you have to go get all the information from SharePoint, email, Yammer, and other systems you might have such as Zendesk, SalesForce, etc.

That is why harmon.ie created an app called Collage. Collage aims to be the ‘Go To’ app whenever you want to get something done, since all the information you need to make the right decision can be seen from only one screen. Before starting with the review, here is a description of the app from the harmon.ie site:

 

harmon.ie Collage presents all the information workers need to do their jobs, in a single-screen. With Collage, workers have email, updates from business apps, documents, and social tools in one app. Collage is a launch pad for completing tasks via native apps or sharing updates by email or social tools.

Collage automatically uncovers and then matches shared topics across all apps. Topics can be customer names, project titles, or products; essentially, any subject contained in app updates, discussions, documents, or email messages. Workers can then focus on a specific topic by filtering Collage’s federated information stream.

Review

Harmon.ie gave me access to the application through their TestFlight beta program and I had the chance to play with it on my iPad mini. For now, Collage only works on iOs devices but will hopefully be available for Android as well as Windows 10 devices in the future. The first thing you have to do after getting the harmon.ie Collage app is to connect the Services. Harmon.ie currently connects to Office 365 (SharePoint sites and Email), Salesforce, Yammer as well as Zendesk. After you login in your services, you can view what profile you are logged under each service, as well as set preferences for each one.

 Harmon.ie Collage

Once you connect them, you can configure the settings of every service to only get the information you care about. For example, you can set what document libraries or sites to follow in SharePoint as well as decide if you want to get Yammer updates from all company or only people you are following!

Once you get everything setup, on the updates tab you will see updates and everything what happens in your organizations in one single view. You can view who it comes from, as well as what service it comes from. But, what’s the most important and the goal of this app is the tags of every item, called “topics” in the app. When you click on a topic, Collage will show you all the information from a certain topic from all your services. So, if you talk about a client in Yammer, upload a contract in SharePoint Online, exchange a few emails and change its Salesforce status, you would see them all in the same view. The good part is that the content gets automatically tagged! Collage uses machine learning to go through conversations and documents in order to find the topics of each item. Here is a screenshot of the pre-provided demo, but we will create some content and see if the tagging works properly a bit later in the review!

 

Another very cool feature of the app is the “Discover” tab. In the Discover tab you can see what topics are currently trending in your company as well as your Upcoming meetings. Whenever you click on a trending topic, you see all the interactions for that topic and for the meetings you see everyone that is involved as well as any topics that the meetings are about.

 

Let’s start adding some information on those cloud services to see how the automatic topic recognition is working. I first sent an email to the test account about the harmon.ie Collage review and inserted some keywords. As you can see the keywords are NYC, SharePoint and Question. Since I also posted a document shortly after, Collage told me there are updates available for my news feed!

Now, the document from SharePoint appeared in my newsfeed, and Collage picked up the “Harmon.ie Collage” topic and tagged both my two new items with that!

When I sent a meeting invite using similar words, it was able to tag it automatically and show it as a topic.

When you open up Collage in the morning, view your meetings for the day and click on the topic, you can see everything related to that topic so you get the information you need to make the right decision fast! If I click on the Harmon.ie Collage topic in the picture above, I am able to see all the Yammer conversions, email, as well as SharePoint documents related to this topic!

If you have some topics you are always interested to see news about, you can either Pin them or follow them.

On the Updates home page, you have a special view with the topics you follow. Also all your pinned topics get pinned right under the Search bar for easy access.

Lastly, you can open items such as PDF/Office documents as well as emails directly from the app to view them!

During testing the app was great. What I realized is that Salesforce might log you off if inactive, so you will have to re-login to that service when opening the app after a few days of inactivity.

Another thing to know is that this app is completely personalized to you, even its deployed company-wide. Meaning that, the taxonomy is created for every person individually, and for example you can create custom topics and add topics manually to items, but those will not be shared with everyone across the company, it’s really an app personalized for you to make you more productive!

Conclusion

Information Overload is a problem that people are facing today in the corporate world, and a lot of money is being wasted because the good decisions cannot be made in a timely fashion. Harmon.ie aims to fix the information overload problem with Collage by creating THE app you open to get all your information on a certain topic. You have a meeting with a client called Contoso? Well you simply go to the Contoso topic and you can see the latest news and discussion around this client from only one app! Previously you had to open multiple programs and websites to get all this information. This app uses the latest technology possible such as Machine Learning to automatically tag items with the correct topics, so they can be easily found afterwards. A feature that I found missing, but will probably get included in the final version (Remember the version I reviewed is still beta!) is a way to “secure” the app with a code or something similar. This feature exists in the other harmon.ie apps, so I don’t worry too much about this being included in Collage as well!

 

To Register for the beta or know more about the app, click the logo below!

Harmon.ie just released a comprehensive Industry report on the Opportunities and Challenges that Microsoft Partners are facing with the migration to the cloud. I am happy to have been one of the reviews of this report together with other MVP’s and Influencers such as Benjamin Niaulin, Todd Baginski and Patrick Hosch!

Office 365 Opportunities and Challenges

Here are the top-level findings – more than 190 Microsoft partners, including SIs, IT outsourcing services and VARs, shared their take on opportunities and uncertainties they face in Microsoft’s move to the mobile cloud:

  • End-user adoption of the Microsoft cloud is increasing rapidly
  • Email leads the cloud charge, with social and collaboration tools trailing — cloud innovation lags behind cost-cutting for now
  • SharePoint is stuck on-premise, making hybrid expertise crucial
  • Security and migration concerns linger for both partners and their customers
  • Microsoft partners are embracing a best-of-breed, multi-cloud consulting model, indicating the need for new skills and revenue streams in the cloud

 

Download the comprehensive report, which includes detailed analysis, stats and findings, here: https://pages.harmon.ie/Microsoft-Partner-Survey-2015.html

I am excited to announce that I have just finished my first PluralSight course on Office Web Apps 2013! Office Web Apps Server is a new Office server product that delivers browser-based versions of Word, PowerPoint, Excel, and OneNote. In this course, you will learn what exactly Office Web Apps 2013 is, how it works and how you can install and connect it with Exchange, Lync, and SharePoint.

This course is aimed at the SharePoint, Exchange, Lync or general SysAdmin who needs to install, configure and maintain Office Web Apps in their organization. However, the first module is for everyone, as it is only an introduction to Office Web Apps and the demo at the end showcases all the features Office Web Apps has to offer.

Why did I choose Office Web Apps? I think it’s a technology that not enough companies implement, and the benefits it has vs the costs are amazing! Last year, I did a presentation at five SharePoint Saturdays about connecting Lync, Exchange, SharePoint and Office Web Apps together. The feedback I got is that no one really knew all the benefits that Office Web Apps added to SharePoint. For example, the ability to preview documents and view complete Office documents directly in the SharePoint Search page!

Deploying Office Web Apps 2013

There are many other features available in SharePoint, as well as amazing features in Exchange and Lync! You can view the course over here: http://www.pluralsight.com/courses/deploying-office-web-apps-2013

Enjoy and for any questions, do not hesitate to use either comments on my blog, discussions on the PluralSight course or send me a tweet @vladcatrinescu

In case you missed it, the European SharePoint Conference 2015 programme  is now available and I’m delighted to announce that I am speaking at Europe’s largest SharePoint and office 365 event in Stockholm Sweden from 9th-12th November 2015.

I will be conducting a session on “Automating your SharePoint Deployments with TFS and Build Server” aimed at IT Professionals.

Automating your SharePoint Deployments with TFS and Build Server

Have you ever wanted to get rid of the classic PowerShell deployments scripts every time you build a new SharePoint Solution? As a developer, don’t you wish you could just deploy the solution on a DEV / QA farm directly from your Visual Studio without having to wait for your SharePoint Administrator to deploy them for you since he doesn’t want developers to be local admins on the servers? As a SharePoint Admin, aren’t you tired of developers bugging you to deploy their solutions?

In this session you will learn how to configure TFS Build Server to automate the SharePoint Package deployment to SharePoint servers and how to monitor your deployments!

 

If you want a comprehensive breakdown of the latest innovations on all workloads of Office 365, and SharePoint is one of them, including the inside scoop on SharePoint 2016 and Office 365 Next Gen Portals as well as practical, actionable advice on how to leverage the cloud, SharePoint, Yammer, the Office Graph, Delve and much more to the best of your ability then European SharePoint Conference 2015 is a must in your calendar!

Prices start as low as €1100! There is also special group discounts for bookings of 3 or more people.

 

Book Now
and I’ll see you in Stockholm in November

 

This year, I have the honor to speak at quite a few SharePoint Conferences around the globe. Most of the conferences, give speakers a unique discount code we can share with attendees so they save money when they sign up. So here are the discount codes for the events that I will speak at this year!

 

SharePoint Fest Seattle August 18-20 http://www.sharepointfest.com/Seattle.

spfest

 

SPTechCon Boston August 24-27 http://www.sptechcon.com/

SPTC-Boston2015-CTAUse Code CATRINESCU to save 200$!

 

SPLive360 Orlando November 16-20 http://bit.ly/LSPK13Home

As a speaker, I can extend $600 savings on the 5-day package (1695$ Instead of 2295$… 100$ cheaper than the earliest early bid price!). All roads lead to Live! 360: the ultimate education destination! Bring the issues that keep you up at night and prepare to leave this event with the answers, guidance and training you need.  Register now: http://bit.ly/LSPK13_Reg

Use Code: LSPK13

 

I will post codes for other conferences as soon as I find out about them!

Product analysis by Vlad Catrinescu – requested by Aquaforest, but thoughts are my own.

With over 65 000 customers ,125 million licenses, and 80% of fortune 500 using it, Microsoft SharePoint is one of the most used collaboration and intranet platforms in the world. With that many users, and companies relying on SharePoint, the SharePoint admins behind every company’s farm must make sure the farm is always working properly and the users are happy. However, the surge in SharePoint usage often gives rise to “SharePoint Sprawl” which is a significant challenge for those tasked with management and administration.

Furthermore, with the rise of Hybrid SharePoint deployments, where the SharePoint admin now has to manage both the internal, on-premises SharePoint farm, as well as the Office 365 SharePoint Sites. To ease the SharePoint Administrator’s task, and to help him prevent problems before they happen, Aquaforest created a product called Checkpoint. Before we go into the review, here is a description of the product from the company’s website.

 

Aquaforest CheckPoint is a SharePoint Governance tool that is designed to monitor and report various details from an organization’s SharePoint farm. It supports both On Premise and Cloud SharePoint installations. It connects to SharePoint remotely, as a result you do not have to install it on the same machine as your SharePoint server and one installation can serve multiple SharePoint farms.

Aquaforest CheckPoint helps Identify Issues including:
  • Duplicate Files
  • Very Large Files
  • Legacy Office Documents
  • Non-Searchable PDFs
  • Obsolete Content
  • Non-Standards Compliance
  • Newly Created sites, Lists and Libraries
  • Many other issues

Aquaforest CheckPoint Review

First thing to note is that CheckPoint is a client application, so I was able to install it on my laptop. After installation, I was prompted to enter the first Site Collection I wanted to manage. Each site collection is called a “Connection” and you cannot connect to a Web Application or a Farm.

After you create your first connection, and every time in the future when you open the application, you go directly to the dashboard. The dashboard is where you can see all your current connections, reports and alerts. Alerts will need to be configured, so that is why we don’t have any yet!

When we go into a connection, we are able to see the Subsites, Lists & libraries, Users, Groups, Permissions and Content Types.

When you go on one of the items, such as a list, or a person, you can view all its properties. A bit like SharePoint Manager, but without having to be logged in on the server.

Now, let’s take a look in the Reports section. The Reports section in my opinion is the heart of the product and is the section that brings the most value. There are thirteen reports out of the box, however you can add custom ones that fit your business needs. Here are the ones included out of the box.

Let’s take a simple one, such the empty site description. Having a site description for every site, can be a part of the company governance policy and as the SharePoint Admin, you need to find out regularly if new sites don’t have it. When we open it, we first have some information about the report schedule and name.

Next Step is to choose the fields you want in the report as well as conditions. By default, this report will give you the Title, URL and Description of all the sites who have no description.

In my case, I want to also add the Owner of the site, so I know who to contact incase a site is missing a description. So by using the new column button, I added Owners to the list of buttons I want in the report.

In the next step, I will choose the targets where I want to run the report. On this step you basically decide what Site Collection you want to check.

After clicking next, the report took less than a second to run and showed me all of the sites without a description as well as their owners. Unfortunately, I only see the name of the owner and not username, so this could become a problem if you have thousands of John Smiths who don’t put in their description. However, Aquaforest has informed me they will make this available in the next update.

You can easily export the report to PDF/CSV to follow up on it. If we go to the next tab, we have the option to schedule this report to run every day, or every hour. This will be useful, so we’re alerted when a site gets created without a description, so instead of having a monthly task to check all the company Governance, we can be proactive about it and get it fixed before it becomes an issue. For the sake of this review, I made it run every 2 minutes.

However, for alerts to work, you have to enable them in the next step. Here you have the choice if you want the alert to show on the dashboard, and if you want to receive an email if it fails, and also if you want the report attached or not. Since the site description is an important part of the company governance policy, I decided to activate all and get an email if more than one site doesn’t have it.

Two minutes later, the report ran and I now see the alert on my dashboard. S

When you click on the alert, you are able to see the history of the last runs, as well as the results and easily export them to CSV or PDF. As you can see, as soon as one of my users entered their description, the numbers of row went from 4 to 3.

If you want to create your own Report, you simply click the new report button in the bottom bar. First thing you will have to choose if it’s report that will run on List/Library, User, Site or Document. In this example, I want to see all the document libraries where a document was not modified in the last 1 year. (Or 10 days for this demoJ). Afterwards, I created my conditions as well as columns that I wanted.

And I selected my targets. I added another connection to an Office365 tenant that I manage, so this report will search in both.

And, as you can see we found a few old lists that haven’t been used in a while!

The report is now in the Report Gallery and ready to be run.

Another useful report can for example be, finding if a certain user has any documents checked out to him before he quits the company. I did this report in a few seconds and now I can see if Vlad’s account has any checked out files and tell him to check in his modification before his final days.

Some other useful Out of the box reports include:

  • Duplicate Documents
  • PDFs that are not fully searchable (PDF files, where the text in them is not actual text, but kind of an image).
  • Lists with items above X number of items

Conclusion

SharePoint is one of the most, if not the most popular intranet platform in the world, and there is a lot of pressure on the SharePoint Administrators to keep it running, as well as make sure that the sites / site collections and even content respect the company Governance Plan and are in good shape. With the rise of the hybrid SharePoint deployments, SharePoint administrators will have a lot more to take care about and that is why they might need an Administration or reporting tool to help them know what shape their farm is in, and if anything needs to be corrected. The best SharePoint admin is the one that end users don’t have to contact, because he finds the problems before his users do.

In this blog post I did a review of the CheckPoint SharePoint Administration Tool by Aquaforest and found it extremely easy to use and pretty powerful. I have reviewed the first version of the software that included 13 reports and a lot of ways to customize your own reports, and found everything included worked out very smoothly and I was able to create reports with many things that could save me a helpdesk call later on. There are some small things that would be nice to have in the reporting, such as user name instead of display name of the user, but overall the tool can be very helpful for today’s SharePoint admin that only has one on-premises farm to manage, as well as tomorrow’s SharePoint Admin who will have to manage both on-premises and Office365 farms.

To learn more about CheckPoint, visit their site by clicking on the logo below.

Product analysis by Vlad Catrinescu – requested by Lanteria, but thoughts are my own.

There is something that all companies out there have, and that is employees. Once a company grows, managing the time & attendance, Compensation, recruiting, learning, succession and all the tasks related to Human Resources can become a challenge, and if not done right, can lead to unhappy employees. In order to organize HR and make all the processes better, companies will often buy a Human Resources Management System (HRMS). A Human Resources Management System refers to the systems and processes at the intersection between human resource management (HRM) and information technology.

When considering a new HRMS, companies often look if they should go with a brand new product, whether it’s offered “on-premises” or in SAAS, or as an add-on on something they already have. With over 65 000 customers ,125 million licenses, and 80% of fortune 500 using it, Microsoft SharePoint is one of the most used collaboration and intranet platforms in the world. However, there is no built-in solution for managing human resources, and even creating an onboarding workflow customized to your company requires you to have SharePoint Development experts.

That is why a company called Lanteria, created a full HRMS solution that sits on top of SharePoint. Before reviewing it, here is a description of their product from the company website.

Lanteria HR is a comprehensive human resource management system that manages the entire lifecycle of your organization’s workforce.

Lanteria HR management system provides 7 modules for operating different HR processes:

  • Core HR
  • Time and Attendance
  • Compensation and Benefits
  • Recruiting and Applicant tracking
  • Performance
  • Learning management
  • Talent and succession

Review

When you log in to Lanteria as an HR manager you get a dashboard showing you what your company looks like from an HR point of view. You can see how many absences today, how many employees you have as well as vacant position and some other stats. The dashboards are very business friendly, and you can easily go into more details in each one of them.

For example, when you go into absences, you have more dashboards such as Absence statistics, dynamics and the Bradford Factor. If you don’t know the Bradford Factor is, don’t worry as I had to Bing it as well. The Bradford Factor is a way to measure absenteeism and you can find more about it here. Those are part of the Time & Attendance module.

For most of the dashboards, you can change the parameters directly in the page. For example, you can easily get the Bradford score of the top 10 Org units in 2015.

Now, let’s take a look at the Core HR module part of the product. The Core HR module allow you to manage the company’s structure and define relationships between various departments, teams and employees.

The demo environment I was given, already had employees inserted, but it’s really easy to add new ones using a simple, SharePoint form. In the Core HR module, you can view the Organization Chart with or without showing the employees.

You can go in any Organizational unit and see the positions, who’s in what role and if you have any vacancies. It is also worth noting that if you ever need to export the data for a meeting, or for your boss, you can easily press the Export button on almost all the dashboards / reports and you have an Excel/PDF/Word copy of what you see on the screen.

Job Roles, Categories and everything is stored in SharePoint lists, accessible from the Core HR menu, making it easy for HR professionals to add them without requiring extra training. In the following screenshot you see what the Job Roles list looks like.

Next big thing in the Core HR module are reports. There are a bunch of reports that come out of the box, and you can always create your own custom ones if you need something more specific to your company.

With the reports provided, you have a lot of information where you can easily see the profile of your employees. For example, here is the Equality and diversity report.

And here is the Termination Statistic report!

The last part of Core HR I want to talk about is Employee Documents. With the Employee Documents function, you can set it up so that, for example, all employees of type “Sales Person” need to give you a copy of their Driver License. You set those up in the Settings part of the Core HR Module.

Afterwards, in the Documents tab, you can easily see all the Documents related to the business Human Resource practice, and easily see who didn’t send you all their documents yet.

That is about it the Core HR module, now I will switch over to the Performance module. The Performance module is a performance appraisal system that automates the employees’ performance management, assessment, and appraisal processes.

As all Human Resource professionals know, doing a performance review of your employees, specifically aligned on their goals and job description is very import and must be done at least once per year! What I really loved about the Review Form designer is that you create only one template, for the whole company, however the contents of the form and what employees are evaluated on change for each employee, since they have their objectives assigned in their profile. That means, you do not need to create 100 different review forms every year.

To create a new Form, just go to the Review Form Designer and add a new template. This is how an empty template looks like:

When you add a new section, you can select who has to fill it, as well as who should see it. For example, you might want to add a “Manager Rating” section, that you don’t want the manager to see, but you want HR to be able to see it. In my example, I simply added a where the employee can say if he completed his objectives this year.

Once you create your form, you have to go to Performance Reviews, and

Afterwards, you can set workflows such as Employee > Manager > HR so the performance review goes through all the require roles for it to be complete. This module also has a lot of reporting built in, and you can run some quick reports, to see how employees are doing on their KPI’s for example.

The next module I am going to talk about is learning. Learning, is a big part of employee development and every company needs an internal Learning Management System (LMS) to provide training to employees as well as keep track of who finished what for both evaluation, as well as legal reasons in some countries / provinces.

Once you go in the learning catalog, you can view available learning grouped by either Category, Job Role or Competency.

For every class, you can set it up to either require approval by your manager or not. For example, for the class below, employees would need an approval before being able to add this course to their training.

However, a training can only be a document for which you don’t need any approvals, so you can add it to your plan. Once you add it, you have it in your personal development plan where you can launch it.

You can also use the Quiz builder to create quizzes

You can view all the pending training requests in a cool Dashboard and approve them directly from that view.

As with every other module, you have quite a few reports built in!

One of the reports I found useful, and I am sure a lot of business wish they had this on hand in a few second is the External training report.

Review of Lanteria

Conclusion

Managing employees can be one of the biggest tasks of a company, since they represent it and if they aren’t happy, clients will know it. By implementing an HRMS, the Human Resources department has a better view of the current situation in the company, as well as being able to better help employees with their questions, or evolution of their position in the company.

In this blog post, I have reviewed Lanteria HR, a Human Resources Management System built on SharePoint. The product is honestly huge, in the sense that it has a lot of features, and if I tried to talk about each of them in this blog post, it would have been called an eBook. In this review, I talked mostly about the Core HR, Performance and Learning modules, as well as talked a bit about the time and attendance module. Having taken a few Human Resource classes in University, I could clearly see the problems that every feature of the HRMS was trying to solve, and the software was very easy to use. The thing I probably loved the most, is all the Business Intelligence behind the HRMS, and the ability to export a report that gives the overall view of the company, as well as specific data in a few seconds.

The one thing that I guess most companies will find hard, and this is true for any HRMS you are going to buy, is entering the initial data and configuring all the description, competencies, organization chart, etc. However, once this is done, you have a very powerful system that will be easy to use and to update. If you are a Human Resource professional looking for an HRMS and you have SharePoint in your company, I highly suggest you asking them for a demo, and exploring the modules I didn’t cover in this review, as they can add a lot of value to the Human Resource Department.

To learn more about Lanteria HR, visit their site by clicking the logo below.

Product analysis by Vlad Catrinescu – requested by CloudShare, but thoughts are my own.

There are two things that almost everybody working with SharePoint agrees on; first one is that SharePoint is a development platform. Every company has different problems to solve, and with a little (or a lot) of custom Development, SharePoint can do it. Second is that SharePoint takes a lot of resources! A SharePoint 2013 development VM needs at least 12 GB of Ram, that’s if you don’t use Search or the User Profile! If you use those, you’re looking at about 24GB of ram and 4-8 cores easily. Furthermore, getting the required virtual machines when a new developer joins the project, or when a new project starts can sometimes take quite some time as the company’s SharePoint admin has to install and configure them properly. Another problem is that companies often cannot host all the virtual machines for SharePoint developers, and therefore, developers have to code on underperforming virtual machines and cannot fully reproduce a client’s environment before going to production.

CloudShare, a cloud computing company that provides an amazingly flexible and easy to use cloud-computing platform for developing and testing IT applications, software, and systems wants to make it easier for SharePoint developers to create development machines, and test their client solutions! Before we go in the review, here is a description of their offering:

CloudShare’s on-demand IT environments empower users to kickstart new projects, explore new technologies, develop complex applications, and collaborate across teams without battling for limited IT infrastructure resources. Our self-service SaaS platform enables you to build, freeze and share complex multi-VM environments. CloudShare is optimized for multi-VM applications that include Oracle, MSSQL, AD, Tomcat, JBoss, WebLogic and more. Use CloudShare Labs as a secure extension of your on-premise lab and expand as needed – start small, grow when you are ready.


CloudShare Review

CloudShare offered me a temporary account so I could play with their platform. Once you login your CloudShare, you have a good looking dashboard of the current environments you have created, the current projects you are working on, as well as your latest activities.

If you want to create your first environment, you go on the Environments menu and select a new one. Then you will have the choice if you have a custom template for your project created by a team member, if you want to just do a “1 VM” machine, or if you want a three tier environment.

I looked at both the Custom Environment option, and the CloudShare Environment templates and found some pretty cool ones. For example, you can easily create a VM with SharePoint 2013, Visual Studio and Project Server installed! Everybody who installed Project Server in the past knows how much fun it is to installJ.

As you can see there are plenty of choices to choose from to match your needs! In the CloudShare Environments I found some interesting ones as well such as the small SharePoint farm that separates your AD, SQL and SharePoint.

I decided to install the small farm and play with it. One thing I realized, is that in my opinion, the ram given to the virtual machines for the Custom Environment option is a bit too low. However, this can easily be customized after if you want more horsepower. Also, some “permalinks” from the text descriptions do not link to anything. After you add the environment you want to your “cart” and click confirm, CloudShare will start creating it.

 

I was amazed, at how fast the virtual machines were created. Creating all the three virtual machines took a total of less than 10 minutes! In less than 10 minutes I had a full working SharePoint environment I was able to connect to in remote and start using it for my project. Before we open the virtual machines, let’s take a look at the interface. From your “Environment Dashboard”. As you can see in the screenshot below, in your environment dashboard you see the following:

  1. The Virtual Machine List as well as what software is included on each machine
  2. The different ways to connect to the virtual machine. You can either download an RDP file or connect remotely to it with your favorite RDP client, or you can use the VM directly from your web browser.
  3. Here is where you can add extra RAM / CPU / disk space to your virtual machines.
  4. This is in how much time of inactivity the Virtual Machine will shut down, which is very useful to not waste money when you’re not working. You can click on the “Extend Suspend” button if you’re going away for more than 1 hour, but want to keep the VM up. Otherwise, you can create a new policy that sets the suspend inactivity bar higher! Also, the environment gets auto deleted in 30 days unless you extend it!

I connected to the SharePoint virtual machine and the performance was really quite good. I didn’t see any lag in SharePoint, or a lot of “waiting on it” while browsing on the site.

One thing to note is that of course, if you manage your Virtual Machines through the web browser, the video quality is a lot more laggy than if you connect directly in remote desktop. Also, the search is a bit slow to start up after you resume your Virtual Machines.

Another part of CloudShare that I found really cool is that you can easily share the environment with other members of your team by clicking the “Share” button in your Dashboard. This will allow them to see your environment in their own dashboard as well as access it! You can also give them either Basic rights that allows them to start/stop the environment, or give them full rights to take snapshot and revert to an old snapshot.

CloudShare

Furthermore, you can also share a snapshot, or a blueprint of your environment with everyone by simply creating a permalink. A permalink is a permanent link to your environment. Each time someone clicks on your permalink, an independent, separate copy of your environment will be instantiated for that user to view, test and edit – without affecting your original prototype. The same permalink can be used over and over again.

There are a lot of billing options to fit everyone. If you just want to use it from time to time, you can use the On Demand option, however if you’re a team of developers working on projects, I recommend the Team option as it has 1200GB hours included! To learn more about the On Demand option, visit this link: http://spvlad.com/1F0T8Uc

Conclusion

As a resource-intensive development platform, SharePoint makes it tough for developers to get fast access to development machines, and even tougher to being able to simulate client environments. CloudShare wants to change that by offering an easy to use platform which allows developers to easily and rapidly create virtual machines that have everything installed without having to wait for the SharePoint Administrator to configure them properly. In my tests, I found the CloudShare Virtual Machines to be really performant and did not see any lag. I highly recommend trying their on-demand option, as you will only pay for the virtual machines that you use, without a contract and you can see if CloudShare is right for you!

To learn more about CloudShare, click the logo below:

The Ultimate script to download Ignite sessions that I posted earlier this week was pretty popular, and some fellow community members asked for the same script for the Microsoft Build Conference earlier this year. That is why I created this PowerShell Script so everyone can easily download them whether they were present at Build or not! Here are the features:download Build Session Videos

  • Downloads all the Microsoft Build Conference Sessions and Slides
  • Groups them by folders
  • Makes sure no errors come up due to Illegal File names.
  • If you stop the script and restart in the middle, it will start where it left off and not from beginning

This is what it will look like at the end:

download Build Session Videos

*I will update total size of downloads in the following week!

Here is the script if you want to see the code, however my WordPress plugin breaks some PowerShell, so DO NOT copy it from my blog, instead download it from Technet galleries here

Make sure you send it out to all your twitter friends by clicking the image below!

Download the script from here!  Do not copy paste from below!

Here is the source code:


[Environment]::CurrentDirectory=(Get-Location -PSProvider FileSystem).ProviderPath
$rss = (new-object net.webclient)

# Grab the RSS feed for the MP4 downloads

# SharePoint Conference 2014 Videos
$a = (1$rss.downloadstring("http://s.ch9.ms/events/build/2015/rss/mp4high"))
$b = (1$rss.downloadstring("http://s.ch9.ms/events/build/2015/rss/slides")) 

#other qualities for the videos only. Choose the one you want!
# $a = (1$rss.downloadstring("http://s.ch9.ms/events/build/2015/rss/mp4"))
#$a = (1$rss.downloadstring("http://s.ch9.ms/events/build/2015/rss/mp3")) 

#Preferably enter something not too long to not have filename problems! cut and paste them afterwards
$downloadlocation = "C:\Build"

	if (-not (Test-Path $downloadlocation)) {
		Write-Host "Folder $fpath dosen't exist. Creating it..."
		New-Item $downloadlocation -type directory
	}
set-location $downloadlocation

#Download all the slides
try { 

$b.rss.channel.item | foreach{
	$code = $_.comments.split("/") | select -last 1	   

	# Grab the URL for the PPTX file
	$urlpptx = New-Object System.Uri($_.enclosure.url)
    $filepptx = $code + "-" + $_.creator + " - " + $_.title.Replace(":", "-").Replace("?", "").Replace("/", "-").Replace("<", "").Replace("|", "").Replace('"',"").Replace("*","")
	$filepptx = $filepptx.substring(0, [System.Math]::Min(120, $filepptx.Length))
	$filepptx = $filepptx.trim()
	$filepptx = $filepptx + ".pptx"
	if ($code -ne "")
	{
		 $folder = $code + " - " + $_.title.Replace(":", "-").Replace("?", "").Replace("/", "-").Replace("<", "").Replace("|", "").Replace('"',"").Replace("*","")
		 $folder = $folder.substring(0, [System.Math]::Min(100, $folder.Length))
		 $folder = $folder.trim()
	}
	else
	{
		$folder = "NoCodeSessions"
	}

	if (-not (Test-Path $folder)) {
		Write-Host "Folder $folder dosen't exist. Creating it..."
		New-Item $folder -type directory
	}

	# Make sure the PowerPoint file doesn't already exist
	if (!(test-path "$downloadlocation\$folder\$filepptx"))
	{
		# Echo out the  file that's being downloaded
		$filepptx
		$wc = (New-Object System.Net.WebClient)  

		# Download the MP4 file
		$wc.DownloadFile($urlpptx, "$downloadlocation\$filepptx")
		mv $filepptx $folder 

	}
	}

}
catch
{
Write-host "Slides are not yet up. Run this script every day to get the latest updates"
}

#download all the mp4

# Walk through each item in the feed
$a.rss.channel.item | foreach{
	$code = $_.comments.split("/") | select -last 1	   

	# Grab the URL for the MP4 file
	$url = New-Object System.Uri($_.enclosure.url)  

	# Create the local file name for the MP4 download
	$file = $code + "-" + $_.creator + "-" + $_.title.Replace(":", "-").Replace("?", "").Replace("/", "-").Replace("<", "").Replace("|", "").Replace('"',"").Replace("*","")
	$file = $file.substring(0, [System.Math]::Min(120, $file.Length))
	$file = $file.trim()
	$file = $file + ".mp4"  

	if ($code -ne "")
	{
		 $folder = $code + " - " + $_.title.Replace(":", "-").Replace("?", "").Replace("/", "-").Replace("<", "").Replace("|", "").Replace('"',"").Replace("*","")
		 $folder = $folder.substring(0, [System.Math]::Min(100, $folder.Length))
		 $folder = $folder.trim()
	}
	else
	{
		$folder = "NoCodeSessions"
	}

	if (-not (Test-Path $folder)) {
		Write-Host "Folder $folder) dosen't exist. Creating it..."
		New-Item $folder -type directory
	}

	# Make sure the MP4 file doesn't already exist

	if (!(test-path "$folder\$file"))
	{
		# Echo out the  file that's being downloaded
		$file
		$wc = (New-Object System.Net.WebClient)  

		# Download the MP4 file
		$wc.DownloadFile($url, "$downloadlocation\$file")
		mv $file $folder
	}

#text description from session
	$OutFile = New-Item -type file "$($downloadlocation)\$($Folder)\$($Code.trim()).txt" -Force
    $Category = "" ; $Content = ""
    $_.category | foreach {$Category += $_ + ","}
    $Content = $_.title.trim() + &quot;<code>r</code>n&quot; + $_.creator + &quot;<code>r</code>n&quot; + $_.summary.trim() + &quot;<code>r</code>n&quot; + &quot;<code>r</code>n&quot; + $Category.Substring(0,$Category.Length -1)
   add-content $OutFile $Content

	}

Leave a comment and don’t forget to like the Absolute SharePoint Blog Page  on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  Also, don’t forget to check out SharePoint Community.Net for more great SharePoint Content.

 With the amount of great sessions at Ignite this year, there is no way you could have attended all, and even if they are posted on Channel9, you might want to download them to be able to view them offline! That is why I created this PowerShell Script so everyone can easily download Microsoft Ignite Videos AND slides whether they were present at Ignite or not! Here are the features:

download Microsoft Ignite Videos and Content

  • Downloads all the Microsoft Ignite 2015 Sessions and Slides (Note: Slides are not posted yet, but the script will download them as soon as they are)
  • Groups them by folders
  • Makes sure no errors come up due to Illegal File names.
  • If you stop the script and restart in the middle, it will start where it left off and not from beginning
  • *NEW* (11/05/2015) You can now filter by keywords in the session title!
  • *NEW* (12/05/2015) Channel9 session blocks are limited to 400 sessions, and I changed the script to download the rest! Now all 680 sessions are downloaded!
  • *NEW* (15/05/2015) Changed the WebClient download protocol to Start-Bits in order to show download progress. Added ability to filter by session code. Cleaned up script so the code & output looks better! (Thank you Dan Holme and Steve Beauge) . As a blogger, you can send your readers to download the sessions you recommend. Just tell them to use the script, and the parameter -session “Code1, Code2, Code3″

Sessions and Slides are put into folders

Download Microsoft Ignite Videos

You can now filter downloads by session code!

Download Microsoft Ignite videos PowerShell

Progress Bar

Total size of sessions is about 292GB! But sessions are still being uploaded, so might increase in the future!

 

In this blog you will see the source code of he script, however my WordPress plugin sometimes breaks some PowerShell, so DO NOT copy it from my blog,

Thanks to Jeff Collins for helping me out with the script during Ignite! Make sure you send it out to all your twitter friends by clicking the image below!

 

Download the script from here!  Do not copy paste from below!

How to use: 

  • To download all sessions just run the script! EX:

.\DownloadIgnitevideosandslidesv4.ps1 

  • To download sessions based on a keyword use the keyword parameters, and divide keywords by a comma. Make sure to use quotes around the keywords! EX:

.\DownloadIgnitevideosandslidesv4..ps1 -keyword “SharePoint,Azure,System Center

  • To download sessions based on the session code, use the session parameter and divide sessions by a comma. Make sure to use quotes around the session codes!

.\downloadignitevideosandslidesv4.ps1 -session “BRK1106,BRK1107,BRK4552″

Here is the source code:

#Script written by Vlad Catrinescu
#Visit my site www.absolute-sharepoint.com
#Twitter: @vladcatrinescu
#Originally Posted here: http://absolute-sharepoint.com/2015/05/the-ultimate-script-to-download-microsoft-ignite-videos-and-slides.html
#Contributors: Dan Holme, Jeff Collins, Steve Beaugé 

Param(
  [string]$keyword,[string]$session
)

######    Variables  #####

#Location - Preferably enter something not too long to not have filename problems! cut and paste them afterwards
$downloadlocation = &quot;C:\Ignite&quot;
#Ignite 2015 Videos RSS Feed
[Environment]::CurrentDirectory=(Get-Location -PSProvider FileSystem).ProviderPath
$rss = (new-object net.webclient)
$video1 = (1$rss.downloadstring(&quot;http://s.ch9.ms/events/ignite/2015/rss/mp4high&quot;))
$video2 = (1$rss.downloadstring(&quot;http://s.ch9.ms/events/ignite/2015/rss/mp4high?page=2&quot;))
$slide1 = (1$rss.downloadstring(&quot;http://s.ch9.ms/events/ignite/2015/rss/slides&quot;))
$slide2 = (1$rss.downloadstring(&quot;http://s.ch9.ms/events/ignite/2015/rss/slides?page=2&quot;))

#other qualities for the videos only. Choose the one you want!
# $a = (1$rss.downloadstring(&quot;http://channel9.msdn.com/events/ignite/2015/rss/mp4&quot;))
# $a = (1$rss.downloadstring(&quot;http://channel9.msdn.com/events/ignite/2015/rss/mp3&quot;)) 

#SCRIPT/ Functions  Do not touch below this line :)#
if (-not (Test-Path $downloadlocation)) {
		Write-Host &quot;Folder $fpath dosen't exist. Creating it...&quot;
		New-Item $downloadlocation -type directory | Out-Null
	}
set-location $downloadlocation

function CleanFilename($filename)
{
    return $filename.Replace(&quot;:&quot;, &quot;-&quot;).Replace(&quot;?&quot;, &quot;&quot;).Replace(&quot;/&quot;, &quot;-&quot;).Replace(&quot;&lt;&quot;, &quot;&quot;).Replace(&quot;|&quot;, &quot;&quot;).Replace('&quot;',&quot;&quot;).Replace(&quot;*&quot;,&quot;&quot;)
}

function DownloadSlides($filter,$videourl)
{
    try
    {
        $videourl.rss.channel.item | Where{($_.title -like “*$filter*”) -or ($_.link -like &quot;*/$filter&quot;)} |
        foreach {
	        $code = $_.comments.split(&quot;/&quot;) | select -last 1	   

	        # Grab the URL for the PPTX file
	        $urlpptx = New-Object System.Uri($_.enclosure.url)
            $filepptx = $code + &quot;-&quot; + $_.creator + &quot;-&quot; + (CleanFileName($_.title))
	        $filepptx = $filepptx.substring(0, [System.Math]::Min(120, $filepptx.Length))
	        $filepptx = $filepptx.trim()
	        $filepptx = $filepptx + &quot;.pptx&quot;
	        if ($code -ne &quot;&quot;)
	        {
		         $folder = $code + &quot; - &quot; + (CleanFileName($_.title))
		         $folder = $folder.substring(0, [System.Math]::Min(100, $folder.Length))
		         $folder = $folder.trim()
	        }
	        else
	        {
		        $folder = &quot;NoCodeSessions&quot;
	        }

	        if (-not (Test-Path $folder)) {
		        Write-Host &quot;Folder $folder dosen't exist. Creating it...&quot;
		        New-Item $folder -type directory | Out-Null
	        }

	        # Make sure the PowerPoint file doesn't already exist
	        if (!(test-path &quot;$downloadlocation\$folder\$filepptx&quot;))
	        {
		        # Echo out the  file that's being downloaded
		        write-host &quot;Downloading slides: $filepptx&quot;
		        #$wc = (New-Object System.Net.WebClient)  

		        # Download the MP4 file
		        #$wc.DownloadFile($urlpptx, &quot;$downloadlocation\$filepptx&quot;)
                Start-BitsTransfer $urlpptx &quot;$downloadlocation\$filepptx&quot; -DisplayName $filepptx
		        mv $filepptx $folder 

	        }
            else
            {
   		        write-host &quot;Slides exist: $filepptx&quot;
            }
	    }

     }

    catch
    {
        $ErrorMessage = $_.Exception.Message
        Write-host &quot;$ErrorMessage&quot;
    }
}

function DownloadVideos($filter,$slideurl)
{
#download all the mp4
# Walk through each item in the feed
$slideurl.rss.channel.item | Where{($_.title -like “*$filter*”) -or ($_.link -like &quot;*/$filter*&quot;)} | foreach{
	$code = $_.comments.split(&quot;/&quot;) | select -last 1	   

	# Grab the URL for the MP4 file
	$url = New-Object System.Uri($_.enclosure.url)  

	# Create the local file name for the MP4 download
	$file = $code + &quot;-&quot; + $_.creator + &quot;-&quot; + (CleanFileName($_.title))
	$file = $file.substring(0, [System.Math]::Min(120, $file.Length))
	$file = $file.trim()
	$file = $file + &quot;.mp4&quot;  

	if ($code -ne &quot;&quot;)
	{
		 $folder = $code + &quot; - &quot; + (CleanFileName($_.title))
		 $folder = $folder.substring(0, [System.Math]::Min(100, $folder.Length))
		 $folder = $folder.trim()
	}
	else
	{
		$folder = &quot;NoCodeSessions&quot;
	}

	if (-not (Test-Path $folder)) {
		Write-Host &quot;Folder $folder) dosen't exist. Creating it...&quot;
		New-Item $folder -type directory | Out-Null
	}

	# Make sure the MP4 file doesn't already exist

	if (!(test-path &quot;$folder\$file&quot;))
	{
		# Echo out the  file that's being downloaded
		write-host &quot;Downloading video: $file&quot;
		#$wc = (New-Object System.Net.WebClient)  

		# Download the MP4 file
		Start-BitsTransfer $url &quot;$downloadlocation\$file&quot; -DisplayName $file
		mv $file $folder
	}
    else
    {
   		write-host &quot;Video exists: $file&quot;
    }

#text description from session
	$OutFile = New-Item -type file &quot;$($downloadlocation)\$($Folder)\$($Code.trim()).txt&quot; -Force
    $Category = &quot;&quot; ; $Content = &quot;&quot;
    $_.category | foreach {$Category += $_ + &quot;,&quot;}
    $Content = $_.title.trim() + &quot;<code>r</code>n&quot; + $_.creator + &quot;<code>r</code>n&quot; + $_.summary.trim() + &quot;<code>r</code>n&quot; + &quot;<code>r</code>n&quot; + $Category.Substring(0,$Category.Length -1)
   add-content $OutFile $Content

	}
}

if ($keyword)
{
    $keywords = $keyword.split(&quot;,&quot;)

    foreach ($k in $keywords)
    {
        $k.trim()
        Write-Host &quot;You are now downloading the sessions with the keyword $k&quot;
        DownloadSlides $k $slide1
        DownloadSlides $k $slide2
        DownloadVideos $k $video1
        DownloadVideos $k $video2
    }
}
elseif ($session)
{
    $sessions = $session.Split(&quot;,&quot;)

    foreach ($s in $sessions)
    {
        $s.trim()
        Write-Host &quot;You are now downloading the session $s&quot;
        DownloadSlides $s $slide1
        DownloadSlides $s $slide2
        DownloadVideos $s $video1
        DownloadVideos $s $video2
    }

}
else
{
    DownloadSlides &quot; &quot; $slide1
    DownloadSlides &quot; &quot; $slide2
    DownloadVideos &quot; &quot; $video1
    DownloadVideos &quot; &quot; $video2
}