Three Open Source JavaScript UI Tools

This week we have another article courtesy of Todd, our Technical Lead at Robert Stephen Consulting, LLC.  Enjoy!

At RSC, we specialize in installing, hosting and managing ARCHIBUS IWMS systems.  We also write our own software to enhance ARCHIBUS capabilities.  These days, more and more of that software is written in javascript and HTML5.

In this post, I’m going to briefly talk about three open source tools I find make the job of building and managing a javascript user interface simpler.  Here’s the list:

  1. jQuery
    • A set of tools that make it easier to work with DOM objects (among other things)
  2. Block UI
    • A handy tool to “freeze” the UI while something important is happening
  3. mustache
    • A templating tool for easily rendering the contents of arrays and variables

And now a more detailed description of each, and why each is useful:

1.    jQuery

I’ve been using jQuery for about 6 months now, and know I’m only scratching the surface of what it can do.  I use it to easily find and manipulate DOM (Document Object Model) objects (“find me an object with this ID”), and to easily use ajax to send data to and receive data from the server.  jQuery does a LOT of things:  HTML/DOM manipulation, CSS manipulation, HTML event methods, Effects and animations and Ajax.  It also does some cool things with storing and retrieving data.   It’s probably the most popular javascript library there is, and because it’s open-source, this means there are ALSO a lot of plugins that extend what it can do.  Here’s a great link to get starting finding these:

Also, a quick list of the best reasons to use jQuery yourself:

  • jQuery is light; the code needed to run it is small, so it won’t significantly increase the time for server response.
  • Even with all the power it brings to bear, the jQuery library is open source and free.
  • It’s easy to learn; if you can program javascript already, this will just look like a toolbox of easily-mastered shortcuts to you.
  • It’s cross-platform, running on all major browsers and on computers and mobile devices.

To be open about it, there IS some criticism of jQuery by javascript purists, particularly in the way it handles an important component of asynchronous operations called “promises.”  Given the problems it solves, these are problems I’m more than willing to live with.

2.    BlockUI


Speaking of jQuery plugins, here’s one now!  BlockUI  will “freeze” a web page by fading it out, showing a spinning “busy” indicator, and a custom message.  It also prevents user interactions with the page.  This can be very handy when you’re doing things like loading a lot of data in the background, or busy building the page objects, and the code to handle what pushing a button will do.

Once you include the library, blocking the UI, even with a custom message, is pretty easy.  Here’s the code to do it:

$.blockUI({ message: ‘

Just a moment…

‘ });

Unblocking is just as simple.

I was impressed with this plugin because I’m trying to blend the old and new worlds of forms and javascript for the short term, until I get a complicated form-based UI re-written in modern Responsive Design fashion.  BlockUI (in combination with jQuery) allowed me to handle this gracefully, freezing the whole frameset, instead of worrying about each individual “page” within it.

3.    mustache

Do you have a lot of data (arrays, variables, objects) that you’re trying to show your user as HTML? Tired of writing loops to get you through the arrays, or “if” tests to decide whether particular things should be shown at all?  mustache is a neat little library that allow you to create what the creators call “Logic-less templates.”  You just include the mustache library, define your HTML as a template, add some specially-formatted tags, then populate the variables, and tell mustache to render the template using the variables.  Simple goodness.  A quick example, so you can see how easy it is:

A typical Mustache template:


Hello {{name}}
You have just won {{value}}
Well, {{taxed_value}} dollars,
after taxes.
Given the following hash:


“value”: 10000,
“taxed_value”: 10000 – (10000 * 0.4),
“in_ca”: true}
Will produce the following:


Hello Chris
You have just won 10000 dollars!
Well, 6000.0 dollars, after taxes.

As you can see, the tags tend to look like this:  “{{name}}”, and the curly brace on its side looks not unlike a mustache.  So the name is pretty easy to understand.

Like what you read? Subscribe to the blog and follow us on Twitter, Facebook, and Linkedin to keep up to date with the latest news from RSC, LLC.
Thoughts? Questions? Comment below and let us know what you think! We’d love to hear your insights.

October’s BAATUG at Monterey Bay Aquarium

Last Friday’s Bay Area ARCHIBUS Training & User Group (BAATUG) was amazing!  The Monterey Bay Aquarium outdid themselves!  The food, venue, views, training, conversation, and company were all perfect! We are so grateful to have clients who are willing to host our training events.

Here are some images from the training/day.

Click on an image to navigate the gallery and see Monterey Bay Aquarium up-close for yourself.

Thank you to all our clients who came out for the event.  We can’t wait to start planning our 2016 BAATUG events.  If you are interested in attending or hosting, please contact us at

All pictures courtesy of Megan Fosson Photography.

Like what you read? Subscribe to the blog and follow us on Twitter, Facebook, and Linkedin to keep up to date with the latest news from RSC, LLC.
Thoughts? Questions? Comment below and let us know what you think! We’d love to hear your insights.

10 Keys to a Successful IWMS Integration: pt. 5: Understanding Your Business Process

This week we are excited to bring to you part 5 of our series, 10 Keys to a Successful IWMS Integration: Understanding your Business Process. If you haven’t read the previous article, read Part 4: Standards here.

Business processes are a set of structured activities or tasks that will accomplish the goals a company has.  All successful companies have a business process implemented that they consistently follow.

What does a business process have to do with IWMS?

An IWMS contains workflows for carrying out various, organization-specific processes.

Each IWMS has levels of capability and customization,
which can be tailored to meet a specific organization’s business process.
Therefore, in order to most successfully implement an IWMS into your
organization, it is crucial to examine and refine your current business
process, then select a system that is powerful and flexible enough to not only fit into your current business process, but to optimize it!

Though many IWMS systems are flexible enough to accommodate
a business’ current processes, others require businesses to change their
process in order to fit the capabilities of the system.

Example 1: Work Orders

Computerized Maintenance Management System) maintains a computer database of information about an organization’s maintenance operations and work orders.  Some work orders are preventative maintenance, which means they are generally a scheduled event fired off on a set increment (3 months, 1 month, 1 week, etc).  When the scheduled work order is initiated, a specific business process, or workflow, will trigger.
One such workflow might be that the work order is sent to a dispatcher, who would then pass it off to the proper supervisor, who would then assign it to a craftsperson to accomplish the job.  Once the craftsperson has completed the job, s/he will update it in the system, which will indicate that the job is complete. Then finally, the supervisor will review the job and send it to Accounts Payable to be closed out.

On the other hand, a less complicated workflow might have the work order sent directly to the craftsperson, notifying the supervisor but bypassing the dispatcher. So the work can begin immediately.

Within a flexible IWMS, the workflow should be able to be modified so that it suits however simple or complicated your business process is.

Example 2: Required Estimate & Approval

Consider an activity for which an estimate and approval is
required. In many cases, this means that:

  1. A work request is generated
  2. A threshold is met that triggers the need for an estimate
  3. The estimate request is routed to the estimator
  4. The estimate is completed and routed to the approver
  5. The approver accepts the estimate and routes the request to the supervisor
  6. The supervisor routes this to the craftsperson

When this happens, the estimate often generates a second
approval, which is dropped into a similar dispatching process as described in example one
before, requiring various hand-offs and approvals.

In both of the above examples, a more flexible IWMS could
help work on an
activity to commence (and likely finish) even sooner.

Having a firm understanding of your business process allows you to select an IWMS that is flexible enough to meet your company’s needs.  A successful IWMS implementation will accept your business process in such a way that the system can be modified so there is very little disturbance to the work force.

If you have bought a system that is not robust enough to meet the needs of your company’s business process, you may have to alter the what is currently in place or look to another IWMS system.

The benefits of selecting a flexible IWMS are clear – it can
easily make any organization more efficient and alleviate unnecessary
responsibilities.  However, the vital aspect of every successful IWMS
implementation is to first familiarize yourself with  your current
business process.  Doing so will allow you to adopt a system that can meet or (ideally) optimize workflows and streamline your entire enterprise!

Like what you read? Subscribe to the blog and follow us on Twitter, Facebook, and Linkedin to keep up to date with the latest news from RSC, LLC.
Thoughts? Questions? Comment below and let us know what you think! We’d love to hear your insights.

Four Free Tools to Manage ARCHIBUS in a Windows Environment

This week’s article is brought to you by Todd.  Todd is the Technical Lead at Robert Stephen Consulting, LLC.  RSC specializes in installing, hosting and managing ARCHIBUS IWMS systems.  The article Todd is sharing with us today is one of a series of posts on how to make that process easier.
Most of the ARCHIBUS Environments we build are on the Microsoft Windows Server platform.  In this post, Todd briefly shares some phenomenal tips about four FREE (or nearly free) tools he finds make the job of managing ARCHIBUS in a Windows environments much easier. The four tools include:


      1. Notepad ++
        • A text editor with some very nice extra features
      2. Agent Ransack
        • A file search utility
      3. WinDirStat 
        • A filesystem management utility
      4. PortQury
        • A Microsoft command line utility for checking the status of TCP/UDP ports

1. Notepad++

Notepad++ is mostly a text editor.  I know what you’re thinking:  “Well, I already HAVE a text editor.  I don’t really need another one.  Mine works just fine!”

Yes, but can your text editor do these things?:


  • Open a “live” file (like a log) without getting in way of other processes accessing it. That way, you can look at the log in real time, without making a copy.
  • Search for all the instances of a text string in all the files in a directory you name, and allow you to quickly jump to that string in the file where it’s located.
  • Mark up source code, and help you find missing parentheses or curly braces.  I find the XML, Javascript, Java and HTML options very handy in dealing with ARCHIBUS custom views and their supporting workflow rules.  It’s also quite nice to be able to collapse expand sections of code (like an “if” block) to see how they fit into the larger code flow.
Don’t get me wrong, this isn’t an Integrated Development Environment (or IDE).  It doesn’t require that kind of setup or learning curve. But it is a very powerful tool that a sometimes-programmer or troubleshooter can use to make their work a lot easier.


I find this very useful when I need to change the way a particular variable is used, or to change all instances of a function call, for example.  It’s very easy to find them all quickly, and to work my way through the search results, updating as I go.


Notepad++ is also more forgiving than other editors I’ve used.  Most will let you “undo” up to the last save.  Notepad++ will let you undo up to the time you opened the file.

2. Agent Ransack

Agent Ransack is a file search utility.  And it’s ALMOST free.  At $10/copy, less for larger numbers, it’s definitely well worth the normal investment. What it does isn’t complicated, but it is powerful.  Agent Ransack lets you:


  • Search for a filename or directory / folder name
  • Search for text inside the file, including using regular expressions (basically wildcard searches)
  • Specify the time the file was saved, created or last accessed

…all without the files / filesystem in process needing to be indexed, as is needed for Windows Filemanager Search.  And it’s quite fast.

I find these capabilities very useful in finding a file or view in ARCHIBUS’ very complex schema. WebCentral will give you the filename, but won’t tell you the location.  Agent Ransack solves that problem.

3. WinDirStat


It seems that no matter how big your drives are, they’re still not big enough.  How many times have you found that your drive is ALMOST full, then had a very difficult time freeing up the space you need?  It seems like the hardest task is just FINDING the offending file or application.  You have click on the properties of each folder to see its size, then look inside the biggest, look at all the folders there to find where the space is being used up, ad infinitum.

WinDirStat does all of that for you, and builds a cool and very intuitive visual representation of the things on your drive that lets you INSTANTLY see if you have a very large file gumming up the works.  Often, it’s an old log file that can be deleted instantly once you know where to find it, and your drive is once again healthy and trim.

4. PortQry

OK, this one doesn’t look cool AT ALL.  It’s a Microsoft-written command-line utility without even an install package.  But it’s SO useful.  One of the most common problems in setting up or troubleshooting an ARCHIBUS environment is for components of the application not to connect as they should.  But is the problem with the network or firewall, or the database server setup, or with the Project setup on the ARCHIBUS side?  One of the toughest things to see easily is whether the network port you’re trying to connect to is open and listening, or filtered in some way. This is what PortQry does.  With a single command line query, you can find that out in real time, and stop fiddling with all the components hoping something will work.

Like what you read? Subscribe to the blog and follow us on Twitter, Facebook, and Linkedin to keep up to date with the latest news from RSC, LLC.
Thoughts? Questions? Comment below and let us know what you think! We’d love to hear your insights.

ARCHIBUS Tips: Adding Records

This week we’re sharing with you a quick tip on how to add records in ARCHIBUS.

Hit the insert key on your keyboard which gives you a blank record, allowing you to type in the division code.  If nothing is typed in, the record is not saved in the system.

With a very simple click you can switch from “Data Mode” (allows you to modify data within a view) to “Report Mode” simply by hitting .

Like what you read? Subscribe to the blog and follow us on Twitter, Facebook, and Linkedin to keep up to date with the latest news from RSC, LLC.
Thoughts? Questions? Comment below and let us know what you think! We’d love to hear your insights.

Managing Your Facilities in a Modern World

I love my smart phone.  I have friends who still use flip phones.  When I ask them about it, I’m always a little careful.  People who use flip phones can be a little touchy.  If I ask why they don’t use a smart phone, they invariably tell me that the flip phone does everything they need; that they’re used to it; that they don’t need the complexity, bells, and whistles of a smart phone.  If I’m riding with them and use my phone to navigate, or use it to divide the tab at a restaurant, they’re very quiet.

I love Integrated Workplace Management Systems, ARCHIBUS specifically.  I know people who still use spreadsheets and a loose collection of other applications to manage their facilities.  They’re a little like my friends who use flip phones.  They say that spreadsheets do everything they need.  They’re familiar with spreadsheets.  They say they don’t need the bells and whistles that IWMS offers.  Fair enough.

A few months ago, I was visiting with a potential client to talk about implementing a comprehensive Personnel and Occupancy system.  We had a committee of people in the room.  Most were in favor of moving to ARCHIBUS.  A smaller group didn’t see the need.  That smaller group was comfortable with the current system of shared spreadsheets they had in place.

Each building on their large campus had an administrator who was responsible for maintaining the personnel locator spreadsheet and keeping it up to date.  They communicated by email or phone calls to coordinate their efforts, to be sure everyone had an appropriate work space and that there was no duplication.  We gathered the spreadsheets from a small sample of their buildings to do a pilot project, to show them how ARCHIBUS might help them.  When we loaded the data from the spreadsheets into ARCHIBUS, we got some interesting and surprising results.

Some enterprising staff members had taken advantage of the multiple sources of truth for employee locations.  Some had more than one desk or office in a building.  Some had offices in multiple buildings.
Without a single source of truth — an integrated Personnel and Occupancy system — it was impossible to stop people from assigning themselves the luxury of multiple offices.

Now, the Integrated Workplace Management System is fully implemented.  Some of those people still have more than one work space.  They have the political clout or the actual need for that flexibility.  But the space is managed and allocated to meet the goals and purposes of the organization, with consideration for the needs of individuals, of course.  The organization’s investments in real-estate, maintenance, and energy are being managed more effectively.  It’s easier to find people, to make connections, and collaborate.

My impression is that, in some ways, Integrated Workplace Management Systems and smart phones have a lot in common.  They help us manage our resources thoughtfully and purposefully in the face of complexity, change, and limited resources.  It’s possible to get along without IWMS or without a smart phone.  But why would anybody do that?

This week’s article was brought to you by one of our Executive Staff, Tawn.  Tawn is an incredibly valuable member of RSC.  He has 30+ years of experience in Architecture and provides useful insight.  His ability to communicate thoughtfully and thoroughly is one of his best assets

Like what you read? Subscribe to the blog and follow us on Twitter, Facebook, and Linkedin to keep up to date with the latest news from RSC, LLC.
Thoughts? Questions? Comment below and let us know what you think! We’d love to hear your insights.

10 Keys to a Successful IWMS Integration: Pt. 4 — Standards

We are excited to continue this series with the fourth key to a successful IWMS integration: standards. If you haven’t read the previous articles, we recommend you take a quick look at them: 1) Internal Champion, 2) IT Collaboration, and 3) Ownership.

What are standards?

Standardsin this context are defined as conventions for assets, people, and places. Standards create a consistent and predictable system for labeling the assets being tracked. They should be easy to understand so everyone can use them. Standards can be compared to the signage on a road; everyone knows what a stop sign looks like, what it means, and what they are supposed to do when they encounter one. In this way, standards are similar to signage in the sense that they create a common understanding for everyone who sees them.

Standards work for a variety of reasons.

Firstly, standards make reporting much easier and accurate.  They allow individuals who mine the system to look at and make sense of data very quickly. As discussed above, they create a common understanding.   Secondly, and perhaps the most important reason for standards, is that they can be processed by other programs and systems. Data will be pulled out of the IWMS system into an analysis tool to be sorted and adjusted. Standards make it possible to transfer data back with these changes.  When data from the IWMS is synchronized to other systems like HR, CRE, Finance, etc., the other system can easily place the information in the correct locations.  

Creating Standards

It is our recommendation that a company spend several hours working through standards in each of the domains within their IWMS.  The naming conventions must be intelligent in such a way that individuals can look at a piece of data and tell exactly what it means.  When standards are achieved, their IWMS will be implemented much more smoothly.Another important aspect of creating standards is ownership, discussed in part three of this series. One person within the company must own the standards that are created; the standards must be traceable back to that person so that if there are any inconsistencies, that person can make corrections as needed. If there are repeated inconsistencies within the standard, this person can help correct the root of the problem.

Examples of Standards

1) Standards for a building may include the country, city, and street so it can be easily identified in a large group. For a building named US-SF-MARKET, one can easily tell the building is located in the United States on Market Street in San Francisco, CA  

2) Standards for employees could include labels like full time, part time, intern, contract, and vendor, among many others.

When all is said and done, the standards your company uses will create efficiency when it comes to reporting and data transfer and editing. We at RSC recommend that every company create these standards as soon as possible so this efficiency is in place from the beginning and there is no confusion about what belongs where.

Like what you read? Subscribe to the blog and follow us on Twitter, Facebook, and Linkedin to keep up to date with the latest news from RSC, LLC.
Thoughts? Questions? Comment below and let us know what you think! We’d love to hear your insights.