A few weeks ago my DFSR database crashed, and crashed hard. I won’t go into the details of my troubleshooting steps, mostly because I didn’t make good notes while it was on-going and I was very sleep deprived. Suffice to say I spent many hours trying to resolve it, and wasn’t successful.
It was a Tuesday night that I disabled the DFS folder targets on my branch office servers, forcing all of my remote users to access our namespace over the VPN. I was hesitant to do it since our fastest link is 5 Mbps but it was the only way to ensure data integrity. Following that we needed to manually sync the data from our spoke servers to the hub since there had been 3 days of non-replication.
While that was going on, I began looking for a solution to our problem. Our problem is that we need to have those within our branch offices working on the same files as the head office. These are files used across a variety of applications including AutoCAD and ArcGIS, so our users are expecting fast access to data that can be quite large.
This is something that is difficult to find information on; not many people are talking about how they handle branch office file collaboration especially in a larger company.
In my case I tested PeerSync for a few days to see if it could replace DFSR however there were a few problems we encountered with our environment which make it unsuitable. In the end I re-implemented DFSR across our 2.5TB of data, and just waited for initial replication. This took another week.
Since then DFSR has been running smoothly, however I’m still looking for a replacement that will be scalable for my company as we grow in offices and data size.
Right now, I’m considering two options:
- Remote Desktop / VDI
- WAN Acceleration
Both would be a fairly substantial capital investment initially, but with the growth my company has seen it is inevitable. It has been a long time since my last post because I’ve worked so much overtime lately with this issue in the midst of other projects occurring, and I just haven’t had the mental capacity to sit down and write.
In the next week or two I’ll be noting my thoughts on the two options above.
Intelex is a process-management platform primarily used for Quality, Safety and Environmental management. It targets those companies who are ISO compliant in those areas, and provides a digital method for form and process tracking.
In August 2012 my company rolled out Intelex for Quality and Safety management as we are ISO9002 certified, and I was heavily involved in it’s implementation.
I’m using this as an introduction post as I’ve found that there really isn’t much information on the product, despite it having quite a large customer base. There are a few things I’ve discovered along the way which are worth sharing so more posts more will be coming in the future.
As a product Intelex is fairly good at what it does. At the moment my primary 3 uses of the software are for Quality non-conformance tracking, Safety Incident tracking, and training requirements registration and tracking.
One of the benefits of Intelex is its ability to assign tasks to employees which specific targets and due dates. This ensures that processes which are important to the business don’t get dropped. Excuses like, “I forgot about that” or “I didn’t know that was my task” are no longer valid as those things are tracked.
Currently there are 2 versions of Intelex in production: v5 and v6. While they operate in a similar manner, they are very different products. v5 is much more of a “closed box”, where you do have some customizability but you will quickly run into constraints. There is a distinct lack of continuity between modules, where certain things work in one but not the other. Even options across the modules are drastically different for no apparent reason.
v6 is much more of a consistent platform, due in part to the modular nature of its Applications. Each “module” (from v5 terminology) is now an application, made up of objects (tables in a database) and fields (columns). Every object can have multiple workflows which all you to define stages of process for a record on each object. It’s hard to describe how this all fits together with just text but it does work quite well.
With v6 you have a large amount of customizability, both over how the application operates as well as how it looks. You can define business rules and actions for records in the objects, and have much more granular control over security as well.
That’s not to say that v6 doesn’t have it’s issues as well. v5 modules can run within the v6 platform, but they don’t integrate very well when it comes to consistent behavior and accessibility. Not all area’s of the platform’s framework have been upgraded, leading to poor improvements to toolbars, dashboards and reports.
I’ve just finished up designing a Career Development Plan application for my company to use and while it took a large amount of work, it works very well and I’m pleased with how much Intelex can help in a workflow driven process like this.
If you’re an Intelex user or prospective customer and have any questions surrounding it, ask away and I’ll my best to answer.
I’m building an internal IT inventory application in LightSwitch, and have been trying to add a screen that only shows software in the inventory that has not been assigned to hardware.
Lightswitch doesn’t allow the graphical query editor to select the “many” side of a relationship on a filter (as documented here), so this is something that must be done in code.
I struggled for a bit trying to make a Left Outer Join in Linq between my two entities, but eventually stumbled upon a post by the always helpful Yann Duran:
What I needed was the C# syntax for his suggestion, which is reproduced here with my relevant entity name:
query = query.Where((a) => a.itinv_SoftwareAssignedHardwares.Any() == false);
This is created within a query on the itinv_Software entity.
In 2007 I implemented Mindtouch Dekiwiki as an internal website. I was excited by the quality of the product, the extensibility, and most importantly the active community and developer interaction.
As Mindtouch grew, they incorporated more excellent features, and were very open about the direction of the product. The developer site contained a wealth of information about release schedules, change logs and tutorials for the product. I found myself interacting with the community regularly, posting information on how to do certain things, answering questions on the forums and filing bugs. I was encouraged that employees of Mindtouch were directly interacting with the community on a daily basis.
I don’t think the company that produced that product exists any longer. It’s been replaced by a buzzword-spewing, no-face entity who hides real information about their product behind flowery text and email signup forms. I lose a lot of interest when companies make it difficult to gather information about their product, and If you take a look at mindtouch.com you’ll find they’re one of the worst offenders. There is only a single line or two on the main page describing what the company is all about, and the product page itself is still undergoing an identity crisis with names such as Mindtouch TCS, Social Help System and just plain Mindtouch in most of the descriptions.
There is actually very little information about the product, no demo site or feature comparisions, no cost information or even licensing models. What videos there are, are hidden behind email sign-ups. As a company marketing it’s product, if you feel the need to hide what you’ve built behind a sign-up wall, you immediately make everyone who comes across it distrustful. Are they not confident enough to proudly show it off? Are they worried that the licensing model will scare people away?
The developer site is effectively dead, and so is Mindtouch Core, the open source edition of what once was Deki Wiki. Most frustrating of all is that Mindtouch Core (the open source derivative of Mindtouch) is no where to be found. Its basically impossible to find it now, which is sad considering that I remember the owners and developers passionate exclamations a few years ago that the product started as open source, would always remain open source and that it’s community would always be vital.
To be clear, I can’t really blame the leaders of Mindtouch for moving in this direction. One look at their customer list and you can see it’s a profitable transition. However I can’t help but be disappointed and a little bit betrayed. To see the excitement of the developers and of the users who are adding to the product is one thing that makes it very attractive. It tells me that the product is good enough to make people talk about it and invest time into it.
Dekiwiki, I’ll remember you fondly as I go looking for your replacement.
I’ve been having a problem trying to deploy my first Lightswitch app to IIS, where the first Application Administrator isn’t being created.
I kept getting an error similar to “unable to create the application administrator”.
Google eventually brought me to look at the MSDTC settings on the IIS server, but that definitely wasn’t the right direction.
However, I did find the following thread which provided the solution:
I set “enlist = false” within the web.config application string for my database connection, and this resolved the issue!
I’m still impressed by LightSwitch, although I’ve been finding myself wishing it was easier to use custom SQL queries when building the datasets.