Wednesday, October 7, 2009

Summer's End 2009

Perspectives session material was due in last Friday. Now I can get back to building new stuff. I still haven't finished the display panel memory. It is a small annoyance, but a general client side context persistence mechanism will come handy over and over.

There also remains some fleshing out of the metadata implementation. In particular being able to set an M2k edit pattern and have a Regex generated and applied to the input would be sweet. I'd also like to get any existing pattern matching or required validators to be automatically tied in...December is rapidly approaching, we'll see what we can sneak in. The performance exception logging and user preference extensions are a must, so I guess I better start on those directly.

I just put in a replacement for the dorky alerts with which I was displaying ?3 and ?5 help. Now we have a nifty m2kShowMessage(hmtlMsg) js function with which it is easy to compose an HTML display and pop it up using an in-line div that won't set off the pop-up blockers.

Saturday, August 22, 2009

Now What To Do With All This Cool Stuff

So we've got prototype.js and .Net 3.5, what does that mean to the users. Well for ESOP users it means a killer shopping cart app. Fast, fast, fast. Constantly saved carts. In screen customer pricing and critical path availability date calculations. Cart navigation using page-up, page-down, line-up, line-down keyboard keys, or of course, mousing. 2-3 click checkout.

SoPortal advance search now sports a faster cleaner data entry screen with instant validation displays.

ProductConfigurator generates CONFIG.CODE based model entry screens with high speed data entry using delimiter and section lengths.

And of course lots better cross browser support for Firefox users.

Thursday, July 16, 2009

Manage 2000 Web 2.0

No, I don't know what it means either. But I do think the web user experience on Manage 2000 7.3 is going to be noticeably and, in many cases, dramatically improved from the 7.1/7.2 technology. It seems to me like the we are passing through the 3rd generation up the web UI S-curve. With release 7.0 we dabbled with asp script based web infrastructure. We've had a good run with Visual Studio 2003 and ASP.NET 1.1 as a basis for Manage 2000 7.1/7.2 releases. And now with release 7.3 we are working on top of ASP.NET 3.5 using VS 2008 with more current infragistics controls and a much more robust client side javascript infrastructure library roiGlobal.js with deeper support from the Prototype.js, which underlies many other clientside toolsets such as Ruby-On-Rails and Scriptoculus.

Every project brings with it opportunities to enrich the roiGlobal.js library and move more time sensitive user interactions to the client-side world of javascript, D-HTML, JSON, and AJAX. Yet even as I explore these new environments and tools I find myself re-creating patterns from the PWS / SUB.MT500 world. There are few things as elegant and powerful as the declaritive UI specificaton for a computer prompting a user which is called the PID in M2k geekspeak.

Following that pattern Manage 2000 7.3 web pages all have the equivalent of PID available. It is defined in roiGlobal.js based on a Prototype.js class called a Hash. It's name in nvcMetaData, and it is to the web function what PID(40) is to the PWS function. That is to say that dynamically altering the metadata item for an HTML textbox effectively controls its behavior. Thus, application behavior can be achieved by setting properties of the metadata instead of having to code up all the necessary javascript.

Sunday, May 24, 2009

Puttin On The Ritz

The Mid-Western User Group meeting was held on Thursday with folks coming in from as far away as Indiana and Illinois.  It was, as usual, a family reunion atmosphere with familiar faces and warm greetings.  What strikes me about the content, looking back at it, is the amount of information exposure possiblities.  MITS 2nd go-round on its report writer looks well done.  The NovoRoiSystems real-time SQL data warehouse continues to wow.  Now with more in-bound interfacing it is starting to grow into something much more significant than just an on-ramp to MS Reporting Services.  I spent some time on the growing ATOM/RSS news feed capabilities.

The most fun, for me, was showing off the 7.3 web UI improvements with Last Keys, Most Recently Used stacks and AutoFill.  We broke the seamingly endless barage of technical detail with YouTube clips from the "Puttin On The Ritz" Gene Wilder/Peter Boyle song and dance number in "Young Frankenstein".  Don't know that I could sing and dance on the same stage as Gene Wilder, but I feel pretty confident about being able to croon along with the monster!

After a memorial day break I'll be heading back into the 15 portal projects.  I am adding a news reader panel that can display a configurable Manage 2000 news feed, and converting them from XSLT generated forms to WebControls so that they can be controlled through the PageViewFilter system. Fun, fun, fun....

Saturday, April 4, 2009

Last Keys and Other UI Friendliness

The last keys project is winding down.  I just checked in the latest round of javascript upgrade for the m2kInputData function which includes a Most-Recently-Used stack on the up/down arrows, automatic display of validation name or description, and Auto-Fill from the MRU stack.  Yes scope creep is a problem, but they were low hanging fruit once the \LK infrastructure was developed. It would be wasteful not to gather them in while I was harvesting.

There are still a few more i's to dot and t's to cross, but it is starting to feel pretty impressive when you type along on the devweb and get the sort of experience you are only used to from PWS.

Next up will be some refactoring to reduce the startup time from PWS.

Sunday, March 8, 2009

Last Keys Part I

The Last Keys project is well under way.  I've just completed the conversion on the UniBasic side that will allow participation from the web side to work.  Last Friday I got far enough to run a few timings from an HttpHandler through from the web site and am getting last keys values in less than 1/30 of a second. So performance-wise the current design is proving out well.  Lots of work awaits in the roiTextbox and javascript libraries. Switching from heavy Unibasic work back to .NET seems alot like getting ones sea legs.  Takes a couple of days before I can code straight, or perhaps at the correct Microsoft pitched angles.

A major part of the speed I am seeing is from tools improvements that Doug and I were able to put into the CallRPCSub routine which shepards all the calls coming in across RedBack.  We've been able to shave .1 to .4 seconds off of each RPC call.  This has been patched back to 7.1 and 7.2 so 7.1sp7 and 7.2sp4 should show significant speed improvements for all the web functions. 

Saturday, January 31, 2009

Release 7.3 Project Progress

Despite broken ankles and bouts of pneumonia Doug and I finally have the Manage 2000 web functions building under VS2008.  There remains a little tweaking to do on the installations routines.  But at last I feel like I can concentrate on new feature development.

I have started down the development list and finished my first significant web tools enhancement for 7.3, the integration of ECA's and the news feed system.  ECA's provide rich html scripting from all sorts of system events.  News feeds provide standard pluggable integration to Sharepoint and other web platforms.  Putting the two together really extends  the news source capabilities to 'broadcast' all sorts of automated news articles as the ERP systems churns through its machinations. 

Next up is Last Key integration between PWS sessions and web functions.  This will, in all likely hood, be the largest project I undertake for the 7.3 release (not counting the VS2008 ASP.NET 3.5 infrastructure upgrade).

I am still in the early stages of design, but have identified a whole raft of issues that were not obvious to me during my initial rough cut do-ability considerations.  I didn't realize how much of the fun part of working on Manage 2000 are these design conundrums that must be puzzled and teased out.