| Brad's profileSharePoint BlogPhotosBlogLists | Help |
SharePoint BlogSharePoint notes, comments, solutions and ideas from a SharePoint Integration Consultant |
|||||||||||||||||||||||||||||||
|
May 31 Proposal and Scoping Visio diagrams / resourcesI was busy looking for something entirely different on SharePoint and stumbled on the following resources, which will come in handy when building proposals / response documents, architecture diagrams, etc. http://technet.microsoft.com/en-us/library/cc263199.aspx – these are a series of models and diagrams here in PNG, JPG and Visio format that can be used as a starting point for architecture diagrams in proposals and presentations. They are based on real-world production deployments using best-practices design and architecture. They include:
There's also a MOSS and WSS 3 STSADM tech reference poster that can be downloaded from Ian Morrish's WSS Demo site (which is handy, because the redirect links on the Microsoft page above do not work). Finally, here's a list of resources for SharePoint, grouped by resource type here - http://www.wssdemo.com/Pages/GroupBy.aspx May 29 The HTML Calculated FieldI have been using this function a lot lately, as it's easy to build, easy to modify and does not require SPD's Data Form Web Part to create good looking lists. The basic premise behind it is you use a "calculated field" to construct a HTML String, then you throw a small bit of javascript on a page in a content editor web part (the js never changes from page to page, so you could lob it in a sharepoint js file too, as it does not affect anything else). This allows you to do things like apply traffic lights to any conditional test you can perform in Excel (as a calculated field has 90% of the functionality of excel formulas) or colour-code a list item based on its approval status. It's pretty cool, and really jazzes up your user interface – for example, you can colour a monthly calendar event to represent some type of event, without chewing up valuable real-estate describing the event in the item title. Cristophe also has some other neat features, such as a month calendar view that can be displayed on the right side of the screen without requiring a 1600x1200 display, a scrolling news item, etc. Check his site out to be inspired :) He also has some other sites containing content too - http://8002.freesharepoint2007.com/default.aspx and http://pathtosharepoint.wordpress.com/ May 28 Theming – a useful utility for getting coloursSo, more on the theming quest for knowledge – I was at a corporate site and they dumped this style guide on my desk and said "Follow That, sport" (actually, it was nothing like that, I'm just talking it up – it's a great client). After laughing my ass off at the Branding Nazi's (Marketing) choice of site colours, I thought – I could probably use one or 2 of these colours and come up with a nice theme. Maybe there is a tool on the web that'll help me… http://colorsontheweb.com/colorwizard.asp – Enter your hex colour code and hit go, and it'll pick colours that work together well (shades) and colours to use for "hover" and button effects (Tetradic and Split Complimentary were great for these). Oh, I also use Paint.NET to create and manipulate images, buttons etc – this was an undergraduate program started at MS to supersede MS Paint, but it's now a community tool. The best part are the plug-ins, but it's simple enough to use without being an art major. You can grab it here. A theme with the name "<themename> 1011" and version already exists on the server.First time I've ever hit this one – Building a custom theme for a client, using the technique Heather Solomon suggested here (Great strategy, saves heaps of time in testing cycles). Everything's going smashingly, then when I first change the test site to the new theme, it comes up with the dodgy message listed in the title. Googling found a few people with some unique ideas – Change the name of the theme (puh-lease), renaming the theme folder (uh-huh) and delete the cached theme using SPD (this was plausible at least, but didn't help me resolve the issue). In the end, I had to go in to the codepage value within the inf file in the themes folder to a different value (anything but what it was) and it resolved the problem. Thinking about it now, I probably could have deleted the file altogether as generally it's only used for multilingual environments so they can "read" the theme name in their native language, and has nothing to do with the theme functionality. One trap I'll remember for next time when copying a theme folder as a starting point for customisation. May 26 Search Not Working? Might be that an update has clobbered it…I’m starting to hit this problem so much lately that it’s now one of the first things I look for when a client calls me and indicates their search is not working properly. It also seems to affect authentication in other cases, and is more likely to occur in demo environments where everything sits on the one box (including the browser being used to access the site) – Mark Harrison's hit the issue recently too… A security bulletin came out on November 11th 2008 that discusses a remote code execution vulnerability. Almost all versions of Windows are affected by this vulnerability. SharePoint systems on <= Windows 2003 SP1 or Windows 2008 server have this patch installed. Implementing the patch causes an indexing server to fail when it attempts to index a site that is:
Symptoms:
The text from the error is:
Cause: The patch that was rolled out as part of the 2003 Service Pack and with Windows 2008 Server disable the service account’s ability to use cached authentication credentials to access the local resource – this prevents an authentication token playback exploit that the patch fixed. Resolution: There are 2 resolutions, neither of which involve modifying SharePoint or the security granted to the account. On the server running the indexing service, you need to enable a registry key that either:
BOTH REQUIRE A REBOOT TO ACVTIVATE CHANGES. Option 2 only needs one reboot. Now let’s say that you have a server farm. Every time you add a new web application with an Alias and you go with option 1, you need to apply the Registry update and reboot the server so that the site can be indexed. In most farms, this reboot would take out one or more production sites, prevent search queries from being handled, etc. I can’t see many people buying this "Best Practice" option. Here is the info from KB Article 896861: Method 1: Specify host namesNote: Microsoft recommends that you use this method.To specify the host names that are mapped to the loopback address and can connect to Web sites on your computer, follow these steps:
Method 2: Disable the loopback checkFollow these steps:
This is just one of those Search Issues that is not immediately clear… hopefully this saves someone more troubleshooting time than it cost me :) Brad May 23 Logging anomalies in SharePoint Designer WorkflowsMy mate Yaohan keeps telling me to “man up” and learn how to use Visual Studio and Windows Workflow Foundation to build SharePoint workflows. I just can’t bring myself to do it – It would be such a major transition for me that the rest of my work would suffer. Step Completion Serial Actions do not complete in order Commit & Proceed Custom Workflow Logging Brad May 22 Whoopsie! Service Pack 2 has a 180 day timebomb…Sometimes things just don’t go according to plan. It looks like SharePoint’s latest service pack has a 180 day timebomb in it. There’s a patch coming, and the workaround is pretty easy – you just enter your key again. I feel sorry for the SharePoint dev team – they do such a good job, but people often remember the things that do not go so well… Hopefully this one will be quickly fixed and just as quickly forgotten… At least it does not affect people immediately. More details can be found here - http://blogs.msdn.com/sharepoint/archive/2009/05/21/attention-important-information-on-service-pack-2.aspx UPDATE: There's a hotfix available to fix it now. check it out here - http://support.microsoft.com/default.aspx?scid=kb;EN-US;971620 May 18 Bypassing the recycle binTesting can be so much fun. You build up sites, fill them with rubbish data, tear them down, rinse and repeat. Recently I had a site I'd put a fair bit of effort into and the client loved it. Problem - how do I leave the site as it is, but remove all the bad data? Option 1: Once you have deleted all of the bad content from the lists, etc, you can go page by page through the recycle bin, 50 at a time and delete them from there... then do the same in the site collection recycle bin (this takes too long, gives me RSI) Option 2: You could go to Central admin, and under the web app delete everything in the site collection by switching off and on the recycle bin (not granular enough - deletes all recycled objects in all site collections within that Web app) Option 3: You can go to the recycle bin of interest, then enter the following into the address bar (by itself): Option 3 wins hands down. Brad May 17 Can’t get the Room and Resource Reservation system working?Came across an issue with a client when deploying the Room and resource reservation system on a client site (you know, the one from Microsoft’s “Fab 40” collection with all of those pesky issues). Anyway, it was installing fine, no error, could create an RRR site… but it was not booking the rooms properly. Huh? I know about the fact you cannot delete a reservation (fixed that issue – future post), or that there’s a bug when creating resources in any locale except US (bug in the Workflow, fixed that)… but being able to book the same resource for the same time to 2 different people? Surely even the simplest test would have picked this one up! Turns out that there is a column that this “Conflict Detection” feature relies on… and if you try and install the application and this column exists as a site column for a parent (or a site collection column) then you’ll run into this. Problem is, I cannot remember the name of the column… and the environment is one I no longer have access to (so I cannot find out). I know this post does not have a specific resolution, but if you have installed this Template, and you find that you can “double-book” meeting rooms, check to make sure that the necessary feature is active – If it’s not, the error you get when you try to activate it will likely indicate a column name conflict. Cheers! B SharePoint 2010 Preliminary RequirementsSome details have started to come out about the requirements for SharePoint 2010. Running it:
Information Store:
Using it:
More info can be found here… - Announcing SharePoint Server 2010 Preliminary System Requirements Brad April 17 SharePoint 2007 Service Pack SP2 has been releasedUpdate 29/04/2009 – The Service Pack 2 for SharePoint 2007 (that is, WSS 3 and MOSS 2007) has been released to the general public. You can get the Windows SharePoint Services one here and the Microsoft Office SharePoint Server one here. There are lots of changes (Change Log WSS – Change Log MOSS) so please ensure you test this in a development environment first before rolling out to production. The release date for SharePoint 2007 SP2 has been set at the 28th April (2 weeks from today). There’s a write-up of the biggest changes here - http://blogs.technet.com/office_sustained_engineering/archive/2009/04/16/service-pack-2-for-the-2007-microsoft-office-system-due-to-ship-april-28th.aspx – The thing I’m most happy about is the fact that they are releasing the bugfix list as a spreadsheet again. Nice, very nice. Whack it in a SharePoint site, index it and you have a “That was fixed in Service Pack n” lookup feature for clients who are still on RTM (and who are in an unsupported state). Sweet! And information that’s much more useful than the name of the next version of SharePoint. Honestly, I’ve lost count of the number of blog entries proudly proclaiming that the next version of SharePoint is going to be called… wait for it… SharePoint Server! <Commence Sarcasm>WooHoo! I’ll sleep better tonight!</Commence Sarcasm> Anyway, keep an eye on this blog to be notified of the release http://blogs.technet.com/office_sustained_engineering/ (Or you could diarise it I suppose…) Brad April 03 Creating Shared Hosted environments using WSSJust quickly wanted to blog this - here's a video on how to create a shared hosting environment using WSS 3 - the video was created by MCS so it's a good reference.
March 25 Renaming Title back to Title…I have just done this for a second time at a client’s site. Got a list, using content types, want to have the Title field appear in the list as something different (in my case, Question). So I happily rename the field, forgetting that this is a Site collection based field type that is in EVERY list – Damn, I hate racing the clock. Anyway, you can’t easily rename it back through the UI because “Title” is a reserved keyword (I reckon it’s a bug too) but you can using SharePoint Manager. SharePoint Manager is a great tool that lets you manipulate your SharePoint system in ways one could only dream about thru the User Interface – including bypassing that annoying “Reserved Keyword” message. Crack it open on one of your WFE servers, point to the right site, drill down until you get to the “Fields” collection. Underneath there, you will see the name you renamed title to – double check in the pane on the right and ensure the “Static Name” still says title. Then just edit the “Title” property back to Title and you’re done… Of course, the answer is to hide the field – but how? Mike Ferrara has the answer here. Essentially, you enable management of content types, set the field to “Hidden” and you’re on your way. Done! The only problem then is fixing up all of the other lists that have a “Title field. Let’s see, that’s… hmmm, carry the 2… All of them. Oh man… March 08 Fishing an ItemID from a URL – the easy wayI’ve recently started to follow Jeremy Jameson’s blog – He knows lots about MOSS and the associated technologies, and he always seems to be coming up with little “gems” of information. The post that led me to his blog was one he wrote where you can create a bookmark or quicklink which extracts the ItemID from the current URL in a browser. It’s a neat trick and could easily be expanded to a little toolbox of functionality for people who are constantly pulling things out of querystrings (like me). From his blog: Parse List Item ID How do I install the browser button?For Internet Explorer users:
For Firefox users:
How do I uninstall the browser button?For Internet Explorer users:
For Firefox users:
Cheers! Found a way to "Address" a SharePoint field using JavaScriptOne of the things that makes it a bit tough working with SharePoint pages is the fact that you cannot predict what the form fields will be called. They get random names like ctl00$m$g_b38c402f_5254_4ae1_8677_39beff22ef48$ctl00$ctl02$ctl00$ctl01$ctl00$ctl00$ctl02$ctl00$ctl00$ctl04$ctl00$ctl00$TextField and they change every time you change the form fields. Bah! Hopeless. However... in my hunt around for a solution to the Outlook Calendar times in GMT issue for one client, I came across this little gem of a script that solves this problem: http://blogs.msdn.com/sharepointdesigner/archive/2007/06/13/using-javascript-to-manipulate-a-list-form-field.aspx The getTagFromIdentifierAndTitle code below grabs a Form field tag (id) based on the tag Name, Identifier and Title you pass in. In this code sample, they are using that information to pre-populate form fields in SharePoint from values in the querystring. One of the projects we’re working on at the moment has a common requirement to have the form fields pre-populated - this may be useful in that solution somewhere.
<script type="text/javascript"> // This javascript sets the default value of a lookup field identified // by <<FIELD DISPLAY NAME>> to the value stored in the querysting variable // identified by <<QUERYSTRING VARIABLE NAME>> // Customize this javascript by replacing <<FIELD DISPLAY NAME>> and // <<QUERYSTRING VARIABLE NAME>> with appropriate values. // Then just paste it into NewForm.aspx inside PlaceHolderMain _spBodyOnLoadFunctionNames.push("fillDefaultValues"); function fillDefaultValues() {
function setLookupFromFieldName(fieldName, value) { function setSelectedOption(select, value) { function getTagFromIdentifierAndTitle(tagName, identifier, title) {
Here's a list of the most common SharePoint Field types and their associated Identifier and tagName:
*Lookups are a bit more complicated because Lookup FormFields render differently when the target list contains more than 20 items. That's why the code above has a special function for Lookups March 07 Hamlet, Act 2 scene 2 (Oh how I hate Daylight Savings, TimeZones, and the fact XML can’t deliver a date format JavaScript understands)Yes, while working onsite at a Client’s place I've been getting my hands all icky with code... I scrub and I scrub but all of the ocean's waters won't wash this code from my hands. Anyway, the point of this blog entry is to record the challenge that I had and the code I wrote to fix it, as it will be useful in the future for both me and maybe others. Essentially, the page I was fixing was giving me times in Zulu (GMT) - and in an XML format the JavaScript time functions could not understand. The business requirement was to have the times appear in Outlook in the same time zone the user was using. It took me the better part of a day, and I learned way too much about time zones and how to detect them on the user's computer, but I got there in the end. The original code for this was here - http://patrikluca.blogspot.com/2008/03/extension-to-rooms-and-equipment.html - an "Add to Outlook" button to go beside every Resource reservation, for a company still using a Lotus Notes app that allowed them to place multiple conflicting (overlapping) bookings on the same room / item. I leveraged the free "Resource Reservation" add-in for SharePoint and enhanced it according to the article, but when the users started using it they noticed that the times never matched. It was always 10 hours earlier than the real booking time that appeared in the page. Hmmm... 10 hours... Australia's GMT+10, so it must be passing them in as GMT Times. I updated the JavaScript so the times were changed back to the equivalent time zone (taking into account daylight savings) of the current user (Useful because this client is in 4 different time zones at any time as a minimum). There's only one problem in the code (and it's unlikely to be hit) but if a user books a resource for either side of a daylight savings change, then one of the times will be out by 1 hour. You can see the note I've put in there to remind myself if I ever get asked to fix it :) If you are copying the code, watch out for line breaks! function createOutlookAppointment(title,meetinglocation,startdate,enddate) saveAppt( newAppt ); function isDST(incomingDateTime) function formatIncomingDateTime(incomingDateTime){ var timePartHours = incomingDateTime.substring(11,13); //create the date we are going to manipulate //calculate the hour we are booking for... if (timePartHoursInt < 0) { if (timePartHoursInt < 10) { if (myDate.getMonth() < 10) if (myDate.getDate() < 10) var datePart = myDate.getYear() + '-' + monthPart + '-' + dayPart; return datePart.concat(' '.concat(timePartHours).concat(timePartMinSecs)); function appt( Subject, Location, Start, End){ this.Subject = Subject; this.ReminderMinutesBeforeStart = 15; var olAppointmentItem = 1; out = new ActiveXObject( "Outlook.Application" ); appt = out.CreateItem( olAppointmentItem ); appt.Subject = obj.Subject; appt.ReminderMinutesBeforeStart = obj.ReminderMinutesBeforeStart; appt.Display(); This "Add to Outlook" button can be used on any page that can pass in a Start and End date, time, a Title (for the calendar appointment) and a location (eg a calendaring Confluence site?). With a bit of modification you could also add other attendees, a reminder, etc. However, the site hosting the link / button must be trusted for this to work properly. If the site appears in the "Internet Zone" you just get a JavaScript error. If your site sits in the Intranet security zone you get a security dialogue, asking you if you are sure you want to run this crazy activeX control. Anyway, an interesting day and a successful outcome for the client.Although a word of warning – the Room and Resource Reservation solution from Microsoft will deploy successfully on a Publishing website, however it will NOT stop users from booking an overlapping meeting (because there’s a conflicting named column or content type – one or the other). Brad March 04 All my life, I’ve wanted a consistent Menu system…Up until now, menu systems for MOSS had to be built if you created new site collections that resided below the “parent” site (Parent in a URL-hierarchal sense). The team at RDA have released a few projects, but by far and away the best one from them (IMHO) is the Global Navigation solution in CodePlex. Basically, you can nominate a web site or set of web sites you want to have the navigation based on, then using a separate administration page, Staple it to whichever web sites you want. I hope to try it out on one of our lab servers soon, and if it works as described I’ll just start rolling this out as a matter of course for all of the clients I create intranet sites for, where you will often have separate site collections with separate navigation in the same URL hierarchy. You can get the code and binaries for it here – there’s also a blog entry with screen shots here – I just wish they’d explain what they mean by the phrase “associating a Data Source with all sites” – Is the web site the data source? A Database table? Cheers! February 25 New hotfixes for WSS and MOSS (SharePoint 2007)And not a moment too soon! We rolled out the infrastructure update to a client just recently to resolve an issue they were having where emails coming into an email-enabled document library were not triggering a workflow. As most people know, the Infrastructure Update breaks Alternate Access Mappings when using Load-balancing or Proxies… so if you use them, you then need to install at least the next hotfix rollup that came out after it. So that was the plan… and all was going swimmingly until we looked at the workflow and realised that they were all failing – it appears as though the October and December hotfixes introduced an issue where updates to user columns failed when running through SharePoint Designer workflow. It’s like playing Whack-a-mole. Anyway, the new hotfixes have just been released and they fix a lot of outstanding issues – they can be found here for WSS - http://support.microsoft.com/kb/961750 – and here for MOSS - http://support.microsoft.com/kb/961749. I can’t find the hotfix rollup yet, so until they are published, these should ideally be deployed on farms that already have the December releases. **UPDATE** - The Rollups for February have been released, as announced on Todd Klindt's blog - http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?List=56f96349%2D3bb6%2D4087%2D94f4%2D7f95ff4ca81f&ID=111 - get them here (WSS3) and here (MOSS 2007) **UPDATE** - Joerg Sinemus has updated his blog with the information required to roll these out. Until the uber-patches are released, you need to be at least running SP1, however there are no other prerequisites as per his article... having said that, other people have had problems if they do not yet have the infrastructure update installed and they try to install a hotfix pack released after the Infrastructure Update was released.
List of issues resolved is as follows:WSS
The last tag is missing an "s." It should be </Sites>. Also, the <site Error …> tag is not correctly closed. [30/9/2008 2:11:46]: Verbose: Starting object: Shared Search Index. [30/9/2008 3:12:17]: Error: Object Shared Search Index failed in event OnBackupComplete. For more information, see the error log located in the backup directory. WebException: The current operation timed-out after 3600 seconds [30/9/2008 3:12:17]: Debug: at Microsoft.Office.Server.Search.Administration.CatalogPauseTimeout.WaitAndThrowIfTimeout() at Microsoft.Office.Server.Search.Administration.SearchApi.CatalogResumeCrawl(GathererPauseReason reason) at Microsoft.Office.Server.Search.Administration.SearchSharedApplication.Microsoft.SharePoint.Administration.Backup.IBackupRestore.OnBackupComplete(Object sender, SPBackupInformation args) [30/9/2008 3:12:17]: Verbose: Starting object: SharedServices_Default_Search. MOSS
February 24 The Hosts file – here today, gone today!When I set up a SharePoint system, I like to ensure that it’s set up according to Microsoft’s “Least Privilege Access” rule. It means that if the site ever gets compromised, the user has no access to other resources except ones directly related to SharePoint. I was at a client’s site recently running an upgrade. Only one failure – It said that it could not find the hosts file… so I recreated the hosts file and reran the upgrade. No problems this time. Once I’d finished however, I noticed that there were a lot of errors coming up in the event log: Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (...). Reason: Could not find file 'C:\Windows\system32\drivers\etc\HOSTS'. Techinal Support Details: The hosts file had disappeared again. Damn. Recreated it, but in about a minute it went again and these errors started up again. After a quick search, I uncovered this gem of an article which described the issue perfectly. It looks like the testing done for this feature was somewhat flawed. The solution is to grant permissions to the folder that the hosts file resides in – once the hosts file is deleted, then the service can recreate the hosts file the way its creator intended. Original article was here - http://blogs.msdn.com/jjameson/archive/2007/05/05/the-case-of-the-disappearing-hosts-file.aspx Brad February 19 Had an interesting discussion after the last SharePoint User GroupI really enjoyed myself at the last user group. I was all prepared to snore my way through it, but found that I was actually very interested. The usergroup was about Accessibility – a pretty lonely topic, less popular even than Governance. However, the presenter was a hearing-impaired, blind person who gave a very interesting speech. I was delighted because I wasn’t being forced to hear about another vendor product they say is for everyone and I think has an extremely limited scope… and because the presentation was interesting. But the most enjoyable part was once the presenter had finished – we started chatting amongst ourselves (there was about 20 people) about what the answer was. How do we make our systems more accessible? What technologies are out there today? Where do we need to be? What are the benefits? Downsides? There were several opinions – Most stemmed from personal experience. From a practical point of view, there were only really 3 things that could be improved - they were:
The problem with 1 & 3 is cost and motivation. 2 has already been solved – by using XML, people can create dynamic sites that are engaging and accessible. So what’s stopping a proliferation of web sites running XML with an XSL presentation layer? In the past it was bandwidth. XML is a heavy language – there’s no denying it… but these days bandwidth’s cheap and available to most… so it’s not so much of an issue. The solution seems to be clear – make better developer tools – but an improvement in tools by vendors for something that is not being demanded or mandated is a tough ask (Vendors are looking for the “point of difference” in their product, not the same thing but in a different backend language). In the past, there has been considerable effort put into accessibility when governments started saying things like “We’ll only buy software that meets the following accessibility standards” – in fact, the only reason Windows has them is because governments were about to refuse to buy their OS as it didn’t have it “baked in”. So… Maybe what we need is some way for governments to say that they’ll only buy development tools that allow them to build web sites that meet accessibility standards with the same speed that they can build non-accessible sites. Hmmm… that’s a bit hard to quantify or measure. What about “We’ll only buy development tools that give developers the choice of creating the presentation layer of their solutions in either native code or a combination of XML+XSL”. That’s better – at least we can measure that. OK… That takes care of the guts of a web page, but how about the slick UI? What about Silverlight? Well… Silverlight uses XML to represent its functionality. It has limitations, but it’s getting there. What about InfoPath? InfoPath forms are ALL XML, with an XSL skin on them that gives them a rich UI experience in Forms Server. So you can see that we’re close. I mean, we have a language that is regarded as “Self-Describing” – that’s XML. We have tools that can have their toolset extended – in VS2008 you can implement your own intellisense for any language you can dream up. People have implemented CAML intellisense for VS2008. In a corporate environment where the devs are using this particular tool, you could conceivably build a corporate standard for XML and an XSL that maps to the corporate tags. XMLSpy has excellent capabilities, but the learning curve is steep. So we’re close… we have the capacity to enhance our current tools to meet the need for people with visual impairments. The population is aging, which will only increase the demand for these types of features. We have the language, and the overhead of running a UI layer through XML & XSL is being countered by the increase of available bandwidth to Joe user (even here in Australia, where ADSL1 is still kinda cool). Does anyone else have an opinion on this? Is there a better way to do it? I’m not on a personal crusade here, I don’t know anyone who’s blind, but it seems a bit silly that we’re 90% there and everyone’s looking at everyone else and say “you go first” “no you go first” “no, I insist, after you” etc. Anyway, just thought I’d get this down to see if there is a better approach. BTW – SharePoint has an “Accessibility” setting that can be turned on and off. Turning it on reduces some of the slick functionality in the UI but it makes it easier for screen readers to interpret what’s going on and let the users know. Lastly, if you are determined to build an accessible site or app the only true test of whether a user interface / web page is accessible is to get a blind person to try it for you. It’s easy to make something that is accessible, but a lot harder to retrofit it. Just my thoughts… Brad February 15 Charities do it Cheaper!CustomWare does a lot of NFP and charity work as well as their commercial work. I was at the SharePoint user group in November ant one of the Microsoft employees there mentioned that there is a site these type of organisations can go to called http://www.donortec.com.au/ - here they can buy software from companies such as Microsoft, Cisco, Flickr etc for a fraction of the cost of going retail. for example:
Office 2007 Professional normally sells at $500US - you can pick up Office 2007 Professional Plus for $30AU. That's a fair slab of savings!
Or how about...
SharePoint Server 2007 Enterprise Server? $377. Sweet! January 28 Useful "How To" guides for setting up Mail-enabled SystemsI was looking for the missing piece of a puzzle while setting up an email-enabled system at a client's site and came across these 2 great reference documents that guide you through the entire process. I'm linking to them from here so I can quickly find them again if I need to Combined Knowledge have these documents on their download page - How to configure Email-enabled lists in WSS 3 / MOSS 2007 using AD and Exchange 2003 can be found here, whereas the version that walks you through the Exchange 2007 minefield is here. Community knowledge sharing at it's best, compliments of Combined Knowledge. There's also guidance on how to set it up if you do not have Exchange configured. Heady stuff from Todd Klindt. Great articles and invaluable resources guys! Brad Variables available in the "Current Item" are frustratingly incomplete[Rant Coming...] I wish I wish I WISH there was an easier way to do this... but every time I need to create a URL (link) to a list item, I have to build it manually in the Workflow. There are simply no properties available that you can just "use". Here are all of the OTB properties, not including the columns (in my case, I had a "Title" column). Approval status - (0;#Approved) So to build one, we have to use the following process: http://HardcodedURL/[Path]/DispForm.aspx?ID=[ID] Hardcoded url makes AAM's useless (but then so does the Infrastructure Update, so who's counting). The hope is that dispform.aspx location or filename is never change, because the url breaks again. How hard would it be to have one of the URL fields actually contain a working URL that took you to the list item! Aaaargh! [Rant complete.] Brad Timer Job shocker (yes' it's still out there)Was at a client's place today and saw this for the first time in ages - IIS would not start, error ID's 6398, 6482 and 7076 in the event log, emails not being sent, etc. "Wait just a doggone minute, here - I am certain this was fixed in WSS SP1" - but even though the client was running a more recent version of WSS & MOSS than SP1, the issue still existed - and the errors and symptoms were exactly the same. It turns out that there is another hotfix now available for this - but it's not a part of SharePoint code, so it's a separate one that needs to be applied if you are seeing any of these issues (in other words, it's unlikely to be a part of WSS / MOSS SP2 due out in a couple of months). Hotfix can be requested here - http://support.microsoft.com/kb/946517/en-us - Articles discussing the fact that the issue still exists can be found here and here... It only seems to occur in IIS 6, and is more likely to occur when you have more app pools running under the same account as the Timer service. Now where's the Change Request form... Good luck :) January 26 Colocating SharePoint databases on the same SQL Server as 3rd party appsI'm currently working my way through a deployment for a test environment on one of the projects we are currently engaged with (yes, I'm working on Australia Day - How un-Australian). Anyway, this particular 3rd party application has some specific requirements around collation settings which means it is impossible to create a SharePoint database on the same Database server instance. This error is thrown every time you attempt to create the database... An exception of type Microsoft.SharePoint.SPException was thrown. Additional exception information: The specified SQL server instance has invalid sort order Latin1_General_BIN2. Choose a server instance that performs case-insensitive and non-binary comparisons. So what's the solution? Pretty easy actually... just create a separate instance on the SQL Server and use the default sort order, then install SharePoint to that instance. Problem solved - back to the BBQ... Brad |
|
|||||||||||||||||||||||||||||
|
|