As you may have noticed, our site have changed. Immediately noticeable is an update of visual design, but also we’ve changed the heart of the site — the CMS it runs on, — from Joomla to WordPress. Continue reading
Category Archives: Process
Requirement analysis
Before you build a complex system — it is best to ensure the task is understood well. It is better than having to redo it later. For this we use a number of techniques, from early prototyping to detailed specifications with screen designs and algorithm descriptions.
An experience with Joomla vulnerability
Below is a story of one of the sites that we support being hacked, and the lessons we learnt from the experience. I hope you will be able to learn from our experience, and make the right decisions to prevent such accidents from happening to your sites.
Engineering a web-site, step 3: Goals, users, structure
Continuing a description of the Information Architecture (IA) process, in this third article of “Engineering a web-site” series (dedicated to the design and development of site for the Baptist Union of the Dnepropetrovsk region using Drupal CMS), I describe the final goals for the site, the audience, how that was broken down to specific tasks, and how it was translated into the final site structure.
Engineering a web-site, step 2: Interviewing the key users
This is the next step in working through an informational architecture process for the Union of Evangelical Christian Baptist churches in Dnepropetrovsk region: interviewing the key decision makers, potential site editors and users.
Engineering a web-site, step 1: Study of the peers
We’ve recently launched a site developed in Drupal CMS for the Union of Evangelical Christian Baptist churches in the Dnepropetrovsk region. Later I’ll also post a summary of the technologies used in the site’s creation, yet before that I would like to share, in a series of articles, how I approached the design and planning in this project. The first article, “step 1”, is dedicated to studying other similar sites, for information, ideas and warnings.
Using Google services (Wave, Docs) in daily QA process
There are many organizational difficulties facing small to medium Software Quality Assurance (QA) teams. Because of this, we welcome any help to simplify this work and make assignment, communication and reporting more reliable. Tools are not the silver bullet, yet with a responsible team the right tools can make a lot of difference. Read on to see how we started using Google’s toolkit (namely, Google Wave and Google Docs) in our daily QA and general development practices, as described by Dmitriy Boltovskiy, our QA team lead.
Accessing unmanaged code in separate context in WPF
In order for Windows Forms controls to work correctly in .NET Framework it is necessary to access their methods and properties from the same context that they were created in, otherwise they may display unpredictable behaviour. Usually this is a concern when using multiple threads, some of which need to modify a control’s state. All of this is also relevant for Windows Presentation Foundation (WPF) technology. However, in WPF such an issue may also arise when using a DLL with unmanaged code — this does not occur in WinForms. We’ll show an example how one can solve this issue by calling methods from the DLL in a separate context.
COM+ average call duration
Serving on support duty, we received an issue report from our customer: some of the processes in I-Plan are silently failing — even though everything worked fine before. The first question any developer would ask in such case: what did you change? Turns out, they have installed SP2 on their Windows Server 2003, and this was the exact reason for this issue to appear. Read on to find out what causes it and how it can be solved.
ActiveX publisher name not available
Testing the installation of our ActiveX controls (used in I-Plan for rich-functionality — grid, graph and date/week/month picker), we noticed that in IE8 the controls display string “Control name is not available” instead of the publisher name. How does one solve such a problem?