SQL Server Act7 Instance stuck in Starting Status

Well it’s been absolutely ages since I’ve made a post here o my blog. Quite a bit has happened in my personal and professional life since last year (my god it’s been that long!), the most important of all is that my daughter, Anoushka, was born to my wife and I and has brought so much joy to us!

This is going to be a very short post as I get back into the swing of blogging and hopefully someone might find it helpful.

I had a failed driver update for my Logitech mouse today which seemed to have killed my machine somehow. After reverting back to an earlier Restore Point (I love you Windows 8), I found that my SQL Server Act7 instance was hung on the status “Starting”, even after a reboot.

I knew I could use the cmd line command taskkill /f    to kill a process, but it needed a PID for the process. This was the bit that stumped me; how do I find the PID for a service? After a short Google session the answer came to use the sc queryex command.

So by stringing the sc queryex to a taskkill and then net start I managed to get my Act! Instance back up and running…Hurrah!

N.B remember to do this in an elevated permissions Command Prompt session!

sc queryex mssql$act7

[note down PID]

taskkill /f /pid [pid number]

net start mssql$act7

 

Google Cloud Print

cloud_print_splash

Google Cloud Print

Like an innocent, fluttering moth drawn unerringly and powerfully towards the bright light of a night-light, I just can not resist cool tech and gadgets! Google usually always come out with some really exciting stuff in their labs, things we all very rapidly take for granted after a while or think “why hasn’t someone already done this?”.

So is the case with this little project which has the all-familiar Beta label; Google Cloud Print. It’s a very simple concept and one that all of us must have thought about at last once. I’ve got something on a smart phone or slate/tablet, or I’m logged into a machine away from my home or office printer and I’d love to print this xyz off…but I can’t. I’ll have to connect my device to my machine or network or printer or copy the file over to my Google drive or Dropbox account and then remote onto my machine and print it off etc etc etc.

Well Google Cloud Print does this for us. Simply we associate a desktop that has Google Chrome installed on it (and is on and connected to the net obviously!) that has a connected printer to our Google account and then we can simply print directly to that printer wherever we are! It’s simplicity and hind-sight level of obviousness was definitely a face-palm moment for me.

How-To Configure Your Printer(s)

I’ll base this on the presumption that you don’t have one of the few “Cloud Print” enabled printers but a standard windows printer.

The first thing we need to do is enable Google Cloud Print from within the preferences in Chrome:

  • Click on the Settings button in chrome at the top right hand corner of Chrome: ChromeSettings
  • Click on “Show advanced settings…” at the bottom, then scroll to the end of the page:  GoogleCloudPrint_AddPrinters
  • Click on the “Add printers” button. If you are already signed into your Google account within Chrome, you’ll see a page like this: PrinterConfirmation
  • Click on the “Add printers” again. After a small pause which will give enough time for your Google account to add the printers (maybe 5 seconds), you can then click on the link to manage your printers.myCloudPrinters
  • We can see form the above image that we can choose to share our printers with other Gmail accounts, and it’s just as simple as it’s been so far!

So that’s the printers set-up so that we can print to them, but that does leave the question begging of “how do I actually print to my cloud printers?”. Well once again Google show themselves once again to be the masters of elegant and simplistic solution design. If your printing from any Google Docs app or Chrome you can simply choose from the print menu to use Google Cloud Print by changing the destination printer:

PrintDestination

If you are not printing from a Google App or from a page in Chrome you can simply installing either an Android or Windows (or even iOS or OS X) application onto your device from this list of currently available Apps: http://www.google.com/cloudprint/learn/apps.html

One of the things that really struck me most, apart from the overall coolness of it all, was the deep thought into the overall design of the process and the solution itself. One of the most dreary things with owning a PC is the sheer drudgery of installing and updating device drivers. Google have designed their cloud printing solution to not only be simple but also engaging. As a developer this is something that has really struck me about the majority of Google’s solutions is the sheer excellence in their approach to software engineering. Good software solutions are not only about providing the end-user with power and flexibility, but ultimately they should be intuitive and simple for the end-user and should never be a source of frustration! Fantastic work Google team!

Sudden Realisation!

Bruce-Lee: A goal is not always meant to be reached, it often serves simply as something to aim at.This is a bit of a personal-life blog entry and not one of my more usual tech/work related posts. Whilst I was at Perfecting ACT! this year I had the privilege of talking to and drinking with some of my great heroes from the ACT! and CRM world. During one of the conversations I was asked how I got into development, this simple conversation starter led me to a point where I recounted a part of my long journey, which is still largely unfinished, and I thought I would share here.

My background is in Biochemistry and Molecular Biology and just before I left academia and research I was working in a research lab on mitochondrial genetics. I won’t go into the story whereby I abandoned research and went into a field I knew nothing about; namely IT, except to say that to me at the time it felt that maybe this time I had over-stretched myself by over estimating my abilities to learn new skills!

During this period of learning, I discovered an interest in development and coding so proceeded towards learning HTML and Javascript (including a failed attempt to self-learn Java). I remember late one night trawling through the internet trying desperately to find a very specific kind of tool to carry out a particular task, I kept coming across the roadblock of very expensive utilities or shareware tools that I could not afford. At the time I rather whimsically thought of a future “me” that would be an experienced developer who would simply develop a tool to fulfil the task at hand. This little daydream became, at the time, all-consuming and not only drove me further in my learning, but also tormented my confused mind with, what seemed at the time, an unachievable dream.

Many years have passed and such thoughts were forgotten as I got on with my life in IT and continued study in development, till one day I was working with one of junior members in the tech team on a project of migrating a badly designed and implemented ACT! solution to a new model.

The client had been managed by another consultancy who had made some peculiar decisions which were causing major issues downstream post-implementation. Basically the client had 7 separate dBs, each had roughly 20 remote users who would synch at set times over a 24 hour schedule. The problem was that the server hosting the master had a very poor internet connection and the remote users were all working from a satellite office and synch was very unstable, failing many times.

The obvious fix to this was to migrate all 7 dBs onto a local server at the satellite office and use the scheduler to carry out synch thereby reducing the multiple points of error. This simple task was further complicated by each dB having, in some cases, in excess of 60 child dBs that had failed and so new RDBs had been re-cut but they had not removed the old RDB from the manifest. *sigh*. So we would have to manually clean up the whole system and deleted old RDBs.

Both of us were quite irritated by the time it would take to do this and my trainee/junior like a good ACC started manually disabling and then deleting RDBs from each manifest. I decided the quickest and most efficient approach would be to simply create a utility that would do this and within half an hour I had a a working (albeit ugly) tool that went into each dB and disabled and then deleted RDBs from the manifest one by one based on the last date of successful synch. If it was greater than 6 months it would remove them.
The task was completed in a very short period of time and we were ready to continue with the rest of the project. My junior remarked to me that it was lucky that I was a dev since it was like having a Genie in a Bottle!

For some reason this suddenly sparked from the darkest recesses of my brain memories of those tortured nights stooped over a cheap desktop with a copy of Visual Studio Learning Edition feeling frustrated, tired and with an over-riding sense of defeat, idly dreaming of a better time when I could code confidently but never expecting to achieve this goal.
It then suddenly hit me like a brick. I was actually living my dream! I had and continued to do the one thing that used to motivate me to not give up at my darkest times! I must admit that afterwards in the privacy of my room I did feel a little emotional since I had achieved for myself something that truly seemed impossible and I was doing these kind of things almost on a daily basis without even thinking about it.

The reason I wanted to share this out publicly was not to trumpet my own horn, but to give others an example of how not losing faith in ourselves and our dreams, but focusing on our daily hurdles/challenges and not overwhelming our minds with what seem like impossible goals, we slowly and gradually without much fuss or theatre, find ourselves at the summit wondering how we got there.

My hope is that maybe someone who is beginning the long, lonely and painful journey towards being a developer might read this and derive some hope and confidence that the dream is achievable.

#PerfectingACT! 2013 with #Swiftpage

new act! logo

The newly revealed act! logo by Siwftpage

Well, PA 2013 is over and I’m back in the UK, comfortably sat in my “dev hole” (as wifey describes it) and though I am completely spent from 6 days of little or no sleep, I haven’t felt this energised for years! Swiftpage are the new owners of ACT! and simply saying that they are bringing in a new breath of fresh air would be a complete under-statement. To quote from one of my all-time favourite songs by AC/DC “Back in Black”:

Yes I’m let loose
From the noose
That’s kept me hanging about
I keep looking at the sky
‘Cause it’s getting me high
Forget the hearse ‘cos I’ll never die
I got nine lives, cats eyes
Using every one of them and running wild
‘cause I’m back!

..and wow is ACT! back…sorry that should be act! is back! From the very on-set of PA, both Bob and John set the scene for me with the single word “ENGAGEMENT”. When Swiftpage talk about engagement, they want to re-engage with the product, re-engage with the platform, re-engage with partners, re-engage with add-on partners, re-engage with ex-Sage employees, re-engage with end-users and re-engage with the entire product vision! For once I genuinely believe that this is not the usual vacuous marketing led  series of hollow promises. I, and many others, had the pleasure of having direct conversation time with each member of the senior executive and management team that were present at Perfecting ACT!. This level of commitment from their busy schedules would have been unparalleled during Sage’s tenure. Every member of Swiftpage I spoke with had the same level of energy and enthusiasm that we partners have had for the product and they genuinely wanted to hear from us. We are all Swifities now, part of the team and in from the cold!

So that’s the euphoria part done with, what can we expect for the immediate and medium term future?

  1. We ACT! 2014 has been renamed and re-branded to act! v16, what this means is that this will not only be the final version of ACT! that Sage was involved in, but also the last 12 month product cycle release. Yes you understood that correctly, act! will no longer be released every 12 months but will settle down to longer version releases with smaller more frequent Service Pack/ update releases. This one thing alone will remove much of the pain that has been associated with the act! product for many years now, and will allow the product to adapt to a constantly changing landscape.
  2. A SaaS version of act! is due imminently based on the Swiftpage Engage Engine. The little that I saw of this edition still in it’s early stages of development, was a much simpler and cleaner version of act! Professional with just the core Contact Management functionality.
  3. Consolidation of all regional sectors outside of North America into a single office based in Newcastle-Upon-Tyne in the UK, and a thorough commitment that regional issues and impacts of version and update roll-outs will be given equal weighting within product design, vision and support.

For us ACCs in the UK, the request for an increased level of communication and involvement with the senior management headed by Dan Ogden and Guy Clack is such refreshing news that the voices of all the clients we represent will now not go unnoticed or unheard. An early indication of this was the dramatically increased level of activity and meetings Dan and Guy had with French partners prior to PA to ensure that a French version of ACT! 2013 was made available after a failure by Sage to ensure that ACT! 2013 was released in French.

So here’s to a bright new orange future with Swiftpage and a return of Perfecting ACT! as a central opportunity for all act! business partners globally to meet, learn and above all ENGAGE!

Extending Universal Search in ACT!

Search

One of the things we do at Caldere is work closely with the ACT! retention team to help clients that need ACT! to exceed its core feature set. Sometimes this can be simple such as providing a reporting solution that integrates ACT! data with other data sources within the organisation and other times this can be more complicated with the use of code or SQL scripting. This is actually one of the parts of our job in the technical team that we really enjoy, it’s always with projects from the retention team that we are stretched professionally and get to really sink our teeth into very interesting and complex client issues. Usually our first engagement with such clients involves a discussion with one of our consultants who analyse the first most basic premise; is ACT! the right solution for what they are trying to achieve as a business. The discussions can result in the following conclusions:

  • ACT! is not the right tool they should be looking to achieve their goals.
  • A re-design of their ACT! system and additional bespoke training is required.
  • In some cases clients need assistance with translating their processes into the overall ACT! architecture.
  • The technical team is “let loose” upon the client to do development or other technical work.

Recently we had a client referred to us by the retention team who had purchased ACT! for their sales team but wanted to extend the use of it to another team. As an organisation, they provide out-sourcing solutions for a wide range of customer types and so had to maintain a very large bank of CV’s (resumes for any American reader!) of contractors, during the migration of these attachments into ACT! we estimated it to about 30GB. The existing HR software they had in place was no longer able to service the kind of detailed querying they required, to invest in a new dedicated system would have cost them over £250k. Their hope was to use the comparatively cheaper ACT! product to do this with it’s new Universal Search feature. The problem was that natively Universal Search could not return a Contact List that could then be narrowed down, at face value this would mean that all teams would have to migrate to something new and expensive, which the teams didn’t want to do. Our challenge was to find a solution that would extend the native Universal Search within ACT!

  • Return a Contact List of queried skill types from applicants CV’s
  • Allow this Contact List to be further narrowed down on based on other Contact fields
  • Display a Hit-Count of the number of times a skill type appeared within each person CV

This would allow the recruitment consultants to look for all contractors that had skills in e.g., UNIX, C++ and Banking but were based in Birmingham (ACT! field) and had salary expectations between type B – D (ACT! field), showing that Fred Bloggs had 29 occurrences of the terms within his CV whereas John Doe only had 12. This I must admit was the most complex solution request I had faced all year!

The first challenge we faced in creating the plugin is that developing on the Universal Search is not supported by the ACT! SDK and there is no documentation. In addition, licencing restrictions prohibit us from coding to the Universal Search components directly. We contacted the developers of the Universal Search utility within ACT! to see if purchasing a licence, but due to the cost of the licence we rapidly withdrew from that approach. Thanks to a few carefully placed tequilas during summit, I was able to unofficially discuss the project with the ACT! development team who were able to advise me a workaround to the licencing roadblock, which was later confirmed by the owners of the component, we were able to develop a plugin that not only met all the requirements but also saved our client from having to spend over a £1/4Million and so the 80 strong team could continue using ACT! as their core business solution.

The important take home message for anyone who uses ACT! is that in most cases developers are able to mould ACT! to do what you need it to do. There are of course limitations and this usually comes where the business aim or process being modelled is beyond the product vision/design or scope. An example similar to this would be if such a solution was required for processing greater than 40k documents per day within a global deployment and regional languages, which some larger departments of the same organisation do manage. In those cases we have advised them that ACT! would not be the best solution  for them as to the sheer complexity and volume of their requirements, ACT! has a single regional setting for each database and relies entirely on standard Windows Server file handling and indexing.

I plan on doing a couple more posts in the future regarding Universal Search including optimisation and advanced features etc, if there is anything anyone would like me to particularly post on let me know either by email or via comments.

Blogging and Social Media

revolution

Well I’ve got to hang my head in shame. I have to admit that wise people such as Pat Egan from Egen Consulting was right in what she has been advising not only me, but all ACCs for a great many years now, engaging in Social Media is not only important, it can be fun! I have been one of those rather boorish, luddite techies that has been known to proudly exclaim  “I don’t do, like or trust social media! What’s the point? If I want people to know what I ate for dinner last night, I’ll phone them and tell them or email them!”

I began a Facebook Page a couple of weeks ago and started to engage with this “social stuff” about a week ago purely as an experiment to see what kind of data is generated and collected by Facebook and to see what use it could be to extract this raw data. I had downloaded an excel plugin/tool from Microsoft for data analysis and reporting which is part of it’s drive towards Self-Service BI. One of the out-of-the-box features included the ability to directly connect to the backend data source that Facebook Insight uses. Now at the time, I had absolutely no idea what Insights was, but after conferring with other ACCs and Swiftpage employees that were more versed in the mysteries of Facebook I was advised to start my own Facebook page which I did. One of the problems I immediately faced was to use Insights, your page needs to acquire 21 Likes. When I had started out I had not thought that this would be a particularly difficult target to achieve and expected to achieve this within a few days so I could get down to the true task of analysing the data and comparing what I got within Excel against Insights and which would be of more use. One key question I had was, what was the point of connecting Excel to Facebook?

It’s now been almost 3 weeks and I have only managed to scrape up 18 Likes within Facebook and I have found myself reading many Blogs, learning about a whole new medium, starting a Blogg but above all for the first time I can say that I am actually genuinely enjoying myself! This has been the biggest shock to me, one that I had never envisaged. My plan had been to accumulate the required Likes get the data analyse and report back to the ACC community. I’m actually glad I have failed in my primary task currently. What it has forced me to do is read articles such as 7 Deadly Sins of Blogging by CopyBlogger or the historically interesting piece by Mike Lazarus Happy 25th Birthday SageACT!.

I think the biggest impact on me has been the concept of free-sharing. This is something that is very close to my heart and I have spent much time involved with open source projects. When we started Caldere, we wanted to try and create a community of sharing between ACT! professionals within the UK, sadly we met many road blocks and quite often we were taken advantage of due to our naivety, I am glad to see that the rest of the business world is closer to what had hoped for. The social media revolution (if I can call it a revolution), has really changed the face of how organisations, especially smaller businesses, engage not only with their clients, but also with their competition and peers. There does seem to be a much more of a sharing feel which is like a fresh breath of air. It is only a very few Facebookers that now still embrace the “old-world” mentality of stripping out originator wrappers to shared posts. There seems to be a genuine air of gratitude, collaboration and a general attitude of “playing with a straight bat”, I’m glad I’m now taking an active part in this new revolution!

The big question facing me now is how to mould this blogg and Facebook page since I had started it without any real direction. My suspicion is that I will most probably position it predominantly as a technical blogg, I’ve also importantly learnt that blogg is spelt with a double ‘g’ and that getting “Likes” has become an obsession!

WordPress Tags: Self service BI,Social Media,Facebook,data analysis,Microsoft,Insights,Swiftpage,Excel,SageACT,Caldere,revolution,collaboration

Windows 8 Keyboard Shortcuts

I’m the office guinea pig when it comes to new software, I was the first and only miserable wretch that had to endure the sheer agony of running Windows Vista on my machine so I could become familiar with the new OS and educate everyone else. In fact after my initial experience with Vista we held off till Windows 7 came to the rescue and everyone upgraded to that. So when Windows 8 arrived in our download folder at the partner site, I kindly offered my machine up once again for the “greater good”.

I must be honest, I really was not happy and had tried to “volunteer” the new intern, but everyone decided that it would be wiser for me to do as I had with Vista. I hated Windows 8 even before I had it installed on my machine! Well it’s been quite a few months now that I have been using Win8 as my primary OS on my product dev machine, I did leave my Win7 dual boot in case things got too hairy, and the truth is I don’t actually mind Windows 8. All my reservations regarding the Metro screen have not materialised, in fact I only ever see the Metro screen when I boot up, need to search for something or need to play Pinball.

I made an early decision not to install any of the GUI apps that add a START menu since I wanted to get familiar with the vanilla version of Windows 8, this meant that I have had to learn or re-learn many run line commands as well as keyboard shortcuts. There are a multitude of sites out there that already list these, but what kind of technical blogg would this be if I didn’t include my very own list!

Shortcut Action
Win + C Opens the charms
Win + F Opens Search
Win + I Opens the Settings charm
Win + K Opens the Devices charm
Win + Q Search for an Application
Win + W Search for a Setting
Win + X Shows the Admin List bottom left

I think the two most used shortcuts from Windows 7 are Win + E (Windows Explorer) and Win + R (Run command). Win+R allows me to then run applications without needing to further litter my desktop with icons, so MS Word = winword, Excel = excel, Outlook = outlook,  Services = services.msc, SQL command tool = sqlcmd –S.\act7 and finally Powershell ISE = powershell ise….it’]s not rocket science as you can see! LOL