Update a Dll in the GAC From the Command Line

July 7th, 2010 Richard No comments

I’ve blogged before on how to Easily add a dll to the GAC, but that involves two instances of Windows Explorer and the mouse.

It would be quicker and easier to use the command line to update a dll in the GAC. You can do this with the Global Assembly Cache Tool gacutil, but this is only present if you have the .net SDK or Windows SDK installed. This is going to be the case with your development machine, but you don’t really want to be installing it on all your test servers.

To get round this I knocked up a quick utility which will remove an existing version of a dll from the GAC and then install the latest version. The code is:

using System;using System.Globalization;using System.EnterpriseServices.Internal;

namespace Test{    public class GacInstall    {        public static void Main(string[] arguments)        {            try            {                string assemblyPath = arguments[0];                Publish publish = new Publish();                publish.GacRemove(assemblyPath);                publish.GacInstall(assemblyPath);            }            catch (Exception e)            {                Console.WriteLine(e);            }        }    }}

You can then use it by passing it the dll you want as a command line parameter e.g.

GacInstall MyUpdatedCode.dll

Assuming that MyUpdatedCode.dll is in the same directory.

Combined with my last tip Recycle An Individual Application Pool From The Command Line you can now write a bat or cmd file to replace the dll in the GAC and recycle the application pool with 2 key presses: The up arrow key and then return.

Recycle An Individual Application Pool From The Command Line

July 7th, 2010 Richard No comments

When developing SharePoint artifacts which live in the GAC you have the following options to get your new release in as part of the development process:

  1. Build your installation package and upgrade it
  2. Put the new dll in the GAC and run iisreset
  3. Put the new dll in the GAC and recycle the SharePoint application pool
    This is because SharePoint will only pick up updated dlls in the GAC after a recycle.

As it is an iterative process when you are developing this happens a lot, so ideally you need a process which is as quick as possible. 1 & 2 take the longest time so you should aim to use 3.

Luckily there is a command line command which will recycle individual application pools, which will be quicker than using the IIS administration tool. The command is

C:\windows\System32\inetsrv\appcmd.exe recycle apppool "SharePoint – 80"

Where you replace "SharePoint – 80" with the name of your application pool.

Of course when releasing to a live server you should always go down the proper installation package upgrade, this tip is purely for development purposes on your development server.

There’s a lot more you can do with appcmd – it’s a utility for making configuration changes to IIS so pretty much anything you can do through the IIS MMC snap in can be done via it. There are more details about appcmd on Technet or you can run

C:\windows\System32\inetsrv\appcmd.exe /?

to get help details.

Note: appcmd is for IIS7 not IIS6.

Salamander My Sites Now Support Filtering By Site Url

July 6th, 2010 Richard No comments

I’ve added a property to Salamander My Sites so that you can now filter the site list by a regular expression on the site url.

MySitesRegEx

When the Site Name RegEx is set it checks the sites’ urls and only shows links to those that match the regular expression. In the case pictured only those sites with urls such as

  • http://moss/classes/Art1A
  • http://moss/classes/Art-b2
  • etc

This was prompted by a request from a school who wanted to link to a subjects class sites from their departmental site.

They wanted to keep all the class sites under the classes sub-site, as per the default Microsoft Learning Gateway set up as that’s the easiest way for students to get to them.

Salamander My Sites remains a free web part.

SharePoint 2010 Licensing for Education – My Current Understanding

June 15th, 2010 Richard No comments

SharePoint licensing has always been a bit of a black art, but the release of SharePoint 2010 seems to have complicated it even more. This is my attempt at understanding it and may well be completely wrong! If nothing else it should help your understanding when talking to your Microsoft Education Partner who you buy your licenses from.

Dave Coleman posted a great blog on it at http://www.sharepointedutech.com/2010/05/19/licencing-sharepoint-2010-for-education-in-the-uk/, however on further investigation it has since come to light, and verified by Microsoft that he is missing a component which will in all likelihood double the price.

Basics of Licensing

Forgetting the educational differences to start with, the different types of license which may or may not be required to run SharePoint are:

  1. Server License per server running SharePoint
  2. Device CAL to allow a specific computer in your intranet to connect to the SharePoint server
  3. A User CAL to allow a specific user in your intranet to connect to the SharePoint server
  4. A student device CAL for student users
  5. A student user CAL for student users
  6. A device CAL to allow access to SharePoint from a specific computer/device
  7. Office 2010 licenses to use Office Web Applications
  8. External Connector License is required if you have an external users (i.e. not part of your organisation) logging into SharePoint. It covers an unlimited number of external users.
  9. SQL Server licensing. Every authenticated user must also have a valid license for SQL Server.

The server licenses break down into Standard or Enterprise and then again into intranet or internet options.

  • The Enterprise version has more features than the standard one.
  • If you want to host an internet site with anonymous users you need the internet option.

    For Education

That the basics of SharePoint licensing. Now to consider the educational licensing:

You obviously need a server license per server. I’ll come back to internet or intranet later.

Each SQL Server which is used by SharePoint will need licensing in the normal way. Every user which access SharePoint is will need a license for SQL as well. If you’re using the same SQL server as for other applications, you may well already be covered, otherwise a per-processor license is usually cheaper than individual SQL Server CALs.

Then for each staff member who will be using SharePoint you need a full user CAL (£11.95). So far nothing complicated.

For students it’s where it gets different. For SharePoint 2007, you needed a student user CAL per student. Now if you refer to the licensing for SharePoint Server 2010 at http://www.microsoftvolumelicensing.com/userights/ProductPage.aspx?pid=320 it states

Student Only CALs (Academic Open License and Academic Select)
Student Only CALs are restricted to license student owned PCs or institution owned PCs dedicated to an individual student and are NOT for use in labs or classrooms.

So you will still need a student User CAL(£0.85) per student to cover them accessing SharePoint from home. However in addition to this you will need a full Device CAL (£11.95) for every classroom PC which is not dedicated to an individual student. This is where it could get really expensive. Microsoft estimates that there’s approximately 1 PC per 3.5 students in the UK, so using Dave’s figures of 1000 students, that’s about 285 machines which will cost £3,405.75, which is slightly more than the other licenses put together. Of course if you one of the fortunate schools who has issued on laptop per student you only need student CALS, and if you are on the Schools Agreement the core CAL should cover SharePoint access.

What if you want to use SharePoint to communicate with parents, feeder schools and prospective students? Ray Fleming has blogged on this at Licensing parents for SharePoint – what’s free and what isn’t. Basically for every student which is licensed for SharePoint, then their parents/legal guardians are also licensed for no extra cost. In addition if ALL of your students are licensed then you get a no cost External Connector license for

  • Prospective students
  • Alumni – student & staff
  • Students & staff of collaborating academic institutions or government institutions

You can find out more details about these no cost licenses from Ray’s blog post and download the Parent/Guardian CAL Grant Letter and External Connector Grant Letter. In particular this should mean that you can host sites for your feeder schools with no additional license costs.

What about using SharePoint for my internet sites?

In my reading of the grant letters, they give you:

  • CALs for parents
  • The above groups of your community rights to log in to SharePoint

My reading of an External Connector License is that it only applies to authenticated/logged in users. So in a strict reading you would be licensed for parents (and your licensed students and staff of course) to access an internet site. You would not be licensed for anyone else to anonymously access an internet facing site as those groups above are only licensed to log on.

Arguably, the intent of Microsoft is to allow all those groups above access to your SharePoint, and you could argue that would include anonymous and logged in access. I don’t have an answer as to whether you are truly licensed for this or not, and neither is anyone I have spoken to, including Microsoft employees! If it doesn’t license you then you will need an internet edition of SharePoint, but if it does, then for the majority of schools their target audience for any anonymous internet web site is going to exactly be those groups above.

Conclusion

The release of SharePoint 2010 has only seemed to muddy the waters even more over SharePoint licensing. I have been told that Microsoft is looking at this area of Educational licensing for SharePoint and feedback is valuable so I would suggest emailing Ray via his blog and letting him know your thoughts.

Sorry about that Ray, but I hope you get lots of feedback!

Categories: Uncategorized Tags:

Learning Gateway Conference 2010, 14 July London

June 11th, 2010 Richard 2 comments

logo

If you are in education and using SharePoint then the Learning Gateway Conference is the must attend event of the year. Run by Alex Pearce (MVP) and myself it follows on from the highly successful first Learning Gateway Conference last year. This year will be even bigger and better! We have added a whole new track which is dedicated to leading SharePoint schools telling us their stories of how they have implemented their Learning Gateways, what has worked for them and what pitfalls to avoid.

With the recent release of SharePoint 2010, it is an exciting time in the SharePoint world and the educational pricing makes it a great product for use in schools, colleges and local authorities. However, in addition to covering some of the fantastic new features in SharePoint 2010, we will still have lots of content for SharePoint 2007. So whether you have already moved to SharePoint 2010, are planning to upgrade over the summer or don’t currently have any plans to change, there will be lots of great information you can take away and use in your Gateway.

With both technical and user oriented sessions there is something for everybody – network managers, technicians, users, Learning Gateway managers or members of senior leadership teams. In addition the conference will be relevant and useful whether you are an experienced SharePoint user, just starting out or just considering SharePoint. With 3 concurrent tracks running throughout the day it would be worth considering having more than one attendee!

In addition to the content it will of course be a great networking event with the opportunity to meet others in the same situation as you and discuss what you are doing. At only £150 for the day it’s an unrivalled professional development opportunity providing information you will be able to put in practice straight away.

The venue is Church House, Westminster in Central London so is easy to get to from almost anywhere.

For more information visit the conference web site and register today. To whet your appetite here is a list of the sessions:

Building the Gateway

User Adoption

School Stories

Understanding SharePoint 2010

2010 Social Networking Features

Parental Engagement

Branding

Encouraging user adoption & quick wins

How we drove usage

Patching SharePoint and Preparing your SharePoint 2007 for 2010

SharePoint 2010 for Education

Hosted SharePoint

A look at live@edu

Integrating InfoPath Forms

How we use our in-school SharePoint

Virtualisation

SharePoint Learning Kit

Replacement of the File Server

We hope to see you there on the 14th!

 

frontimage

My Documents Web Part Now Supports Multiple File Upload

June 7th, 2010 Richard No comments

I’ve just added support for uploading multiple files to the My Documents and My Shared Documents web parts. It’s a pretty simple implementation – if you click on Upload Multiple Documents

uploadMultipleClosed

then you get given the option to upload up to 5 documents at a time.

uploadMultipleOpen

Nice and simple.

If you are looking to upload more documents than that, then really you probably ought to be using SharePoint itself as the document repository. I always look on these web parts as a step on the way to fully using SharePoint, not as a long-term solution.

However, if you really need to upload many files, just zip them up, upload and unpack them when you are next in school/work.

Categories: My Documents Tags:

Creating Parent Accounts for your VLE from Sims, Facility CMIS or other MIS

June 7th, 2010 Richard No comments

A question which comes up frequently is how shall we create parent accounts for our VLE or parental engagement system? This discussion is relevant whichever VLE / parental engagement system you are using and whatever your MIS.

There’s 2 main ways of creating parental access accounts:

  1. Create one parental access account per student in the MIS.
  2. Create an account per contact in the MIS who has parental responsibility for a student.
    When schools first start thinking about parental access, then the one parental access account per student is usually the first one which springs to mind. This is certainly the easiest way to initially manage the accounts : you can just take an extract of students from your system and use a similar way of creating the parental accounts as you create your student accounts.

Option 2 initially is harder, because to be blunt, the quality of the contact information in any MIS is generally pretty bad. This ranges from missing information which needs be used in creating the account name, to parents being in the system multiple times.

The reasons for this include:

  1. Quirks in the MIS front end make it easier to create new contacts than to find ones linked to siblings and linking them to the current record.
  2. Insufficient information in CTF imports to find and link existing contacts.
  3. Lack of staff training to find and link exisiting contacts.
  4. Until you want to create parental accounts you don’t actually need to collect all the information i.e. Mr Willis is good enough to address letters home with, but not enough information to create uniquely named accounts with.
    Hence, before you can begin creating accounts for individual contacts you need to clean your contact information.

So a parental access account per student initially looks very appealing. However, there are several immediate problems with it:

  1. Sharing an account between multiple people is just plain wrong. For starters there is no auditing. If the application is purely read-only you might accept this, but if there’s any write back/updating from the account, even something as simple as messaging to the teachers, then this is unacceptable. Imagine what could be done in an acrimonious split in the name of the other party. There probably isn’t any system which is purely read-only, even the ones with just read-only access to information can probably set their display name or has a messaging system.
  2. If a parent has multiple children at the school, they will need to login multiple times to see all their children. This is adding extra barriers to use by the parents. We need to make it as easy for them as possible if we want them to engage with the school.
  3. Separated couples cannot be allowed to share an account. If they do they may accidentally or maliciously get access to information they should not have. Again in a purely read-only system, if such a beast exists, you might get away with it.
  4. If a couple split up and one loses parental responsibility, you will need to revoke the account and issue a new one for the parent who still has parental responsibility. Rather than just revoke the one account.

Point 4 gives rise to an further important consideration. Your parental accounts need constant maintenance, you can’t just create them once and forget about them. You need to monitor the contacts to see if anyone has had their parental access removed or has had a court order raised against them. This needs to be done automatically or pro-actively and not just when someone mentions it to you. Their rights to see the student’s information needs to get removed immediately.

So in my opinion you need to create an account per parental contact in your MIS from the get go.

Once you have created your accounts what do you do with them? Well presumably the SLT has a vision for what they are going to be used for or there’s really no point going down this road. As part of this vision they should have considered about how to distribute the credentials. You could just send them home in a letter, but that’s insecure and not really engaging the parents with what they can do with them. The best ideas that I have seen about this is inviting the parents and their children to sessions at the school where the school explains what they are trying to achieve, how the parents and pupils can best make use of this information and does a quick training session on how to use the parental engagement tools. They are then given their credentials at the session and should know pretty much exactly what they can do and how they can engage with the school.

BETT 2010

January 12th, 2010 Richard 1 comment

 

It’s that time of year again when Olympia opens its doors to the world of IT in Education and BETT begins. I’ll be there on Wednesday, Thursday and Friday and would love to meet as many of your as possible, whether you are customers, SLK users or just vaguely interested in what we do. Again I’ll be spending most of my time looking at the stands, so if you want to meet we can either arrange a date and time or you can just give me a call when you are free – although judging from past years it’s not always possible to hear my phone at BETT. Failing that, I’ll probably spend some time at the LP+ stand (E46 in the Main Hall), currently I’m planning to be there 1400-1445 every day. I also expect I’ll be hanging around the Microsoft stand as well as I know quite a few of the guys on there.

Categories: Uncategorized Tags:

SharePoint Learning Kit 1.4 Released

January 11th, 2010 Richard 8 comments

I’ve finally released SLK 1.4 to Beta. Sorry about the delay, but in the end I’ve rewritten the drop box functionality to hopefully work seamlessly within SharePoint. To do this I knew I needed to make changes to how the drop box library was created which would be incompatible and so decided to hold back on officially releasing it.

You can download from the release page on CodePlex.

It is not backwards compatible with the version uploaded to the patches folder, so any documents returned by that will not be available via this version. The documents will still be present though.

The major changes compared to the version in the patches folder are:

  1. Students can open office documents and save them straight back to SharePoint without having to save to disk first.
  2. Teachers can open and comment on office documents without having to save to disk first.
  3. The drop box library is created as required. You do not have to enable the SLK feature on the site to create it.
  4. Although folders are still used as containers to hold student’s work (as the document names are likely to be the same), they are not used to navigate the assignments. You either use the default view which is grouped by assignment or use assignment specific views which are created when an assignment is created.
  5. You can use the drop box in a locale which doesn’t use US style dates.
  6. I’ve currently removed the download all and upload all files options for teachers so that I can get the release out. I just haven’t had time to complete this.
  7. I’ve removed Course Manager from the install. This will again be available as a separate release. The reason is that the quality is still not there for it to be bundled.

I will consider this version to be in beta until 24 Jan at the latest. At which point there will be another beta version with at a minimum the download all and upload all functionality in, or a final release. Please download and report any bugs, which I will attempt to resolve quickly. I am keen to get 1.4 RTM so we can move on to the next version and get the project moving again.

Note, I still need to update the documentation to cover this release, this may take some time. If anyone would like to volunteer to do this it would be really helpful. I’m also considering moving it to the wiki pages on CodePlex rather than just having the getting started pdf as it will be easier to maintain and distribute. Does anyone have any thoughts on this?

Categories: SLK Tags: ,

Salamander DataViewer now supports IWebPartField connections

November 11th, 2009 Richard No comments

I’ve just updated the Salamander DataViewer web part to support connections to other web parts which provide an IWebPartField connection.

I’ve also updated the User Search and My Children web parts, part of our MIS Web Parts solution, to provide an IWebPartField connection. Here’s a screen shot of a simple connection where My Children is linked to the DataViewer.

DataViewerIWebPartFieldConnection

This is likely going to be most useful for linking to external systems holding information about your pupils and staff.

Categories: Data Viewer Tags: