Is Groove skipping your files during synchronization?

Groove support forums user AdamK might have found the reason why Groove sometimes stops synchronizing files in shared folders  – a hidden “Temporary” setting for files on your hard drive. When Groove sees this setting, it decides to skip the file, but the error message displayed does not make it clear why the file is being skipped.

Right now, Adam doesn’t know what causes the files to be marked Temporary, but he’s found a commercial utility that will reset his files, and more. Snag is, it costs $24.99, which you might not want to pay- especially if you’re planning on migrating away from Groove anyhow.

Licensed Bambuco users can email me for a script that will turn off this setting for you automatically, free of charge.

Advertisements

Bambuco available (again) to qualified customers

I’ve spent some recently on rebuilding Bambuco, the scripting engine for Groove that allows organisations to easily move information into and out of Groove.

If you are evaluating your investment in Groove and are looking for options for migrating your data out of Groove, we are probably the strongest-placed organisation for you to talk to. We could, for example help you

  • move your documents out of a Groove files tool into a SharePoint Document Library, or into a corporate document repository, or even just a network share
  • Copy your data from Groove Forms into a database or SharePoint List,
  • Extract your list of Contacts and import them into Outlook.

More details here: http://www.hyperoceanic.com/services.aspx


Project Brimham Update – installing the dev system

After a brief family break, I’m back on with Brimham. The first task is to configure a new virtual machine for development – I like a separate Virtual PC install for every project so I can guarantee no version conflicts between third party stuff.

Installed:

Windows 2003 Enterprise
Firefox
SQL Server 2008 with all the options
VS2008
ASP.NET MVC
MVC Contrib Release and Extras
Castle Project 1.0 RC3
ActiveWriter
7Zip

Still Needed:

TortoiseSVN


Unmet Promises and Unwanted Complexity

I’ve been mulling over the my use of use of a third-party libraries, both long term and on my last project. On the former, a core library I use has made a disastrous UI decision that needs fixing before I can release the next version of Toucan Reporter. On the latter, the client had pre-selected a well known, mature and comprehensive looking component library that they wanted to use for both web and Winforms applications. The demo applications make it look easy to develop fantastic looking line of business applications.And its this library I want to talk about today.

It sucks.  Here’s why:

1: Unmet promises. In several areas of the product, there are features that just plain don’t work in the real world. In particular, there’s a designer for quickly laying out Winforms pages. In this designer is the ability to add tabs. If you are going to  use this feature, the chances are that you’re going to use it to build a form with a good number of controls on it. Problem is, that as the number of controls increases, performance goes down rapidly. If you have more than a couple of dozen fields, then you’re looking at a wait of tens of seconds as you move controls around. Part of the problem is the management of undo/redo operations. Rather than use the one built into Visual Studio, they’ve created their own, and the performance is terrible. You can turn off undo/redo, which improves things a bit, but its a hack.  At some point you’ll be even more committed to this approach and you’ll be having the same performance problems. At run time, performance is great, by the way.

2: Unwanted Complexity. Controls are objects. Objects have properties, and in the .net world, there’s a bunch of standard controls with consistent properties, provided as the .net framework.  The implementers of this particular library, however, used different names or different properties or different enumerations throughout their library. A stand out feature was the use of a property called ‘Properties’ that happened to have most of the useful properties for the control in it. Almost every time you needed to set something in the designer, you have to go through an unwanted step of opening up this Properties property to see the property you wanted.

3: Locked in or Locked out? The implication of having an unnecessarily complex component library is that the hapless line of business developer using the package (me) is simultaneously locked in and locked out: Locked in to the bad decision  to use this library, and simultaneously locked out of the chance to make meaningful changes to the libraries behaviour. Its impossible to re-do the UI of the application to exclude the complex UI library, and at the same time its almost impossible (given the deadline for the project) to fix the library in places where the behaviour on offer differs from what is required. You’re further locked out of using other component libraries as they won’t share the same styles, making your app look a mess.

Summary: Component libraries offering increased productivity for line of business applications should never deviate from the norms for that environment. Software should be written such that any developer who knows the base technology should be able become effective with the library as soon as possible.


Resisting Temptation

The problem domain for my next pet project is not tiny, but it is fairly small – I could probably fit an object model / database design diagram on a single sheet of A4 without cramming it. However, there’s scope for lots of additional features, or expanding it in new, different directions.

MUST.RESIST.ARCHITECTURE.CREEP!


Setting up Umbraco 4.0 on SoftSysHosting reseller accounts

Here are some instructions for installing Umbraco 4.0 on SoftSysHosting.com’s reseller account.  It looks like there’s a lot to do, but in fact its fairly easy.

Prerequisites:

  1. A reseller account at http://www.sosftsyshosting.com
  2. The welcome email they sent you with your sql server, ftp and web details in it
  3. The Umbraco install files
  4. An FTP Program
  5. SQL Server Management Studio

Open up the Control Panel: Your welcome letter  has the IP address and your login credentials. If you’re new to DotNetPanel (the admin UI used by SoftSysHosting), its worth taking a few minutes to explore it. You’ll be spending time inside the User Spaces section which is where your reseller account lives. Within that you’ll be using the Domains, Web Sites, Databases and File Manager sections, so be sure to take a quick look at each of these before you begin.

Create a Domain: In the control panel, Create a Domain for your web site. This will create two domains – the one you just specified, and a preview one with a name like http://mynewserver.com.serv6.temphostspace.com. You will be using this preview URL a lot until you set up the dns pointers for your site.

Add a web site: Add a web site that is going to live in the domain. You can see the ASP.NET properties under the Extensions tab. You don’t want the ASP.NET 2 Integrated Pipeline option with Umbraco 4.0. Later versions of Umbraco may support this though.

Request Full Trust from tech support. Umbraco requires Full Permissions to run, so create a support ticket requesting full permissions for the web site you just created. I’ve found tech support at SoftSys to be very quick at dealing with this so far. Remember to put your web site name at the bottom of the new ticket page. While you are waiting, you can do the other steps, below.

Delete default.aspx: When your site was created, the standard IIS7 Wilkommen/Welcome/Bienvue defau;t.aspx page was created in the wwwroot folder. Use FileManager to delete it.

Upload Umbraco! Use your favourite ftp app to upload the Umbraco files from build to the wwwroot folder within the web site you’ve created. The ftp details are in your welcome letter. You may be tempted to look at your web site at this point – you’ll get a 4o4 unless you’ve already pointed your dns at the web site.

Set folder permissions. The asp.net account needs write permission on several folders, listed below

bin
config
css
data
media
umbraco
usercontrols
xslt

Normally I’d use my ftp program to set these, but the CHMOD command is not available so you have to do it manually through the File Manager screen – find each folder and click the grey padlock symbol next to the folder name. Give read/write permission to both the web site and to the NETWORK SERVICE accounts. Make sure the “Replace permissions on all child objects” check box is checked as well.

Create a database. Give it a name that you”ll remember. You won’t be able to use Umbraco since there is likely to be an existing database with that name on the server.

Create a database user. Once you’ve created your database, create a user to go with it. Be sure you set the default database for this user, and give it access to the database you created above.

For one site, I had a problem creating the database. I cannot remember the exact symptom that maqde me think to check but I think there was an error message during step 2 of the Umbraco Install Wizard. I had to manually add the db_owner schema to my new user using SQL Server Management Studio. If you need to do this, open the database using SQL Server Management Studio, click Security, find you user and click the db_owner schema i the list of Schemas owned by this user.

Set up a web site domain pointer. Until you set up your dns pointers to point to your new web site, you’ll need to use a domain pointer – the preview URL created automatically for you when you created the domain. Go into Web Sites and click your new web site.  You’ll see that there are no web site pointers. Click Add and choose the preview one created when you created your domain.

Wait for the tech support folks to mail you telling you they’ve given your website Full Trust.

Run the Umbraco installer. Go to the preview site (this guy, remember? http://mynewserver.com.serv6.temphostspace.com)/install/default.aspx

Install the Umbraco database At step 2 of the install wizard, provide your database credentials. The server IP and port is in your welcome letter.

Plain sailing! Hopefully the Umbraco install wizard will confirm that the folder permissions you set are good. Give Follow the wizard through, giving they admin account a decent name. If you add Runway, you’ll see a homepage when you browse your site.


Notes on using GMail to send mail

A couple of observations about using GMail to send mail messages automatically.

Background: I’m updating the automatic licensing system that supports our InfoPatterns products for Groove. When a user gets a license from the commerce system, they need to get an activation code that ties that license to that user. They fill in a form in the application and that talks to a web service. The web service sends them an email with an activation code in it. We use Google Mail for the Infopatterns email accounts and have the infopatterns.com domain as the primary domain with infopatterns.net as a domain alias.

1: When debugging, make sure you use a live email address to send to. I was sending mail to ‘barney@somehostiown.net’ when that user didn’t exist. You’ll get problems if you do this, obviously, but you won’t be able to tell if they are problems connecting, or problems sending.

2: If you’ve got more than one domain configured like we do, make sure your sender email address is for the primary domain. You won’t be able to log into the server otherwise.