Guest
Welcome login
TIBCOmmunity
Home Communities
Conversations Resources Blog Posts

Blog Posts

Blog Posts: 22
Items per page
Statistics: Blogs: 13 Blog Posts: 22  
0

Simply adding HTML for a checkbox to a matrix Column header results in a checkbox that doesn;t get checked or unchecked in response to mouse clicks.

The challenge in the implementation is that the Matrix headers are designed to use the mousedown event to reorder columns and trigger sort behaviors. This means that the click event on the checkbox gets intercepted and canceled by the header and clicking on the checkbox never causes the checkbox to get checked.

To address, use the mousedown event on the checkbox to toggle the checked state (see code below). It is also critical to cancel event bubbling to stop the Matrix from sorting and reordering when the user's intention is to check or uncheck the box.

Lastly, note that the checkbox described below is XHTML compliant. This is important if you intend your app to ever run on an XHTML Web page (and it's simply good practice these days to author well-formed HTML).


 <input type="checkbox" 
onmousedown="this.checked = !this.checked; jsx3.gui.Event.wrap(event).cancelBubble();" 
onclick="jsx3.gui.Event.wrap(event).cancelBubble();return false;" 
onmouseup="jsx3.gui.Event.wrap(event).cancelBubble();" />



Darren Hwang (channeling Luke Birdeau)

 

0 Comments Permalink
0

Reassign the "ctrl+s" hot key to "Save & Reload".(Goto Builder Menu "Tools" > "IDE Settings" > "IDE Hot Keys" , locate "Save & Reload" , double click and press CTRL S keys)

 

Quickly locate a component using "ctrl+click" on a GUI control in the canvas to select the component on the "Component Hiearchy" palette. (NOTE : the matrix component swallows the "ctrl+click". So in order to click select a matrix control, you must do the clik on the little grey patch under the vertical scrollbar where the events bubbling is not cancel)

 

Float the "Component Libraries" palette to give more display area for the "Properties Editor" and "Event Editor" palettes. (This is really just a preference, but I find it useful since you can see more of the properties at a glance).

 

Update

Context sensitive help press keys "alt+F1" while focusing on the component you like get help on (For example, component hiearchy tree) to open the HTML Doc page on the component.

0 Comments Permalink
0

To disable edit masks for the entire row in a Matrix - Grid, set event property "Before Edit" with following code fragment (follwing sample disables the non-always on edit mask ,such as menu and select/combo. Always on edit mask, such as checkbox and button, are disabled by the jsxdisabled="1" in the record row. E.g. <record jsxid="1" jsxtext="Alabama" jsxdisabled="1" /> ).

 


if (this.getRecord(strRECORDID).jsxdisabled == 1) false;

 

To disable edit mask of an entire column in a Matrix - Grid, set event property "Before Edit" (Following code disables the "comboColumn" by evaluating to false in "Before Edit" event handler).


if (objCOLUMN.getName() == "comboColumn") false; else {jsx3.log('EVENT: (jsxbeforeedit). Record: ' + strRECORDID); }

 

Follow similar logic to disable edit mask of a cell based on different factors such as the value of the another column. In "Befor Edit" event property, this code


if (this.getRecord(strRECORDID).status == "Deployed" && objCOLUMN.getName() == "selectMachine" ) false;

 

will disable the "selectMachine" cell (column) if status cell (column) has the value "Deployed".

0 Comments Permalink
0

These software tools provide additional assistance in developing tests:
1. For Internet Explorer, download and install the Developer Toolbar. This tool
provides a very useful DOM Explorer function that allows you to inspect the
generated HTML markup at runtime.
Microsoft Internet Explorer Developer toolbar


2. Download and install Visual Web Developer 2005 Express Edition. This web
IDE provides syntax highlighted editing for HTML, XML and JavaScript.
Visual Studio Express


3. For Firefox, the best debugging tool is

Firebug Addon

 

4. For Firefox, you can alternatively download and install the Web Developer toolbar.
Firefox Developer Toolbar add-on

 


5. Best IDE editor for Javascript is IntelliJ IDEA, but you need to pay license for this

 

6. If you use the Eclipse IDE, install the JSEclipse plug-in for JavaScript editing.
JSEclipse Editor plugin

 

7. Alternative free editor, try Notepad++ which supports more than two dozen different programming language editing. Also download the FunctionList plugin which will show you list of methods and class in an easy to access side pane.

Notepad++

0 Comments Permalink
2

Table Spyglass Event property enter this code.

 


var id = this.getId() + "_" + strRECORDID; 
if (id) document.getElementById(id).style.backgroundColor="yellow";
if (document.getElementById(this.lastid)) document.getElementById(this.lastid).style.backgroundColor=''; 
this.lastid = id; 

 

2 Comments Permalink
1

Occasionally we get questions like:

"Which industry and open CEP/BRMS standards (incl. emerging standards) are supported"

 

This is a little misleading as "standards" can be used to describe a number of things. CEP is "too new" to have anything "standard" in event processing, other than event definitions through say JMS (TIBCO EMS). But there is interest there.

 

In BRMS, the only "relevant" standards are the rule representation standards:

- OMG PRR - currently in beta - provides a framework for representing production rules for Rete and sequential script engines (ie covers both BE rules and rule functions)

- W3C RIF dialect for PR (PRD) - currently in draft - provides an XML interchange format for use between rule engines and in other XML docs like XBRL, Acord, RosettaNet, etc

- OMG SBVR provides a standard for describing business languages, and is relevant to natural language (but not necessarily automatable) descriptions of things like policy rules and business constraints

- OMG OCL is a constraint language used to specify constraints in UML diagrams

 

TIBCO is actively involved in the first 2, as these are also useful for rule-driven CEP like BE.

 

On CEP Query Languages it is worth noting that most query languages are based on SQL. BE's is based on OQL, an object-database standard development of SQL.

 

Of course, BE also supports standards of UML State Models and UML Class (Concept) models. The main area to be aware of is that "OMG support" normally also implies the OMG metamodel infrastructure - recording or importing XMI, handling MOF, etc. We don't pay too much attention to these though as most UML tools have their own interpretation of XMI, and are therefore not "interchangable", making it somewhat useless as a standard. Eclipse EMF is probably the best thing to be compatible with here, and the open source EMF team are of course interested in standard Eclipse editors for SBVR and PRR...

 

Thanks to Mukesh for the blog suggestion.Thanks to Mukesh for the blog suggestion

1 Comments Permalink
5

I was covering the BPM space for a while before I moved on to manage the SOA stack here at TIBCO. The repeat question I get asked from both sides of the fence is: what is the difference between BPM and SOA? It’s an interesting question with a myriad responses and I choose to start my series of blog posts here on this community, on BPM, on this particular topic.

 

BPM and SOA are two sides of the same coin, as one of my colleagues pointed out to me, in my early days at TIBCO. Another more concrete response – if 80% of your process is people centric and 20% systems centric, you are looking at BPM vs the other way for SOA. I’ve heard this one too – it’s all about the user, a more business centric user trying to define a process at the business layer needs BPM vs a technology-deep user defining a process at the systemsy layer, who needs SOA. I like this last one best: BPM is about extracting high level turnkey business processes and managing them as though they were assets in your organization, while SOA is about rewiring the IT plumbing in your infrastructure for efficiency and reuse; You need those business process assets to leverage your IT plumbing and you want your IT plumbing to always align with business process requirements.

 

While all these responses hold truth in them, the more I’ve worked in both spaces and closely followed them, I realize that the lines are blurry which is why people ask this repeat question. And when you think about it, a user wants to talk about finding a solution to the problem he has on hand, rather than be bombarded with three letter acronyms such as BPM and SOA. Vendors such as TIBCO are in a unique position where we have eons of experience in both areas that can leverage across product offerings so we cater to exactly this: provide the solution rather than a piece of technology that should be very carefully mapped to the problem.


Another point that is imperative: for the most successful SOA implementations, BPM and awareness of business processes is critical. Only then can you quantify and measure metrics against the business as well as design for the business, rather than just tweak and churn against technology for efficiency. If you read Paul Brown’s book on: Succeeding with SOA (highly recommend), he touches on this all through, where he talks about realizing business value through architectural design.

 

And the counter, at every point that a business process leverages the underlying infrastructure, a good design will allow it to reach out to an SOA implementation so there is always a loose coupling between BPM and SOA; rather than to hard coded systems interfaces to your business process. This loose coupling between BPM and SOA will allow one layer to change independent of the other. When you re-provision your IT infrastructure, you don't want to bring down your business processes, do you?

 

It’s important for BPM and SOA offerings to work well together – the BPM offering should be able to call out to the SOA services and orchestrations at design time with a few clicks of the mouse and work seamlessly at run time. And an SOA process should be able to call out to BPM centric processes without extensive work or rewiring. The best designs are from experience in both areas. My take, stick to your expertise be it SOA or BPM but learn extensively on the other area and attend conferences in both areas so you know what's happeninig on the other side of the fence before you sit down to design your architecture.

 

The takeaway is that BPM and SOA are interdependent and for good reasons, the best implementations leverage the strengths of both while keeping them decoupled.

 

In my next blog post, let’s look at what end to end business process management is all about before we dive off into the world of process modeling. Business process modeling is my favorite area where I’m hoping to explore with this audience, efficient process design using Business Studio. You can take a quick peak at Business Studio by visiting our developer center: Business Studio Developer Center

5 Comments Permalink
1

This morning, when I was getting the latest version of ActiveMatrix installed on my laptop, it occurred to me that I have presented on ActiveMatrix and shown off the products more times than I care to remember and yet have never sat down and tried to explain in written words - why ActiveMatrix and how to use it.

 

Welcome to my first blog posting on this community. In this series of posts, I want to introduce you to TIBCO’s smashing suite of SOA products, ActiveMatrix, that I promise will slowly grow SCA tendrils around your fingers and have you addicted to building true-blue SOA. In particular I want to show you how easy to use and powerful ActiveMatrix Service Grid and ActiveMatrix Service Bus products can be. I want you to see that it doesn’t matter if you dream in Java or .net or C++ or Ruby or BusinessWorks or …, how you can share code, manage your operational environment and design your enterprise application across the heterogeneity while staying in your own realm. I want you to see how governance works in ActiveMatrix and how that sets apart the applications you build.

 

But first I’m going to assume you’ve never met ActiveMatrix before and draw a high level picture before we get into the juicy nitty-gritties. I’m a geek at heart but do believe in a top down approach. We will land up exploring building composite applications and mediation services and custom stuff. If you are already a pro, you can always catch me a few posts down the road and we can engage in an active discussion on some of the more advanced topics and learn to use ActiveMatrix together for some of the more complex configurations.

 

So first…. Why ActiveMatrix for TIBCO and why now? TIBCO, as you must have heard if you have ventured to this blog, has been a leader in the SOA/integration space for eons. BusinessWorks, which has been our core offering for several years, is the basis for our SOA presence and was one of the first products to define SOA to be the way it is today. BusinessWorks has been used by thousands of customers as their SOA and integration backbone. SOA at its heart is all about reusability – if you have existing functionality in an application that can be used in several other applications in your infrastructure, how can you break it down into services that can be called out from these other applications? This is a simplistic explanation of what BusinessWorks helps you with, among a myriad other things. BusinessWorks is a super enterprise service bus – an ESB++ that helps you with service enablement and reuse, integration, orchestration, mediation and management.

 

TIBCO is a