Installation Cannot Continue – One or more roles were found that contain SmartObject results

Starting from K2 Five 5.1 ability to use SmO methods to populate/determine Role membership was removed and installer will block your upgrade process displaying the following error message:

Installation Cannot Continue – One or more roles were found that contain SmartObject results

Error message lists all roles which contain SmartObjects which have to be removed before you can proceed with upgrade (no installer restart required after removal) – this is clear and easy thing to do, and it is documented in KB002145. But in my case my upgrade to 5.2 was complicated by some other fascinating errors and hiccups, I’ll just list them: 5.2 installer was failing to start with unhandled exception (for some reason it didn’t want to work from non system drive / drive which was different from K2 installation drive), it was saying that my installation user does not have required rights (until run using K2 service account), in addition to that all UIs were broken with Invalid Archive type error.

The fact that UIs were broken yet I wanted to move on with upgrade (remove roles) required me to remove SmO from role(s) through the database modification, luckily in this case role membership entries are stored in quite plain and easily readable table – Identity.RoleItem where you can clearly see SmartObject name in FQN column (clearly differs from your regular users and groups in FQN form) with Type 4. To remove SmO from role you just remove entire line from that table, the only thing I would to add: make it your habit to backup K2 DB before you touch it, even if you are super-sure that you know what are you doing 🙂

I hope this information may save some one some time if you run into similar scenario and that’s it for now.

Unable to add HTTPS binding for SSRS 2014

I recently bump into an issue with HTTPS binding configuration for SSRS 2014. Instance was not touched for quite some time and self-signed HTTPS certificate expired. I generated new one and was trying to add new binding but SSRS console was keep removing HTTPS binding immediately after adding it with “We were unable to create the certificate binding.” message. I believe it was accompanied by HRESULT: 0x80040241. Internet is full of information on the problem and it looks like this thread, for example contains exhaustive list of things you need to check. But basically it turned out that beyond review and manual clean up of urlacls (netsh http show urlacl / netsh http delete urlacl) it was also necessary to copy my self-signed PS generated certificate from machine Personal store into machine Trusted root certificates store (hint was found here).

In a nutshell: when adding SSRS binding fails you need to know that those are not represented nowhere in IIS GUID, update your certificate (remove old, add new and be sure it is trusted on a Trusted Root level), next be sure you use right (non occupied by other services) ports and host names clearing up SSL reservations if necessary ( netsh http show urlacl / netsh http delete urlacl). Read error message you have and drill down into details to see error code – despite not showing its site and bindings in IIS console SSRS console does everything it can to say you what’s wrong / why it can’t proceed with adding binding, though I do admit underlying infrastructure of scattered configs and urlacls reservation can be intimidating at times.

98-375 exam passed

In my previous post I’ve promised to do some posts covering my preparation to 98-375 exam, but it turned out that I didn’t find time to do any. Sadly I’m unable to allocate time for writing here on any topics lately, and it is not that there is nothing to write about, it’s just lack of time 🙂 For example there are rather a lot of interesting stuff going on in K2 space, yet I haven’t write anything on this topic for quite some time now.

Anyhow as I passed 98-375 exam I would do a little entry about this. Here you havee my results:

Some thoughts on that now. For preparation I’ve used the following resources:

Now a little bit about these exam preparation resources. Channel 9 videos are very good as they provide complete exam overview and available for free. It is not all you need to pass the exam but watch them carefully (and maybe a few times) and you will learn not only how is this exam, but some practical things you will be definitely tested on.

LinkedIn videos are great too, but you really need to watch them more than once and do practice labs or try things you learn about otherwise knowledge retention will be weak. At the very least you want to do a 2 pass with most of the course – 1st just watch and get a broad picture, 2nd to absorb it really slowly and pay attention to details. To access these materials you have to have paid subscription, but comparing its price tag with some other training options or even books price is more than acceptable.

Lat but not least, MeasureUP practice test. It costs 88 EUR, and for this specific exam practice test content can be criticized a bit. In my opinion: 1) Content has not been updated at all since exam release. Result: 60% of links in question explanations are changed does not work (hey MeasureUP, seriously, that type of updates does not require a big investment on your side, why not invite something to do a review? I can do it in exchange for some preparation materials access 🙂 ). 2) There are some obvious typos in the test. 3) Depressingly high number of questions revolving around Windows Phone and IE10 specifics. In fact I didn’t have any of those on the exam and after taking it it feels that unlike MeasureUP practice test, exam content was updated 🙂

On my results. I’ve scored with 76 points (70 is passing threshold), and, in spite of all my complains on MeasureUP practice test content quality it was instrumental in passing exam. Even if we ignore ALM and JavaScript domains, HTML and CSS topics give you just enormous amount of things and behavioral peculiarities on which you potentially can be tested, and having some specific questions touching on all these little things really helped. I feel that practice test questions bank didn’t contain enough CSS questions (it had only 25) and my result clearly reflects that. Though I obviously don’t count me as an any kind of expert in JavaScript, I do recognize that CSS is something I need to learn more which clearly reflected in exam score.

All in all, I’m satisfied with this exam and can recommend it to anyone who want to add some sort of goal/milestone to their entry web development learning journey – good entry level exam allowing you to learn and verify knowledge of basic components of web development and get more confidence to plan next steps on that route.

What’s next? I’m going to “relax a bit” taking 2 or more Microsoft Exams related to SQL Server (more about this in next posts), and once I’m done with that I will do a “full fledged” version of 98-375 exam, i.e. 70-480 Programming in HTML5 with JavaScript and CSS3.

Starting my preparation for 98-375 exam

It has been a while since I had taken any Microsoft exam as there were rather a lot of other things happening. Finally I’ve decided to get back to certification and learning and this time it will be “fundamentals”/MTA level exam yet on topic quite new to me which will allow me to learn quite a few things. Exam I will be taking this time is Microsoft 98-375: HTML5 Application Development Fundamentals and I will probably combine prepping to this exam with doing Harvard’s CS50’s Web Programming with Python and JavaScript course on edX.

Just for tracking I’m posting my very first practice test exam attempt results below (results I’ve got more or less expected for attempt taken without any preparation at all):

98-375 practice exam attempt without preparation 🙂

As you can see exam topics grouped in 4 blocks: Code by Using JavaScript, Format the UI by Using CSS, Manage the Application Life Cycle, Build the UI by using HTML5 – quite interesting set of things to explore.

You can expect some related posts about this exam and related topics as I go through exam preparation process.

How to collect process dump with LeakTrack information using ProcDump + Debug Diagnostic Tool

Just a short note on how to collect process dump including LeakTrack information.

Download latest version of Microsoft Debug Diagnostic Tool, at the moment it is Debug Diagnostic Tool v2 Update 3 and install it going through an installation wizard steps as shown below:

Debug Diagnostics Installation Wizard Page 1
Debug Diagnostics Installation Wizard Page 2
Debug Diagnostics Installation Wizard Page 3
Debug Diagnostics Installation Wizard Page 4
Debug Diagnostics Installation Wizard Page 5

Once installation wizard completes, download ProcDump and unzip it on the server where you going to collect dump file. Next, run DebugDiag 2 Collection:

DebugDiag 2 Collection icon in Start Menu

Cancel out initial “Select Rule Type” dialog:

Debug Diagnostic Tool – Select Rule Type

Navigate to Processes tab select process for which you need to collect
LeakTrack, right click on it and select Monitor For Leaks:

Debug Diagnostic Tool – Monitor For Leaks

Click Yes in “Do you want to enable ‘Service Mode’ and continue” pop up:

Debug Diagnostic Tool – Enable Service Mode

You will see confirmation that monitoring for leak has started:

Debug Diagnostic Tool – Monitoring for leaks in the specified process

Now let it run and wait till the process you monitor use up large amount of RAM and take dump using procdump.exe, you can see some hints on the command line syntax below:

Script to run procdump.exe

Once dump taken you can stop monitoring for leaks and close Debug Diagnostic tool:

Debug Diagnostic Tool – Stop Monitoring For Leaks

After following steps above your process memory dump should contain LeakTrack information. You can tell that by the dump file size – if you take a dump without enabling Monitor For Leaks option in Debug Diagnostic Tool at the same time you will see that your dump file size will be smaller if compared with one which you take while running Monitor For Leaks .